zhouna 4 tahun lalu
induk
melakukan
a851dff2e4

+ 7 - 6
src/components/knowledgeExtra/AddDiagBase.vue

@@ -123,6 +123,7 @@
                             that.rules['klDiagnoseTypeVO.'+i+'.groupVO.'+x+'.fitNo']=[{required: true, message: '请选择符合条件的数量',trigger: ['change'] }];
                             let list2=list1[x].klDiagnoseDetail;
                             list2.forEach((t,j)=>{
+                                const grandeObj = this.form.klDiagnoseTypeVO[i].groupVO[x].klDiagnoseDetail[j];
                                 that.rules['klDiagnoseTypeVO.'+i+'.groupVO.'+x+'.klDiagnoseDetail.'+j+'.basDescription']=[{required: true, message: '请输入基础依据名称',trigger: ['blur'] }];
                                 that.rules['klDiagnoseTypeVO.'+i+'.groupVO.'+x+'.klDiagnoseDetail.'+j+'.basType']=[{ required: true, message: '请选择基础依据类型',trigger: ['change'] }];
                                 that.rules['klDiagnoseTypeVO.'+i+'.groupVO.'+x+'.klDiagnoseDetail.'+j+'.basLibType']=[{ required: true, message: '请选择基础依据术语类型',trigger: ['change'] }];
@@ -130,7 +131,7 @@
                                 that.rules['klDiagnoseTypeVO.'+i+'.groupVO.'+x+'.klDiagnoseDetail.'+j+'.dataType']=[{ required: true, message: '请选择类型',trigger: ['change'] }];
                                 that.rules['klDiagnoseTypeVO.'+i+'.groupVO.'+x+'.klDiagnoseDetail.'+j+'.maxOperator']=[{
                                     validator: (rule,value,callback)=>{
-                                        const {maxVal,minOperator,minVal}=this.groupData;
+                                        const {maxVal,minOperator,minVal}=grandeObj;
                                         const val=value+minOperator+minVal+maxVal;
                                         if(!val||(!value&&maxVal!=='')){
                                             callback(new Error('最大值和最小值至少完整填写一个,单位不必填'));
@@ -140,7 +141,7 @@
                                 }];
                                 that.rules['klDiagnoseTypeVO.'+i+'.groupVO.'+x+'.klDiagnoseDetail.'+j+'.minOperator']=[{
                                     validator: (rule,value,callback)=>{
-                                        const {maxVal,maxOperator,minVal}=this.groupData;
+                                        const {maxVal,maxOperator,minVal}=grandeObj;
                                         const val=value+maxOperator+minVal+maxVal;
                                         if(!val||(!value&&minVal!=='')){
                                             callback(new Error('最大值和最小值至少完整填写一个,单位不必填'));
@@ -150,7 +151,7 @@
                                 }];
                                 that.rules['klDiagnoseTypeVO.'+i+'.groupVO.'+x+'.klDiagnoseDetail.'+j+'.maxVal']=[{
                                     validator: (rule,value,callback)=>{
-                                        const {maxOperator,minOperator,minVal}=this.groupData;
+                                        const {maxOperator,minOperator,minVal}=grandeObj;
                                         const val=value+maxOperator+minVal+minOperator;
                                         const isNum=/^(\-|\+)?\d+(\.\d+)?$/.test(value);
                                         if(!val||(value==''&&maxOperator)){
@@ -163,7 +164,7 @@
                                 }]
                                 that.rules['klDiagnoseTypeVO.'+i+'.groupVO.'+x+'.klDiagnoseDetail.'+j+'.minVal']=[{
                                     validator: (rule,value,callback)=>{
-                                        const {maxVal,minOperator,maxOperator}=this.groupData;
+                                        const {maxVal,minOperator,maxOperator}=grandeObj;
                                         const val=value+maxOperator+maxVal+minOperator;
                                         const isNum=/^(\-|\+)?\d+(\.\d+)?$/.test(value);
                                         if(!val||(value==''&&minOperator)){
@@ -177,9 +178,9 @@
                                 that.rules['klDiagnoseTypeVO.'+i+'.groupVO.'+x+'.klDiagnoseDetail.'+j+'.eqValue']=[{
                                     validator: (rule,value,callback)=>{
                                         if(value===''){
-                                            callback(new Error('请输入'+this.textName));
+                                            callback(new Error('不能为空~'));
                                         }else if(value.length>200){
-                                            callback(new Error(this.textName+'不能超过200字'));
+                                            callback(new Error('不能超过200字'));
                                         }else{
                                             callback();
                                         }}, trigger: 'blur'

+ 17 - 11
src/components/knowledgeExtra/DiagBaseItem.vue

@@ -61,7 +61,7 @@
             <el-form-item class="min-margin" v-if="groupData.dataType==='1'||onlyNum" label="最大值:">
                 <div class="select-item clearfix">
                     <el-col :span="3">
-                        <el-form-item prop="maxOperator">
+                        <el-form-item :prop="ruleLine+ind+'.maxOperator'">
                             <el-select v-model="groupData.maxOperator"
                                        placeholder="请选择"
                                        size="small" clearable>
@@ -75,7 +75,7 @@
                         </el-form-item>
                     </el-col>
                     <el-col :span="3">
-                        <el-form-item prop="maxVal">
+                        <el-form-item :prop="ruleLine+ind+'.maxVal'">
                             <el-input type="text" v-model="groupData.maxVal" placeholder="填写数值"/>
                         </el-form-item>
                     </el-col>
@@ -89,7 +89,7 @@
             <el-form-item class="min-margin" v-if="groupData.dataType==='1'||onlyNum" label="最小值:">
                 <div class="select-item clearfix">
                     <el-col :span="3">
-                        <el-form-item prop="minOperator">
+                        <el-form-item :prop="ruleLine+ind+'.minOperator'">
                             <el-select v-model="groupData.minOperator"
                                        placeholder="请选择"
                                        size="small" clearable>
@@ -103,7 +103,7 @@
                         </el-form-item>
                     </el-col>
                     <el-col :span="3">
-                        <el-form-item prop="minVal">
+                        <el-form-item :prop="ruleLine+ind+'.minVal'">
                             <el-input type="text" v-model="groupData.minVal" placeholder="填写数值"/>
                         </el-form-item>
                     </el-col>
@@ -138,7 +138,7 @@
                 baseTermTypeList:[],
                 typeList:[],
                 numTypes:'',    //只有数值类型的类型id
-                basTypeName:'',
+                //basTypeName:'',
                 operMaxList:[
                     {name:'<=',key:'<='},
                     {name:'<',key:'<'},
@@ -159,12 +159,22 @@
             },
         },
         created(){
-            this.conceptList=[{conceptName:this.groupData.subLibName||this.groupData.subConceptName,conceptId:this.groupData.basConceptId}];
+            if(this.groupData.maxOperator||this.groupData.minOperator){
+                this.groupData.dataType='1';
+            }else if(this.groupData.eqValue){
+                this.groupData.dataType='2';
+            }
+        },
+        mounted(){
+            this.conceptList=[{conceptName:this.groupData.basLibName,conceptId:this.groupData.basConceptId}];
             if(this.groupData.basLibType){
-                this.baseTermTypeList=[{name:this.groupData.subLenName,code:this.groupData.basLibType}];
+                this.baseTermTypeList=[{name:this.groupData.basLename,code:this.groupData.basLibType}];
             }
         },
         computed:{
+            basTypeName:function(){
+                return (this.baseTypes.find((it)=>it.type===this.groupData.basType)||{}).name;
+            },
             onlyNum:function(){
                 const codes=localStorage.getItem("zskDiagDicts")+',';
                 const type=this.groupData.basLibType;
@@ -192,10 +202,6 @@
                     this.baseTermTypeList =[];
                     return;
                 }
-                if(this.showRegx){      //正则
-                    this.basTypeName=this.baseTypes.find((it)=>it.type===val).name;
-                    return;
-                }
                 this.groupData.basLibType='';
                 this.clearConcept();    //清空医学标准术语
                 this.clearNumText();    //清空数值、医学内容