|
|
|
@ -4,15 +4,12 @@ |
|
|
|
<div class="middlebox"> |
|
|
|
<div class="contenttitle"> |
|
|
|
基础资料 / |
|
|
|
<span class="contenttitleBold" |
|
|
|
>诊断建议设置</span |
|
|
|
> |
|
|
|
<span class="contenttitleBold">诊断建议设置</span> |
|
|
|
</div> |
|
|
|
<div class="seachinput"> |
|
|
|
<el-select v-model="diagnosis" placeholder="快速查找" size="small" |
|
|
|
filterable :filter-method="filterMethod" value-key="id" |
|
|
|
clearable @clear="quickTableData = deepCopy(tableData)" |
|
|
|
@change="quickDiagnosis" default-first-option ref="elSelectKeyWords"> |
|
|
|
<el-select v-model="diagnosis" placeholder="快速查找" size="small" filterable :filter-method="filterMethod" |
|
|
|
value-key="id" clearable @clear="quickTableData = deepCopy(tableData)" @change="quickDiagnosis" |
|
|
|
default-first-option ref="elSelectKeyWords" popper-class="dddwSelect" :popper-append-to-body="false"> |
|
|
|
<!-- |
|
|
|
<el-option key='1' value="" label="1" /> |
|
|
|
<el-option key='2' value="{id:'2',displayName:'n2'}" label="2" /> |
|
|
|
@ -25,14 +22,16 @@ |
|
|
|
</div> |
|
|
|
<div style="display: flex;margin-top: 7px;"> |
|
|
|
<!-- 类别树组件 --> |
|
|
|
<div :style="'width: 208px; height:' +(window.pageHeight < 600 ? 505 : window.pageHeight - 100) +'px;background-color: #fff; border-radius: 8px'"> |
|
|
|
<ItemTypeTree :refreshItemTypeId="refreshItemTypeId" :itemTypeId="query.itemTypeId"/> |
|
|
|
<div |
|
|
|
:style="'width: 208px; height:' + (window.pageHeight < 600 ? 505 : window.pageHeight - 100) + 'px;background-color: #fff; border-radius: 8px'"> |
|
|
|
<ItemTypeTree :refreshItemTypeId="refreshItemTypeId" :itemTypeId="query.itemTypeId" /> |
|
|
|
</div> |
|
|
|
<!-- 诊断与建议 --> |
|
|
|
<div style="display: block;"> |
|
|
|
<!-- 诊断列表 --> |
|
|
|
<div style="margin-left:15px;display: flex;"> |
|
|
|
<div :style="'width:' + (window.pageWidth - 200 - 110 - 50-14) + 'px;padding: 15px;background-color: #fff;border-radius: 8px;'"> |
|
|
|
<div |
|
|
|
:style="'width:' + (window.pageWidth - 200 - 110 - 50 - 14) + 'px;padding: 15px;background-color: #fff;border-radius: 8px;'"> |
|
|
|
<div style="margin-left: 5px;display: flex; flex-wrap: wrap;"> |
|
|
|
<div> |
|
|
|
<!-- |
|
|
|
@ -46,21 +45,16 @@ |
|
|
|
<el-table :data="tableData" id="elTableDiagnosis" row-key="id" |
|
|
|
:height="window.pageHeight < 600 ? 190 : Math.floor((window.pageHeight - 240) / 2)" |
|
|
|
highlight-current-row @row-click="rowClick" size="small" ref="elTable"> |
|
|
|
<el-table-column type="index" label="序号" width="40" align="center"/> |
|
|
|
<el-table-column |
|
|
|
v-for="(item, index) in headerCols" |
|
|
|
:key="`col_${index}`" |
|
|
|
:min-width="dropCol[index].minWidth" |
|
|
|
:align="dropCol[index].align" |
|
|
|
:label="item.label" |
|
|
|
> |
|
|
|
<el-table-column type="index" label="序号" width="40" align="center" /> |
|
|
|
<el-table-column v-for="(item, index) in headerCols" :key="`col_${index}`" |
|
|
|
:min-width="dropCol[index].minWidth" :align="dropCol[index].align" :label="item.label"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<div v-if="dropCol[index].prop == 'sn'" > |
|
|
|
<div v-if="dropCol[index].prop == 'sn'"> |
|
|
|
{{ scope.$index + 1 }} |
|
|
|
</div> |
|
|
|
<div v-else-if ="dropCol[index].prop == 'isIll' |
|
|
|
|| dropCol[index].prop == 'isSummaryTemplate'" > |
|
|
|
{{ scope.row[dropCol[index].prop] == 'Y' ? '是':'否' }} |
|
|
|
<div v-else-if="dropCol[index].prop == 'isIll' |
|
|
|
|| dropCol[index].prop == 'isSummaryTemplate'"> |
|
|
|
{{ scope.row[dropCol[index].prop] == 'Y' ? '是' : '否' }} |
|
|
|
</div> |
|
|
|
<!-- |
|
|
|
<div v-else-if="dropCol[index].prop == 'itemTypeId'" > |
|
|
|
@ -70,14 +64,14 @@ |
|
|
|
</el-cascader> |
|
|
|
</div> |
|
|
|
--> |
|
|
|
<div v-else-if="dropCol[index].prop == 'diagnosisLevelId'" > |
|
|
|
<div v-else-if="dropCol[index].prop == 'diagnosisLevelId'"> |
|
|
|
{{ dddw(dict.diagnosisLevel, "id", scope.row[dropCol[index].prop], "displayName") }} |
|
|
|
</div> |
|
|
|
<div v-else-if="dropCol[index].prop == 'forSexId'" > |
|
|
|
<div v-else-if="dropCol[index].prop == 'forSexId'"> |
|
|
|
{{ dddw(dict.forSex, "id", scope.row[dropCol[index].prop], "displayName") }} |
|
|
|
</div> |
|
|
|
<div v-else-if ="dropCol[index].prop == 'lastModificationTime' |
|
|
|
|| dropCol[index].prop == 'creationTime'" > |
|
|
|
<div v-else-if="dropCol[index].prop == 'lastModificationTime' |
|
|
|
|| dropCol[index].prop == 'creationTime'"> |
|
|
|
{{ scope.row[dropCol[index].prop] ? moment(scope.row[dropCol[index].prop]).format('yyyy-MM-DD HH:mm:ss'):'' }} |
|
|
|
</div> |
|
|
|
<div v-else> |
|
|
|
@ -87,23 +81,16 @@ |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="排序" width="40" align="center"> |
|
|
|
<template> |
|
|
|
<el-tag |
|
|
|
class="move" |
|
|
|
style=" |
|
|
|
<el-tag class="move" style=" |
|
|
|
cursor: move; |
|
|
|
background-color: rgb(245, 245, 245); |
|
|
|
border: none; |
|
|
|
" |
|
|
|
draggable="true" |
|
|
|
> |
|
|
|
<i |
|
|
|
class="el-icon-d-caret" |
|
|
|
style=" |
|
|
|
" draggable="true"> |
|
|
|
<i class="el-icon-d-caret" style=" |
|
|
|
width: 1rem; |
|
|
|
height: 1rem; |
|
|
|
color: rgb(113, 113, 113); |
|
|
|
" |
|
|
|
></i> |
|
|
|
"></i> |
|
|
|
</el-tag> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
@ -133,19 +120,16 @@ |
|
|
|
|
|
|
|
<!-- 诊断对应的建议列表 --> |
|
|
|
<div style="margin-top:15px;"> |
|
|
|
<DiagnosisSug :formDiagnosis="form" :refreshSugs="refreshSugs" :refreshSuges="refreshSuges" :refreshSugess="refreshSugess"/> |
|
|
|
<DiagnosisSug :formDiagnosis="form" :refreshSugs="refreshSugs" :refreshSuges="refreshSuges" |
|
|
|
:refreshSugess="refreshSugess" /> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<!--新增/编辑--> |
|
|
|
<el-dialog |
|
|
|
:title="form.id ? '编辑' : '新增'" |
|
|
|
:visible.sync="dialogVisible" |
|
|
|
width="800px" @close="closeDialog" |
|
|
|
:close-on-click-modal="false" |
|
|
|
> |
|
|
|
<el-dialog :title="form.id ? '编辑' : '新增'" :visible.sync="dialogVisible" width="800px" @close="closeDialog" |
|
|
|
:close-on-click-modal="false"> |
|
|
|
<el-form ref="form" :model="form" label-width="100px" :rules="rules"> |
|
|
|
<el-row> |
|
|
|
<el-col :span="8"> |
|
|
|
@ -156,10 +140,8 @@ |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item label="项目类别" prop="itemTypeId"> |
|
|
|
<el-cascader :options="dict.itemTypeTree" v-model="form.itemTypeId" |
|
|
|
:props="{ checkStrictly: true, expandTrigger: 'hover', ...customerOrg.treeprops, }" popper-class="example" |
|
|
|
ref="itemTypeIds" |
|
|
|
@change="ischangsItemTypeId" |
|
|
|
size="small"> |
|
|
|
:props="{ checkStrictly: true, expandTrigger: 'hover', ...customerOrg.treeprops, }" |
|
|
|
popper-class="example" ref="itemTypeIds" @change="ischangsItemTypeId" size="small"> |
|
|
|
</el-cascader> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
@ -173,7 +155,7 @@ |
|
|
|
<el-row> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item label="建议名称" prop="suggestionName"> |
|
|
|
<el-input v-model="form.suggestionName" size="small"/> |
|
|
|
<el-input v-model="form.suggestionName" size="small" /> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
@ -185,29 +167,18 @@ |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item label="适用性别" prop="forSexId"> |
|
|
|
<el-select v-model="form.forSexId" placeholder="请选择" size="small"> |
|
|
|
<el-option |
|
|
|
v-for="item in dict.forSex" |
|
|
|
:key="item.id" |
|
|
|
:label="item.displayName" |
|
|
|
:value="item.id" |
|
|
|
> |
|
|
|
<el-option v-for="item in dict.forSex" :key="item.id" :label="item.displayName" :value="item.id"> |
|
|
|
</el-option> |
|
|
|
</el-select> </el-form-item |
|
|
|
></el-col> |
|
|
|
</el-select> </el-form-item></el-col> |
|
|
|
</el-row> |
|
|
|
<el-row> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item label="诊断级别" prop="diagnosisLevelId"> |
|
|
|
<el-select v-model="form.diagnosisLevelId" placeholder="请选择" size="small"> |
|
|
|
<el-option |
|
|
|
v-for="item in dict.diagnosisLevel" |
|
|
|
:key="item.id" |
|
|
|
:label="item.displayName" |
|
|
|
:value="item.id" |
|
|
|
> |
|
|
|
<el-option v-for="item in dict.diagnosisLevel" :key="item.id" :label="item.displayName" |
|
|
|
:value="item.id"> |
|
|
|
</el-option> |
|
|
|
</el-select> </el-form-item |
|
|
|
></el-col> |
|
|
|
</el-select> </el-form-item></el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item label="启用" prop="isActive"> |
|
|
|
<el-radio v-model="form.isActive" label="Y">是</el-radio> |
|
|
|
@ -224,51 +195,50 @@ |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
<script> |
|
|
|
import moment from "moment"; |
|
|
|
import { mapState } from "vuex"; |
|
|
|
import { getapi, postapi, putapi, deletapi } from "@/api/api"; |
|
|
|
import Sortable from "sortablejs"; |
|
|
|
|
|
|
|
import moment from "moment"; |
|
|
|
import { mapState } from "vuex"; |
|
|
|
import { getapi, postapi, putapi, deletapi } from "@/api/api"; |
|
|
|
import Sortable from "sortablejs"; |
|
|
|
import ItemTypeTree from "../../components/common/ItemTypeTree.vue"; |
|
|
|
import DiagnosisSug from "./diagnosisSug.vue"; |
|
|
|
import { deepCopy, dddw, arrayExistObj, objCopy } from '@/utlis/proFunc'; |
|
|
|
|
|
|
|
import ItemTypeTree from "../../components/common/ItemTypeTree.vue"; |
|
|
|
import DiagnosisSug from "./diagnosisSug.vue"; |
|
|
|
import { deepCopy,dddw, arrayExistObj, objCopy } from '@/utlis/proFunc'; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export default { |
|
|
|
export default { |
|
|
|
components: { |
|
|
|
ItemTypeTree, |
|
|
|
DiagnosisSug, |
|
|
|
}, |
|
|
|
data() { |
|
|
|
return { |
|
|
|
query:{ |
|
|
|
triggerScroll:0, //触发按类别定 |
|
|
|
itemTypeFlag:true, //项目类别是否 作为查询条件 |
|
|
|
itemTypeId:'', |
|
|
|
keyWords:'', |
|
|
|
query: { |
|
|
|
triggerScroll: 0, //触发按类别定 |
|
|
|
itemTypeFlag: true, //项目类别是否 作为查询条件 |
|
|
|
itemTypeId: '', |
|
|
|
keyWords: '', |
|
|
|
}, |
|
|
|
diagnosis: {}, //null, //{id:'',displayName:''} |
|
|
|
tableData:[], //诊断列表(显示) |
|
|
|
diagnosisAll:[], // 所有诊断列表 |
|
|
|
quickTableData:[], //快速查找诊断 |
|
|
|
formInit:{}, |
|
|
|
form:{ |
|
|
|
id:'', |
|
|
|
itemTypeId:'', |
|
|
|
isIll:'Y', |
|
|
|
displayName:'', |
|
|
|
suggestionName:'', |
|
|
|
forSexId:'A', |
|
|
|
isSummaryTemplate:'N', |
|
|
|
isActive:'Y', |
|
|
|
diagnosisLevelId:1, // |
|
|
|
medicalInterpretations:[], |
|
|
|
healthGuidances:[], |
|
|
|
commonReasons:[] |
|
|
|
}, |
|
|
|
dialogVisible:false, |
|
|
|
tableData: [], //诊断列表(显示) |
|
|
|
diagnosisAll: [], // 所有诊断列表 |
|
|
|
quickTableData: [], //快速查找诊断 |
|
|
|
formInit: {}, |
|
|
|
form: { |
|
|
|
id: '', |
|
|
|
itemTypeId: '', |
|
|
|
isIll: 'Y', |
|
|
|
displayName: '', |
|
|
|
suggestionName: '', |
|
|
|
forSexId: 'A', |
|
|
|
isSummaryTemplate: 'N', |
|
|
|
isActive: 'Y', |
|
|
|
diagnosisLevelId: 1, // |
|
|
|
medicalInterpretations: [], |
|
|
|
healthGuidances: [], |
|
|
|
commonReasons: [] |
|
|
|
}, |
|
|
|
dialogVisible: false, |
|
|
|
rules: { |
|
|
|
displayName: [{ required: true, message: "请输入诊断名称", trigger: "blur" }], |
|
|
|
itemTypeId: [{ required: true, message: "请输入项目类别", trigger: "blur" }], |
|
|
|
@ -281,16 +251,16 @@ export default { |
|
|
|
dropCol: [ |
|
|
|
//{ label: "序号",prop: "sn",minWidth: 40,align:"center"}, |
|
|
|
// { label: "项目类别",prop: "itemTypeId",minWidth: 120,align:"center"}, |
|
|
|
{ label: "诊断级别",prop: "diagnosisLevelId",minWidth: 60,align:"center"}, |
|
|
|
{ label: "诊断名称",prop: "displayName",minWidth: 100,align:"center"}, |
|
|
|
{ label: "建议名称",prop: "suggestionName",minWidth: 100,align:"center"}, |
|
|
|
{ label: "疾病",prop: "isIll",minWidth: 40,align:"center"}, |
|
|
|
{ label: "适用性别",prop: "forSexId",minWidth: 60,align:"center"}, |
|
|
|
{ label: "总检模板",prop: "isSummaryTemplate",minWidth: 60,align:"center"}, |
|
|
|
{ label: "创建者",prop: "creatorName",minWidth: 60,align:"center"}, |
|
|
|
{ label: "创建时间",prop: "creationTime",minWidth: 130,align:"center"}, |
|
|
|
{ label: "修改者",prop: "lastModifierName",minWidth: 60,align:"center"}, |
|
|
|
{ label: "修改时间",prop: "lastModificationTime",minWidth: 130,align:"center"}, |
|
|
|
{ label: "诊断级别", prop: "diagnosisLevelId", minWidth: 60, align: "center" }, |
|
|
|
{ label: "诊断名称", prop: "displayName", minWidth: 100, align: "center" }, |
|
|
|
{ label: "建议名称", prop: "suggestionName", minWidth: 100, align: "center" }, |
|
|
|
{ label: "疾病", prop: "isIll", minWidth: 40, align: "center" }, |
|
|
|
{ label: "适用性别", prop: "forSexId", minWidth: 60, align: "center" }, |
|
|
|
{ label: "总检模板", prop: "isSummaryTemplate", minWidth: 60, align: "center" }, |
|
|
|
{ label: "创建者", prop: "creatorName", minWidth: 60, align: "center" }, |
|
|
|
{ label: "创建时间", prop: "creationTime", minWidth: 130, align: "center" }, |
|
|
|
{ label: "修改者", prop: "lastModifierName", minWidth: 60, align: "center" }, |
|
|
|
{ label: "修改时间", prop: "lastModificationTime", minWidth: 130, align: "center" }, |
|
|
|
], |
|
|
|
}; |
|
|
|
}, |
|
|
|
@ -306,14 +276,14 @@ export default { |
|
|
|
}, |
|
|
|
|
|
|
|
computed: { |
|
|
|
...mapState(["customerOrg", "window","dict"]), |
|
|
|
...mapState(["customerOrg", "window", "dict"]), |
|
|
|
}, |
|
|
|
|
|
|
|
methods: { |
|
|
|
moment,dddw,deepCopy, |
|
|
|
moment, dddw, deepCopy, |
|
|
|
|
|
|
|
init(){ |
|
|
|
this.formInit = Object.assign({},this.form) |
|
|
|
init() { |
|
|
|
this.formInit = Object.assign({}, this.form) |
|
|
|
this.headerCols = deepCopy(this.dropCol) |
|
|
|
|
|
|
|
//适用性别(查询) |
|
|
|
@ -335,9 +305,9 @@ export default { |
|
|
|
}, |
|
|
|
|
|
|
|
//查询所有 诊断记录 |
|
|
|
allDiagnosis(){ |
|
|
|
postapi('/api/app/diagnosis/getlistinsuggestion',{}).then(res =>{ |
|
|
|
if(res.code != -1){ |
|
|
|
allDiagnosis() { |
|
|
|
postapi('/api/app/diagnosis/getlistinsuggestion', {}).then(res => { |
|
|
|
if (res.code != -1) { |
|
|
|
this.diagnosisAll = res.data |
|
|
|
this.quickTableData = res.data |
|
|
|
} |
|
|
|
@ -345,44 +315,44 @@ export default { |
|
|
|
}, |
|
|
|
|
|
|
|
// 供树节点组件调用,更新当前所选的项目类别 |
|
|
|
refreshItemTypeId(itemTypeId){ |
|
|
|
refreshItemTypeId(itemTypeId) { |
|
|
|
this.query.itemTypeId = itemTypeId |
|
|
|
this.query.triggerScroll++ |
|
|
|
}, |
|
|
|
|
|
|
|
// 供明建议组件调用,更新所选建议 |
|
|
|
refreshSugs(sugs){ |
|
|
|
if(!this.form.id) return |
|
|
|
refreshSugs(sugs) { |
|
|
|
if (!this.form.id) return |
|
|
|
this.form.medicalInterpretations = deepCopy(sugs) |
|
|
|
let lfind = arrayExistObj(this.tableData,'id',this.form.id) |
|
|
|
if(lfind > -1) this.tableData[lfind] = Object.assign(this.tableData[lfind],this.form) |
|
|
|
let lfind = arrayExistObj(this.tableData, 'id', this.form.id) |
|
|
|
if (lfind > -1) this.tableData[lfind] = Object.assign(this.tableData[lfind], this.form) |
|
|
|
}, |
|
|
|
refreshSuges(sugs){ |
|
|
|
if(!this.form.id) return |
|
|
|
refreshSuges(sugs) { |
|
|
|
if (!this.form.id) return |
|
|
|
this.form.healthGuidances = deepCopy(sugs) |
|
|
|
let lfind = arrayExistObj(this.tableData,'id',this.form.id) |
|
|
|
if(lfind > -1) this.tableData[lfind] = Object.assign(this.tableData[lfind],this.form) |
|
|
|
let lfind = arrayExistObj(this.tableData, 'id', this.form.id) |
|
|
|
if (lfind > -1) this.tableData[lfind] = Object.assign(this.tableData[lfind], this.form) |
|
|
|
}, |
|
|
|
refreshSugess(sugs){ |
|
|
|
if(!this.form.id) return |
|
|
|
refreshSugess(sugs) { |
|
|
|
if (!this.form.id) return |
|
|
|
this.form.commonReasons = deepCopy(sugs) |
|
|
|
let lfind = arrayExistObj(this.tableData,'id',this.form.id) |
|
|
|
if(lfind > -1) this.tableData[lfind] = Object.assign(this.tableData[lfind],this.form) |
|
|
|
let lfind = arrayExistObj(this.tableData, 'id', this.form.id) |
|
|
|
if (lfind > -1) this.tableData[lfind] = Object.assign(this.tableData[lfind], this.form) |
|
|
|
}, |
|
|
|
|
|
|
|
async btnQuery(){ |
|
|
|
async btnQuery() { |
|
|
|
let body = {} |
|
|
|
if(this.query.itemTypeFlag && this.query.itemTypeId){ |
|
|
|
if (this.query.itemTypeFlag && this.query.itemTypeId) { |
|
|
|
body.itemTypeId = this.query.itemTypeId |
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
return |
|
|
|
} |
|
|
|
// if(this.query.keyWords) body.keyWords = this.query.keyWords |
|
|
|
|
|
|
|
postapi('/api/app/diagnosis/getlistinsuggestion',body).then(res =>{ |
|
|
|
if(res.code != -1){ |
|
|
|
postapi('/api/app/diagnosis/getlistinsuggestion', body).then(res => { |
|
|
|
if (res.code != -1) { |
|
|
|
this.tableData = res.data |
|
|
|
this.form = Object.assign({},this.formInit) |
|
|
|
this.form = Object.assign({}, this.formInit) |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
@ -408,17 +378,17 @@ export default { |
|
|
|
quickDiagnosis(v) { |
|
|
|
//远程查询时,设置了 value-key 也不管用,只能取到value console.log('quickDiagnosis',v) |
|
|
|
let lfind = -1 |
|
|
|
if(!v.itemTypeId) return |
|
|
|
if (!v.itemTypeId) return |
|
|
|
|
|
|
|
this.query.itemTypeId = v.itemTypeId |
|
|
|
let body = { |
|
|
|
itemTypeId:v.itemTypeId |
|
|
|
itemTypeId: v.itemTypeId |
|
|
|
} |
|
|
|
|
|
|
|
postapi('/api/app/diagnosis/getlistinsuggestion',body).then(res =>{ |
|
|
|
if(res.code != -1){ |
|
|
|
postapi('/api/app/diagnosis/getlistinsuggestion', body).then(res => { |
|
|
|
if (res.code != -1) { |
|
|
|
this.tableData = res.data |
|
|
|
this.form = Object.assign({},this.formInit) |
|
|
|
this.form = Object.assign({}, this.formInit) |
|
|
|
|
|
|
|
// lfind = arrayExistObj(this.tableData, 'id', v.id) |
|
|
|
// if (lfind > -1) { |
|
|
|
@ -446,31 +416,31 @@ export default { |
|
|
|
this.$refs['elSelectKeyWords'].focus(); //total asbItemId |
|
|
|
}); |
|
|
|
}, |
|
|
|
searchup(data,index) { |
|
|
|
this.$nextTick(()=>{ |
|
|
|
if(index==0){ |
|
|
|
index=1 |
|
|
|
searchup(data, index) { |
|
|
|
this.$nextTick(() => { |
|
|
|
if (index == 0) { |
|
|
|
index = 1 |
|
|
|
} |
|
|
|
const targetTop = this.$refs["elTable"].$el.querySelectorAll('.el-table__body tr')[index-1].getBoundingClientRect().top |
|
|
|
const targetTop = this.$refs["elTable"].$el.querySelectorAll('.el-table__body tr')[index - 1].getBoundingClientRect().top |
|
|
|
const containerTop = this.$refs["elTable"].$el.querySelector('.el-table__body').getBoundingClientRect().top |
|
|
|
const scrollParent = this.$refs["elTable"].$el.querySelector('.el-table__body-wrapper') |
|
|
|
scrollParent.scrollTop = targetTop - containerTop |
|
|
|
}) |
|
|
|
}, |
|
|
|
// 选体检类别时,定位到相应类别的第1行 |
|
|
|
triggerScroll(){ |
|
|
|
if(!this.query.itemTypeId) return |
|
|
|
let lfind = arrayExistObj(this.tableData,'itemTypeId',this.query.itemTypeId) |
|
|
|
if(lfind > -1){ |
|
|
|
triggerScroll() { |
|
|
|
if (!this.query.itemTypeId) return |
|
|
|
let lfind = arrayExistObj(this.tableData, 'itemTypeId', this.query.itemTypeId) |
|
|
|
if (lfind > -1) { |
|
|
|
this.scrollToRow(lfind) |
|
|
|
} |
|
|
|
}, |
|
|
|
scrollToRow(rowNum){ |
|
|
|
scrollToRow(rowNum) { |
|
|
|
let dom = this.$refs['elTable'].bodyWrapper |
|
|
|
this.$nextTick(() =>{ |
|
|
|
this.$nextTick(() => { |
|
|
|
let tableHeight = this.window.pageHeight < 600 ? 200 : Math.floor((this.window.pageHeight - 200) / 2) |
|
|
|
let rowHeight = 36.96 |
|
|
|
dom.scrollTo(0, rowHeight * rowNum - tableHeight*rowNum/(2*this.tableData.length) ) |
|
|
|
dom.scrollTo(0, rowHeight * rowNum - tableHeight * rowNum / (2 * this.tableData.length)) |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
@ -497,7 +467,7 @@ export default { |
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
rowClick(row){ |
|
|
|
rowClick(row) { |
|
|
|
this.form = deepCopy(row) |
|
|
|
|
|
|
|
//用于选择树节点 |
|
|
|
@ -509,8 +479,8 @@ export default { |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
btnAdd(){ |
|
|
|
if(!this.query.itemTypeId){ |
|
|
|
btnAdd() { |
|
|
|
if (!this.query.itemTypeId) { |
|
|
|
this.$message.warning("请先选择项目类别!") |
|
|
|
return |
|
|
|
} |
|
|
|
@ -519,28 +489,28 @@ export default { |
|
|
|
this.dialogVisible = true |
|
|
|
}, |
|
|
|
|
|
|
|
btnEdit(){ |
|
|
|
if(!this.form.id){ |
|
|
|
btnEdit() { |
|
|
|
if (!this.form.id) { |
|
|
|
this.$message.warning("请先选择要编辑的诊断记录!") |
|
|
|
return |
|
|
|
} |
|
|
|
this.dialogVisible = true |
|
|
|
}, |
|
|
|
ischangsItemTypeId(v){ |
|
|
|
if(v.length>1){ |
|
|
|
this.form.itemTypeId=this.form.itemTypeId.slice(-1)[0] |
|
|
|
}else{ |
|
|
|
this.form.itemTypeId=this.form.itemTypeId[0] |
|
|
|
ischangsItemTypeId(v) { |
|
|
|
if (v.length > 1) { |
|
|
|
this.form.itemTypeId = this.form.itemTypeId.slice(-1)[0] |
|
|
|
} else { |
|
|
|
this.form.itemTypeId = this.form.itemTypeId[0] |
|
|
|
} |
|
|
|
this.$refs.itemTypeIds.toggleDropDownVisible(); |
|
|
|
}, |
|
|
|
inputDisplayName(v){ |
|
|
|
inputDisplayName(v) { |
|
|
|
//console.log(v) |
|
|
|
this.form.suggestionName = v |
|
|
|
}, |
|
|
|
|
|
|
|
onSubmit(formName){ |
|
|
|
let msg='',body = {},itemTypeId='' |
|
|
|
onSubmit(formName) { |
|
|
|
let msg = '', body = {}, itemTypeId = '' |
|
|
|
|
|
|
|
this.$refs[formName].validate((valid, fields) => { |
|
|
|
if (!valid) { |
|
|
|
@ -549,14 +519,14 @@ export default { |
|
|
|
} |
|
|
|
}) |
|
|
|
|
|
|
|
if(msg){ |
|
|
|
if (msg) { |
|
|
|
this.$message.warning(msg); |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
if(typeof this.form.itemTypeId == 'object'){ |
|
|
|
if (typeof this.form.itemTypeId == 'object') { |
|
|
|
itemTypeId = this.form.itemTypeId[this.form.itemTypeId.length - 1] |
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
itemTypeId = this.form.itemTypeId |
|
|
|
} |
|
|
|
|
|
|
|
@ -568,20 +538,20 @@ export default { |
|
|
|
isSummaryTemplate: this.form.isSummaryTemplate, |
|
|
|
forSexId: this.form.forSexId, |
|
|
|
diagnosisLevelId: this.form.diagnosisLevelId, |
|
|
|
isActive:this.form.isActive, |
|
|
|
isActive: this.form.isActive, |
|
|
|
} |
|
|
|
// console.log('this.form',this.form) |
|
|
|
if(this.form.id){ |
|
|
|
postapi(`/api/app/diagnosis/updatediagnosis?id=${this.form.id}`,body).then(res =>{ |
|
|
|
if(res.code != -1){ |
|
|
|
if (this.form.id) { |
|
|
|
postapi(`/api/app/diagnosis/updatediagnosis?id=${this.form.id}`, body).then(res => { |
|
|
|
if (res.code != -1) { |
|
|
|
this.dialogVisible = false |
|
|
|
//this.$message.success('操作成功!') |
|
|
|
} |
|
|
|
}) |
|
|
|
}else{ |
|
|
|
postapi(`/api/app/diagnosis/creatediagnosis`,body).then(res =>{ |
|
|
|
if(res.code != -1){ |
|
|
|
this.form = Object.assign(this.form,res.data) |
|
|
|
} else { |
|
|
|
postapi(`/api/app/diagnosis/creatediagnosis`, body).then(res => { |
|
|
|
if (res.code != -1) { |
|
|
|
this.form = Object.assign(this.form, res.data) |
|
|
|
this.dialogVisible = false |
|
|
|
//this.$message.success('操作成功!') |
|
|
|
} |
|
|
|
@ -589,46 +559,46 @@ export default { |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
btnSort(){ |
|
|
|
if(this.tableData.length<2) return |
|
|
|
btnSort() { |
|
|
|
if (this.tableData.length < 2) return |
|
|
|
let itemList = [] |
|
|
|
this.tableData.forEach((e,index) =>{ |
|
|
|
this.tableData.forEach((e, index) => { |
|
|
|
itemList.push({ |
|
|
|
id:e.id, |
|
|
|
displayOrder:index+1 |
|
|
|
id: e.id, |
|
|
|
displayOrder: index + 1 |
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
putapi('/api/app/diagnosis/updatesortmany',{itemList}).then(res =>{ |
|
|
|
if(res.code != -1){ |
|
|
|
putapi('/api/app/diagnosis/updatesortmany', { itemList }).then(res => { |
|
|
|
if (res.code != -1) { |
|
|
|
//this.$message.success('操作成功!') |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
closeDialog(){ |
|
|
|
if(!this.form.id) return |
|
|
|
closeDialog() { |
|
|
|
if (!this.form.id) return |
|
|
|
let curRow = {} |
|
|
|
let lfind = arrayExistObj(this.tableData,'id',this.form.id) |
|
|
|
if(lfind > -1){ |
|
|
|
curRow = Object.assign(this.tableData[lfind],this.form) |
|
|
|
let lfind = arrayExistObj(this.tableData, 'id', this.form.id) |
|
|
|
if (lfind > -1) { |
|
|
|
curRow = Object.assign(this.tableData[lfind], this.form) |
|
|
|
this.tableData[lfind] = curRow |
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
lfind = this.tableData.length |
|
|
|
curRow = Object.assign({},this.form) |
|
|
|
curRow = Object.assign({}, this.form) |
|
|
|
this.tableData.push(curRow) |
|
|
|
} |
|
|
|
if(lfind > -1){ |
|
|
|
if (lfind > -1) { |
|
|
|
this.$refs['elTable'].setCurrentRow(curRow) |
|
|
|
this.$nextTick(() =>{ |
|
|
|
this.$nextTick(() => { |
|
|
|
this.rowClick(curRow) |
|
|
|
}) |
|
|
|
} |
|
|
|
this.allDiagnosis() |
|
|
|
}, |
|
|
|
|
|
|
|
btnDel(){ |
|
|
|
if(!this.form.id){ |
|
|
|
btnDel() { |
|
|
|
if (!this.form.id) { |
|
|
|
this.$message.warning("请先选中要删除的诊断记录!") |
|
|
|
return |
|
|
|
} |
|
|
|
@ -637,15 +607,15 @@ export default { |
|
|
|
confirmButtonText: "是", |
|
|
|
cancelButtonText: "否", |
|
|
|
type: "warning", |
|
|
|
cancelButtonClass:"difference", |
|
|
|
confirmButtonClass:"commonbutton" |
|
|
|
cancelButtonClass: "difference", |
|
|
|
confirmButtonClass: "commonbutton" |
|
|
|
}).then(() => { |
|
|
|
//console.log('{patientRegisterIds}',{patientRegisterIds}) |
|
|
|
return postapi(`/api/app/diagnosis/deletediagnosis?id=${this.form.id}`); |
|
|
|
}).then((res) => { |
|
|
|
if(res.code != -1){ |
|
|
|
let lfind = arrayExistObj(this.tableData,'id',this.form.id) |
|
|
|
if(lfind > -1) this.tableData.splice(lfind,1) |
|
|
|
if (res.code != -1) { |
|
|
|
let lfind = arrayExistObj(this.tableData, 'id', this.form.id) |
|
|
|
if (lfind > -1) this.tableData.splice(lfind, 1) |
|
|
|
this.form = deepCopy(this.formInit) |
|
|
|
this.allDiagnosis() |
|
|
|
//this.$message.success('操作成功!') |
|
|
|
@ -670,18 +640,18 @@ export default { |
|
|
|
// } |
|
|
|
// } |
|
|
|
// }, |
|
|
|
"query.triggerScroll":{ |
|
|
|
"query.triggerScroll": { |
|
|
|
immediate: true, // 立即执行 |
|
|
|
// deep: true, // 深度监听复杂类型内变化 |
|
|
|
handler(newVal,oldVal){ |
|
|
|
handler(newVal, oldVal) { |
|
|
|
// console.log('watch:patientRegisterNo:',newVal,oldVal) |
|
|
|
if(newVal != oldVal){ |
|
|
|
if (newVal != oldVal) { |
|
|
|
this.btnQuery(); |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
}, |
|
|
|
}; |
|
|
|
}; |
|
|
|
</script> |
|
|
|
<style scoped> |
|
|
|
@import '../../assets/css/global_button.css'; |
|
|
|
@ -696,35 +666,52 @@ export default { |
|
|
|
display: flex; |
|
|
|
flex-direction: column; |
|
|
|
} |
|
|
|
|
|
|
|
::v-deep .dddwSelect .el-select-dropdown__wrap { |
|
|
|
background-color: #FFF; |
|
|
|
max-height: 600px; |
|
|
|
max-width: 350px; |
|
|
|
} |
|
|
|
|
|
|
|
/* form表单每一项的下边距 */ |
|
|
|
:deep .el-form-item { |
|
|
|
margin-bottom: 14px; |
|
|
|
} |
|
|
|
|
|
|
|
/* 去掉input textarea的手动扩张样式 */ |
|
|
|
:deep(.el-textarea__inner) { |
|
|
|
:deep .el-textarea__inner { |
|
|
|
resize: none; |
|
|
|
} |
|
|
|
|
|
|
|
/* el-dialog的头部样式 */ |
|
|
|
:deep .el-dialog__header { |
|
|
|
padding: 11px 20px 11px; |
|
|
|
} |
|
|
|
|
|
|
|
/* el-dialog的主体样式 */ |
|
|
|
:deep .el-dialog__body { |
|
|
|
padding: 0px 20px 0px; |
|
|
|
} |
|
|
|
|
|
|
|
/* el-divider样式 */ |
|
|
|
:deep .el-divider--horizontal { |
|
|
|
margin: 0px 0 12px; |
|
|
|
} |
|
|
|
|
|
|
|
/* el-dialog的底部样式 */ |
|
|
|
:deep .el-dialog__footer { |
|
|
|
padding: 0px 20px 14px; |
|
|
|
} |
|
|
|
|
|
|
|
.seachinput { |
|
|
|
width: 250px; |
|
|
|
width: 350px; |
|
|
|
margin-right: 110px; |
|
|
|
} |
|
|
|
|
|
|
|
:deep .seachinput .el-select { |
|
|
|
width: 100%; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</style> |