From bbc2d4333565e5d5e9052f61567477ef06cb7687 Mon Sep 17 00:00:00 2001 From: caiyiling <1321909229@qq.com> Date: Mon, 21 Oct 2024 14:55:26 +0800 Subject: [PATCH] =?UTF-8?q?=E9=98=85=E7=89=87=E6=A0=87=E5=87=86=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/CriterionQuestionForm.vue | 15 ++- .../template/components/TableQsForm.vue | 11 +- .../components/QuestionFormItem.vue | 17 ++- .../components/QuestionTableFormItem.vue | 17 ++- .../reading-unit/components/QuestionsForm.vue | 107 ++++++++++-------- .../reading-unit/components/TableQsForm.vue | 62 ++++++---- 6 files changed, 149 insertions(+), 80 deletions(-) diff --git a/src/views/dictionary/template/components/CriterionQuestionForm.vue b/src/views/dictionary/template/components/CriterionQuestionForm.vue index b5bff7c3..d3123e27 100644 --- a/src/views/dictionary/template/components/CriterionQuestionForm.vue +++ b/src/views/dictionary/template/components/CriterionQuestionForm.vue @@ -49,6 +49,10 @@ v-if="form.Type !== 'group'" label="问题名称" prop="QuestionName" + :rules="[ + { required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' }, + { max: form.Type === 'summary' ? 500 : 100, message: `${this.$t('common:ruleMessage:maxLength')} ${form.Type === 'summary' ? 500 : 100}` } + ]" > @@ -57,6 +61,9 @@ v-if="form.Type !== 'group'" label="问题名称(EN)" prop="QuestionEnName" + :rules="[ + { max: form.Type === 'summary' ? 500 : 100, message: `${this.$t('common:ruleMessage:maxLength')} ${form.Type === 'summary' ? 500 : 100}` } + ]" > @@ -749,10 +756,10 @@ export default { rules: { Type: [{ required: true, message: '请选择', trigger: 'blur' }], LesionType: [{ required: true, message: '请选择', trigger: 'blur' }], - QuestionName: [ - { required: true, message: '请注明', trigger: 'blur' }, - { max: 300, message: '最大长度为 300' }, - ], + // QuestionName: [ + // { required: true, message: '请注明', trigger: 'blur' }, + // { max: 300, message: '最大长度为 300' }, + // ], QuestionGenre: [{ required: true, message: '请选择', trigger: 'blur' }], TypeValue: [ { required: true, message: '请注明', trigger: 'blur' }, diff --git a/src/views/dictionary/template/components/TableQsForm.vue b/src/views/dictionary/template/components/TableQsForm.vue index dc091fa1..3529de9f 100644 --- a/src/views/dictionary/template/components/TableQsForm.vue +++ b/src/views/dictionary/template/components/TableQsForm.vue @@ -28,6 +28,10 @@ v-if="form.Type !== 'group'" label="问题名称" prop="QuestionName" + :rules="[ + { required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' }, + { max: form.Type === 'summary' ? 500 : 100, message: `${this.$t('common:ruleMessage:maxLength')} ${form.Type === 'summary' ? 500 : 100}` } + ]" > + + + + + + % {{$t('trials:readingUnit:title:privateProperties')}} + + + + + {{ item.label }} + + + @@ -375,7 +409,7 @@ /> - @@ -383,7 +417,7 @@ :disabled="form.DataSource === 1" v-model="form.DefaultValue" /> - + --> @@ -444,28 +478,7 @@ - - - - - {{ item.label }} - - - + { - if (value === '') { - callback(new Error(this.$t('common:ruleMessage:specify'))) - } else { - var arr = value.split('|') - if (new Set(arr).size !== arr.length) { - // '选项不允许存在相同值' - callback(new Error(this.$t('trials:readingUnit:qsList:message:msg0'))) - } else { - callback() - } - } - } return { ClassifyAlgorithmsList: [], form: { @@ -858,13 +858,10 @@ export default { Type: [ {required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change']} ], - QuestionName: [{required: true, message: this.$t('common:ruleMessage:specify'), trigger: ['blur', 'change']}, - {max: 50, message: `${this.$t('common:ruleMessage:maxLength')} 50`}], - QuestionEnName:[{required: true, message: this.$t('common:ruleMessage:specify'), trigger: ['blur', 'change']}, - {max: 50, message: `${this.$t('common:ruleMessage:maxLength')} 50`}], - TypeValue: [{required: true, message: this.$t('common:ruleMessage:specify'), trigger: ['blur', 'change']}, - {validator: validateTypeVal, trigger: ['blur', 'change']}, - {max: 200, message: `${this.$t('common:ruleMessage:maxLength')} 200`}], + // QuestionName: [{required: true, message: this.$t('common:ruleMessage:specify'), trigger: ['blur', 'change']}, + // {max: 50, message: `${this.$t('common:ruleMessage:maxLength')} 50`}], + // QuestionEnName:[{required: true, message: this.$t('common:ruleMessage:specify'), trigger: ['blur', 'change']}, + // {max: 50, message: `${this.$t('common:ruleMessage:maxLength')} 50`}], ShowQuestion: [{required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change']}], IsRequired: [{required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change']}], ParentId: [{required: true, message: this.$t('common:ruleMessage:select'), trigger: ['blur', 'change']}], @@ -896,7 +893,8 @@ export default { lesionTypes: [], Questions: [], tableQuestions: [], - isShow: true + isShow: true, + validateTypeVal:null } }, watch: { @@ -905,6 +903,21 @@ export default { } }, mounted() { + this.validateTypeVal = (rule, value, callback) => { + if (value === '') { + callback(new Error(this.$t('common:ruleMessage:specify'))) + } else { + var arr = value.split('|') + if (new Set(arr).size !== arr.length) { + // '选项不允许存在相同值' + callback(new Error(this.$t('trials:readingUnit:qsList:message:msg0'))) + } else if (this.form.Type === 'number' && arr.findIndex(i=>isNaN(parseFloat(i)) && i!== 'NE') > -1) { + callback(new Error(this.$t('trials:readingUnit:qsList:message:msg5'))) + } else { + callback() + } + } + } this.initForm() this.getBasicConfigSelect() this.getCalculateQuestions('number') diff --git a/src/views/trials/trials-panel/setting/reading-unit/components/TableQsForm.vue b/src/views/trials/trials-panel/setting/reading-unit/components/TableQsForm.vue index 74dc41cf..fbbe30c7 100644 --- a/src/views/trials/trials-panel/setting/reading-unit/components/TableQsForm.vue +++ b/src/views/trials/trials-panel/setting/reading-unit/components/TableQsForm.vue @@ -31,6 +31,10 @@ v-if="form.Type !== 'group'&& $i18n.locale !== 'en'" :label="$t('trials:readingUnit:qsList:title:qsName')" prop="QuestionName" + :rules="[ + { required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' }, + { max: form.Type === 'summary' ? 500 : 100, message: `${this.$t('common:ruleMessage:maxLength')} ${form.Type === 'summary' ? 500 : 100}` } + ]" > @@ -401,7 +413,7 @@ { - if (value === '') { - callback(new Error(this.$t('common:ruleMessage:specify'))) - } else { - var arr = value.split('|') - if (new Set(arr).size !== arr.length) { - callback(new Error(this.$t('trials:medicalFeedbackCfg:message:msg2'))) - } else { - callback() - } - } - } return { ClassifyAlgorithmsList: [], form: { @@ -679,13 +679,13 @@ export default { Type: [ { required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' } ], - QuestionName: [{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' }, - { max: 200, message: `${this.$t('common:ruleMessage:maxLength')} 200` }], - QuestionEnName:[{required: true, message: this.$t('common:ruleMessage:specify'), trigger: ['blur', 'change']}, - {max: 50, message: `${this.$t('common:ruleMessage:maxLength')} 50`}], - TypeValue: [{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' }, - { validator: validateTypeVal, trigger: 'blur' }, - { max: 200, message: `${this.$t('common:ruleMessage:maxLength')} 200` }], + // QuestionName: [{ required: true, message: this.$t('common:ruleMessage:specify'), trigger: 'blur' }, + // { max: 200, message: `${this.$t('common:ruleMessage:maxLength')} 200` }], + // QuestionEnName:[{required: true, message: this.$t('common:ruleMessage:specify'), trigger: ['blur', 'change']}, + // {max: 50, message: `${this.$t('common:ruleMessage:maxLength')} 50`}], + // TypeValue: [{ required: form.Type !== 'number', message: this.$t('common:ruleMessage:specify'), trigger: 'blur' }, + // { validator: validateTypeVal, trigger: 'blur' }, + // { max: 200, message: `${this.$t('common:ruleMessage:maxLength')} 200` }], ShowQuestion: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }], IsRequired: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }], ParentId: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }], @@ -708,7 +708,8 @@ export default { Questions: [], tableQuestions: [], LimitEdit: 0, - highlightAnswers: [] + highlightAnswers: [], + validateTypeVal: null } }, watch: { @@ -733,6 +734,21 @@ export default { } }, mounted() { + this.validateTypeVal = (rule, value, callback) => { + if (value === '') { + callback(new Error(this.$t('common:ruleMessage:specify'))) + } else { + var arr = value.split('|') + if (new Set(arr).size !== arr.length) { + // '选项不允许存在相同值' + callback(new Error(this.$t('trials:readingUnit:qsList:message:msg0'))) + } else if (this.form.Type === 'number' && arr.findIndex(i=>isNaN(parseFloat(i)) && i!== 'NE') > -1) { + callback(new Error(this.$t('trials:readingUnit:qsList:message:msg5'))) + } else { + callback() + } + } + } this.initForm() this.getCalculateTableQuestions('number') this.getCalculateTableQuestions('table')