guanchunjie 3 年之前
父節點
當前提交
2b779b7418

+ 259 - 258
src/api/ajax.js

@@ -1,317 +1,318 @@
 import request from '@/utils/request'
 import { getToken } from '@/utils/auth'
 export function getContent(MethodName, data) {
-    let userInfor = getToken();
-    let UserCode = '',
-        UserType = '',
-        SessionID = ''
-    if (userInfor) {
-        let user = JSON.parse(getToken());
-        UserCode = user.user_code;
-        UserType = user.user_type;
-        SessionID = user.session_id;
-    }
-    return request({
-        url: `/GCLSBookWebSI/ServiceInterface?MethodName=${MethodName}&UserCode=${UserCode}&UserType=${UserType}&SessionID=${SessionID}`,
-        method: 'post',
-        data
-    })
+  let userInfor = getToken();
+  let UserCode = '',
+    UserType = '',
+    SessionID = ''
+  if (userInfor) {
+    let user = JSON.parse(getToken());
+    UserCode = user.user_code;
+    UserType = user.user_type;
+    SessionID = user.session_id;
+  }
+  return request({
+    url: `/GCLSBookWebSI/ServiceInterface?MethodName=${MethodName}&UserCode=${UserCode}&UserType=${UserType}&SessionID=${SessionID}`,
+    method: 'post',
+    data
+  })
 }
 
 export function getYinbiao(data) {
-    let userInfor = getToken();
-    let UserCode = '',
-        UserType = '',
-        SessionID = ''
-    if (userInfor) {
-        let user = JSON.parse(getToken());
-        UserCode = user.user_code;
-        UserType = user.user_type;
-        SessionID = user.session_id;
-    }
-    return request({
-        // /GCLSHMToolsServer/api/dict/basic
-        url: `/GCLSHMToolsServer/api/dict/basic?UserCode=${UserCode}&UserType=${UserType}&SessionID=${SessionID}`,
-        method: 'post',
-        data
-    })
+  let userInfor = getToken();
+  let UserCode = '',
+    UserType = '',
+    SessionID = ''
+  if (userInfor) {
+    let user = JSON.parse(getToken());
+    UserCode = user.user_code;
+    UserType = user.user_type;
+    SessionID = user.session_id;
+  }
+  return request({
+    // /GCLSHMToolsServer/api/dict/basic
+    url: `/GCLSHMToolsServer/api/dict/basic?UserCode=${UserCode}&UserType=${UserType}&SessionID=${SessionID}`,
+    method: 'post',
+    data
+  })
 }
 
 export function getLogin(MethodName, data) {
-    let userInfor = getToken();
-    let UserCode = '',
-        UserType = '',
-        SessionID = ''
-    if (userInfor) {
-        let user = JSON.parse(getToken());
-        UserCode = user.user_code;
-        UserType = user.user_type;
-        SessionID = user.session_id;
-    }
-    return request({
-        url: `/GCLSFileServer/ServiceInterface?MethodName=${MethodName}&UserCode=${UserCode}&UserType=${UserType}&SessionID=${SessionID}`,
-        method: 'post',
-        data
-    })
+  let userInfor = getToken();
+  let UserCode = '',
+    UserType = '',
+    SessionID = ''
+  if (userInfor) {
+    let user = JSON.parse(getToken());
+    UserCode = user.user_code;
+    UserType = user.user_type;
+    SessionID = user.session_id;
+  }
+  return request({
+    url: `/GCLSFileServer/ServiceInterface?MethodName=${MethodName}&UserCode=${UserCode}&UserType=${UserType}&SessionID=${SessionID}`,
+    method: 'post',
+    data
+  })
 }
 
 export function getContentFile(
-    MethodName,
-    data
+  MethodName,
+  data
 ) {
-    let userInfor = getToken();
-    let UserCode = '',
-        UserType = '',
-        SessionID = ''
-    if (userInfor) {
-        let user = JSON.parse(getToken());
-        UserCode = user.user_code;
-        UserType = user.user_type;
-        SessionID = user.session_id;
-    }
-    return request({
-        url: `/GCLSFileServer/ServiceInterface?MethodName=${MethodName}&UserCode=${UserCode}&UserType=${UserType}&SessionID=${SessionID}`,
-        method: 'post',
-        data
-    })
+  let userInfor = getToken();
+  let UserCode = '',
+    UserType = '',
+    SessionID = ''
+  if (userInfor) {
+    let user = JSON.parse(getToken());
+    UserCode = user.user_code;
+    UserType = user.user_type;
+    SessionID = user.session_id;
+  }
+  return request({
+    url: `/GCLSFileServer/ServiceInterface?MethodName=${MethodName}&UserCode=${UserCode}&UserType=${UserType}&SessionID=${SessionID}`,
+    method: 'post',
+    data
+  })
 }
 
 export function getStaticContent(MethodName, data) {
-    return request({
-        url: `/GCLSFileServer/ServiceInterface?MethodName=${MethodName}`,
-        method: 'post',
-        data
-    })
+  return request({
+    url: `/GCLSFileServer/ServiceInterface?MethodName=${MethodName}`,
+    method: 'post',
+    data
+  })
 }
 
 //获取分词结果 == gcls.helxsoft.cn/GCLSFCServer/ServiceInterface?userCode=2021052116-QA2HTCS5J6C6ZER&userType=STUDENT&sessionId=S-QPUKZAXLEFESNRBAZ0
 export function getSegContent(data) {
-    let userInfor = getToken();
-    let UserCode = '',
-        UserType = '',
-        SessionID = ''
-    if (userInfor) {
-        let user = JSON.parse(getToken());
-        UserCode = user.user_code;
-        UserType = user.user_type;
-        SessionID = user.session_id;
-    }
-    return request({
-        url: `/GCLSFCServer/ServiceInterface?UserCode=${UserCode}&UserType=${UserType}&SessionID=${SessionID}`,
-        method: 'post',
-        data
-    })
+  let userInfor = getToken();
+  let UserCode = '',
+    UserType = '',
+    SessionID = ''
+  if (userInfor) {
+    let user = JSON.parse(getToken());
+    UserCode = user.user_code;
+    UserType = user.user_type;
+    SessionID = user.session_id;
+  }
+  return request({
+    url: `/GCLSFCServer/ServiceInterface?UserCode=${UserCode}&UserType=${UserType}&SessionID=${SessionID}`,
+    method: 'post',
+    data
+  })
 }
 export function LearnWebSI(MethodName, data) {
-    let userInfor = getToken();
-    let UserCode = '',
-        UserType = '',
-        SessionID = ''
-    if (userInfor) {
-        let user = JSON.parse(getToken());
-        UserCode = user.user_code;
-        UserType = user.user_type;
-        SessionID = user.session_id;
-    }
-    return request({
-        url: `/GCLSLearnWebSI/ServiceInterface?MethodName=${MethodName}&UserCode=${UserCode}&UserType=${UserType}&SessionID=${SessionID}`,
-        method: 'post',
-        data,
-    })
+  let userInfor = getToken();
+  let UserCode = '',
+    UserType = '',
+    SessionID = ''
+  if (userInfor) {
+    let user = JSON.parse(getToken());
+    UserCode = user.user_code;
+    UserType = user.user_type;
+    SessionID = user.session_id;
+  }
+  return request({
+    url: `/GCLSLearnWebSI/ServiceInterface?MethodName=${MethodName}&UserCode=${UserCode}&UserType=${UserType}&SessionID=${SessionID}`,
+    method: 'post',
+    data,
+  })
 }
 //教材
 export function TextbookAPI(MethodName, data) {
-    let userInfor = getToken();
-    let UserCode = '',
-        UserType = '',
-        SessionID = ''
-    if (userInfor) {
-        let user = JSON.parse(getToken());
-        UserCode = user.user_code;
-        UserType = user.user_type;
-        SessionID = user.session_id;
-    }
-    return request({
-        url: `/GCLSBookWebSI/ServiceInterface?MethodName=${MethodName}&UserCode=${UserCode}&UserType=${UserType}&SessionID=${SessionID}`,
-        method: 'post',
-        data,
-    })
+  let userInfor = getToken();
+  let UserCode = '',
+    UserType = '',
+    SessionID = ''
+  if (userInfor) {
+    let user = JSON.parse(getToken());
+    UserCode = user.user_code;
+    UserType = user.user_type;
+    SessionID = user.session_id;
+  }
+  return request({
+    url: `/GCLSBookWebSI/ServiceInterface?MethodName=${MethodName}&UserCode=${UserCode}&UserType=${UserType}&SessionID=${SessionID}`,
+    method: 'post',
+    data,
+  })
 }
 export function getLearnWebContent(MethodName, data) {
-    let userInfor = getToken();
-    let UserCode = '',
-        UserType = '',
-        SessionID = ''
-    if (userInfor) {
-        let user = JSON.parse(getToken());
-        UserCode = user.user_code;
-        UserType = user.user_type;
-        SessionID = user.session_id;
-    }
-    return request({
-        url: `/GCLSLearnWebSI/ServiceInterface?MethodName=${MethodName}&UserCode=${UserCode}&UserType=${UserType}&SessionID=${SessionID}`,
-        method: 'post',
-        data
-    })
+  let userInfor = getToken();
+  let UserCode = '',
+    UserType = '',
+    SessionID = ''
+  if (userInfor) {
+    let user = JSON.parse(getToken());
+    UserCode = user.user_code;
+    UserType = user.user_type;
+    SessionID = user.session_id;
+  }
+  return request({
+    url: `/GCLSLearnWebSI/ServiceInterface?MethodName=${MethodName}&UserCode=${UserCode}&UserType=${UserType}&SessionID=${SessionID}`,
+    method: 'post',
+    data
+  })
 }
 // 发送聊天
 export function sendrobot(data) {
-    return request({
-        url: `/GCLSAIServer/unit/utterance`,
-        method: 'post',
-        data
-    })
+  return request({
+    url: `/GCLSAIServer/unit/utterance`,
+    method: 'post',
+    data
+  })
 }
 // 语音识别 GCLSAIServer/speech/recognize
 export function speechrecognize(data) {
-    return request({
-        url: `/GCLSAIServer/speech/recognize`,
-        method: 'post',
-        data
-    })
+  return request({
+    url: `/GCLSAIServer/speech/recognize`,
+    method: 'post',
+    data
+  })
 }
 
 //分句
 export function segSentences(data) {
-    let userInfor = getToken();
-    let UserCode = '',
-        UserType = '',
-        SessionID = ''
-    if (userInfor) {
-        let user = JSON.parse(getToken());
-        UserCode = user.user_code;
-        UserType = user.user_type;
-        SessionID = user.session_id;
-    }
-    return request({
-        url: `/GCLSHMToolsServer/api/nlp/chinese/text2Sentences?UserCode=${UserCode}&UserType=${UserType}&SessionID=${SessionID}`,
-        method: 'post',
-        data
-    })
+  let userInfor = getToken();
+  let UserCode = '',
+    UserType = '',
+    SessionID = ''
+  if (userInfor) {
+    let user = JSON.parse(getToken());
+    UserCode = user.user_code;
+    UserType = user.user_type;
+    SessionID = user.session_id;
+  }
+  return request({
+    url: `/GCLSHMToolsServer/api/nlp/chinese/text2Sentences?UserCode=${UserCode}&UserType=${UserType}&SessionID=${SessionID}`,
+    method: 'post',
+    data
+  })
 }
 //批量分词
 export function BatchSegContent(data) {
-    let userInfor = getToken();
-    let UserCode = '',
-        UserType = '',
-        SessionID = ''
-    if (userInfor) {
-        let user = JSON.parse(getToken());
-        UserCode = user.user_code;
-        UserType = user.user_type;
-        SessionID = user.session_id;
-    }
-    return request({
-        url: `/GCLSHMToolsServer/api/nlp/chinese/text2word?UserCode=${UserCode}&UserType=${UserType}&SessionID=${SessionID}`,
-        method: 'post',
-        data
-    })
+  let userInfor = getToken();
+  let UserCode = '',
+    UserType = '',
+    SessionID = ''
+  if (userInfor) {
+    let user = JSON.parse(getToken());
+    UserCode = user.user_code;
+    UserType = user.user_type;
+    SessionID = user.session_id;
+  }
+  return request({
+    url: `/GCLSHMToolsServer/api/nlp/chinese/text2word?UserCode=${UserCode}&UserType=${UserType}&SessionID=${SessionID}`,
+    method: 'post',
+    data
+  })
 }
 // 生成拼音
 export function createPinyin(data) {
-    let userInfor = getToken();
-    let UserCode = '',
-        UserType = '',
-        SessionID = ''
-    if (userInfor) {
-        let user = JSON.parse(getToken());
-        UserCode = user.user_code;
-        UserType = user.user_type;
-        SessionID = user.session_id;
-    }
-    return request({
-        url: `/GCLSHMToolsServer/api/nlp/chinese/text2pinyin?UserCode=${UserCode}&UserType=${UserType}&SessionID=${SessionID}`,
-        method: 'post',
-        data
-    })
+  let userInfor = getToken();
+  let UserCode = '',
+    UserType = '',
+    SessionID = ''
+  if (userInfor) {
+    let user = JSON.parse(getToken());
+    UserCode = user.user_code;
+    UserType = user.user_type;
+    SessionID = user.session_id;
+  }
+  return request({
+    url: `/GCLSHMToolsServer/api/nlp/chinese/text2pinyin?UserCode=${UserCode}&UserType=${UserType}&SessionID=${SessionID}`,
+    method: 'post',
+    data
+  })
 }
 
 // 
