|
@@ -57,8 +57,8 @@
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>-->
|
|
|
- <el-form-item label="附加信息:" prop="remind" class="parMsg">
|
|
|
- <el-input type="textarea" :rows="3" placeholder="请输入附加信息" v-model="form.parMsg" maxlength="301"></el-input>
|
|
|
+ <el-form-item v-if="showMsg" label="附加信息:" prop="parMsg" class="parMsg">
|
|
|
+ <el-input type="textarea" :rows="3" placeholder="请输入附加信息" v-model="form.parMsg"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item v-if="form.parHasSub===1" label="规则内容:" prop="remind" class="discDesc">
|
|
|
<SubRulesGroup v-for="(group,i) in subGroups"
|
|
@@ -66,6 +66,7 @@
|
|
|
:data="group"
|
|
|
:baseTypes="baseTypeList"
|
|
|
:inx="i"
|
|
|
+ :maxNum="subRuleMaxNum"
|
|
|
:firstPlace="firstPlace"
|
|
|
:isLast="subGroups.length===1"
|
|
|
@addGroup="addGroup"
|
|
@@ -87,13 +88,15 @@
|
|
|
labelPosition:'left',
|
|
|
isFirst:true,
|
|
|
isCopy:false,
|
|
|
- dict:'',
|
|
|
+ dict:'', //规则内容固定的类型
|
|
|
+ msgDict:'', //显示附加信息的类型
|
|
|
title:'规则维护-添加规则',
|
|
|
ruleTermTypeList:[],
|
|
|
ruleTypeList:[],
|
|
|
conceptList:[],
|
|
|
baseTypeList:[],
|
|
|
conceptName:'',
|
|
|
+ subRuleMaxNum:null, //规则内容中规则的限制个数
|
|
|
firstPlace:null,
|
|
|
subGroups:[[{
|
|
|
subDescription:'',
|
|
@@ -134,7 +137,7 @@
|
|
|
parLenCode:[{ required: true, message: '请选择规则术语类型',trigger: ['change'] }],
|
|
|
parConceptId:[{ required: true, message: '请输入医学标准术语',trigger: ['blur'] }],
|
|
|
parHasSub:[{ required: true, message: '请选择有无子条件',trigger: ['change'] }],
|
|
|
- parMsg:[{
|
|
|
+ parMsg:[{ required: true, message: '请输入附加信息',trigger: ['change'] },{
|
|
|
validator: (rule,value,callback)=>{
|
|
|
if(value.length>300){
|
|
|
callback(new Error('附加信息不能超过300字'));
|
|
@@ -174,11 +177,12 @@
|
|
|
}
|
|
|
const obj = this.ruleTermTypeList.find((it)=>it.code===val);
|
|
|
this.baseTypeList = obj.subMenuList;
|
|
|
+
|
|
|
},
|
|
|
'form.parConceptId':function(val){
|
|
|
if(this.checkFirstPlace) {
|
|
|
this.firstPlace = this.conceptList.find((it) => it.conceptId === val);
|
|
|
- this.firstPlace['checkedType']=this.form.parRuleType+"-"+this.form.parLenCode;
|
|
|
+ this.firstPlace['checkedType']=this.ruleTermCodeStr;
|
|
|
}else{
|
|
|
this.firstPlace =null;
|
|
|
}
|
|
@@ -188,9 +192,14 @@
|
|
|
SubRulesGroup
|
|
|
},
|
|
|
computed:{
|
|
|
+ ruleTermCodeStr:function(){
|
|
|
+ return this.form.parRuleType+"-"+this.form.parLenCode
|
|
|
+ },
|
|
|
checkFirstPlace:function(){
|
|
|
- const str=this.form.parRuleType+"-"+this.form.parLenCode;
|
|
|
- return this.dict.indexOf(str)>-1;
|
|
|
+ return this.dict.indexOf(this.ruleTermCodeStr)>-1;
|
|
|
+ },
|
|
|
+ showMsg:function(){
|
|
|
+ return this.ruleTermCodeStr.length>1&&this.msgDict.indexOf(this.ruleTermCodeStr)>-1;
|
|
|
}
|
|
|
},
|
|
|
methods:{
|
|
@@ -200,6 +209,7 @@
|
|
|
const data = res.data.data;
|
|
|
const arr =data['20'].map((it)=>it.val);
|
|
|
this.dict = arr.join(",");
|
|
|
+ this.msgDict=(data['21'].map((it)=>it.val)||[]).join(",");
|
|
|
localStorage.setItem("zskDicts",arr.join(","));
|
|
|
}
|
|
|
}).catch((error) => {
|
|
@@ -253,6 +263,7 @@
|
|
|
this.form.parLenCode=val;
|
|
|
const obj = this.ruleTermTypeList.find((it)=>it.code===val);
|
|
|
this.baseTypeList = obj.subMenuList;
|
|
|
+ this.subRuleMaxNum = obj.number;
|
|
|
this.setInitGroupData();
|
|
|
this.form.parHasSub=obj.subMenuList.length?1:0;
|
|
|
},
|