|
@@ -8,6 +8,7 @@
|
|
|
<el-tooltip
|
|
|
class="item"
|
|
|
effect="dark"
|
|
|
+ v-if="(!Array.isArray(tableData) && tableData.INSPECT_REPORT_ITEMS.length) || ( Array.isArray(tableData) && tableData.length)"
|
|
|
:content="localData.tableData.LAB_ITEMNAME?timeFormat(localData.tableData.REPORTTIME, 'yyyy.mm.dd hh:MM') + ' ' + localData.tableData.LAB_ITEMNAME:'检查项目'"
|
|
|
placement="top-start"
|
|
|
>
|
|
@@ -15,7 +16,7 @@
|
|
|
</el-tooltip>
|
|
|
<el-tag v-if="localData.tableData.INSPECT_REPORT_ITEMS" :key="localData.tableData.HR_RANGE" type="success" effect="dark">{{localData.tableData.HR_RANGE}}</el-tag>
|
|
|
</div>
|
|
|
- <div v-if="localData.tableData.LAB_ITEMNAME_TYPE_CODE == '2'" >
|
|
|
+ <div v-if="switchType(localData.tableData.LAB_ITEMNAME_TYPE_CODE) == '2'" >
|
|
|
<p>鉴定结果: {{localData.tableData.INSPECT_REPORT_ITEMS[0].LAB_ITEMDETAILINTERPRETATION}}</p>
|
|
|
<p>药敏结果:{{localData.tableData.INSPECT_REPORT_ITEMS[0].LAB_ITEMDETAILINTERPRETATION_BIA}}</p>
|
|
|
</div>
|
|
@@ -26,15 +27,15 @@
|
|
|
effect="dark"
|
|
|
:content="localData.tableData.BHR_REASON?localData.tableData.BHR_REASON:getHrResultLabel(localData.tableData.HR_STATUS)"
|
|
|
placement="top-start"
|
|
|
- v-if="props.from != 'patientTable' && localData.tableData.HR_STATUS == '2' &&(localData.tableData.LAB_ITEMNAME_TYPE_CODE == '1' && localData.tableData.LAB_HR_ITEMNAME_CODE) || localData.tableData.LAB_ITEMNAME_TYPE_CODE == '2'"
|
|
|
+ v-if="props.from != 'patientTable' && localData.tableData.HR_STATUS == '2' &&(switchType(localData.tableData.LAB_ITEMNAME_TYPE_CODE) == '1' && localData.tableData.LAB_HR_ITEMNAME_CODE) || switchType(localData.tableData.LAB_ITEMNAME_TYPE_CODE) == '2'"
|
|
|
>
|
|
|
<div class="hr-select-box">{{getHrResultLabel(localData.tableData.HR_STATUS)}}</div>
|
|
|
</el-tooltip>
|
|
|
- <span v-else-if="props.from != 'patientTable' && localData.tableData.HR_STATUS !== '2' &&(localData.tableData.LAB_ITEMNAME_TYPE_CODE == '1' && localData.tableData.LAB_HR_ITEMNAME_CODE) || localData.tableData.LAB_ITEMNAME_TYPE_CODE == '2'" style="color: var(--el-color-success);font-weight: 800;font-size: 16px;margin-right:12px;">{{getHrResultLabel(localData.tableData.HR_STATUS)}}</span>
|
|
|
- <el-button v-if="localData.tableData.INSPECT_REPORT_ITEMS" type="primary" :color="'var(--ba-vars-color-main-primary)'" @click="handleReportView('INSPECT')">查看报告</el-button>
|
|
|
+ <span v-else-if="props.from != 'patientTable' && localData.tableData.HR_STATUS !== '2' &&(switchType(localData.tableData.LAB_ITEMNAME_TYPE_CODE) == '1' && localData.tableData.LAB_HR_ITEMNAME_CODE) || switchType(localData.tableData.LAB_ITEMNAME_TYPE_CODE) == '2'" style="color: var(--el-color-success);font-weight: 800;font-size: 16px;margin-right:12px;">{{getHrResultLabel(localData.tableData.HR_STATUS)}}</span>
|
|
|
+ <el-button v-if="localData.tableData.INSPECT_REPORT_ITEMS && localData.tableData.REPORT" type="primary" :color="'var(--ba-vars-color-main-primary)'" @click="handleReportView(localData.tableData)">查看报告</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <el-table v-if="localData.tableData.LAB_ITEMNAME_TYPE_CODE == '1'" :data="localData.tableData.INSPECT_REPORT_ITEMS" header-cell-class-name="table-header-cell" stripe style="width: 100%">
|
|
|
+ <el-table v-if="switchType(localData.tableData.LAB_ITEMNAME_TYPE_CODE) == '1'" :data="localData.tableData.INSPECT_REPORT_ITEMS" header-cell-class-name="table-header-cell" stripe style="width: 100%">
|
|
|
<el-table-column type="index" label="序号" width="70" align="center" />
|
|
|
<el-table-column prop="LAB_ITEMDETAILNAME_EN" label="代号" width="90" align="center" />
|
|
|
<el-table-column prop="LAB_ITEMDETAILNAME" label="项目名称" width="180" align="center" />
|
|
@@ -71,7 +72,7 @@
|
|
|
</template>
|
|
|
</el-table-column> -->
|
|
|
</el-table>
|
|
|
- <div v-else-if="localData.tableData.LAB_ITEMNAME_TYPE_CODE == '2'">
|
|
|
+ <div v-if="switchType(localData.tableData.LAB_ITEMNAME_TYPE_CODE) == '2'">
|
|
|
<el-table
|
|
|
class="ba-data-table w100"
|
|
|
:data="localData.tableData.INSPECT_REPORT_ITEMS"
|
|
@@ -88,22 +89,22 @@
|
|
|
</el-table>
|
|
|
<p style="padding: 12px;font-weight: 600;color: var(--el-text-color-primary);">评语:{{localData.tableData.REPORT_COMMENT}}</p>
|
|
|
</div>
|
|
|
- <el-table v-else :data="tableData" header-cell-class-name="table-header-cell" stripe style="width: 100%">
|
|
|
+ <el-table v-if="tableData.length" :data="tableData" header-cell-class-name="table-header-cell" stripe style="width: 100%">
|
|
|
<el-table-column type="index" label="序号" width="60" align="center" />
|
|
|
<el-table-column prop="STUDYTIME" label="检查时间" width="100" align="center" />
|
|
|
<el-table-column prop="EXAM_ITEMNAME" label="项目名称" width="120" align="center" />
|
|
|
<el-table-column prop="OBSERVATIONS_COMMENT" label="检查所见/影像所见" width="200" align="center">
|
|
|
<template #default="{ row }">
|
|
|
- <span v-if="!row.isCoExpanded && row.OBSERVATIONS_COMMENT.length > 40" v-html="(row.OBSERVATIONS_COMMENT.slice(0, 40) + '...')"></span>
|
|
|
+ <span v-if="!row.isCoExpanded && row.OBSERVATIONS_COMMENT && row.OBSERVATIONS_COMMENT.length > 40" v-html="(row.OBSERVATIONS_COMMENT.slice(0, 40) + '...')"></span>
|
|
|
<span v-else v-html="row.OBSERVATIONS_COMMENT"></span>
|
|
|
- <el-button v-if="!row.isCoExpanded && row.OBSERVATIONS_COMMENT.length > 40" type="text" @click="showFullContent(row, 'comment')">更多</el-button>
|
|
|
+ <el-button v-if="!row.isCoExpanded && row.OBSERVATIONS_COMMENT && row.OBSERVATIONS_COMMENT.length > 40" type="text" @click="showFullContent(row, 'comment')">更多</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="OBSERVATIONS_RESULT" label="影像诊断/意见" width="200" align="center">
|
|
|
<template #default="{ row }">
|
|
|
- <span v-if="!row.isReExpanded" v-html="(row.OBSERVATIONS_RESULT.slice(0, 40) + '...')"></span>
|
|
|
+ <span v-if="!row.isReExpanded" v-html="(row.OBSERVATIONS_RESULT && row.OBSERVATIONS_RESULT.slice(0, 40) + '...')"></span>
|
|
|
<span v-else v-html="row.OBSERVATIONS_RESULT"></span>
|
|
|
- <el-button v-if="!row.isReExpanded" type="text" @click="showFullContent(row, 'result')">更多</el-button>
|
|
|
+ <el-button v-if="!row.isReExpanded && row.OBSERVATIONS_RESULT" type="text" @click="showFullContent(row, 'result')">更多</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="HR_RANGE" label="互认范围" width="80" align="center" />
|
|
@@ -127,11 +128,21 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="检查报告/影像图片" min-width="120" align="center">
|
|
|
- <template #default="scope">
|
|
|
+ <!-- <template #default="scope">
|
|
|
<el-button link type="primary" size="small" @click="handleReportView(scope.row)">
|
|
|
报告查看
|
|
|
</el-button>
|
|
|
<el-button link type="primary" size="small" @click="goImageView">影像查看</el-button>
|
|
|
+ </template> -->
|
|
|
+
|
|
|
+ <template #default="scope">
|
|
|
+ <el-button v-if="scope.row.REPORT" link type="primary" size="small" @click="handleReportView(scope.row)">
|
|
|
+ 报告查看
|
|
|
+ </el-button>
|
|
|
+ <el-button v-else link disabled size="small">暂无报告附件</el-button>
|
|
|
+
|
|
|
+ <el-button v-if="scope.row.STUDY_ID" link type="primary" size="small" @click="goImageView(scope.row)">影像查看</el-button>
|
|
|
+ <el-button v-else link disabled size="small">暂无影像关联</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
@@ -160,6 +171,7 @@ import { useI18n } from 'vue-i18n'
|
|
|
import { timeFormat } from '/@/utils/common'
|
|
|
import { getHrResultLabel } from '/@/utils/hrResult'
|
|
|
import examReport from '/@/assets/examreport.png'
|
|
|
+import { config } from '/@/utils/config'
|
|
|
const { t } = useI18n()
|
|
|
const dialogVisible:any = inject('dialogVisible')
|
|
|
defineOptions({
|
|
@@ -181,19 +193,27 @@ const props = withDefaults(defineProps<Props>(), {
|
|
|
activeIndex: 0
|
|
|
})
|
|
|
const handleReportView = (row: any) => {
|
|
|
- if(row && row == 'INSPECT') {
|
|
|
- // fetchGetAttachment(localData.tableData.REPORT)
|
|
|
- dialogVisible(localData.tableData.REPORT)
|
|
|
- }else {
|
|
|
- dialogVisible(row.REPORT)
|
|
|
- }
|
|
|
+ // if(row && row == 'INSPECT') {
|
|
|
+ // dialogVisible(localData.tableData.REPORT)
|
|
|
+ // }else {
|
|
|
+ // dialogVisible(row.REPORT)
|
|
|
+ // }
|
|
|
+ fetchGetAttachment(row.REPORT)
|
|
|
}
|
|
|
const fetchGetAttachment = (Report: string) => {
|
|
|
|
|
|
dialogVisible(Report)
|
|
|
}
|
|
|
-const goImageView = () => {
|
|
|
- window.open('http://aipacsview.pacsonline.cn/#/pc?studyurl=https%3A%2F%2Fquery.pacsonline.cn%2Fquery%2F%3Faddress%3D&study_id=600162858d43dfc92c107759ecdb030b&node_type=1&node_type=1&version=V4.0.0.0')
|
|
|
+const goImageView = (row: TableRow) => {
|
|
|
+ // window.open('http://aipacsview.pacsonline.cn/#/pc?studyurl=https%3A%2F%2Fquery.pacsonline.cn%2Fquery%2F%3Faddress%3D&study_id=600162858d43dfc92c107759ecdb030b&node_type=1&node_type=1&version=V4.0.0.0')
|
|
|
+ window.open( config.pacsview_url + row.STUDY_ID +'&node_type=&node_type=1&version=V1.2.0.0')
|
|
|
+}
|
|
|
+const switchType = (code: string) => {
|
|
|
+ if(code && code !== '11'){
|
|
|
+ return '1'
|
|
|
+ }else if(code && code === '11') {
|
|
|
+ return '2'
|
|
|
+ }
|
|
|
}
|
|
|
const checkData = () => { //检验细项 是否展示互认结果列 (大项不存在互认项目编码)
|
|
|
const hasCode = props.tableData.INSPECT_REPORT_ITEMS.some((item: any) => !props.tableData.LAB_HR_ITEMNAME_CODE && item.LAB_HR_ITEMDETAILNAME_CODE);
|
|
@@ -220,8 +240,9 @@ const localData = reactive<{
|
|
|
}>({
|
|
|
tableData: props.tableData,
|
|
|
});
|
|
|
+console.log(localData, '======')
|
|
|
const formatTableData = () => {
|
|
|
- if((localData.tableData.LAB_ITEMNAME_TYPE_CODE == '2' || localData.tableData.LAB_ITEMNAME_TYPE_CODE == '1') && localData.tableData && props.hrrecords && !checkData()){ //检验-微生物 或 检验-大项有互认项目编码
|
|
|
+ if((switchType(localData.tableData.LAB_ITEMNAME_TYPE_CODE) == '2' || switchType(localData.tableData.LAB_ITEMNAME_TYPE_CODE) == '1') && localData.tableData && props.hrrecords && !checkData()){ //检验-微生物 或 检验-大项有互认项目编码
|
|
|
const findMatchingItem = props.hrrecords.find((it: { ITEMNAMECODE: string; }) => it.ITEMNAMECODE === localData.tableData.LAB_HR_ITEMNAME_CODE);
|
|
|
localData.tableData = {
|
|
|
...localData.tableData,
|
|
@@ -229,7 +250,7 @@ const formatTableData = () => {
|
|
|
BHR_REASON: findMatchingItem?(findMatchingItem.BHR_REASON ? findMatchingItem.BHR_REASON: getHrResultLabel(findMatchingItem?.HR_STATUS)): getHrResultLabel(findMatchingItem?.HR_STATUS),
|
|
|
cascaderValue: findMatchingItem?(findMatchingItem.BHR_CODE ? [findMatchingItem.HR_STATUS,findMatchingItem.BHR_CODE]:[findMatchingItem.HR_STATUS]):['0']
|
|
|
}
|
|
|
- }else if(localData.tableData && localData.tableData.LAB_ITEMNAME_TYPE_CODE == '1' && props.hrrecords){ // 检验
|
|
|
+ }else if(localData.tableData && switchType(localData.tableData.LAB_ITEMNAME_TYPE_CODE) == '1' && props.hrrecords){ // 检验
|
|
|
const INSPECTREPORTITEMS = localData.tableData.INSPECT_REPORT_ITEMS.map((item: any) => {
|
|
|
const findMatchingItem = props.hrrecords.find((it: { ITEMNAMECODE: string; }) => it.ITEMNAMECODE === item.LAB_ITEMDETAILNAME_CODE);
|
|
|
return {
|