+///GCLSHMToolsServer/api/baidu/chineseInfo
 export function getHZChineseInfo(data) {
-    let userInfor = getToken();
-    let UserCode = '',
-        UserType = '',
-        SessionID = ''
-    if (userInfor) {
-        let user = JSON.parse(getToken());
-        UserCode = user.user_code;
-        UserType = user.user_type;
-        SessionID = user.session_id;
-    }
-    return request({
-        url: `/GCLSHMToolsServer/api/nlp/hskDict/query?UserCode=${UserCode}&UserType=${UserType}&SessionID=${SessionID}`,
-        method: 'post',
-        data
-    })
+  let userInfor = getToken();
+  let UserCode = '',
+    UserType = '',
+    SessionID = ''
+  if (userInfor) {
+    let user = JSON.parse(getToken());
+    UserCode = user.user_code;
+    UserType = user.user_type;
+    SessionID = user.session_id;
+  }
+  return request({
+    url: `/GCLSHMToolsServer/api/nlp/hskDict/query?UserCode=${UserCode}&UserType=${UserType}&SessionID=${SessionID}`,
+    method: 'post',
+    data
+  })
 }
 
 //音频预处理
 export function prepareTranscribe(data) {
-    let userInfor = getToken();
-    let UserCode = '',
-        UserType = '',
-        SessionID = ''
-    if (userInfor) {
-        let user = JSON.parse(getToken());
-        UserCode = user.user_code;
-        UserType = user.user_type;
-        SessionID = user.session_id;
-    }
-    return request({
-        url: `/GCLSHMToolsServer/api/xunfei/speech/prepareTranscribe?UserCode=${UserCode}&UserType=${UserType}&SessionID=${SessionID}`,
-        method: 'post',
-        data
-    })
+  let userInfor = getToken();
+  let UserCode = '',
+    UserType = '',
+    SessionID = ''
+  if (userInfor) {
+    let user = JSON.parse(getToken());
+    UserCode = user.user_code;
+    UserType = user.user_type;
+    SessionID = user.session_id;
+  }
+  return request({
+    url: `/GCLSHMToolsServer/api/xunfei/speech/prepareTranscribe?UserCode=${UserCode}&UserType=${UserType}&SessionID=${SessionID}`,
+    method: 'post',
+    data
+  })
 }
 //音频识别结果获取
 export function getWordTime(data) {
-    let userInfor = getToken();
-    let UserCode = '',
-        UserType = '',
-        SessionID = ''
-    if (userInfor) {
-        let user = JSON.parse(getToken());
-        UserCode = user.user_code;
-        UserType = user.user_type;
-        SessionID = user.session_id;
-    }
-    return request({
-        url: `/GCLSHMToolsServer/api/xunfei/speech/getResult?UserCode=${UserCode}&UserType=${UserType}&SessionID=${SessionID}`,
-        method: 'post',
-        data
-    })
+  let userInfor = getToken();
+  let UserCode = '',
+    UserType = '',
+    SessionID = ''
+  if (userInfor) {
+    let user = JSON.parse(getToken());
+    UserCode = user.user_code;
+    UserType = user.user_type;
+    SessionID = user.session_id;
+  }
+  return request({
+    url: `/GCLSHMToolsServer/api/xunfei/speech/getResult?UserCode=${UserCode}&UserType=${UserType}&SessionID=${SessionID}`,
+    method: 'post',
+    data
+  })
 }
 export function textCreadMp3(data) {
-    let userInfor = getToken();
-    let UserCode = '',
-        UserType = '',
-        SessionID = ''
-    if (userInfor) {
-        let user = JSON.parse(getToken());
-        UserCode = user.user_code;
-        UserType = user.user_type;
-        SessionID = user.session_id;
-    }
-    return request({
-        url: `/GCLSHMToolsServer/api/xunfei/speech/tts?UserCode=${UserCode}&UserType=${UserType}&SessionID=${SessionID}`,
-        method: 'post',
-        data
-    })
+  let userInfor = getToken();
+  let UserCode = '',
+    UserType = '',
+    SessionID = ''
+  if (userInfor) {
+    let user = JSON.parse(getToken());
+    UserCode = user.user_code;
+    UserType = user.user_type;
+    SessionID = user.session_id;
+  }
+  return request({
+    url: `/GCLSHMToolsServer/api/xunfei/speech/tts?UserCode=${UserCode}&UserType=${UserType}&SessionID=${SessionID}`,
+    method: 'post',
+    data
+  })
 }
 export function compareSenTenceTime(data) {
-    let userInfor = getToken();
-    let UserCode = '',
-        UserType = '',
-        SessionID = ''
-    if (userInfor) {
-        let user = JSON.parse(getToken());
-        UserCode = user.user_code;
-        UserType = user.user_type;
-        SessionID = user.session_id;
-    }
-    return request({
-        url: `/GCLSHMToolsServer/api/xunfei/speech/adjustResult?UserCode=${UserCode}&UserType=${UserType}&SessionID=${SessionID}`,
-        method: 'post',
-        data
-    })
+  let userInfor = getToken();
+  let UserCode = '',
+    UserType = '',
+    SessionID = ''
+  if (userInfor) {
+    let user = JSON.parse(getToken());
+    UserCode = user.user_code;
+    UserType = user.user_type;
+    SessionID = user.session_id;
+  }
+  return request({
+    url: `/GCLSHMToolsServer/api/xunfei/speech/adjustResult?UserCode=${UserCode}&UserType=${UserType}&SessionID=${SessionID}`,
+    method: 'post',
+    data
+  })
 }

