gcj 3 gadi atpakaļ
vecāks
revīzija
9a2f4fac9c

+ 2 - 0
src/components/Adult/common/DuoSentenceSegwordChs/components/DuoSegbywordChs.vue

@@ -253,6 +253,7 @@ export default {
           fontColor: "#000",
           fontFamily: "FZJCGFKTK",
           wordPadding: [],
+          underLine: false,
         };
         wordsList.push(obj);
       });
@@ -311,6 +312,7 @@ export default {
           item.fontColor = "#000";
           item.fontFamily = "FZJCGFKTK";
           item.wordPadding = [];
+          item.underLine = false;
           return item;
         });
 

+ 1 - 0
src/components/Adult/common/DuoSentenceSegwordChs/index.vue

@@ -110,6 +110,7 @@ export default {
             fontColor: "#000",
             fontFamily: "FZJCGFKTK",
             wordPadding: [],
+            underLine: false,
           };
           sentArr.push(obj);
         });

+ 3 - 0
src/components/Adult/common/FnConfig.vue

@@ -55,6 +55,9 @@
           >{{ fnItem.name }}</el-radio
         >
       </el-radio-group>
+      <el-checkbox v-model="items.fn_check_list.is_short_auto"
+        >宽度自适应</el-checkbox
+      >
       <el-button
         type="info"
         size="mini"

+ 2 - 0
src/components/Adult/common/SentenceSegwordChs/components/SegbywordChs.vue

@@ -176,6 +176,7 @@ export default {
           fontColor: "#000",
           fontFamily: "FZJCGFKTK",
           wordPadding: [],
+          underLine: false,
         };
         wordsList.push(obj);
       });
@@ -226,6 +227,7 @@ export default {
           item.fontColor = "#000";
           item.fontFamily = "FZJCGFKTK";
           item.wordPadding = [];
+          item.underLine = false;
           return item;
         });
         this.$set(this.curQue, "wordsList", wordsList);

+ 1 - 0
src/components/Adult/common/SentenceSegwordChs/index.vue

@@ -111,6 +111,7 @@ export default {
           fontColor: "#000",
           fontFamily: "FZJCGFKTK",
           wordPadding: [],
+          underLine: false,
         };
         wordsList.push(obj);
       });

+ 8 - 0
src/components/Adult/inputModules/SentenceModule.vue

@@ -2,6 +2,12 @@
 <template>
   <div class="sentenceControl" v-if="curQue">
     <div class="adult-book-input-item">
+      <span class="adult-book-lable">序号:</span>
+      <el-checkbox v-model="curQue.isShowNumber" style="margin-top: 6px"
+        >显示序号</el-checkbox
+      >
+    </div>
+    <div class="adult-book-input-item">
       <span class="adult-book-lable">序号类型:</span>
       <el-radio-group v-model="curQue.numberStyle">
         <el-radio label="number">数字</el-radio>
@@ -704,6 +710,7 @@ export default {
         wordTime: [],
         detail: [],
         sentenceType: "chinese",
+        isShowNumber: true, //是否显示序号
         numberStyle: "number",
         numberBg: false, //是否跟书籍主题色一致
         pyPosition: "top", //top 拼音在上面;bottom 拼音在下面
@@ -743,6 +750,7 @@ export default {
                 sent_check: "sentence_complete_input_chs",
                 style_check: "",
                 short_check: "",
+                is_short_auto: false, //短输入宽度是否自适应
                 long_check: "",
                 judge_check: "",
                 checkbox_check: "",

+ 134 - 47
src/components/Adult/preview/SentenceModule.vue

@@ -58,6 +58,11 @@
         <div
           :class="[
             'sent-option',
+            curQue.mp3_list &&
+            curQue.mp3_list.length > 0 &&
+            curQue.mp3_list[0].id
+              ? 'sent-option-24'
+              : '',
             curQue.sortType == 'row' ? 'sent-option-row' : 'li-flex',
           ]"
           v-for="(item, index) in curQue.option"
@@ -77,7 +82,11 @@
             <div
               :class="[
                 'horn-24',
-                items.pyNumber && items.pyNumber[0] > 0 ? 'horn-hasPY' : '',
+                items.pyNumber &&
+                items.pyNumber[0] > 0 &&
+                curQue.pyPosition == 'top'
+                  ? 'horn-hasPY'
+                  : '',
               ]"
               v-if="
                 curQue.mp3_list &&
@@ -86,6 +95,20 @@
                 items.bg &&
                 items.ed
               "
+              :style="{
+                height:
+                  items.detail &&
+                  items.detail.length > 0 &&
+                  items.detail[0].maxFontsize
+                    ? (items.detail[0].maxFontsize * 3) / 2 + 'px'
+                    : '40px',
+                marginTop:
+                  items.detail &&
+                  items.detail.length > 0 &&
+                  items.detail[0].maxFontsize
+                    ? ''
+                    : '0px',
+              }"
             >
               <AudioItem
                 :itemBg="items.bg"
@@ -98,6 +121,7 @@
             </div>
             <div :class="['sent-stem', bgClassName]">
               <div
+                v-if="curQue.isShowNumber"
                 :class="[
                   'number-box number-box-hasmp3',
                   items.pyNumber &&
@@ -107,6 +131,20 @@
                     : '',
                   curQue.numberBg ? '' : 'number-box-nobg',
                 ]"
+                :style="{
+                  height:
+                    items.detail &&
+                    items.detail.length > 0 &&
+                    items.detail[0].maxFontsize
+                      ? (items.detail[0].maxFontsize * 3) / 2 + 'px'
+                      : '40px',
+                  marginTop:
+                    items.detail &&
+                    items.detail.length > 0 &&
+                    items.detail[0].maxFontsize
+                      ? ''
+                      : '0px',
+                }"
               >
                 <NumberStyle
                   :className="curQue.numberBg ? 'number01' : 'number-nobg'"
@@ -117,6 +155,9 @@
               </div>
               <!-- 题干 -->
               <div class="stem-content">
+                <!--  items.fn_check_list.judge_check || sdItem.fn_check_list.record_check.indexOf('normal') > -1
+                      ? 'sent-main-138'
+                      : '', -->
                 <div
                   :class="[
                     'sent-main',
@@ -129,10 +170,6 @@
                     items.fn_check_list.checkbox_check.indexOf('row') > -1
                       ? 'sent-main-bottom'
                       : '',
