|
@@ -47,7 +47,8 @@
|
|
|
style="margin-left: 10px"
|
|
|
type="primary"
|
|
|
@click="createTable"
|
|
|
- >增加题</el-button>
|
|
|
+ >增加题</el-button
|
|
|
+ >
|
|
|
</div>
|
|
|
<div
|
|
|
v-for="(topic, toindex) in item.cur_fn_data"
|
|
@@ -99,8 +100,8 @@
|
|
|
<template
|
|
|
v-if="
|
|
|
topicIitem.type == 'article_chs' ||
|
|
|
- (topicIitem.data &&
|
|
|
- topicIitem.data.type == 'article_chs')
|
|
|
+ (topicIitem.data &&
|
|
|
+ topicIitem.data.type == 'article_chs')
|
|
|
"
|
|
|
>
|
|
|
<template v-if="topicIitem.is_edit">
|
|
@@ -181,11 +182,11 @@
|
|
|
<template
|
|
|
v-if="
|
|
|
topicIitem.type == 'recordHZ_inputPY_chs' ||
|
|
|
- topicIitem.type == 'inputItem_chs' ||
|
|
|
- topicIitem.type == 'sentence_input_chs' ||
|
|
|
- topicIitem.type == 'sentence_judge_chs' ||
|
|
|
- topicIitem.type == 'sentence_record_chs' ||
|
|
|
- topicIitem.type == 'sentence_input_record_chs'
|
|
|
+ topicIitem.type == 'inputItem_chs' ||
|
|
|
+ topicIitem.type == 'sentence_input_chs' ||
|
|
|
+ topicIitem.type == 'sentence_judge_chs' ||
|
|
|
+ topicIitem.type == 'sentence_record_chs' ||
|
|
|
+ topicIitem.type == 'sentence_input_record_chs'
|
|
|
"
|
|
|
>
|
|
|
<template v-if="topicIitem.is_edit">
|
|
@@ -255,6 +256,157 @@
|
|
|
/>
|
|
|
</template>
|
|
|
</template>
|
|
|
+ <template v-if="topicIitem.type == 'ligature_chs'">
|
|
|
+ <template v-if="topicIitem.is_edit">
|
|
|
+ <Ligature
|
|
|
+ :curQue="topicIitem.data"
|
|
|
+ :fn_data="fn_data"
|
|
|
+ :changeCurQue="changeCurQue"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ <Ligatureview :curQue="topicIitem.data" />
|
|
|
+ </template>
|
|
|
+ </template>
|
|
|
+ <template
|
|
|
+ v-if="topicIitem.type == 'image_question_input_record'"
|
|
|
+ >
|
|
|
+ <template v-if="topicIitem.is_edit">
|
|
|
+ <ImageQuestion
|
|
|
+ :curQue="topicIitem.data"
|
|
|
+ :type="topicIitem.type"
|
|
|
+ :fn_data="fn_data"
|
|
|
+ :changeCurQue="changeCurQue"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ <template v-else> </template>
|
|
|
+ </template>
|
|
|
+ <template
|
|
|
+ v-if="
|
|
|
+ topicIitem.type == 'single_chs' ||
|
|
|
+ topicIitem.type == 'checkbox_chs' ||
|
|
|
+ topicIitem.type == 'listen_record_single_chs'
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <template v-if="topicIitem.is_edit">
|
|
|
+ <Single
|
|
|
+ :curQue="topicIitem.data"
|
|
|
+ :type="topicIitem.type"
|
|
|
+ :fn_data="fn_data"
|
|
|
+ :changeCurQue="changeCurQue"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ <template v-else> </template>
|
|
|
+ </template>
|
|
|
+
|
|
|
+ <template
|
|
|
+ v-if="
|
|
|
+ topicIitem.type == 'text_problem_chs' ||
|
|
|
+ topicIitem.type == 'newWord_preview_chs' ||
|
|
|
+ topicIitem.type == 'listen_record_single_syllable_chs'
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <template v-if="topicIitem.is_edit">
|
|
|
+ <PurePreview
|
|
|
+ :curQue="topicIitem.data"
|
|
|
+ :type="topicIitem.type"
|
|
|
+ :fn_data="fn_data"
|
|
|
+ :changeCurQue="changeCurQue"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ <template v-else> </template>
|
|
|
+ </template>
|
|
|
+ <template
|
|
|
+ v-if="topicIitem.type == 'zi_transverse_line_chs'"
|
|
|
+ >
|
|
|
+ <template v-if="topicIitem.is_edit">
|
|
|
+ <ZiLine
|
|
|
+ :curQue="topicIitem.data"
|
|
|
+ :type="topicIitem.type"
|
|
|
+ :fn_data="fn_data"
|
|
|
+ :changeCurQue="changeCurQue"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ <template v-else> </template>
|
|
|
+ </template>
|
|
|
+ <template v-if="topicIitem.type == 'select_input_chs'">
|
|
|
+ <template v-if="topicIitem.is_edit">
|
|
|
+ <SelectInpue
|
|
|
+ :curQue="topicIitem.data"
|
|
|
+ :type="topicIitem.type"
|
|
|
+ :fn_data="fn_data"
|
|
|
+ :changeCurQue="changeCurQue"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ <template v-else> </template>
|
|
|
+ </template>
|
|
|
+ <template v-if="topicIitem.type == 'play_input_record_chs'">
|
|
|
+ <template v-if="topicIitem.is_edit">
|
|
|
+ <PlayInputReacord
|
|
|
+ :curQue="topicIitem.data"
|
|
|
+ :type="topicIitem.type"
|
|
|
+ :fn_data="fn_data"
|
|
|
+ :changeCurQue="changeCurQue"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ <template v-else> </template>
|
|
|
+ </template>
|
|
|
+ <template
|
|
|
+ v-if="
|
|
|
+ topicIitem.type == 'imgage_image' ||
|
|
|
+ topicIitem.type == 'image_checkBox' ||
|
|
|
+ topicIitem.type == 'image_judge' ||
|
|
|
+ topicIitem.type == 'image_single' ||
|
|
|
+ topicIitem.type == 'image_dobleinput' ||
|
|
|
+ topicIitem.type == 'image_gdcy' ||
|
|
|
+ topicIitem.type == 'image_input'
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <template v-if="topicIitem.is_edit">
|
|
|
+ <Picture
|
|
|
+ :curQue="topicIitem.data"
|
|
|
+ :type="topicIitem.type"
|
|
|
+ :fn_data="fn_data"
|
|
|
+ :changeCurQue="changeCurQue"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ <template v-else> </template>
|
|
|
+ </template>
|
|
|
+ <template v-if="topicIitem.type == 'drag_chs'">
|
|
|
+ <template v-if="topicIitem.is_edit">
|
|
|
+ <Drag
|
|
|
+ :curQue="topicIitem.data"
|
|
|
+ :type="topicIitem.type"
|
|
|
+ :fn_data="fn_data"
|
|
|
+ :changeCurQue="changeCurQue"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ <template v-else> </template>
|
|
|
+ </template>
|
|
|
+ <template
|
|
|
+ v-if="topicIitem.type == 'checkbox_self_assessment_chs'"
|
|
|
+ >
|
|
|
+ <template v-if="topicIitem.is_edit">
|
|
|
+ <SelfAssessment
|
|
|
+ :curQue="topicIitem.data"
|
|
|
+ :type="topicIitem.type"
|
|
|
+ :fn_data="fn_data"
|
|
|
+ :changeCurQue="changeCurQue"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ <template v-else> </template>
|
|
|
+ </template>
|
|
|
+ <template v-if="topicIitem.type == 'sort_chs'">
|
|
|
+ <template v-if="topicIitem.is_edit">
|
|
|
+ <Sort
|
|
|
+ :curQue="topicIitem.data"
|
|
|
+ :type="topicIitem.type"
|
|
|
+ :fn_data="fn_data"
|
|
|
+ :changeCurQue="changeCurQue"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ <template v-else> </template>
|
|
|
+ </template>
|
|
|
</div>
|
|
|
<div
|
|
|
v-if="topicIitem.data && topicIitem.is_edit"
|
|
@@ -268,8 +420,8 @@
|
|
|
<div
|
|
|
v-else-if="
|
|
|
TopicIndex == toindex &&
|
|
|
- RowIndex == rowIndex &&
|
|
|
- lineIndex == LineIndex
|
|
|
+ RowIndex == rowIndex &&
|
|
|
+ lineIndex == LineIndex
|
|
|
"
|
|
|
class="addoption"
|
|
|
>
|
|
@@ -288,14 +440,16 @@
|
|
|
type="success"
|
|
|
size="small"
|
|
|
@click="onSure(topicIitem)"
|
|
|
- >确定</el-button>
|
|
|
+ >确定</el-button
|
|
|
+ >
|
|
|
</div>
|
|
|
<div v-else class="Big-Book-save">
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
size="small"
|
|
|
@click.stop="editCurQue(topicIitem)"
|
|
|
- >编辑</el-button>
|
|
|
+ >编辑</el-button
|
|
|
+ >
|
|
|
</div>
|
|
|
</template>
|
|
|
</div>
|
|
@@ -320,7 +474,8 @@
|
|
|
v-for="(child, i) in item.list"
|
|
|
:key="i"
|
|
|
@click.native="selectSmallModule(item, child, index, i)"
|
|
|
- >{{ child.name }}</el-dropdown-item>
|
|
|
+ >{{ child.name }}</el-dropdown-item
|
|
|
+ >
|
|
|
</el-dropdown-menu>
|
|
|
</el-dropdown>
|
|
|
<span v-else class="fn-name">{{ item.name }}</span>
|
|
@@ -375,6 +530,14 @@ import ToneSelect from "@/components/Adult/inputModules/ToneSelect.vue";
|
|
|
import NumberCombination from "@/components/Adult/inputModules/NumberCombination.vue";
|
|
|
import DialogueAnswerChs from "@/components/Adult/inputModules/DialogueAnswerChs";
|
|
|
import VoiceMatrix from "@/components/Adult/inputModules/VoiceMatrix.vue";
|
|
|
+import ImageQuestion from "@/components/Adult/inputModules/ImageQuestion.vue";
|
|
|
+import PurePreview from "@/components/Adult/inputModules/PurePreview.vue";
|
|
|
+import ZiLine from "@/components/Adult/inputModules/ZiLine.vue";
|
|
|
+import SelectInpue from "@/components/Adult/inputModules/SelectInpue.vue";
|
|
|
+import PlayInputReacord from "@/components/Adult/inputModules/PlayInputReacord.vue";
|
|
|
+import Drag from "@/components/Adult/inputModules/Drag.vue";
|
|
|
+import SelfAssessment from "@/components/Adult/inputModules/SelfAssessment.vue";
|
|
|
+import Sort from "@/components/Adult/inputModules/Sort.vue";
|
|
|
|
|
|
import Textdes from "@/components/Adult/inputModules/Textdes.vue";
|
|
|
import Record from "@/components/Adult/inputModules/Record.vue";
|
|
@@ -443,7 +606,15 @@ export default {
|
|
|
NumberCombination,
|
|
|
ToneSelect,
|
|
|
DialogueAnswerChs,
|
|
|
- VoiceMatrix
|
|
|
+ VoiceMatrix,
|
|
|
+ ImageQuestion,
|
|
|
+ PurePreview,
|
|
|
+ ZiLine,
|
|
|
+ SelectInpue,
|
|
|
+ PlayInputReacord,
|
|
|
+ Drag,
|
|
|
+ SelfAssessment,
|
|
|
+ Sort,
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
@@ -575,10 +746,10 @@ export default {
|
|
|
this.TopicIndex = topicIndex;
|
|
|
this.RowIndex = rowindex;
|
|
|
this.LineIndex = lineIndex;
|
|
|
- this.question_list.forEach(page => {
|
|
|
- page.cur_fn_data.forEach(pic => {
|
|
|
- pic.table_list.forEach(row => {
|
|
|
- row.forEach(col => {
|
|
|
+ this.question_list.forEach((page) => {
|
|
|
+ page.cur_fn_data.forEach((pic) => {
|
|
|
+ pic.table_list.forEach((row) => {
|
|
|
+ row.forEach((col) => {
|
|
|
col.is_add_module = true;
|
|
|
});
|
|
|
});
|
|
@@ -628,14 +799,14 @@ export default {
|
|
|
};
|
|
|
console.log(this.question_list);
|
|
|
getContent(MethodName, data)
|
|
|
- .then(res => {
|
|
|
+ .then((res) => {
|
|
|
this.question_list = res.content
|
|
|
? JSON.parse(res.content)
|
|
|
: JSON.parse(JSON.stringify(this.org_question_list));
|
|
|
this.cur_page_que_index =
|
|
|
this.question_list[this.tabIndex].cur_fn_data.length - 1;
|
|
|
})
|
|
|
- .catch(error => {});
|
|
|
+ .catch((error) => {});
|
|
|
},
|
|
|
handleTabsEdit(targetName, action) {
|
|
|
if (action === "add") {
|
|
@@ -661,7 +832,7 @@ export default {
|
|
|
});
|
|
|
}
|
|
|
this.editableTabsValue = activeName;
|
|
|
- let question_list = tabs.filter(tab => tab.name !== targetName);
|
|
|
+ let question_list = tabs.filter((tab) => tab.name !== targetName);
|
|
|
question_list.map((item, index) => {
|
|
|
item.name = `tab${index + 1}`;
|
|
|
item.title = `第${index + 1}页`;
|
|
@@ -761,12 +932,12 @@ export default {
|
|
|
let question_list = this.question_list;
|
|
|
let sentence_list = [];
|
|
|
let new_word_list = [];
|
|
|
- question_list.forEach(item => {
|
|
|
- item.cur_fn_data.forEach(curItem => {
|
|
|
- curItem.table_list.forEach(tabItem => {
|
|
|
- tabItem.forEach(topicIitem => {
|
|
|
+ question_list.forEach((item) => {
|
|
|
+ item.cur_fn_data.forEach((curItem) => {
|
|
|
+ curItem.table_list.forEach((tabItem) => {
|
|
|
+ tabItem.forEach((topicIitem) => {
|
|
|
if (topicIitem.type == "article_chs") {
|
|
|
- topicIitem.data.detail.forEach(item => {
|
|
|
+ topicIitem.data.detail.forEach((item) => {
|
|
|
sentence_list = sentence_list.concat(item.sentences);
|
|
|
});
|
|
|
} else if (topicIitem.type == "NewWord_chs") {
|
|
@@ -796,10 +967,10 @@ export default {
|
|
|
ui_type: "NPC",
|
|
|
};
|
|
|
getContent(MethodName, data)
|
|
|
- .then(res => {
|
|
|
+ .then((res) => {
|
|
|
this.$message.success("保存成功!");
|
|
|
})
|
|
|
- .catch(error => {});
|
|
|
+ .catch((error) => {});
|
|
|
},
|
|
|
async onPreview() {
|
|
|
let _this = this;
|
|
@@ -824,7 +995,7 @@ export default {
|
|
|
regConArr = questionStr.match(reg);
|
|
|
}
|
|
|
if (regConArr.length > 0) {
|
|
|
- regConArr = regConArr.map(item => {
|
|
|
+ regConArr = regConArr.map((item) => {
|
|
|
item = item.replace("[FID##", "").replace("##FID]", "");
|
|
|
return item;
|
|
|
});
|
|
@@ -834,7 +1005,7 @@ export default {
|
|
|
const data = {
|
|
|
file_id_list: regConArr,
|
|
|
};
|
|
|
- getStaticContent(MethodName, data).then(res => {
|
|
|
+ getStaticContent(MethodName, data).then((res) => {
|
|
|
const backData = res.url_map;
|
|
|
for (const key in backData) {
|
|
|
const url = backData[key];
|