+ 2 - 0
src/components/Adult/inputModules/DialogueArticleChs/index.vue

@@ -410,11 +410,13 @@ export default {
     // 保存校对
     saveCompare() {
       this.compareloading = true;
+      console.log(this.compareData);
       compareSenTenceTime({ matchList: JSON.stringify(this.compareData) }).then(
         (res) => {
           console.log(res);
           this.compareloading = false;
           this.curQue.wordTime = res.data.result;
+          console.log(this.curQue.wordTime);
         }
       );
     },

+ 36 - 18
src/components/Adult/preview/DialogueArticleViewChs/WordModelChs.vue

@@ -320,6 +320,7 @@ export default {
       noteNum: "",
       oldNoteNum: "",
       curNoteCon: null,
+      newWordList: [],
     };
   },
   computed: {},
@@ -543,26 +544,41 @@ export default {
     handleNewWords(val) {
       let _this = this;
       _this.isShow = true;
-
       _this.word = null;
-      let wordlist = val.split("");
-      let option = {
-        definition_list: [],
-        mp3_list: [],
-        new_word: val,
-        pinyin: _this.pinyin,
-      };
-      _this.word = { list: wordlist, detail: option };
-      //   for (let i = 0; i < this.NNPENewWordList.length; i++) {
-      //     let item = this.NNPENewWordList[i];
-      //     if (item.new_word.trim() == val.trim()) {
-      //       let wordlist = val.split("");
-      //       this.word = { list: wordlist, detail: item, top: top, left: left };
-      //       break;
-      //     }
-      //   }
+
+      if (_this.newWordList.indexOf(val) > -1) {
+        for (let i = 0; i < this.NNPENewWordList.length; i++) {
+          let pItem = this.NNPENewWordList[i];
+          for (let j = 0; j < pItem.length; j++) {
+            let item = pItem[j];
+            if (item.new_word.trim() == val.trim()) {
+              let wordlist = val.split("");
+              this.word = { list: wordlist, detail: item };
+              break;
+            }
+          }
+        }
+      } else {
+        let wordlist = val.split("");
+        let option = {
+          definition_list: [],
+          mp3_list: [],
+          new_word: val,
+          pinyin: _this.pinyin,
+        };
+        _this.word = { list: wordlist, detail: option };
+      }
       _this.oldHz = val;
     },
+    handleNewword() {
+      let NewWordList = [];
+      this.NNPENewWordList.forEach((item) => {
+        item.forEach((wItem) => {
+          NewWordList.push(wItem.new_word);
+        });
+      });
+      this.newWordList = JSON.parse(JSON.stringify(NewWordList));
+    },
     getScreenHeight() {
       this.screenHeight = window.innerHeight;
     },
@@ -624,7 +640,9 @@ export default {
     if (this.curQue) {
       this.handleData();
     }
-
+    if (this.NNPENewWordList && this.NNPENewWordList.length > 0) {
+      this.handleNewword();
+    }
     $(window).resize(() => {
       this.getScreenHeight();
     });

+ 90 - 19
src/components/Adult/preview/components/Wordcard.vue

@@ -12,7 +12,10 @@
     </div>
     <div class="bwc-top" v-if="word.detail">
       <span v-if="word.detail.pinyin">{{ word.detail.pinyin }}</span>
-      <Audio :mp3="mp3Url ? mp3Url : ''" :themeColor="themeColor" />
+      <div style="margin-left: 4px" v-if="mp3Url">
+        <Audio :mp3="mp3Url ? mp3Url : ''" :themeColor="themeColor" />
+      </div>
+
       <!-- <img
         :src="
           themeColor
@@ -69,13 +72,22 @@
         item
       }}</span>
     </p>
