Browse Source

标签组添加限制条件

zhangxc 6 years ago
parent
commit
f4dd8ed9ab
2 changed files with 75 additions and 8 deletions
  1. 37 4
      src/components/icss/PubIndeptTag.vue
  2. 38 4
      src/components/icss/PubTagGroup.vue

+ 37 - 4
src/components/icss/PubIndeptTag.vue

@@ -34,7 +34,7 @@
                 <el-select
                 <el-select
                         v-model="form.region2"
                         v-model="form.region2"
                         placeholder="请选择填写单类型"
                         placeholder="请选择填写单类型"
-                        :disabled="!!editData.id"
+                        :disabled="!!editData.id  || !form.region1"
                         @change="(e)=>readyChangeSelect(e,2)"
                         @change="(e)=>readyChangeSelect(e,2)"
                 >
                 >
                     <el-option
                     <el-option
@@ -50,6 +50,7 @@
                     prop="region3"
                     prop="region3"
             >
             >
                 <el-input
                 <el-input
+                        :disabled="!form.region1"
                         v-model="form.region3"
                         v-model="form.region3"
                         maxLength="30"
                         maxLength="30"
                         placeholder="请输入标签系统名称"
                         placeholder="请输入标签系统名称"
@@ -61,6 +62,7 @@
                     prop="region4"
                     prop="region4"
             >
             >
                 <el-input
                 <el-input
+                        :disabled="!form.region1"
                         v-model="form.region4"
                         v-model="form.region4"
                         maxLength="30"
                         maxLength="30"
                         placeholder="请输入标签界面名称"
                         placeholder="请输入标签界面名称"
@@ -75,6 +77,7 @@
             >
             >
                 <el-col :span="10">
                 <el-col :span="10">
                 <el-input v-model="form.prefix"
                 <el-input v-model="form.prefix"
+                        :disabled="!form.region1 || form.region2 == '99'"
                         maxLength="30"
                         maxLength="30"
                         placeholder="前缀"
                         placeholder="前缀"
                         @change="sendData"
                         @change="sendData"
@@ -83,6 +86,7 @@
                 <el-col :span="10">
                 <el-col :span="10">
                 <el-input
                 <el-input
                     v-model="form.suffix"
                     v-model="form.suffix"
+                    :disabled="!form.region1 || form.region2 == '99'"
                     maxLength="30"
                     maxLength="30"
                     placeholder="后缀"
                     placeholder="后缀"
                     @change="sendData"
                     @change="sendData"
@@ -94,6 +98,7 @@
             >
             >
                 <el-input
                 <el-input
                         v-model="form.region5"
                         v-model="form.region5"
+                        :disabled="!form.region1 || form.region2 == '99'"
                         maxLength="30"
                         maxLength="30"
                         placeholder="请输入选择项之间链接"
                         placeholder="请输入选择项之间链接"
                         @change="sendData"
                         @change="sendData"
@@ -104,6 +109,7 @@
                     prop="region6"
                     prop="region6"
             >
             >
                 <el-select
                 <el-select
+                        :disabled="!form.region1 || form.region2 == '99'"
                         v-model="form.region6"
                         v-model="form.region6"
                         @change="sendData"
                         @change="sendData"
                 >
                 >
@@ -124,7 +130,7 @@
                 <span class="changeTips">改变性别后,标签明细将会恢复到默认状态</span>
                 <span class="changeTips">改变性别后,标签明细将会恢复到默认状态</span>
                 <el-select
                 <el-select
                         v-model="form.region7"
                         v-model="form.region7"
-                        :disabled="!!editData.id"
+                        :disabled="!!editData.id || !form.region1 || form.region2 == '99'"
                         @change="(e)=>readyChangeSelect(e,3)"
                         @change="(e)=>readyChangeSelect(e,3)"
                 >
                 >
                     <el-option
                     <el-option
@@ -148,6 +154,7 @@
             >
             >
                 <el-input
                 <el-input
                         v-model.number="form.region8"
                         v-model.number="form.region8"
