|
@@ -4,6 +4,7 @@
|
|
|
<div class="contents">
|
|
|
<div class="content">
|
|
|
<h3>添加术语:</h3>
|
|
|
+
|
|
|
<p class="titl">医学标准术语:</p>
|
|
|
<table class="deptbox" v-if="id == ''">
|
|
|
<tr>
|
|
@@ -21,14 +22,14 @@
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<td class="ind">1</td>
|
|
|
- <td :title="data.name&&data.name.length>9?data.name:''">
|
|
|
+ <td :title="data.libName&&data.libName.length>9?data.libName:''">
|
|
|
<!-- 修改时标准词不能修改,修改了会当做新增处理 4-17 -->
|
|
|
- <p v-if="id">{{data.name}}</p>
|
|
|
+ <p v-if="id">{{data.libName}}</p>
|
|
|
<!-- 4-18 需求变更 -->
|
|
|
<input
|
|
|
v-else
|
|
|
type="text"
|
|
|
- v-model.trim="data.name"
|
|
|
+ v-model.trim="data.libName"
|
|
|
placeholder="请输入术语"
|
|
|
maxlength="50"
|
|
|
@blur="handleBlur(1)"
|
|
@@ -103,7 +104,7 @@
|
|
|
<!-- <el-input v-model="item.name" placeholder="请输入术语" maxlength="30" size="small" @input.native="handleInput(2,index)"></el-input> -->
|
|
|
<input
|
|
|
type="text"
|
|
|
- v-model.trim="item.name"
|
|
|
+ v-model.trim="item.libName"
|
|
|
:title="item.name"
|
|
|
placeholder="请输入术语"
|
|
|
maxlength="50"
|
|
@@ -165,23 +166,7 @@
|
|
|
<td colspan="7" class="addSpan">+</td>
|
|
|
</tr>
|
|
|
</table>
|
|
|
- <div class="actionDo">
|
|
|
- <!-- <div class="btnWrap"> -->
|
|
|
- <!-- <el-button type="primary" size="mini" v-if="show" @click="comfirn(14)">确认修改</el-button> -->
|
|
|
- <!-- <el-button plain size="mini" v-if="show" @click="toggleShow(1)">放弃修改</el-button>
|
|
|
- <el-button plain size="mini" @click="toggleShow(2)" v-if="!show">修改标准词</el-button>-->
|
|
|
- <!-- </div> -->
|
|
|
- <div class="radioWrap" v-if="show">
|
|
|
- <el-radio-group v-model="radioVal" size="mini">
|
|
|
- <el-radio
|
|
|
- v-for="(item,index) in allwords"
|
|
|
- :label="index"
|
|
|
- :key="index"
|
|
|
- :disabled="index == 0"
|
|
|
- >选为标准词</el-radio>
|
|
|
- </el-radio-group>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <div class="actionDo"></div>
|
|
|
</div>
|
|
|
<p class="titl" v-if="id == ''">同义词:</p>
|
|
|
<table class="deptbox" v-if="id == ''">
|
|
@@ -311,6 +296,7 @@
|
|
|
v-if="data.type=='辅助检查项目' || data.type=='辅助检查子项目'"
|
|
|
class="marT"
|
|
|
>
|
|
|
+ <span class="address-placeholder">请输入</span>
|
|
|
<div
|
|
|
class="test_box"
|
|
|
ref="Maincontent"
|
|
@@ -417,18 +403,17 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item label="疾病就诊科室:" v-if="data.type=='疾病'" class="marT">
|
|
|
<el-select
|
|
|
- v-model="value"
|
|
|
- multiple
|
|
|
+ clearable
|
|
|
+ remote
|
|
|
filterable
|
|
|
- allow-create
|
|
|
- default-first-option
|
|
|
- placeholder="请选择文章标签"
|
|
|
+ :remote-method="searchConcept"
|
|
|
+ v-model.trim="value"
|
|
|
>
|
|
|
<el-option
|
|
|
- v-for="item in options"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"
|
|
|
+ v-for="item in conceptList"
|
|
|
+ :key="item.conceptId"
|
|
|
+ :label="item.conceptName"
|
|
|
+ :value="item.conceptId"
|
|
|
></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
@@ -576,6 +561,68 @@
|
|
|
type="textarea"
|
|
|
></el-input>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item v-if="data.type=='体格检查结果'" label="科室:" prop="description" class="marT">
|
|
|
+ <searchTerm v-model="klVitalResultVO.deptList" :type="115"></searchTerm>
|
|
|
+ <!-- <el-select
|
|
|
+ v-model="klVitalResultVO.deptList"
|
|
|
+ multiple
|
|
|
+ filterable
|
|
|
+ remote
|
|
|
+ reserve-keyword
|
|
|
+ placeholder="请输入关键词"
|
|
|
+ :remote-method="searchConcept"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in conceptList"
|
|
|
+ :key="item.conceptId"
|
|
|
+ :label="item.conceptName"
|
|
|
+ :value="item.conceptId"
|
|
|
+ ></el-option>
|
|
|
+ </el-select> -->
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item v-if="data.type=='体格检查结果'" label="部位:" prop="description" class="marT">
|
|
|
+ <el-select
|
|
|
+ v-model="klVitalResultVO.partList"
|
|
|
+ multiple
|
|
|
+ filterable
|
|
|
+ remote
|
|
|
+ reserve-keyword
|
|
|
+ placeholder="请输入关键词"
|
|
|
+ :remote-method="searchConcept"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in conceptList"
|
|
|
+ :key="item.conceptId"
|
|
|
+ :label="item.conceptName"
|
|
|
+ :value="item.conceptId"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item v-if="data.type=='体格检查结果'" label="不适宜人群:" prop="description" class="marT">
|
|
|
+ <div-editable v-model="klVitalResultVO.suitablePopNo" :Maincontent="'Maincontent1'"></div-editable>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item v-if="data.type=='体格检查结果'" label="操作方法:" prop="description" class="marT">
|
|
|
+ <el-input
|
|
|
+ v-model.trim="klVitalResultVO.checkMethod"
|
|
|
+ maxlength="200"
|
|
|
+ placeholder="请输入编码"
|
|
|
+ row="3"
|
|
|
+ type="textarea"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item v-if="data.type=='手术和操作'" label="级别分类:" prop="description" class="marT">
|
|
|
+ <el-select v-model="klOperationVO.operationLevel" placeholder="请选择">
|
|
|
+ <el-option
|
|
|
+ v-for="item in operationLevelList"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.id"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item v-if="data.type=='手术和操作'" label="手术操作代码:" prop="description" class="marT">
|
|
|
+ <div-editable v-model="klOperationVO.operationCode" :Maincontent="'Maincontent'"></div-editable>
|
|
|
+ </el-form-item>
|
|
|
<!-- <el-form-item
|
|
|
v-if="data.type=='症状'"
|
|
|
label="填写单患者界面展示通俗内容:"
|
|
@@ -604,6 +651,8 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
<script type="text/javascript">
|
|
|
+import DivEditable from './DivEditable';
|
|
|
+import searchTerm from './searchTerm';
|
|
|
import api from '@api/knowledgeTree.js';
|
|
|
import pinyin from '../../js/Convert_Pinyin.js';
|
|
|
import utils from '@api/utils.js';
|
|
@@ -614,14 +663,51 @@ export default {
|
|
|
return {
|
|
|
minTitle: '基础术语维护-添加',
|
|
|
data: {
|
|
|
- name: '',
|
|
|
+ libName: '',
|
|
|
type: '',
|
|
|
- code: '',
|
|
|
+ libType: '',
|
|
|
remark: '',
|
|
|
isConcept: 1,
|
|
|
- spell: ''
|
|
|
+ spell: '',
|
|
|
+ libId: '',
|
|
|
+ isHasCommon: ''
|
|
|
+ },
|
|
|
+ klOperationVO: {
|
|
|
+ conceptId: null,
|
|
|
+ remark: null,
|
|
|
+ operationLevel: 0, //手术级别
|
|
|
+ operationCode: '' //手术操作码
|
|
|
},
|
|
|
- radioVal: '',
|
|
|
+ klVitalResultVO: {
|
|
|
+ conceptId: null,
|
|
|
+ remark: null,
|
|
|
+ deptList: [],//科室
|
|
|
+ partList:[],//部位
|
|
|
+ suitablePopNo: '', //不适宜人群
|
|
|
+ checkMethod: '' //操作方法
|
|
|
+ },
|
|
|
+ operationLevelList: [
|
|
|
+ {
|
|
|
+ id: '0',
|
|
|
+ label: '0'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: '1',
|
|
|
+ label: '1'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: '2',
|
|
|
+ label: '2'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: '3',
|
|
|
+ label: '3'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: '4',
|
|
|
+ label: '4'
|
|
|
+ }
|
|
|
+ ],
|
|
|
typeList: [],
|
|
|
id: '',
|
|
|
synonymous: [], //同义词
|
|
@@ -631,7 +717,6 @@ export default {
|
|
|
colspans: 6,
|
|
|
currentPage: 1,
|
|
|
pageSize: 10,
|
|
|
- show: false,
|
|
|
tmpSynonymous: [],
|
|
|
sexType: '通用',
|
|
|
rangeSelect: '内',
|
|
@@ -686,98 +771,45 @@ export default {
|
|
|
description: '',
|
|
|
explains: '',
|
|
|
composing: false,
|
|
|
- critical: '' //危急标识
|
|
|
+ critical: '', //危急标识
|
|
|
+ conceptList: []
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
|
this.getTypeList();
|
|
|
const id = this.$route.params.id;
|
|
|
+ const libType = this.$route.params.libType;
|
|
|
const copy = this.$route.params.copy || '';
|
|
|
this.copy = copy;
|
|
|
if (id) {
|
|
|
this.minTitle = copy ? '基础术语维护-复制' : '基础术语维护-修改';
|
|
|
this.id = id;
|
|
|
this.colspan = 5;
|
|
|
- this.getDetail(id);
|
|
|
- }
|
|
|
- },
|
|
|
- watch: {
|
|
|
- radioVal(newVal, preVal) {
|
|
|
- if (newVal && newVal != preVal) {
|
|
|
- this.changeState(newVal);
|
|
|
- }
|
|
|
+ this.getDetail(id, libType);
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
- handleInput(event) {
|
|
|
- let text = event.target.innerText;
|
|
|
- this.valueHandle(event, text);
|
|
|
- },
|
|
|
- //长度计算
|
|
|
- validateTextLength(value) {
|
|
|
- // 中文、中文标点、全角字符按1长度,英文、英文符号、数字按1长度计算
|
|
|
- let cnReg = /([\u4e00-\u9fa5]|[\u3000-\u303F]|[\uFF00-\uFF60])/g;
|
|
|
- let mat = value.match(cnReg);
|
|
|
- let length;
|
|
|
- if (mat) {
|
|
|
- length = mat.length + (value.length - mat.length);
|
|
|
- return length;
|
|
|
- } else {
|
|
|
- return value.length;
|
|
|
- }
|
|
|
- },
|
|
|
- valueHandle(event, strVale) {
|
|
|
- let _this = this;
|
|
|
- let text = strVale;
|
|
|
- this.sendContent = text;
|
|
|
- if (this.composing) {
|
|
|
- return;
|
|
|
- }
|
|
|
- let len = this.validateTextLength(text);
|
|
|
- if (len > 200) {
|
|
|
- this.$refs.Maincontent.innerHTML = text.substr(0, 200);
|
|
|
- this.$refs.Maincontent.focus();
|
|
|
- }
|
|
|
- setTimeout(() => {
|
|
|
- _this.keepLastIndex(event.target);
|
|
|
- }, 5);
|
|
|
- // 拓展 如果想要只需要前100位数据
|
|
|
- // this.content = this.content.substring(0, 100)
|
|
|
- },
|
|
|
- handleStart() {
|
|
|
- this.composing = true;
|
|
|
- },
|
|
|
- /**
|
|
|
- * 中文输入结束
|
|
|
- */
|
|
|
- handleEnd($event) {
|
|
|
- this.composing = false;
|
|
|
- let text = $event.target.innerHTML;
|
|
|
- // console.log($event.target.innerHTML)
|
|
|
- this.valueHandle($event, text);
|
|
|
- },
|
|
|
- handleInput(event) {
|
|
|
- let text = event.target.innerText;
|
|
|
- this.valueHandle(event, text);
|
|
|
- },
|
|
|
- keepLastIndex(obj) {
|
|
|
- if (window.getSelection) {
|
|
|
- // ie11 10 9 ff safari
|
|
|
- obj.focus(); // 解决ff不获取焦点无法定位问题
|
|
|
- let range = window.getSelection(); // 创建range
|
|
|
- range.selectAllChildren(obj); // range 选择obj下所有子内容
|
|
|
- range.collapseToEnd(); // 光标移至最后
|
|
|
- } else if (document.selection) {
|
|
|
- // ie10 9 8 7 6 5
|
|
|
- let range = document.selection.createRange(); // 创建选择对象
|
|
|
- // var range = document.body.createTextRange();
|
|
|
- range.moveToElementText(obj); // range定位到obj
|
|
|
- range.collapse(false); // 光标移至最后
|
|
|
- range.select();
|
|
|
- }
|
|
|
+ //获取科室
|
|
|
+ searchConcept(val) {
|
|
|
+ const param = {
|
|
|
+ excludedConceptIds: [],
|
|
|
+ libType: '115',
|
|
|
+ name: val
|
|
|
+ };
|
|
|
+ api
|
|
|
+ .searchConcept(param)
|
|
|
+ .then(res => {
|
|
|
+ if (res.data.code == '0') {
|
|
|
+ const data = res.data.data;
|
|
|
+ this.conceptList = data;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(error => {
|
|
|
+ console.log(error);
|
|
|
+ });
|
|
|
},
|
|
|
clearDataCi() {
|
|
|
- this.data.code = '';
|
|
|
+ this.data.libType = '';
|
|
|
},
|
|
|
dragAdd(ev) {
|
|
|
utils.dragBox('dragModalWrap', 'dragModalTitle', 'add');
|
|
@@ -798,7 +830,6 @@ export default {
|
|
|
// 修改时无需赋值
|
|
|
if (!flag) {
|
|
|
this.dioType = this.dioTypeList[0].val;
|
|
|
- console.log(this.dioTypeList[0].val);
|
|
|
}
|
|
|
}
|
|
|
});
|
|
@@ -842,96 +873,80 @@ export default {
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
- changeState(val) {
|
|
|
- let tmpAllwords = JSON.parse(JSON.stringify(this.synonymous));
|
|
|
- for (let i = 0; i < tmpAllwords.length; i++) {
|
|
|
- if (i + 1 == val) {
|
|
|
- tmpAllwords[i].isConcept = 1;
|
|
|
- tmpAllwords[i].type = this.data.type;
|
|
|
- } else {
|
|
|
- tmpAllwords[i].isConcept = 0;
|
|
|
- }
|
|
|
- }
|
|
|
- this.tmpSynonymous = tmpAllwords;
|
|
|
- this.synonymous = tmpAllwords;
|
|
|
- },
|
|
|
- toggleShow(num) {
|
|
|
- let tmpShow = this.show;
|
|
|
- this.show = !tmpShow;
|
|
|
- if (num == 1) {
|
|
|
- this.changeState(-1);
|
|
|
- this.radioVal = '';
|
|
|
- }
|
|
|
- },
|
|
|
reViewData(data) {
|
|
|
let tmpObj = [
|
|
|
{
|
|
|
isConcept: data.isConcept,
|
|
|
- name: data.libName,
|
|
|
+ libName: data.libName,
|
|
|
remark: data.remark,
|
|
|
spell: data.spell,
|
|
|
type: data.typeName,
|
|
|
conceptId: data.conceptId,
|
|
|
- libId: data.libId,
|
|
|
+ libId: this.copy ? '' : data.libId,
|
|
|
isHasCommon: data.isHasCommon,
|
|
|
synonymName: data.synonymName,
|
|
|
status: data.status,
|
|
|
- typeId: data.libType
|
|
|
+ libType: data.libType
|
|
|
}
|
|
|
];
|
|
|
for (let i = 0; i < data.klConceptSub.length; i++) {
|
|
|
let tmp = data.klConceptSub[i];
|
|
|
tmp.name = tmp.synonymName;
|
|
|
tmp.type = tmp.typeName;
|
|
|
- tmp.typeId = tmp.libType;
|
|
|
+ tmp.libType = tmp.libType;
|
|
|
}
|
|
|
+
|
|
|
data.libName = tmpObj;
|
|
|
data.otherNames = data.klConceptSub;
|
|
|
return data;
|
|
|
},
|
|
|
- getDetail(ids) {
|
|
|
+ getDetail(ids, libType) {
|
|
|
if (ids) {
|
|
|
- api.getBaseConceptAll({ conceptId: ids }).then(res => {
|
|
|
- const result = res.data;
|
|
|
- let redata = this.reViewData(result.data);
|
|
|
- if (result.code == 0) {
|
|
|
- this.data = redata.libName[0];
|
|
|
- this.singleword = redata.libName;
|
|
|
- this.synonymous = redata.otherNames;
|
|
|
- this.allwords = redata.libName.concat(redata.otherNames);
|
|
|
- this.showMore = redata.isHasCommon; //是否支持通用扩展
|
|
|
- this.maxAge = redata.maxAge;
|
|
|
- this.minAge = redata.minAge;
|
|
|
- this.maxValue = redata.maxVal;
|
|
|
- this.minValue = redata.minVal;
|
|
|
- this.unit = redata.unit;
|
|
|
- this.rangeSelect = redata.scopeType == '1' ? '外' : '内';
|
|
|
- this.icdCode = redata.icdCode;
|
|
|
- this.description = redata.description;
|
|
|
- this.explains = redata.explains;
|
|
|
- this.drug = redata.drug;
|
|
|
- const type = redata.type;
|
|
|
+ api
|
|
|
+ .getBaseConceptAll({ conceptId: ids, libType: libType })
|
|
|
+ .then(res => {
|
|
|
+ const result = res.data;
|
|
|
+ let redata = this.reViewData(result.data);
|
|
|
+ if (result.code == 0) {
|
|
|
+ this.data = redata.libName[0];
|
|
|
+ this.klOperationVO = redata.klOperationDTO?redata.klOperationDTO:this.klOperationVO
|
|
|
+ this.klVitalResultVO = redata.klVitalResultDTO?redata.klVitalResultDTO:this.klVitalResultVO
|
|
|
+ this.singleword = redata.libName;
|
|
|
+ this.synonymous = redata.otherNames;
|
|
|
+ this.allwords = redata.libName.concat(redata.otherNames);
|
|
|
+ this.showMore = redata.isHasCommon; //是否支持通用扩展
|
|
|
+ this.maxAge = redata.maxAge;
|
|
|
+ this.minAge = redata.minAge;
|
|
|
+ this.maxValue = redata.maxVal;
|
|
|
+ this.minValue = redata.minVal;
|
|
|
+ this.unit = redata.unit;
|
|
|
+ this.rangeSelect = redata.scopeType == '1' ? '外' : '内';
|
|
|
+ this.icdCode = redata.icdCode;
|
|
|
+ this.description = redata.description;
|
|
|
+ this.explains = redata.explains;
|
|
|
+ this.drug = redata.drug;
|
|
|
+ const type = redata.type;
|
|
|
|
|
|
- if (type == '诊断') {
|
|
|
- this.dioType = redata.classify || 'Ⅰ'; //类型,默认展示Ⅰ类
|
|
|
- const deptConptId = redata.deptId;
|
|
|
- this.getDioType(true);
|
|
|
- this.getDdeptList(deptConptId);
|
|
|
- }
|
|
|
- // this.sexType = result.data.sexType;
|
|
|
- let sexType = redata.sexType;
|
|
|
- this.sex.map((v, i) => {
|
|
|
- if (v.value == sexType) {
|
|
|
- this.sexType = v.name;
|
|
|
+ if (type == '诊断') {
|
|
|
+ this.dioType = redata.classify || 'Ⅰ'; //类型,默认展示Ⅰ类
|
|
|
+ const deptConptId = redata.deptId;
|
|
|
+ this.getDioType(true);
|
|
|
+ this.getDdeptList(deptConptId);
|
|
|
}
|
|
|
- });
|
|
|
- } else {
|
|
|
- this.$message({
|
|
|
- message: result.msg,
|
|
|
- type: 'warning'
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
+ // this.sexType = result.data.sexType;
|
|
|
+ let sexType = redata.sexType;
|
|
|
+ this.sex.map((v, i) => {
|
|
|
+ if (v.value == sexType) {
|
|
|
+ this.sexType = v.name;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ this.$message({
|
|
|
+ message: result.msg,
|
|
|
+ type: 'warning'
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
},
|
|
|
getTypeList() {
|
|
@@ -975,16 +990,6 @@ export default {
|
|
|
console.log(error);
|
|
|
});
|
|
|
},
|
|
|
- // handleInput(index,name){
|
|
|
- /* handleInput(type,index){
|
|
|
- // 可输入内容:字母、数字、汉字、特殊字符:% —— 其余不可输入;
|
|
|
- // if(!name){//标准词输入
|
|
|
- if(type==1){//标准词输入
|
|
|
- this.data.name = this.data.name.replace(/[^%0-9a-zA-Z\u4e00-\u9fa5]/g,'');
|
|
|
- }else{
|
|
|
- this.synonymous[index].name = this.synonymous[index].name.replace(/[^%0-9a-zA-Z\u4e00-\u9fa5]/g,'');
|
|
|
- }
|
|
|
- },*/
|
|
|
handleBlur(type, index, flg) {
|
|
|
// 不能为纯数字、纯字符、纯数字加字符 4-18
|
|
|
// const pattern = /[^~@#$%^&*_\-+=,,.。::"“??”;;、!!0-9]/g;
|
|
@@ -992,20 +997,20 @@ export default {
|
|
|
const pattern = /[^0-9]/g;
|
|
|
if (type == 1) {
|
|
|
//标准词输入
|
|
|
- if (this.data.name && !pattern.test(this.data.name)) {
|
|
|
+ if (this.data.libName && !pattern.test(this.data.libName)) {
|
|
|
this.$message({
|
|
|
// message:'无法输入纯数字或者纯字符,请输入正确数据!',
|
|
|
message: '无法输入纯数字,请输入正确数据!',
|
|
|
type: 'warning'
|
|
|
});
|
|
|
- // this.data.name = '';
|
|
|
+ // this.data.libName = '';
|
|
|
this.unfit = true;
|
|
|
} else {
|
|
|
let data = this.data;
|
|
|
- data.spell = pinyin.getCamelChars(data.name);
|
|
|
+ data.spell = pinyin.getCamelChars(data.libName);
|
|
|
this.unfit = false;
|
|
|
this.searchType = 'standard';
|
|
|
- this.getSimilarList(this.data.name);
|
|
|
+ this.getSimilarList(this.data.libName);
|
|
|
}
|
|
|
} else if (type == 2) {
|
|
|
// 修改时术语名称、拼音和类型均不能修改
|
|
@@ -1136,19 +1141,14 @@ export default {
|
|
|
},
|
|
|
// 保存基础术语
|
|
|
comfirn(flg) {
|
|
|
- if (!this.data.name) {
|
|
|
+ if (!this.data.libName) {
|
|
|
this.warning('请输入医学标准术语名称');
|
|
|
return;
|
|
|
}
|
|
|
- if (!this.data.code && !this.unfit && !this.data.type) {
|
|
|
+ if (!this.data.libType && !this.unfit && !this.data.type) {
|
|
|
this.warning('请选择术语类型');
|
|
|
return;
|
|
|
}
|
|
|
- // 处于修改标准词状态且没有选中,不能保存
|
|
|
- if (this.show && !this.radioVal) {
|
|
|
- this.warning('请先选择标准词');
|
|
|
- return;
|
|
|
- }
|
|
|
if (this.data.type == '疾病' && !this.icdCode) {
|
|
|
this.warning('请输入ICD10编码');
|
|
|
return;
|
|
@@ -1192,7 +1192,6 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- console.log(this.drug);
|
|
|
if (
|
|
|
this.data.type == '药品通用名' &&
|
|
|
(this.drug === '' || this.drug === null)
|
|
@@ -1227,10 +1226,9 @@ export default {
|
|
|
for (let i = 0; i < realData.length; i++) {
|
|
|
let obj = {};
|
|
|
realData[i].synonymName = realData[i].name;
|
|
|
- realData[i].typeId = undefined;
|
|
|
realData[i].conceptId = undefined;
|
|
|
realData[i].status = undefined;
|
|
|
- realData[i].libType = this.data.code || this.data.typeId;
|
|
|
+ realData[i].libType = this.data.libType;
|
|
|
if (this.copy) {
|
|
|
realData[i].libId = undefined;
|
|
|
}
|
|
@@ -1243,7 +1241,7 @@ export default {
|
|
|
}
|
|
|
// 校验是否有名称全为数字
|
|
|
const pattern = /[^0-9]/g;
|
|
|
- const tmpData = this.data.name;
|
|
|
+ const tmpData = this.data.libName;
|
|
|
if (tmpData && !tmpData.match(pattern)) {
|
|
|
this.$message({
|
|
|
message: '无法输入纯数字,请输入正确数据!',
|
|
@@ -1271,63 +1269,48 @@ export default {
|
|
|
// this.warning('请输入填写单患者界面展示通俗内容');
|
|
|
// return;
|
|
|
// }
|
|
|
- console.log(this.data.typeId, this.data.code);
|
|
|
let params,
|
|
|
sexCode = null;
|
|
|
- if (this.showMore == 1) {
|
|
|
- // 下拉文字转code
|
|
|
- this.sex.map((v, i) => {
|
|
|
- if (v.name == this.sexType) {
|
|
|
- sexCode = v.value;
|
|
|
- }
|
|
|
- });
|
|
|
- params = {
|
|
|
- conceptId: this.copy ? '' : this.id,
|
|
|
- isConcept: this.data.isConcept,
|
|
|
- libName: this.data.name,
|
|
|
- remark: this.data.remark,
|
|
|
- spell: this.data.spell,
|
|
|
- status: this.data.status || 1,
|
|
|
- libType: this.data.code || this.data.typeId,
|
|
|
- drug: this.drug,
|
|
|
- synonymName: this.data.synonymName,
|
|
|
- isHasCommon: 1,
|
|
|
- libId: this.copy ? '' : this.data.libId,
|
|
|
- klConceptSub: detailList || [],
|
|
|
- sexType: sexCode,
|
|
|
- scopeType: this.rangeSelect == '外' ? '1' : '0',
|
|
|
- maxAge: this.maxAge,
|
|
|
- minAge: this.minAge,
|
|
|
- maxVal: this.maxValue || null,
|
|
|
- minVal: this.minValue || null,
|
|
|
- unit: this.unit || null,
|
|
|
- icdCode: this.icdCode || undefined
|
|
|
- };
|
|
|
- } else {
|
|
|
- params = {
|
|
|
- conceptId: this.copy ? '' : this.id,
|
|
|
- isConcept: this.data.isConcept || 1,
|
|
|
- libName: this.data.name,
|
|
|
- remark: this.data.remark,
|
|
|
- spell: this.data.spell,
|
|
|
- status: this.data.status || 1,
|
|
|
- drug: this.drug,
|
|
|
- libType: this.data.code || this.data.typeId,
|
|
|
- // typeId:this.data.typeId||this.data.code,
|
|
|
- libId: this.copy ? '' : this.data.libId,
|
|
|
- isHasCommon: this.data.isHasCommon || 0,
|
|
|
- synonymName: '',
|
|
|
- klConceptSub: detailList || [],
|
|
|
- sexType: sexCode,
|
|
|
- scopeType: this.rangeSelect == '外' ? 1 : 0,
|
|
|
- maxAge: this.maxAge,
|
|
|
- minAge: this.minAge,
|
|
|
- maxVal: this.maxValue || null,
|
|
|
- minVal: this.minValue || null,
|
|
|
- unit: this.unit || null,
|
|
|
- icdCode: this.icdCode || undefined
|
|
|
- };
|
|
|
- }
|
|
|
+ this.sex.map((v, i) => {
|
|
|
+ if (v.name == this.sexType) {
|
|
|
+ sexCode = v.value;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ params =
|
|
|
+ this.data.libType == 106
|
|
|
+ ? {
|
|
|
+ ...this.data,
|
|
|
+ klOperationVO: this.klOperationVO,
|
|
|
+ klConceptSub: detailList || [],
|
|
|
+ sexType: sexCode,
|
|
|
+ maxAge: this.maxAge,
|
|
|
+ minAge: this.minAge,
|
|
|
+ status: this.data.status || 1
|
|
|
+ }
|
|
|
+ : this.data.libType == 105
|
|
|
+ ? {
|
|
|
+ ...this.data,
|
|
|
+ klVitalResultVO: this.klVitalResultVO,
|
|
|
+ klConceptSub: detailList || [],
|
|
|
+ sexType: sexCode,
|
|
|
+ maxAge: this.maxAge,
|
|
|
+ minAge: this.minAge,
|
|
|
+ status: this.data.status || 1
|
|
|
+ }
|
|
|
+ : {
|
|
|
+ ...this.data,
|
|
|
+ klConceptSub: detailList || [],
|
|
|
+ status: this.data.status || 1,
|
|
|
+ sexType: sexCode,
|
|
|
+ scopeType: this.rangeSelect == '外' ? '1' : '0',
|
|
|
+ maxAge: this.maxAge,
|
|
|
+ minAge: this.minAge,
|
|
|
+ maxVal: this.maxValue || null,
|
|
|
+ minVal: this.minValue || null,
|
|
|
+ unit: this.unit || null,
|
|
|
+ icdCode: this.icdCode || undefined
|
|
|
+ };
|
|
|
+ console.log(params);
|
|
|
// return false
|
|
|
this.saveDisable = true; //提交保存按钮不可点击,返回结果时才可点击,防止频繁发送请求
|
|
|
api.saveBaseConceptInfo(params).then(res => {
|
|
@@ -1339,13 +1322,6 @@ export default {
|
|
|
name: 'BasicTermsMaintenance',
|
|
|
params: Object.assign({}, this.$route.params, { currentPage: 1 })
|
|
|
});
|
|
|
- /*if(flg == 14){
|
|
|
- this.getDetail(this.id)
|
|
|
- this.radioVal = ''
|
|
|
- this.show = false
|
|
|
- }else{
|
|
|
- this.$router.push({name:'MedicalName'});
|
|
|
- }*/
|
|
|
} else {
|
|
|
this.warning(res.data.msg);
|
|
|
}
|
|
@@ -1356,11 +1332,13 @@ export default {
|
|
|
// console.log("输入年龄")
|
|
|
},
|
|
|
selectType(e) {
|
|
|
- console.log(e);
|
|
|
this.typeList.map((v, i) => {
|
|
|
if (v.name == e) {
|
|
|
+ console.log(v.code);
|
|
|
this.showMore = v.isHasCommon;
|
|
|
- this.data.code = v.code;
|
|
|
+ this.data.libType = v.code;
|
|
|
+ this.data.isHasCommon = v.isHasCommon;
|
|
|
+ this.conceptList = [];
|
|
|
}
|
|
|
});
|
|
|
if (e == '诊断') {
|
|
@@ -1373,7 +1351,9 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
components: {
|
|
|
- SimilarListDrag
|
|
|
+ SimilarListDrag,
|
|
|
+ DivEditable,
|
|
|
+ searchTerm
|
|
|
}
|
|
|
};
|
|
|
</script>
|
|
@@ -1384,23 +1364,7 @@ tr,
|
|
|
td {
|
|
|
list-style: none;
|
|
|
}
|
|
|
-.test_box {
|
|
|
- min-height: 38px;
|
|
|
- max-height: 300px;
|
|
|
- _height: 120px;
|
|
|
- margin-left: auto;
|
|
|
- margin-right: auto;
|
|
|
- padding: 3px;
|
|
|
- outline: 0;
|
|
|
- border: 1px solid #dcdfe6;
|
|
|
- font-size: 12px;
|
|
|
- line-height: 24px;
|
|
|
- padding: 2px;
|
|
|
- word-wrap: break-word;
|
|
|
- overflow-x: hidden;
|
|
|
- overflow-y: auto;
|
|
|
- border-radius: 4px;
|
|
|
-}
|
|
|
+
|
|
|
/deep/ .radioWrap .el-radio {
|
|
|
display: block;
|
|
|
height: 41px;
|