|
@@ -1,69 +1,69 @@
|
|
|
<template>
|
|
|
- <page-layer>
|
|
|
- <template #header>
|
|
|
- <el-date-picker v-model="dateRange"
|
|
|
- :shortcuts="shortcuts"
|
|
|
- style="width: 220px"
|
|
|
- end-placeholder="结束日期"
|
|
|
- range-separator="至"
|
|
|
- start-placeholder="开始日期"
|
|
|
- type="daterange"/>
|
|
|
- <el-checkbox v-model="history" label="历史" @change="historyFunc"/>
|
|
|
- <el-button icon="Search" type="primary" @click="getHuiZhenDataClick">检索</el-button>
|
|
|
- <el-button icon="Upload" type="primary" @click="baoCunHuiZhenClick" v-if="!history">保存</el-button>
|
|
|
- <el-button icon="Printer" type="success" @click="daYingClick">打印</el-button>
|
|
|
- <el-button type="primary" @click="enterMedicalOrder" v-if="!history">医嘱录入</el-button>
|
|
|
- <consultation-notes @padding-data="daYingHuiZhenRef?.populateTheComments"/>
|
|
|
- <el-tag type="danger">会诊意见限制 1100 个字</el-tag>
|
|
|
- </template>
|
|
|
- <template #main>
|
|
|
- <pat-infomation-dialog
|
|
|
- v-if="dialog"
|
|
|
- @closed="dialog = false"
|
|
|
- :pat-no="rowData.inpatientNo"
|
|
|
- :admiss-date="rowData.admissDate"
|
|
|
- :times="rowData.admissTimes"
|
|
|
- :leave-hospital="1"
|
|
|
- :dics="dics"/>
|
|
|
- <el-container>
|
|
|
- <el-aside width="500px">
|
|
|
- <xc-table :local-data="huanZeData" :final-height="windowSize.h / 1.1" @row-click="dianJiDanYuanGe">
|
|
|
- <el-table-column label="床号" prop="bedNo" width="40px"></el-table-column>
|
|
|
- <el-table-column label="住院号_次数" prop="inpatientNo">
|
|
|
- <template #default="scope"> {{ scope.row.inpatientNo }}_{{
|
|
|
- scope.row.admissTimes
|
|
|
- }}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="姓名_申请次数" prop="name">
|
|
|
- <template #default="scope"> {{ scope.row.name }}_{{ scope.row.reqTimes }}</template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="患者科室" prop="deptCodeName">
|
|
|
- <template #default="scope">
|
|
|
- {{ scope.row.deptCodeName }}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="会诊科室" prop="reqDept1Name"></el-table-column>
|
|
|
- <el-table-column label="会诊级别" prop="hzType">
|
|
|
- <template #default="scope">
|
|
|
- {{ hzJiBie(scope.row.hzType) }}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column fixed="left" label="信息">
|
|
|
- <template #default="{row}">
|
|
|
- <el-button @click.stop="information(row)">信息</el-button>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </xc-table>
|
|
|
- </el-aside>
|
|
|
- <el-main>
|
|
|
- <div style="overflow: auto;" :style="{height: windowSize.h - 30 + 'px'}">
|
|
|
- <print-the-consultation-form ref="daYingHuiZhenRef"/>
|
|
|
- </div>
|
|
|
- </el-main>
|
|
|
- </el-container>
|
|
|
- </template>
|
|
|
- </page-layer>
|
|
|
+ <page-layer>
|
|
|
+ <template #header>
|
|
|
+ <el-date-picker v-model="dateRange"
|
|
|
+ :shortcuts="shortcuts"
|
|
|
+ style="width: 220px"
|
|
|
+ end-placeholder="结束日期"
|
|
|
+ range-separator="至"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ type="daterange"/>
|
|
|
+ <el-checkbox v-model="history" label="历史" @change="historyFunc"/>
|
|
|
+ <el-button icon="Search" type="primary" @click="getHuiZhenDataClick">检索</el-button>
|
|
|
+ <el-button icon="Upload" type="primary" @click="baoCunHuiZhenClick" v-if="!history">保存</el-button>
|
|
|
+ <el-button icon="Printer" type="success" @click="daYingClick">打印</el-button>
|
|
|
+ <el-button type="primary" @click="enterMedicalOrder" v-if="!history">医嘱录入</el-button>
|
|
|
+ <consultation-notes @padding-data="daYingHuiZhenRef?.populateTheComments"/>
|
|
|
+ <el-tag type="danger">会诊意见限制 1100 个字</el-tag>
|
|
|
+ </template>
|
|
|
+ <template #main>
|
|
|
+ <pat-infomation-dialog
|
|
|
+ v-if="dialog"
|
|
|
+ @closed="dialog = false"
|
|
|
+ :pat-no="rowData.inpatientNo"
|
|
|
+ :admiss-date="rowData.admissDate"
|
|
|
+ :times="rowData.admissTimes"
|
|
|
+ :leave-hospital="1"
|
|
|
+ :dics="dics"/>
|
|
|
+ <el-container>
|
|
|
+ <el-aside width="500px">
|
|
|
+ <xc-table :local-data="huanZeData" :final-height="windowSize.h / 1.1" @row-click="dianJiDanYuanGe">
|
|
|
+ <el-table-column label="床号" prop="bedNo" width="40px"></el-table-column>
|
|
|
+ <el-table-column label="住院号_次数" prop="inpatientNo">
|
|
|
+ <template #default="scope"> {{ scope.row.inpatientNo }}_{{
|
|
|
+ scope.row.admissTimes
|
|
|
+ }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="姓名_申请次数" prop="name">
|
|
|
+ <template #default="scope"> {{ scope.row.name }}_{{ scope.row.reqTimes }}</template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="患者科室" prop="deptCodeName">
|
|
|
+ <template #default="scope">
|
|
|
+ {{ scope.row.deptCodeName }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="会诊科室" prop="reqDept1Name"></el-table-column>
|
|
|
+ <el-table-column label="会诊级别" prop="hzType">
|
|
|
+ <template #default="scope">
|
|
|
+ {{ hzJiBie(scope.row.hzType) }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column fixed="left" label="信息">
|
|
|
+ <template #default="{row}">
|
|
|
+ <el-button @click.stop="information(row)">信息</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </xc-table>
|
|
|
+ </el-aside>
|
|
|
+ <el-main>
|
|
|
+ <div style="overflow: auto;" :style="{height: windowSize.h - 30 + 'px'}">
|
|
|
+ <print-the-consultation-form ref="daYingHuiZhenRef" :lai-yuan="history ? 2: 1"/>
|
|
|
+ </div>
|
|
|
+ </el-main>
|
|
|
+ </el-container>
|
|
|
+ </template>
|
|
|
+ </page-layer>
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
@@ -88,7 +88,7 @@ import ConsultationNotes from "@/views/hospitalization/case-front-sheet/componen
|
|
|
////////////////////////////// 获取屏幕高度 /////////////////////////////////////////
|
|
|
|
|
|
const windowSize = computed(() => {
|
|
|
- return store.state.app.windowSize
|
|
|
+ return store.state.app.windowSize
|
|
|
})
|
|
|
|
|
|
const daYingHuiZhenRef = ref(null)
|
|
@@ -100,26 +100,26 @@ const huanZeData = ref([])
|
|
|
const history = ref(false)
|
|
|
|
|
|
const getHuiZhenDataClick = () => {
|
|
|
- let {startTime, endTime} = getDateRangeFormatDate(dateRange.value)
|
|
|
- getHuiZhenData(startTime, endTime, history.value).then((res) => {
|
|
|
- huanZeData.value = res
|
|
|
- })
|
|
|
+ let {startTime, endTime} = getDateRangeFormatDate(dateRange.value)
|
|
|
+ getHuiZhenData(startTime, endTime, history.value).then((res) => {
|
|
|
+ huanZeData.value = res
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
const historyFunc = () => {
|
|
|
- huanZeData.value = []
|
|
|
- huanZheXinXi.value = {}
|
|
|
- daYingHuiZhenRef.value.huiZhenXinXiXiangQing({})
|
|
|
+ huanZeData.value = []
|
|
|
+ huanZheXinXi.value = {}
|
|
|
+ daYingHuiZhenRef.value.huiZhenXinXiXiangQing({})
|
|
|
}
|
|
|
|
|
|
//////////////////////////////////////////// 点击右边的表格 ///////////////////////////////////////////////////////////
|
|
|
const huanZheXinXi = ref({})
|
|
|
|
|
|
const dianJiDanYuanGe = (val) => {
|
|
|
- getHuanZheXinXi(val.admissTimes, val.reqTimes, val.inpatientNo).then((res) => {
|
|
|
- huanZheXinXi.value = res
|
|
|
- daYingHuiZhenRef.value.huiZhenXinXiXiangQing(res)
|
|
|
- })
|
|
|
+ getHuanZheXinXi(val.admissTimes, val.reqTimes, val.inpatientNo).then((res) => {
|
|
|
+ huanZheXinXi.value = res
|
|
|
+ daYingHuiZhenRef.value.huiZhenXinXiXiangQing(res)
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -127,81 +127,81 @@ const dianJiDanYuanGe = (val) => {
|
|
|
* 要判断 一下 是仅保存 还是 完成会诊
|
|
|
*/
|
|
|
const baoCunHuiZhenClick = () => {
|
|
|
- if (!huanZheXinXi.value.name) {
|
|
|
- ElMessage({
|
|
|
- message: '请先选择患者',
|
|
|
- showClose: true,
|
|
|
- type: 'error',
|
|
|
- })
|
|
|
- return
|
|
|
- }
|
|
|
- if (stringIsBlank(huanZheXinXi.value.hzComment)) {
|
|
|
- return ElMessage({
|
|
|
- message: '请填写会诊意见',
|
|
|
- showClose: true,
|
|
|
- type: 'error',
|
|
|
- })
|
|
|
- }
|
|
|
- ElMessageBox.confirm('是否保存【' + huanZheXinXi.value.name + '】的会诊信息', '提示', {
|
|
|
- type: 'warning',
|
|
|
- distinguishCancelAndClose: true,
|
|
|
- cancelButtonText: '仅保存',
|
|
|
- confirmButtonText: '完成会诊',
|
|
|
+ if (!huanZheXinXi.value.name) {
|
|
|
+ ElMessage({
|
|
|
+ message: '请先选择患者',
|
|
|
+ showClose: true,
|
|
|
+ type: 'error',
|
|
|
})
|
|
|
- .then(async () => {
|
|
|
- huanZheXinXi.value.statusFlag = 2
|
|
|
- // 完成 会诊 发送 axios
|
|
|
- await wanChenHuiZhen(huanZheXinXi.value)
|
|
|
- await getHuiZhenDataClick()
|
|
|
- huanZheXinXi.value = {}
|
|
|
- daYingHuiZhenRef.value.huanZheXinXi.value = {}
|
|
|
- })
|
|
|
- .catch((e) => {
|
|
|
- if (e === 'cancel') {
|
|
|
- huanZheXinXi.value.statusFlag = 1
|
|
|
- wanChenHuiZhen(huanZheXinXi.value)
|
|
|
- }
|
|
|
- })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if (stringIsBlank(huanZheXinXi.value.hzComment)) {
|
|
|
+ return ElMessage({
|
|
|
+ message: '请填写会诊意见',
|
|
|
+ showClose: true,
|
|
|
+ type: 'error',
|
|
|
+ })
|
|
|
+ }
|
|
|
+ ElMessageBox.confirm('是否保存【' + huanZheXinXi.value.name + '】的会诊信息', '提示', {
|
|
|
+ type: 'warning',
|
|
|
+ distinguishCancelAndClose: true,
|
|
|
+ cancelButtonText: '仅保存',
|
|
|
+ confirmButtonText: '完成会诊',
|
|
|
+ })
|
|
|
+ .then(async () => {
|
|
|
+ huanZheXinXi.value.statusFlag = 2
|
|
|
+ // 完成 会诊 发送 axios
|
|
|
+ await wanChenHuiZhen(huanZheXinXi.value)
|
|
|
+ await getHuiZhenDataClick()
|
|
|
+ huanZheXinXi.value = {}
|
|
|
+ daYingHuiZhenRef.value.huanZheXinXi.value = {}
|
|
|
+ })
|
|
|
+ .catch((e) => {
|
|
|
+ if (e === 'cancel') {
|
|
|
+ huanZheXinXi.value.statusFlag = 1
|
|
|
+ wanChenHuiZhen(huanZheXinXi.value)
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
///////////////////////////////////////////////////////// 开启打印 ///////////////////////////////////////////////////////////////////////////////
|
|
|
const daYingClick = () => {
|
|
|
- if (!huanZheXinXi.value.inpatientNo) {
|
|
|
- ElMessage.error({
|
|
|
- message: '请先选择患者',
|
|
|
- showClose: true,
|
|
|
- })
|
|
|
- return
|
|
|
- }
|
|
|
- daYingHuiZhenRef.value.printClick()
|
|
|
+ if (!huanZheXinXi.value.inpatientNo) {
|
|
|
+ ElMessage.error({
|
|
|
+ message: '请先选择患者',
|
|
|
+ showClose: true,
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ daYingHuiZhenRef.value.printClick()
|
|
|
}
|
|
|
|
|
|
// 跳转到医嘱录入页面
|
|
|
const enterMedicalOrder = () => {
|
|
|
- if (!huanZheXinXi.value.inpatientNo) {
|
|
|
- return ElMessage({
|
|
|
- message: '请先选择患者',
|
|
|
- showClose: true,
|
|
|
- type: 'error',
|
|
|
- })
|
|
|
- } else {
|
|
|
- router.push({
|
|
|
- name: 'yiZhuLuRu',
|
|
|
- params: {
|
|
|
- inpatientNo: huanZheXinXi.value.inpatientNo,
|
|
|
- admissTimes: huanZheXinXi.value.admissTimes,
|
|
|
- consultation: true
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
+ if (!huanZheXinXi.value.inpatientNo) {
|
|
|
+ return ElMessage({
|
|
|
+ message: '请先选择患者',
|
|
|
+ showClose: true,
|
|
|
+ type: 'error',
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ router.push({
|
|
|
+ name: 'yiZhuLuRu',
|
|
|
+ params: {
|
|
|
+ inpatientNo: huanZheXinXi.value.inpatientNo,
|
|
|
+ admissTimes: huanZheXinXi.value.admissTimes,
|
|
|
+ consultation: true
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
const rowData = ref({})
|
|
|
const dialog = ref(false)
|
|
|
const dics = ref({})
|
|
|
const information = (row) => {
|
|
|
- rowData.value = row
|
|
|
- dialog.value = true
|
|
|
+ rowData.value = row
|
|
|
+ dialog.value = true
|
|
|
}
|
|
|
|
|
|
|
|
@@ -210,28 +210,28 @@ const paddingData = (val) => {
|
|
|
}
|
|
|
|
|
|
onMounted(() => {
|
|
|
- dateRange.value[0] = shortcuts[0].value[0]
|
|
|
- dateRange.value[1] = shortcuts[0].value[1]
|
|
|
- getHuiZhenDataClick()
|
|
|
- getAllDictionary().then(res => {
|
|
|
- res.getOperations = operations;
|
|
|
- res.getYesOrNo = yesOrNo;
|
|
|
- res.getHaveOrNot = haveOrNot;
|
|
|
- res.getAutopsies = autopsies;
|
|
|
- dics.value = res
|
|
|
- })
|
|
|
+ dateRange.value[0] = shortcuts[0].value[0]
|
|
|
+ dateRange.value[1] = shortcuts[0].value[1]
|
|
|
+ getHuiZhenDataClick()
|
|
|
+ getAllDictionary().then(res => {
|
|
|
+ res.getOperations = operations;
|
|
|
+ res.getYesOrNo = yesOrNo;
|
|
|
+ res.getHaveOrNot = haveOrNot;
|
|
|
+ res.getAutopsies = autopsies;
|
|
|
+ dics.value = res
|
|
|
+ })
|
|
|
})
|
|
|
|
|
|
// 会诊级别
|
|
|
function hzJiBie(val) {
|
|
|
- switch (val) {
|
|
|
- case '1':
|
|
|
- return '主治医师'
|
|
|
- case '2':
|
|
|
- return '副主任医生'
|
|
|
- case '3':
|
|
|
- return '主任医生'
|
|
|
- }
|
|
|
+ switch (val) {
|
|
|
+ case '1':
|
|
|
+ return '主治医师'
|
|
|
+ case '2':
|
|
|
+ return '副主任医生'
|
|
|
+ case '3':
|
|
|
+ return '主任医生'
|
|
|
+ }
|
|
|
}
|
|
|
</script>
|
|
|
|