+                        :disabled="!form.region1 || form.region2 == '99'"
                         ref="valage1"
                         ref="valage1"
                         @input="sendData"
                         @input="sendData"
                 ></el-input>
                 ></el-input>
@@ -158,6 +165,7 @@
             > 
             > 
               <el-input
               <el-input
                 v-model.number="form.region9"
                 v-model.number="form.region9"
+                :disabled="!form.region1 || form.region2 == '99'"
                 type="number"
                 type="number"
                 ref="valage2"
                 ref="valage2"
                 @input="sendData"
                 @input="sendData"
@@ -171,6 +179,7 @@
             >
             >
                 <el-col :span="7">
                 <el-col :span="7">
                 <el-input v-model="form.minNormalVal"
                 <el-input v-model="form.minNormalVal"
+                        :disabled="!form.region1"
                         maxLength="30"
                         maxLength="30"
                         @change="sendData"
                         @change="sendData"
                 ></el-input></el-col>
                 ></el-input></el-col>
@@ -178,6 +187,7 @@
                 <el-col :span="7">
                 <el-col :span="7">
                 <el-input
                 <el-input
                     v-model="form.maxNormalVal"
                     v-model="form.maxNormalVal"
+                    :disabled="!form.region1"
                     maxLength="30"
                     maxLength="30"
                     @change="sendData"
                     @change="sendData"
                 ></el-input></el-col>
                 ></el-input></el-col>
@@ -199,6 +209,16 @@
    * searchTagList 函数的参数根据type变化
    * searchTagList 函数的参数根据type变化
    */
    */
 
 
