|
@@ -70,7 +70,7 @@
|
|
|
>
|
|
|
<span class="NNPE-words-box">
|
|
|
<span
|
|
|
- v-if="pyPosition == 'top'"
|
|
|
+ v-if="item.isHasPY > 0 && pyPosition == 'top'"
|
|
|
class="NNPE-pinyin"
|
|
|
:class="[
|
|
|
pItem.className ? pItem.className : '',
|
|
@@ -91,6 +91,9 @@
|
|
|
curTime <= item.timeList[pItem.sentIndex].ed
|
|
|
? 'wordActive'
|
|
|
: '',
|
|
|
+ pItem.config.underLine
|
|
|
+ ? 'NNPE-chs-underline'
|
|
|
+ : '',
|
|
|
]"
|
|
|
>{{ pItem.chs }}</span
|
|
|
>
|
|
@@ -103,7 +106,7 @@
|
|
|
/>
|
|
|
</template>
|
|
|
<span
|
|
|
- v-if="pyPosition == 'bottom'"
|
|
|
+ v-if="item.isHasPY > 0 && pyPosition == 'bottom'"
|
|
|
class="NNPE-pinyin"
|
|
|
:class="[
|
|
|
pItem.className ? pItem.className : '',
|
|
@@ -117,7 +120,7 @@
|
|
|
v-if="item.wordsList[pIndex + 1]"
|
|
|
>
|
|
|
<span
|
|
|
- v-if="pyPosition == 'top'"
|
|
|
+ v-if="item.isHasPY > 0 && pyPosition == 'top'"
|
|
|
class="NNPE-pinyin"
|
|
|
:class="[
|
|
|
noFont.indexOf(
|
|
@@ -149,7 +152,7 @@
|
|
|
>
|
|
|
|
|
|
<span
|
|
|
- v-if="pyPosition == 'bottom'"
|
|
|
+ v-if="item.isHasPY > 0 && pyPosition == 'bottom'"
|
|
|
class="NNPE-pinyin"
|
|
|
:class="[
|
|
|
noFont.indexOf(
|
|
@@ -174,7 +177,11 @@
|
|
|
"
|
|
|
>
|
|
|
<span
|
|
|
- v-if="curQue.pyPosition == 'top' && config.isShowPY"
|
|
|
+ v-if="
|
|
|
+ item.isHasPY > 0 &&
|
|
|
+ curQue.pyPosition == 'top' &&
|
|
|
+ config.isShowPY
|
|
|
+ "
|
|
|
:class="[
|
|
|
'NNPE-pinyin',
|
|
|
noFont.indexOf(
|
|
@@ -214,7 +221,9 @@
|
|
|
>
|
|
|
<span
|
|
|
v-if="
|
|
|
- curQue.pyPosition == 'bottom' && config.isShowPY
|
|
|
+ item.isHasPY > 0 &&
|
|
|
+ curQue.pyPosition == 'bottom' &&
|
|
|
+ config.isShowPY
|
|
|
"
|
|
|
:class="[
|
|
|
'NNPE-pinyin',
|
|
@@ -233,7 +242,7 @@
|
|
|
<!--下一个元素不是标点-->
|
|
|
<template v-else>
|
|
|
<span
|
|
|
- v-if="pyPosition == 'top'"
|
|
|
+ v-if="item.isHasPY > 0 && pyPosition == 'top'"
|
|
|
class="NNPE-pinyin"
|
|
|
:class="[
|
|
|
pItem.chs != '“' && pItem.padding ? 'padding' : '',
|
|
@@ -258,6 +267,9 @@
|
|
|
pItem.chs != '“' && pItem.padding
|
|
|
? 'padding'
|
|
|
: '',
|
|
|
+ pItem.config.underLine
|
|
|
+ ? 'NNPE-chs-underline'
|
|
|
+ : '',
|
|
|
]"
|
|
|
>{{ pItem.chs }}</span
|
|
|
>
|
|
@@ -270,7 +282,7 @@
|
|
|
/>
|
|
|
</template>
|
|
|
<span
|
|
|
- v-if="pyPosition == 'bottom'"
|
|
|
+ v-if="item.isHasPY > 0 && pyPosition == 'bottom'"
|
|
|
class="NNPE-pinyin"
|
|
|
:class="[
|
|
|
pItem.chs != '“' && pItem.padding ? 'padding' : '',
|
|
@@ -309,23 +321,33 @@
|
|
|
</div>
|
|
|
<template
|
|
|
class="input-record"
|
|
|
- v-if="curQue.fn_list && curQue.fn_list[1].isFn"
|
|
|
+ v-if="
|
|
|
+ curQue.checkList && curQue.checkList.indexOf('judge') > -1
|
|
|
+ "
|
|
|
>
|
|
|
- <div class="judge-box">
|
|
|
+ <div class="judge-box" v-if="curQue.judge[index].isJudge">
|
|
|
<a
|
|
|
:class="[
|
|
|
'right-btn',
|
|
|
- Bookanswer[index] == 'right' ? 'active' : '',
|
|
|
+ Bookanswer.judge[index] == 'right' ? 'active' : '',
|
|
|
]"
|
|
|
@click="handleSelectJudge('right', index)"
|
|
|
- ></a>
|
|
|
+ >
|
|
|
+ <img
|
|
|
+ src="../../../../assets/newImage/common/right-btn.png"
|
|
|
+ />
|
|
|
+ </a>
|
|
|
<a
|
|
|
:class="[
|
|
|
'error-btn',
|
|
|
- Bookanswer[index] == 'error' ? 'active' : '',
|
|
|
+ Bookanswer.judge[index] == 'error' ? 'active' : '',
|
|
|
]"
|
|
|
@click="handleSelectJudge('error', index)"
|
|
|
- ></a>
|
|
|
+ >
|
|
|
+ <img
|
|
|
+ src="../../../../assets/newImage/common/error-btn.png"
|
|
|
+ />
|
|
|
+ </a>
|
|
|
</div>
|
|
|
</template>
|
|
|
</div>
|
|
@@ -408,23 +430,33 @@
|
|
|
</div>
|
|
|
<template
|
|
|
class="input-record"
|
|
|
- v-if="curQue.fn_list && curQue.fn_list[1].isFn"
|
|
|
+ v-if="
|
|
|
+ curQue.checkList && curQue.checkList.indexOf('judge') > -1
|
|
|
+ "
|
|
|
>
|
|
|
- <div class="judge-box">
|
|
|
+ <div class="judge-box" v-if="curQue.judge[index].isJudge">
|
|
|
<a
|
|
|
:class="[
|
|
|
'right-btn',
|
|
|
- Bookanswer[index] == 'right' ? 'active' : '',
|
|
|
+ Bookanswer.judge[index] == 'right' ? 'active' : '',
|
|
|
]"
|
|
|
@click="handleSelectJudge('right', index)"
|
|
|
- ></a>
|
|
|
+ >
|
|
|
+ <img
|
|
|
+ src="../../../../assets/newImage/common/right-btn.png"
|
|
|
+ />
|
|
|
+ </a>
|
|
|
<a
|
|
|
:class="[
|
|
|
'error-btn',
|
|
|
- Bookanswer[index] == 'error' ? 'active' : '',
|
|
|
+ Bookanswer.judge[index] == 'error' ? 'active' : '',
|
|
|
]"
|
|
|
@click="handleSelectJudge('error', index)"
|
|
|
- ></a>
|
|
|
+ >
|
|
|
+ <img
|
|
|
+ src="../../../../assets/newImage/common/error-btn.png"
|
|
|
+ />
|
|
|
+ </a>
|
|
|
</div>
|
|
|
</template>
|
|
|
</div>
|
|
@@ -461,7 +493,6 @@ export default {
|
|
|
"curQue",
|
|
|
"pyPosition",
|
|
|
"colorBox",
|
|
|
- "saveBookanswer",
|
|
|
"listIndex",
|
|
|
"Bookanswer",
|
|
|
"TaskModel",
|
|
@@ -523,7 +554,7 @@ export default {
|
|
|
isHasRemark: false,
|
|
|
paraArr: [],
|
|
|
answer: [],
|
|
|
- hengIndex:0,
|
|
|
+ hengIndex: 0,
|
|
|
};
|
|
|
},
|
|
|
computed: {},
|
|
@@ -533,11 +564,8 @@ export default {
|
|
|
// 判断题选择
|
|
|
handleSelectJudge(obj, index) {
|
|
|
let _this = this;
|
|
|
- this.$set(this.Bookanswer, index, obj);
|
|
|
- this.$forceUpdate();
|
|
|
- if (_this.saveBookanswer) {
|
|
|
- _this.saveBookanswer(this.Bookanswer, this.listIndex);
|
|
|
- }
|
|
|
+ _this.$set(_this.Bookanswer.judge, index, obj);
|
|
|
+ _this.$forceUpdate();
|
|
|
},
|
|
|
handleWav(list, tmIndex) {
|
|
|
tmIndex = tmIndex ? tmIndex : 0;
|
|
@@ -553,6 +581,7 @@ export default {
|
|
|
let curQue = JSON.parse(JSON.stringify(this.curQue));
|
|
|
let hengIndex = 0;
|
|
|
curQue.detail.forEach((dItem, dIndex) => {
|
|
|
+ let isHasPY = 0;
|
|
|
let isRecord = 0;
|
|
|
let roleDetail = this.getRole(dItem);
|
|
|
let remarkDetail = dItem.remark;
|
|
@@ -564,7 +593,9 @@ export default {
|
|
|
dItem.wordsList.forEach((sItem, sIndex) => {
|
|
|
sItem.forEach((wItem, wIndex) => {
|
|
|
this.mergeWordSymbol(wItem);
|
|
|
-
|
|
|
+ if (wItem.pinyin) {
|
|
|
+ isHasPY++;
|
|
|
+ }
|
|
|
let obj = {
|
|
|
paraIndex: dIndex, //段落索引
|
|
|
sentIndex: sIndex, //在段落中句子索引
|
|
@@ -576,6 +607,13 @@ export default {
|
|
|
className: wItem.className,
|
|
|
isShow: wItem.isShow,
|
|
|
isNewWord: this.newWords.indexOf(wItem.chs) > -1 ? true : false,
|
|
|
+ config: {
|
|
|
+ fontColor: wItem.fontColor,
|
|
|
+ fontFamily: wItem.fontFamily,
|
|
|
+ fontSize: wItem.fontSize,
|
|
|
+ underLine: wItem.underLine,
|
|
|
+ wordPadding: wItem.wordPadding,
|
|
|
+ },
|
|
|
};
|
|
|
if (obj.isHeng) {
|
|
|
isRecord = isRecord + 1;
|
|
@@ -604,7 +642,12 @@ export default {
|
|
|
timeList: timeList,
|
|
|
roleDetail: roleDetail,
|
|
|
remarkDetail: remarkDetail,
|
|
|
- isRecord: isRecord > 0 ? true : false,
|
|
|
+ isRecord:
|
|
|
+ isRecord > 0 ||
|
|
|
+ (curQue.checkList && curQue.checkList.indexOf("record") > -1)
|
|
|
+ ? true
|
|
|
+ : false,
|
|
|
+ isHasPY: isHasPY,
|
|
|
};
|
|
|
resArr.push(paraObj);
|
|
|
}
|
|
@@ -623,7 +666,7 @@ export default {
|
|
|
handlePYData() {
|
|
|
let pararArr = [];
|
|
|
let curQue = JSON.parse(JSON.stringify(this.curQue));
|
|
|
- this.hengIndex = 0
|
|
|
+ this.hengIndex = 0;
|
|
|
curQue.detail.forEach((dItem, dIndex) => {
|
|
|
let para = dItem.para;
|
|
|
let paraObj = this.handlePara(para);
|
|
@@ -714,7 +757,7 @@ export default {
|
|
|
if (item == "^") {
|
|
|
obj.isHeng = true;
|
|
|
obj.answer = "";
|
|
|
- this.hengIndex ++;
|
|
|
+ this.hengIndex++;
|
|
|
obj.hengIndex = this.hengIndex;
|
|
|
}
|
|
|
resArr.push(obj);
|
|
@@ -847,6 +890,9 @@ export default {
|
|
|
&.wordActive {
|
|
|
color: #de4444;
|
|
|
}
|
|
|
+ &.NNPE-chs-underline {
|
|
|
+ text-decoration: underline;
|
|
|
+ }
|
|
|
}
|
|
|
&.padding {
|
|
|
padding: 0 3px;
|
|
@@ -889,6 +935,9 @@ export default {
|
|
|
&.wordActive {
|
|
|
color: #de4444;
|
|
|
}
|
|
|
+ &.NNPE-chs-underline {
|
|
|
+ text-decoration: underline;
|
|
|
+ }
|
|
|
}
|
|
|
&.padding {
|
|
|
padding: 0 3px;
|
|
@@ -1018,11 +1067,15 @@ export default {
|
|
|
a {
|
|
|
width: 32px;
|
|
|
height: 32px;
|
|
|
- background: #fff url("../../../../assets/newImage/common/right-btn.png")
|
|
|
- center no-repeat;
|
|
|
- background-size: 24px;
|
|
|
border-radius: 8px;
|
|
|
border: 1px solid rgba(0, 0, 0, 0.1);
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ > img {
|
|
|
+ width: 24px;
|
|
|
+ height: 24px;
|
|
|
+ }
|
|
|
&:hover,
|
|
|
&.active {
|
|
|
background-color: #e5fff0;
|
|
@@ -1030,9 +1083,6 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
a.error-btn {
|
|
|
- background: #fff url("../../../../assets/newImage/common/error-btn.png")
|
|
|
- center no-repeat;
|
|
|
- background-size: 24px;
|
|
|
margin-left: 4px;
|
|
|
&:hover,
|
|
|
&.active {
|