|
@@ -54,15 +54,15 @@
|
|
</el-option>
|
|
</el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item class="min-margin" v-if="groupData.dataType==='1'" label="最大值:" required>
|
|
|
|
|
|
+ <el-form-item class="min-margin" v-if="groupData.dataType==='1'" label="最大值:">
|
|
<div class="select-item clearfix">
|
|
<div class="select-item clearfix">
|
|
<el-col :span="4">
|
|
<el-col :span="4">
|
|
<el-form-item prop="subMaxOperator">
|
|
<el-form-item prop="subMaxOperator">
|
|
<el-select v-model="groupData.subMaxOperator"
|
|
<el-select v-model="groupData.subMaxOperator"
|
|
placeholder="请选择"
|
|
placeholder="请选择"
|
|
- size="small">
|
|
|
|
|
|
+ size="small" clearable>
|
|
<el-option
|
|
<el-option
|
|
- v-for="item in operTypeList"
|
|
|
|
|
|
+ v-for="item in operMaxList"
|
|
:key="item.key"
|
|
:key="item.key"
|
|
:label="item.name"
|
|
:label="item.name"
|
|
:value="item.key">
|
|
:value="item.key">
|
|
@@ -82,15 +82,15 @@
|
|
</el-col>
|
|
</el-col>
|
|
</div>
|
|
</div>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item class="min-margin" v-if="groupData.dataType==='1'" label="最小值:" required>
|
|
|
|
|
|
+ <el-form-item class="min-margin" v-if="groupData.dataType==='1'" label="最小值:">
|
|
<div class="select-item clearfix">
|
|
<div class="select-item clearfix">
|
|
<el-col :span="4">
|
|
<el-col :span="4">
|
|
<el-form-item prop="subMinOperator">
|
|
<el-form-item prop="subMinOperator">
|
|
<el-select v-model="groupData.subMinOperator"
|
|
<el-select v-model="groupData.subMinOperator"
|
|
placeholder="请选择"
|
|
placeholder="请选择"
|
|
- size="small">
|
|
|
|
|
|
+ size="small" clearable>
|
|
<el-option
|
|
<el-option
|
|
- v-for="item in operTypeList"
|
|
|
|
|
|
+ v-for="item in operMinList"
|
|
:key="item.name"
|
|
:key="item.name"
|
|
:label="item.name"
|
|
:label="item.name"
|
|
:value="item.name">
|
|
:value="item.name">
|
|
@@ -110,7 +110,7 @@
|
|
</el-col>
|
|
</el-col>
|
|
</div>
|
|
</div>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item v-if="groupData.dataType==='2'" label="医学内容:" prop="subEqValue" class="discDesc">
|
|
|
|
|
|
+ <el-form-item v-if="groupData.subType!==6&&groupData.dataType==='2'" label="医学内容:" prop="subEqValue" class="discDesc">
|
|
<el-input type="textarea" rows="3" placeholder="请输入医学内容" v-model="groupData.subEqValue"></el-input>
|
|
<el-input type="textarea" rows="3" placeholder="请输入医学内容" v-model="groupData.subEqValue"></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item v-if="groupData.subType===6" label="正则表达式:" prop="subEqValue" class="discDesc">
|
|
<el-form-item v-if="groupData.subType===6" label="正则表达式:" prop="subEqValue" class="discDesc">
|
|
@@ -132,16 +132,17 @@
|
|
return {
|
|
return {
|
|
baseTermTypeList:[],
|
|
baseTermTypeList:[],
|
|
typeList:[],
|
|
typeList:[],
|
|
- operTypeList:[{name:'>',key:'>'},
|
|
|
|
- {name:'>=',key:'>='},
|
|
|
|
- {name:'<',key:'<'},
|
|
|
|
|
|
+ operMaxList:[
|
|
{name:'<=',key:'<='},
|
|
{name:'<=',key:'<='},
|
|
- {name:'=',key:'='},
|
|
|
|
|
|
+ {name:'<',key:'<'},
|
|
|
|
+ ],
|
|
|
|
+ operMinList:[{name:'>',key:'>'},
|
|
|
|
+ {name:'>=',key:'>='},
|
|
],
|
|
],
|
|
dataTypes:[{id:'1',name:'数值类型'},{id:'2',name:'文本类型'}],
|
|
dataTypes:[{id:'1',name:'数值类型'},{id:'2',name:'文本类型'}],
|
|
conceptList:[],
|
|
conceptList:[],
|
|
rules:{
|
|
rules:{
|
|
- subDescription:[{ required: true, message: '请选择基础规则名称',trigger: ['blur'] },{
|
|
|
|
|
|
+ subDescription:[{ required: true, message: '请输入基础规则名称',trigger: ['blur'] },{
|
|
validator: (rule,value,callback)=>{
|
|
validator: (rule,value,callback)=>{
|
|
if(value.length>100){
|
|
if(value.length>100){
|
|
callback(new Error('规则名称不能超过100字'));
|
|
callback(new Error('规则名称不能超过100字'));
|
|
@@ -153,13 +154,23 @@
|
|
subLenCode:[{ required: true, message: '请选择基础规则术语类型',trigger: ['change'] }],
|
|
subLenCode:[{ required: true, message: '请选择基础规则术语类型',trigger: ['change'] }],
|
|
subConceptId:[{ required: true, message: '请输入医学标准术语',trigger: ['blur'] }],
|
|
subConceptId:[{ required: true, message: '请输入医学标准术语',trigger: ['blur'] }],
|
|
dataType:[{ required: true, message: '请选择类型',trigger: ['change'] }],
|
|
dataType:[{ required: true, message: '请选择类型',trigger: ['change'] }],
|
|
- subMaxOperator:[{ required: true, message: '请选择最大值操作符',trigger: ['change'] }],
|
|
|
|
- subMaxValue:[{ required: true, message: '请输入最大值',trigger: ['blur'] }],
|
|
|
|
- subMaxUnit:[{ required: true, message: '请输入最大值单位',trigger: ['blur'] }],
|
|
|
|
- subMinOperator:[{ required: true, message: '请选择最小值操作符',trigger: ['change'] }],
|
|
|
|
- subMinValue:[{ required: true, message: '请输入最小值',trigger: ['blur'] }],
|
|
|
|
- subMinUnit:[{ required: true, message: '请输入最小值单位',trigger: ['blur'] }],
|
|
|
|
- subEqValue:[{ required: true, message: '请输入医学内容',trigger: ['blur'] }],
|
|
|
|
|
|
+ subMaxOperator:[{
|
|
|
|
+ validator: (rule,value,callback)=>{
|
|
|
|
+ if((!value)&&this.groupData.subMinOperator===''){
|
|
|
|
+ callback(new Error('最大值和最小值至少完整填写一个,单位不必填'));
|
|
|
|
+ }else{
|
|
|
|
+ callback();
|
|
|
|
+ }}, trigger: 'blur'
|
|
|
|
+ }],
|
|
|
|
+ subMinOperator:[{
|
|
|
|
+ validator: (rule,value,callback)=>{
|
|
|
|
+ if((!value)&&this.groupData.subMaxOperator===''){
|
|
|
|
+ callback(new Error('最大值和最小值至少完整填写一个,单位不必填'));
|
|
|
|
+ }else{
|
|
|
|
+ callback();
|
|
|
|
+ }}, trigger: 'blur'
|
|
|
|
+ }],
|
|
|
|
+ subEqValue:[{ required: true, message: '请输入'+this.groupData.subType===6?"正则表达式":"医学内容",trigger: ['blur'] }],
|
|
},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
},
|
|
@@ -171,38 +182,45 @@
|
|
deep:true
|
|
deep:true
|
|
},
|
|
},
|
|
'baseTypes':{
|
|
'baseTypes':{
|
|
- handler:function(){
|
|
|
|
|
|
+ handler:function(val){
|
|
if(!this.groupData.subType){
|
|
if(!this.groupData.subType){
|
|
this.baseTermTypeList =[];
|
|
this.baseTermTypeList =[];
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- const obj = this.baseTypes.find((it)=>it.type===this.groupData.subType);
|
|
|
|
|
|
+ const obj = val.find((it)=>it.type===this.groupData.subType);
|
|
this.baseTermTypeList = obj.subMenuList;
|
|
this.baseTermTypeList = obj.subMenuList;
|
|
},
|
|
},
|
|
deep:true
|
|
deep:true
|
|
},
|
|
},
|
|
- 'firstPlace':function(val){
|
|
|
|
- if(!val)return;
|
|
|
|
- const types= val.checkedType.split("-");
|
|
|
|
- const sub = this.baseTypes.find((it)=>it.ruleType===+types[0]&&it.type===2);
|
|
|
|
- this.groupData.subType=sub.type;
|
|
|
|
- this.baseTermTypeList =sub.subMenuList;
|
|
|
|
- this.groupData.subLenCode=this.baseTermTypeList.find((it)=>it.ruleType===+types[0]).code;
|
|
|
|
- this.conceptList=[val];
|
|
|
|
- this.groupData.subDescription=val.conceptName;
|
|
|
|
- this.groupData.subConceptId = val.conceptId;
|
|
|
|
- this.groupData.subConceptName = val.conceptName;
|
|
|
|
|
|
+ 'firstPlace':{
|
|
|
|
+ handler:function(val) {
|
|
|
|
+ if (!val) return;
|
|
|
|
+ const types = val.checkedType.split("-");
|
|
|
|
+ const sub = this.baseTypes.find((it) => it.ruleType === +types[0] && it.type === 2);
|
|
|
|
+ this.groupData.subType = sub.type;
|
|
|
|
+ this.baseTermTypeList = sub.subMenuList;
|
|
|
|
+ this.groupData.subLenCode = this.baseTermTypeList.find((it) => it.ruleType === +types[0]).code;
|
|
|
|
+ this.conceptList = [val];
|
|
|
|
+ this.groupData.subDescription = val.conceptName;
|
|
|
|
+ this.groupData.subConceptId = val.conceptId;
|
|
|
|
+ this.groupData.subConceptName = val.conceptName;
|
|
|
|
+ },
|
|
|
|
+ deep:true
|
|
}
|
|
}
|
|
},
|
|
},
|
|
created(){
|
|
created(){
|
|
- this.conceptList=[{conceptName:this.groupData.subLibName,conceptId:this.groupData.subConceptId}];
|
|
|
|
|
|
+ this.conceptList=[{conceptName:this.groupData.subLibName||this.groupData.subConceptName,conceptId:this.groupData.subConceptId}];
|
|
|
|
+ if(this.groupData.subLenCode){
|
|
|
|
+ this.baseTermTypeList=[{name:this.groupData.subLenName,code:this.groupData.subLenCode}];
|
|
|
|
+ }
|
|
},
|
|
},
|
|
methods:{
|
|
methods:{
|
|
dataTypeChange(val){
|
|
dataTypeChange(val){
|
|
|
|
+ this.groupData.subEqOperator=val==='2'?'=':undefined;
|
|
this.groupData.dataType=val;
|
|
this.groupData.dataType=val;
|
|
this.clearNumText();
|
|
this.clearNumText();
|
|
},
|
|
},
|
|
- subTypeChange(val){ //基础规则类型修改
|
|
|
|
|
|
+ subTypeChange(val){ //基础规则类型修改
|
|
this.groupData.subLenCode='';
|
|
this.groupData.subLenCode='';
|
|
this.groupData.dataType='';
|
|
this.groupData.dataType='';
|
|
this.clearConcept();
|
|
this.clearConcept();
|
|
@@ -338,6 +356,9 @@
|
|
line-height: 32px;
|
|
line-height: 32px;
|
|
height: 32px;
|
|
height: 32px;
|
|
}
|
|
}
|
|
|
|
+ .el-button--danger.is-plain{
|
|
|
|
+ background: none;
|
|
|
|
+ }
|
|
.itemList {
|
|
.itemList {
|
|
position: absolute;
|
|
position: absolute;
|
|
// display: none;
|
|
// display: none;
|
|
@@ -358,6 +379,7 @@
|
|
}
|
|
}
|
|
.el-form-item__error{
|
|
.el-form-item__error{
|
|
top: auto;
|
|
top: auto;
|
|
|
|
+ white-space: nowrap;
|
|
}
|
|
}
|
|
.el-input-number{
|
|
.el-input-number{
|
|
width: 95px;
|
|
width: 95px;
|