diff --git a/auto-imports.d.ts b/auto-imports.d.ts index 9d24007..b0b0357 100644 --- a/auto-imports.d.ts +++ b/auto-imports.d.ts @@ -5,6 +5,4 @@ // Generated by unplugin-auto-import // biome-ignore lint: disable export {} -declare global { - -} +declare global {} diff --git a/components.d.ts b/components.d.ts index c4c0cd2..cc91605 100644 --- a/components.d.ts +++ b/components.d.ts @@ -31,7 +31,6 @@ declare module 'vue' { VanCol: typeof import('vant/es')['Col'] VanDivider: typeof import('vant/es')['Divider'] VanField: typeof import('vant/es')['Field'] - VanForm: typeof import('vant/es')['Form'] VanGrid: typeof import('vant/es')['Grid'] VanGridItem: typeof import('vant/es')['GridItem'] VanIcon: typeof import('vant/es')['Icon'] diff --git a/src/App.vue b/src/App.vue index 1301bf3..aee81b0 100644 --- a/src/App.vue +++ b/src/App.vue @@ -4,7 +4,7 @@ import { onMounted } from 'vue'; import appBridge from '@/assets/js/appBridge'; import utils from '@/assets/js/common'; -onMounted(async() => { +onMounted(async () => { if (utils.getParameter('digitalYiliToken')) { // 隐藏/显示 header appBridge.setHeaderShown(false); diff --git a/src/api/common.js b/src/api/common.js index 1c90620..fc4dfe9 100644 --- a/src/api/common.js +++ b/src/api/common.js @@ -85,9 +85,9 @@ export default class CommonApi { }; /* eslint-disable no-useless-escape */ const reg = /\\|\/|\?|\?|\*|"|“|”|'|‘|’|<|>|{|}|\[|\]|\【|\】|:|:|、|\^|\$|!|~|`|\s|\+/g; - name - = name - || getRandomFileName(file?.name?.replace(reg, '') ?? '' ?? `${new Date().getTime()}.png`); + name = + name || + getRandomFileName(file?.name?.replace(reg, '') ?? '' ?? `${new Date().getTime()}.png`); const res = await CommonApi.getOssInfo(); /* eslint-enable no-useless-escape */ diff --git a/src/components/YLPicker.vue b/src/components/YLPicker.vue index c5108d0..7e5cf8f 100644 --- a/src/components/YLPicker.vue +++ b/src/components/YLPicker.vue @@ -170,8 +170,8 @@ const getMaxDateLimit = computed(() => { props.format ); const tempStr = '0000-12-31 23:59:59'; - const result - = props.maxDate.length !== 0 && thisMax.length > props.maxDate.length + const result = + props.maxDate.length !== 0 && thisMax.length > props.maxDate.length ? thisMax.slice(0, props.maxDate.length) + tempStr.slice(props.maxDate.length) : thisMax; return result.slice(0, props.format.length); @@ -194,8 +194,8 @@ function onChange({ selectedValues, columnIndex }) { renderMinuteColumns, renderSecondColumns ]; - updateColumns[columnIndex] - && updateColumns[columnIndex](changeValue, getMinDateLimit.value, getMaxDateLimit.value, false); + updateColumns[columnIndex] && + updateColumns[columnIndex](changeValue, getMinDateLimit.value, getMaxDateLimit.value, false); } // 渲染全部列 diff --git a/src/fonts/demo.css b/src/fonts/demo.css index 12ec742..18e8077 100644 --- a/src/fonts/demo.css +++ b/src/fonts/demo.css @@ -4,11 +4,11 @@ src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834'); src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') - format('embedded-opentype'), + format('embedded-opentype'), url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'), url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'), url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') - format('svg'); + format('svg'); } .logo { diff --git a/src/fonts/iconfont.json b/src/fonts/iconfont.json index 44a9638..240e336 100644 --- a/src/fonts/iconfont.json +++ b/src/fonts/iconfont.json @@ -228,6 +228,6 @@ "font_class": "fasong", "unicode": "e647", "unicode_decimal": 58951 - }, + } ] } diff --git a/src/fonts/moblie/demo.css b/src/fonts/moblie/demo.css index 12ec742..18e8077 100644 --- a/src/fonts/moblie/demo.css +++ b/src/fonts/moblie/demo.css @@ -4,11 +4,11 @@ src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834'); src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') - format('embedded-opentype'), + format('embedded-opentype'), url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'), url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'), url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') - format('svg'); + format('svg'); } .logo { diff --git a/src/layouts/logic.js b/src/layouts/logic.js index dd6beaf..c121a41 100644 --- a/src/layouts/logic.js +++ b/src/layouts/logic.js @@ -376,39 +376,39 @@ export function isCross(range1, range2) { const isSibling = isLeft || isRight; // 逻辑包含循环 - const contain - = (isPlainSequence - && (((isNullish(start2) || isSequence(judge, start2, start1)) - && (isNullish(end2) || isSequence(judge, end2, start1))) - || ((isNullish(start2) || isSequence(start1, start2, end1)) - && (isNullish(end2) || isSequence(start1, end2, end1))))) - || (!isPlainSequence - && (judge < start1 - ? ((isNullish(start2) || isSequence(judge, start2, start1)) - && (isNullish(end2) || isSequence(judge, end2, start1))) - || ((isNullish(start2) || isSequence(start1, start2, end1)) - && (isNullish(end2) || isSequence(start1, end2, end1))) - : ((isNullish(start2) || isSequence(start1, start2, judge)) - && (isNullish(end2) || isSequence(start1, end2, judge))) - || ((isNullish(start2) || isSequence(judge, start2, end1)) - && (isNullish(end2) || isSequence(judge, end2, end1))))); + const contain = + (isPlainSequence && + (((isNullish(start2) || isSequence(judge, start2, start1)) && + (isNullish(end2) || isSequence(judge, end2, start1))) || + ((isNullish(start2) || isSequence(start1, start2, end1)) && + (isNullish(end2) || isSequence(start1, end2, end1))))) || + (!isPlainSequence && + (judge < start1 + ? ((isNullish(start2) || isSequence(judge, start2, start1)) && + (isNullish(end2) || isSequence(judge, end2, start1))) || + ((isNullish(start2) || isSequence(start1, start2, end1)) && + (isNullish(end2) || isSequence(start1, end2, end1))) + : ((isNullish(start2) || isSequence(start1, start2, judge)) && + (isNullish(end2) || isSequence(start1, end2, judge))) || + ((isNullish(start2) || isSequence(judge, start2, end1)) && + (isNullish(end2) || isSequence(judge, end2, end1))))); // 循环存在封闭区间,并且循环包含逻辑 - const contained - = !isNullish(start2) - && !isNullish(end2) + const contained = + !isNullish(start2) && + !isNullish(end2) && // [judge, start1, end1]; - && ((isPlainSequence && start2 <= judge && end1 <= end2) + ((isPlainSequence && start2 <= judge && end1 <= end2) || // [judge, start1, end1]; // [start1, judge, end1]; - || (!isPlainSequence && start2 <= start1 && start2 <= judge && end1 <= end2)); + (!isPlainSequence && start2 <= start1 && start2 <= judge && end1 <= end2)); // 循环不存在封闭区间 - const unCircled - = (!isNullish(start2) - && isNullish(end2) - && ((isPlainSequence && start2 === judge) || (!isPlainSequence && judge < start1) + const unCircled = + (!isNullish(start2) && + isNullish(end2) && + ((isPlainSequence && start2 === judge) || (!isPlainSequence && judge < start1) ? start2 === judge - : start2 === start1)) - || (isNullish(start2) && !isNullish(end2) && end2 === end1); + : start2 === start1)) || + (isNullish(start2) && !isNullish(end2) && end2 === end1); return !(isSibling || contain || contained || unCircled); } @@ -428,8 +428,8 @@ function isSequence(s1, s2, s3, equal) { * @param store */ export function updateNewQuestionsByLoopingEffect(quesSaveParam, store) { - const { questionInfoBeforeModified = {}, questionInfo = {} } - = JSON.parse(JSON.stringify(store.state.common)) || {}; + const { questionInfoBeforeModified = {}, questionInfo = {} } = + JSON.parse(JSON.stringify(store.state.common)) || {}; const oldPages = questionInfoBeforeModified.survey.pages; const newQuestions = questionInfo.questions; diff --git a/src/layouts/utils.js b/src/layouts/utils.js index f2d52b8..d8d5538 100644 --- a/src/layouts/utils.js +++ b/src/layouts/utils.js @@ -30,13 +30,13 @@ function showModal(options) { * @param {*} data * @returns */ -const canPlanetPublishPSM = function(data) { +const canPlanetPublishPSM = function (data) { let isFb = true; let message = ''; let title = '题目设置未完成'; const incompleteQuestionList = []; - data.questions - && data.questions.forEach((s) => { + data.questions && + data.questions.forEach((s) => { if (s.question_type === 101 && s.config.price_gradient.length <= 0) { isFb = false; message = 'psm题目未完成设置,请设置价格区间后投放'; @@ -60,15 +60,15 @@ const canPlanetPublishPSM = function(data) { * @param {*} data * @returns */ -const canPlanetPublishMxdAndHotArea = function(data) { +const canPlanetPublishMxdAndHotArea = function (data) { let isFb = true; let message = ''; const qSteams = []; const incompleteQuestionList = []; let type = 0; let title = '题目设置未完成'; - data.questions - && data.questions.forEach((s) => { + data.questions && + data.questions.forEach((s) => { if (s.question_type === 105 && s.config.design_version <= 0) { isFb = false; message = 'maxdiff题目未完成设置,请生成设计后投放'; @@ -107,14 +107,14 @@ const canPlanetPublishMxdAndHotArea = function(data) { * @param {*} data * @returns */ -const canPlanetPublish3D = function(data) { +const canPlanetPublish3D = function (data) { { let canFB = true; let message = ''; const qSteams = []; let title = ''; - data.questions - && data.questions.forEach((s) => { + data.questions && + data.questions.forEach((s) => { if (QUESTION_TYPE.contains(s.question_type)) { try { if (s.config.is_three_dimensions && !s.config.scene) { @@ -144,15 +144,15 @@ const canPlanetPublish3D = function(data) { let message = ''; const qSteams = []; let title = ''; - data.questions - && data.questions.forEach((s) => { + data.questions && + data.questions.forEach((s) => { if (QUESTION_TYPE.contains(s.question_type)) { try { if (s.config.is_three_dimensions && s.config.is_binding_goods) { const wares = []; const _sceneInformation = s.config.scene_information; - const sceneInformation - = typeof _sceneInformation === 'string' + const sceneInformation = + typeof _sceneInformation === 'string' ? JSON.parse(_sceneInformation) : _sceneInformation; sceneInformation.shelves.forEach((shelf) => { @@ -202,14 +202,14 @@ const canPlanetPublish3D = function(data) { * @param {*} data * @returns */ -const canPlanetPublishImage = function(data) { +const canPlanetPublishImage = function (data) { { let canFB = true; let message = ''; const qSteams = []; let title = ''; - data.questions - && data.questions.forEach((s) => { + data.questions && + data.questions.forEach((s) => { if (s.question_type === 13) { try { if (s.options.length <= 0 || s.options.some((y) => y.length <= 0)) { @@ -304,8 +304,8 @@ function canPublishRandom(data, publishType) { if (!isValidated) { errors.push({ message: - field.message - || `请填写"${random.title}"中第${index + 1}组"随机题组"的"${field.name}"` + field.message || + `请填写"${random.title}"中第${index + 1}组"随机题组"的"${field.name}"` }); } }); @@ -384,11 +384,11 @@ function isLoopingLogicValid(data, publishType) { if ( (data?.cycle_pages || []).every((i) => { return ( - i.question_index - && i.relation_type !== undefined - && i.relation_type !== null - && i.first_page - && i.last_page + i.question_index && + i.relation_type !== undefined && + i.relation_type !== null && + i.first_page && + i.last_page ); }) ) { @@ -412,7 +412,7 @@ function isLoopingLogicValid(data, publishType) { * @param sn * @param publishType undefined投放;null投放;0投放;1预览;2投放;3测试 */ -export const canPlanetPublish = async function(sn, publishType) { +export const canPlanetPublish = async function (sn, publishType) { const parsedPublishType = !publishType ? 2 : publishType; const num = window.location.href.indexOf('code='); let code; diff --git a/src/request/api/modules/survey.ts b/src/request/api/modules/survey.ts index 24a3eba..c665a46 100644 --- a/src/request/api/modules/survey.ts +++ b/src/request/api/modules/survey.ts @@ -1,2 +1,2 @@ -export const surveyQuestion - = 'https://yls-api-uat.dctest.digitalyili.com/api/console/surveys/RWNK9BYp/questions'; +export const surveyQuestion = + 'https://yls-api-uat.dctest.digitalyili.com/api/console/surveys/RWNK9BYp/questions'; diff --git a/src/request/axios/index.ts b/src/request/axios/index.ts index bded0ab..9f947d0 100644 --- a/src/request/axios/index.ts +++ b/src/request/axios/index.ts @@ -39,10 +39,10 @@ service.interceptors.request.use( service.interceptors.response.use( (response) => { if ( - response.status === 200 - || response.status === 201 - || response.status === 202 - || response.status === 204 + response.status === 200 || + response.status === 201 || + response.status === 202 || + response.status === 204 ) { if (response.config.method === 'put') { // message.success('保存中...'); diff --git a/src/utils/request.js b/src/utils/request.js index 9bd34c2..183d93c 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -44,10 +44,10 @@ service.interceptors.request.use( service.interceptors.response.use( (response) => { if ( - response.status === 200 - || response.status === 201 - || response.status === 202 - || response.status === 204 + response.status === 200 || + response.status === 201 || + response.status === 202 || + response.status === 204 ) { if (response.config.method === 'put') { // message.success('保存中...'); diff --git a/src/views/Design/components/ActionCompoents/OptionAction.vue b/src/views/Design/components/ActionCompoents/OptionAction.vue index 7e928e6..8e9cec3 100644 --- a/src/views/Design/components/ActionCompoents/OptionAction.vue +++ b/src/views/Design/components/ActionCompoents/OptionAction.vue @@ -138,23 +138,23 @@ const openOptionActionModel = (item, index) => { // 上下移动 const optionMove = (action) => { switch (action.action) { - case 'up': - if (activeIndex.value === 0) { - moveShow.value = false; - return false; - } - // 向上移动 - element.value.splice(activeIndex.value - 1, 0, element.value.splice(activeIndex.value, 1)[0]); - activeIndex.value -= 1; - break; - case 'down': - if (activeIndex.value === element.value.length - 1) { - moveShow.value = false; - return false; - } - element.value.splice(activeIndex.value + 1, 0, element.value.splice(activeIndex.value, 1)[0]); - activeIndex.value += 1; - break; + case 'up': + if (activeIndex.value === 0) { + moveShow.value = false; + return false; + } + // 向上移动 + element.value.splice(activeIndex.value - 1, 0, element.value.splice(activeIndex.value, 1)[0]); + activeIndex.value -= 1; + break; + case 'down': + if (activeIndex.value === element.value.length - 1) { + moveShow.value = false; + return false; + } + element.value.splice(activeIndex.value + 1, 0, element.value.splice(activeIndex.value, 1)[0]); + activeIndex.value += 1; + break; } }; diff --git a/src/views/Design/components/ActionCompoents/components/QuestionItemAction/RateQuestionAction.vue b/src/views/Design/components/ActionCompoents/components/QuestionItemAction/RateQuestionAction.vue index 21ae153..63aca99 100644 --- a/src/views/Design/components/ActionCompoents/components/QuestionItemAction/RateQuestionAction.vue +++ b/src/views/Design/components/ActionCompoents/components/QuestionItemAction/RateQuestionAction.vue @@ -153,8 +153,7 @@ function intervalChange(value) { * @param value {number} 当数值改变之后的值 */ const minChange = (value) => { - // localConfig.value.min = value; - + localConfig.value.min = value ? value : 1; setDefaultMax(); emitInfo(); }; diff --git a/src/views/Design/components/Questions/paging/Paging.vue b/src/views/Design/components/Questions/paging/Paging.vue index 62d9592..57eb0e1 100644 --- a/src/views/Design/components/Questions/paging/Paging.vue +++ b/src/views/Design/components/Questions/paging/Paging.vue @@ -11,7 +11,8 @@ class="iconfont active-icon" :style="{ marginRight: isLastPage ? '0' : '16px' }" @click="activePage" - > + > diff --git a/src/views/Survey/views/Preview/components/AnswerViewer.vue b/src/views/Survey/views/Preview/components/AnswerViewer.vue index 40b7c63..bb6bc21 100644 --- a/src/views/Survey/views/Preview/components/AnswerViewer.vue +++ b/src/views/Survey/views/Preview/components/AnswerViewer.vue @@ -227,8 +227,8 @@ export default defineComponent({ .map((option) => { return this.wares.find( (ware) => - ware.question_index === option.question_index - && ware.option_index === option.option_index + ware.question_index === option.question_index && + ware.option_index === option.option_index ); }); wares = wares.filter((x) => x); diff --git a/src/views/Survey/views/Preview/components/PfePagination/Index.vue b/src/views/Survey/views/Preview/components/PfePagination/Index.vue index ea29dfe..a2e3e58 100644 --- a/src/views/Survey/views/Preview/components/PfePagination/Index.vue +++ b/src/views/Survey/views/Preview/components/PfePagination/Index.vue @@ -133,10 +133,10 @@ export default defineComponent({ const showLastButton = computed( () => - props.showPrevious - && props.page > props.min + props.showPrevious && + props.page > props.min && // props.page < props.pages - 1 && - && props.page > 1 + props.page > 1 ); // console.log(`pages-page`, props.page, props.pages); return { diff --git a/src/views/Survey/views/Preview/components/SceneSurveyViewerPage/Index.vue b/src/views/Survey/views/Preview/components/SceneSurveyViewerPage/Index.vue index ec41269..9c92e1f 100644 --- a/src/views/Survey/views/Preview/components/SceneSurveyViewerPage/Index.vue +++ b/src/views/Survey/views/Preview/components/SceneSurveyViewerPage/Index.vue @@ -144,7 +144,7 @@ export default { methods: { debounce(func, wait) { let timeout; - return function(...args) { + return function (...args) { clearTimeout(timeout); timeout = setTimeout(() => func.apply(this, args), wait); }; diff --git a/src/views/Survey/views/Preview/components/questions/QRadio.vue b/src/views/Survey/views/Preview/components/questions/QRadio.vue index d6a06e3..6c3250a 100644 --- a/src/views/Survey/views/Preview/components/questions/QRadio.vue +++ b/src/views/Survey/views/Preview/components/questions/QRadio.vue @@ -267,16 +267,16 @@ export default defineComponent({ }); if ( - !compareArrayByField(options.value, newOptions, 'option_key') - || !compareArrayByField(options.value, newOptions, 'option') + !compareArrayByField(options.value, newOptions, 'option_key') || + !compareArrayByField(options.value, newOptions, 'option') ) { options.value = newOptions; } // 清空值和答案 if ( - value.value - && options.value.findIndex((option) => option.option_key === value.value) === -1 + value.value && + options.value.findIndex((option) => option.option_key === value.value) === -1 ) { // 清空值 value.value = ''; @@ -294,8 +294,8 @@ export default defineComponent({ () => options.value, (val, oldVal) => { if ( - compareArrayByField(val, oldVal || [], 'option_key') - && compareArrayByField(val, oldVal || [], 'option') + compareArrayByField(val, oldVal || [], 'option_key') && + compareArrayByField(val, oldVal || [], 'option') ) { return; } diff --git a/src/views/Survey/views/Preview/components/questions/Question.vue b/src/views/Survey/views/Preview/components/questions/Question.vue index 86e6b5c..dddb848 100644 --- a/src/views/Survey/views/Preview/components/questions/Question.vue +++ b/src/views/Survey/views/Preview/components/questions/Question.vue @@ -147,8 +147,8 @@ export default defineComponent({ // 替换文本 let replacement = ''; // 查找引用问题 - const question - = props.questions.find((question) => { + const question = + props.questions.find((question) => { // 矩阵题 if (question.question_type >= 8 && question.question_type <= 11) { return question.title === value.split('_R')[0].split('_C')[0]; @@ -158,8 +158,8 @@ export default defineComponent({ return question.title === value.split('_A')[0]; } return question.title === value; - }) - || props.questions.find((question) => { + }) || + props.questions.find((question) => { // 矩阵题 if (question.question_type >= 8 && question.question_type <= 11) { return question.title === (value + cycleIndexStr).split('_R')[0].split('_C')[0]; @@ -187,8 +187,8 @@ export default defineComponent({ replacement = answer[option.option_key]; } } else if ( - question.question_type === 2 - && Object.keys(answer).length >= question.config.min_select + question.question_type === 2 && + Object.keys(answer).length >= question.config.min_select ) { // 查找引用选项(多选) options.forEach((option) => { diff --git a/src/views/Survey/views/Preview/js/language.js b/src/views/Survey/views/Preview/js/language.js index e2b2ee5..a4edc74 100644 --- a/src/views/Survey/views/Preview/js/language.js +++ b/src/views/Survey/views/Preview/js/language.js @@ -350,7 +350,7 @@ export const language = { zh: '请点击查看图片' }, NoteCantViewAfterTimeLimit: { - en: 'Note: Can\'t view after time limit', + en: "Note: Can't view after time limit", zh: '注意:超过显示时间限制后将无法再次查看' }, DisplayTimeLimitExceeded: { diff --git a/src/views/Survey/views/Preview/js/logical.js b/src/views/Survey/views/Preview/js/logical.js index 1cf5d42..c8cf555 100644 --- a/src/views/Survey/views/Preview/js/logical.js +++ b/src/views/Survey/views/Preview/js/logical.js @@ -250,10 +250,10 @@ function quesHandle(answer, logChild) { const matrixRateHandle = () => { // 如果配置的逻辑中参数为空,则代表没有配置逻辑匹配值,此时不做校验 if ( - logChild.cell_index === 0 - || logChild.row_index === 0 - || !logChild.operator - || !logChild.value + logChild.cell_index === 0 || + logChild.row_index === 0 || + !logChild.operator || + !logChild.value ) { return true; } @@ -265,10 +265,10 @@ function quesHandle(answer, logChild) { const matrixInputHandle = () => { // 如果配置的逻辑中参数为空,则代表没有配置逻辑匹配值,此时不做校验 if ( - logChild.cell_index === 0 - || logChild.row_index === 0 - || !logChild.operator - || !logChild.value + logChild.cell_index === 0 || + logChild.row_index === 0 || + !logChild.operator || + !logChild.value ) { return true; } @@ -428,59 +428,59 @@ function getConditionStatus(logChild) { if (answer) { try { switch (logChild.question_type) { - case 1: - quesStatus = quesHandles.choiceHandle(config); - break; - case 2: - quesStatus = quesHandles.choiceCheckBoxHandle(config); - break; - case 3: - quesStatus = quesHandles.cascaderHandle(); - break; - case 4: - quesStatus = quesHandles.inputHandle(); - break; - case 5: - quesStatus = quesHandles.rateHandle(); - break; - case 7: - quesStatus = quesHandles.dateTimeHandle(); - break; - case 8: - quesStatus = quesHandles.matrixInputHandle(); - break; - case 9: - quesStatus = quesHandles.matrixRadioHandle(config); - break; - case 10: - quesStatus = quesHandles.matrixCheckboxHandle(config); - break; - case 11: - quesStatus = quesHandles.matrixRateHandle(); - break; - case 13: - quesStatus = quesHandles.imgRadioHandle(); - break; - case 14: - quesStatus = quesHandles.imgCheckBoxHandle(); - break; - case 15: - quesStatus = quesHandles.classifyHandle(); - break; - case 16: - quesStatus = quesHandles.sortHandle(); - break; - case 17: - quesStatus = quesHandles.constantSumHandle(); - break; - case 23: - quesStatus = quesHandles.agreementHandle(); - break; - case 101: - quesStatus = quesHandles.psmHandle(config); - break; - default: - break; + case 1: + quesStatus = quesHandles.choiceHandle(config); + break; + case 2: + quesStatus = quesHandles.choiceCheckBoxHandle(config); + break; + case 3: + quesStatus = quesHandles.cascaderHandle(); + break; + case 4: + quesStatus = quesHandles.inputHandle(); + break; + case 5: + quesStatus = quesHandles.rateHandle(); + break; + case 7: + quesStatus = quesHandles.dateTimeHandle(); + break; + case 8: + quesStatus = quesHandles.matrixInputHandle(); + break; + case 9: + quesStatus = quesHandles.matrixRadioHandle(config); + break; + case 10: + quesStatus = quesHandles.matrixCheckboxHandle(config); + break; + case 11: + quesStatus = quesHandles.matrixRateHandle(); + break; + case 13: + quesStatus = quesHandles.imgRadioHandle(); + break; + case 14: + quesStatus = quesHandles.imgCheckBoxHandle(); + break; + case 15: + quesStatus = quesHandles.classifyHandle(); + break; + case 16: + quesStatus = quesHandles.sortHandle(); + break; + case 17: + quesStatus = quesHandles.constantSumHandle(); + break; + case 23: + quesStatus = quesHandles.agreementHandle(); + break; + case 101: + quesStatus = quesHandles.psmHandle(config); + break; + default: + break; } } catch (error) { // console.log(error); @@ -519,10 +519,10 @@ function getlogicStatus(questionData) { // } else { // statusStr = statusStr + conditionStatus; // } - statusStr - = statusStr - + (logChild.logic === 'and' ? '&&' : logChild.logic === 'or' ? '||' : '') - + conditionStatus; + statusStr = + statusStr + + (logChild.logic === 'and' ? '&&' : logChild.logic === 'or' ? '||' : '') + + conditionStatus; }); // eslint-disable-next-line no-eval logs.logicStatus = eval(statusStr); diff --git a/src/views/Survey/views/Preview/js/mock.js b/src/views/Survey/views/Preview/js/mock.js index f4c3e84..93dea50 100644 --- a/src/views/Survey/views/Preview/js/mock.js +++ b/src/views/Survey/views/Preview/js/mock.js @@ -105,8 +105,8 @@ export default function answerMock(questionsData, page) { } else if (logic.skip_type === 4) { // 只计算跳转后所在页面的隐藏逻辑,否则会出现只返回最后一道隐藏选项题目的情况,导致失效 const toPage = page + 1; - const hasHiddenLogicQuizPage - = data.pages.findIndex((page) => page.includes(logic.question_index)) + 1; + const hasHiddenLogicQuizPage = + data.pages.findIndex((page) => page.includes(logic.question_index)) + 1; if (hasHiddenLogicQuizPage === toPage) { // 选项隐藏逻辑 updateOptionHidden(data.hide_options, logic); diff --git a/src/views/Survey/views/Preview/js/questions.js b/src/views/Survey/views/Preview/js/questions.js index cc207d7..b89a20e 100644 --- a/src/views/Survey/views/Preview/js/questions.js +++ b/src/views/Survey/views/Preview/js/questions.js @@ -155,9 +155,9 @@ export default defineComponent({ question.error = translatedText.value.ThisIsARequiredQuestion; } } else if ( - answer - && questionType === 1 - && Object.keys(answer).findIndex((value) => !answer[value]) !== -1 + answer && + questionType === 1 && + Object.keys(answer).findIndex((value) => !answer[value]) !== -1 ) { // 单选题 isError = true; @@ -303,9 +303,9 @@ export default defineComponent({ } else if (answer && questionType === 12) { question.error = ''; } else if ( - answer - && questionType === 14 - && Object.keys(answer).length < config.min_select + answer && + questionType === 14 && + Object.keys(answer).length < config.min_select ) { // 图片多选题 isError = true; @@ -341,51 +341,51 @@ export default defineComponent({ const { value } = answer; const newValue = value.replace(/\n|\r|\r\n/g, ''); switch (config.text_type) { - // 字母 - case 3: - isError - = config.include_mark === 1 - ? !/^[a-zA-Z·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘’,。、`~!@#$%^&*()_\-+=<>?:"{}|,./;'\\[\]]+$/.test( - newValue - ) || !newValue.length - : !/^[a-zA-Z]+$/.test(newValue) || !newValue.length; - question.error = isError ? translatedText.value.PleaseEnterEnglishLetters : ''; - break; + // 字母 + case 3: + isError = + config.include_mark === 1 + ? !/^[a-zA-Z·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘’,。、`~!@#$%^&*()_\-+=<>?:"{}|,./;'\\[\]]+$/.test( + newValue + ) || !newValue.length + : !/^[a-zA-Z]+$/.test(newValue) || !newValue.length; + question.error = isError ? translatedText.value.PleaseEnterEnglishLetters : ''; + break; // 中文 - case 4: - isError - = config.include_mark === 1 - ? !/^(?:[\u3400-\u4DB5\u4E00-\u9FEA\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|[·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘’,。、`~!@#$%^&*()_\-+=<>?:"{}|,./;'\\[\]])+$/.test( - newValue - ) || !newValue.length - : !/^(?:[\u3400-\u4DB5\u4E00-\u9FEA\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0])+$/.test( - newValue - ) || !newValue.length; - question.error = isError ? translatedText.value.PleaseEnterChineseWords : ''; - break; + case 4: + isError = + config.include_mark === 1 + ? !/^(?:[\u3400-\u4DB5\u4E00-\u9FEA\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|[·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘’,。、`~!@#$%^&*()_\-+=<>?:"{}|,./;'\\[\]])+$/.test( + newValue + ) || !newValue.length + : !/^(?:[\u3400-\u4DB5\u4E00-\u9FEA\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0])+$/.test( + newValue + ) || !newValue.length; + question.error = isError ? translatedText.value.PleaseEnterChineseWords : ''; + break; // 邮箱 - case 5: - isError - = !/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test( - value - ); - question.error = isError ? translatedText.value.PleaseEnterACorrectEmail : ''; - break; + case 5: + isError = + !/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test( + value + ); + question.error = isError ? translatedText.value.PleaseEnterACorrectEmail : ''; + break; // 手机号 - case 6: - isError = !/^(?:(?:\+|00)86)?1[3-9]\d{9}$/.test(value); - question.error = isError ? translatedText.value.PleaseEnterACorrectPhone : ''; - break; + case 6: + isError = !/^(?:(?:\+|00)86)?1[3-9]\d{9}$/.test(value); + question.error = isError ? translatedText.value.PleaseEnterACorrectPhone : ''; + break; // 身份证号 - case 7: - isError - = !/^[1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\d|30|31)\d{3}[\dXx]$/.test( - value - ); - question.error = isError ? translatedText.value.PleaseEnterACorrectID : ''; - break; - default: - break; + case 7: + isError = + !/^[1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\d|30|31)\d{3}[\dXx]$/.test( + value + ); + question.error = isError ? translatedText.value.PleaseEnterACorrectID : ''; + break; + default: + break; } if (!isError && value.length < config.min && ![1, 2].includes(config.text_type)) { isError = true; @@ -397,59 +397,59 @@ export default defineComponent({ Object.keys(answer).forEach((key) => { const value = answer[key]; switch (config.text_type) { - // 字母 - case 3: - if ( - !/^[a-zA-Z·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘’,。、`~!@#$%^&*()_\-+=<>?:"{}|,./;'\\[\]]+$/.test( - value - ) - ) { - question.error = translatedText.value.PleaseEnterEnglishLetters; - } - break; + // 字母 + case 3: + if ( + !/^[a-zA-Z·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘’,。、`~!@#$%^&*()_\-+=<>?:"{}|,./;'\\[\]]+$/.test( + value + ) + ) { + question.error = translatedText.value.PleaseEnterEnglishLetters; + } + break; // 中文 - case 4: - if ( - !/^(?:[\u3400-\u4DB5\u4E00-\u9FEA\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|[·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘’,。、`~!@#$%^&*()_\-+=<>?:"{}|,./;'\\[\]])+$/.test( - value - ) - ) { - question.error = translatedText.value.PleaseEnterChineseWords; - } - break; + case 4: + if ( + !/^(?:[\u3400-\u4DB5\u4E00-\u9FEA\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|[·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘’,。、`~!@#$%^&*()_\-+=<>?:"{}|,./;'\\[\]])+$/.test( + value + ) + ) { + question.error = translatedText.value.PleaseEnterChineseWords; + } + break; // 邮箱 - case 5: - if ( - !/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test( - value - ) - ) { - question.error = translatedText.value.PleaseEnterACorrectEmail; - } - break; + case 5: + if ( + !/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test( + value + ) + ) { + question.error = translatedText.value.PleaseEnterACorrectEmail; + } + break; // 手机号 - case 6: - if (!/^(?:(?:\+|00)86)?1[3-9]\d{9}$/.test(value)) { - question.error = translatedText.value.PleaseEnterACorrectPhone; - } - break; + case 6: + if (!/^(?:(?:\+|00)86)?1[3-9]\d{9}$/.test(value)) { + question.error = translatedText.value.PleaseEnterACorrectPhone; + } + break; // 身份证号 - case 7: - if ( - !/^[1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\d|30|31)\d{3}[\dXx]$/.test( - value - ) - ) { - question.error = translatedText.value.PleaseEnterACorrectID; - } - break; - default: - break; + case 7: + if ( + !/^[1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\d|30|31)\d{3}[\dXx]$/.test( + value + ) + ) { + question.error = translatedText.value.PleaseEnterACorrectID; + } + break; + default: + break; } if ( - !question.error - && value.length < config.min - && ![1, 2].includes(config.text_type) + !question.error && + value.length < config.min && + ![1, 2].includes(config.text_type) ) { question.error = translatedText.value.PleaseEnterMoreThanOneCharacters(config.min); } @@ -825,8 +825,8 @@ export default defineComponent({ const evt1 = {}; if ([1].includes(question.question_type)) { - evt1.value - = Object.keys(question.answer) + evt1.value = + Object.keys(question.answer) .map((key) => (question.answer[key] ? key : undefined)) .filter((i) => !!i)?.[0] || undefined; evt1.options = question.list.flatMap((i) => i.options); diff --git a/src/views/Survey/views/Publish/Index.vue b/src/views/Survey/views/Publish/Index.vue index 11d41f2..0a4914c 100644 --- a/src/views/Survey/views/Publish/Index.vue +++ b/src/views/Survey/views/Publish/Index.vue @@ -24,7 +24,13 @@
点击"启用"按钮后,问卷才可以开始回收数据
- + @@ -237,7 +243,7 @@ onMounted(async () => { } } - >img { + > img { border: 1px solid #ebebeb; border-radius: 10px; width: 100px; diff --git a/src/views/Survey/views/Success/Index.vue b/src/views/Survey/views/Success/Index.vue index e85b8d2..9da41c8 100644 --- a/src/views/Survey/views/Success/Index.vue +++ b/src/views/Survey/views/Success/Index.vue @@ -6,8 +6,8 @@