-    <div
-      class="bwc-word-en"
-      v-if="word.detail && word.detail.definition_list.length > 0"
-    >
-      <span v-html="defStr"> </span>
-    </div>
-    <div class="bwc-more-intp" @click="viewIntp">词典释义</div>
+    <template v-if="word.detail">
+      <span class="word-ben-def">{{
+        word.detail.definition_list && word.detail.definition_list.length > 0
+          ? "本课释义"
+          : "词典释义"
+      }}</span>
+      <div class="bwc-word-en">
+        <span class="word-chs" v-if="defChsArr.length > 0">{{
+          defChsArr[0]
+        }}</span>
+        <span class="word-en" v-if="defEnArr.length > 0">{{
+          defEnArr[0]
+        }}</span>
+      </div>
+    </template>
+    <div class="bwc-more-intp" @click="viewIntp">查看更多</div>
     <div class="bwc-footer">
       <button class="bwc-btn">
         <img
@@ -137,6 +149,7 @@ import Strockplayredline from "./Strockplayredline.vue";
 import Practice from "./Practice.vue";
 import WordPhraseDetail from "./WordPhraseDetail.vue";
 import { getContentFile, getContent, getHZChineseInfo } from "@/api/ajax";
+import { isChn } from "@/utils/index";
 
 export default {
   name: "Wordcard",
@@ -155,6 +168,8 @@ export default {
       defStr: "",
       mp3Url: "", // 音频
       dataDetail: null,
+      defChsArr: [],
+      defEnArr: [],
     };
   },
   computed: {},
