|
@@ -1,30 +1,25 @@
|
|
|
<template>
|
|
|
- <div style="height: 5px"/>
|
|
|
- <div class="main">
|
|
|
- <div class="side-class">
|
|
|
- <el-auto-resizer>
|
|
|
- <template #default="{ height }">
|
|
|
- <div v-title="'查询指定住院次数住院的检查信息,默认为当前打开的病历次数,可修改为其他次数,修改后请点击查询。<br />' +
|
|
|
- '<span style=\'background-color:red\'>目前无法查看图片检查结果,如果有了,会做上来。</span>'">
|
|
|
- 住院次数:
|
|
|
- <el-input-number v-model="admissTimes" :min="1" :max="props.times"/>
|
|
|
- <el-button @click="query">查询</el-button>
|
|
|
+
|
|
|
+ <CyFlex tab-position="vertical">
|
|
|
+ <template #header>
|
|
|
+ <CyFlex>
|
|
|
+ <template #header>
|
|
|
+ <div style="padding: 5px ">
|
|
|
+ <ElInputNumber
|
|
|
+ @change="querySearch"
|
|
|
+ v-model="admissTimes"/>
|
|
|
+ <el-divider direction="vertical"/>
|
|
|
<el-button type="primary" @click="openPatientImage(patNo)">
|
|
|
影像
|
|
|
</el-button>
|
|
|
</div>
|
|
|
- <vxe-table :data="sideData"
|
|
|
- :height="height"
|
|
|
- class="vxe-padding_zero"
|
|
|
- show-overflow
|
|
|
- :row-config="{isHover : true, isCurrent: true,height: 24}"
|
|
|
- @cell-click="sideRow">
|
|
|
- <vxe-column title="日期" field="startTime" width="135"/>
|
|
|
- <vxe-column title="名称" field="orderName"/>
|
|
|
- </vxe-table>
|
|
|
</template>
|
|
|
- </el-auto-resizer>
|
|
|
- </div>
|
|
|
+ <CyVxeTable>
|
|
|
+ <vxe-column title="日期" field="checkTime" width="135"/>
|
|
|
+ <vxe-column title="名称" field="orderName" width="220"/>
|
|
|
+ </CyVxeTable>
|
|
|
+ </CyFlex>
|
|
|
+ </template>
|
|
|
|
|
|
<div class="main-class">
|
|
|
<el-form>
|
|
@@ -32,49 +27,50 @@
|
|
|
{{ rowData.orderName }}
|
|
|
</el-form-item>
|
|
|
<el-form-item label="检查所见:">
|
|
|
- <el-input type="textarea" rows="5" readonly v-model="record.checkWhatYouSee"/>
|
|
|
+ <el-input type="textarea" rows="15" readonly v-model="rowData.examinationSee"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="诊断意见:">
|
|
|
- <el-input type="textarea" rows="5" readonly v-model="record.diagnosticOpinion"/>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="">
|
|
|
- <el-button type="primary"
|
|
|
- @click="copyClick">
|
|
|
- 复制
|
|
|
- </el-button>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="">
|
|
|
- <el-button type="primary"
|
|
|
- @click="copyAndPasteClick">
|
|
|
- 复制并粘贴
|
|
|
- </el-button>
|
|
|
- 点击后,上方文本框,并直接粘贴到病历光标处,请注意光标所在位置,如果不知道光标位置,请用复制,粘贴错了可以使用【撤销】后在鼠标右键粘贴。
|
|
|
+ <el-input type="textarea" rows="5" readonly v-model="rowData.examinationreSult"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="报告医生:">
|
|
|
- {{ record?.reportName }}
|
|
|
+ {{ rowData?.doctorName }}
|
|
|
</el-form-item>
|
|
|
<el-form-item label="报告时间:">
|
|
|
- {{ record?.reportDate }}
|
|
|
+ {{ rowData?.reportTime }}
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="审核医生:">
|
|
|
- {{ record?.confirmName }}
|
|
|
+ <el-form-item label="检查医生:">
|
|
|
+ {{ rowData?.checkDoctorName }}
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="审核时间:">
|
|
|
- {{ record?.confirmDate }}
|
|
|
+ <el-form-item label="检查时间:">
|
|
|
+ {{ rowData?.checkTime }}
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="">
|
|
|
+ <div style="text-align: right;width: 100%">
|
|
|
+ <el-button type="primary"
|
|
|
+ @click="copyClick">
|
|
|
+ 复制
|
|
|
+ </el-button>
|
|
|
+ <el-button type="warning"
|
|
|
+ @click="copyAndPasteClick">
|
|
|
+ 复制并粘贴
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</div>
|
|
|
- </div>
|
|
|
+ </CyFlex>
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
-import {getExamine} from "@/api/zhu-yuan-yi-sheng/emr-patient";
|
|
|
-import {onMounted, ref} from "vue";
|
|
|
-import {queryCheckTextResults} from '@/api/zhu-yuan-yi-sheng/jian-yan-jian-cha-shen-qing'
|
|
|
+import {ref} from "vue";
|
|
|
import {
|
|
|
copyAsDataSource,
|
|
|
emrMitt
|
|
|
} from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/emr-init";
|
|
|
+import CyFlex from "@/components/cy/flex/src/CyFlex.vue";
|
|
|
+import useVxeTable from "@/utils/cy-use/useVxeTable";
|
|
|
+import {magicApi} from "@/utils/database/magic-api-request";
|
|
|
+import {ElInputNumber} from "element-plus";
|
|
|
import {openPatientImage} from "@/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng";
|
|
|
|
|
|
const props = defineProps({
|
|
@@ -82,50 +78,51 @@ const props = defineProps({
|
|
|
times: Number
|
|
|
})
|
|
|
|
|
|
-const sideData = ref([])
|
|
|
-
|
|
|
const emits = defineEmits(['close'])
|
|
|
|
|
|
-const record = ref<{
|
|
|
- checkWhatYouSee?: string,
|
|
|
- diagnosticOpinion?: string,
|
|
|
- diagnosticOpinionTemp?: string
|
|
|
- reportName?: string
|
|
|
- reportDate?: string
|
|
|
- confirmName?: string
|
|
|
- confirmDate?: string
|
|
|
-}>({
|
|
|
- checkWhatYouSee: '',
|
|
|
- diagnosticOpinion: '',
|
|
|
- diagnosticOpinionTemp: '',
|
|
|
+type JcType = {
|
|
|
+ orderName: string,
|
|
|
+ examinationSee: string,
|
|
|
+ examinationreSult: string,
|
|
|
+ checkTime: string,
|
|
|
+ reportTime: string,
|
|
|
+ doctorCode: string,
|
|
|
+ doctorName: string,
|
|
|
+ checkDoctorCode: string,
|
|
|
+ checkDoctorName: string
|
|
|
+ patientUid: string
|
|
|
+ orderType: string
|
|
|
+}
|
|
|
+
|
|
|
+const rowData = ref<JcType>({
|
|
|
+ checkDoctorCode: "",
|
|
|
+ checkDoctorName: "",
|
|
|
+ checkTime: "",
|
|
|
+ doctorCode: "",
|
|
|
+ doctorName: "",
|
|
|
+ examinationSee: "",
|
|
|
+ examinationreSult: "",
|
|
|
+ orderName: "",
|
|
|
+ orderType: "",
|
|
|
+ patientUid: "",
|
|
|
+ reportTime: ""
|
|
|
})
|
|
|
|
|
|
-const rowData = ref<{
|
|
|
- orderName?: string,
|
|
|
- reqNo?: string,
|
|
|
- actOrderNo?: string,
|
|
|
- startTime?: string,
|
|
|
- inpatientNo?: string,
|
|
|
- admissTimes?: string,
|
|
|
- receiveFlag?: string,
|
|
|
- orderType?: string
|
|
|
-}>({
|
|
|
- orderName: ''
|
|
|
+const admissTimes = ref<number>(props.times ?? 0)
|
|
|
+
|
|
|
+const {CyVxeTable, tableProps, querySearch} = useVxeTable<JcType>({
|
|
|
+ keyField: 'patientUid',
|
|
|
+ mountedQuery: true,
|
|
|
+ remoteSearch: () => magicApi({
|
|
|
+ method: 'get',
|
|
|
+ url: '/intergration/jyjc/checkTheCallbacks',
|
|
|
+ params: {patNo: props.patNo, times: admissTimes.value}
|
|
|
+ }),
|
|
|
+ tableProps: {
|
|
|
+ onCellClick: ({row}) => rowData.value = row
|
|
|
+ }
|
|
|
})
|
|
|
|
|
|
-const sideRow = ({row}) => {
|
|
|
- rowData.value = row
|
|
|
- queryCheckTextResults(row.inpatientNo, row.reqNo).then((res) => {
|
|
|
- record.value = res['record']
|
|
|
- record.value.diagnosticOpinionTemp = record.value.diagnosticOpinion
|
|
|
- }).catch(() => {
|
|
|
- record.value = {
|
|
|
- checkWhatYouSee: '',
|
|
|
- diagnosticOpinion: '',
|
|
|
- diagnosticOpinionTemp: '',
|
|
|
- }
|
|
|
- })
|
|
|
-}
|
|
|
|
|
|
const orderType = {
|
|
|
'type_08': 'CT检查结果',
|
|
@@ -135,12 +132,13 @@ const orderType = {
|
|
|
function assemblyData() {
|
|
|
let data: {}
|
|
|
const key = 'type_' + rowData.value.orderType
|
|
|
+ console.log(rowData.value)
|
|
|
if (orderType[key]) {
|
|
|
- data = copyAsDataSource(record.value.diagnosticOpinionTemp, orderType[key])
|
|
|
+ data = copyAsDataSource(rowData.value.examinationSee, orderType[key])
|
|
|
} else {
|
|
|
data = {
|
|
|
type: 'text',
|
|
|
- data: record.value.diagnosticOpinionTemp
|
|
|
+ data: rowData.value.examinationSee
|
|
|
}
|
|
|
}
|
|
|
return data
|
|
@@ -166,18 +164,6 @@ function copyAndPasteClick() {
|
|
|
}
|
|
|
|
|
|
|
|
|
-const admissTimes = ref<number>(props.times)
|
|
|
-
|
|
|
-const query = () => {
|
|
|
- getExamine(props.patNo, admissTimes.value).then(res => {
|
|
|
- sideData.value = res as any
|
|
|
- })
|
|
|
-}
|
|
|
-
|
|
|
-onMounted(() => {
|
|
|
- query()
|
|
|
-})
|
|
|
-
|
|
|
</script>
|
|
|
|
|
|
<style scoped lang="scss">
|