|
@@ -187,7 +187,7 @@
|
|
|
<table class="deptbox" v-if="id == ''">
|
|
|
<tr>
|
|
|
<td class="ind">序号</td>
|
|
|
- <td >医学标准术语</td>
|
|
|
+ <td>医学标准术语</td>
|
|
|
<td>拼音</td>
|
|
|
<td>术语类型</td>
|
|
|
<td class="desc">说明</td>
|
|
@@ -246,12 +246,18 @@
|
|
|
<span class="ageLine">~</span>
|
|
|
<el-input v-model.number="maxAge" type="number" @input="inputAge"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item
|
|
|
- v-if="data.type=='实验室检查子项目'" label="最大值与最小值:" class="ages">
|
|
|
+ <el-form-item v-if="data.type=='实验室检查子项目'" label="最大值与最小值:" class="ages">
|
|
|
<el-input v-model.trim="minValue" type="number" @input="inputAge"></el-input>
|
|
|
<span class="ageLine">~</span>
|
|
|
<el-input v-model.trim="maxValue" type="number" @input="inputAge"></el-input>
|
|
|
- <el-input class="inp" v-model.trim="unit" placeholder="输入单位" maxlength="6" type="text" @input="inputAge"></el-input>
|
|
|
+ <el-input
|
|
|
+ class="inp"
|
|
|
+ v-model.trim="unit"
|
|
|
+ placeholder="输入单位"
|
|
|
+ maxlength="6"
|
|
|
+ type="text"
|
|
|
+ @input="inputAge"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item v-if="data.type=='实验室检查子项目'" label="范围:" class="range">
|
|
|
<el-select v-model="rangeSelect">
|
|
@@ -290,6 +296,86 @@
|
|
|
<el-option v-for="(it,i) in drugTypeList" :key="i" :label="it.name" :value="it.val"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ label="危急标识:"
|
|
|
+ v-if="data.type=='辅助检查项目' || data.type=='辅助检查子项目'"
|
|
|
+ class="marT is-required"
|
|
|
+ >
|
|
|
+ <el-radio-group v-model="critical">
|
|
|
+ <el-radio :label="3">是</el-radio>
|
|
|
+ <el-radio :label="6">否</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ label="方法:"
|
|
|
+ v-if="data.type=='辅助检查项目' || data.type=='辅助检查子项目'"
|
|
|
+ class="marT"
|
|
|
+ >
|
|
|
+ <el-input v-model.trim="unit" placeholder="请输入" maxlength="6" type="text"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ label="检查技术:"
|
|
|
+ v-if="data.type=='辅助检查项目' || data.type=='辅助检查子项目'"
|
|
|
+ class="marT"
|
|
|
+ >
|
|
|
+ <el-input v-model.trim="unit" placeholder="请输入" maxlength="6" type="text"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ label="项目定义:"
|
|
|
+ v-if="data.type=='辅助检查项目' || data.type=='辅助检查子项目'"
|
|
|
+ class="marT"
|
|
|
+ >
|
|
|
+ <el-input type="textarea" v-model.trim="unit" placeholder="请输入" maxlength="6"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ label="检查目的:"
|
|
|
+ v-if="data.type=='辅助检查项目' || data.type=='辅助检查子项目'"
|
|
|
+ class="marT"
|
|
|
+ >
|
|
|
+ <el-input type="textarea" v-model.trim="unit" placeholder="请输入" maxlength="6"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ label="禁忌症和局限性:"
|
|
|
+ v-if="data.type=='辅助检查项目' || data.type=='辅助检查子项目'"
|
|
|
+ class="marT"
|
|
|
+ >
|
|
|
+ <el-input type="textarea" v-model.trim="unit" placeholder="请输入" maxlength="6"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ label="适应症:"
|
|
|
+ v-if="data.type=='辅助检查项目' || data.type=='辅助检查子项目'"
|
|
|
+ class="marT"
|
|
|
+ >
|
|
|
+ <el-input type="textarea" v-model.trim="unit" placeholder="请输入" maxlength="6"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ label="检查前准备:"
|
|
|
+ v-if="data.type=='辅助检查项目' || data.type=='辅助检查子项目'"
|
|
|
+ class="marT"
|
|
|
+ >
|
|
|
+ <el-input type="textarea" v-model.trim="unit" placeholder="请输入" maxlength="6"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item v-if="data.type=='疾病'" label="发病率:" prop="description">
|
|
|
+ <el-input v-model.trim="icdCode" maxlength="30" placeholder="请输入编码"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="遗传性:" v-if="data.type=='疾病'" class="marT">
|
|
|
+ <el-radio-group v-model="critical">
|
|
|
+ <el-radio :label="3">是</el-radio>
|
|
|
+ <el-radio :label="6">否</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="常见病:" v-if="data.type=='疾病'" class="marT">
|
|
|
+ <el-radio-group v-model="critical">
|
|
|
+ <el-radio :label="3">是</el-radio>
|
|
|
+ <el-radio :label="6">否</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="传染性:" v-if="data.type=='疾病'" class="marT">
|
|
|
+ <el-radio-group v-model="critical">
|
|
|
+ <el-radio :label="3">是</el-radio>
|
|
|
+ <el-radio :label="6">否</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
<!-- <el-form-item
|
|
|
v-if="data.type=='症状'"
|
|
|
label="填写单患者界面展示通俗内容:"
|
|
@@ -298,7 +384,7 @@
|
|
|
>
|
|
|
<span class="necess">*</span>
|
|
|
<el-input v-model.trim="description" maxlength="7" placeholder="请输入填写单患者界面展示通俗内容"></el-input>
|
|
|
- </el-form-item> -->
|
|
|
+ </el-form-item>-->
|
|
|
<!-- <el-form-item v-if="data.type=='症状'" label="医学教育说明:" prop="explains" class="marT">
|
|
|
<el-input
|
|
|
type="textarea"
|
|
@@ -307,7 +393,7 @@
|
|
|
style="width: 500px;"
|
|
|
:rows="4"
|
|
|
></el-input>
|
|
|
- </el-form-item> -->
|
|
|
+ </el-form-item>-->
|
|
|
</el-form>
|
|
|
</div>
|
|
|
<div class="btn">
|
|
@@ -353,8 +439,8 @@ export default {
|
|
|
minAge: 0,
|
|
|
maxValue: null,
|
|
|
minValue: null,
|
|
|
- unit:null,
|
|
|
- icdCode:'',
|
|
|
+ unit: null,
|
|
|
+ icdCode: '',
|
|
|
showMore: '',
|
|
|
sex: [
|
|
|
{
|
|
@@ -384,8 +470,11 @@ export default {
|
|
|
saveDisable: false, //保存按钮禁止点击
|
|
|
options: [],
|
|
|
copy: null,
|
|
|
- drugTypeList:[{val:0,name:'西药'},{val:1,name:'中成药'}],//药品类型
|
|
|
- drug:'',
|
|
|
+ drugTypeList: [
|
|
|
+ { val: 0, name: '西药' },
|
|
|
+ { val: 1, name: '中成药' }
|
|
|
+ ], //药品类型
|
|
|
+ drug: '',
|
|
|
dioTypeList: [], //更多信息-类型
|
|
|
dioType: '', //默认展示一类
|
|
|
deptList: [], //更多信息-科室
|
|
@@ -395,7 +484,8 @@ export default {
|
|
|
searchIndex: -1, //展示哪个的同义词
|
|
|
searchType: '',
|
|
|
description: '',
|
|
|
- explains: ''
|
|
|
+ explains: '',
|
|
|
+ critical: '' //危急标识
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
@@ -418,8 +508,8 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
- clearDataCi(){
|
|
|
- this.data.code = ''
|
|
|
+ clearDataCi() {
|
|
|
+ this.data.code = '';
|
|
|
},
|
|
|
dragAdd(ev) {
|
|
|
utils.dragBox('dragModalWrap', 'dragModalTitle', 'add');
|
|
@@ -505,34 +595,36 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
reViewData(data) {
|
|
|
- let tmpObj = [{
|
|
|
- isConcept: data.isConcept,
|
|
|
- name: data.libName,
|
|
|
- remark: data.remark,
|
|
|
- spell: data.spell,
|
|
|
- type: data.typeName,
|
|
|
- conceptId: data.conceptId,
|
|
|
- libId: data.libId,
|
|
|
- isHasCommon: data.isHasCommon,
|
|
|
- synonymName: data.synonymName,
|
|
|
- status: data.status,
|
|
|
- typeId: 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
|
|
|
+ let tmpObj = [
|
|
|
+ {
|
|
|
+ isConcept: data.isConcept,
|
|
|
+ name: data.libName,
|
|
|
+ remark: data.remark,
|
|
|
+ spell: data.spell,
|
|
|
+ type: data.typeName,
|
|
|
+ conceptId: data.conceptId,
|
|
|
+ libId: data.libId,
|
|
|
+ isHasCommon: data.isHasCommon,
|
|
|
+ synonymName: data.synonymName,
|
|
|
+ status: data.status,
|
|
|
+ typeId: 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;
|
|
|
}
|
|
|
- data.libName = tmpObj
|
|
|
- data.otherNames = data.klConceptSub
|
|
|
- return data
|
|
|
+ data.libName = tmpObj;
|
|
|
+ data.otherNames = data.klConceptSub;
|
|
|
+ return data;
|
|
|
},
|
|
|
getDetail(ids) {
|
|
|
if (ids) {
|
|
|
api.getBaseConceptAll({ conceptId: ids }).then(res => {
|
|
|
const result = res.data;
|
|
|
- let redata = this.reViewData(result.data)
|
|
|
+ let redata = this.reViewData(result.data);
|
|
|
if (result.code == 0) {
|
|
|
this.data = redata.libName[0];
|
|
|
this.singleword = redata.libName;
|
|
@@ -543,12 +635,12 @@ export default {
|
|
|
this.minAge = redata.minAge;
|
|
|
this.maxValue = redata.maxVal;
|
|
|
this.minValue = redata.minVal;
|
|
|
- this.unit = redata.unit
|
|
|
- this.rangeSelect = redata.scopeType == '1'?'外':'内'
|
|
|
+ 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;
|
|
|
+ this.drug = redata.drug;
|
|
|
const type = redata.type;
|
|
|
|
|
|
if (type == '诊断') {
|
|
@@ -574,11 +666,12 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
getTypeList() {
|
|
|
- api.baseTypeGetPage({ name: '',size: 1000 })
|
|
|
+ api
|
|
|
+ .baseTypeGetPage({ name: '', size: 1000 })
|
|
|
.then(res => {
|
|
|
const data = res.data;
|
|
|
if (data.code == 0) {
|
|
|
- let types = data.data.records
|
|
|
+ let types = data.data.records;
|
|
|
this.typeList = types;
|
|
|
// this.typeList = data.data;
|
|
|
// 类型改成平铺
|
|
@@ -708,7 +801,7 @@ export default {
|
|
|
},
|
|
|
getSimilarList(name) {
|
|
|
//不知道还有没有用
|
|
|
- return
|
|
|
+ return;
|
|
|
if (!name) {
|
|
|
this.closeTable();
|
|
|
return;
|
|
@@ -752,19 +845,19 @@ export default {
|
|
|
})
|
|
|
.catch(() => {});
|
|
|
},
|
|
|
- deleLine(index, type,item) {
|
|
|
+ deleLine(index, type, item) {
|
|
|
// 只在界面删除数据,待点确认 后参才真正删除
|
|
|
if (type == 55) {
|
|
|
- const {libId} = item
|
|
|
- if(libId){
|
|
|
- api.clearConceptInfo({libId}).then((res)=>{
|
|
|
- const result = res.data
|
|
|
- if(result.code == 0){
|
|
|
+ const { libId } = item;
|
|
|
+ if (libId) {
|
|
|
+ api.clearConceptInfo({ libId }).then(res => {
|
|
|
+ const result = res.data;
|
|
|
+ if (result.code == 0) {
|
|
|
this.synonymous.splice(index - 1, 1);
|
|
|
this.allwords.splice(index, 1);
|
|
|
}
|
|
|
- })
|
|
|
- }else{
|
|
|
+ });
|
|
|
+ } else {
|
|
|
this.synonymous.splice(index - 1, 1);
|
|
|
this.allwords.splice(index, 1);
|
|
|
}
|
|
@@ -787,7 +880,7 @@ export default {
|
|
|
this.warning('请先选择标准词');
|
|
|
return;
|
|
|
}
|
|
|
- if(this.data.type == '疾病' && !this.icdCode){
|
|
|
+ if (this.data.type == '疾病' && !this.icdCode) {
|
|
|
this.warning('请输入ICD10编码');
|
|
|
return;
|
|
|
}
|
|
@@ -806,25 +899,37 @@ export default {
|
|
|
this.warning('年龄必须是0-200');
|
|
|
return;
|
|
|
}
|
|
|
- if(this.minAge >= this.maxAge){
|
|
|
+ if (this.minAge >= this.maxAge) {
|
|
|
this.warning('年龄最小值应该小于最大值');
|
|
|
return;
|
|
|
}
|
|
|
- if(this.data.type=='实验室检查子项目'){
|
|
|
- if(this.minValue<0||this.minValue>99999||this.maxValue<0||this.maxValue>99999){
|
|
|
+ if (this.data.type == '实验室检查子项目') {
|
|
|
+ if (
|
|
|
+ this.minValue < 0 ||
|
|
|
+ this.minValue > 99999 ||
|
|
|
+ this.maxValue < 0 ||
|
|
|
+ this.maxValue > 99999
|
|
|
+ ) {
|
|
|
this.warning('取值范围必须是0-99999切单位不能为空');
|
|
|
return;
|
|
|
}
|
|
|
- if(this.minValue&&this.maxValue&&this.minValue >= this.maxValue){
|
|
|
+ if (
|
|
|
+ this.minValue &&
|
|
|
+ this.maxValue &&
|
|
|
+ this.minValue >= this.maxValue
|
|
|
+ ) {
|
|
|
this.warning('最小值应该小于最大值');
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- console.log(this.drug)
|
|
|
- if(this.data.type == '药品通用名'&&(this.drug===''||this.drug===null)){
|
|
|
- this.warning('请选择药品类型');
|
|
|
- return;
|
|
|
+ console.log(this.drug);
|
|
|
+ if (
|
|
|
+ this.data.type == '药品通用名' &&
|
|
|
+ (this.drug === '' || this.drug === null)
|
|
|
+ ) {
|
|
|
+ this.warning('请选择药品类型');
|
|
|
+ return;
|
|
|
}
|
|
|
// 过滤同义词空数据
|
|
|
let realData = [];
|
|
@@ -851,14 +956,14 @@ export default {
|
|
|
}
|
|
|
let detailList = [];
|
|
|
for (let i = 0; i < realData.length; i++) {
|
|
|
- let obj = {}
|
|
|
+ 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;
|
|
|
- if(this.copy){
|
|
|
- realData[i].libId = undefined
|
|
|
+ realData[i].libType = this.data.code || this.data.typeId;
|
|
|
+ if (this.copy) {
|
|
|
+ realData[i].libId = undefined;
|
|
|
}
|
|
|
// obj.isConcept=realData[i].isConcept
|
|
|
// obj.remark=realData[i].remark
|
|
@@ -869,13 +974,13 @@ export default {
|
|
|
}
|
|
|
// 校验是否有名称全为数字
|
|
|
const pattern = /[^0-9]/g;
|
|
|
- const tmpData = this.data.name
|
|
|
- if(tmpData&&!tmpData.match(pattern)){
|
|
|
- this.$message({
|
|
|
- message: '无法输入纯数字,请输入正确数据!',
|
|
|
- type: 'warning'
|
|
|
- });
|
|
|
- return false;
|
|
|
+ const tmpData = this.data.name;
|
|
|
+ if (tmpData && !tmpData.match(pattern)) {
|
|
|
+ this.$message({
|
|
|
+ message: '无法输入纯数字,请输入正确数据!',
|
|
|
+ type: 'warning'
|
|
|
+ });
|
|
|
+ return false;
|
|
|
}
|
|
|
for (let d = 0; d < detailList.length; d++) {
|
|
|
let dname = detailList[d].name;
|
|
@@ -897,9 +1002,11 @@ export default {
|
|
|
// this.warning('请输入填写单患者界面展示通俗内容');
|
|
|
// return;
|
|
|
// }
|
|
|
- console.log(this.data.typeId,this.data.code)
|
|
|
- let params,sexCode=null;
|
|
|
- if (this.showMore == 1) {// 下拉文字转code
|
|
|
+ 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;
|
|
@@ -911,45 +1018,45 @@ export default {
|
|
|
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,
|
|
|
+ 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{
|
|
|
+ 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,
|
|
|
+ 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,
|
|
|
+ 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,
|
|
|
+ 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
|
|
|
+ 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
|
|
|
};
|
|
|
}
|
|
|
// return false
|
|
@@ -980,11 +1087,11 @@ export default {
|
|
|
// console.log("输入年龄")
|
|
|
},
|
|
|
selectType(e) {
|
|
|
- console.log(e)
|
|
|
+ console.log(e);
|
|
|
this.typeList.map((v, i) => {
|
|
|
if (v.name == e) {
|
|
|
this.showMore = v.isHasCommon;
|
|
|
- this.data.code = v.code
|
|
|
+ this.data.code = v.code;
|
|
|
}
|
|
|
});
|
|
|
if (e == '诊断') {
|
|
@@ -1110,6 +1217,7 @@ td {
|
|
|
.btn {
|
|
|
text-align: right;
|
|
|
margin-top: 20px;
|
|
|
+ margin-bottom: 20px;
|
|
|
}
|
|
|
.necess {
|
|
|
display: inline-block;
|
|
@@ -1150,7 +1258,7 @@ td {
|
|
|
display: inline-block;
|
|
|
margin: 0 35px;
|
|
|
}
|
|
|
- .inp{
|
|
|
+ .inp {
|
|
|
margin-left: 20px;
|
|
|
}
|
|
|
}
|