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}` }
+ ]"
>
+ {formItemChange(val, question)})"
+ >
+
+
+ {formItemChange(val, question)})"
+ >
+
+
{formItemNumberChange(val, question)})"
@@ -125,7 +138,7 @@
%
{{$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')