|
@@ -1,149 +1,89 @@
|
|
|
<template>
|
|
|
- <div class="AddChemicalAndCommonMappingWrapper clearfix" @click="close">
|
|
|
+ <div class="AddChemicalAndCommonMappingWrapper clearfix">
|
|
|
<crumbs
|
|
|
:title="isEdit ? '诊断关联维护--修改关联' : '诊断关联维护--添加关联'"
|
|
|
class="topBack"
|
|
|
:param="$route.params"
|
|
|
- linkTo="ChemicalAndCommonMapping"
|
|
|
+ linkTo="DeptManage"
|
|
|
></crumbs>
|
|
|
- <div class="AddChemicalAndCommonMappingBox clearfix">
|
|
|
- <div class="titleBox clearfix">
|
|
|
- <p class="title">医院术语</p>
|
|
|
- <p class="title">标准术语</p>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="leftBox clearfix">
|
|
|
- <div class="itemLabel clearfix">
|
|
|
- <label class="itemLabelName">诊断名称</label>
|
|
|
- <input class="searchInput" type="text" v-model="mealText" />
|
|
|
+ <el-form :model="form" label-position="right" label-width="120px" ref="relationForm">
|
|
|
+ <div class="AddChemicalAndCommonMappingBox clearfix">
|
|
|
+ <div class="titleBox clearfix">
|
|
|
+ <p class="title">医院术语</p>
|
|
|
+ <p class="title">标准术语</p>
|
|
|
</div>
|
|
|
-
|
|
|
- <div class="itemLabel clearfix">
|
|
|
- <!-- <label class="itemLabelName isRequired">诊断名称预览:</label> -->
|
|
|
- <label class="itemLabelName">诊断名称预览:</label>
|
|
|
- <span class="selectItemName">{{mealText}}</span>
|
|
|
+ <div class="leftBox clearfix">
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="16">
|
|
|
+ <el-form-item label="诊断名称:">
|
|
|
+ <el-input v-model="form.hisName" clearable></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="诊断名称预览:">
|
|
|
+ <span class="previewInfo">{{form.hisName}}</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
</div>
|
|
|
- <!-- <div class="itemLabel clearfix">
|
|
|
- <label class="itemLabelName">选择化验大项:</label>
|
|
|
- <input class="searchInput" @focus="focuInput" type="text" v-model="mealText" />
|
|
|
- <span class="searchName" @click="searchMealItem(1)">搜索</span>
|
|
|
- <ul
|
|
|
- v-if="showMealNameList&&mealNameList.length >0"
|
|
|
- class="itemList mealNameList"
|
|
|
- ref="mealNameList"
|
|
|
- >
|
|
|
- <li
|
|
|
- v-for="item in mealNameList"
|
|
|
- class="mealNameItem ellipsis"
|
|
|
- :title="item.conceptName"
|
|
|
- @click="selectMealName(item)"
|
|
|
- :key="item.conceptId"
|
|
|
- >{{item.conceptName}}</li>
|
|
|
- </ul>
|
|
|
- </div>-->
|
|
|
- <!-- <div class="itemLabel clearfix">
|
|
|
- <label class="itemLabelName isRequired">已选择化验大项:</label>
|
|
|
- <span class="selectItemName">{{form.mealName}}</span>
|
|
|
- </div>-->
|
|
|
- <!-- <div class="itemLabel clearfix">
|
|
|
- <label class="itemLabelName">选择化验小项:</label>
|
|
|
- <input class="searchInput" @focus="focuInput" type="text" v-model="itemText" />
|
|
|
- <span class="searchName" @click="searchMealItem(2)">搜索</span>
|
|
|
- <ul
|
|
|
- v-if="showItemNameList&&itemNameList.length >0"
|
|
|
- class="itemList itemNameList"
|
|
|
- ref="itemNameList"
|
|
|
- >
|
|
|
- <li
|
|
|
- v-for="item in itemNameList"
|
|
|
- class="mealNameItem ellipsis"
|
|
|
- :title="item.conceptName"
|
|
|
- @click="selectItemName(item)"
|
|
|
- :key="item.conceptId"
|
|
|
- >{{item.conceptName}}</li>
|
|
|
- </ul>
|
|
|
- </div>-->
|
|
|
- <!-- <div class="itemLabel">
|
|
|
- <label class="itemLabelName">已选择化验小项:</label>
|
|
|
- <span class="selectItemName">{{form.itemName}}</span>
|
|
|
- </div>-->
|
|
|
- </div>
|
|
|
- <div class="midBox">
|
|
|
- <img class="midLogo" src="../../../images/relation.png" alt />
|
|
|
- <p class="midTitle">相互关联</p>
|
|
|
- </div>
|
|
|
- <div class="rightBox">
|
|
|
- <div class="itemLabel">
|
|
|
- <label class="itemLabelName">诊断名称</label>
|
|
|
- <input class="searchInput" @focus="focuInput" type="text" v-model="uniqueText" />
|
|
|
- <span class="searchName" @click="searchMealItem(3)">搜索</span>
|
|
|
- <ul
|
|
|
- v-if="showUniqueNameList&&uniqueNameList.length >0"
|
|
|
- class="itemList uniqueNameList"
|
|
|
- ref="uniqueNameList"
|
|
|
- >
|
|
|
- <li
|
|
|
- v-for="item in uniqueNameList"
|
|
|
- class="mealNameItem ellipsis"
|
|
|
- :title="item.name"
|
|
|
- @click="selectUniqueName(item)"
|
|
|
- :key="item.icd10Code"
|
|
|
- >{{item.name}}</li>
|
|
|
- </ul>
|
|
|
- <ul
|
|
|
- v-else-if="showUniqueNameList&&uniqueNameList.length === 0"
|
|
|
- class="itemList uniqueNameList"
|
|
|
- >
|
|
|
- <li class="mealNameItem ellipsis">无数据</li>
|
|
|
- </ul>
|
|
|
- <ul
|
|
|
- v-else-if=" isSendDataOver === 1"
|
|
|
- class="itemList uniqueNameList"
|
|
|
- >
|
|
|
- <li class="mealNameItem ellipsis">加载中.....</li>
|
|
|
- </ul>
|
|
|
+ <div class="midBox">
|
|
|
+ <img class="midLogo" src="../../../images/relation.png" alt />
|
|
|
+ <p class="midTitle">相互关联</p>
|
|
|
</div>
|
|
|
- <div class="itemLabel">
|
|
|
- <!-- <label class="itemLabelName isRequired">诊断名称预览:</label> -->
|
|
|
- <label class="itemLabelName">诊断名称预览:</label>
|
|
|
- <span class="selectItemName">{{form.uniqueName}}</span>
|
|
|
+ <div class="rightBox">
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="16">
|
|
|
+ <el-form-item label="诊断名称:">
|
|
|
+ <el-select
|
|
|
+ style="width:100%"
|
|
|
+ v-model="form.searchText"
|
|
|
+ filterable
|
|
|
+ remote
|
|
|
+ clearable
|
|
|
+ :loading="showDrop"
|
|
|
+ loading-text="加载中..."
|
|
|
+ @change="changeWord"
|
|
|
+ @focus="handleFocus"
|
|
|
+ placeholder="搜索"
|
|
|
+ :remote-method="searchTerms"
|
|
|
+ reserve-keyword
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in uniqueNameList"
|
|
|
+ :key="item.icd10Code"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.name"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="诊断名称预览:">
|
|
|
+ <span class="previewInfo">{{form.searchText}}</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div class="btn">
|
|
|
- <!-- <span class="sumbit" @click="submitForm">建立关联</span> -->
|
|
|
- <el-button type="primary" :disabled="saveDisable" @click="submitForm">确定</el-button>
|
|
|
- </div>
|
|
|
+ <div class="btn">
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="primary" :disabled="saveDisable" @click="submitForm">确定</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ </el-form>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
import api from '@api/icss.js';
|
|
|
-
|
|
|
export default {
|
|
|
name: 'AddChemicalAndCommonMapping',
|
|
|
data() {
|
|
|
return {
|
|
|
- mealText: '', //化验大项搜索文字内容
|
|
|
- itemText: '', //化验小项搜索文字内容
|
|
|
- uniqueText: '', //公表项搜索文字内容
|
|
|
isEdit: false,
|
|
|
editId: '',
|
|
|
- mealNameList: [],
|
|
|
- itemNameList: [],
|
|
|
uniqueNameList: [],
|
|
|
- showMealNameList: false,
|
|
|
- showItemNameList: false,
|
|
|
- showUniqueNameList: false,
|
|
|
form: {
|
|
|
- mealName: '', //大项名称
|
|
|
- mealId: '', //大项Id
|
|
|
- itemName: '', //小项名称
|
|
|
- itemId: '', //小项Id
|
|
|
- uniqueName: '', //公表名称,必填
|
|
|
- uniqueId: '' //公表项Id
|
|
|
+ searchText: '', //搜索字段
|
|
|
+ hisName: ''
|
|
|
},
|
|
|
saveDisable: false, //保存按钮禁止点击
|
|
|
- isSendDataOver: 0 // 请求列表数据过程 0 发送请求前 1 请求过程 2请求结束
|
|
|
+ showDrop: false //下拉框显示文字
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
@@ -152,134 +92,47 @@ export default {
|
|
|
if (isEdit) {
|
|
|
this.isEdit = isEdit;
|
|
|
this.editId = data.id;
|
|
|
- this.uniqueText = data.uniqueName;
|
|
|
- this.mealText = data.hisName;
|
|
|
- this.form.uniqueName = data.uniqueName;
|
|
|
+ this.form.hisName = data.hisName;
|
|
|
+ this.form.searchText = data.uniqueName;
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
- close() {
|
|
|
- this.mealNameList = [];
|
|
|
- this.itemNameList = [];
|
|
|
- this.uniqueNameList = [];
|
|
|
- this.showSearchList();
|
|
|
- },
|
|
|
- // 搜索
|
|
|
- searchMealItem(type) {
|
|
|
- if (type == '1' || type == '2') {
|
|
|
- this.getTagList(type);
|
|
|
- } else if (type == '3') {
|
|
|
- this.isSendDataOver = 1; // 发送请求中
|
|
|
- // 搜索标准术语列表
|
|
|
- this.getAllLisConcept();
|
|
|
- }
|
|
|
- },
|
|
|
- getTagList(type) {
|
|
|
- let param = {
|
|
|
- relationPosition: 3
|
|
|
- };
|
|
|
- if (type == 1) {
|
|
|
- param.name = this.mealText.trim();
|
|
|
- param.typeId = 12;
|
|
|
- } else if (type == 2) {
|
|
|
- param.name = this.itemText.trim();
|
|
|
- param.typeId = 13;
|
|
|
- }
|
|
|
- if (!param.name) {
|
|
|
+ // 搜索列表
|
|
|
+ searchTerms(query) {
|
|
|
+ if (!query) {
|
|
|
return;
|
|
|
}
|
|
|
- api.getConceptInfoAssay(param).then(res => {
|
|
|
- if (res.data.code === '0') {
|
|
|
- if (type == 1) {
|
|
|
- this.mealNameList = res.data.data;
|
|
|
- this.showSearchList('showMealNameList');
|
|
|
- } else if (type == 2) {
|
|
|
- this.itemNameList = res.data.data;
|
|
|
- this.showSearchList('showItemNameList');
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
-
|
|
|
- // 标准术语搜索列表
|
|
|
- getAllLisConcept() {
|
|
|
+ this.showDrop = true;
|
|
|
let params = {
|
|
|
- type: 4,
|
|
|
- inputStr: this.uniqueText,
|
|
|
+ type: 4, //诊断
|
|
|
+ inputStr: query,
|
|
|
sex: 3,
|
|
|
age: 0
|
|
|
};
|
|
|
- if (!params.inputStr) {
|
|
|
- return;
|
|
|
- }
|
|
|
api.retrievalSearch(params).then(res => {
|
|
|
- console.log(res,'==================res,');
|
|
|
+ this.showDrop = false;
|
|
|
if (res.data.code === '0') {
|
|
|
this.uniqueNameList = res.data.data.diseaseNames;
|
|
|
- this.showSearchList('showUniqueNameList');
|
|
|
- this.isSendDataOver = 2; //请求发送结束
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
+ changeWord() {},
|
|
|
+ // 获取焦点
|
|
|
+ handleFocus() {},
|
|
|
|
|
|
- // 获取焦点搜索
|
|
|
- focuInput() {
|
|
|
- this.showSearchList();
|
|
|
- },
|
|
|
-
|
|
|
- // 显示搜索列表数据
|
|
|
- showSearchList(type) {
|
|
|
- this.showMealNameList = false;
|
|
|
- this.showItemNameList = false;
|
|
|
- this.showUniqueNameList = false;
|
|
|
- if (type === 'showMealNameList') {
|
|
|
- this.showMealNameList = true;
|
|
|
- } else if (type === 'showItemNameList') {
|
|
|
- this.showItemNameList = true;
|
|
|
- } else if (type === 'showUniqueNameList') {
|
|
|
- this.showUniqueNameList = true;
|
|
|
- }
|
|
|
- },
|
|
|
- selectMealName(item) {
|
|
|
- this.form.mealName = item.conceptName;
|
|
|
- this.form.mealId = item.conceptId;
|
|
|
- // this.$refs['mealNameList'].style.display='none'
|
|
|
- this.mealText = '';
|
|
|
- this.mealNameList = [];
|
|
|
- },
|
|
|
- selectItemName(item) {
|
|
|
- this.form.itemName = item.conceptName;
|
|
|
- this.form.itemId = item.conceptId;
|
|
|
- this.itemText = '';
|
|
|
- this.itemNameList = [];
|
|
|
- },
|
|
|
- // 选中诊断标准术语
|
|
|
- selectUniqueName(item) {
|
|
|
- this.form.uniqueName = item.name;
|
|
|
- this.uniqueNameList = [];
|
|
|
- },
|
|
|
// 初始化表单数据
|
|
|
initForm() {
|
|
|
- this.form.uniqueName = '';
|
|
|
- this.mealText = '';
|
|
|
- this.uniqueText = '';
|
|
|
+ this.form.hisName = '';
|
|
|
+ this.form.searchText = '';
|
|
|
},
|
|
|
|
|
|
// 建立关联-参数处理
|
|
|
submitForm() {
|
|
|
- const { mealText } = this;
|
|
|
- const { uniqueName } = this.form;
|
|
|
- if (!mealText || !uniqueName) {
|
|
|
- this.warning('请填写相关数据');
|
|
|
- return;
|
|
|
- }
|
|
|
+ const { searchText, hisName } = this.form;
|
|
|
let params = {
|
|
|
- hisName: mealText,
|
|
|
- uniqueName: uniqueName
|
|
|
+ hisName: hisName,
|
|
|
+ uniqueName: searchText
|
|
|
};
|
|
|
- if (this.isEdit) {
|
|
|
- params = { ...params, id: this.editId };
|
|
|
- }
|
|
|
this.showSaveDialog(params);
|
|
|
},
|
|
|
// 建立关联-映射关系是否已存在
|
|
@@ -297,9 +150,6 @@ export default {
|
|
|
this.saveLisMapping(params, '保存成功', 'success');
|
|
|
} else {
|
|
|
// 已存在,提示修改
|
|
|
- // this.showConfirmDialog('该关联已存在是否替换旧的关系信息', () => {
|
|
|
- // this.saveLisMapping(params, '关联建立成功', 'success');
|
|
|
- // });
|
|
|
this.warning('该条关联已存在,无法添加');
|
|
|
this.saveDisable = false;
|
|
|
}
|
|
@@ -314,7 +164,6 @@ export default {
|
|
|
api.saveOrUpdateDiseaseRecord(params).then(res => {
|
|
|
if (res.data.code === '0') {
|
|
|
this.warning(res.data.msg || msg, type);
|
|
|
- // this.$router.push({name: 'ChemicalAndCommonMapping'});
|
|
|
this.initForm();
|
|
|
this.$router.push({
|
|
|
name: 'ChemicalAndCommonMapping',
|
|
@@ -355,7 +204,7 @@ export default {
|
|
|
}
|
|
|
};
|
|
|
</script>
|
|
|
-<style lang="less">
|
|
|
+<style lang="less" scoped>
|
|
|
.AddChemicalAndCommonMappingWrapper {
|
|
|
.AddChemicalAndCommonMappingBox {
|
|
|
min-width: 940px;
|
|
@@ -364,17 +213,6 @@ export default {
|
|
|
.topBack {
|
|
|
top: 0;
|
|
|
}
|
|
|
- // .groupTitle {
|
|
|
- // width: calc(100% - 50px);
|
|
|
- // height: 40px;
|
|
|
- // background: #fff;
|
|
|
- // padding: 0 20px 0 30px;
|
|
|
- // margin-bottom: 20px;
|
|
|
- // line-height: 40px;
|
|
|
- // position: relative;
|
|
|
- // z-index: 5;
|
|
|
-
|
|
|
- // }
|
|
|
.titleBox {
|
|
|
padding: 0 0 10px 0px;
|
|
|
}
|
|
@@ -475,9 +313,25 @@ export default {
|
|
|
.mealNameItem:hover {
|
|
|
background: #f5f7fa;
|
|
|
}
|
|
|
- .selectItemName {
|
|
|
+ // .selectItemName {
|
|
|
+ // padding-left: 4px;
|
|
|
+ // display: inline-block;
|
|
|
+ // margin-top: 8px;
|
|
|
+ // // width: calc(100% - 160px);s
|
|
|
+ // line-height: 24px;
|
|
|
+ // overflow: hidden;
|
|
|
+ // word-wrap: break-word;
|
|
|
+ // word-break: break-all;
|
|
|
+ // }
|
|
|
+ .previewInfo {
|
|
|
+ padding-left: 4px;
|
|
|
display: inline-block;
|
|
|
- width: calc(100% - 160px);
|
|
|
+ margin-top: 8px;
|
|
|
+ // width: calc(100% - 160px);s
|
|
|
+ line-height: 24px;
|
|
|
+ overflow: hidden;
|
|
|
+ word-wrap: break-word;
|
|
|
+ word-break: break-all;
|
|
|
}
|
|
|
.btn {
|
|
|
position: relative;
|