|
@@ -46,7 +46,7 @@
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item v-if="groupData.basType===2&&showDataType" label="选择类型:" :prop="ruleLine+ind+'.dataType'">
|
|
|
+ <el-form-item v-if="groupData.basType===2&&!onlyNum" label="选择类型:" :prop="ruleLine+ind+'.dataType'">
|
|
|
<el-select v-model="groupData.dataType"
|
|
|
placeholder="请选择"
|
|
|
size="small" @change="dataTypeChange">
|
|
@@ -58,7 +58,7 @@
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item class="min-margin" v-if="groupData.dataType==='1'" label="最大值:">
|
|
|
+ <el-form-item class="min-margin" v-if="groupData.dataType==='1'||onlyNum" label="最大值:">
|
|
|
<div class="select-item clearfix">
|
|
|
<el-col :span="3">
|
|
|
<el-form-item prop="maxOperator">
|
|
@@ -86,7 +86,7 @@
|
|
|
</el-col>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
- <el-form-item class="min-margin" v-if="groupData.dataType==='1'" label="最小值:">
|
|
|
+ <el-form-item class="min-margin" v-if="groupData.dataType==='1'||onlyNum" label="最小值:">
|
|
|
<div class="select-item clearfix">
|
|
|
<el-col :span="3">
|
|
|
<el-form-item prop="minOperator">
|
|
@@ -148,65 +148,6 @@
|
|
|
],
|
|
|
dataTypes:[{id:'1',name:'数值类型'},{id:'2',name:'文本类型'}],
|
|
|
conceptList:[],
|
|
|
- rules:{
|
|
|
-
|
|
|
- maxOperator:[{
|
|
|
- validator: (rule,value,callback)=>{
|
|
|
- const {maxVal,minOperator,minVal}=this.groupData;
|
|
|
- const val=value+minOperator+minVal+maxVal;
|
|
|
- if(!val||(!value&&maxVal!=='')){
|
|
|
- callback(new Error('最大值和最小值至少完整填写一个,单位不必填'));
|
|
|
- }else{
|
|
|
- callback();
|
|
|
- }}, trigger: 'blur'
|
|
|
- }],
|
|
|
- minOperator:[{
|
|
|
- validator: (rule,value,callback)=>{
|
|
|
- const {maxVal,maxOperator,minVal}=this.groupData;
|
|
|
- const val=value+maxOperator+minVal+maxVal;
|
|
|
- if(!val||(!value&&minVal!=='')){
|
|
|
- callback(new Error('最大值和最小值至少完整填写一个,单位不必填'));
|
|
|
- }else{
|
|
|
- callback();
|
|
|
- }}, trigger: 'blur'
|
|
|
- }],
|
|
|
- maxVal:[{
|
|
|
- validator: (rule,value,callback)=>{
|
|
|
- const {maxOperator,minOperator,minVal}=this.groupData;
|
|
|
- const val=value+maxOperator+minVal+minOperator;
|
|
|
- const isNum=/^(\-|\+)?\d+(\.\d+)?$/.test(value);
|
|
|
- if(!val||(value==''&&maxOperator)){
|
|
|
- callback(new Error('最大值和最小值至少完整填写一个,单位不必填'));
|
|
|
- }else if(value!==''&&!isNum){
|
|
|
- callback(new Error('只能输入数字'));
|
|
|
- }else{
|
|
|
- callback();
|
|
|
- }}, trigger: 'blur'
|
|
|
- }],
|
|
|
- minVal:[{
|
|
|
- validator: (rule,value,callback)=>{
|
|
|
- const {maxVal,minOperator,maxOperator}=this.groupData;
|
|
|
- const val=value+maxOperator+maxVal+minOperator;
|
|
|
- const isNum=/^(\-|\+)?\d+(\.\d+)?$/.test(value);
|
|
|
- if(!val||(value==''&&minOperator)){
|
|
|
- callback(new Error('最大值和最小值至少完整填写一个,单位不必填'));
|
|
|
- }else if(value!==''&&!isNum){
|
|
|
- callback(new Error('只能输入数字'));
|
|
|
- }else{
|
|
|
- callback();
|
|
|
- }}, trigger: 'blur'
|
|
|
- }],
|
|
|
- eqValue:[{
|
|
|
- validator: (rule,value,callback)=>{
|
|
|
- if(value===''){
|
|
|
- callback(new Error('请输入'+this.textName));
|
|
|
- }else if(value.length>200){
|
|
|
- callback(new Error(this.textName+'不能超过200字'));
|
|
|
- }else{
|
|
|
- callback();
|
|
|
- }}, trigger: 'blur'
|
|
|
- }],
|
|
|
- },
|
|
|
}
|
|
|
},
|
|
|
watch: {
|
|
@@ -218,19 +159,20 @@
|
|
|
},
|
|
|
},
|
|
|
created(){
|
|
|
- this.numTypes = localStorage.getItem("zskNumDict");
|
|
|
this.conceptList=[{conceptName:this.groupData.subLibName||this.groupData.subConceptName,conceptId:this.groupData.basConceptId}];
|
|
|
if(this.groupData.basLibType){
|
|
|
this.baseTermTypeList=[{name:this.groupData.subLenName,code:this.groupData.basLibType}];
|
|
|
}
|
|
|
},
|
|
|
computed:{
|
|
|
+ onlyNum:function(){
|
|
|
+ const codes=localStorage.getItem("zskDiagDicts")+',';
|
|
|
+ const type=this.groupData.basLibType;
|
|
|
+ return type&&codes.indexOf(this.groupData.basLibType+',')>-1;
|
|
|
+ },
|
|
|
ruleLine:function(){
|
|
|
return 'klDiagnoseTypeVO.'+this.parInx+'.groupVO.'+this.inx+'.klDiagnoseDetail.';
|
|
|
},
|
|
|
- showDataType:function(){
|
|
|
- return (this.numTypes+',').indexOf(this.groupData.basLibType+',')===-1;
|
|
|
- },
|
|
|
showRegx:function(){
|
|
|
return this.groupData.basType===3||this.groupData.basType===4;
|
|
|
},
|
|
@@ -250,10 +192,13 @@
|
|
|
this.baseTermTypeList =[];
|
|
|
return;
|
|
|
}
|
|
|
- this.basTypeName=this.baseTypes.find((it)=>it.type===val).name;
|
|
|
- this.groupData.basLibType=this.groupData.basType;
|
|
|
- this.clearConcept();
|
|
|
- this.clearNumText();
|
|
|
+ if(this.showRegx){ //正则
|
|
|
+ this.basTypeName=this.baseTypes.find((it)=>it.type===val).name;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.groupData.basLibType='';
|
|
|
+ this.clearConcept(); //清空医学标准术语
|
|
|
+ this.clearNumText(); //清空数值、医学内容
|
|
|
const obj = this.baseTypes.find((it)=>it.type===val);
|
|
|
this.baseTermTypeList = obj.subMenuList;
|
|
|
},
|