挂号单补打功能的实现
This commit is contained in:
@@ -4,6 +4,7 @@ import Cookies from 'js-cookie';
|
||||
|
||||
// 导入 hiprint 并挂载到全局 window 对象
|
||||
import {hiprint} from 'vue-plugin-hiprint';
|
||||
|
||||
import ElementPlus, {ElDialog, ElMessage} from 'element-plus';
|
||||
import zhCn from 'element-plus/es/locale/lang/zh-cn';
|
||||
import 'element-plus/dist/index.css';
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -4,9 +4,9 @@
|
||||
<el-col :span="24" class="card-box">
|
||||
<el-card>
|
||||
<template #header>
|
||||
<div style="display: flex; align-items: center; justify-content: space-between; width: 100%">
|
||||
<span style="vertical-align: middle; font-size: 16px; font-weight: bold;">门诊挂号</span>
|
||||
<div class="header-buttons">
|
||||
<div style="display: flex; align-items: center; width: 100%">
|
||||
<span style="font-size: 16px; font-weight: bold; margin-right: 20px;">门诊挂号</span>
|
||||
<div style="flex: 1; display: flex; justify-content: center; align-items: center;">
|
||||
<el-button type="primary" icon="Document" @click="goToPatientRecord" size="small">档案</el-button>
|
||||
<el-button type="primary" icon="Plus" @click="handleAddPatient" size="small">新建</el-button>
|
||||
<el-button type="primary" plain icon="Search" @click="handleSearch" size="small">查询</el-button>
|
||||
@@ -420,6 +420,16 @@
|
||||
prop="genderEnum_enumText"
|
||||
/>
|
||||
<el-table-column label="联系电话" align="center" key="phone" prop="phone" />
|
||||
<el-table-column
|
||||
label="就诊卡号"
|
||||
align="center"
|
||||
key="identifierNo"
|
||||
width="150"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.identifierNo || scope.row.cardNo || scope.row.card || scope.row.patientCardNo || scope.row.patient?.identifierNo || '-' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="科室名称"
|
||||
align="center"
|
||||
@@ -593,6 +603,18 @@
|
||||
:chargeItemIds="chargeItemIdList"
|
||||
:eventType="eventType"
|
||||
/>
|
||||
<ReprintDialog
|
||||
:open="openReprintDialog"
|
||||
@close="
|
||||
(value) => {
|
||||
if (value == 'success') {
|
||||
proxy.$modal.msgSuccess('操作成功');
|
||||
getList();
|
||||
}
|
||||
openReprintDialog = false;
|
||||
}
|
||||
"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -617,6 +639,7 @@ import patientList from './components/patientList';
|
||||
import {nextTick, onMounted, onUnmounted, ref} from 'vue';
|
||||
import ChargeDialog from './components/chargeDialog.vue';
|
||||
import RefundDialog from './components/refundDialog.vue';
|
||||
import ReprintDialog from './components/reprintDialog.vue';
|
||||
import {handleColor} from '@/utils/his';
|
||||
import useUserStore from '@/store/modules/user';
|
||||
import {formatDateStr} from '@/utils/index';
|
||||
@@ -709,7 +732,6 @@ const data = reactive({
|
||||
contractNo: [{ required: true, message: '费用性质', trigger: 'blur' }],
|
||||
patientId: [{ required: true, message: '病人不能为空', trigger: 'blur' }],
|
||||
priorityEnum: [{ required: true, message: '优先级不能为空', trigger: 'blur' }],
|
||||
serviceTypeId: [{ required: true, message: '挂号类型不能为空', trigger: 'blur' }],
|
||||
organizationId: [{ required: true, message: '优先级不能为空', trigger: 'blur' }],
|
||||
orgId: [{ required: true, message: '就诊科室不能为空', trigger: 'blur' }],
|
||||
practitionerId: [{ required: true, message: '医生不能为空', trigger: 'blur' }],
|
||||
@@ -1026,10 +1048,18 @@ function getList() {
|
||||
outpatientRegistrationList.value = res.data.records;
|
||||
total.value = res.data.total;
|
||||
|
||||
// 调试:查看返回的数据结构(仅退号记录查询时)
|
||||
if (queryType.value === 'returned' && res.data.records && res.data.records.length > 0) {
|
||||
console.log('退号记录数据结构:', res.data.records[0]);
|
||||
// 调试:查看返回的数据结构,查找就诊卡号字段
|
||||
if (res.data.records && res.data.records.length > 0) {
|
||||
console.log('当日已挂号数据结构:', res.data.records[0]);
|
||||
console.log('所有字段:', Object.keys(res.data.records[0]));
|
||||
// 查找可能的就诊卡号字段
|
||||
const firstRecord = res.data.records[0];
|
||||
const possibleCardFields = ['identifierNo', 'cardNo', 'card', 'patientCardNo', 'identifier', 'medicalCardNo'];
|
||||
possibleCardFields.forEach(field => {
|
||||
if (firstRecord[field] !== undefined) {
|
||||
console.log(`找到可能的就诊卡号字段 ${field}:`, firstRecord[field]);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1144,6 +1144,7 @@ async function handleSave() {
|
||||
remark: formData.remark || '',
|
||||
createDate: formData.createDate,
|
||||
items: detailData.value.map((item, index) => ({
|
||||
// 基本字段(与检查套餐 CheckPackageDetail 对应)
|
||||
itemCode: item.code || '',
|
||||
itemName: item.itemName || '',
|
||||
checkItemId: item.itemId || null,
|
||||
@@ -1157,7 +1158,13 @@ async function handleSave() {
|
||||
serviceCharge: parseFloat(item.serviceCharge) || 0,
|
||||
total: parseFloat(item.total) || 0,
|
||||
origin: item.origin || '',
|
||||
orderNum: index + 1
|
||||
orderNum: index + 1,
|
||||
// 兼容字段(部分日志/历史代码使用的命名:dosage/route/serviceFee/totalAmount)
|
||||
// 后端当前不会用到这些别名字段,但保留便于排查和兼容
|
||||
dosage: item.dose || '',
|
||||
route: item.method || '',
|
||||
serviceFee: parseFloat(item.serviceCharge) || 0,
|
||||
totalAmount: parseFloat(item.total) || 0
|
||||
}))
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user