-                    items.fn_check_list.judge_check ||
-                    sdItem.fn_check_list.record_check.indexOf('normal') > -1
-                      ? 'sent-main-138'
-                      : '',
                   ]"
                   v-for="(sdItem, sdIndex) in items.detail"
                   :key="'sent-option-items' + index + indexs + sdIndex"
@@ -177,6 +214,7 @@
                         :pyNumber="items.pyNumber && items.pyNumber[sdIndex]"
                         :record_check="sdItem.fn_check_list.record_check"
                         :hengLeg="sdItem.hengLeg"
+                        :maxFontsize="sdItem.maxFontsize"
                       />
                       <!-- <div class="en" v-if="sdItem.en">{{ sdItem.en }}</div> -->
                       <div
@@ -206,6 +244,7 @@
                     </div>
                   </div>
                   <div
+                    ref="answerpart"
                     v-if="
                       items.fn_check_list.judge_check ||
                       sdItem.fn_check_list.record_check ||
@@ -231,6 +270,9 @@
                         items.pyNumber && items.pyNumber[0] > 0
                           ? 'short-part-hasPY'
                           : '',
+                        items.fn_check_list.is_short_auto
+                          ? 'short-part-flex'
+                          : '',
                       ]"
                       v-if="sdIndex == 0 && items.fn_check_list.short_check"
                     >
@@ -238,6 +280,7 @@
                         :doubleInput="items.correct.doubleInput"
                         :Bookanswer="curQue.Bookanswer[index][indexs]"
                         :TaskModel="TaskModel"
+                        :is_short_auto="items.fn_check_list.is_short_auto"
                       />
                     </div>
                     <!-- 判断 -->
@@ -327,6 +370,9 @@
                           'record_' +
                             typeList[sdItem.fn_check_list.record_check],
                           'record-common',
+                          items.fn_check_list.short_check
+                            ? 'record-common-40'
+                            : '',
                         ]"
                         :TaskModel="TaskModel"
                         :tmIndex="sdIndex"
@@ -445,6 +491,7 @@ export default {
         sentence_record_pro_chs: "pro",
         sentence_record_promax_chs: "promax",
       },
