|
|
@@ -2,7 +2,7 @@
|
|
|
<div class="setChoiceQuestion">
|
|
|
<div class="testItem" v-for="(item, index) in jsonData.testJson" :key="item.id">
|
|
|
<div class="ti_header">
|
|
|
- <span>{{ lang.ssTopic }}{{ index + 1 }} <span v-if="item.answer.length==0 || item.checkList.some(opt=>opt=='')">{{lang.ssOptionEmpty}}</span></span>
|
|
|
+ <span>{{ lang.ssTopic }}{{ index + 1 }} <span v-if="item.answer.length==0 || item.checkList.some(opt=>!opt)">{{lang.ssNoSettingAnswer}}</span></span>
|
|
|
<div class="ti_h_edit">
|
|
|
<span @click="copyTest(item.id)">
|
|
|
<svg viewBox="0 0 1024 1024" version="1.1" p-id="4608" width="200" height="200">
|
|
|
@@ -41,7 +41,7 @@
|
|
|
</div>
|
|
|
|
|
|
<div class="ti_title">
|
|
|
- <el-input class="ti_t_input" type="textarea" v-model="item.teststitle" :rows="3" :autosize="{ minRows: 3, maxRows: 6 }" resize="none" :placeholder="lang.ssEnterTextTitle" @blur="setTestTitle(item.id)"></el-input>
|
|
|
+ <el-input class="ti_t_input" type="textarea" v-model="item.teststitle" :rows="3" :autosize="{ minRows: 3, maxRows: 6 }" resize="none" :placeholder="lang.ssEnterTextTitle" @input="setTestTitle(item.id)"></el-input>
|
|
|
<div class="uploadImage" @click="uploadImage(item.id)">
|
|
|
<svg viewBox="0 0 1024 1024" version="1.1" p-id="15953" width="200" height="200">
|
|
|
<path
|
|
|
@@ -72,7 +72,7 @@
|
|
|
@dragover.prevent="dragOver($event, item, checkIndex)"
|
|
|
@drop="drop($event, item, checkIndex)"
|
|
|
@dragend="dragEnd">
|
|
|
- <div class="drag">
|
|
|
+ <div class="drag" draggable="true" @dragstart="dragStart($event, item, checkIndex)">
|
|
|
<svg viewBox="0 0 1024 1024" width="200" height="200">
|
|
|
<path
|
|
|
d="M867.995 459.647h-711.99c-27.921 0-52.353 24.434-52.353 52.353s24.434 52.353 52.353 52.353h711.99c27.921 0 52.353-24.434 52.353-52.353s-24.434-52.353-52.353-52.353z"
|
|
|
@@ -95,7 +95,7 @@
|
|
|
</svg>
|
|
|
</div>
|
|
|
<el-input v-model="item.checkList[checkIndex]" :placeholder="lang.ssEnterOption"
|
|
|
- @blur="setTestJson()"></el-input>
|
|
|
+ @input="setTestJson()"></el-input>
|
|
|
<div class="btn">
|
|
|
|
|
|
<div @click="addCheck(item.id, checkIndex)">
|
|
|
@@ -142,7 +142,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<el-input type="textarea" rows="3" style="font-size: 1.2rem;" resize="none" v-model="item.explanation"
|
|
|
- :placeholder="lang.ssEnterExplanation" @blur="setTestJson()"></el-input>
|
|
|
+ :placeholder="lang.ssEnterExplanation" @input="setTestJson()"></el-input>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
@@ -331,6 +331,11 @@ export default {
|
|
|
},
|
|
|
// 拖拽相关方法
|
|
|
dragStart(e, item, checkIndex) {
|
|
|
+ if (!e.target.closest('.drag')) {
|
|
|
+ e.preventDefault();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ console.log('e',e)
|
|
|
this.dragItem = { item, checkIndex };
|
|
|
const checkItem = e.target.closest('.checkItem');
|
|
|
if (checkItem) checkItem.classList.add('dragging');
|