natasha пре 1 недеља
родитељ
комит
ae3fa47cd6

+ 5 - 0
src/api/article.js

@@ -29,3 +29,8 @@ export function analysSubmit(data) {
 export function fileToBase64Text(data) {
   return http.post(`/FileServer/SI?MethodName=file_store_manager-GetFileByteBase64Text`, data, {}, true);
 }
+
+// 检索课件单词的例句列表
+export function getCoursewareWordExampleSentenceList(data) {
+  return http.post(`${process.env.VUE_APP_EepServer}?MethodName=book_content_manager-GetCoursewareWordExampleSentenceList_Sort`, data);
+}

+ 91 - 30
src/views/book/courseware/preview/components/article/components/WordPhraseDetail.vue

@@ -145,11 +145,67 @@
                 </div>
               </div> -->
             </div>
+            <div :class="['liju', lijuPatternIndex == 1 ? 'KWIC_liju' : '']">
+              <div v-if="lijuPatternIndex == 1" class="sort_dv">
+                <!-- <span :class="['sort', sortIndex == 0 ? 'sele' : '']" @click="sortEvent(0, 'sentence_list_sort_left')">
+                  <img src="../../../../assets/NPC/analys-right.png" alt="" />
+                </span>
+                <span :class="['sort', sortIndex == 1 ? 'sele' : '']" @click="sortEvent(1, 'sentence_list_sort_mid')">
+                  <img src="../../../../assets/NPC/analys-center.png" alt="" />
+                </span>
+                <span :class="['sort', sortIndex == 2 ? 'sele' : '']" @click="sortEvent(2, 'sentence_list_sort_right')">
+                  <img src="../../../../assets/NPC/analys-left.png" alt="" />
+                </span>
+                <span class="down" @click="downloadImage">
+                  <img src="../../../../assets/NPC/download.png" alt="" />
+                </span> -->
+              </div>
+              <div class="liju_main">
+                <div v-for="(item, i) in CurrentList" :key="i">
+                  <div class="number">{{ i + 1 }}.</div>
+                  <div>
+                    <template v-if="lijuPatternIndex == 1">
+                      <el-tooltip effect="dark" placement="bottom">
+                        <div slot="content">
+                          {{ item.source_courseware_name_path }}
+                        </div>
+                        <p class="p1">
+                          {{ item.show_source_courseware_name_path }}
+                        </p>
+                      </el-tooltip>
+                      <div class="p2">
+                        <div v-for="(txt, indexs) in item.resArr" :key="indexs">
+                          <span v-for="(txts, indexs) in txt" :key="indexs" v-html="txts"></span>
+                        </div>
+                      </div>
+                      <!-- <p class="p2" v-html="item.resArr"></p> -->
+                    </template>
+                    <template v-else>
+                      <p v-html="item.res"></p>
+                      <p class="p2">
+                        {{ item.source_courseware_name_path }}
+                      </p>
+                    </template>
+                  </div>
+                </div>
+                <p
+                  v-if="CurrentList.length === 0"
+                  :style="{
+                    textAlign: 'center',
+                    fontSize: baseSizePhone - 2 + 'px',
+                    margin: '0',
+                    padding: ' 16px 0 0 24px',
+                  }"
+                >
+                  暂无例句
+                </p>
+              </div>
+            </div>
           </div>
-          <!-- <div v-if="list1 && list1.length > 0" v-loading="loading1">
+          <div v-if="list1 && list1.length > 0" v-loading="loading1">
             <div class="topTitle">
               <span>本课例句({{ list1.length }})</span>
-              <span @click="handleChangeTab('wordShow')"
+              <!-- <span @click="handleChangeTab('wordShow')"
                 >{{ wordShow ? "收起" : "展开" }}
                 <img
                   v-if="wordShow"
@@ -157,7 +213,7 @@
                   alt=""
                 />
                 <img v-else src="../../../../assets/NPC/up-black.png" alt="" />
-              </span>
+              </span> -->
             </div>
             <el-collapse-transition>
               <div class="liju" v-show="wordShow">
@@ -176,7 +232,7 @@
           <div v-if="list2 && list2.length > 0" v-loading="loading2">
             <div class="topTitle">
               <span>本书例句({{ list2.length }})</span>