@@ -162,7 +177,7 @@ export default {
     word: {
       handler: function (val, oldVal) {
         if (val && val.detail) {
-          this.defStr = val.detail.definition_list.join(";");
+          this.handleData();
         }
       },
       // 深度观察监听
@@ -202,13 +217,15 @@ export default {
     },
     getChineseInfo() {
       let _this = this;
+      console.log(this.word.detail.new_word);
       let data = {
         query: this.word.detail.new_word,
-        //  query: "开心",
       };
       getHZChineseInfo(data).then((res) => {
         _this.dataDetail = res.data.result;
-        _this.handleChineseDetail();
+        if (_this.dataDetail && _this.dataDetail.length > 0) {
+          _this.handleChineseDetail();
+        }
       });
     },
     // 处理数据
@@ -230,6 +247,13 @@ export default {
               } else if (itemss.key == "definition") {
                 // 释义
                 _this.word.detail.paraphrase = itemss.objects;
+                _this.word.detail.paraphrase.forEach((item) => {
+                  if (isChn(item)) {
+                    this.defChsArr.push(item["@value"]);
+                  } else {
+                    this.defEnArr.push(item["@value"]);
+                  }
+                });
               } else if (itemss.key == "synonym") {
                 // 近义词
                 _this.word.detail.synonymList = itemss.objects;
@@ -237,7 +261,7 @@ export default {
                 // 反义词
                 _this.word.detail.antonymList = itemss.objects;
               } else if (itemss.key == "terms") {
-                // 反义
+                // 
                 _this.word.detail.termsList = itemss.objects;
               }
             });
@@ -245,6 +269,25 @@ export default {
         }
       });
     },
