|
@@ -9,7 +9,7 @@
|
|
ref="form"
|
|
ref="form"
|
|
:label-position="labelPosition"
|
|
:label-position="labelPosition"
|
|
class="add-new-form"
|
|
class="add-new-form"
|
|
- label-width="150px"
|
|
|
|
|
|
+ label-width="100px"
|
|
:model="form"
|
|
:model="form"
|
|
:rules="rules"
|
|
:rules="rules"
|
|
>
|
|
>
|
|
@@ -30,11 +30,18 @@
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="诊断依据描述:" class="description">
|
|
<el-form-item label="诊断依据描述:" class="description">
|
|
- <el-input placeholder="请输入诊断依据描述" v-model.trim="form.description"></el-input>
|
|
|
|
|
|
+ <el-input class="inps" placeholder="请输入诊断依据描述" v-model.trim="form.description"></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
</div>
|
|
</div>
|
|
<div class="content content-2">
|
|
<div class="content content-2">
|
|
|
|
+ <div class="content-2-header">
|
|
|
|
+ <p class="title1">
|
|
|
|
+ <span class="star">*</span>诊断依据内容
|
|
|
|
+ </p>
|
|
|
|
+ <p class="title2">注:1、选择诊断依据类型后才能展示基础依据类型。2、医学内容可输入升高、降低、阴性、阳性等~</p>
|
|
|
|
+ </div>
|
|
|
|
+
|
|
<el-form
|
|
<el-form
|
|
ref="form"
|
|
ref="form"
|
|
:label-position="labelPosition"
|
|
:label-position="labelPosition"
|
|
@@ -82,17 +89,19 @@
|
|
<span>诊断依据类型</span>
|
|
<span>诊断依据类型</span>
|
|
</template>
|
|
</template>
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- {{'klDiagnoseTypeVO.'+scope.row.depart_id+'.conditionType'}}
|
|
|
|
- <el-form-item :prop="'klDiagnoseTypeVO.'+scope.row.depart_id+'.conditionType'">
|
|
|
|
|
|
+ <el-form-item
|
|
|
|
+ :prop="'klDiagnoseTypeVO.'+scope.$index+'.conditionType'"
|
|
|
|
+ :rules="[{ required: true, message: '请选择诊断依据类型',trigger: ['change'] }]"
|
|
|
|
+ >
|
|
<el-select
|
|
<el-select
|
|
v-model="form.klDiagnoseTypeVO[scope.$index].conditionType"
|
|
v-model="form.klDiagnoseTypeVO[scope.$index].conditionType"
|
|
@change="(val)=>basTypeChange(val,scope.$index)"
|
|
@change="(val)=>basTypeChange(val,scope.$index)"
|
|
>
|
|
>
|
|
<el-option
|
|
<el-option
|
|
v-for="item in baseTypes"
|
|
v-for="item in baseTypes"
|
|
- :key="item.id"
|
|
|
|
|
|
+ :key="item.ruleType"
|
|
:label="item.name"
|
|
:label="item.name"
|
|
- :value="item.id"
|
|
|
|
|
|
+ :value="item.ruleType"
|
|
></el-option>
|
|
></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
@@ -123,9 +132,9 @@
|
|
/>
|
|
/>
|
|
</div>
|
|
</div>
|
|
<div v-if="v.title == '符合条件的数量'">
|
|
<div v-if="v.title == '符合条件的数量'">
|
|
- {{'klDiagnoseTypeVO.'+scope.$index+'.groupVO.'+index+'.fitNo'}}
|
|
|
|
<el-form-item
|
|
<el-form-item
|
|
:prop="'klDiagnoseTypeVO.'+scope.$index+'.groupVO.'+index+'.fitNo'"
|
|
:prop="'klDiagnoseTypeVO.'+scope.$index+'.groupVO.'+index+'.fitNo'"
|
|
|
|
+ :rules="[{required:true,message:'请选择符合条件的数量',trigger:'change'}]"
|
|
>
|
|
>
|
|
<el-select v-model="item.fitNo">
|
|
<el-select v-model="item.fitNo">
|
|
<el-option
|
|
<el-option
|
|
@@ -161,8 +170,10 @@
|
|
'.groupVO.' +
|
|
'.groupVO.' +
|
|
index +
|
|
index +
|
|
'.klDiagnoseDetail.'+i+'.basDescription'"
|
|
'.klDiagnoseDetail.'+i+'.basDescription'"
|
|
|
|
+ :rules="[{required:true,message:'请输入基础依据名称',trigger:'blur'}]"
|
|
>
|
|
>
|
|
<el-input
|
|
<el-input
|
|
|
|
+ class="inp-name"
|
|
placeholder="请输入基础依据名称"
|
|
placeholder="请输入基础依据名称"
|
|
maxlength="100"
|
|
maxlength="100"
|
|
v-model.trim="items.basDescription"
|
|
v-model.trim="items.basDescription"
|
|
@@ -176,6 +187,7 @@
|
|
'.groupVO.' +
|
|
'.groupVO.' +
|
|
index +
|
|
index +
|
|
'.klDiagnoseDetail.'+i+'.basType'"
|
|
'.klDiagnoseDetail.'+i+'.basType'"
|
|
|
|
+ :rules="[{required:true,message:'请选择基础依据类型',trigger:'change'}]"
|
|
>
|
|
>
|
|
<el-select
|
|
<el-select
|
|
v-model="items.basType"
|
|
v-model="items.basType"
|
|
@@ -197,6 +209,7 @@
|
|
'.groupVO.' +
|
|
'.groupVO.' +
|
|
index +
|
|
index +
|
|
'.klDiagnoseDetail.'+i+'.basLibType'"
|
|
'.klDiagnoseDetail.'+i+'.basLibType'"
|
|
|
|
+ :rules="[{required:true,message:'请选择基础依据术语类型',trigger:'change'}]"
|
|
v-if="!items.basNameType"
|
|
v-if="!items.basNameType"
|
|
>
|
|
>
|
|
<el-select
|
|
<el-select
|
|
@@ -226,6 +239,7 @@
|
|
'.groupVO.' +
|
|
'.groupVO.' +
|
|
index +
|
|
index +
|
|
'.klDiagnoseDetail.'+i+'.basConceptId'"
|
|
'.klDiagnoseDetail.'+i+'.basConceptId'"
|
|
|
|
+ :rules="[{required:true,message:'请输入医学标准术语',trigger:'blur'}]"
|
|
>
|
|
>
|
|
<el-select
|
|
<el-select
|
|
clearable
|
|
clearable
|
|
@@ -251,6 +265,7 @@
|
|
'.groupVO.' +
|
|
'.groupVO.' +
|
|
index +
|
|
index +
|
|
'.klDiagnoseDetail.'+i+'.dataType'"
|
|
'.klDiagnoseDetail.'+i+'.dataType'"
|
|
|
|
+ :rules="[{required:true,message:'请选择类型',trigger:'change'}]"
|
|
v-if="items.basType===2&&!items.onlyNumType&&!items.onlyTxtType"
|
|
v-if="items.basType===2&&!items.onlyNumType&&!items.onlyTxtType"
|
|
>
|
|
>
|
|
<el-select
|
|
<el-select
|
|
@@ -282,6 +297,7 @@
|
|
'.groupVO.' +
|
|
'.groupVO.' +
|
|
index +
|
|
index +
|
|
'.klDiagnoseDetail.'+i+'.maxOperator'"
|
|
'.klDiagnoseDetail.'+i+'.maxOperator'"
|
|
|
|
+ :rules="[{required:true,message:'最大值和最小值至少完整填写一个,单位不必填',trigger:'change'}]"
|
|
>
|
|
>
|
|
<el-select
|
|
<el-select
|
|
v-model="items.maxOperator"
|
|
v-model="items.maxOperator"
|
|
@@ -304,6 +320,7 @@
|
|
'.groupVO.' +
|
|
'.groupVO.' +
|
|
index +
|
|
index +
|
|
'.klDiagnoseDetail.'+i+'.maxVal'"
|
|
'.klDiagnoseDetail.'+i+'.maxVal'"
|
|
|
|
+ :rules="[{required:true,message:'最大值和最小值至少完整填写一个,单位不必填',trigger:'blur'}]"
|
|
>
|
|
>
|
|
<el-input v-model="items.maxVal" placeholder="填写数值"></el-input>
|
|
<el-input v-model="items.maxVal" placeholder="填写数值"></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
@@ -325,6 +342,7 @@
|
|
'.groupVO.' +
|
|
'.groupVO.' +
|
|
index +
|
|
index +
|
|
'.klDiagnoseDetail.'+i+'.minOperator'"
|
|
'.klDiagnoseDetail.'+i+'.minOperator'"
|
|
|
|
+ :rules="[{required:true,message:'最大值和最小值至少完整填写一个,单位不必填',trigger:'blur'}]"
|
|
>
|
|
>
|
|
<el-select
|
|
<el-select
|
|
v-model="items.minOperator"
|
|
v-model="items.minOperator"
|
|
@@ -347,6 +365,7 @@
|
|
'.groupVO.' +
|
|
'.groupVO.' +
|
|
index +
|
|
index +
|
|
'.klDiagnoseDetail.'+i+'.minVal'"
|
|
'.klDiagnoseDetail.'+i+'.minVal'"
|
|
|
|
+ :rules="[{required:true,message:'最大值和最小值至少完整填写一个,单位不必填',trigger:'blur'}]"
|
|
>
|
|
>
|
|
<el-input v-model="items.minVal" placeholder="填写数值"></el-input>
|
|
<el-input v-model="items.minVal" placeholder="填写数值"></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
@@ -362,12 +381,13 @@
|
|
'.groupVO.' +
|
|
'.groupVO.' +
|
|
index +
|
|
index +
|
|
'.klDiagnoseDetail.'+i+'.eqValue'"
|
|
'.klDiagnoseDetail.'+i+'.eqValue'"
|
|
|
|
+ :rules="[{required:true,message:'请输入正则表达式',trigger:'blur'}]"
|
|
v-if="items.basType===4 || items.basType===3"
|
|
v-if="items.basType===4 || items.basType===3"
|
|
- key="v11"
|
|
|
|
|
|
+ maxlength="200"
|
|
label="正则表达式:"
|
|
label="正则表达式:"
|
|
class="discDesc"
|
|
class="discDesc"
|
|
>
|
|
>
|
|
- <el-input class="inp" placeholder="请输入正则表达式" v-model.trim="items.eqValue"></el-input>
|
|
|
|
|
|
+ <el-input class="inp" placeholder="不能为空~" v-model.trim="items.eqValue"></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item
|
|
<el-form-item
|
|
:prop="'klDiagnoseTypeVO.' +
|
|
:prop="'klDiagnoseTypeVO.' +
|
|
@@ -375,7 +395,8 @@
|
|
'.groupVO.' +
|
|
'.groupVO.' +
|
|
index +
|
|
index +
|
|
'.klDiagnoseDetail.'+i+'.eqValue'"
|
|
'.klDiagnoseDetail.'+i+'.eqValue'"
|
|
- key="v13"
|
|
|
|
|
|
+ :rules="[{required:true,message:'不能为空~',trigger:'blur'}]"
|
|
|
|
+ maxlength="200"
|
|
v-if="(!items.onlyNumType&&!items.basNameType&&(items.basType===2 || items.basType===1)&&items.dataType==='2')||items.onlyTxtType"
|
|
v-if="(!items.onlyNumType&&!items.basNameType&&(items.basType===2 || items.basType===1)&&items.dataType==='2')||items.onlyTxtType"
|
|
label="医学内容:"
|
|
label="医学内容:"
|
|
class="discDesc"
|
|
class="discDesc"
|
|
@@ -415,7 +436,7 @@ export default {
|
|
{ title: '组', width: 70 },
|
|
{ title: '组', width: 70 },
|
|
{ title: '符合条件的数量', width: 120, istar: true },
|
|
{ title: '符合条件的数量', width: 120, istar: true },
|
|
{ title: '基础依据', width: 80, istar: true },
|
|
{ title: '基础依据', width: 80, istar: true },
|
|
- { title: '基础依据名称', width: 130, istar: true },
|
|
|
|
|
|
+ { title: '基础依据名称', width: 200, istar: true },
|
|
{ title: '基础依据类型', width: 130, istar: true },
|
|
{ title: '基础依据类型', width: 130, istar: true },
|
|
{ title: '基础依据术语类型', width: 160, istar: true },
|
|
{ title: '基础依据术语类型', width: 160, istar: true },
|
|
{ title: '医学标准术语', width: 130, istar: true },
|
|
{ title: '医学标准术语', width: 130, istar: true },
|
|
@@ -431,6 +452,7 @@ export default {
|
|
title: '诊断依据维护-添加诊断依据',
|
|
title: '诊断依据维护-添加诊断依据',
|
|
conceptName: '',
|
|
conceptName: '',
|
|
conceptList: [],
|
|
conceptList: [],
|
|
|
|
+ conceptList: [],
|
|
form: {
|
|
form: {
|
|
description: '',
|
|
description: '',
|
|
conceptId: '',
|
|
conceptId: '',
|
|
@@ -488,6 +510,23 @@ export default {
|
|
},
|
|
},
|
|
trigger: 'change'
|
|
trigger: 'change'
|
|
}
|
|
}
|
|
|
|
+ ],
|
|
|
|
+ conditionType: [
|
|
|
|
+ { required: true, message: '请选择基础规则类型', trigger: ['change'] }
|
|
|
|
+ ],
|
|
|
|
+ subEqValue: [
|
|
|
|
+ {
|
|
|
|
+ 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'
|
|
|
|
+ }
|
|
]
|
|
]
|
|
},
|
|
},
|
|
dataTypes: [
|
|
dataTypes: [
|
|
@@ -514,7 +553,6 @@ export default {
|
|
created() {
|
|
created() {
|
|
const param = this.$route.params;
|
|
const param = this.$route.params;
|
|
this.baseTypes = JSON.parse(localStorage.getItem('zskDiagList') || '[]');
|
|
this.baseTypes = JSON.parse(localStorage.getItem('zskDiagList') || '[]');
|
|
- console.log(this.baseTypes)
|
|
|
|
this.dicts = JSON.parse(localStorage.getItem('zskDiagDicts') || '{}');
|
|
this.dicts = JSON.parse(localStorage.getItem('zskDiagDicts') || '{}');
|
|
let info = param.data;
|
|
let info = param.data;
|
|
if (info) {
|
|
if (info) {
|
|
@@ -525,9 +563,11 @@ export default {
|
|
this.conceptList = [
|
|
this.conceptList = [
|
|
{ conceptId: info.conceptId, conceptName: info.conceptName }
|
|
{ conceptId: info.conceptId, conceptName: info.conceptName }
|
|
];
|
|
];
|
|
- console.log(info)
|
|
|
|
|
|
+ for (let i = 0; i < info.klDiagnoseTypeVO.length; i++) {
|
|
|
|
+ info.klDiagnoseTypeVO[i].depart_id = this.i;
|
|
|
|
+ this.i++;
|
|
|
|
+ }
|
|
this.form = Object.assign({}, this.form, this.formatData(info));
|
|
this.form = Object.assign({}, this.form, this.formatData(info));
|
|
- console.log(this.form)
|
|
|
|
if (this.isCopy) {
|
|
if (this.isCopy) {
|
|
this.conceptList = [];
|
|
this.conceptList = [];
|
|
delete this.form.conceptName;
|
|
delete this.form.conceptName;
|
|
@@ -535,54 +575,74 @@ export default {
|
|
delete this.form.description;
|
|
delete this.form.description;
|
|
delete this.form.id;
|
|
delete this.form.id;
|
|
}
|
|
}
|
|
- // var index2 = this.baseTypes.findIndex(
|
|
|
|
- // item => item.id === this.form.klDiagnoseTypeVO[0].conditionType
|
|
|
|
- // );
|
|
|
|
- // console.log(index)
|
|
|
|
- // console.log(this.form);
|
|
|
|
- // this.baseTermTypeList = this.baseTypes[index2].subMenuList;
|
|
|
|
- // console.log(this.baseTermTypeList)
|
|
|
|
- // setTimeout(() => {
|
|
|
|
- // for (let i = 0; i < this.form.klDiagnoseTypeVO.length; i++) {
|
|
|
|
- // console.log(i)
|
|
|
|
- // this.i++;
|
|
|
|
- // this.form.klDiagnoseTypeVO[i].depart_id = this.i;
|
|
|
|
- // for (
|
|
|
|
- // let j = 0;
|
|
|
|
- // j < this.form.klDiagnoseTypeVO[i].groupVO.length;
|
|
|
|
- // j++
|
|
|
|
- // ) {
|
|
|
|
- // for (
|
|
|
|
- // let k = 0;
|
|
|
|
- // k <
|
|
|
|
- // this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail.length;
|
|
|
|
- // k++
|
|
|
|
- // ) {
|
|
|
|
- // var index2 = this.baseTermTypeList.findIndex(
|
|
|
|
- // item =>
|
|
|
|
- // item.type ===
|
|
|
|
- // this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[k]
|
|
|
|
- // .basType
|
|
|
|
- // );
|
|
|
|
- // this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[
|
|
|
|
- // k
|
|
|
|
- // ].basLibTypeList = this.baseTermTypeList[index2].subMenuList;
|
|
|
|
- // this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[
|
|
|
|
- // k
|
|
|
|
- // ].conceptList = [
|
|
|
|
- // {
|
|
|
|
- // conceptName: this.form.klDiagnoseTypeVO[i].groupVO[j]
|
|
|
|
- // .klDiagnoseDetail[k].basLibName,
|
|
|
|
- // conceptId: this.form.klDiagnoseTypeVO[i].groupVO[j]
|
|
|
|
- // .klDiagnoseDetail[k].basConceptId
|
|
|
|
- // }
|
|
|
|
- // ];
|
|
|
|
- // }
|
|
|
|
- // }
|
|
|
|
- // }
|
|
|
|
- // }, 600);
|
|
|
|
|
|
+ var index2 = this.baseTypes.findIndex(
|
|
|
|
+ item => item.ruleType === this.form.klDiagnoseTypeVO[0].conditionType
|
|
|
|
+ );
|
|
|
|
+ this.baseTermTypeList = this.baseTypes[index2].subMenuList;
|
|
|
|
+ for (let i = 0; i < this.form.klDiagnoseTypeVO.length; i++) {
|
|
|
|
+ for (let j = 0; j < this.form.klDiagnoseTypeVO[i].groupVO.length; j++) {
|
|
|
|
+ for (
|
|
|
|
+ let k = 0;
|
|
|
|
+ k <
|
|
|
|
+ this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail.length;
|
|
|
|
+ k++
|
|
|
|
+ ) {
|
|
|
|
+ var index2 = this.baseTermTypeList.findIndex(
|
|
|
|
+ item =>
|
|
|
|
+ item.type ===
|
|
|
|
+ this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[k]
|
|
|
|
+ .basType
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[
|
|
|
|
+ k
|
|
|
|
+ ].basLibTypeList = this.baseTermTypeList[index2].subMenuList;
|
|
|
|
+ this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[
|
|
|
|
+ k
|
|
|
|
+ ].conceptList = [
|
|
|
|
+ {
|
|
|
|
+ conceptName: this.form.klDiagnoseTypeVO[i].groupVO[j]
|
|
|
|
+ .klDiagnoseDetail[k].basLibName,
|
|
|
|
+ conceptId: this.form.klDiagnoseTypeVO[i].groupVO[j]
|
|
|
|
+ .klDiagnoseDetail[k].basConceptId
|
|
|
|
+ }
|
|
|
|
+ ];
|
|
|
|
+ if (
|
|
|
|
+ this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[k]
|
|
|
|
+ .maxOperator ||
|
|
|
|
+ this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[k]
|
|
|
|
+ .minOperator
|
|
|
|
+ ) {
|
|
|
|
+ this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[
|
|
|
|
+ k
|
|
|
|
+ ].dataType = '1';
|
|
|
|
+ } else if (
|
|
|
|
+ this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[k]
|
|
|
|
+ .eqValue
|
|
|
|
+ ) {
|
|
|
|
+ this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[
|
|
|
|
+ k
|
|
|
|
+ ].dataType = '2';
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ const onlyNum = this.dicts['onlyNum'] || '&';
|
|
|
|
+ const onlyTxt = this.dicts['onlyTxt'] || '&';
|
|
|
|
+ const codes = onlyNum + ',';
|
|
|
|
+ const code = onlyTxt + ',';
|
|
|
|
+ let type = this.form.klDiagnoseTypeVO[i].groupVO[j]
|
|
|
|
+ .klDiagnoseDetail[k].basLibType;
|
|
|
|
+ let a = this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[k]
|
|
|
|
+ .basLibType;
|
|
|
|
+ this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[
|
|
|
|
+ k
|
|
|
|
+ ].onlyNumType = type && codes.indexOf(a + ',') > -1;
|
|
|
|
+ this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[
|
|
|
|
+ k
|
|
|
|
+ ].onlyTxtType = type && code.indexOf(a + ',') > -1;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- this.setRules();
|
|
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
numArr() {
|
|
numArr() {
|
|
@@ -804,7 +864,7 @@ export default {
|
|
this.baseTermTypeList = [];
|
|
this.baseTermTypeList = [];
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- var index2 = this.baseTypes.findIndex(item => item.id === val);
|
|
|
|
|
|
+ var index2 = this.baseTypes.findIndex(item => item.ruleType === val);
|
|
this.baseTermTypeList = this.baseTypes[index2].subMenuList;
|
|
this.baseTermTypeList = this.baseTypes[index2].subMenuList;
|
|
},
|
|
},
|
|
//基础依据类型修改
|
|
//基础依据类型修改
|
|
@@ -903,13 +963,15 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
searchConcept(val, inx, index, i) {
|
|
searchConcept(val, inx, index, i) {
|
|
|
|
+ const formData = JSON.parse(JSON.stringify(this.form));
|
|
const param = {
|
|
const param = {
|
|
excludedConceptIds: [
|
|
excludedConceptIds: [
|
|
- this.form.klDiagnoseTypeVO[inx].groupVO[index].klDiagnoseDetail[i]
|
|
|
|
|
|
+ formData.klDiagnoseTypeVO[inx].groupVO[index].klDiagnoseDetail[i]
|
|
.basType
|
|
.basType
|
|
],
|
|
],
|
|
- libType: this.form.klDiagnoseTypeVO[inx].groupVO[index]
|
|
|
|
- .klDiagnoseDetail[i].basLibType,
|
|
|
|
|
|
+ libType:
|
|
|
|
+ formData.klDiagnoseTypeVO[inx].groupVO[index].klDiagnoseDetail[i]
|
|
|
|
+ .basLibType,
|
|
name: val
|
|
name: val
|
|
};
|
|
};
|
|
api
|
|
api
|
|
@@ -917,10 +979,14 @@ export default {
|
|
.then(res => {
|
|
.then(res => {
|
|
if (res.data.code == '0') {
|
|
if (res.data.code == '0') {
|
|
const data = res.data.data;
|
|
const data = res.data.data;
|
|
- this.form.klDiagnoseTypeVO[inx].groupVO[index].klDiagnoseDetail[
|
|
|
|
- i
|
|
|
|
- ].conceptList = data;
|
|
|
|
- // this.conceptList = data;
|
|
|
|
|
|
+
|
|
|
|
+ this.$nextTick(() => {
|
|
|
|
+ // dom元素更新后执行,因此这里能正确打印更改之后的值
|
|
|
|
+ formData.klDiagnoseTypeVO[inx].groupVO[index].klDiagnoseDetail[
|
|
|
|
+ i
|
|
|
|
+ ].conceptList = data; // 改变了的值
|
|
|
|
+ });
|
|
|
|
+ this.form = formData
|
|
}
|
|
}
|
|
})
|
|
})
|
|
.catch(error => {
|
|
.catch(error => {
|
|
@@ -985,203 +1051,6 @@ export default {
|
|
//console.log(JSON.parse(str))
|
|
//console.log(JSON.parse(str))
|
|
return JSON.parse(str);
|
|
return JSON.parse(str);
|
|
},
|
|
},
|
|
-
|
|
|
|
- setRules() {
|
|
|
|
- setTimeout(() => {
|
|
|
|
- let that = this;
|
|
|
|
- let list = this.form.klDiagnoseTypeVO;
|
|
|
|
- if (list && list.length > 0) {
|
|
|
|
- list.forEach((item, i) => {
|
|
|
|
- console.log(i)
|
|
|
|
- let list1 = list[i].groupVO;
|
|
|
|
- console.log(
|
|
|
|
- 'klDiagnoseTypeVO.' + list[i].depart_id + '.conditionType'
|
|
|
|
- );
|
|
|
|
- that.rules[
|
|
|
|
- 'klDiagnoseTypeVO.' + list[i].depart_id + '.conditionType'
|
|
|
|
- ] = [
|
|
|
|
- {
|
|
|
|
- required: true,
|
|
|
|
- message: '请选择诊断依据类型',
|
|
|
|
- trigger: ['change']
|
|
|
|
- }
|
|
|
|
- ];
|
|
|
|
-
|
|
|
|
- list1.forEach((it, x) => {
|
|
|
|
- console.log(
|
|
|
|
- 'klDiagnoseTypeVO.' +
|
|
|
|
- i +
|
|
|
|
- '.groupVO.' +
|
|
|
|
- x +
|
|
|
|
- '.fitNo'
|
|
|
|
- );
|
|
|
|
- that.rules[
|
|
|
|
- 'klDiagnoseTypeVO.' +
|
|
|
|
- i +
|
|
|
|
- '.groupVO.' +
|
|
|
|
- x +
|
|
|
|
- '.fitNo'
|
|
|
|
- ] = [
|
|
|
|
- {
|
|
|
|
- required: true,
|
|
|
|
- message: '请选择符合条件的数量',
|
|
|
|
- trigger: ['change']
|
|
|
|
- }
|
|
|
|
- ];
|
|
|
|
- let list2 = list1[x].klDiagnoseDetail;
|
|
|
|
- list2.forEach((t, j) => {
|
|
|
|
- let grandeObj = list2[j];
|
|
|
|
- if (grandeObj) {
|
|
|
|
- const keyTxt =
|
|
|
|
- 'klDiagnoseTypeVO.' +
|
|
|
|
- i +
|
|
|
|
- '.groupVO.' +
|
|
|
|
- x +
|
|
|
|
- '.klDiagnoseDetail.' +
|
|
|
|
- j;
|
|
|
|
- that.rules[keyTxt + '.basDescription'] = [
|
|
|
|
- {
|
|
|
|
- required: true,
|
|
|
|
- message: '请输入基础依据名称',
|
|
|
|
- trigger: ['blur']
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- validator: (rule, value, callback) => {
|
|
|
|
- if (value && value.length > 100) {
|
|
|
|
- callback(new Error('不能超过100字'));
|
|
|
|
- } else {
|
|
|
|
- callback();
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- trigger: 'blur'
|
|
|
|
- }
|
|
|
|
- ];
|
|
|
|
- that.rules[keyTxt + '.basType'] = [
|
|
|
|
- {
|
|
|
|
- required: true,
|
|
|
|
- message: '请选择基础依据类型',
|
|
|
|
- trigger: ['change']
|
|
|
|
- }
|
|
|
|
- ];
|
|
|
|
- that.rules[keyTxt + '.basLibType'] = [
|
|
|
|
- {
|
|
|
|
- required: true,
|
|
|
|
- message: '请选择基础依据术语类型',
|
|
|
|
- trigger: ['change']
|
|
|
|
- }
|
|
|
|
- ];
|
|
|
|
- that.rules[keyTxt + '.basConceptId'] = [
|
|
|
|
- {
|
|
|
|
- required: true,
|
|
|
|
- message: '请输入医学标准术语',
|
|
|
|
- trigger: ['change']
|
|
|
|
- }
|
|
|
|
- ];
|
|
|
|
- // that.rules[keyTxt + '.dataType'] = [
|
|
|
|
- // {
|
|
|
|
- // required: true,
|
|
|
|
- // message: '请选择类型',
|
|
|
|
- // trigger: ['change']
|
|
|
|
- // }
|
|
|
|
- // ];
|
|
|
|
- // that.rules[keyTxt + '.maxOperator'] = [
|
|
|
|
- // {
|
|
|
|
- // validator: (rule, value, callback) => {
|
|
|
|
- // const { maxVal, minOperator, minVal } = grandeObj;
|
|
|
|
- // const val = value + minOperator + minVal + maxVal;
|
|
|
|
- // if (!val || (!value && maxVal !== '')) {
|
|
|
|
- // callback(
|
|
|
|
- // new Error(
|
|
|
|
- // '最大值和最小值至少完整填写一个,单位不必填'
|
|
|
|
- // )
|
|
|
|
- // );
|
|
|
|
- // } else {
|
|
|
|
- // callback();
|
|
|
|
- // }
|
|
|
|
- // },
|
|
|
|
- // trigger: 'blur'
|
|
|
|
- // }
|
|
|
|
- // ];
|
|
|
|
- // that.rules[keyTxt + '.minOperator'] = [
|
|
|
|
- // {
|
|
|
|
- // validator: (rule, value, callback) => {
|
|
|
|
- // const { maxVal, maxOperator, minVal } = grandeObj;
|
|
|
|
- // const val = value + maxOperator + minVal + maxVal;
|
|
|
|
- // if (!val || (!value && minVal !== '')) {
|
|
|
|
- // callback(
|
|
|
|
- // new Error(
|
|
|
|
- // '最大值和最小值至少完整填写一个,单位不必填'
|
|
|
|
- // )
|
|
|
|
- // );
|
|
|
|
- // } else {
|
|
|
|
- // callback();
|
|
|
|
- // }
|
|
|
|
- // },
|
|
|
|
- // trigger: 'blur'
|
|
|
|
- // }
|
|
|
|
- // ];
|
|
|
|
- // that.rules[keyTxt + '.maxVal'] = [
|
|
|
|
- // {
|
|
|
|
- // validator: (rule, value, callback) => {
|
|
|
|
- // const { maxOperator, minOperator, minVal } = grandeObj;
|
|
|
|
- // 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'
|
|
|
|
- // }
|
|
|
|
- // ];
|
|
|
|
- // that.rules[keyTxt + '.minVal'] = [
|
|
|
|
- // {
|
|
|
|
- // validator: (rule, value, callback) => {
|
|
|
|
- // const { maxVal, minOperator, maxOperator } = grandeObj;
|
|
|
|
- // 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'
|
|
|
|
- // }
|
|
|
|
- // ];
|
|
|
|
- // that.rules[keyTxt + '.eqValue'] = [
|
|
|
|
- // { required: true, message: '不能为空~', trigger: 'blur' },
|
|
|
|
- // {
|
|
|
|
- // validator: (rule, value, callback) => {
|
|
|
|
- // if (value && value.length > 200) {
|
|
|
|
- // callback(new Error('不能超过200字'));
|
|
|
|
- // } else {
|
|
|
|
- // callback();
|
|
|
|
- // }
|
|
|
|
- // },
|
|
|
|
- // trigger: 'blur'
|
|
|
|
- // }
|
|
|
|
- // ];
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
- });
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- }, 600);
|
|
|
|
- },
|
|
|
|
searchDiag(val) {
|
|
searchDiag(val) {
|
|
const param = {
|
|
const param = {
|
|
diseaseName: val
|
|
diseaseName: val
|
|
@@ -1198,7 +1067,6 @@ export default {
|
|
console.log(error);
|
|
console.log(error);
|
|
});
|
|
});
|
|
},
|
|
},
|
|
-
|
|
|
|
setInitGroupData() {
|
|
setInitGroupData() {
|
|
let temp = this.getInitData();
|
|
let temp = this.getInitData();
|
|
this.form.klDiagnoseTypeVO = [temp];
|
|
this.form.klDiagnoseTypeVO = [temp];
|
|
@@ -1233,28 +1101,27 @@ export default {
|
|
});
|
|
});
|
|
},
|
|
},
|
|
confirm() {
|
|
confirm() {
|
|
- console.log(JSON.parse(JSON.stringify(this.form)));
|
|
|
|
|
|
+ const formData = JSON.parse(JSON.stringify(this.form));
|
|
const _this = this;
|
|
const _this = this;
|
|
- for (let i = 0; i < this.form.klDiagnoseTypeVO.length; i++) {
|
|
|
|
- for (let j = 0; j < this.form.klDiagnoseTypeVO[i].groupVO.length; j++) {
|
|
|
|
- delete this.form.klDiagnoseTypeVO[i].groupVO[j].baseTermTypeList;
|
|
|
|
|
|
+ for (let i = 0; i < formData.klDiagnoseTypeVO.length; i++) {
|
|
|
|
+ for (let j = 0; j < formData.klDiagnoseTypeVO[i].groupVO.length; j++) {
|
|
|
|
+ delete formData.klDiagnoseTypeVO[i].groupVO[j].baseTermTypeList;
|
|
for (
|
|
for (
|
|
let k = 0;
|
|
let k = 0;
|
|
- k <
|
|
|
|
- this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail.length;
|
|
|
|
|
|
+ k < formData.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail.length;
|
|
k++
|
|
k++
|
|
) {
|
|
) {
|
|
- delete this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[k]
|
|
|
|
|
|
+ delete formData.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[k]
|
|
.basLibTypeList;
|
|
.basLibTypeList;
|
|
- delete this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[k]
|
|
|
|
|
|
+ delete formData.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[k]
|
|
.conceptList;
|
|
.conceptList;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
let map = {},
|
|
let map = {},
|
|
dest = [];
|
|
dest = [];
|
|
- for (let i = 0; i < this.form.klDiagnoseTypeVO.length; i++) {
|
|
|
|
- let ai = this.form.klDiagnoseTypeVO[i];
|
|
|
|
|
|
+ for (let i = 0; i < formData.klDiagnoseTypeVO.length; i++) {
|
|
|
|
+ let ai = formData.klDiagnoseTypeVO[i];
|
|
if (!map[ai.depart_id]) {
|
|
if (!map[ai.depart_id]) {
|
|
dest.push({
|
|
dest.push({
|
|
depart_id: ai.depart_id,
|
|
depart_id: ai.depart_id,
|
|
@@ -1273,10 +1140,9 @@ export default {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- this.form.klDiagnoseTypeVO = dest;
|
|
|
|
- console.log(this.form);
|
|
|
|
|
|
+ formData.klDiagnoseTypeVO = dest;
|
|
this.validateForms(function() {
|
|
this.validateForms(function() {
|
|
- let params = _this.form;
|
|
|
|
|
|
+ let params = formData;
|
|
_this.saveDiagBase(params);
|
|
_this.saveDiagBase(params);
|
|
});
|
|
});
|
|
}
|
|
}
|
|
@@ -1316,11 +1182,38 @@ export default {
|
|
background: #ebedf1;
|
|
background: #ebedf1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ .inps {
|
|
|
|
+ width: 500px !important;
|
|
|
|
+ .el-input__inner {
|
|
|
|
+ width: 500px !important;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
.content-2 {
|
|
.content-2 {
|
|
margin-top: 10px;
|
|
margin-top: 10px;
|
|
padding: 20px 20px 50px;
|
|
padding: 20px 20px 50px;
|
|
min-height: 600px;
|
|
min-height: 600px;
|
|
|
|
+ .content-2-header {
|
|
|
|
+ padding: 20px 0;
|
|
|
|
+ .title1 {
|
|
|
|
+ font-size: 14px;
|
|
|
|
+ font-weight: 400;
|
|
|
|
+ color: #333333;
|
|
|
|
+ line-height: 20px;
|
|
|
|
+ }
|
|
|
|
+ .title2 {
|
|
|
|
+ font-size: 12px;
|
|
|
|
+ font-weight: 400;
|
|
|
|
+ color: #ff545b;
|
|
|
|
+ line-height: 17px;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ .inp-name {
|
|
|
|
+ width: 160px !important;
|
|
|
|
+ .el-input__inner {
|
|
|
|
+ width: 160px !important;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
.el-form-item {
|
|
.el-form-item {
|
|
margin: 20px 0;
|
|
margin: 20px 0;
|
|
}
|
|
}
|
|
@@ -1386,6 +1279,12 @@ export default {
|
|
background: #fff;
|
|
background: #fff;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ .el-form-item__error {
|
|
|
|
+ top: 56px;
|
|
|
|
+ left: 10px;
|
|
|
|
+ white-space: nowrap;
|
|
|
|
+ background: #fff;
|
|
|
|
+ }
|
|
.box-1 {
|
|
.box-1 {
|
|
display: inline;
|
|
display: inline;
|
|
/deep/ .el-input,
|
|
/deep/ .el-input,
|