|
|
|
@ -1,27 +1,29 @@ |
|
|
|
<template> |
|
|
|
<div> |
|
|
|
<el-table :data="doctorCheck.checkItemList" style="width: 100%" :height="tableHeight" border highlight-current-row |
|
|
|
@row-click="rowClick" size="small"> |
|
|
|
<el-table-column prop="itemName" label="项目" width="220" /> |
|
|
|
<el-table-column prop="result" label="结果" min-width="200"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<div style="display: flex;"> |
|
|
|
<el-autocomplete style="width: 100%" type="textarea" v-model="scope.row.result" placeholder="请输入结果值" |
|
|
|
:disabled="rowResultDisabled(scope.row)" :autosize="{ minRows: 1, maxRows: 10 }" :trigger-on-focus="false" |
|
|
|
:fetch-suggestions="querySearch" :data-lineModeFlag="scope.row.lineModeFlag" @input=" |
|
|
|
madeTooltips(scope.$index); |
|
|
|
computeFun(scope.$index); |
|
|
|
" v-bind:class="scope.row.class"> |
|
|
|
</el-autocomplete> |
|
|
|
<el-button style="min-width: 23px; padding: 2px" icon="el-icon-caret-bottom" |
|
|
|
@click="btnMoreResult(scope.row, scope.$index)" :disabled="rowResultDisabled(scope.row)" |
|
|
|
size="small"></el-button> |
|
|
|
<el-button style="min-width: 23px; padding: 2px; margin-left: 2px" |
|
|
|
@click="btnPacsResult(scope.row, scope.$index)" :disabled="rowResultDisabled(scope.row)" |
|
|
|
size="small">P</el-button> |
|
|
|
<el-button style="min-width: 23px; padding: 5.8px; margin-left: 2px" |
|
|
|
:disabled="rowResultDisabled(scope.row)" @click="btnPacsRessulst(scope.row)" size="small">S</el-button> |
|
|
|
<!-- <el-popover |
|
|
|
<div @contextmenu.prevent="onContextmenu"> |
|
|
|
<el-table :data="doctorCheck.checkItemList" style="width: 100%" :height="tableHeight" border highlight-current-row |
|
|
|
@row-click="rowClick" size="small"> |
|
|
|
<el-table-column prop="itemName" label="项目" width="220" /> |
|
|
|
<el-table-column prop="result" label="结果" min-width="200"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<div style="display: flex;"> |
|
|
|
<el-autocomplete style="width: 100%" type="textarea" v-model="scope.row.result" placeholder="请输入结果值" |
|
|
|
:disabled="rowResultDisabled(scope.row)" :autosize="{ minRows: 1, maxRows: 10 }" |
|
|
|
:trigger-on-focus="false" :fetch-suggestions="querySearch" :data-lineModeFlag="scope.row.lineModeFlag" |
|
|
|
@input=" |
|
|
|
madeTooltips(scope.$index); |
|
|
|
computeFun(scope.$index); |
|
|
|
" v-bind:class="scope.row.class"> |
|
|
|
</el-autocomplete> |
|
|
|
<el-button style="min-width: 23px; padding: 2px" icon="el-icon-caret-bottom" |
|
|
|
@click="btnMoreResult(scope.row, scope.$index)" :disabled="rowResultDisabled(scope.row)" |
|
|
|
size="small"></el-button> |
|
|
|
<el-button style="min-width: 23px; padding: 2px; margin-left: 2px" |
|
|
|
@click="btnPacsResult(scope.row, scope.$index)" :disabled="rowResultDisabled(scope.row)" |
|
|
|
size="small">P</el-button> |
|
|
|
<el-button style="min-width: 23px; padding: 5.8px; margin-left: 2px" |
|
|
|
:disabled="rowResultDisabled(scope.row)" @click="btnPacsRessulst(scope.row)" size="small">S</el-button> |
|
|
|
<!-- <el-popover |
|
|
|
placement="top-end" |
|
|
|
width="500" |
|
|
|
trigger="click" |
|
|
|
@ -58,38 +60,62 @@ |
|
|
|
>S</el-button |
|
|
|
> |
|
|
|
</el-popover> --> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="unit" label="单位" width="90" align="center" /> |
|
|
|
<el-table-column prop="referenceRangeValue" label="参考范围" width="120" align="center" /> |
|
|
|
<el-table-column prop="resultStatusId" label="提示" width="40" align="center"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<div> |
|
|
|
{{ |
|
|
|
dddw( |
|
|
|
resultStatus, |
|
|
|
"id", |
|
|
|
scope.row.resultStatusId, |
|
|
|
"dataInputPrompt" |
|
|
|
) |
|
|
|
}} |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="criticalFlag" label="危急值" width="50" align="center"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-button :style="[ |
|
|
|
{ minWidth: '23px' }, |
|
|
|
{ padding: '6px 2px' }, |
|
|
|
{ |
|
|
|
backgroundColor: scope.row.isCriticalValue == 'Y' ? 'red' : '', |
|
|
|
}, |
|
|
|
]" @click="btnCritical(scope.row)" size="small">W</el-button> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
|
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="unit" label="单位" width="90" align="center" /> |
|
|
|
<el-table-column prop="referenceRangeValue" label="参考范围" width="120" align="center" /> |
|
|
|
<el-table-column prop="resultStatusId" label="提示" width="40" align="center"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<div> |
|
|
|
{{ |
|
|
|
dddw( |
|
|
|
resultStatus, |
|
|
|
"id", |
|
|
|
scope.row.resultStatusId, |
|
|
|
"dataInputPrompt" |
|
|
|
) |
|
|
|
}} |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="criticalFlag" label="危急值" width="50" align="center"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-button :style="[ |
|
|
|
{ minWidth: '23px' }, |
|
|
|
{ padding: '6px 2px' }, |
|
|
|
{ |
|
|
|
backgroundColor: scope.row.isCriticalValue == 'Y' ? 'red' : '', |
|
|
|
}, |
|
|
|
]" @click="btnCritical(scope.row)" size="small">W</el-button> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
</div> |
|
|
|
<!--模拟弹窗--> |
|
|
|
<div v-show="hisResultDetailDialogVisible" |
|
|
|
:style="`z-index:2;border-radius: 10px;border: 1px solid #ddd;background-color:#FFF; position: absolute;top:0px;right:0px;width:200px;height: 600px;opacity:1;`"> |
|
|
|
<div style="display: flex;justify-content:space-between;"> |
|
|
|
<div style="margin-left: 5px;">历次明细结果</div> |
|
|
|
<div> |
|
|
|
<el-tooltip content="关闭历次明细窗口" placement="bottom" effect="light"> |
|
|
|
<i class="el-icon-close" @click="hisResultDetailDialogVisible = false" |
|
|
|
style="font-size: 24px;color: red;cursor:pointer;"></i> |
|
|
|
</el-tooltip> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<!-- 明细历次结果 --> |
|
|
|
<el-table :data="gridData" border width="100%" height="575" size="small" highlight-current-row |
|
|
|
style="border-radius:10px;"> |
|
|
|
<el-table-column prop="checkDate" label="检查日期" min-width="90" align="center" /> |
|
|
|
<el-table-column prop="itemResult" label="项目结果" min-width="100"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<div style="margin-left: 2px;">{{ scope.row.itemResult }}</div> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
</div> |
|
|
|
<!--弹窗--> |
|
|
|
<div> |
|
|
|
<!-- 结果录入模版 --> |
|
|
|
@ -174,6 +200,7 @@ |
|
|
|
<PacsTemplate :refParams="pacsParams" :refFuncOther="handlePacsResult" /> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
<!--历史结果与折线图--> |
|
|
|
<el-dialog :title="curRow.itemName" :visible.sync="previousResults" width="500px" :close-on-click-modal="true" |
|
|
|
:show-close="false" @close="resultsclose"> |
|
|
|
<el-tabs v-model="activeName"> |
|
|
|
@ -195,7 +222,8 @@ |
|
|
|
// 0-无参考范围,1-数字型,2-字符型,3-性激素 |
|
|
|
import { mapState } from "vuex"; |
|
|
|
import { getapi, postapi, putapi, deletapi } from "@/api/api"; |
|
|
|
import { arrayExistObj, dddw, deepCopy } from "../../utlis/proFunc"; |
|
|
|
import { arrayExistObj, dddw, deepCopy, getPagePriv, checkPagePriv } from "../../utlis/proFunc"; |
|
|
|
|
|
|
|
import PacsTemplate from "./PacsTemplate.vue"; |
|
|
|
import * as echarts from "echarts"; |
|
|
|
export default { |
|
|
|
@ -205,6 +233,10 @@ export default { |
|
|
|
props: ["isCheckPicture", "registerCheckId", "doctor_check_check_charge"], |
|
|
|
data() { |
|
|
|
return { |
|
|
|
pagePriv: { |
|
|
|
routeUrlorPageName: "doctorCheck", //当前页面归属路由或归属页面权限名称 |
|
|
|
privs: [], // 页面权限 |
|
|
|
}, |
|
|
|
activeName: "first", |
|
|
|
previousResults: false, |
|
|
|
gridData: [], |
|
|
|
@ -272,10 +304,19 @@ export default { |
|
|
|
pacsDescFontSize: "14px", //描述内容的字体大小 |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
hisResultDetailDialogVisible: true, |
|
|
|
}; |
|
|
|
}, |
|
|
|
|
|
|
|
created() { |
|
|
|
//获取用户当前页面的权限 |
|
|
|
let userPriv = window.sessionStorage.getItem("userPriv"); |
|
|
|
if (userPriv) |
|
|
|
this.pagePriv.privs = deepCopy( |
|
|
|
getPagePriv(this.pagePriv.routeUrlorPageName) |
|
|
|
); |
|
|
|
|
|
|
|
this.dictInit(); |
|
|
|
|
|
|
|
let LocalConfig = JSON.parse(window.localStorage.getItem("LocalConfig") || null) |
|
|
|
@ -373,6 +414,7 @@ export default { |
|
|
|
} |
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
btnPacsRessulst(row) { |
|
|
|
this.curRow = row; |
|
|
|
postapi("/api/app/RegisterCheckItem/GetItemTwoHistoricalResults", { |
|
|
|
@ -780,6 +822,19 @@ export default { |
|
|
|
rowClick(row) { |
|
|
|
this.doctorCheck.checkItem = row; |
|
|
|
this.restaurants = row.itemResultTemplates; |
|
|
|
|
|
|
|
//显示历史明细结果 |
|
|
|
if (this.hisResultDetailDialogVisible) { |
|
|
|
this.gridData = [] |
|
|
|
postapi("/api/app/RegisterCheckItem/GetItemTwoHistoricalResults", { |
|
|
|
registerCheckId: row.registerCheckId, |
|
|
|
itemId: row.itemId, |
|
|
|
}).then((res) => { |
|
|
|
if (res.code != -1) { |
|
|
|
this.gridData = res.data; |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
//检查组合项目下所包含的明细项目 |
|
|
|
@ -990,6 +1045,54 @@ export default { |
|
|
|
}); |
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
// 录入结果区域 右击事件 |
|
|
|
onContextmenu(event) { |
|
|
|
|
|
|
|
//菜单项 |
|
|
|
let items = []; |
|
|
|
// items.push({ |
|
|
|
// label: "一级菜单", |
|
|
|
// children: [ |
|
|
|
// { label: "修改姓名", onClick: () => { this.fnUpBaseInfo(row, 'patientName'); } } |
|
|
|
// ], |
|
|
|
// onClick: () => { //菜单事件 } |
|
|
|
// }) |
|
|
|
|
|
|
|
// 显示明细历次结果 |
|
|
|
items.push({ |
|
|
|
label: "显示明细历次结果", |
|
|
|
onClick: () => { |
|
|
|
this.hisResultDetailDialogVisible = true |
|
|
|
}, |
|
|
|
}) |
|
|
|
|
|
|
|
// 预览影像报告 |
|
|
|
//if(checkPagePriv(this.pagePriv.privs, "预览影像报告")) |
|
|
|
items.push({ |
|
|
|
label: "预览影像报告", |
|
|
|
onClick: () => { |
|
|
|
this.pacsReportView(); |
|
|
|
}, |
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
this.$contextmenu({ |
|
|
|
items, |
|
|
|
event, |
|
|
|
x: event.clientX, |
|
|
|
y: event.clientY, |
|
|
|
customClass: "custom-class", |
|
|
|
zIndex: 3, |
|
|
|
minWidth: 80, |
|
|
|
}); |
|
|
|
|
|
|
|
return false; |
|
|
|
}, |
|
|
|
|
|
|
|
pacsReportView() { |
|
|
|
this.$message.info({ showClose: true, message: this.doctorCheck.RegisterCheckId }) |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
//监听事件 |
|
|
|
|