Explorar o código

Merge branch 'test' of http://192.168.2.236:10080/zhouna/platformFront into test

luolei %!s(int64=4) %!d(string=hai) anos
pai
achega
3ca691be10

+ 16 - 3
src/components/knowledgeExtra/AddDiagBase.vue

@@ -25,6 +25,7 @@
                                        :isLast="form.klDiagnoseTypeVO.length===1"
                                        @setRules="setRules"
                                        @addDiag="addDiag"
+                                       @copyDiag="copyDiag"
                                        @delDiag="delDiag"></DiagBaseType>
                     </el-form-item>
                     <el-button class="disclButn" size="small" type="primary" @click="confirm">保存</el-button>
@@ -74,7 +75,7 @@
                 id:null,
                 rules:{
                     conceptId:[{ required: true, message: '请输入疾病名称',trigger: ['blur'] }],
-                    description:[{ required: true, message: '请输入诊断依据描述',trigger: ['blur'] },{
+                    description:[{
                         validator: (rule,value,callback)=>{
                             if(value.length>100){
                                 callback(new Error('诊断依据描述不能超过100字'));
@@ -94,7 +95,13 @@
                 this.title = "诊断依据维护-"+(this.isCopy?'复制':'修改')+"诊断依据";
                 this.conceptList = [{conceptId:info.conceptId,conceptName:info.conceptName}];
                 this.form=Object.assign({},this.form,this.formatData(info));
-                this.isCopy&&delete this.form.id;
+                if(this.isCopy){
+                    this.conceptList =[];
+                    delete this.form.conceptName;
+                    delete this.form.conceptId;
+                    delete this.form.description;
+                    delete this.form.id;
+                }
                 console.log(info)
             }
             this.setRules()
@@ -240,6 +247,11 @@
                 this.form.klDiagnoseTypeVO.push(temp);
                 this.setRules();
             },
+            copyDiag(i){
+                let temp = JSON.parse(JSON.stringify(this.form.klDiagnoseTypeVO[i]));
+                this.form.klDiagnoseTypeVO.splice(i,0,temp);
+                this.setRules();
+            },
             delDiag(i){
                 this.form.klDiagnoseTypeVO.splice(i,1);
             },
@@ -304,7 +316,8 @@
         .discDesc{
             margin-bottom: 20px;
             .el-form-item__error{
-                top: auto;
+                top: 9px;
+                left:200px;
                 white-space: nowrap;
                 background: #fff;
             }

+ 1 - 1
src/components/knowledgeExtra/DiagBase.vue

@@ -156,7 +156,7 @@
                 api.zskgetDict().then((res) => {
                     if (res.data.code == '0') {
                         const data = res.data.data;
-                        localStorage.setItem("zskDiagDicts",data['24'][0].val);
+                        localStorage.setItem("zskDiagDicts",`{"onlyNum":"${data['24'][0].val}","onlyTxt":"${data['25'][0].val}"}`);
                     }
                 }).catch((error) => {
                     console.log(error);

+ 3 - 3
src/components/knowledgeExtra/DiagBaseGroup.vue

@@ -133,17 +133,17 @@
     .group-items{
         padding:10px 20px;
         margin: 10px 20px;
-        background: #F5F5F5;
+        background: #E3EAF4;
         border:1px #ccc dashed;
     }
     .diag-num{
         background: #fff;
-        padding: 13px 0;
+        padding: 10px 0;
         /*border-bottom: 1px solid #E6E6E6;*/
     }
     .group-oper{
         text-align: center;
-        padding: 11px 0;
+        padding: 8px 0;
         border-top: 4px solid #F5F5F5;
         background: #fff;
         margin: 0 20px;

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

@@ -46,7 +46,7 @@
                     </el-option>
                 </el-select>
             </el-form-item>
-            <el-form-item v-if="groupData.basType===2&&!onlyNum" label="选择类型:" :prop="ruleLine+ind+'.dataType'">
+            <el-form-item v-if="groupData.basType===2&&!onlyNum&&!onlyTxt" label="选择类型:" :prop="ruleLine+ind+'.dataType'">
                 <el-select v-model="groupData.dataType"
                            placeholder="请选择"
                            size="small" @change="dataTypeChange">
@@ -114,7 +114,7 @@
                     </el-col>
                 </div>
             </el-form-item>
-            <el-form-item v-if="!onlyNum&&!showRegx&&groupData.basType===2&&groupData.dataType==='2'" label="医学内容:" :prop="ruleLine+ind+'.eqValue'" class="discDesc is-required">
+            <el-form-item v-if="(!onlyNum&&!showRegx&&groupData.basType===2&&groupData.dataType==='2')||onlyTxt" label="医学内容:" :prop="ruleLine+ind+'.eqValue'" class="discDesc is-required">
                 <el-input type="textarea" rows="3" placeholder="请输入医学内容" v-model.trim="groupData.eqValue"></el-input>
             </el-form-item>
             <el-form-item v-if="showRegx" label="正则表达式:" :prop="ruleLine+ind+'.eqValue'" class="discDesc is-required">
@@ -135,6 +135,7 @@
         props:['groupData','ind','isLast','baseTypes','parInx','inx','len'],
         data(){
             return {
+                dicts:{},
                 baseTermTypeList:[],
                 typeList:[],
                 numTypes:'',    //只有数值类型的类型id
@@ -159,6 +160,7 @@
             },
         },
         created(){
+            this.dicts=JSON.parse(localStorage.getItem("zskDiagDicts")||'{}');
             if(this.groupData.maxOperator||this.groupData.minOperator){
                 this.groupData.dataType='1';
             }else if(this.groupData.eqValue){
@@ -176,7 +178,14 @@
                 return (this.baseTypes.find((it)=>it.type===this.groupData.basType)||{}).name;
             },
             onlyNum:function(){
-                const codes=localStorage.getItem("zskDiagDicts")+',';
+                const onlyNum =this.dicts['onlyNum']||'&';
+                const codes=onlyNum+',';
+                const type=this.groupData.basLibType;
+                return type&&codes.indexOf(this.groupData.basLibType+',')>-1;
+            },
+            onlyTxt:function(){
+                const onlyTxt =this.dicts['onlyTxt']||'&';
+                const codes=onlyTxt+',';
                 const type=this.groupData.basLibType;
                 return type&&codes.indexOf(this.groupData.basLibType+',')>-1;
             },
@@ -286,7 +295,7 @@
             }
         }
         .inner-oper{
-            padding: 15px 0 15px 21px;
+            padding: 10px 0 10px 21px;
             .add-btn {
                 cursor: pointer;
                 img {
@@ -295,7 +304,7 @@
             }
         }
         .sub-condition-form{
-            padding: 20px;
+            padding:10px 20px 9px;
             position: relative;
             border-bottom:1px solid #F5F5F5;
             .del-btn{
@@ -348,16 +357,22 @@
             overflow-y: auto;
         }
         .el-form-item{
-            margin-bottom: 22px;
+            margin-bottom: 6px;
             &.min-margin{
                 margin-bottom: 0;
+                position: relative;
+                .el-form-item__content{
+                    position: unset;
+                }
+                .el-form-item__error{
+                    top:10px;
+                    left: 460px;
+                    white-space: normal;
+                    width: 260px;
+                }
             }
         }
-        .el-form-item__error{
-            top: auto;
-            white-space: nowrap;
-            background: #fff;
-        }
+
         .el-input-number{
             width: 95px;
         }

+ 5 - 4
src/components/knowledgeExtra/DiagBaseType.vue

@@ -12,6 +12,7 @@
                         :value="item.ruleType">
                 </el-option>
             </el-select>
+            <span class="tip-text">注:选择诊断依据类型后才能展示基础依据类型~</span>
         </el-form-item>
         <DiagBaseGroup v-for="(group,i) in data.groupVO"
                    ref="groups"
@@ -26,7 +27,7 @@
     <div class="group-oper">
         <el-button size="small" @click="addDiag">+新增依据</el-button>
         <el-button size="small" @click="copyDiag">复制依据</el-button>
-        <el-button :disabled="isLast" size="small" type="danger" plain @click="delGroup">-删除依据</el-button>
+        <el-button :disabled="isLast" size="small" type="danger" plain @click="delDiag">-删除依据</el-button>
     </div>
           </div>
        <!-- </el-form>-->
@@ -115,18 +116,18 @@
       </script>
       <style lang="less" scoped>
           .add-new-form{
-              background: #F5F5F5;
+              background: #E3EAF4;
               padding: 20px 0;
           }
           .diag-type{
               background: #fff;
               margin: 0 20px;
-              padding: 13px 0;
+              padding: 8px 0;
           }
           .group-oper{
               margin: 20px 20px 0 20px;
               background: #fff;
-              padding: 13px 0;
+              padding: 8px 0;
               text-align: center;
               .el-button{
                   margin-right: 60px;