|  | @@ -413,6 +413,18 @@
 | 
	
		
			
				|  |  |                      @click="genTokens"
 | 
	
		
			
				|  |  |                      >生成字幕</el-button
 | 
	
		
			
				|  |  |                    >
 | 
	
		
			
				|  |  | +                  <el-button
 | 
	
		
			
				|  |  | +                    v-if="
 | 
	
		
			
				|  |  | +                      pages[picActiveId] &&
 | 
	
		
			
				|  |  | +                      pages[picActiveId].hotspots &&
 | 
	
		
			
				|  |  | +                      pages[picActiveId].hotspots[0] &&
 | 
	
		
			
				|  |  | +                      pages[picActiveId].hotspots[0].tokens
 | 
	
		
			
				|  |  | +                    "
 | 
	
		
			
				|  |  | +                    type="primary"
 | 
	
		
			
				|  |  | +                    size="small"
 | 
	
		
			
				|  |  | +                    @click="handleSentencesTime"
 | 
	
		
			
				|  |  | +                    >校对句子时间</el-button
 | 
	
		
			
				|  |  | +                  >
 | 
	
		
			
				|  |  |                  </div>
 | 
	
		
			
				|  |  |                  <div class="hotspots-top-left">
 | 
	
		
			
				|  |  |                    <label>视频</label>
 | 
	
	
		
			
				|  | @@ -478,6 +490,12 @@
 | 
	
		
			
				|  |  |                      >保存</el-button
 | 
	
		
			
				|  |  |                    >
 | 
	
		
			
				|  |  |                    <el-button
 | 
	
		
			
				|  |  | +                    type="primary"
 | 
	
		
			
				|  |  | +                    size="small"
 | 
	
		
			
				|  |  | +                    @click="handleSentenceTime(indexh, itemh.id)"
 | 
	
		
			
				|  |  | +                    >校对时间</el-button
 | 
	
		
			
				|  |  | +                  >
 | 
	
		
			
				|  |  | +                  <el-button
 | 
	
		
			
				|  |  |                      type="danger"
 | 
	
		
			
				|  |  |                      size="small"
 | 
	
		
			
				|  |  |                      @click="deletehotspots(indexh)"
 | 
	
	
		
			
				|  | @@ -491,15 +509,104 @@
 | 
	
		
			
				|  |  |        </div>
 | 
	
		
			
				|  |  |      </div>
 | 
	
		
			
				|  |  |      <el-dialog
 | 
	
		
			
				|  |  | -      :visible.sync="previewBook"
 | 
	
		
			
				|  |  | -      :show-close="false"
 | 
	
		
			
				|  |  | +      :visible.sync="editSentencesTimeFlag"
 | 
	
		
			
				|  |  | +      :show-close="true"
 | 
	
		
			
				|  |  | +      :close-on-click-modal="false"
 | 
	
		
			
				|  |  | +      :append-to-body="true"
 | 
	
		
			
				|  |  | +      width="700px"
 | 
	
		
			
				|  |  | +      title="校对句子时间"
 | 
	
		
			
				|  |  | +      v-if="editSentencesTimeFlag"
 | 
	
		
			
				|  |  | +    >
 | 
	
		
			
				|  |  | +      <table class="edit-sentences-time">
 | 
	
		
			
				|  |  | +        <tr>
 | 
	
		
			
				|  |  | +          <th style="width: 480px">句子</th>
 | 
	
		
			
				|  |  | +          <th style="width: 100px">开始时间</th>
 | 
	
		
			
				|  |  | +          <th style="width: 100px">结束时间</th>
 | 
	
		
			
				|  |  | +        </tr>
 | 
	
		
			
				|  |  | +        <tr v-for="(item, index) in editSentencesTimeData" :key="index + 'sen'">
 | 
	
		
			
				|  |  | +          <td>{{ item.text }}</td>
 | 
	
		
			
				|  |  | +          <td>
 | 
	
		
			
				|  |  | +            <input
 | 
	
		
			
				|  |  | +              v-model="item.s"
 | 
	
		
			
				|  |  | +              @change="changeTime(item, 's')"
 | 
	
		
			
				|  |  | +              type="text"
 | 
	
		
			
				|  |  | +              maxlength="200"
 | 
	
		
			
				|  |  | +              show-word-limit
 | 
	
		
			
				|  |  | +            />
 | 
	
		
			
				|  |  | +          </td>
 | 
	
		
			
				|  |  | +          <td>
 | 
	
		
			
				|  |  | +            <input
 | 
	
		
			
				|  |  | +              v-model="item.e"
 | 
	
		
			
				|  |  | +              @change="changeTime(item, 'e')"
 | 
	
		
			
				|  |  | +              type="text"
 | 
	
		
			
				|  |  | +              maxlength="200"
 | 
	
		
			
				|  |  | +              show-word-limit
 | 
	
		
			
				|  |  | +            />
 | 
	
		
			
				|  |  | +          </td>
 | 
	
		
			
				|  |  | +        </tr>
 | 
	
		
			
				|  |  | +      </table>
 | 
	
		
			
				|  |  | +      <span slot="footer" class="dialog-footer">
 | 
	
		
			
				|  |  | +        <el-button size="small" @click="editSentencesTimeFlag = false"
 | 
	
		
			
				|  |  | +          >取 消</el-button
 | 
	
		
			
				|  |  | +        >
 | 
	
		
			
				|  |  | +        <el-button
 | 
	
		
			
				|  |  | +          size="small"
 | 
	
		
			
				|  |  | +          :loading="compareloading"
 | 
	
		
			
				|  |  | +          type="primary"
 | 
	
		
			
				|  |  | +          @click="saveSentencesTime"
 | 
	
		
			
				|  |  | +          >确 定</el-button
 | 
	
		
			
				|  |  | +        >
 | 
	
		
			
				|  |  | +      </span>
 | 
	
		
			
				|  |  | +    </el-dialog>
 | 
	
		
			
				|  |  | +    <el-dialog
 | 
	
		
			
				|  |  | +      :visible.sync="editSentenceTimeFlag"
 | 
	
		
			
				|  |  | +      :show-close="true"
 | 
	
		
			
				|  |  |        :close-on-click-modal="false"
 | 
	
		
			
				|  |  |        :append-to-body="true"
 | 
	
		
			
				|  |  | -      width="100%"
 | 
	
		
			
				|  |  | -      top="0"
 | 
	
		
			
				|  |  | -      class="login-dialog"
 | 
	
		
			
				|  |  | -      v-if="previewBook"
 | 
	
		
			
				|  |  | +      width="700px"
 | 
	
		
			
				|  |  | +      title="校对单词时间"
 | 
	
		
			
				|  |  | +      v-if="editSentenceTimeFlag"
 | 
	
		
			
				|  |  |      >
 | 
	
		
			
				|  |  | +      <table class="edit-sentences-time">
 | 
	
		
			
				|  |  | +        <tr>
 | 
	
		
			
				|  |  | +          <th style="width: 480px">单词</th>
 | 
	
		
			
				|  |  | +          <th style="width: 100px">开始时间</th>
 | 
	
		
			
				|  |  | +          <th style="width: 100px">结束时间</th>
 | 
	
		
			
				|  |  | +        </tr>
 | 
	
		
			
				|  |  | +        <tr v-for="(item, index) in editSentenceTimeData" :key="index + 'sen'">
 | 
	
		
			
				|  |  | +          <td>{{ item.w }}</td>
 | 
	
		
			
				|  |  | +          <td>
 | 
	
		
			
				|  |  | +            <input
 | 
	
		
			
				|  |  | +              v-model="item.s"
 | 
	
		
			
				|  |  | +              @change="changeTime(item, 's')"
 | 
	
		
			
				|  |  | +              type="text"
 | 
	
		
			
				|  |  | +              maxlength="200"
 | 
	
		
			
				|  |  | +              show-word-limit
 | 
	
		
			
				|  |  | +            />
 | 
	
		
			
				|  |  | +          </td>
 | 
	
		
			
				|  |  | +          <td>
 | 
	
		
			
				|  |  | +            <input
 | 
	
		
			
				|  |  | +              v-model="item.e"
 | 
	
		
			
				|  |  | +              @change="changeTime(item, 'e')"
 | 
	
		
			
				|  |  | +              type="text"
 | 
	
		
			
				|  |  | +              maxlength="200"
 | 
	
		
			
				|  |  | +              show-word-limit
 | 
	
		
			
				|  |  | +            />
 | 
	
		
			
				|  |  | +          </td>
 | 
	
		
			
				|  |  | +        </tr>
 | 
	
		
			
				|  |  | +      </table>
 | 
	
		
			
				|  |  | +      <span slot="footer" class="dialog-footer">
 | 
	
		
			
				|  |  | +        <el-button size="small" @click="editSentenceTimeFlag = false"
 | 
	
		
			
				|  |  | +          >取 消</el-button
 | 
	
		
			
				|  |  | +        >
 | 
	
		
			
				|  |  | +        <el-button
 | 
	
		
			
				|  |  | +          size="small"
 | 
	
		
			
				|  |  | +          :loading="compareloading"
 | 
	
		
			
				|  |  | +          type="primary"
 | 
	
		
			
				|  |  | +          @click="saveSentenceTime"
 | 
	
		
			
				|  |  | +          >确 定</el-button
 | 
	
		
			
				|  |  | +        >
 | 
	
		
			
				|  |  | +      </span>
 | 
	
		
			
				|  |  |      </el-dialog>
 | 
	
		
			
				|  |  |    </div>
 | 
	
		
			
				|  |  |  </template>
 | 
	
	
		
			
				|  | @@ -677,7 +784,7 @@ export default {
 | 
	
		
			
				|  |  |        issueId: "",
 | 
	
		
			
				|  |  |        drag: false,
 | 
	
		
			
				|  |  |        loading: false,
 | 
	
		
			
				|  |  | -      previewBook: false,
 | 
	
		
			
				|  |  | +      editSentencesTimeFlag: false,
 | 
	
		
			
				|  |  |        pageIds: [],
 | 
	
		
			
				|  |  |        pages: {},
 | 
	
		
			
				|  |  |        picObj: {},
 | 
	
	
		
			
				|  | @@ -697,6 +804,10 @@ export default {
 | 
	
		
			
				|  |  |        endY: 0,
 | 
	
		
			
				|  |  |        hotspotsActiveIndex: null, // 当前编辑热区索引
 | 
	
		
			
				|  |  |        genloading: false, // 字幕节点loading
 | 
	
		
			
				|  |  | +      compareloading: false, // 校对字幕节点loading
 | 
	
		
			
				|  |  | +      editSentencesTimeData: [], // 校对句子时间字幕数据
 | 
	
		
			
				|  |  | +      editSentenceTimeData: [], // 校对单条句子时间字幕数据
 | 
	
		
			
				|  |  | +      editSentenceTimeFlag: false,
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    //计算属性 类似于data概念
 | 
	
	
		
			
				|  | @@ -1096,13 +1207,6 @@ export default {
 | 
	
		
			
				|  |  |          this.hotspotsActiveIndex = null;
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    // 预览栏目
 | 
	
		
			
				|  |  | -    previewBookItem() {
 | 
	
		
			
				|  |  | -      this.previewBook = true;
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -    closePreview() {
 | 
	
		
			
				|  |  | -      this.previewBook = false;
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  |      //开始拖拽事件
 | 
	
		
			
				|  |  |      onStart(val) {
 | 
	
		
			
				|  |  |        this.drag = true;
 | 
	
	
		
			
				|  | @@ -1133,6 +1237,7 @@ export default {
 | 
	
		
			
				|  |  |            this.genloading = false;
 | 
	
		
			
				|  |  |            if (res.status === 1) {
 | 
	
		
			
				|  |  |              this.$message.success("字幕生成成功");
 | 
	
		
			
				|  |  | +            this.getPicArticleInfo();
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |          })
 | 
	
		
			
				|  |  |          .catch(() => {
 | 
	
	
		
			
				|  | @@ -1236,6 +1341,70 @@ export default {
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |        this.savePageInfo("", "del");
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | +    // 点击校对句子时间按钮
 | 
	
		
			
				|  |  | +    handleSentencesTime() {
 | 
	
		
			
				|  |  | +      this.compareloading = false;
 | 
	
		
			
				|  |  | +      this.editSentencesTimeData = JSON.parse(
 | 
	
		
			
				|  |  | +        JSON.stringify(this.pages[this.picActiveId].hotspots)
 | 
	
		
			
				|  |  | +      );
 | 
	
		
			
				|  |  | +      this.editSentencesTimeFlag = true;
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    changeTime(item, type) {
 | 
	
		
			
				|  |  | +      item[type] = item[type] * 1;
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    // 保存校对句子数据
 | 
	
		
			
				|  |  | +    saveSentencesTime() {
 | 
	
		
			
				|  |  | +      this.compareloading = true;
 | 
	
		
			
				|  |  | +      let MethodName =
 | 
	
		
			
				|  |  | +        "/PaperServer/Manager/PicArticleManager/UpdatePicArticleSentencesSrtTime";
 | 
	
		
			
				|  |  | +      let data = {
 | 
	
		
			
				|  |  | +        issId: this.id ? this.id : this.issueId,
 | 
	
		
			
				|  |  | +        sentences: this.editSentencesTimeData,
 | 
	
		
			
				|  |  | +      };
 | 
	
		
			
				|  |  | +      getLogin(MethodName, data)
 | 
	
		
			
				|  |  | +        .then((res) => {
 | 
	
		
			
				|  |  | +          this.compareloading = false;
 | 
	
		
			
				|  |  | +          if (res.status === 1) {
 | 
	
		
			
				|  |  | +            this.editSentencesTimeFlag = false;
 | 
	
		
			
				|  |  | +            this.getPicArticleInfo();
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +        .catch(() => {
 | 
	
		
			
				|  |  | +          this.compareloading = false;
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    // 点击校对单词时间按钮
 | 
	
		
			
				|  |  | +    handleSentenceTime(index, sentId) {
 | 
	
		
			
				|  |  | +      this.compareloading = false;
 | 
	
		
			
				|  |  | +      this.editSentenceTimeData = JSON.parse(
 | 
	
		
			
				|  |  | +        JSON.stringify(this.pages[this.picActiveId].hotspots[index].tokens)
 | 
	
		
			
				|  |  | +      );
 | 
	
		
			
				|  |  | +      this.sentId = sentId;
 | 
	
		
			
				|  |  | +      this.editSentenceTimeFlag = true;
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    // 保存校对单词数据
 | 
	
		
			
				|  |  | +    saveSentenceTime() {
 | 
	
		
			
				|  |  | +      this.compareloading = true;
 | 
	
		
			
				|  |  | +      let MethodName =
 | 
	
		
			
				|  |  | +        "/PaperServer/Manager/PicArticleManager/UpdatePicArticleSentenceTokensSrtTime";
 | 
	
		
			
				|  |  | +      let data = {
 | 
	
		
			
				|  |  | +        issId: this.id ? this.id : this.issueId,
 | 
	
		
			
				|  |  | +        pageId: this.picActiveId,
 | 
	
		
			
				|  |  | +        sentId: this.sentId,
 | 
	
		
			
				|  |  | +        tokens: this.editSentenceTimeData,
 | 
	
		
			
				|  |  | +      };
 | 
	
		
			
				|  |  | +      getLogin(MethodName, data)
 | 
	
		
			
				|  |  | +        .then((res) => {
 | 
	
		
			
				|  |  | +          this.compareloading = false;
 | 
	
		
			
				|  |  | +          if (res.status === 1) {
 | 
	
		
			
				|  |  | +            this.editSentenceTimeFlag = false;
 | 
	
		
			
				|  |  | +            this.getPicArticleInfo();
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +        .catch(() => {
 | 
	
		
			
				|  |  | +          this.compareloading = false;
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    //生命周期 - 创建完成(可以访问当前this实例)
 | 
	
		
			
				|  |  |    async created() {
 | 
	
	
		
			
				|  | @@ -1705,6 +1874,9 @@ export default {
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +    :deep .el-button + .el-button {
 | 
	
		
			
				|  |  | +      margin-left: 0;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  </style>
 | 
	
	
		
			
				|  | @@ -1792,4 +1964,28 @@ export default {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | +.edit-sentences-time {
 | 
	
		
			
				|  |  | +  border-collapse: collapse;
 | 
	
		
			
				|  |  | +  tr {
 | 
	
		
			
				|  |  | +    > :nth-child(2) {
 | 
	
		
			
				|  |  | +      text-align: center;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    > :nth-child(3) {
 | 
	
		
			
				|  |  | +      text-align: center;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    td {
 | 
	
		
			
				|  |  | +      border: 1px solid black;
 | 
	
		
			
				|  |  | +      height: 50px;
 | 
	
		
			
				|  |  | +      word-break: break-word;
 | 
	
		
			
				|  |  | +      input {
 | 
	
		
			
				|  |  | +        border: none;
 | 
	
		
			
				|  |  | +        outline: none;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    th {
 | 
	
		
			
				|  |  | +      height: 50px;
 | 
	
		
			
				|  |  | +      border: 1px solid black;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  |  </style>
 |