-              <span @click="handleChangeTab('wordShow2')"
+              <!-- <span @click="handleChangeTab('wordShow2')"
                 >{{ wordShow2 ? "收起" : "展开" }}
                 <img
                   v-if="wordShow2"
@@ -184,7 +240,7 @@
                   alt=""
                 />
                 <img v-else src="../../../../assets/NPC/up-black.png" alt="" />
-              </span>
+              </span> -->
             </div>
             <el-collapse-transition>
               <div class="liju" v-show="wordShow2">
@@ -203,14 +259,14 @@
           <div v-if="list3 && list3.length > 0" v-loading="loading3">
             <div class="topTitle">
               <span>本套教材例句({{ list3.length }})</span>
-              <span @click="handleChangeTab('wordShow3')"
+              <!-- <span @click="handleChangeTab('wordShow3')"
                 >{{ wordShow3 ? "收起" : "展开" }}
                 <img
                   v-if="wordShow3"
                   src="../../../../assets/NPC/down-black.png"
                 />
                 <img v-else src="../../../../assets/NPC/up-black.png" alt="" />
-              </span>
+              </span> -->
             </div>
             <el-collapse-transition>
               <div class="liju" v-if="wordShow3">
@@ -225,7 +281,7 @@
                 </div>
               </div>
             </el-collapse-transition>
-          </div> -->
+          </div>
         </div>
       </div>
     </div>
@@ -236,7 +292,8 @@
 <script>
 import Strockplayredline from './Strockplayredline.vue';
 import Audio from './AudioRed.vue';