+      answerpart: [],
     };
   },
   computed: {
@@ -488,6 +535,7 @@ export default {
       let Bookanswer = [];
       let itemLeg = 0;
       let option = JSON.parse(JSON.stringify(this.curQue.option));
+
       option.forEach((item, index) => {
         Bookanswer.push([]);
         itemLeg = item.length > itemLeg ? item.length : itemLeg;
@@ -512,37 +560,55 @@ export default {
           }
           let hengIndex = 0;
           items.pyNumber = [];
-
+          console.log(items);
           items.detail.forEach((sdItem, sdIndex) => {
             let isHasPY = 0;
+            let maxFontsize = 0;
+            console.log(sdItem);
             sdItem.detail.forEach((sddItem) => {
-              sddItem.wordsList.forEach((sItem, sIndex) => {
-                let reg = /_{2,}/g;
-                if (reg.test(sItem.chs)) {
-                  sItem.index = sIndex;
-                  sItem.isHeng = true;
-                  sItem.hengIndex = hengIndex;
-                  hengIndex++;
-                }
-                //补全句子
-                if (
-                  !this.curQue.Bookanswer &&
-                  items.fn_check_list.sent_check ==
-                    "sentence_complete_input_chs" &&
-                  !items.Isexample
-                ) {
+              if (sddItem.wordsList.length > 0) {
+                sddItem.wordsList.forEach((sItem, sIndex) => {
                   let reg = /_{2,}/g;
                   if (reg.test(sItem.chs)) {
-                    Bookanswer[index][indexs].completeInput.push("");
+                    sItem.index = sIndex;
+                    sItem.isHeng = true;
+                    sItem.hengIndex = hengIndex;
+                    hengIndex++;
+                  }
+                  //补全句子
+                  if (
+                    !this.curQue.Bookanswer &&
+                    items.fn_check_list.sent_check ==
+                      "sentence_complete_input_chs" &&
+                    !items.Isexample
+                  ) {
+                    let reg = /_{2,}/g;
+                    if (reg.test(sItem.chs)) {
+                      Bookanswer[index][indexs].completeInput.push("");
+                    }
                   }
-                }
 
-                this.mergeWordSymbol(sItem);
-                if (sItem.pinyin) {
-                  isHasPY++;
+                  this.mergeWordSymbol(sItem);
+                  if (sItem.pinyin) {
+                    isHasPY++;
+                  }
+                  let fontSize = JSON.parse(JSON.stringify(sItem.fontSize));
+                  fontSize = Number(fontSize.replace("px", ""));
+                  maxFontsize = fontSize > maxFontsize ? fontSize : maxFontsize;
+                });
+              } else {
+                if (sddItem.sentence) {
+                  let fontSize = JSON.parse(
+                    JSON.stringify(sddItem.config.fontSize)
+                  );
+                  fontSize = Number(fontSize.replace("px", ""));
+                  maxFontsize = fontSize > maxFontsize ? fontSize : maxFontsize;
                 }
-              });
+              }
             });
+            sdItem.maxFontsize = maxFontsize;
+            console.log("sdItem");
+            console.log(sdItem);
             items.pyNumber.push(isHasPY);
           });
           if (!this.curQue.Bookanswer && !items.Isexample) {
@@ -620,8 +686,17 @@ export default {
   created() {},
   //生命周期 - 挂载完成(可以访问DOM元素)
   mounted() {
-    console.log(this.curQue);
-    this.handleData();
+    let _this = this;
+    console.log(_this.curQue);
+    _this.handleData();
+    _this.$nextTick(() => {
+      if (_this.$refs.answerpart) {
+        _this.$refs.answerpart.forEach((item) => {
+          _this.answerpart.push(item.offsetWidth);
+        });
+        console.log(_this.answerpart);
+      }
+    });
   },
   beforeCreate() {}, //生命周期 - 创建之前
   beforeMount() {}, //生命周期 - 挂载之前
@@ -670,6 +745,9 @@ export default {
       display: flex;
       flex-wrap: wrap;
       justify-content: space-between;
+      .sent-option-24 {
+        padding: 0 24px;
+      }
     }
     .sent-option {
       &.li-flex {
@@ -694,13 +772,12 @@ export default {
       display: flex;
       flex-direction: row;
       justify-content: flex-start;
-      align-items: center;
       box-sizing: border-box;
       background: #ffffff;
       border: 1px solid rgba(0, 0, 0, 0.1);
       border-radius: 8px;
       margin: 8px 0;
-      padding: 9px 12px;
+      padding: 8px 12px;
       .number-box {
         width: 16px;
         height: 30px;
@@ -709,12 +786,12 @@ export default {
         justify-content: center;
         align-items: center;
         margin-right: 8px;
-        // margin-top: 15px;
+        margin-top: 3px;
         // &-hasmp3 {
         //   margin-top: 8px;
         // }
         &-hasPY {
-          margin-top: 17px;
+          margin-top: 21px;
         }
         &-nobg {
           width: 24px;
@@ -725,11 +802,12 @@ export default {
         margin-right: 16px;
       }
       .horn-24 {
-        height: 16px;
+        height: 30px;
         display: flex;
         justify-content: center;
         align-items: center;
         margin-right: 8px;
+        margin-top: 3px;
         &.horn-hasPY {
           margin-top: 28px;
         }
@@ -752,7 +830,7 @@ export default {
         width: 100%;
         display: flex;
         flex-wrap: wrap;
-        // padding: 7px 0;
+
         box-sizing: border-box;
         &-138 {
           padding-right: 138px;
@@ -764,7 +842,7 @@ export default {
       .sent-que-box {
         display: flex;
         flex-wrap: wrap;
-        flex: 1;
+        padding: 4px 0;
       }
       .sent-que {
         &-flex {
@@ -778,19 +856,21 @@ export default {
         }
       }
       .answer-part {
+        flex: 1;
         display: flex;
         justify-content: flex-end;
-        padding-left: 16px;
-        &-hasPY {
-          padding-top: 9px;
-        }
-        &.answer-part-138 {
-          position: absolute;
-          right: 0px;
-          top: 0px;
-        }
+        align-items: center;
+        // padding-left: 16px;
+        // &-hasPY {
+        //   padding-top: 9px;
+        // }
+        // &.answer-part-138 {
+        //   position: absolute;
+        //   right: 0px;
+        //   top: 1px;
+        // }
         > div {
-          margin-left: 16px;
+          margin-left: 8px;
         }
         .judge-part {
           &-padding-5 {
@@ -803,6 +883,10 @@ export default {
         .short-part {
           display: flex;
           align-items: center;
+          margin-left: 0;
+          &-flex {
+            flex: 1;
+          }
           // padding-top: 16px;
           // &-hasPY {
           //   padding-top: 24px;
@@ -818,6 +902,9 @@ export default {
     border-radius: 8px;
     padding: 0 12px;
     margin: 0 auto;
+    &-40 {
+      height: 40px;
+    }
   }
   // .record_mini {
   //   width: 68px;
@@ -840,7 +927,7 @@ export default {
   }
   &.hasmp3 {
     .sent-option {
-      padding: 16px 24px;
+      padding: 0px 16px;
     }
     &.sentence-control {
       background: #f7f7f7;

+ 0 - 6
src/components/Adult/preview/Soundrecord.vue

@@ -179,12 +179,6 @@ export default {
       let _this = this;
       _this.recordList = newVal;
       _this.selectIndex = _this.recordList.length - 1;
-      _this.$emit(
-        "getSelectData",
-        _this.recordList[_this.selectIndex].selectData
-      );
-      _this.recordFile = _this.recordList.length + 1;
-      _this.handleChangeRecord(this.selectIndex);
     },
   },
   // 生命周期 - 创建完成(可以访问当前this实例)

+ 1 - 13
src/components/Adult/preview/Soundrecorddiff.vue

@@ -96,19 +96,7 @@ export default {
       isPlaying: false,
     };
   },
-  watch: {
-    answerRecordList(newVal) {
-      let _this = this;
-      _this.recordList = newVal;
-      _this.selectIndex = _this.recordList.length - 1;
-      _this.$emit(
-        "getSelectData",
-        _this.recordList[_this.selectIndex].selectData
-      );
-      _this.recordFile = _this.recordList.length + 1;
-      _this.handleChangeRecord(this.selectIndex);
-    },
-  },
+  watch: {},
   // 生命周期 - 创建完成(可以访问当前this实例)
   created() {
     this.handleActive();

+ 121 - 109
src/components/Adult/preview/VoiceMatrix.vue

@@ -6,7 +6,7 @@
           :class="[
             themeColor.length === 0 || themeColor === 'red'
               ? 'serial-number'
-              : `serial-number-${themeColor}`
+              : `serial-number-${themeColor}`,
           ]"
         >
           {{ curQue.voiceMatrix.audioSerialNumber }}
@@ -17,12 +17,12 @@
           class="audio-simple-image"
           :src="playing ? voicePlaySrc : voicePauseSrc"
           @click="playAudio"
-        >
+        />
         <span
           :class="[
             'Repeat-16',
             'audio-simple-repeat',
-            isRepeat ? '' : 'disabled'
+            isRepeat ? '' : 'disabled',
           ]"
           @click="isRepeat = !isRepeat"
         />
@@ -45,7 +45,7 @@
         v-if="curQue.voiceMatrix.matrix.length > 0"
         class="matrix"
         :style="{
-          'grid-template': `36px repeat(${curQue.voiceMatrix.matrix.length}, auto) minmax(36px, 1fr) / 36px repeat(${curQue.voiceMatrix.matrix[0].length}, auto) minmax(36px, 1fr)`
+          'grid-template': `36px repeat(${curQue.voiceMatrix.matrix.length}, auto) minmax(36px, 1fr) / 36px repeat(${curQue.voiceMatrix.matrix[0].length}, auto) minmax(36px, 1fr)`,
         }"
         @mouseleave="clearSelectCell"
       >
@@ -57,10 +57,10 @@
             :class="[
               'matrix-top',
               curQue.voiceMatrix.columnSelection &&
-                (selectColumn === i ||
-                  (selectedLine.type === 'column' && selectedLine.index === i))
+              (selectColumn === i ||
+                (selectedLine.type === 'column' && selectedLine.index === i))
                 ? 'read'
-                : ''
+                : '',
             ]"
             @mouseenter="checkboxMouseenter(selectColumn === i, 'column')"
           >
@@ -70,13 +70,13 @@
               "
               v-show="
                 selectColumn === i ||
-                  (selectedLine.type === 'column' && selectedLine.index === i)
+                (selectedLine.type === 'column' && selectedLine.index === i)
               "
               :class="[
                 `matrix-checkbox-row-${themeColor}`,
                 selectedLine.type === 'column' && selectedLine.index === i
                   ? 'active'
-                  : ''
+                  : '',
               ]"
               @click="selectRowOrColumn(i, 'column')"
             />
@@ -90,10 +90,10 @@
             :class="[
               'column-wrapper',
               curQue.voiceMatrix.rowSelection &&
-                (selectRow === i ||
-                  (selectedLine.type === 'row' && selectedLine.index === i))
+              (selectRow === i ||
+                (selectedLine.type === 'row' && selectedLine.index === i))
                 ? 'read'
-                : ''
+                : '',
             ]"
             @mouseenter="checkboxMouseenter(selectRow === i, 'row')"
           >
@@ -101,13 +101,13 @@
               v-if="curQue.voiceMatrix.rowSelection"
               v-show="
                 selectRow === i ||
-                  (selectedLine.type === 'row' && selectedLine.index === i)
+                (selectedLine.type === 'row' && selectedLine.index === i)
               "
               :class="[
                 `matrix-checkbox-column-${themeColor}`,
                 selectedLine.type === 'row' && selectedLine.index === i
                   ? 'active'
-                  : ''
+                  : '',
               ]"
               @click="selectRowOrColumn(i, 'row')"
             />
@@ -119,19 +119,19 @@
               :class="[
                 'column-wrapper',
                 (curQue.voiceMatrix.rowSelection && selectRow === i) ||
-                  (curQue.voiceMatrix.columnSelection && selectColumn === j) ||
-                  (curQue.voiceMatrix.columnSelection &&
-                    selectedLine.type === 'column' &&
-                    selectedLine.index === j) ||
-                  (curQue.voiceMatrix.rowSelection &&
-                    selectedLine.type === 'row' &&
-                    selectedLine.index === i)
+                (curQue.voiceMatrix.columnSelection && selectColumn === j) ||
+                (curQue.voiceMatrix.columnSelection &&
+                  selectedLine.type === 'column' &&
+                  selectedLine.index === j) ||
+                (curQue.voiceMatrix.rowSelection &&
+                  selectedLine.type === 'row' &&
+                  selectedLine.index === i)
                   ? 'read'
                   : '',
                 (i === 0 && curQue.voiceMatrix.firstLineHighlight) ||
-                  (j === row.length - 1 && curQue.voiceMatrix.lastColumnHighlight)
+                (j === row.length - 1 && curQue.voiceMatrix.lastColumnHighlight)
                   ? `highlight-${themeColor}`
-                  : ''
+                  : '',
               ]"
               @mouseenter="matrixCellMouseenter(i, j, column.type)"
             >
@@ -142,18 +142,18 @@
                 :class="[
                   column.text.length === 0 ? 'space' : `column-${themeColor}`,
                   (selectCell.row === i && selectCell.column === j) ||
-                    (selectedLine.type === 'column' &&
-                      selectedLine.index === j) ||
-                    (selectedLine.type === 'row' && selectedLine.index === i)
+                  (selectedLine.type === 'column' &&
+                    selectedLine.index === j) ||
+                  (selectedLine.type === 'row' && selectedLine.index === i)
                     ? 'selected'
                     : '',
                   playing &&
-                    column.lrc_data.begin_time / 1000 <= curTime &&
-                    (curTime < column.lrc_data.end_time / 1000 ||
-                      column.lrc_data.end_time === -1)
+                  column.lrc_data.begin_time / 1000 <= curTime &&
+                  (curTime < column.lrc_data.end_time / 1000 ||
+                    column.lrc_data.end_time === -1)
                     ? 'playing'
                     : '',
-                  column.isTitle ? 'title' : ''
+                  column.isTitle ? 'title' : '',
                 ]"
                 @click="matrixCellClick(i, j)"
               >
@@ -167,7 +167,7 @@
                   'connection',
                   i === 0 && curQue.voiceMatrix.firstLineHighlight
                     ? `highlight-bc-${themeColor}`
-                    : ''
+                    : '',
                 ]"
               />
               <!-- 分词 -->
@@ -177,21 +177,21 @@
                 :class="[
                   `sentence-${themeColor}`,
                   (selectCell.row === i && selectCell.column === j) ||
-                    (selectedLine.type === 'column' &&
-                      selectedLine.index === j) ||
-                    (selectedLine.type === 'row' && selectedLine.index === i)
+                  (selectedLine.type === 'column' &&
+                    selectedLine.index === j) ||
+                  (selectedLine.type === 'row' && selectedLine.index === i)
                     ? 'selected'
                     : '',
                   playing &&
-                    column.lrc_data.begin_time / 1000 <= curTime &&
-                    (curTime < column.lrc_data.end_time / 1000 ||
-                      column.lrc_data.end_time === -1)
+                  column.lrc_data.begin_time / 1000 <= curTime &&
+                  (curTime < column.lrc_data.end_time / 1000 ||
+                    column.lrc_data.end_time === -1)
                     ? 'playing'
                     : '',
-                  column.isTitle ? 'title' : ''
+                  column.isTitle ? 'title' : '',
                 ]"
                 :style="{
-                  'grid-template-columns': `repeat(${column.sentence_data.wordsList.length}, auto)`
+                  'grid-template-columns': `repeat(${column.sentence_data.wordsList.length}, auto)`,
                 }"
                 @click="matrixCellClick(i, j)"
               >
@@ -199,13 +199,11 @@
                   v-for="({ pinyin, chs }, w) in column.sentence_data.wordsList"
                 >
                   <span
-                    :key="
-                      `${
-                        column.sentence_data.pyPosition === 'top'
-                          ? 'pinyin'
-                          : 'chs'
-                      }-${w}`
-                    "
+                    :key="`${
+                      column.sentence_data.pyPosition === 'top'
+                        ? 'pinyin'
+                        : 'chs'
+                    }-${w}`"
                     :class="
                       column.sentence_data.pyPosition === 'top'
                         ? 'pinyin'
@@ -221,13 +219,11 @@
                   v-for="({ pinyin, chs }, w) in column.sentence_data.wordsList"
                 >
                   <span
-                    :key="
-                      `${
-                        column.sentence_data.pyPosition === 'top'
-                          ? 'chs'
-                          : 'pinyin'
-                      }-${w}`
-                    "
+                    :key="`${
+                      column.sentence_data.pyPosition === 'top'
+                        ? 'chs'
+                        : 'pinyin'
+                    }-${w}`"
                     :class="
                       column.sentence_data.pyPosition === 'top'
                         ? 'chs'
@@ -247,18 +243,18 @@
                 :class="[
                   `pinyinEnglish-${themeColor}`,
                   (selectCell.row === i && selectCell.column === j) ||
-                    (selectedLine.type === 'column' &&
-                      selectedLine.index === j) ||
-                    (selectedLine.type === 'row' && selectedLine.index === i)
+                  (selectedLine.type === 'column' &&
+                    selectedLine.index === j) ||
+                  (selectedLine.type === 'row' && selectedLine.index === i)
                     ? 'selected'
                     : '',
                   playing &&
-                    column.lrc_data.begin_time / 1000 <= curTime &&
-                    (curTime < column.lrc_data.end_time / 1000 ||
-                      column.lrc_data.end_time === -1)
+                  column.lrc_data.begin_time / 1000 <= curTime &&
+                  (curTime < column.lrc_data.end_time / 1000 ||
+                    column.lrc_data.end_time === -1)
                     ? 'playing'
                     : '',
-                  column.isTitle ? 'title' : ''
+                  column.isTitle ? 'title' : '',
                 ]"
                 @click="matrixCellClick(i, j)"
               >
@@ -278,18 +274,18 @@
                 :class="[
                   `textBrackets-${themeColor}`,
                   (selectCell.row === i && selectCell.column === j) ||
-                    (selectedLine.type === 'column' &&
-                      selectedLine.index === j) ||
-                    (selectedLine.type === 'row' && selectedLine.index === i)
+                  (selectedLine.type === 'column' &&
+                    selectedLine.index === j) ||
+                  (selectedLine.type === 'row' && selectedLine.index === i)
                     ? 'selected'
                     : '',
                   playing &&
-                    column.lrc_data.begin_time / 1000 <= curTime &&
-                    (curTime < column.lrc_data.end_time / 1000 ||
-                      column.lrc_data.end_time === -1)
+                  column.lrc_data.begin_time / 1000 <= curTime &&
+                  (curTime < column.lrc_data.end_time / 1000 ||
+                    column.lrc_data.end_time === -1)
                     ? 'playing'
                     : '',
-                  column.isTitle ? 'title' : ''
+                  column.isTitle ? 'title' : '',
                 ]"
                 @click="matrixCellClick(i, j)"
               >
@@ -311,10 +307,10 @@
             :key="`end-${i}`"
             :class="[
               curQue.voiceMatrix.rowSelection &&
-                (selectRow === i ||
-                  (selectedLine.type === 'row' && selectedLine.index === i))
+              (selectRow === i ||
+                (selectedLine.type === 'row' && selectedLine.index === i))
                 ? 'read'
-                : ''
+                : '',
             ]"
             @mouseenter="clearSelectCell"
           />
@@ -327,10 +323,10 @@
             :class="[
               'matrix-bottom',
               curQue.voiceMatrix.columnSelection &&
-                (selectColumn === i ||
-                  (selectedLine.type === 'column' && selectedLine.index === i))
+              (selectColumn === i ||
+                (selectedLine.type === 'column' && selectedLine.index === i))
                 ? 'read'
-                : ''
+                : '',
             ]"
             @mouseenter="clearSelectCell"
           />
@@ -353,6 +349,7 @@
         @handleParentPlay="pauseOtherAudio"
         @sentPause="sentPause"
         @handleWav="handleWav"
+        v-if="refresh"
       />
       <audio-compare
         :style="{ flex: 1 }"
@@ -400,15 +397,13 @@ export default {
     AudioLine,
     Soundrecord,
     AudioCompare,
-    VoiceFullscreen
+    VoiceFullscreen,
   },
   props: ["curQue", "themeColor", "TaskModel"],
   data() {
     return {
       // 组件id
-      cid: Math.random()
-        .toString(36)
-        .substr(2, 10),
+      cid: Math.random().toString(36).substr(2, 10),
       isFull: false,
       curTime: 0,
       playing: false,
@@ -422,18 +417,19 @@ export default {
       // 行、列选中
       selectedLine: {
         type: "",
-        index: 0
+        index: 0,
       },
       // 点击选中
       selectCell: {
         row: -1,
-        column: -1
+        column: -1,
       },
       isRepeat: false,
       // 跟读所需属性
       wavblob: null,
       isRecord: false,
-      matrixSelectLrc: null
+      matrixSelectLrc: null,
+      refresh: true,
     };
   },
   computed: {
@@ -467,7 +463,7 @@ export default {
         type: type.length > 0 && index >= 0 ? type : "cell",
         index,
         row,
-        column
+        column,
       };
     },
 
@@ -491,22 +487,39 @@ export default {
         return require("../../../assets/NPC/full-screen-red.png");
       }
       return require(`../../../assets/NPC/full-screen-${themeColor}.png`);
-    }
+    },
   },
   watch: {
     hasSelectedCell() {
       this.handleParentPlay();
-    }
+    },
+    isFull: {
+      handler: function (newVal, oldVal) {
+        let _this = this;
+        _this.refresh = false;
+        if (!newVal) {
+          _this.$nextTick(() => {
+            // 重新渲染组件
+            _this.refresh = true;
+          });
+        }
+      },
+      deep: true,
+    },
   },
   created() {
-    Bus.$on("audioPause", id => {
-      if (this.cid === id) return;
-      if (this.$refs.luyin.microphoneStatus) this.$refs.luyin.microphone();
-      this.handleParentPlay();
+    let _this = this;
+    Bus.$on("audioPause", (id) => {
+      if (_this.cid === id) return;
+      _this.$nextTick(() => {
+        console.log(_this.$refs.luyin);
+        if (_this.$refs.luyin.microphoneStatus) _this.$refs.luyin.microphone();
+        _this.handleParentPlay();
+      });
     });
     if (!this.curQue.Bookanswer) {
       let bookanswer = {
-        recordList: []
+        recordList: [],
       };
       this.$set(this.curQue, "Bookanswer", bookanswer);
     }
@@ -566,13 +579,8 @@ export default {
     },
 
     setRecordingFileName(row, column) {
-      let {
-        type,
-        text,
-        sentence_data,
-        pinyin_english_data,
-        text_brackets
-      } = this.curQue.voiceMatrix.matrix[row][column];
+      let { type, text, sentence_data, pinyin_english_data, text_brackets } =
+        this.curQue.voiceMatrix.matrix[row][column];
       if (type === "text") this.fileName = text;
       if (type === "SentenceSegwordChs") this.fileName = sentence_data.sentence;
       if (type === "PinyinEnglish") this.fileName = pinyin_english_data.pinyin;
@@ -591,13 +599,13 @@ export default {
         "matrix-checkbox-row-",
         "audio-simple-image",
         "audio-simple-repeat",
-        "luyin-box"
+        "luyin-box",
       ];
 
-      let operable = event.path.some(item => {
+      let operable = event.path.some((item) => {
         let className = item.className;
         if (!className) return false;
-        return whitePath.some(path => className.includes(path));
+        return whitePath.some((path) => className.includes(path));
       });
       if (!operable) {
         this.selectedLine = { type: "", index: -1 };
@@ -646,7 +654,7 @@ export default {
       this.lrcArray = [];
       let { type, index } = this.selectedLine;
       if (type.length > 0 && index >= 0 && type === "row") {
-        this.curQue.voiceMatrix.matrix[index].forEach(item => {
+        this.curQue.voiceMatrix.matrix[index].forEach((item) => {
           let data = this.getLrcData(item);
           if (data) this.lrcArray.push(data);
         });
@@ -655,7 +663,7 @@ export default {
       }
 
       if (type.length > 0 && index >= 0 && type === "column") {
-        this.curQue.voiceMatrix.matrix.forEach(item => {
+        this.curQue.voiceMatrix.matrix.forEach((item) => {
           let data = this.getLrcData(item[index]);
           if (data) this.lrcArray.push(data);
         });
@@ -678,7 +686,7 @@ export default {
         this.$refs.audioLine.PlayAudio();
         if (end_time === -1) return;
         let end = end_time / 1000 - 0.01;
-        this.unWatch = this.$watch("curTime", val => {
+        this.unWatch = this.$watch("curTime", (val) => {
           if (val >= end) {
             if (!this.hasSelectedCell) return this.unWatch();
             this.handleParentPlay();
@@ -733,7 +741,7 @@ export default {
       }
       let arr = [];
       if (type.length > 0 && index >= 0 && type === "row") {
-        this.curQue.voiceMatrix.matrix[index].forEach(item => {
+        this.curQue.voiceMatrix.matrix[index].forEach((item) => {
           let data = this.getLrcData(item);
           if (data) arr.push(data);
         });
@@ -742,7 +750,7 @@ export default {
       }
 
       if (type.length > 0 && index >= 0 && type === "column") {
-        this.curQue.voiceMatrix.matrix.forEach(item => {
+        this.curQue.voiceMatrix.matrix.forEach((item) => {
           let data = this.getLrcData(item[index]);
           if (data) arr.push(data);
         });
@@ -768,7 +776,7 @@ export default {
           return {
             begin_time: lrc_data.begin_time,
             end_time: this.mp3Duration,
-            text: lrc_data.text
+            text: lrc_data.text,
           };
         }
         return lrc_data;
@@ -782,7 +790,7 @@ export default {
 
     pauseAudio() {
       let audio = document.getElementsByTagName("audio");
-      audio.forEach(item => {
+      audio.forEach((item) => {
         item.pause();
       });
     },
@@ -820,15 +828,19 @@ export default {
     },
 
     handleChangeTime({ begin_time, end_time }) {
+      let _this = this;
       if (this.unWatch) this.unWatch();
       this.handleParentPlay();
       this.$nextTick(() => {
         this.$refs.audioLine.onTimeupdateTime(begin_time / 1000);
-        this.$refs.audioLine.PlayAudio();
+        setTimeout(() => {
+          _this.$refs.audioLine.PlayAudio();
+        });
+
         // 监听是否已到结束时间,为了选中效果 - 0.01
         if (end_time === -1) return;
         let end = end_time / 1000 - 0.01;
-        this.unWatch = this.$watch("curTime", val => {
+        this.unWatch = this.$watch("curTime", (val) => {
           if (val >= end) {
             this.handleParentPlay();
             this.$refs.audioLine.onTimeupdateTime(end);
@@ -841,8 +853,8 @@ export default {
     handleWav(list, tmIndex = 0) {
       console.log(list);
       this.$set(this.curQue.Bookanswer, "recordList", list);
-    }
-  }
+    },
+  },
 };
 </script>
 

+ 68 - 32
src/components/Adult/preview/components/OneSentenceTemp.vue

@@ -4,9 +4,9 @@
     <template v-if="detail.wordsList && detail.wordsList.length > 0">
       <div
         :class="[
-          'RLC-words',
-          pyNumber > 0 ? 'RLC-words-hasPY' : '',
-          pItem.isHeng ? 'RLC-words-auto' : '',
+          'NPC-words',
+          pyNumber > 0 ? 'NPC-words-hasPY' : '',
+          pItem.isHeng ? 'NPC-words-auto' : '',
         ]"
         v-for="(pItem, pIndex) in detail.wordsList"
         :key="'wordsList' + pIndex"
@@ -19,10 +19,10 @@
               chsFhList.indexOf(detail.wordsList[pIndex + 1].chs) > -1
             "
           >
-            <span class="RLC-words-box">
+            <span class="NPC-words-box">
               <span
                 v-if="pyNumber > 0 && pyPosition == 'top'"
-                class="RLC-pinyin"
+                class="NPC-pinyin"
                 :class="[
                   pItem.pinyin && noFont.indexOf(pItem.pinyin) > -1
                     ? 'noFont'
@@ -33,13 +33,15 @@
               <template v-if="!pItem.isHeng">
                 <span
                   :class="[
-                    'RLC-chs',
-                    pItem.fontColor == 'sub' ? 'RLC-chs-sub' : '',
+                    'NPC-chs',
+                    pItem.fontColor == 'sub' ? 'NPC-chs-sub' : '',
+                    pItem.underLine ? 'NPC-chs-underline' : '',
                   ]"
                   :style="{
                     fontSize: pItem.fontSize,
                     color: pItem.fontColor != 'sub' ? pItem.fontColor : '',
                     fontFamily: pItem.fontFamily,
+                    lineHeight: (maxFontsize * 3) / 2 + 'px',
                   }"
                   >{{ pItem.chs }}</span
                 >
@@ -60,23 +62,29 @@
                         : true
                     "
                     :style="{
+                      fontSize: maxFontsize + 'px',
+                      minHeight: (maxFontsize * 3) / 2 + 'px',
+                      lineHeight: (maxFontsize * 3) / 2.1 + 'px',
                       'min-width': hengLeg ? hengLeg * 60 + 'px' : '',
                       textAlign: detail.hengList[pIndex] ? 'center' : 'left',
+                      fontFamily: pItem.fontFamily,
                     }"
                   />
                 </template>
                 <template v-else>
                   <span
                     v-if="pItem.chs != '#'"
-                    class="RLC-chs'"
+                    class="NPC-chs'"
                     :style="{
                       fontSize: pItem.fontSize,
                       color: pItem.fontColor != 'sub' ? pItem.fontColor : '',
                       fontFamily: pItem.fontFamily,
+                      lineHeight: (maxFontsize * 3) / 2 + 'px',
                     }"
                     :class="[
                       pItem.chs != '“' && pItem.padding ? 'padding' : '',
-                      pItem.fontColor == 'sub' ? 'RLC-chs-sub' : '',
+                      pItem.fontColor == 'sub' ? 'NPC-chs-sub' : '',
+                      pItem.underLine ? 'NPC-chs-underline' : '',
                     ]"
                     >{{ pItem.chs }}</span
                   >
@@ -84,15 +92,15 @@
               </template>
               <span
                 v-if="pyNumber > 0 && pyPosition == 'bottom'"
-                class="RLC-pinyin"
+                class="NPC-pinyin"
                 :class="[noFont.indexOf(pItem.pinyin) > -1 ? 'noFont' : '']"
                 >{{ pItem.pinyin | handlePY }}</span
               >
             </span>
-            <span class="RLC-words-box" v-if="detail.wordsList[pIndex + 1]">
+            <span class="NPC-words-box" v-if="detail.wordsList[pIndex + 1]">
               <span
                 v-if="pyNumber > 0 && pyPosition == 'top'"
-                class="RLC-pinyin"
+                class="NPC-pinyin"
                 :class="[
                   noFont.indexOf(detail.wordsList[pIndex + 1].pinyin) > -1
                     ? 'noFont'
@@ -104,9 +112,12 @@
 
               <span
                 :class="[
-                  'RLC-chs',
+                  'NPC-chs',
                   detail.wordsList[pIndex + 1].fontColor == 'sub'
-                    ? 'RLC-chs-sub'
+                    ? 'NPC-chs-sub'
+                    : '',
+                  detail.wordsList[pIndex + 1].underLine
+                    ? 'NPC-chs-underline'
                     : '',
                 ]"
                 :style="{
@@ -115,13 +126,14 @@
                     detail.wordsList[pIndex + 1].fontColor != 'sub'
                       ? detail.wordsList[pIndex + 1].fontColor
                       : '',
+                  lineHeight: (maxFontsize * 3) / 2 + 'px',
                 }"
                 >{{ detail.wordsList[pIndex + 1].chs }}</span
               >
 
               <span
                 v-if="pyNumber > 0 && pyPosition == 'bottom'"
-                class="RLC-pinyin"
+                class="NPC-pinyin"
                 :class="[
                   noFont.indexOf(detail.wordsList[pIndex + 1].pinyin) > -1
                     ? 'noFont'
@@ -132,7 +144,7 @@
               >
             </span>
             <span
-              class="RLC-words-box"
+              class="NPC-words-box"
               v-if="
                 detail.wordsList[pIndex + 2] &&
                 detail.wordsList[pIndex + 2].chs &&
@@ -142,7 +154,7 @@
               <span
                 v-if="pyNumber > 0 && curQue.pyPosition == 'top'"
                 :class="[
-                  'RLC-pinyin',
+                  'NPC-pinyin',
                   noFont.indexOf(detail.wordsList[pIndex + 2].pinyin) > -1
                     ? 'noFont'
                     : '',
@@ -152,20 +164,24 @@
               >
               <span
                 :class="[
-                  'RLC-chs',
-                  pItem.fontColor == 'sub' ? 'RLC-chs-sub' : '',
+                  'NPC-chs',
+                  pItem.fontColor == 'sub' ? 'NPC-chs-sub' : '',
+                  detail.wordsList[pIndex + 2].underLine
+                    ? 'NPC-chs-underline'
+                    : '',
                 ]"
                 :style="{
                   fontSize: pItem.fontSize,
                   color: pItem.fontColor != 'sub' ? pItem.fontColor : '',
                   fontFamily: pItem.fontFamily,
+                  lineHeight: (maxFontsize * 3) / 2 + 'px',
                 }"
                 >{{ detail.wordsList[pIndex + 2].chs }}</span
               >
               <span
                 v-if="pyNumber > 0 && curQue.pyPosition == 'bottom'"
                 :class="[
-                  'RLC-pinyin',
+                  'NPC-pinyin',
                   noFont.indexOf(detail.wordsList[pIndex + 2].pinyin) > -1
                     ? 'noFont'
                     : '',
@@ -180,7 +196,7 @@
           <template v-else>
             <span
               v-if="pyNumber > 0 && pyPosition == 'top'"
-              class="RLC-pinyin"
+              class="NPC-pinyin"
               :class="[
                 pItem.chs != '“' && pItem.padding ? 'padding' : '',
                 noFont.indexOf(pItem.pinyin) > -1 ? 'noFont' : '',
@@ -190,15 +206,17 @@
             <template v-if="!pItem.isHeng">
               <span
                 v-if="pItem.chs != '#'"
-                class="RLC-chs"
+                class="NPC-chs"
                 :style="{
                   fontSize: pItem.fontSize,
                   color: pItem.fontColor != 'sub' ? pItem.fontColor : '',
                   fontFamily: pItem.fontFamily,
+                  lineHeight: (maxFontsize * 3) / 2 + 'px',
                 }"
                 :class="[
                   pItem.chs != '“' && pItem.padding ? 'padding' : '',
-                  pItem.fontColor == 'sub' ? 'RLC-chs-sub' : '',
+                  pItem.fontColor == 'sub' ? 'NPC-chs-sub' : '',
+                  pItem.underLine ? 'NPC-chs-underline' : '',
                 ]"
                 >{{ pItem.chs }}</span
               >
@@ -218,29 +236,37 @@
                     Bookanswer.Isexample || TaskModel == 'ANSWER' ? false : true
                   "
                   :style="{
+                    fontSize: maxFontsize + 'px',
+                    minHeight: (maxFontsize * 3) / 2 + 'px',
+                    lineHeight: (maxFontsize * 3) / 2.1 + 'px',
                     'min-width': hengLeg ? hengLeg * 60 + 'px' : '',
                     textAlign: detail.hengList[pIndex] ? 'center' : 'left',
+                    fontFamily: pItem.fontFamily,
                   }"
                 />
               </template>
               <template v-else>
                 <span
                   v-if="pItem.chs != '#'"
-                  class="RLC-chs"
+                  class="NPC-chs"
                   :style="{
                     fontSize: pItem.fontSize,
                     color: pItem.fontColor,
                     textAlign: 'left',
                     fontFamily: pItem.fontFamily,
+                    lineHeight: (maxFontsize * 3) / 2 + 'px',
                   }"
-                  :class="[pItem.chs != '“' && pItem.padding ? 'padding' : '']"
+                  :class="[
+                    pItem.chs != '“' && pItem.padding ? 'padding' : '',
+                    pItem.underLine ? 'NPC-chs-underline' : '',
+                  ]"
                   >{{ pItem.chs }}</span
                 >
               </template>
             </template>
             <span
               v-if="pyNumber > 0 && pyPosition == 'bottom'"
-              class="RLC-pinyin"
+              class="NPC-pinyin"
               :class="[
                 pItem.chs != '“' && pItem.padding ? 'padding' : '',
                 noFont.indexOf(pItem.pinyin) > -1 ? 'noFont' : '',
@@ -260,7 +286,12 @@
         v-for="(item, index) in detail.sentenceArr"
         :key="'sentenceArr' + index"
         v-html="item"
-        :style="[sentenceStyle]"
+        :style="[
+          sentenceStyle,
+          {
+            'line-height': (detail.maxFontsize * 3) / 2 + 'px',
+          },
+        ]"
       ></div>
     </template>
     <template v-else-if="detail.sentence">
@@ -273,6 +304,7 @@
         :style="[
           {
             'white-space': 'pre-wrap',
+            'line-height': (maxFontsize * 3) / 2 + 'px',
           },
           sentenceStyle,
         ]"
@@ -299,6 +331,7 @@ export default {
     "record_check",
     "sdIndex",
     "hengLeg",
+    "maxFontsize",
   ],
   filters: {
     handlePY(pinyin) {
@@ -385,11 +418,11 @@ export default {
   clear: both;
   overflow: hidden;
   width: 100%;
-  .RLC-words {
+  .NPC-words {
     float: left;
   }
 }
-.RLC-words {
+.NPC-words {
   &-hasPY {
     padding: 0px 2px;
   }
@@ -464,7 +497,7 @@ export default {
     }
   }
 }
-.RLC-pinyin {
+.NPC-pinyin {
   font-family: "Sans-GB";
   font-weight: normal;
   font-size: 14px;
@@ -488,13 +521,13 @@ export default {
     text-align: left;
   }
 }
-.RLC-chs {
+.NPC-chs {
   font-family: "FZJCGFKTK";
   font-size: 20px;
   line-height: 150%;
   color: #000000;
   text-align: center;
-  &.RLC-en {
+  &.NPC-en {
     font-family: "robot";
   }
   &-pinyin {
@@ -509,6 +542,9 @@ export default {
   &-sub {
     //@include font_color("sub_color");
   }
+  &-underline {
+    text-decoration: underline;
+  }
 }
 .sentence {
   font-family: "FZJCGFKTK";

+ 31 - 13
src/components/Adult/preview/components/ShortInputTemp.vue

@@ -11,10 +11,20 @@
         :class="[
           'answer-input',
           Bookanswer.Isexample ? 'answer-input-example' : '',
+          is_short_auto ? 'answer-input-auto' : '',
         ]"
         v-model="Bookanswer.doubleInput[index].correct"
         :canEdit="Bookanswer.Isexample || TaskModel == 'ANSWER' ? false : true"
       />
+      <!-- <input
+        placeholder="输入"
+        :class="[
+          'answer-input',
+          Bookanswer.Isexample ? 'answer-input-example' : '',
+        ]"
+        v-model="Bookanswer.doubleInput[index].correct"
+        :readonly="Bookanswer.Isexample || TaskModel == 'ANSWER' ? true : false"
+      /> -->
     </div>
   </div>
 </template>
@@ -25,7 +35,7 @@ export default {
   components: {
     EditDiv,
   },
-  props: ["doubleInput", "Bookanswer", "TaskModel"],
+  props: ["doubleInput", "Bookanswer", "TaskModel", "is_short_auto"],
   data() {
     return {};
   },
@@ -49,43 +59,51 @@ export default {
 <style lang='scss' scoped>
 //@import url(); 引入公共css类
 .short-input-temp {
+  width: 100%;
   display: flex;
-  justify-content: flex-start;
+  justify-content: flex-end;
   align-items: center;
   .short-option {
+    width: 100%;
     display: flex;
-    justify-content: flex-start;
+    justify-content: flex-end;
     align-items: center;
-
     &-margin {
       margin-left: 16px;
     }
   }
   .short-notice {
-    font-size: 24px;
-    line-height: 24px;
+    font-size: 20px;
+    line-height: 150%;
     color: #000000;
     font-family: "FZJCGFKTK";
     margin-right: 5px;
+    white-space: nowrap;
   }
   .answer-input {
-    min-height: 32px;
+    width: 160px;
+    outline: 0;
+    height: 40px;
+    padding: 8px 12px;
     box-sizing: border-box;
-    border: 0;
-    border-bottom: 1px rgba(0, 0, 0, 0.45) solid;
-    background: 0 0;
-    width: 72px;
+    background: #ffffff;
+    border: 1px solid rgba(0, 0, 0, 0.1);
+    box-sizing: border-box;
+    border-radius: 8px;
     outline: 0;
     text-align: center;
     font-family: "FZJCGFKTK";
-    font-size: 24px;
+    font-size: 16px;
     color: rgba(0, 0, 0, 0.45);
     box-sizing: border-box;
     color: #000000;
-    line-height: 30px;
+    line-height: 150%;
     &-example {
       color: #ff3f3f;
     }
+    &-auto {
+      flex: 1;
+    }
   }
 }
 </style>

+ 2 - 2
vue.config.js

@@ -43,8 +43,8 @@ module.exports = {
       // change xxx-api/login => mock/login
       // detail: https://cli.vuejs.org/config/#devserver-proxy
       [process.env.VUE_APP_BASE_API]: {
-        target: `https://gcls.utschool.cn/`,
-        //target: `https://gcls.helxsoft.cn/`,
+        //target: `https://gcls.utschool.cn/`,
+        target: `https://gcls.helxsoft.cn/`,
         changeOrigin: true,
         pathRewrite: {
           ['^' + process.env.VUE_APP_BASE_API]: ''