|
|
@@ -10,20 +10,22 @@
|
|
|
<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>
|
|
|
+ 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>
|
|
|
@@ -33,7 +35,7 @@
|
|
|
<div
|
|
|
class="list_one_box"
|
|
|
:style="{
|
|
|
- overflowY: unfold ? 'scroll' : 'hidden'
|
|
|
+ overflowY: unfold ? 'scroll' : 'hidden',
|
|
|
}"
|
|
|
v-if="ShowHzData"
|
|
|
>
|
|
|
@@ -47,7 +49,7 @@
|
|
|
:isHighlight="false"
|
|
|
:judgeAnswer="2"
|
|
|
/>
|
|
|
- <div class="Highlight" v-if="item.hzDetail.hz_json&&item.hzDetail.hz_json.medians">
|
|
|
+ <div class="Highlight" v-if="item.hzDetail.hz_json && item.hzDetail.hz_json.medians">
|
|
|
<div class="play_audio">
|
|
|
<!-- <img src="../../assets/teacherdev/speaker-one.png" alt="" /> -->
|
|
|
<span>{{ item.pinyin }}</span>
|
|
|
@@ -70,7 +72,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="shouqi" v-if="hzData&&hzData.length > 2">
|
|
|
+ <div class="shouqi" v-if="hzData && hzData.length > 2">
|
|
|
<span @click="updownHz">
|
|
|
<template v-if="unfold">
|
|
|
<img src="../../assets/teacherdev/up.png" alt="" />
|
|
|
@@ -149,10 +151,18 @@
|
|
|
<div class="main">
|
|
|
<div class="list">
|
|
|
<template v-if="patternIndex == 0">
|
|
|
- <div class="lang_sort" :class="[sortType==='length'?'active':'']" @click="sortEvent('length')">
|
|
|
+ <div class="lang_sort" :class="[sortType === 'length' ? 'active' : '']" @click="sortEvent('length')">
|
|
|
按长度
|
|
|
- <img v-if="sort == 'down'&&sortType==='length'" src="../../assets/teacherdev/ylk-sort-up.png" alt="" />
|
|
|
- <img v-else-if="sort == 'up'&&sortType==='length'" src="../../assets/teacherdev/ylk-sort-down.png" alt="" />
|
|
|
+ <img
|
|
|
+ v-if="sort == 'down' && sortType === 'length'"
|
|
|
+ src="../../assets/teacherdev/ylk-sort-up.png"
|
|
|
+ alt=""
|
|
|
+ />
|
|
|
+ <img
|
|
|
+ v-else-if="sort == 'up' && sortType === 'length'"
|
|
|
+ src="../../assets/teacherdev/ylk-sort-down.png"
|
|
|
+ alt=""
|
|
|
+ />
|
|
|
<img v-else src="../../assets/teacherdev/ylk-sort-no.png" alt="" />
|
|
|
</div>
|
|
|
<div v-for="(item, i) in ShowList" :key="i + 'sentence'" class="one">
|
|
|
@@ -166,26 +176,26 @@
|
|
|
-->
|
|
|
<!-- <img src="../../assets/teacherdev/speaker-one.png" alt="" /> -->
|
|
|
<div class="words">
|
|
|
- <template v-if="item.sentence_fc_list_style&&item.sentence_fc_list_style.length>1">
|
|
|
- <span
|
|
|
- :style="{
|
|
|
- fontSize: conSize + 'px',
|
|
|
- padding: fenciShow?'0 2px':''
|
|
|
- }"
|
|
|
- v-for="(items,indexs) in item.sentence_fc_list_style"
|
|
|
- :key="indexs"
|
|
|
- v-html="items"
|
|
|
- ></span>
|
|
|
- </template>
|
|
|
- <template v-else>
|
|
|
- <span
|
|
|
- :style="{
|
|
|
- fontSize: conSize + 'px',
|
|
|
- padding: fenciShow?'0 2px':''
|
|
|
- }"
|
|
|
- v-html="item.res"
|
|
|
- ></span>
|
|
|
- </template>
|
|
|
+ <template v-if="item.sentence_fc_list_style && item.sentence_fc_list_style.length > 1">
|
|
|
+ <span
|
|
|
+ :style="{
|
|
|
+ fontSize: conSize + 'px',
|
|
|
+ padding: fenciShow ? '0 2px' : '',
|
|
|
+ }"
|
|
|
+ v-for="(items, indexs) in item.sentence_fc_list_style"
|
|
|
+ :key="indexs"
|
|
|
+ v-html="items"
|
|
|
+ ></span>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ <span
|
|
|
+ :style="{
|
|
|
+ fontSize: conSize + 'px',
|
|
|
+ padding: fenciShow ? '0 2px' : '',
|
|
|
+ }"
|
|
|
+ v-html="item.res"
|
|
|
+ ></span>
|
|
|
+ </template>
|
|
|
<template v-if="shiyiShow && item.word_definition_list.length > 0">
|
|
|
<span class="shiyi">
|
|
|
(
|
|
|
@@ -205,19 +215,43 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
<template v-else>
|
|
|
- <div style="display:flex">
|
|
|
- <div class="lang_sort" :class="[sortType==='zflength'?'active':'']" @click="sortEvent('zflength')">
|
|
|
+ <div style="display: flex">
|
|
|
+ <div
|
|
|
+ class="lang_sort"
|
|
|
+ :class="[sortType === 'zflength' ? 'active' : '']"
|
|
|
+ @click="sortEvent('zflength')"
|
|
|
+ >
|
|
|
按字符
|
|
|
- <img v-if="sort == 'down'&&sortType==='zflength'" src="../../assets/teacherdev/ylk-sort-up.png" alt="" />
|
|
|
- <img v-else-if="sort == 'up'&&sortType==='zflength'" src="../../assets/teacherdev/ylk-sort-down.png" alt="" />
|
|
|
+ <img
|
|
|
+ v-if="sort == 'down' && sortType === 'zflength'"
|
|
|
+ src="../../assets/teacherdev/ylk-sort-up.png"
|
|
|
+ alt=""
|
|
|
+ />
|
|
|
+ <img
|
|
|
+ v-else-if="sort == 'up' && sortType === 'zflength'"
|
|
|
+ src="../../assets/teacherdev/ylk-sort-down.png"
|
|
|
+ alt=""
|
|
|
+ />
|
|
|
<img v-else src="../../assets/teacherdev/ylk-sort-no.png" alt="" />
|
|
|
- </div>
|
|
|
- <div class="lang_sort" :class="[sortType==='pclength'?'active':'']" @click="sortEvent('pclength')">
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ class="lang_sort"
|
|
|
+ :class="[sortType === 'pclength' ? 'active' : '']"
|
|
|
+ @click="sortEvent('pclength')"
|
|
|
+ >
|
|
|
按频次
|
|
|
- <img v-if="sort == 'down'&&sortType==='pclength'" src="../../assets/teacherdev/ylk-sort-up.png" alt="" />
|
|
|
- <img v-else-if="sort == 'up'&&sortType==='pclength'" src="../../assets/teacherdev/ylk-sort-down.png" alt="" />
|
|
|
+ <img
|
|
|
+ v-if="sort == 'down' && sortType === 'pclength'"
|
|
|
+ src="../../assets/teacherdev/ylk-sort-up.png"
|
|
|
+ alt=""
|
|
|
+ />
|
|
|
+ <img
|
|
|
+ v-else-if="sort == 'up' && sortType === 'pclength'"
|
|
|
+ src="../../assets/teacherdev/ylk-sort-down.png"
|
|
|
+ alt=""
|
|
|
+ />
|
|
|
<img v-else src="../../assets/teacherdev/ylk-sort-no.png" alt="" />
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div v-for="(item, index) in ShowList" :key="'kwic' + index" class="kwic_one">
|
|
|
<div class="number">{{ item.number }}</div>
|
|
|
@@ -232,39 +266,51 @@
|
|
|
<div
|
|
|
class="word"
|
|
|
:style="{
|
|
|
- fontSize: conSize + 'px'
|
|
|
+ fontSize: conSize + 'px',
|
|
|
}"
|
|
|
>
|
|
|
<div v-for="(txt, indexs) in item.resArr" :key="indexs">
|
|
|
- <div :style="{'padding':fenciShow?'0 2px':'','display':'inline-block'}" v-for="(txts, indext) in txt" :key="indext">
|
|
|
+ <div
|
|
|
+ :style="{ padding: fenciShow ? '0 2px' : '', display: 'inline-block' }"
|
|
|
+ v-for="(txts, indext) in txt"
|
|
|
+ :key="indext"
|
|
|
+ >
|
|
|
<!-- <span v-html="txts"></span> -->
|
|
|
- <template v-if="sortType==='pclength'&&(KWIC_sortIndex === 0 || KWIC_sortIndex === 2)">
|
|
|
- <template v-if="indexs===0&&KWIC_sortIndex === 0">
|
|
|
- <el-tooltip effect="dark" placement="bottom" style="display:inline">
|
|
|
- <div slot="content">
|
|
|
- {{item.adjoin_fc_frequency_list_left&&item.adjoin_fc_frequency_list_left[indext]?item.adjoin_fc_frequency_list_left[indext]:1}}
|
|
|
- </div>
|
|
|
- <div class="">
|
|
|
- <span v-html="txts"></span>
|
|
|
- </div>
|
|
|
- </el-tooltip>
|
|
|
- </template>
|
|
|
- <template v-else-if="indexs===2&&KWIC_sortIndex === 2">
|
|
|
- <el-tooltip effect="dark" placement="bottom" style="display:inline">
|
|
|
- <div slot="content">
|
|
|
- {{item.adjoin_fc_frequency_list_right&&item.adjoin_fc_frequency_list_right[indext]?item.adjoin_fc_frequency_list_right[indext]:1}}
|
|
|
- </div>
|
|
|
- <div class="">
|
|
|
- <span v-html="txts"></span>
|
|
|
- </div>
|
|
|
- </el-tooltip>
|
|
|
- </template>
|
|
|
- <template v-else>
|
|
|
+ <template v-if="sortType === 'pclength' && (KWIC_sortIndex === 0 || KWIC_sortIndex === 2)">
|
|
|
+ <template v-if="indexs === 0 && KWIC_sortIndex === 0">
|
|
|
+ <el-tooltip effect="dark" placement="bottom" style="display: inline">
|
|
|
+ <div slot="content">
|
|
|
+ {{
|
|
|
+ item.adjoin_fc_frequency_list_left && item.adjoin_fc_frequency_list_left[indext]
|
|
|
+ ? item.adjoin_fc_frequency_list_left[indext]
|
|
|
+ : 1
|
|
|
+ }}
|
|
|
+ </div>
|
|
|
+ <div class="">
|
|
|
<span v-html="txts"></span>
|
|
|
- </template>
|
|
|
+ </div>
|
|
|
+ </el-tooltip>
|
|
|
+ </template>
|
|
|
+ <template v-else-if="indexs === 2 && KWIC_sortIndex === 2">
|
|
|
+ <el-tooltip effect="dark" placement="bottom" style="display: inline">
|
|
|
+ <div slot="content">
|
|
|
+ {{
|
|
|
+ item.adjoin_fc_frequency_list_right && item.adjoin_fc_frequency_list_right[indext]
|
|
|
+ ? item.adjoin_fc_frequency_list_right[indext]
|
|
|
+ : 1
|
|
|
+ }}
|
|
|
+ </div>
|
|
|
+ <div class="">
|
|
|
+ <span v-html="txts"></span>
|
|
|
+ </div>
|
|
|
+ </el-tooltip>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ <span v-html="txts"></span>
|
|
|
+ </template>
|
|
|
</template>
|
|
|
<template v-else>
|
|
|
- <span v-html="txts"></span>
|
|
|
+ <span v-html="txts"></span>
|
|
|
</template>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -273,14 +319,19 @@
|
|
|
</template>
|
|
|
</div>
|
|
|
<div class="page">
|
|
|
- <span class="text"> 共 {{ selectCurrent?selectCurrent:CurrentList.length }} 条 {{patternIndex === 0 && selectLaiyuanBookIdList.length===0?' 命中 '+scoreAHitNumber+' 次':''}} </span>
|
|
|
+ <span class="text">
|
|
|
+ 共 {{ selectCurrent ? selectCurrent : CurrentList.length }} 条
|
|
|
+ {{
|
|
|
+ patternIndex === 0 && selectLaiyuanBookIdList.length === 0 ? ' 命中 ' + scoreAHitNumber + ' 次' : ''
|
|
|
+ }}
|
|
|
+ </span>
|
|
|
<el-pagination
|
|
|
background
|
|
|
@current-change="handleCurrentChange"
|
|
|
:current-page.sync="page"
|
|
|
:page-size="pageSize"
|
|
|
layout="prev, pager, next"
|
|
|
- :total="selectCurrent?selectCurrent:CurrentList.length"
|
|
|
+ :total="selectCurrent ? selectCurrent : CurrentList.length"
|
|
|
:pager-count="5"
|
|
|
>
|
|
|
</el-pagination>
|
|
|
@@ -290,7 +341,13 @@
|
|
|
<div class="right">
|
|
|
<div class="top">
|
|
|
<div>
|
|
|
- <div v-if="allList.stat_list_word_definition&&allList.stat_list_word_definition.length>0" :class="[rightTopIndex == 0 ? 'sele' : '']" @click="cutsyly(0)">释义</div>
|
|
|
+ <div
|
|
|
+ v-if="allList.stat_list_word_definition && allList.stat_list_word_definition.length > 0"
|
|
|
+ :class="[rightTopIndex == 0 ? 'sele' : '']"
|
|
|
+ @click="cutsyly(0)"
|
|
|
+ >
|
|
|
+ 释义
|
|
|
+ </div>
|
|
|
<div :class="[rightTopIndex == 1 ? 'sele' : '']" @click="cutsyly(1)">来源</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -302,7 +359,7 @@
|
|
|
class="one"
|
|
|
:style="{
|
|
|
borderBottom: i == rightList.length - 1 ? 'none' : '1px solid #eeeeee',
|
|
|
- backgroundColor: selectLaiyuanBookIdList.indexOf(item.book_id)>-1?'#F2F3F5':''
|
|
|
+ backgroundColor: selectLaiyuanBookIdList.indexOf(item.book_id) > -1 ? '#F2F3F5' : '',
|
|
|
}"
|
|
|
@mouseover="gaolangbzt(i, 'shanxing_main')"
|
|
|
@mouseout="closegaolangbzt(i, 'shanxing_main')"
|
|
|
@@ -356,7 +413,7 @@ export default {
|
|
|
components: {
|
|
|
Header,
|
|
|
Strockplayredline,
|
|
|
- StrockplayredlineCorpus
|
|
|
+ StrockplayredlineCorpus,
|
|
|
},
|
|
|
props: {},
|
|
|
data() {
|
|
|
@@ -394,7 +451,7 @@ export default {
|
|
|
allLevels: [],
|
|
|
levelList: [],
|
|
|
selectLaiyuanBookIdList: [], // 选中右侧来源书籍列表id
|
|
|
- selectCurrent: 0
|
|
|
+ selectCurrent: 0,
|
|
|
};
|
|
|
},
|
|
|
//计算属性 类似于data概念
|
|
|
@@ -411,13 +468,13 @@ export default {
|
|
|
KWICsortEvent(index, type) {
|
|
|
if (this.KWIC_sortIndex == index) return;
|
|
|
this.KWIC_sortIndex = index;
|
|
|
- // this.CurrentList = this.allList[type];
|
|
|
- // this.padingEvetn();
|
|
|
+ // this.CurrentList = this.allList[type];
|
|
|
+ // this.padingEvetn();
|
|
|
this.getdata();
|
|
|
},
|
|
|
// 排序
|
|
|
sortEvent(type) {
|
|
|
- this.sortType = type
|
|
|
+ this.sortType = type;
|
|
|
if (this.sort == 'up' || !this.sort) {
|
|
|
this.sort = 'down';
|
|
|
} else {
|
|
|
@@ -461,13 +518,13 @@ export default {
|
|
|
return;
|
|
|
}
|
|
|
this.patternIndex = index;
|
|
|
- this.getdata()
|
|
|
- // if (this.patternIndex == 0) {
|
|
|
- // this.CurrentList = JSON.parse(JSON.stringify(this.allList.sentence_list));
|
|
|
- // } else {
|
|
|
- // this.CurrentList = JSON.parse(JSON.stringify(this.allList.sentence_list_sort_left));
|
|
|
- // }
|
|
|
- // this.padingEvetn();
|
|
|
+ this.getdata();
|
|
|
+ // if (this.patternIndex == 0) {
|
|
|
+ // this.CurrentList = JSON.parse(JSON.stringify(this.allList.sentence_list));
|
|
|
+ // } else {
|
|
|
+ // this.CurrentList = JSON.parse(JSON.stringify(this.allList.sentence_list_sort_left));
|
|
|
+ // }
|
|
|
+ // this.padingEvetn();
|
|
|
this.page = 1;
|
|
|
},
|
|
|
// 切换释义来源
|
|
|
@@ -481,15 +538,15 @@ export default {
|
|
|
} else {
|
|
|
this.rightList = this.allList.stat_list_sentence_source_book;
|
|
|
}
|
|
|
- // if (this.rightList.length > 0) {
|
|
|
- this.inityuan();
|
|
|
- // }
|
|
|
+ // if (this.rightList.length > 0) {
|
|
|
+ this.inityuan();
|
|
|
+ // }
|
|
|
},
|
|
|
updownHz(flag) {
|
|
|
- if(flag===true){
|
|
|
- this.unfold = false
|
|
|
+ if (flag === true) {
|
|
|
+ this.unfold = false;
|
|
|
this.ShowHzData.splice(2);
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
this.unfold = !this.unfold;
|
|
|
if (this.unfold) {
|
|
|
this.ShowHzData = JSON.parse(JSON.stringify(this.hzData));
|
|
|
@@ -505,7 +562,7 @@ export default {
|
|
|
this.gethzJSON();
|
|
|
} else {
|
|
|
//繁体
|
|
|
- this.hzData.forEach(item => {
|
|
|
+ this.hzData.forEach((item) => {
|
|
|
let a = converter(item.con);
|
|
|
item.fanti = a;
|
|
|
});
|
|
|
@@ -519,18 +576,18 @@ export default {
|
|
|
let MethodName = 'hz_resource_manager-GetHZStrokesContent';
|
|
|
this.hzData.forEach((item, i) => {
|
|
|
let data = {
|
|
|
- hz: this.JFIndex == 0 ? item.con : item.fanti
|
|
|
+ hz: this.JFIndex == 0 ? item.con : item.fanti,
|
|
|
};
|
|
|
item.hzDetail = {
|
|
|
- hz_json: null
|
|
|
+ hz_json: null,
|
|
|
};
|
|
|
this.$forceUpdate();
|
|
|
getLogin(MethodName, data)
|
|
|
- .then(res => {
|
|
|
+ .then((res) => {
|
|
|
this.$set(item.hzDetail, 'hz_json', res);
|
|
|
this.$forceUpdate();
|
|
|
this.ShowHzData = JSON.parse(JSON.stringify(this.hzData));
|
|
|
- this.updownHz(true)
|
|
|
+ this.updownHz(true);
|
|
|
if (i == this.hzData.length - 1) {
|
|
|
this.loading = false;
|
|
|
}
|
|
|
@@ -549,7 +606,7 @@ export default {
|
|
|
var option;
|
|
|
this.allNumber = 0;
|
|
|
let newdata = JSON.parse(JSON.stringify(this.rightList));
|
|
|
- newdata.forEach(item => {
|
|
|
+ newdata.forEach((item) => {
|
|
|
this.allNumber += item.count;
|
|
|
let percent = item.percent;
|
|
|
item.value = item.count;
|
|
|
@@ -565,7 +622,7 @@ export default {
|
|
|
name: 'Access From',
|
|
|
type: 'pie',
|
|
|
// radius: ["50%", "50%"],
|
|
|
- data: newdata.length>0?newdata:[],
|
|
|
+ data: newdata.length > 0 ? newdata : [],
|
|
|
itemStyle: {
|
|
|
// borderColor: "#fff",
|
|
|
// borderWidth: 2,
|
|
|
@@ -575,35 +632,37 @@ export default {
|
|
|
itemStyle: {
|
|
|
shadowBlur: 10,
|
|
|
shadowOffsetX: 0,
|
|
|
- shadowColor: 'rgba(0, 0, 0, 0.5)'
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ shadowColor: 'rgba(0, 0, 0, 0.5)',
|
|
|
+ },
|
|
|
+ },
|
|
|
+ },
|
|
|
],
|
|
|
xAxis: {
|
|
|
show: false, //不显示坐标轴线、坐标轴刻度线和坐标轴上的文字
|
|
|
axisTick: {
|
|
|
- show: false //不显示坐标轴刻度线
|
|
|
+ show: false, //不显示坐标轴刻度线
|
|
|
},
|
|
|
axisLine: {
|
|
|
- show: false //不显示坐标轴线
|
|
|
+ show: false, //不显示坐标轴线
|
|
|
},
|
|
|
axisLabel: {
|
|
|
- show: false //不显示坐标轴上的文字
|
|
|
- }
|
|
|
- }
|
|
|
+ show: false, //不显示坐标轴上的文字
|
|
|
+ },
|
|
|
+ },
|
|
|
};
|
|
|
option && myChart.setOption(option);
|
|
|
- if(this.rightTopIndex === 1){
|
|
|
- let number = 0
|
|
|
- let _this = this
|
|
|
- myChart.on('click', function(param) { //添加点击事件
|
|
|
+ if (this.rightTopIndex === 1) {
|
|
|
+ let number = 0;
|
|
|
+ let _this = this;
|
|
|
+ myChart.on('click', function (param) {
|
|
|
+ //添加点击事件
|
|
|
myChart.dispatchAction({ type: 'highlight', dataIndex: param.dataIndex }); //激活点击区域高亮
|
|
|
- if (param.dataIndex !== number) { // 当鼠标点击的时候 消除上一个扇区的高亮
|
|
|
- myChart.dispatchAction({ type: 'downplay', dataIndex: number });
|
|
|
+ if (param.dataIndex !== number) {
|
|
|
+ // 当鼠标点击的时候 消除上一个扇区的高亮
|
|
|
+ myChart.dispatchAction({ type: 'downplay', dataIndex: number });
|
|
|
}
|
|
|
- number = param.dataIndex //接住当前扇区的dataIndex
|
|
|
- _this.handleBookLiju(param.data.book_id)
|
|
|
+ number = param.dataIndex; //接住当前扇区的dataIndex
|
|
|
+ _this.handleBookLiju(param.data.book_id);
|
|
|
});
|
|
|
}
|
|
|
},
|
|
|
@@ -613,7 +672,7 @@ export default {
|
|
|
compareChart.dispatchAction({
|
|
|
type: 'highlight',
|
|
|
seriesIndex: 0,
|
|
|
- dataIndex: index
|
|
|
+ dataIndex: index,
|
|
|
});
|
|
|
},
|
|
|
// 鼠标移出
|
|
|
@@ -622,16 +681,16 @@ export default {
|
|
|
compareChart.dispatchAction({
|
|
|
type: 'downplay',
|
|
|
seriesIndex: 0,
|
|
|
- dataIndex: index
|
|
|
+ dataIndex: index,
|
|
|
});
|
|
|
},
|
|
|
// 计算选中教材例句
|
|
|
- handleBookLiju(id){
|
|
|
- if(!id) return false
|
|
|
- if(this.selectLaiyuanBookIdList.indexOf(id)>-1){
|
|
|
- this.selectLaiyuanBookIdList.splice(this.selectLaiyuanBookIdList.indexOf(id),1)
|
|
|
- }else{
|
|
|
- this.selectLaiyuanBookIdList.push(id)
|
|
|
+ handleBookLiju(id) {
|
|
|
+ if (!id) return false;
|
|
|
+ if (this.selectLaiyuanBookIdList.indexOf(id) > -1) {
|
|
|
+ this.selectLaiyuanBookIdList.splice(this.selectLaiyuanBookIdList.indexOf(id), 1);
|
|
|
+ } else {
|
|
|
+ this.selectLaiyuanBookIdList.push(id);
|
|
|
}
|
|
|
this.padingEvetn();
|
|
|
this.page = 1;
|
|
|
@@ -640,7 +699,7 @@ export default {
|
|
|
this.hzData = [];
|
|
|
this.jfEvent(0);
|
|
|
let arr = this.$route.query.keyword.trim().split('');
|
|
|
- arr.forEach(item => {
|
|
|
+ arr.forEach((item) => {
|
|
|
if (!/^[\u4e00-\u9fa5]/.test(item)) {
|
|
|
return;
|
|
|
}
|
|
|
@@ -649,8 +708,8 @@ export default {
|
|
|
con: item,
|
|
|
pinyin: result,
|
|
|
hzDetail: {
|
|
|
- hz_json: null
|
|
|
- }
|
|
|
+ hz_json: null,
|
|
|
+ },
|
|
|
};
|
|
|
this.hzData.push(obj);
|
|
|
this.ShowHzData = JSON.parse(JSON.stringify(this.hzData));
|
|
|
@@ -663,7 +722,7 @@ export default {
|
|
|
this.fenciShow = true;
|
|
|
this.sizeIndex = 1;
|
|
|
this.sort = '';
|
|
|
- this.sortType = ''
|
|
|
+ this.sortType = '';
|
|
|
this.KWIC_sortIndex = 0;
|
|
|
this.cutSize(1);
|
|
|
this.getdata();
|
|
|
@@ -671,7 +730,7 @@ export default {
|
|
|
},
|
|
|
getdata(flag) {
|
|
|
this.loading = true;
|
|
|
- this.scoreAHitNumber = 0
|
|
|
+ this.scoreAHitNumber = 0;
|
|
|
let Mname = 'book-courseware_manager-GetCoursewareWordExampleSentenceList_Sort';
|
|
|
let data = {
|
|
|
// courseware_id: "003-20211012-17-BDUZ1JVCAN",
|
|
|
@@ -683,55 +742,61 @@ export default {
|
|
|
is_contain_word_variants: false, // 是否包含单词变体例句
|
|
|
is_contain_stat_data: true, //是否包统计数据
|
|
|
is_filter_repetitive_sentence: 'true', // 过滤重复例句
|
|
|
- sort_mode: this.sort ? (this.sort == 'down' ? 'DESCENT' : 'ASCENT') : 'NO',// 排序模式 NO 【不排序】,ASCENT【顺序】,DESCENT【倒序】
|
|
|
- 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【相邻的搭配词出现的次数】
|
|
|
+ sort_mode: this.sort ? (this.sort == 'down' ? 'DESCENT' : 'ASCENT') : 'NO', // 排序模式 NO 【不排序】,ASCENT【顺序】,DESCENT【倒序】
|
|
|
+ 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: 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 表示不检测最大值
|
|
|
+ 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 => {
|
|
|
+ .then((res) => {
|
|
|
this.allList = {
|
|
|
sentence_list: [],
|
|
|
sentence_list_sort_left: [],
|
|
|
sentence_list_sort_mid: [],
|
|
|
sentence_list_sort_right: [],
|
|
|
stat_list_sentence_source_book: res.stat_list_sentence_source_book,
|
|
|
- stat_list_word_definition: res.stat_list_word_definition
|
|
|
+ stat_list_word_definition: res.stat_list_word_definition,
|
|
|
};
|
|
|
|
|
|
if (res.sentence_list.length > 0) {
|
|
|
- res.stat_list_word_definition.forEach(item => {
|
|
|
+ res.stat_list_word_definition.forEach((item) => {
|
|
|
item.book_name_s = item.definition;
|
|
|
- item.book_name = JSON.parse(JSON.stringify(item.definition)).replace(/<i>/g, "").replace(/<\/i>/g, "");
|
|
|
+ item.book_name = JSON.parse(JSON.stringify(item.definition)).replace(/<i>/g, '').replace(/<\/i>/g, '');
|
|
|
});
|
|
|
- res.stat_list_sentence_source_book.forEach(item => {
|
|
|
+ res.stat_list_sentence_source_book.forEach((item) => {
|
|
|
item.book_name_s = item.book_name;
|
|
|
});
|
|
|
// 清理脏数据
|
|
|
this.removeRubbishData(res);
|
|
|
- if(res.stat_list_word_definition.length===0){
|
|
|
- this.rightTopIndex = 1
|
|
|
+ if (res.stat_list_word_definition.length === 0) {
|
|
|
+ this.rightTopIndex = 1;
|
|
|
}
|
|
|
- if(this.rightTopIndex === 0){
|
|
|
- this.rightList = res.stat_list_word_definition;
|
|
|
- }else{
|
|
|
- this.rightList = res.stat_list_sentence_source_book;
|
|
|
+ if (this.rightTopIndex === 0) {
|
|
|
+ this.rightList = res.stat_list_word_definition;
|
|
|
+ } else {
|
|
|
+ this.rightList = res.stat_list_sentence_source_book;
|
|
|
}
|
|
|
this.getrightListdata();
|
|
|
- if(this.patternIndex === 0){
|
|
|
- this.allList.sentence_list = this.handleExample(res.sentence_list);
|
|
|
- }else{
|
|
|
- if(this.KWIC_sortIndex === 0){
|
|
|
- this.allList.sentence_list_sort_left = this.handleExample(res.sentence_list, 'left');
|
|
|
- }else if(this.KWIC_sortIndex === 1){
|
|
|
- this.allList.sentence_list_sort_mid = this.handleExample(res.sentence_list, 'mid');
|
|
|
- }else{
|
|
|
- this.allList.sentence_list_sort_right = this.handleExample(res.sentence_list, 'right');
|
|
|
- }
|
|
|
+ if (this.patternIndex === 0) {
|
|
|
+ this.allList.sentence_list = this.handleExample(res.sentence_list);
|
|
|
+ } else {
|
|
|
+ if (this.KWIC_sortIndex === 0) {
|
|
|
+ this.allList.sentence_list_sort_left = this.handleExample(res.sentence_list, 'left');
|
|
|
+ } else if (this.KWIC_sortIndex === 1) {
|
|
|
+ this.allList.sentence_list_sort_mid = this.handleExample(res.sentence_list, 'mid');
|
|
|
+ } else {
|
|
|
+ this.allList.sentence_list_sort_right = this.handleExample(res.sentence_list, 'right');
|
|
|
+ }
|
|
|
}
|
|
|
this.CurrentList = JSON.parse(JSON.stringify(res.sentence_list));
|
|
|
this.padingEvetn();
|
|
|
@@ -746,15 +811,15 @@ 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
|
|
|
+ if (res.word_pinyin_list) {
|
|
|
+ res.word_pinyin_list.forEach((itemP, indexP) => {
|
|
|
+ if (this.hzData[indexP]) {
|
|
|
+ this.hzData[indexP].pinyin = itemP;
|
|
|
}
|
|
|
- })
|
|
|
+ });
|
|
|
}
|
|
|
})
|
|
|
- .catch(err => {
|
|
|
+ .catch((err) => {
|
|
|
this.loading = false;
|
|
|
});
|
|
|
},
|
|
|
@@ -773,7 +838,10 @@ export default {
|
|
|
});
|
|
|
let data = this.changefiveword(arr, item.sentence_fc_list_word_index, type);
|
|
|
item.resArr = data;
|
|
|
- item.adjoin_fc_frequency_list_left = item.adjoin_fc_frequency_list.splice(0,item.sentence_fc_list_word_index)
|
|
|
+ item.adjoin_fc_frequency_list_left = item.adjoin_fc_frequency_list.splice(
|
|
|
+ 0,
|
|
|
+ item.sentence_fc_list_word_index,
|
|
|
+ );
|
|
|
} else if (type == 'right') {
|
|
|
let sentence = JSON.parse(JSON.stringify(item.sentence));
|
|
|
let arr = JSON.parse(JSON.stringify(item.sentence_fc_list));
|
|
|
@@ -784,7 +852,9 @@ export default {
|
|
|
});
|
|
|
let data = this.changefiveword(arr, item.sentence_fc_list_word_index, type);
|
|
|
item.resArr = data;
|
|
|
- item.adjoin_fc_frequency_list_right = item.adjoin_fc_frequency_list.splice(item.sentence_fc_list_word_index+1)
|
|
|
+ item.adjoin_fc_frequency_list_right = item.adjoin_fc_frequency_list.splice(
|
|
|
+ item.sentence_fc_list_word_index + 1,
|
|
|
+ );
|
|
|
} else if (type == 'mid') {
|
|
|
let sentence = JSON.parse(JSON.stringify(item.sentence));
|
|
|
let arr = JSON.parse(JSON.stringify(item.sentence_fc_list));
|
|
|
@@ -797,7 +867,7 @@ export default {
|
|
|
item.resArr = data;
|
|
|
} else {
|
|
|
this.scoreAHitNumber += item.position_list.length;
|
|
|
- let sentence_fc_list_style = []
|
|
|
+ let sentence_fc_list_style = [];
|
|
|
let newsentence = JSON.parse(JSON.stringify(item.sentence));
|
|
|
let res = '';
|
|
|
for (let i = 0; i < item.position_list.length; i++) {
|
|
|
@@ -824,14 +894,14 @@ export default {
|
|
|
res += part1 + '<span style="color:#DE4444;">' + part2 + '</span>' + part3;
|
|
|
}
|
|
|
item.res = res;
|
|
|
- item.sentence_fc_list.forEach((items,indexs)=>{
|
|
|
- if(item.sentence_fc_list_word_index_list.indexOf(indexs)>-1){
|
|
|
- sentence_fc_list_style.push('<span style="color:#DE4444;">' + items + '</span>')
|
|
|
- }else{
|
|
|
- sentence_fc_list_style.push(items)
|
|
|
- }
|
|
|
- })
|
|
|
- item.sentence_fc_list_style = sentence_fc_list_style
|
|
|
+ item.sentence_fc_list.forEach((items, indexs) => {
|
|
|
+ if (item.sentence_fc_list_word_index_list.indexOf(indexs) > -1) {
|
|
|
+ sentence_fc_list_style.push('<span style="color:#DE4444;">' + items + '</span>');
|
|
|
+ } else {
|
|
|
+ sentence_fc_list_style.push(items);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ item.sentence_fc_list_style = sentence_fc_list_style;
|
|
|
}
|
|
|
return item;
|
|
|
});
|
|
|
@@ -886,65 +956,67 @@ export default {
|
|
|
// 处理分页
|
|
|
padingEvetn() {
|
|
|
let arr = JSON.parse(JSON.stringify(this.CurrentList));
|
|
|
- let arrs = []
|
|
|
- if(this.selectLaiyuanBookIdList.length===0){
|
|
|
- arrs = arr
|
|
|
- }else{
|
|
|
- arr.forEach(item=>{
|
|
|
- let path = item.source_courseware_id_path.split('/')
|
|
|
- if(path.length>0&&this.selectLaiyuanBookIdList.indexOf(path[0])>-1){
|
|
|
- arrs.push(item)
|
|
|
+ let arrs = [];
|
|
|
+ if (this.selectLaiyuanBookIdList.length === 0) {
|
|
|
+ arrs = arr;
|
|
|
+ } else {
|
|
|
+ arr.forEach((item) => {
|
|
|
+ let path = item.source_courseware_id_path.split('/');
|
|
|
+ if (path.length > 0 && this.selectLaiyuanBookIdList.indexOf(path[0]) > -1) {
|
|
|
+ arrs.push(item);
|
|
|
}
|
|
|
- })
|
|
|
+ });
|
|
|
}
|
|
|
- this.selectCurrent = arrs.length
|
|
|
+ this.selectCurrent = arrs.length;
|
|
|
let newarr = arrs.splice((this.page - 1) * this.pageSize, this.pageSize);
|
|
|
this.ShowList = JSON.parse(JSON.stringify(newarr));
|
|
|
},
|
|
|
// 删除脏数据
|
|
|
removeRubbishData(data) {
|
|
|
- if(data.sentence_list.length>0){
|
|
|
+ if (data.sentence_list.length > 0) {
|
|
|
for (let i = data.sentence_list.length; i--; ) {
|
|
|
- if (data.sentence_list[i].sentence_fc_list.length <= 1||data.sentence_list[i].sentence_fc_list_word_index===-1) {
|
|
|
- data.sentence_list.splice(i, 1);
|
|
|
- }
|
|
|
+ if (
|
|
|
+ data.sentence_list[i].sentence_fc_list.length <= 1 ||
|
|
|
+ data.sentence_list[i].sentence_fc_list_word_index === -1
|
|
|
+ ) {
|
|
|
+ data.sentence_list.splice(i, 1);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
page1getdata(value) {
|
|
|
- if(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;
|
|
|
+ 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)
|
|
|
- }
|
|
|
- })
|
|
|
+ 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() {
|
|
|
- this.getLevelList()
|
|
|
+ this.getLevelList();
|
|
|
},
|
|
|
//生命周期 - 挂载完成(可以访问DOM元素)
|
|
|
mounted() {
|
|
|
@@ -963,7 +1035,7 @@ export default {
|
|
|
//生命周期-销毁完成
|
|
|
destoryed() {},
|
|
|
//如果页面有keep-alive缓存功能,这个函数会触发
|
|
|
- activated() {}
|
|
|
+ activated() {},
|
|
|
};
|
|
|
</script>
|
|
|
<style lang="scss" scoped>
|
|
|
@@ -987,12 +1059,12 @@ export default {
|
|
|
background: #fff;
|
|
|
border-radius: 8px;
|
|
|
|
|
|
- .selectBook{
|
|
|
+ .selectBook {
|
|
|
position: absolute;
|
|
|
right: 13px;
|
|
|
top: 40px;
|
|
|
- width: 180px;
|
|
|
- .el-select__tags{
|
|
|
+ width: 180px;
|
|
|
+ .el-select__tags {
|
|
|
max-width: 135px;
|
|
|
}
|
|
|
}
|
|
|
@@ -1264,7 +1336,7 @@ export default {
|
|
|
// height: 95%;
|
|
|
.list {
|
|
|
margin-top: 16px;
|
|
|
-
|
|
|
+
|
|
|
.lang_sort {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
@@ -1273,18 +1345,18 @@ export default {
|
|
|
cursor: pointer;
|
|
|
margin: 0 0 16px 16px;
|
|
|
border-radius: 20px;
|
|
|
- border: 1px solid #E5E6EB;
|
|
|
+ border: 1px solid #e5e6eb;
|
|
|
padding: 4px 12px;
|
|
|
font-size: 14px;
|
|
|
- &.active{
|
|
|
- border-color: #4992FF;
|
|
|
- background: #4992FF;
|
|
|
- color: #fff;
|
|
|
+ &.active {
|
|
|
+ border-color: #4992ff;
|
|
|
+ background: #4992ff;
|
|
|
+ color: #fff;
|
|
|
}
|
|
|
img {
|
|
|
- width: 16px;
|
|
|
- height: 16px;
|
|
|
- margin-left: 2px;
|
|
|
+ width: 16px;
|
|
|
+ height: 16px;
|
|
|
+ margin-left: 2px;
|
|
|
}
|
|
|
}
|
|
|
.one {
|
|
|
@@ -1293,7 +1365,7 @@ export default {
|
|
|
|
|
|
.top {
|
|
|
display: flex;
|
|
|
- // align-items: center;
|
|
|
+ // align-items: center;
|
|
|
|
|
|
// flex-flow: wrap;
|
|
|
width: 100%;
|
|
|
@@ -1508,7 +1580,7 @@ export default {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: center;
|
|
|
- // width: 84px;
|
|
|
+ // width: 84px;
|
|
|
padding: 0 2px;
|
|
|
height: 28px;
|
|
|
margin-left: 16px;
|
|
|
@@ -1610,23 +1682,23 @@ export default {
|
|
|
.el-loading-mask {
|
|
|
z-index: 200000 !important;
|
|
|
}
|
|
|
-.checkAllCheckbox{
|
|
|
+.checkAllCheckbox {
|
|
|
width: 100%;
|
|
|
- padding: 0 20px;
|
|
|
+ padding: 0 20px;
|
|
|
height: 34px;
|
|
|
line-height: 34px;
|
|
|
- &:hover{
|
|
|
- background-color: #F5F7FA;
|
|
|
+ &:hover {
|
|
|
+ background-color: #f5f7fa;
|
|
|
}
|
|
|
- .el-checkbox__input{
|
|
|
- display: none;
|
|
|
+ .el-checkbox__input {
|
|
|
+ display: none;
|
|
|
}
|
|
|
- .el-checkbox__label{
|
|
|
- padding: 0;
|
|
|
+ .el-checkbox__label {
|
|
|
+ padding: 0;
|
|
|
}
|
|
|
}
|
|
|
-.selectBook{
|
|
|
- .el-tag{
|
|
|
+.selectBook {
|
|
|
+ .el-tag {
|
|
|
max-width: 90px;
|
|
|
}
|
|
|
}
|