+
+    handleData() {
+      let _this = this;
+      if (_this.word.detail.mp3_list && _this.word.detail.mp3_list.length > 0) {
+        _this.mp3Url = _this.word.detail.mp3_list[0].id;
+      }
+      if (
+        _this.word.detail.definition_list &&
+        _this.word.detail.definition_list.length > 0
+      ) {
+        _this.word.detail.definition_list.forEach((item) => {
+          if (isChn(item)) {
+            this.defChsArr.push(item);
+          } else {
+            this.defEnArr.push(item);
+          }
+        });
+      }
+    },
   },
   //生命周期 - 创建完成(可以访问当前this实例)
   created() {
@@ -254,11 +297,7 @@ export default {
   mounted() {
     let _this = this;
     if (_this.word && _this.word.detail) {
-      _this.defStr =
-        _this.word.detail.definition_list &&
-        _this.word.detail.definition_list.length > 0
-          ? _this.word.detail.definition_list.join(";")
-          : "";
+      _this.handleData();
     }
     this.getChineseInfo();
   },
@@ -328,7 +367,6 @@ export default {
       color: #2c2c2c;
       font-size: 20px;
       line-height: 24px;
-      margin-right: 4px;
     }
   }
   .bwc-Strockplay {
@@ -373,13 +411,46 @@ export default {
     padding: 40px 0;
     margin: 0 0 16px 0;
   }
+  .word-ben-def {
+    height: 20px;
+    background: rgba(0, 0, 0, 0.06);
+    border-radius: 4px;
+    line-height: 20px;
+    text-align: center;
+    font-size: 10px;
+    color: #262626;
+    margin: 0 auto 8px;
+    display: block;
+    width: 48px;
+    -webkit-text-size-adjust: none;
+  }
   .bwc-word-en {
+    display: flex;
+    flex-direction: column;
+    justify-content: center;
+    align-items: center;
+    width: 100%;
     font-style: normal;
     font-size: 16px;
     line-height: 150%;
     text-align: center;
     color: #2c2c2c;
-    margin-bottom: 14px;
+    margin-bottom: 16px;
+    > span {
+      width: 100%;
+      overflow: hidden;
+      text-overflow: ellipsis;
+      white-space: nowrap;
+      font-size: 14px;
+      line-height: 22px;
+      color: rgba(0, 0, 0, 0.85);
+    }
+    .word-chs {
+      margin-bottom: 8px;
+    }
+    .word-en {
+      font-family: "robot";
+    }
   }
   .bwc-more-intp {
     font-weight: normal;

+ 13 - 1
src/utils/index.js

@@ -195,4 +195,16 @@ export function getRandomArrayElements(arr, count) {
     shuffled[i] = temp;
   }
   return shuffled.slice(min);
-}
+}
+
+//判断是不是中文
+export function isChn(str) {
+  var reg = /^[\u4E00-\u9FA5]+$/;
+  if (!reg.test(str)) {
+    //alert("不全是中文");
+    return false;
+  } else {
+    //alert("全是中文");
+    return true;
+  }
+}

+ 30 - 19
src/views/adultInput.vue

@@ -957,9 +957,7 @@ export default {
   // 方法集合
   methods: {
     // 增加列
-    addCol(tyoe,rowindex,colindex,toindex){
-    
-    },
+    addCol(tyoe, rowindex, colindex, toindex) {},
     // 添加行
     addRow(type, rowindex, toindex) {
       let arr = [
@@ -1123,16 +1121,6 @@ export default {
     },
     // 删除模板
     remoeModule(topicIndex, rowindex, lineIndex, item) {
-      // this.question_list[this.tabIndex].cur_fn_data[topicIndex].tableList[
-      //   rowindex
-      // ][lineIndex].que = null;
-      // this.$set(
-      //   this.question_list[this.tabIndex].cur_fn_data[topicIndex].tableList[
-      //     rowindex
-      //   ][lineIndex],
-      //   "que",
-      //   null
-      // );
       item.type = "";
       item.data = null;
       this.TopicIndex = null;
@@ -1312,6 +1300,7 @@ export default {
     saveNewwordAndSentences() {
       let question_list = JSON.parse(JSON.stringify(this.question_list));
       let sentence_list = [];
+      let sentence_list_mp = [];
       let new_word_list = [];
       question_list.cur_fn_data.forEach((curItem) => {
         curItem.table_list.forEach((tabItem) => {
@@ -1321,8 +1310,9 @@ export default {
               topicIitem.type == "dialogue_article_chs"
             ) {
               topicIitem.data.detail.forEach((item) => {
-                let list = this.handleSentences(item.sentences);
-                sentence_list = sentence_list.concat(list);
+                let obj = this.handleSentences(item.sentences, item.segList);
+                sentence_list = sentence_list.concat(obj.sentenceArr); //句子数组
+                sentence_list_mp = sentence_list_mp.concat(obj.res); //句子+分词数组
               });
             } else if (topicIitem.type == "NewWord_chs") {
               topicIitem.data.option.forEach((item) => {
@@ -1335,10 +1325,13 @@ export default {
       return {
         new_word_list,
         sentence_list,
+        sentence_list_mp,
       };
     },
-    handleSentences(list) {
-      let res = list.map((Litem) => {
+    handleSentences(list, segList) {
+      let res = [],
+        sentenceArr = [];
+      list.forEach((Litem, index) => {
         Litem = Litem.replace(/#/g, "");
         this.NumberList.forEach((nitem) => {
           if (Litem.indexOf(nitem) > -1) {
@@ -1346,11 +1339,27 @@ export default {
             Litem = Litem.replace(reg, "");
           }
         });
-        return Litem;
+        let segItem = this.handleSegItem(segList[index]);
+        let obj = {
+          sentence: Litem,
+          word: segItem,
+        };
+        res.push(obj);
+        sentenceArr.push(Litem);
+      });
+      return { res: res, sentenceArr: sentenceArr };
+    },
+    handleSegItem(list) {
+      let resArr = [];
+      list.forEach((item) => {
+        if (item != "#" && this.NumberList.indexOf(item) < 0) {
+          resArr.push(item);
+        }
       });
-      return res;
+      return resArr;
     },
     onSave() {
+      let isProof = false;
       let question_list_str = JSON.stringify(this.question_list);
       console.log(this.question_list);
       localStorage.setItem("question_list", question_list_str);
@@ -1359,8 +1368,10 @@ export default {
       let data = {
         id: this.currentTreeID,
         content: JSON.stringify(this.question_list),
+        is_use_manual_proofreading_word_sentence: isProof,
         new_word_list: result.new_word_list,
         sentence_list: result.sentence_list,
+        sentence_list_mp: result.sentence_list_mp,
         ui_type: "NPC",
         category: "NPC",
       };