+  // 归属和填写单类型限制:
+
+// 主诉/现病史(val:1):输入框(val:6)、数字键盘(val:7)、时间控件(val:5)、单选(val:1)、多选(val:2)、联合推送(val:99)
+
+// 其他史(val:3):单选(val:1)、多选(val:2)、输入框(val:6)、数字键盘(val:7)、时间控件(val:5)、
+
+// 查体(val:4):输入框(val:6)、数字键盘(val:7)、单选(val:1)、多选(val:2)、
+
+// 化验(val:5):化验输入框(val:6)、化验单选(val:1)
+
   export default {
   export default {
     props:['editData'],
     props:['editData'],
     data() {
     data() {
@@ -224,6 +244,12 @@
           suffix:'',            //后缀
           suffix:'',            //后缀
           tipLis:[],           //提示列表
           tipLis:[],           //提示列表
         },
         },
+        labelTypesMaps: {       //// 归属和填写单类型限制
+          '1':['1','2','5','6','7','99'],
+          '3':['1','2','5','6','7'],
+          '4':['1','2','6','7'],
+          '5':['1','6']
+        },
         rules: {
         rules: {
           region1: [
           region1: [
             { required: true, message: '请选择归属', trigger: 'change' }
             { required: true, message: '请选择归属', trigger: 'change' }
@@ -255,6 +281,7 @@
         tmpOwn: '',
         tmpOwn: '',
         tmpType: '',
         tmpType: '',
         Adscriptions: [],
         Adscriptions: [],
+        AdscriptionsList:[],
         labelTypes: [],
         labelTypes: [],
         labelTypesList: [],
         labelTypesList: [],
         type:'',
         type:'',
@@ -294,9 +321,10 @@
       getDropList() {
       getDropList() {
         return api.getDropList().then((res) => {
         return api.getDropList().then((res) => {
           if (res.data.code === '0') {
           if (res.data.code === '0') {
-            this.Adscriptions = res.data.data[1];
-            this.labelTypes = res.data.data[6];
+            this.AdscriptionsList = res.data.data[1]
+            this.labelTypesList = res.data.data[6];
             this.form.tipLis = res.data.data[6];
             this.form.tipLis = res.data.data[6];
+            this.Adscriptions = this.AdscriptionsList.filter(item => Object.keys(this.labelTypesMaps).indexOf(item.val) > -1)
           }
           }
         })
         })
       },
       },
@@ -329,6 +357,11 @@
         this.$emit('changeSex', data, false);
         this.$emit('changeSex', data, false);
       },
       },
       readyChangeSelect(tmpData,type) {
       readyChangeSelect(tmpData,type) {
+        if(type === 1) {
+          this.form.region2 = '';
+          this.labelTypes = this.labelTypesList.filter(item => this.labelTypesMaps[tmpData].indexOf(item.val) > -1)
+          
+        }
         //console.log(tmpData)
         //console.log(tmpData)
         this.changeSex(tmpData);
         this.changeSex(tmpData);
       },
       },

+ 38 - 4
src/components/icss/PubTagGroup.vue

@@ -31,6 +31,7 @@
       >
       >
         <span class="changeTips">改变类型后,标签明细将会恢复到默认状态</span>
         <span class="changeTips">改变类型后,标签明细将会恢复到默认状态</span>
         <el-select
         <el-select
+          :disabled="!form.region1"
           v-model="form.region2"
           v-model="form.region2"
           placeholder="请选择填写单类型"
           placeholder="请选择填写单类型"
           @change="(e)=>readyChangeSelect(e,2)"
           @change="(e)=>readyChangeSelect(e,2)"
@@ -49,6 +50,7 @@
       >
       >
         <el-input
         <el-input
           v-model="form.region3"
           v-model="form.region3"
+          :disabled="!form.region1"
           maxLength="30"
           maxLength="30"
           placeholder="请输入标签系统名称"
           placeholder="请输入标签系统名称"
           @change="sendData"
           @change="sendData"
@@ -60,6 +62,7 @@
       >
       >
         <el-input
         <el-input
           v-model="form.region4"
           v-model="form.region4"
+          :disabled="!form.region1"
           maxLength="30"
           maxLength="30"
           placeholder="请输入标签界面名称"
           placeholder="请输入标签界面名称"
           @change="sendData"
           @change="sendData"
@@ -82,6 +85,7 @@
       >
       >
         <el-select
         <el-select
           v-model="form.region6"
           v-model="form.region6"
+          :disabled="!form.region1 || form.region2 == 11"
           @change="sendData"
           @change="sendData"
         >
         >
           <el-option
           <el-option
@@ -101,6 +105,7 @@
         <span class="changeTips">改变性别后,标签明细将会恢复到默认状态</span>
         <span class="changeTips">改变性别后,标签明细将会恢复到默认状态</span>
         <el-select
         <el-select
           v-model="form.region7"
           v-model="form.region7"
+          :disabled="!form.region1 || form.region2 == 11"
           @change="(e)=>readyChangeSelect(e,3)"
           @change="(e)=>readyChangeSelect(e,3)"
         >
         >
           <el-option
           <el-option
@@ -124,6 +129,7 @@
       >
       >
         <el-input
         <el-input
           v-model.number="form.region8"
           v-model.number="form.region8"
+          :disabled="!form.region1 || form.region2 == 11"
           ref="valage1"
           ref="valage1"
           type="number"
           type="number"
           @input="sendData"
           @input="sendData"
@@ -135,19 +141,20 @@
       > 
       > 
         <el-input
         <el-input
           v-model.number="form.region9"
           v-model.number="form.region9"
+          :disabled="!form.region1 || form.region2 == 11"
           type="number"
           type="number"
           ref="valage2"
           ref="valage2"
           @input="sendData"
           @input="sendData"
         ></el-input>
         ></el-input>
       </el-form-item>
       </el-form-item>
       <el-form-item class="verticalMiddle" label="选择子项时是否复制主项标签:" prop="region10" v-if="form.region2 == 6">
       <el-form-item class="verticalMiddle" label="选择子项时是否复制主项标签:" prop="region10" v-if="form.region2 == 6">
-        <el-select v-model="form.region10">
+        <el-select v-model="form.region10" :disabled="!form.region1 || form.region2 == 11">
           <el-option label="不可以" value="1"></el-option>
           <el-option label="不可以" value="1"></el-option>
           <el-option label="可以" value="0"></el-option>
           <el-option label="可以" value="0"></el-option>
         </el-select>
         </el-select>
       </el-form-item>
       </el-form-item>
       <el-form-item label="是否显示加号:" prop="region11" v-if="form.region2 == 2 || form.region2 == 3">
       <el-form-item label="是否显示加号:" prop="region11" v-if="form.region2 == 2 || form.region2 == 3">
-        <el-select v-model="form.region11">
+        <el-select v-model="form.region11" :disabled="!form.region1 || form.region2 == 11">
           <el-option label="显示" value="1"></el-option>
           <el-option label="显示" value="1"></el-option>
           <el-option label="不显示" value="0"></el-option>
           <el-option label="不显示" value="0"></el-option>
         </el-select>
         </el-select>
@@ -167,6 +174,18 @@ import api from '@api/icss.js';
  * searchTagList 函数的参数根据type变化
  * searchTagList 函数的参数根据type变化
  */
  */
 
 
+/**
+ * 归属和填写单类型限制
+ * 诊断(val:7):诊断/药品/辅检标签(val:9)、
+ * 主诉/现病史(val:1):症状详情(症状尾巴)(val:4)、症状推送类型(添加症状)(val:11)、多项统一横铺标签(血压)(val:3)、多列多选标签(杂音/初为)(val:2)
+ * 其他史(val:3):组合项标签(既往史)(val:6)、症状组合(症状尾巴)(val:4)
+ * 查体(val:4):多列多选标签(杂音/初为)(val:2)、多项统一横铺标签(血压)(val:3)
+ * 化验(val:5):化验组合(val:7)
+ * 辅检(val:6):诊断/药品/辅检标签(val:9)
+ * 药品分类/药品(val:8):诊断/药品/辅检标签(val:9)
+ */
+
+
 export default {
 export default {
   data() {
   data() {
     var validatePass2 = (rule, value, callback) => {
     var validatePass2 = (rule, value, callback) => {
@@ -189,6 +208,15 @@ export default {
         order:[],            //排序方式
         order:[],            //排序方式
         tipLis:[],           //提示列表
         tipLis:[],           //提示列表
       },
       },
+      labelTypesMaps: {       //// 归属和填写单类型限制
+        '1':['2','3','4','11'],
+        '3':['4','6'],
+        '4':[,'2','3'],
+        '5':['7'],
+        '6':['9'],
+        '7':['9'],
+        '8':['9']
+      },
       rules: {
       rules: {
         region1: [
         region1: [
           { required: true, message: '请选择归属', trigger: 'change' }
           { required: true, message: '请选择归属', trigger: 'change' }
@@ -270,10 +298,11 @@ export default {
     getDropList() {
     getDropList() {
       return api.getDropList().then((res) => {
       return api.getDropList().then((res) => {
         if (res.data.code === '0') {
         if (res.data.code === '0') {
-          this.Adscriptions = res.data.data[1];
-          this.labelTypes = res.data.data[2];
+          this.AdscriptionsList = res.data.data[1];
+          this.labelTypesList = res.data.data[2];
           this.form.order = res.data.data[5];
           this.form.order = res.data.data[5];
           this.form.tipLis = res.data.data[6];
           this.form.tipLis = res.data.data[6];
+           this.Adscriptions = this.AdscriptionsList.filter(item => Object.keys(this.labelTypesMaps).indexOf(item.val) > -1)
         }
         }
       })
       })
     },
     },
@@ -321,6 +350,11 @@ export default {
       this.searchTagList()
       this.searchTagList()
     },
     },
     readyChangeSelect(tmpData,type) {
     readyChangeSelect(tmpData,type) {
+      if(type === 1) {
+        this.form.region2 = '';
+        this.labelTypes = this.labelTypesList.filter(item => this.labelTypesMaps[tmpData].indexOf(item.val) > -1)
+        
+      }
       console.log(tmpData)
       console.log(tmpData)
       this.changeSex(tmpData);
       this.changeSex(tmpData);
       // if(type == 3){
       // if(type == 3){