|
@@ -272,7 +272,7 @@
|
|
|
reserve-keyword
|
|
|
placeholder="请输入关键词"
|
|
|
:remote-method="(val)=>searchConcept(val,scope.$index,index,i)"
|
|
|
- @change="(val)=>conceptChange(val,scope.$index,index,i)"
|
|
|
+ @change="(val)=>conceptChange(val,scope.$index,index,i,items.basType)"
|
|
|
@visible-change="(val)=>changeValue1(val,scope.$index,index,i)"
|
|
|
>
|
|
|
<el-option
|
|
@@ -284,6 +284,39 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
+ <div
|
|
|
+ v-if="v.title == '医学标准术语' && items.basType != 1"
|
|
|
+ class="box-2"
|
|
|
+ :class="items.basType===3 || items.basType===4? 'tmall' : 'taobao'"
|
|
|
+ >
|
|
|
+ <el-form-item
|
|
|
+ v-if="items.basType==1 || items.basType==2 || items.basType==''"
|
|
|
+ :prop="'klDiagnoseTypeVO.' +
|
|
|
+ scope.$index +
|
|
|
+ '.groupVO.' +
|
|
|
+ index +
|
|
|
+ '.klDiagnoseDetail.'+i+'.conceptId'"
|
|
|
+ :rules="[
|
|
|
+ { required: true, message: '请选择医学标准术语', trigger: 'change' }
|
|
|
+ ]"
|
|
|
+ >
|
|
|
+ <el-select
|
|
|
+ clearable
|
|
|
+ remote
|
|
|
+ filterable
|
|
|
+ :remote-method="(val)=>searchConcept(val,scope.$index,index,i)"
|
|
|
+ v-model.trim="items.conceptId"
|
|
|
+ @change="(val)=>conceptChange(val,scope.$index,index,i,items.basType)"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in items.conceptList"
|
|
|
+ :key="item.conceptId"
|
|
|
+ :label="item.conceptName"
|
|
|
+ :value="item.conceptId"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
<div class="last-box" v-if="v.title == '依据具体内容'">
|
|
|
<el-form-item
|
|
|
:prop="'klDiagnoseTypeVO.' +
|
|
@@ -434,7 +467,7 @@
|
|
|
'.groupVO.' +
|
|
|
index +
|
|
|
'.klDiagnoseDetail.'+i+'.eqValue'"
|
|
|
- v-if="items.basType===4 || items.basType===3"
|
|
|
+ v-if="items.basType===4 || items.basType===3 || items.basType===5 || items.basType===6"
|
|
|
maxlength="200"
|
|
|
label="正则表达式:"
|
|
|
class="discDesc"
|
|
@@ -533,6 +566,7 @@ export default {
|
|
|
onlyTxtType: false,
|
|
|
basTypeName: '',
|
|
|
basConceptId: [],
|
|
|
+ conceptId:'',
|
|
|
basConceptList: [],
|
|
|
basDescription: '',
|
|
|
basLename: '',
|
|
@@ -576,7 +610,8 @@ export default {
|
|
|
i: 1,
|
|
|
onshow: true,
|
|
|
arr: [],
|
|
|
- basConceptId: []
|
|
|
+ basConceptId: [],
|
|
|
+ conceptId: ''
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
@@ -607,8 +642,7 @@ export default {
|
|
|
item => item.ruleType === this.form.klDiagnoseTypeVO[0].conditionType
|
|
|
);
|
|
|
this.baseTermTypeList = this.baseTypes[index2].subMenuList;
|
|
|
- const klDiagnoseTypeVO = this.form.klDiagnoseTypeVO,
|
|
|
- arr = [];
|
|
|
+ const klDiagnoseTypeVO = this.form.klDiagnoseTypeVO;
|
|
|
let groupVOi, klDiagnoseDetailj;
|
|
|
for (let i = 0; i < klDiagnoseTypeVO.length; i++) {
|
|
|
groupVOi = klDiagnoseTypeVO[i].groupVO;
|
|
@@ -622,15 +656,21 @@ export default {
|
|
|
klDiagnoseDetailj[k].basLibTypeList = this.baseTermTypeList[
|
|
|
index2
|
|
|
].subMenuList;
|
|
|
-
|
|
|
klDiagnoseDetailj[k].conceptList = this.formatData2(
|
|
|
klDiagnoseDetailj[k].libNameList
|
|
|
);
|
|
|
- klDiagnoseDetailj[k].libNameList.forEach(item => {
|
|
|
- this.arr.push(item.basConceptId);
|
|
|
- });
|
|
|
- this.$set(klDiagnoseDetailj[k], 'basConceptId', this.arr);
|
|
|
- // klDiagnoseDetailj[k].basConceptId = arr;
|
|
|
+ if (klDiagnoseDetailj[k].basType == 1) {
|
|
|
+ klDiagnoseDetailj[k].libNameList.forEach(item => {
|
|
|
+ this.arr.push(item.basConceptId);
|
|
|
+ });
|
|
|
+ this.$set(klDiagnoseDetailj[k], 'basConceptId', this.arr);
|
|
|
+ } else if (klDiagnoseDetailj[k].basType == 2) {
|
|
|
+ klDiagnoseDetailj[k].libNameList.forEach(item => {
|
|
|
+ this.arr.push(item.basConceptId);
|
|
|
+ });
|
|
|
+ this.$set(klDiagnoseDetailj[k], 'conceptId', this.arr[0]);
|
|
|
+ }
|
|
|
+
|
|
|
if (
|
|
|
klDiagnoseDetailj[k].maxOperator ||
|
|
|
klDiagnoseDetailj[k].minOperator
|
|
@@ -837,6 +877,7 @@ export default {
|
|
|
onlyTxtType: false,
|
|
|
basTypeName: '',
|
|
|
basConceptId: [],
|
|
|
+ conceptId:'',
|
|
|
basConceptList: [],
|
|
|
basDescription: '',
|
|
|
basLename: '',
|
|
@@ -914,6 +955,7 @@ export default {
|
|
|
onlyTxtType: false,
|
|
|
basTypeName: '',
|
|
|
basConceptId: [],
|
|
|
+ conceptId:'',
|
|
|
basConceptList: [],
|
|
|
basDescription: '',
|
|
|
basLename: '',
|
|
@@ -944,6 +986,7 @@ export default {
|
|
|
basNameType: false,
|
|
|
basTypeName: '',
|
|
|
basConceptId: [],
|
|
|
+ conceptId:'',
|
|
|
basConceptList: [],
|
|
|
basDescription: '',
|
|
|
basLename: '',
|
|
@@ -1122,12 +1165,17 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
//医学标准术语
|
|
|
- conceptChange(val, inx, index, i) {
|
|
|
- this.$set(
|
|
|
- this.form.klDiagnoseTypeVO[inx].groupVO[index].klDiagnoseDetail[i],
|
|
|
- 'basConceptId',
|
|
|
- val
|
|
|
- );
|
|
|
+ conceptChange(val, inx, index, i, basType) {
|
|
|
+ if (basType == 1) {
|
|
|
+ this.$set(
|
|
|
+ this.form.klDiagnoseTypeVO[inx].groupVO[index].klDiagnoseDetail[i],
|
|
|
+ 'basConceptId',
|
|
|
+ val
|
|
|
+ );
|
|
|
+ } else if (basType == 2) {
|
|
|
+ this.form.klDiagnoseTypeVO[inx].groupVO[index].klDiagnoseDetail[i].conceptId = val;
|
|
|
+ }
|
|
|
+
|
|
|
// if (val) {
|
|
|
// this.form.klDiagnoseTypeVO[inx].groupVO[index].klDiagnoseDetail[
|
|
|
// i
|
|
@@ -1162,20 +1210,29 @@ export default {
|
|
|
|
|
|
this.$nextTick(() => {
|
|
|
// dom元素更新后执行,因此这里能正确打印更改之后的值
|
|
|
- let conceptList =
|
|
|
+ if (
|
|
|
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
|
|
|
- ].basConceptList = data;
|
|
|
+ ].basType == 1
|
|
|
+ ) {
|
|
|
+ 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
|
|
|
+ ].basConceptList = data;
|
|
|
+ }else{
|
|
|
+ formData.klDiagnoseTypeVO[inx].groupVO[index].klDiagnoseDetail[
|
|
|
+ i
|
|
|
+ ].conceptList = data;
|
|
|
+ }
|
|
|
});
|
|
|
this.form = formData;
|
|
|
}
|
|
@@ -1437,7 +1494,9 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
confirm() {
|
|
|
+
|
|
|
const formData = JSON.parse(JSON.stringify(this.form));
|
|
|
+
|
|
|
const _this = this;
|
|
|
for (let i = 0; i < formData.klDiagnoseTypeVO.length; i++) {
|
|
|
for (let j = 0; j < formData.klDiagnoseTypeVO[i].groupVO.length; j++) {
|
|
@@ -1451,6 +1510,15 @@ export default {
|
|
|
.basLibTypeList;
|
|
|
delete formData.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[k]
|
|
|
.conceptList;
|
|
|
+ formData.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[
|
|
|
+ k
|
|
|
+ ].basConceptId =
|
|
|
+ formData.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[k]
|
|
|
+ .basType == 2
|
|
|
+ ? JSON.stringify(formData.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[k]
|
|
|
+ .conceptId).split('')
|
|
|
+ : formData.klDiagnoseTypeVO[i].groupVO[j].klDiagnoseDetail[k]
|
|
|
+ .basConceptId;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1504,21 +1572,29 @@ export default {
|
|
|
max-width: 100% !important;
|
|
|
}
|
|
|
.el-tag {
|
|
|
- width: 90px !important;
|
|
|
-
|
|
|
.el-select__tags-text {
|
|
|
width: 75px !important;
|
|
|
+ display: block;
|
|
|
overflow: hidden;
|
|
|
text-overflow: ellipsis;
|
|
|
white-space: nowrap;
|
|
|
}
|
|
|
- .el-tag__close{
|
|
|
+ .el-tag__close {
|
|
|
top: -22px;
|
|
|
- right: -38PX;
|
|
|
+ right: -38px;
|
|
|
}
|
|
|
}
|
|
|
.el-tag:last-child {
|
|
|
- width: 40px !important;
|
|
|
+ min-width: 40px !important;
|
|
|
+ max-width: 75px !important;
|
|
|
+ .el-select__tags-text {
|
|
|
+ display: inline;
|
|
|
+ }
|
|
|
+ .el-tag__close {
|
|
|
+ top: 0;
|
|
|
+ left: 0;
|
|
|
+ right: 0;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
.contents {
|