|
@@ -1,40 +1,63 @@
|
|
|
<template>
|
|
|
- <div style="height: 5%"/>
|
|
|
- <div style="height: 95%">
|
|
|
+ <div style="height: 10%;font-size: 12px;display: flex">
|
|
|
+ <el-button @click="copyClick">复制</el-button>
|
|
|
+ <div style="width: 90%;color: blue;border: 1px solid #000;border-radius: 5px;padding: 0 5px">
|
|
|
+ {{ otherInfo }}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style="height: 90%">
|
|
|
<el-auto-resizer>
|
|
|
<template #default="{ height, width }">
|
|
|
<xc-table-v3 :height="height"
|
|
|
:columns="columns"
|
|
|
- :data="list"/>
|
|
|
+ @row-click="rowClick"
|
|
|
+ :highlight-row="{key,rowKey: 'tempDate'}"
|
|
|
+ :data="listRef"/>
|
|
|
</template>
|
|
|
</el-auto-resizer>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script setup name='EmrYzTemperature' lang="tsx">
|
|
|
-import {Ref, ref, h, onMounted} from "vue";
|
|
|
+import {Ref, ref, onMounted} from "vue";
|
|
|
import {getYzTemperature} from "@/api/zhu-yuan-yi-sheng/emr-patient";
|
|
|
import XcTableV3 from "@/components/xiao-chan/xc-table-v3/XcTableV3.vue";
|
|
|
import {XcColumn} from "@/components/xiao-chan/xc-table-v3/XcColumn";
|
|
|
import {patInfo} from './emr-tools-store'
|
|
|
-import {stringIsBlank} from '@/utils/blank-utils'
|
|
|
+import {emrClipBoardData} from '@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/emr-init'
|
|
|
|
|
|
const columns: XcColumn[] = [
|
|
|
{
|
|
|
key: 'recDateStr',
|
|
|
title: '日期',
|
|
|
width: 80,
|
|
|
- cellRenderer: ({cellData}) => (
|
|
|
- <span>{cellData}</span>
|
|
|
- )
|
|
|
+ cellRenderer: ({row, cellData, index}) => {
|
|
|
+ let temp = listRef.value[index - 1]
|
|
|
+ if (temp === null || typeof temp === 'undefined') {
|
|
|
+ return <span>{cellData}</span>
|
|
|
+ }
|
|
|
+ if (row.tempDate === temp.tempDate) {
|
|
|
+ return <span></span>
|
|
|
+ } else {
|
|
|
+ return <span>{cellData}</span>
|
|
|
+ }
|
|
|
+ }
|
|
|
},
|
|
|
{
|
|
|
key: 'recTimeStr',
|
|
|
title: '时间',
|
|
|
width: 40,
|
|
|
- cellRenderer: ({cellData}) => (
|
|
|
- <span>{cellData}</span>
|
|
|
- )
|
|
|
+ cellRenderer: ({row, cellData, index}) => {
|
|
|
+ let temp = listRef.value[index - 1]
|
|
|
+ if (temp === null || typeof temp === 'undefined') {
|
|
|
+ return <span>{cellData}</span>
|
|
|
+ }
|
|
|
+ if (row.tempDate === temp.tempDate) {
|
|
|
+ return <span></span>
|
|
|
+ } else {
|
|
|
+ return <span>{cellData}</span>
|
|
|
+ }
|
|
|
+ }
|
|
|
},
|
|
|
{
|
|
|
key: 'patientState',
|
|
@@ -111,6 +134,7 @@ const columns: XcColumn[] = [
|
|
|
width: 30,
|
|
|
key: 'col1Am'
|
|
|
},
|
|
|
+ // todo 颜色 状态 不知道
|
|
|
{
|
|
|
title: '颜色',
|
|
|
width: 40
|
|
@@ -128,52 +152,65 @@ const columns: XcColumn[] = [
|
|
|
width: 40
|
|
|
},
|
|
|
{
|
|
|
- key: 'userid',
|
|
|
- title: '护士签名',
|
|
|
- width: 90
|
|
|
- },
|
|
|
- {
|
|
|
- title: '血压 ',
|
|
|
- width: 90,
|
|
|
+ title: '管道',
|
|
|
children: [
|
|
|
- {title: 'AM', key: 'pressure1Am'},
|
|
|
- {title: 'PM', key: 'pressure1Pm'}
|
|
|
+ {
|
|
|
+ key: 'tubesName',
|
|
|
+ title: '管道名称',
|
|
|
+ width: 90
|
|
|
+ },
|
|
|
+ {
|
|
|
+ key: 'tubesStatus',
|
|
|
+ title: '管道情况',
|
|
|
+ width: 90
|
|
|
+ },
|
|
|
]
|
|
|
},
|
|
|
- {
|
|
|
- key: 'tubesName',
|
|
|
- title: '管道名称',
|
|
|
- width: 90
|
|
|
- },
|
|
|
- {
|
|
|
- key: 'tubesStatus',
|
|
|
- title: '管道情况',
|
|
|
- width: 90
|
|
|
- },
|
|
|
{
|
|
|
key: 'otherInfo',
|
|
|
title: '护理措施及效果',
|
|
|
width: 240,
|
|
|
},
|
|
|
+ {
|
|
|
+ key: 'userid',
|
|
|
+ title: '护士',
|
|
|
+ width: 70,
|
|
|
+ cellRenderer: ({row, cellData, index}) => {
|
|
|
+ let temp = listRef.value[index + 1]
|
|
|
+ if (temp === null || typeof temp === 'undefined') {
|
|
|
+ return <span>{cellData}</span>
|
|
|
+ }
|
|
|
+ if (row.tempDate === temp.tempDate) {
|
|
|
+ return <span></span>
|
|
|
+ } else {
|
|
|
+ return <span>{cellData}</span>
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
];
|
|
|
|
|
|
const drawer: Ref<boolean> = ref(false)
|
|
|
-const list: Ref<Array<any>> = ref([])
|
|
|
+const listRef: Ref = ref([])
|
|
|
+const mapRef: Ref = ref({})
|
|
|
+const key: Ref<string> = ref('')
|
|
|
+const otherInfo: Ref<string> = ref('')
|
|
|
|
|
|
-const nullToEmpty = (val) => {
|
|
|
- if (stringIsBlank(val)) {
|
|
|
- return ''
|
|
|
- } else {
|
|
|
- return val
|
|
|
- }
|
|
|
+const rowClick = (val) => {
|
|
|
+ key.value = val.tempDate
|
|
|
+ otherInfo.value = mapRef.value[key.value]?.otherInfo
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
const query = () => {
|
|
|
- getYzTemperature(patInfo.value.inpatientNo, patInfo.value.admissTimes).then(res => {
|
|
|
- drawer.value = true
|
|
|
- list.value = res as any
|
|
|
- })
|
|
|
+ getYzTemperature(patInfo.value.inpatientNo, patInfo.value.admissTimes)
|
|
|
+ .then((res) => {
|
|
|
+ let {list, map} = res
|
|
|
+ drawer.value = true
|
|
|
+ listRef.value = list
|
|
|
+ mapRef.value = map
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+const copyClick = () => {
|
|
|
+ emrClipBoardData(otherInfo.value)
|
|
|
}
|
|
|
|
|
|
onMounted(() => {
|