feat(设计): 优化问卷设计功能

- 调整完成式题目字数限制显示逻辑- 为 NPS 问卷添加内容编辑组件
- 优化文本加图片问卷的编辑功能
- 调整必答设置的显示逻辑
- 修复完成式题目的保存问题
- 优化 API 接口配置
This commit is contained in:
陈昱达
2025-03-12 20:35:53 +08:00
parent b0c0979f70
commit eb22b77d46
7 changed files with 49 additions and 34 deletions

View File

@@ -10,12 +10,7 @@
{{ index + 1 }}
</template>
<template #label>
<div
:contenteditable="active"
class="van-field"
@blur="saveStem($event, element)"
v-html="element.stem"
></div>
<contenteditable :active="active" @blur="saveStem" v-model="element.stem"></contenteditable>
</template>
<template #input>
<div v-for="(optionItem, optionItemIndex) in element.options" :key="optionItemIndex">
@@ -38,7 +33,7 @@
</template>
<script setup>
import { ref } from 'vue';
import { ref, toRefs } from 'vue';
import RateCharacter from './RateCharacter.vue';
const props = defineProps({
@@ -56,13 +51,11 @@ const props = defineProps({
sn: { type: String, default: '' },
questionType: { type: [String, Number], default: 4 }
});
const element = ref(props.element);
const { element } = toRefs(props);
const chooseId = ref('');
// 创建一个本地副本以保存更改
const localElement = ref({ ...props.element });
const saveStem = (e) => {
localElement.value.stem = e.target.innerHTML;
const emit = defineEmits(['update:element']);
const saveStem = () => {
emit('update:element', element.value);
};
const chooseOption = (item) => {