|
|
@@ -236,9 +236,6 @@ const currentEditQuestionId = ref()
|
|
|
const isSaveQuestionnaire = ref(true)
|
|
|
|
|
|
|
|
|
-// 单选/多选选项 临时唯一id索引从 4开始 _默认添加了四个选项
|
|
|
-const addedIndex = ref(4)
|
|
|
-
|
|
|
// 选中题型时的处理
|
|
|
const CheckedQuestionType = (type:any) => {
|
|
|
console.log('触发操作了',type)
|
|
|
@@ -366,9 +363,8 @@ const AddQuesiton = (params)=>{
|
|
|
currentEditQuestionId.value = ''
|
|
|
}else{
|
|
|
// 新增试题
|
|
|
- // 不能用最后一个id来添加
|
|
|
- let id = addedIndex.value + 1
|
|
|
- addedIndex.value += 1
|
|
|
+ // 绑定时间戳,保证临时id唯一
|
|
|
+ let id =`tmp_${new Date().getTime()}_${addedQuestionList.value.length + 1}`
|
|
|
addedQuestionList.value.push({id ,...formData,options})
|
|
|
}
|
|
|
formRef.resetFields()
|
|
|
@@ -390,14 +386,21 @@ const EditQuestion = (row)=>{
|
|
|
currentEditQuestionId.value = row.id
|
|
|
// 先后顺序不要反
|
|
|
CheckedQuestionType(row.questionType)
|
|
|
+
|
|
|
defaultQuestionData.value = {
|
|
|
- ...row,
|
|
|
+ // 格式化一下,防止 obj值 修改过程中的错误引用,
|
|
|
+ ...(JSON.parse(JSON.stringify(row))),
|
|
|
questionType:String(row.questionType)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// 保存试卷
|
|
|
const SaveQuestionnaire = async ()=>{
|
|
|
+ if(selectedQuestionType.value){
|
|
|
+ ElMessage.warning('请先保存当前正在编辑的内容')
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
let saveSuccess = false
|
|
|
// 试卷总表单
|
|
|
let formRef = questionnaireBaseFormRef.value
|
|
|
@@ -419,7 +422,11 @@ const SaveQuestionnaire = async ()=>{
|
|
|
|
|
|
let questionData = addedQuestionList.value.map((item,index)=>{
|
|
|
return {
|
|
|
- ...item,
|
|
|
+ questionTitleName: item.questionTitleName,
|
|
|
+ questionType: item.questionType,
|
|
|
+ questionScore: item.questionScore,
|
|
|
+ evaluationType: item.evaluationType,
|
|
|
+
|
|
|
questionAnswerType:item.extraConfig.includes('required') ? 1 : 0, // 是否必答,0-否,1-是
|
|
|
questionSortRole:item.extraConfig.includes('isHorizontal') ? 1 : 0, // 0-竖排,1-横排
|
|
|
questionSortCode:index + 1,
|
|
|
@@ -434,7 +441,9 @@ const SaveQuestionnaire = async ()=>{
|
|
|
})
|
|
|
// 不带id的基础信息
|
|
|
let params = {
|
|
|
- ...(questionnaireInfo.value),
|
|
|
+ assessmentTitle: questionnaireInfo.value.assessmentTitle,
|
|
|
+ assessmentIllustrate: questionnaireInfo.value.assessmentIllustrate,
|
|
|
+
|
|
|
questionData:questionData,
|
|
|
assessmentScore:questionTotalScore.value
|
|
|
}
|