|
@@ -1,7 +1,7 @@
|
|
|
<template>
|
|
|
<div class="groups-cont">
|
|
|
<el-form ref="groupData" label-width="150px" class="sub-condition-form" :model="groupData" :rules="rules">
|
|
|
- <span class="del-btn" @click="delRule">删除</span><!--:class="isLast?'disable del-btn':'del-btn'"-->
|
|
|
+ <span v-if="!disabled&&!isLast" class="del-btn" @click="delRule">删除</span><!--:class="isLast?'disable del-btn':'del-btn'"-->
|
|
|
<el-form-item label="基础规则名称:" prop="subDescription">
|
|
|
<el-input v-model.trim = "groupData.subDescription" :disabled="disabled"></el-input>
|
|
|
</el-form-item>
|
|
@@ -43,10 +43,9 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item v-if="groupData.subType===2" label="选择类型:" prop="dataType">
|
|
|
- <el-select v-model="dataType"
|
|
|
- @change="dataTypeChange"
|
|
|
+ <el-select v-model="groupData.dataType"
|
|
|
placeholder="请选择"
|
|
|
- size="small">
|
|
|
+ size="small" @change="dataTypeChange">
|
|
|
<el-option
|
|
|
v-for="item in dataTypes"
|
|
|
:key="item.id"
|
|
@@ -55,7 +54,7 @@
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item class="min-margin" v-if="dataType==='1'" label="最大值:" required>
|
|
|
+ <el-form-item class="min-margin" v-if="groupData.dataType==='1'" label="最大值:" required>
|
|
|
<div class="select-item clearfix">
|
|
|
<el-col :span="4">
|
|
|
<el-form-item prop="subMaxOperator">
|
|
@@ -83,7 +82,7 @@
|
|
|
</el-col>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
- <el-form-item class="min-margin" v-if="dataType==='1'" label="最小值:" required>
|
|
|
+ <el-form-item class="min-margin" v-if="groupData.dataType==='1'" label="最小值:" required>
|
|
|
<div class="select-item clearfix">
|
|
|
<el-col :span="4">
|
|
|
<el-form-item prop="subMinOperator">
|
|
@@ -111,14 +110,14 @@
|
|
|
</el-col>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
- <el-form-item v-if="dataType==='2'" label="医学内容:" prop="subEqValue" class="discDesc">
|
|
|
- <el-input type="textarea" rows="3" placeholder="请输入医学内容" v-model="groupData.subEqValue" maxlength="121"></el-input>
|
|
|
+ <el-form-item v-if="groupData.dataType==='2'" label="医学内容:" prop="subEqValue" class="discDesc">
|
|
|
+ <el-input type="textarea" rows="3" placeholder="请输入医学内容" v-model="groupData.subEqValue"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item v-if="groupData.subType===6" label="正则表达式:" prop="subEqValue" class="discDesc">
|
|
|
- <el-input type="textarea" rows="3" placeholder="请输入正则表达式" v-model="groupData.subEqValue" maxlength="121"></el-input>
|
|
|
+ <el-input type="textarea" rows="3" placeholder="请输入正则表达式" v-model="groupData.subEqValue"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
- <div class="inner-oper">
|
|
|
+ <div class="inner-oper" v-if="showAdd">
|
|
|
<span>新增规则:</span>
|
|
|
<span class="add-btn" @click="addRule"><img src="../../images/add.png" alt="新增规则"></span>
|
|
|
</div>
|
|
@@ -128,12 +127,11 @@
|
|
|
import api from '@api/knowledgeLib.js';
|
|
|
export default {
|
|
|
name:'subCondititons',
|
|
|
- props:['groupData','ind','isLast','baseTypes','firstPlace','disabled'],
|
|
|
+ props:['groupData','ind','isLast','baseTypes','firstPlace','disabled','showAdd'],
|
|
|
data(){
|
|
|
return {
|
|
|
baseTermTypeList:[],
|
|
|
typeList:[],
|
|
|
- dataType:'',
|
|
|
operTypeList:[{name:'>',key:'>'},
|
|
|
{name:'>=',key:'>='},
|
|
|
{name:'<',key:'<'},
|
|
@@ -185,10 +183,11 @@
|
|
|
},
|
|
|
'firstPlace':function(val){
|
|
|
if(!val)return;
|
|
|
- const sub = this.baseTypes.find((it)=>it.firstPlace===1);
|
|
|
+ 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.firstPlace===1).code;
|
|
|
+ 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;
|
|
@@ -197,11 +196,6 @@
|
|
|
},
|
|
|
created(){
|
|
|
this.conceptList=[{conceptName:this.groupData.subLibName,conceptId:this.groupData.subConceptId}];
|
|
|
- if(this.groupData.subMaxOperator){
|
|
|
- this.dataType='1'
|
|
|
- }else if(this.groupData.subEqValue){
|
|
|
- this.dataType='2'
|
|
|
- }
|
|
|
},
|
|
|
methods:{
|
|
|
dataTypeChange(val){
|
|
@@ -209,10 +203,9 @@
|
|
|
this.clearNumText();
|
|
|
},
|
|
|
subTypeChange(val){ //基础规则类型修改
|
|
|
- this.dataType='';
|
|
|
- this.groupData.subConceptId='';
|
|
|
- this.groupData.dataType='';
|
|
|
this.groupData.subLenCode='';
|
|
|
+ this.groupData.dataType='';
|
|
|
+ this.clearConcept();
|
|
|
this.clearNumText();
|
|
|
if(!val){
|
|
|
this.baseTermTypeList =[];
|
|
@@ -221,13 +214,16 @@
|
|
|
const obj = this.baseTypes.find((it)=>it.type===val);
|
|
|
this.baseTermTypeList = obj.subMenuList;
|
|
|
},
|
|
|
- subCodeChange(){ //基础规则术语类型修改
|
|
|
- this.dataType='';
|
|
|
- this.groupData.subConceptId='';
|
|
|
+ subCodeChange(val){ //基础规则术语类型修改
|
|
|
+ this.groupData.subLenCode=val;
|
|
|
this.groupData.dataType='';
|
|
|
- this.groupData.subLenCode='';
|
|
|
+ this.clearConcept();
|
|
|
this.clearNumText();
|
|
|
},
|
|
|
+ clearConcept(){
|
|
|
+ this.groupData.subConceptId='';
|
|
|
+ this.conceptList=[];
|
|
|
+ },
|
|
|
clearNumText(){
|
|
|
this.groupData.subMaxOperator='';
|
|
|
this.groupData.subMaxValue='';
|
|
@@ -296,7 +292,6 @@
|
|
|
}
|
|
|
}
|
|
|
.inner-oper{
|
|
|
- border-top:2px solid #F5F5F5;
|
|
|
padding: 15px 0 15px 21px;
|
|
|
.add-btn {
|
|
|
cursor: pointer;
|
|
@@ -308,6 +303,7 @@
|
|
|
.sub-condition-form{
|
|
|
padding: 20px;
|
|
|
position: relative;
|
|
|
+ border-bottom:2px solid #F5F5F5;
|
|
|
.del-btn{
|
|
|
color: #FF5B5B;
|
|
|
cursor: pointer;
|