|
@@ -121,6 +121,7 @@
|
|
|
@handleRichTextBlur="handleBlurCon"
|
|
@handleRichTextBlur="handleBlurCon"
|
|
|
/>
|
|
/>
|
|
|
<el-input v-else v-model="li.content" @blur="handleBlurCon" />
|
|
<el-input v-else v-model="li.content" @blur="handleBlurCon" />
|
|
|
|
|
+ <el-button size="mini" @click="editCell(li.cell)">配置</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="table-node">
|
|
<div class="table-node">
|
|
@@ -150,6 +151,17 @@
|
|
|
<div v-for="(item, i) in data.answer_lists" :key="i" class="table-node">
|
|
<div v-for="(item, i) in data.answer_lists" :key="i" class="table-node">
|
|
|
<div v-for="(li, j) in item" :key="i + 'col' + j" class="table-item">
|
|
<div v-for="(li, j) in item" :key="i + 'col' + j" class="table-item">
|
|
|
<el-input v-model="li.answer" type="textarea" :readonly="!data.option_list[i][j].hasInput" />
|
|
<el-input v-model="li.answer" type="textarea" :readonly="!data.option_list[i][j].hasInput" />
|
|
|
|
|
+ <span
|
|
|
|
|
+ v-if="data.option_list[i][j].cell.isCross"
|
|
|
|
|
+ style="display: flex; align-items: center; font-size: 14px"
|
|
|
|
|
+ >勾叉答案<i
|
|
|
|
|
+ @click="toggle(li)"
|
|
|
|
|
+ :class="[
|
|
|
|
|
+ { 'el-icon-check': li.crossAnswer === statusList[1] },
|
|
|
|
|
+ { 'el-icon-close': li.crossAnswer === statusList[2] },
|
|
|
|
|
+ ]"
|
|
|
|
|
+ style="display: block; width: 14px; height: 14px; border: 1px solid #000"
|
|
|
|
|
+ /></span>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
@@ -190,6 +202,33 @@
|
|
|
:font-family="data?.unified_attrib?.font"
|
|
:font-family="data?.unified_attrib?.font"
|
|
|
@fillCorrectPinyin="fillCorrectPinyin"
|
|
@fillCorrectPinyin="fillCorrectPinyin"
|
|
|
/>
|
|
/>
|
|
|
|
|
+ <el-dialog
|
|
|
|
|
+ title="配置单元格"
|
|
|
|
|
+ :visible="editCellFlag"
|
|
|
|
|
+ width="460px"
|
|
|
|
|
+ :close-on-click-modal="false"
|
|
|
|
|
+ v-if="editCellFlag"
|
|
|
|
|
+ @close="editCellFlag = false"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-form :model="activeCell" :inline="true">
|
|
|
|
|
+ <el-form-item label="背景色">
|
|
|
|
|
+ <el-color-picker v-model="activeCell.bgColor" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="勾叉">
|
|
|
|
|
+ <el-switch v-model="activeCell.isCross" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="合并行">
|
|
|
|
|
+ <el-input v-model="activeCell.rowspan" class="rowspan" type="number" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="合并列">
|
|
|
|
|
+ <el-input v-model="activeCell.colspan" class="colspan" type="number" />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-form>
|
|
|
|
|
+ <div slot="footer">
|
|
|
|
|
+ <el-button @click="editCellFlag = false">取消</el-button>
|
|
|
|
|
+ <el-button type="primary" @click="editCellFlag = false">确定</el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </el-dialog>
|
|
|
</template>
|
|
</template>
|
|
|
</ModuleBase>
|
|
</ModuleBase>
|
|
|
</template>
|
|
</template>
|
|
@@ -227,6 +266,9 @@ export default {
|
|
|
isViewExplanatoryNoteDialog: false,
|
|
isViewExplanatoryNoteDialog: false,
|
|
|
oldRichData: {},
|
|
oldRichData: {},
|
|
|
fillTypeList,
|
|
fillTypeList,
|
|
|
|
|
+ activeCell: null,
|
|
|
|
|
+ editCellFlag: false,
|
|
|
|
|
+ statusList: ['normal', 'tick', 'cross'],
|
|
|
};
|
|
};
|
|
|
},
|
|
},
|
|
|
watch: {
|
|
watch: {
|
|
@@ -346,6 +388,14 @@ export default {
|
|
|
},
|
|
},
|
|
|
},
|
|
},
|
|
|
methods: {
|
|
methods: {
|
|
|
|
|
+ toggle(status) {
|
|
|
|
|
+ const index = this.statusList.findIndex((item) => status.crossAnswer === item);
|
|
|
|
|
+ status.crossAnswer = index === this.statusList.length - 1 ? this.statusList[0] : this.statusList[index + 1];
|
|
|
|
|
+ },
|
|
|
|
|
+ editCell(cell) {
|
|
|
|
|
+ this.activeCell = cell;
|
|
|
|
|
+ this.editCellFlag = true;
|
|
|
|
|
+ },
|
|
|
// 设置样式
|
|
// 设置样式
|
|
|
BatchSetFormat(type, val = '') {
|
|
BatchSetFormat(type, val = '') {
|
|
|
this.$refs.richText.forEach((richText) => {
|
|
this.$refs.richText.forEach((richText) => {
|