fix(Survey): 优化移动端问卷模板保存校验

- 更新了错误提示信息,增加了对逻辑设置的提及
- 增加了对问卷逻辑的校验,只允许自动填写类型的逻辑
This commit is contained in:
Huangzhe
2025-05-27 19:46:54 +08:00
parent 079a589510
commit 10a4904e26

View File

@@ -81,7 +81,7 @@ async function saveTemplate(item: SurveyItem) {
if (!(await validateSurvey(data))) {
showDialog({
title: '无法保存模板',
message: '问卷内包含移动端暂未兼容题型请至PC端编辑后重新保存。'
message: '问卷内包含移动端暂未兼容题型/逻辑设置请至PC端编辑后重新保存。'
});
return;
}
@@ -98,19 +98,29 @@ async function saveTemplate(item: SurveyItem) {
function clearSurveys() {
survey.value = [];
}
/**
* 校验问卷是否可以保存为模板
* @param data
*/
async function validateSurvey(survey: SurveyItem): Promise<boolean> {
const { data } = await getQuestionList(survey.sn);
const questions = data.data.questions;
return questions.every((question: any) => {
const { questions, logics } = data.data;
const questionValid = questions.every((question: any) => {
if (!questionTypeMap.has(question.question_type)) {
return false;
}
return true;
});
// 2 自动填写, 3 是逻辑配额
const logicValid = logics.every((logic: any) => {
if (![2].includes(logic.skip_type)) {
return false;
}
});
console.log(questionValid, logicValid);
return questionValid && logicValid;
}
export {