|
@@ -172,7 +172,7 @@
|
|
|
height="18"
|
|
|
width="18"
|
|
|
class="icon"
|
|
|
- @click="addRule(scope.row,scope.$index,index)"
|
|
|
+ @click="addRule(scope.row,scope.$index,index,i)"
|
|
|
/>
|
|
|
<img
|
|
|
src="../../images/icon-delete.png"
|
|
@@ -249,7 +249,7 @@
|
|
|
</el-form-item>
|
|
|
|
|
|
<div
|
|
|
- v-if="v.title == '医学标准术语'"
|
|
|
+ v-if="v.title == '医学标准术语' && items.basType == 1"
|
|
|
class="box-2"
|
|
|
:class="items.basType===3 || items.basType===4? 'tmall' : 'taobao'"
|
|
|
>
|
|
@@ -268,10 +268,12 @@
|
|
|
multiple
|
|
|
filterable
|
|
|
remote
|
|
|
+ collapse-tags
|
|
|
reserve-keyword
|
|
|
placeholder="请输入关键词"
|
|
|
:remote-method="(val)=>searchConcept(val,scope.$index,index,i)"
|
|
|
@change="(val)=>conceptChange(val,scope.$index,index,i)"
|
|
|
+ @visible-change="(val)=>changeValue1(val,scope.$index,index,i)"
|
|
|
>
|
|
|
<el-option
|
|
|
v-for="item in items.conceptList"
|
|
@@ -498,7 +500,7 @@ export default {
|
|
|
{ title: '基础依据名称', width: 160, istar: true },
|
|
|
{ title: '基础依据类型', width: 130, istar: true },
|
|
|
{ title: '基础依据术语类型', width: 160, istar: true },
|
|
|
- { title: '医学标准术语', width: 180, istar: true },
|
|
|
+ { title: '医学标准术语', width: 200, istar: true },
|
|
|
{ title: '依据具体内容', width: 850 }
|
|
|
],
|
|
|
dicts: {},
|
|
@@ -531,6 +533,7 @@ export default {
|
|
|
onlyTxtType: false,
|
|
|
basTypeName: '',
|
|
|
basConceptId: [],
|
|
|
+ basConceptList: [],
|
|
|
basDescription: '',
|
|
|
basLename: '',
|
|
|
basLibName: '',
|
|
@@ -572,7 +575,8 @@ export default {
|
|
|
list: [], //提交数据数组,
|
|
|
i: 1,
|
|
|
onshow: true,
|
|
|
- arr :[]
|
|
|
+ arr: [],
|
|
|
+ basConceptId: []
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
@@ -603,97 +607,61 @@ export default {
|
|
|
item => item.ruleType === this.form.klDiagnoseTypeVO[0].conditionType
|
|
|
);
|
|
|
this.baseTermTypeList = this.baseTypes[index2].subMenuList;
|
|
|
- let arr = [];
|
|
|
- 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++
|
|
|
- ) {
|
|
|
- this.arr = []
|
|
|
+ const klDiagnoseTypeVO = this.form.klDiagnoseTypeVO,
|
|
|
+ arr = [];
|
|
|
+ let groupVOi, klDiagnoseDetailj;
|
|
|
+ for (let i = 0; i < klDiagnoseTypeVO.length; i++) {
|
|
|
+ groupVOi = klDiagnoseTypeVO[i].groupVO;
|
|
|
+ for (let j = 0; j < groupVOi.length; j++) {
|
|
|
+ klDiagnoseDetailj = groupVOi[j].klDiagnoseDetail;
|
|
|
+ for (let k = 0; k < groupVOi[j].klDiagnoseDetail.length; k++) {
|
|
|
+ this.arr = [];
|
|
|
var index2 = this.baseTermTypeList.findIndex(
|
|
|
- item =>
|
|
|
- item.type ===
|
|
|
- this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[k]
|
|
|
- .basType
|
|
|
+ item => item.type === klDiagnoseDetailj[k].basType
|
|
|
);
|
|
|
- this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[
|
|
|
- k
|
|
|
- ].basLibTypeList = this.baseTermTypeList[index2].subMenuList;
|
|
|
+ klDiagnoseDetailj[k].basLibTypeList = this.baseTermTypeList[
|
|
|
+ index2
|
|
|
+ ].subMenuList;
|
|
|
|
|
|
- this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[
|
|
|
- k
|
|
|
- ].conceptList = this.formatData2(
|
|
|
- this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[k]
|
|
|
- .libNameList
|
|
|
+ klDiagnoseDetailj[k].conceptList = this.formatData2(
|
|
|
+ klDiagnoseDetailj[k].libNameList
|
|
|
);
|
|
|
- this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[
|
|
|
- k
|
|
|
- ].libNameList.forEach(item => {
|
|
|
+ klDiagnoseDetailj[k].libNameList.forEach(item => {
|
|
|
this.arr.push(item.basConceptId);
|
|
|
});
|
|
|
- this.$set(
|
|
|
- this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[
|
|
|
- k
|
|
|
- ],
|
|
|
- 'basConceptId',
|
|
|
- this.arr
|
|
|
- );
|
|
|
+ this.$set(klDiagnoseDetailj[k], 'basConceptId', this.arr);
|
|
|
+ // klDiagnoseDetailj[k].basConceptId = arr;
|
|
|
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
|
|
|
+ klDiagnoseDetailj[k].maxOperator ||
|
|
|
+ klDiagnoseDetailj[k].minOperator
|
|
|
) {
|
|
|
- this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[
|
|
|
- k
|
|
|
- ].dataType = '2';
|
|
|
+ klDiagnoseDetailj[k].dataType = '1';
|
|
|
+ } else if (klDiagnoseDetailj[k].eqValue) {
|
|
|
+ klDiagnoseDetailj[k].dataType = '2';
|
|
|
}
|
|
|
if (
|
|
|
- this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[k]
|
|
|
- .basType == 3 ||
|
|
|
- this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[k]
|
|
|
- .basType == 4
|
|
|
+ klDiagnoseDetailj[k].basType == 3 ||
|
|
|
+ klDiagnoseDetailj[k].basType == 4 ||
|
|
|
+ klDiagnoseDetailj[k].basType == 5 ||
|
|
|
+ klDiagnoseDetailj[k].basType == 6
|
|
|
) {
|
|
|
- this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[
|
|
|
- k
|
|
|
- ].basTypeName = this.form.klDiagnoseTypeVO[i].groupVO[
|
|
|
- j
|
|
|
- ].klDiagnoseDetail[k].basLibTypeList[0].name;
|
|
|
- this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[
|
|
|
- k
|
|
|
- ].basNameType = true;
|
|
|
+ klDiagnoseDetailj[k].basTypeName =
|
|
|
+ klDiagnoseDetailj[k].basLibTypeList[0].name;
|
|
|
+ klDiagnoseDetailj[k].basNameType = true;
|
|
|
} else {
|
|
|
- this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[
|
|
|
- k
|
|
|
- ].basTypeName = '';
|
|
|
- this.form.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[
|
|
|
- k
|
|
|
- ].basNameType = false;
|
|
|
+ klDiagnoseDetailj[k].basTypeName = '';
|
|
|
+ klDiagnoseDetailj[k].basNameType = false;
|
|
|
}
|
|
|
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;
|
|
|
+ let type = klDiagnoseDetailj[k].basLibType;
|
|
|
+ let a = klDiagnoseDetailj[k].basLibType;
|
|
|
+ klDiagnoseDetailj[k].onlyNumType =
|
|
|
+ type && codes.indexOf(a + ',') > -1;
|
|
|
+ klDiagnoseDetailj[k].onlyTxtType =
|
|
|
+ type && code.indexOf(a + ',') > -1;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -869,6 +837,7 @@ export default {
|
|
|
onlyTxtType: false,
|
|
|
basTypeName: '',
|
|
|
basConceptId: [],
|
|
|
+ basConceptList: [],
|
|
|
basDescription: '',
|
|
|
basLename: '',
|
|
|
basLibName: '',
|
|
@@ -945,6 +914,7 @@ export default {
|
|
|
onlyTxtType: false,
|
|
|
basTypeName: '',
|
|
|
basConceptId: [],
|
|
|
+ basConceptList: [],
|
|
|
basDescription: '',
|
|
|
basLename: '',
|
|
|
basLibName: '',
|
|
@@ -968,12 +938,13 @@ export default {
|
|
|
this.form.klDiagnoseTypeVO.splice(i, 1);
|
|
|
},
|
|
|
//新增基础依据
|
|
|
- addRule(row, index, i) {
|
|
|
+ addRule(row, index, inx, i) {
|
|
|
let temp = {
|
|
|
dataType: '',
|
|
|
basNameType: false,
|
|
|
basTypeName: '',
|
|
|
basConceptId: [],
|
|
|
+ basConceptList: [],
|
|
|
basDescription: '',
|
|
|
basLename: '',
|
|
|
basLibName: '',
|
|
@@ -987,22 +958,29 @@ export default {
|
|
|
maxVal: '',
|
|
|
minOperator: '',
|
|
|
minUnit: '',
|
|
|
- minVal: '',
|
|
|
- dataType: ''
|
|
|
+ minVal: ''
|
|
|
};
|
|
|
- this.form.klDiagnoseTypeVO[index].groupVO[i].klDiagnoseDetail.push(temp);
|
|
|
+ this.form.klDiagnoseTypeVO[index].groupVO[inx].klDiagnoseDetail.splice(
|
|
|
+ i + 1,
|
|
|
+ 0,
|
|
|
+ temp
|
|
|
+ );
|
|
|
+ this.form.klDiagnoseTypeVO = JSON.parse(
|
|
|
+ JSON.stringify(this.form.klDiagnoseTypeVO)
|
|
|
+ ); //8525更新对象触发滚动条更新
|
|
|
},
|
|
|
delRule(row, inx, index, i) {
|
|
|
- if (
|
|
|
- this.form.klDiagnoseTypeVO[inx].groupVO[index].klDiagnoseDetail
|
|
|
- .length == 1
|
|
|
- ) {
|
|
|
+ const klDiagnoseDetail = this.form.klDiagnoseTypeVO[inx].groupVO[index]
|
|
|
+ .klDiagnoseDetail;
|
|
|
+ if (klDiagnoseDetail.length === 1) {
|
|
|
return;
|
|
|
} else {
|
|
|
- this.form.klDiagnoseTypeVO[inx].groupVO[index].klDiagnoseDetail.splice(
|
|
|
- i,
|
|
|
- 1
|
|
|
- );
|
|
|
+ klDiagnoseDetail.splice(i, 1);
|
|
|
+ const numArr = this.numArr[inx].num[0];
|
|
|
+ const fitNo = this.form.klDiagnoseTypeVO[inx].groupVO[0].fitNo;
|
|
|
+ if (numArr[numArr.length - 1].name < fitNo) {
|
|
|
+ this.form.klDiagnoseTypeVO[inx].groupVO[0].fitNo = '';
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
//诊断依据类型修改
|
|
@@ -1041,7 +1019,7 @@ export default {
|
|
|
this.form.klDiagnoseTypeVO[inx].groupVO[
|
|
|
index
|
|
|
].baseTermTypeList = this.baseTermTypeList;
|
|
|
- if (val == 3 || val == 4) {
|
|
|
+ if (val == 3 || val == 4 || val == 5 || val == 6) {
|
|
|
this.form.klDiagnoseTypeVO[inx].groupVO[index].klDiagnoseDetail[
|
|
|
i
|
|
|
].basTypeName = this.form.klDiagnoseTypeVO[inx].groupVO[
|
|
@@ -1107,11 +1085,44 @@ export default {
|
|
|
this.clearConcept(val, inx, index, i);
|
|
|
this.clearNumText2(val, inx, index, i);
|
|
|
},
|
|
|
+ changeValue1(val, inx, index, i) {
|
|
|
+ const formData = JSON.parse(
|
|
|
+ JSON.stringify(
|
|
|
+ this.form.klDiagnoseTypeVO[inx].groupVO[index].klDiagnoseDetail[i]
|
|
|
+ )
|
|
|
+ );
|
|
|
+ this.basConceptId = [];
|
|
|
+ if (val) {
|
|
|
+ // console.log(formData.basConceptId)
|
|
|
+ // formData.basConceptId.forEach(item => {
|
|
|
+ // formData.conceptList.forEach(it => {
|
|
|
+ // if (item == it.conceptId) {
|
|
|
+ // this.basConceptId.push(it);
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ // });
|
|
|
+ // this.form.klDiagnoseTypeVO[inx].groupVO[index].klDiagnoseDetail[
|
|
|
+ // i
|
|
|
+ // ].conceptList = this.basConceptId
|
|
|
+ } else {
|
|
|
+ formData.basConceptId.forEach(item => {
|
|
|
+ formData.basConceptList.forEach(it => {
|
|
|
+ if (item == it.conceptId) {
|
|
|
+ // console.log(it)
|
|
|
+ this.basConceptId.push(it);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ // console.log(formData.basConceptList)
|
|
|
+ // formData.basConceptList.concat(this.basConceptId)
|
|
|
+ // console.log(formData.basConceptList)
|
|
|
+ this.form.klDiagnoseTypeVO[inx].groupVO[index].klDiagnoseDetail[
|
|
|
+ i
|
|
|
+ ].conceptList = this.basConceptId;
|
|
|
+ }
|
|
|
+ },
|
|
|
//医学标准术语
|
|
|
conceptChange(val, inx, index, i) {
|
|
|
- // this.form.klDiagnoseTypeVO[inx].groupVO[index].klDiagnoseDetail[
|
|
|
- // i
|
|
|
- // ].basConceptId = val;
|
|
|
this.$set(
|
|
|
this.form.klDiagnoseTypeVO[inx].groupVO[index].klDiagnoseDetail[i],
|
|
|
'basConceptId',
|
|
@@ -1147,13 +1158,24 @@ export default {
|
|
|
.searchConcept(param)
|
|
|
.then(res => {
|
|
|
if (res.data.code == '0') {
|
|
|
- const data = res.data.data;
|
|
|
+ let data = res.data.data;
|
|
|
|
|
|
this.$nextTick(() => {
|
|
|
// dom元素更新后执行,因此这里能正确打印更改之后的值
|
|
|
+ let conceptList =
|
|
|
+ formData.klDiagnoseTypeVO[inx].groupVO[index].klDiagnoseDetail[
|
|
|
+ i
|
|
|
+ ].conceptList;
|
|
|
+ let data2 = data.filter(it => {
|
|
|
+ let arr = conceptList.map(v => v.conceptId);
|
|
|
+ return !arr.includes(it.conceptId);
|
|
|
+ });
|
|
|
+ formData.klDiagnoseTypeVO[inx].groupVO[index].klDiagnoseDetail[
|
|
|
+ i
|
|
|
+ ].conceptList = data2; // 改变了的值
|
|
|
formData.klDiagnoseTypeVO[inx].groupVO[index].klDiagnoseDetail[
|
|
|
i
|
|
|
- ].conceptList = data; // 改变了的值
|
|
|
+ ].basConceptList = data;
|
|
|
});
|
|
|
this.form = formData;
|
|
|
}
|
|
@@ -1478,6 +1500,26 @@ export default {
|
|
|
.el-input {
|
|
|
height: 100% !important;
|
|
|
}
|
|
|
+ .el-select__tags {
|
|
|
+ max-width: 100% !important;
|
|
|
+ }
|
|
|
+ .el-tag {
|
|
|
+ width: 90px !important;
|
|
|
+
|
|
|
+ .el-select__tags-text {
|
|
|
+ width: 75px !important;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ white-space: nowrap;
|
|
|
+ }
|
|
|
+ .el-tag__close{
|
|
|
+ top: -22px;
|
|
|
+ right: -38PX;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .el-tag:last-child {
|
|
|
+ width: 40px !important;
|
|
|
+ }
|
|
|
}
|
|
|
.contents {
|
|
|
height: 100%;
|
|
@@ -1512,6 +1554,9 @@ export default {
|
|
|
font-size: 12px;
|
|
|
}
|
|
|
}
|
|
|
+ /deep/ .el-select .el-input .el-icon-arrow-up {
|
|
|
+ line-height: 25px;
|
|
|
+ }
|
|
|
.inps {
|
|
|
width: 500px !important;
|
|
|
font-size: 14px;
|
|
@@ -1529,6 +1574,9 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ /deep/.is-error .el-form-item__error {
|
|
|
+ top: 30px;
|
|
|
+ }
|
|
|
.content-2 {
|
|
|
margin-top: 10px;
|
|
|
padding: 20px 20px;
|