-import { GetBookWebSIContent, GetStaticResources } from '@/api/app';
+import { GetStaticResources } from '@/api/app';
+import { getCoursewareWordExampleSentenceList } from '@/api/article';
 
 export default {
   // import引入的组件需要注入到对象中才能使用
@@ -419,20 +476,19 @@ export default {
       this.loading1 = true;
       this.loading2 = true;
       this.loading3 = true;
-      let Mname = 'book-courseware_manager-GetCoursewareWordExampleSentenceList_Sort';
+      let currentTreeID = this.$route.params.id;
       // 获取本课的 本教材的 本套的 的例句
-      GetBookWebSIContent(Mname, {
-        courseware_id: this.currentTreeID, // 课件id
+      getCoursewareWordExampleSentenceList({
+        courseware_id: currentTreeID, // 课件id
         word: this.data.new_word, // 生词
         search_scope: 0, // 检索范围0 本课件  1本教材 2本套
-        is_contain_word_variants: false,
+        is_contain_word_variants: 'false',
         is_filter_repetitive_sentence: 'true',
-        book_publish_status: 1,
+        book_publish_status: -1,
         sort_mode: 'ASCENT',
         compare_mode: 'SOURCE',
         book_id_list: [],
-        is_contain_word_variants: false,
-        is_contain_stat_data: false,
+        is_contain_stat_data: 'false',
         sentence_fc_length_min: -1,
         sentence_fc_length_max: -1,
       })
@@ -472,18 +528,17 @@ export default {
             //   this.list1.sentence_list_sort_right
             // );
           }
-          GetBookWebSIContent(Mname, {
-            courseware_id: this.currentTreeID, // 课件id
+          getCoursewareWordExampleSentenceList({
+            courseware_id: currentTreeID, // 课件id
             word: this.data.new_word, // 生词
             search_scope: 1, // 检索范围0 本课件  1本教材 2本套
-            is_contain_word_variants: false,
+            is_contain_word_variants: 'false',
             is_filter_repetitive_sentence: 'true',
-            book_publish_status: 1,
+            book_publish_status: -1,
             sort_mode: 'ASCENT',
             compare_mode: 'SOURCE',
             book_id_list: [],
-            is_contain_word_variants: false,
-            is_contain_stat_data: false,
+            is_contain_stat_data: 'false',
             sentence_fc_length_min: -1,
             sentence_fc_length_max: -1,
           })
@@ -515,19 +570,17 @@ export default {
                 //   this.list2.sentence_list_sort_right
                 // );
               }
-
-              GetBookWebSIContent(Mname, {
-                courseware_id: this.currentTreeID, // 课件id
+              getCoursewareWordExampleSentenceList({
+                courseware_id: currentTreeID, // 课件id
                 word: this.data.new_word, // 生词
                 search_scope: 2, // 检索范围0 本课件  1本教材 2本套
-                is_contain_word_variants: false,
+                is_contain_word_variants: 'false',
                 is_filter_repetitive_sentence: 'true',
-                book_publish_status: 1,
+                book_publish_status: -1,
                 sort_mode: 'ASCENT',
                 compare_mode: 'SOURCE',
                 book_id_list: [],
-                is_contain_word_variants: false,
-                is_contain_stat_data: false,
+                is_contain_stat_data: 'false',
                 sentence_fc_length_min: -1,
                 sentence_fc_length_max: -1,
               })
@@ -559,7 +612,15 @@ export default {
                     //   this.list3.sentence_list_sort_right
                     // );
                   }
-                  this.CurrentList = JSON.parse(JSON.stringify(this.allList.sentence_list));
+                  this.CurrentList = JSON.parse(
+                    JSON.stringify(
+                      this.list1.sentence_list.length !== 0
+                        ? this.list1.sentence_list
+                        : this.list2.sentence_list.length !== 0
+                          ? this.list2.sentence_list
+                          : this.list3.sentence_list,
+                    ),
+                  );
                   this.loading3 = false;
                 })
                 .catch((err) => {

+ 0 - 1
src/views/book/courseware/preview/components/article/components/Wordcard.vue

@@ -463,7 +463,6 @@ export default {
         // _this.mp3Url = _this.word.detail.mp3_list[0].id;
       }
       this.word.detail.mp3Url = this.mp3Url;
-      console.log(this.word.detail);
       if (_this.word.detail.definition_list && _this.word.detail.definition_list.length > 0) {
         // _this.word.detail.definition_list.forEach((item) => {
         if (/^[\u4E00-\u9FA5]+$/.test(_this.word.detail.definition_list)) {

+ 82 - 22
src/views/book/courseware/preview/components/new_word/components/WordPhraseDetail.vue

@@ -154,6 +154,62 @@
                 </div>
               </div> -->
             </div>
+            <div :class="['liju', lijuPatternIndex == 1 ? 'KWIC_liju' : '']">
+              <div v-if="lijuPatternIndex == 1" class="sort_dv">
+                <!-- <span :class="['sort', sortIndex == 0 ? 'sele' : '']" @click="sortEvent(0, 'sentence_list_sort_left')">
+                  <img src="../../../../assets/NPC/analys-right.png" alt="" />
+                </span>
+                <span :class="['sort', sortIndex == 1 ? 'sele' : '']" @click="sortEvent(1, 'sentence_list_sort_mid')">
+                  <img src="../../../../assets/NPC/analys-center.png" alt="" />
+                </span>
+                <span :class="['sort', sortIndex == 2 ? 'sele' : '']" @click="sortEvent(2, 'sentence_list_sort_right')">
+                  <img src="../../../../assets/NPC/analys-left.png" alt="" />
+                </span>
+                <span class="down" @click="downloadImage">
+                  <img src="../../../../assets/NPC/download.png" alt="" />
+                </span> -->
+              </div>
+              <div class="liju_main">
+                <div v-for="(item, i) in CurrentList" :key="i">
+                  <div class="number">{{ i + 1 }}.</div>
+                  <div>
+                    <template v-if="lijuPatternIndex == 1">
+                      <el-tooltip effect="dark" placement="bottom">
+                        <div slot="content">
+                          {{ item.source_courseware_name_path }}
+                        </div>
+                        <p class="p1">
+                          {{ item.show_source_courseware_name_path }}
+                        </p>
+                      </el-tooltip>
+                      <div class="p2">
+                        <div v-for="(txt, indexs) in item.resArr" :key="indexs">
+                          <span v-for="(txts, indexs) in txt" :key="indexs" v-html="txts"></span>
+                        </div>
+                      </div>
+                      <!-- <p class="p2" v-html="item.resArr"></p> -->
+                    </template>
+                    <template v-else>
+                      <p v-html="item.res"></p>
+                      <p class="p2">
+                        {{ item.source_courseware_name_path }}
+                      </p>
+                    </template>
+                  </div>
+                </div>
+                <p
+                  v-if="CurrentList.length === 0"
+                  :style="{
+                    textAlign: 'center',
+                    fontSize: baseSizePhone - 2 + 'px',
+                    margin: '0',
+                    padding: ' 16px 0 0 24px',
+                  }"
+                >
+                  暂无例句
+                </p>
+              </div>
+            </div>
           </div>
         </div>
       </div>
@@ -165,7 +221,7 @@
 <script>
 import Strockplayredline from './Strockplayredline.vue';
 import Audio from '../../voice_matrix/components/AudioRed.vue';
-import { GetBookWebSIContent } from '@/api/app';
+import { getCoursewareWordExampleSentenceList } from '@/api/article';
 
 export default {
   // import引入的组件需要注入到对象中才能使用
@@ -316,20 +372,19 @@ export default {
       this.loading1 = true;
       this.loading2 = true;
       this.loading3 = true;
-      let Mname = 'book-courseware_manager-GetCoursewareWordExampleSentenceList_Sort';
+      let currentTreeID = this.$route.params.id;
       // 获取本课的 本教材的 本套的 的例句
-      GetBookWebSIContent(Mname, {
-        courseware_id: this.currentTreeID, // 课件id
+      getCoursewareWordExampleSentenceList({
+        courseware_id: currentTreeID, // 课件id
         word: this.data.new_word, // 生词
         search_scope: 0, // 检索范围0 本课件  1本教材 2本套
-        is_contain_word_variants: false,
+        is_contain_word_variants: 'false',
         is_filter_repetitive_sentence: 'true',
-        book_publish_status: 1,
+        book_publish_status: -1,
         sort_mode: 'ASCENT',
         compare_mode: 'SOURCE',
         book_id_list: [],
-        is_contain_word_variants: false,
-        is_contain_stat_data: false,
+        is_contain_stat_data: 'false',
         sentence_fc_length_min: -1,
         sentence_fc_length_max: -1,
       })
@@ -369,18 +424,17 @@ export default {
             //   this.list1.sentence_list_sort_right
             // );
           }
-          GetBookWebSIContent(Mname, {
-            courseware_id: this.currentTreeID, // 课件id
+          getCoursewareWordExampleSentenceList({
+            courseware_id: currentTreeID, // 课件id
             word: this.data.new_word, // 生词
             search_scope: 1, // 检索范围0 本课件  1本教材 2本套
-            is_contain_word_variants: false,
+            is_contain_word_variants: 'false',
             is_filter_repetitive_sentence: 'true',
-            book_publish_status: 1,
+            book_publish_status: -1,
             sort_mode: 'ASCENT',
             compare_mode: 'SOURCE',
             book_id_list: [],
-            is_contain_word_variants: false,
-            is_contain_stat_data: false,
+            is_contain_stat_data: 'false',
             sentence_fc_length_min: -1,
             sentence_fc_length_max: -1,
           })
@@ -412,19 +466,17 @@ export default {
                 //   this.list2.sentence_list_sort_right
                 // );
               }
-
-              GetBookWebSIContent(Mname, {
-                courseware_id: this.currentTreeID, // 课件id
+              getCoursewareWordExampleSentenceList({
+                courseware_id: currentTreeID, // 课件id
                 word: this.data.new_word, // 生词
                 search_scope: 2, // 检索范围0 本课件  1本教材 2本套
-                is_contain_word_variants: false,
+                is_contain_word_variants: 'false',
                 is_filter_repetitive_sentence: 'true',
-                book_publish_status: 1,
+                book_publish_status: -1,
                 sort_mode: 'ASCENT',
                 compare_mode: 'SOURCE',
                 book_id_list: [],
-                is_contain_word_variants: false,
-                is_contain_stat_data: false,
+                is_contain_stat_data: 'false',
                 sentence_fc_length_min: -1,
                 sentence_fc_length_max: -1,
               })
@@ -456,7 +508,15 @@ export default {
                     //   this.list3.sentence_list_sort_right
                     // );
                   }
-                  this.CurrentList = JSON.parse(JSON.stringify(this.allList.sentence_list));
+                  this.CurrentList = JSON.parse(
+                    JSON.stringify(
+                      this.list1.sentence_list.length !== 0
+                        ? this.list1.sentence_list
+                        : this.list2.sentence_list.length !== 0
+                          ? this.list2.sentence_list
+                          : this.list3.sentence_list,
+                    ),
+                  );
                   this.loading3 = false;
                 })
                 .catch((err) => {