Merge branch 'feature/feature-20250430-h5' of https://e.coding.yili.com/yldc/ylst/ylst-survey-h5 into feature/feature-20250430-h5

This commit is contained in:
Huangzhe
2025-05-28 14:57:38 +08:00
5 changed files with 13 additions and 24 deletions

View File

@@ -60,7 +60,6 @@ export const useQuestionStore = defineStore('questionStore', () => {
}
});
data = data.data;
console.log(`data:`, data);
// 多语言
data.languageType = [
data?.survey?.style?.is_en_tips ? 'en' : '',

View File

@@ -836,7 +836,9 @@ const publishQuestion = () => {
// 预览
const previewQuestion = () => {
saveAs(() => {
router.push({ name: 'preview', query: { ...route.query } });
setTimeout(() => {
router.push({ name: 'preview', query: { ...route.query } });
}, 500);
});
};

View File

@@ -1,6 +1,7 @@
<template>
<!-- <layout />-->
<div ref="scrollbar" class="preview-container">
<!-- {{ questionsData }}-->
<!-- <van-nav-bar :title="getDomString(questionsData?.survey?.title)" left-arrow />-->
<!-- 进度条 -->
@@ -49,7 +50,7 @@
<!-- 问题 -->
<!-- eslint-disable-next-line -->
<div class="questions">
<div class="questions" v-if="questions">
<!-- 提前终止和正常完成 -->
<q-last
v-if="page === pages.length + 1"
@@ -568,7 +569,9 @@ const {
translatedText,
isTemplate
} = storeToRefs(questionStore);
questionsData.value = {};
questionStore.fetchQuestions();
// 第一次进入页面清空答案
//初始化页面到第一页
questionsData.value?.questions && clearAnswer(questionsData.value.questions);
@@ -586,13 +589,12 @@ const props = defineProps({
default: false
}
});
// 初始化 isTemplate
isTemplate.value = props.isTemplate ? props.isTemplate : route.query.is_template === '1';
// 如果当前的 sn 和 之前记录的sn不相同的时候那么就要重新请求数据
if (currentSn.value !== route.query.sn) {
questionStore.fetchQuestions();
}
// if (currentSn.value !== route.query.sn) {
// }
// 上一页
async function previous() {
@@ -651,7 +653,7 @@ async function answer(callback, callbackBeforePage) {
const errors = questions.value.filter((question) => {
const { config, answer, question_type: questionType, error } = question;
console.log(answer, questionType, error);
// console.log(answer, questionType, error);
// 单独 处理 图文
if (questionType === 6) {
return;
@@ -694,8 +696,6 @@ async function answer(callback, callbackBeforePage) {
} else if (answer && questionType === 2) {
// 多选题
// 选项数量
console.log(translatedText.value);
// isError = true;
// question.error = translatedText.value.PleaseSelectAtLeastOneOptions(
// config.min_select ? config.min_select : 0

View File

@@ -8,18 +8,6 @@ const question = defineModel<question>('question', { default: {} });
const answerIndex = computed(() => question.value?.title ?? 0);
// 答案
const answer = defineModel('answer');
// answer 提供默认值
question.value.answer = '123';
watch(
answer,
(v) => {
console.log(v, 'sd');
console.log(question.value.answer, 'sd');
},
{ deep: true, immediate: true }
);
// setTimeout(() => {
// answer.value = '123';
// }, 300);

View File

@@ -19,7 +19,7 @@ function validateMultiSelectQuestion(
// 多选题
// 如果答案数量小于最小选择的数量
if (answer.length < Number(config.min_select)) {
if (answer.length < Number(config.min_select) && config.min_select) {
// 选项数量
// let options: questionOptionType[] = [];
// 疑问脸
@@ -38,7 +38,7 @@ function validateMultiSelectQuestion(
} else {
errorMessage = '';
}
} else if (answer.length > Number(config.max_select)) {
} else if (answer.length > Number(config.max_select) && config.max_select) {
errorMessage = translatedText.PleaseSelectNoMoreOptions(config.max_select);
} else if (answer.findIndex((value) => !value) !== -1) {
errorMessage = translatedText.PleaseInputAValue;