Browse Source

语料库词典 搜索教材列表

natasha 1 year ago
parent
commit
6eff6a050e
1 changed files with 96 additions and 7 deletions
  1. 96 7
      src/views/corpus/Result.vue

+ 96 - 7
src/views/corpus/Result.vue

@@ -9,6 +9,21 @@
     />
     <div class="main">
       <div class="hanzi_list">
+        <el-select
+            class="selectBook"
+            v-model="level"
+            multiple
+            collapse-tags
+            placeholder="请选择"
+            @change="page1getdata">
+            <el-checkbox class="checkAllCheckbox" :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全部</el-checkbox>
+            <el-option
+                v-for="item in levelList"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value">
+            </el-option>
+          </el-select>
         <div class="top_jf">
           <div class="j_f">
             <div :class="[JFIndex == 0 ? 'sele' : '']" @click="jfEvent(0)">简</div>
@@ -370,7 +385,12 @@ export default {
       CurrentList: [],
       ShowList: [],
       chsFhList: [',', '。', '”', ':', '》', '《', '?', '!', ';'],
-      scoreAHitNumber: 0
+      scoreAHitNumber: 0,
+      level: [],
+      checkAll: false,
+      isIndeterminate: true,
+      allLevels: [],
+      levelList: []
     };
   },
   //计算属性 类似于data概念
@@ -640,10 +660,10 @@ export default {
         compare_mode: this.patternIndex === 0 ? 'LENGTH' : 'KWIC',// 排序比较模式,LENGTH【例句长度】,KWIC【KWIC 模式】
         kwic_arrange_type: this.KWIC_sortIndex === 0 ? 'LEFT' : this.KWIC_sortIndex === 1 ? 'MID' : 'RIGHT',// KWIC 排列类型, LEFT【左】,MID【中】,RIGHT【右】
         kwic_compare_by: this.sortType==='pclength'?1:0,// KWIC 排序比较依据,0【字符】,1【相邻的搭配词出现的次数】
-        book_publish_status: -1, // 教材发布状态 -1【全部】, 0【下架】1【上架】
-        book_id_list: [],  // 指定教材查询,空表示在检索范围内检索所有教材。
-        sentence_fc_length_min: localStorage.getItem('seekPageData')?Number(JSON.parse(localStorage.getItem('seekPageData')).sentenceStart):-1, // 例句分词长度范围(最小值),-1 表示不检测最小值
-        sentence_fc_length_max: localStorage.getItem('seekPageData')?Number(JSON.parse(localStorage.getItem('seekPageData')).sentenceEnd):-1, // 例句分词长度范围(最大值),-1 表示不检测最大值
+        book_publish_status: 1, // 教材发布状态 -1【全部】, 0【下架】1【上架】
+        book_id_list: this.level,  // 指定教材查询,空表示在检索范围内检索所有教材。
+        sentence_fc_length_min: localStorage.getItem('seekPageData')&&JSON.parse(localStorage.getItem('seekPageData')).sentenceStart?Number(JSON.parse(localStorage.getItem('seekPageData')).sentenceStart):-1, // 例句分词长度范围(最小值),-1 表示不检测最小值
+        sentence_fc_length_max: localStorage.getItem('seekPageData')&&JSON.parse(localStorage.getItem('seekPageData')).sentenceEnd?Number(JSON.parse(localStorage.getItem('seekPageData')).sentenceEnd):-1, // 例句分词长度范围(最大值),-1 表示不检测最大值
       };
       BookgetContent(Mname, data)
         .then(res => {
@@ -699,6 +719,13 @@ export default {
           } else {
             this.loading = false;
           }
+          if(res.word_pinyin_list){
+            res.word_pinyin_list.forEach((itemP,indexP)=>{
+              if(this.hzData[indexP]){
+                this.hzData[indexP].pinyin = itemP
+              }
+            })
+          }
         })
         .catch(err => {
           this.loading = false;
@@ -844,10 +871,42 @@ export default {
             }
         }
       }
-    }
+    },
+    page1getdata(value) {
+      if(value){
+        let checkedCount = value.length;
+        this.checkAll = checkedCount === this.levelList.length;
+        this.isIndeterminate = checkedCount > 0 && checkedCount < this.levelList.length;
+      }
+    },
+    handleCheckAllChange(val) {
+        this.level = val ? this.allLevels : [];
+        this.isIndeterminate = false;
+    },
+    // 获取上架教材列表
+    getLevelList(){
+        this.allLevels = []
+        this.levelList = []
+        BookgetContent('book-book_manager-GetBookList',{
+          publish_status: 1
+        })
+        .then((res) => {
+          this.loading = false
+          if(res.status===1){
+            res.book_list.forEach(item=>{
+                item.value = item.id
+                item.label = item.name
+                this.allLevels.push(item.id)
+            })
+            this.levelList = this.levelList.concat(res.book_list)
+          }
+        })
+    },
   },
   //生命周期 - 创建完成(可以访问当前this实例)
-  created() {},
+  created() {
+    this.getLevelList()
+  },
   //生命周期 - 挂载完成(可以访问DOM元素)
   mounted() {
     this.getdata(true);
@@ -889,6 +948,16 @@ export default {
     background: #fff;
     border-radius: 8px;
 
+    .selectBook{
+      position: absolute;
+      right: 13px;
+      top: 40px;
+      width: 180px; 
+      .el-select__tags{
+        max-width: 135px;
+      }
+    }
+
     .top_jf {
       width: 128px;
     }
@@ -1502,4 +1571,24 @@ export default {
 .el-loading-mask {
   z-index: 200000 !important;
 }
+.checkAllCheckbox{
+  width: 100%;
+  padding: 0 20px;  
+  height: 34px;
+  line-height: 34px;
+  &:hover{
+      background-color: #F5F7FA;
+  }
+  .el-checkbox__input{
+      display: none;
+  }
+  .el-checkbox__label{
+      padding: 0;
+  }
+}
+.selectBook{ 
+  .el-tag{
+    max-width: 90px;
+  }
+}
 </style>