Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
@@ -8,6 +8,7 @@ import com.openhis.web.chargemanage.dto.CurrentDayEncounterDto;
|
||||
import com.openhis.web.chargemanage.dto.OrgMetadata;
|
||||
import com.openhis.web.chargemanage.dto.PatientMetadata;
|
||||
import com.openhis.web.chargemanage.dto.PractitionerMetadata;
|
||||
import com.openhis.web.chargemanage.dto.ReprintRegistrationDto;
|
||||
import com.openhis.web.paymentmanage.dto.CancelRegPaymentDto;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
@@ -85,4 +86,12 @@ public interface IOutpatientRegistrationAppService {
|
||||
*/
|
||||
R<?> cancelRegister(Long encounterId);
|
||||
|
||||
/**
|
||||
* 补打挂号
|
||||
*
|
||||
* @param reprintRegistrationDto 补打挂号信息
|
||||
* @return 结果
|
||||
*/
|
||||
R<?> reprintRegistration(ReprintRegistrationDto reprintRegistrationDto);
|
||||
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@ import com.openhis.web.chargemanage.dto.CurrentDayEncounterDto;
|
||||
import com.openhis.web.chargemanage.dto.OrgMetadata;
|
||||
import com.openhis.web.chargemanage.dto.PatientMetadata;
|
||||
import com.openhis.web.chargemanage.dto.PractitionerMetadata;
|
||||
import com.openhis.web.chargemanage.dto.ReprintRegistrationDto;
|
||||
import com.openhis.web.chargemanage.mapper.OutpatientRegistrationAppMapper;
|
||||
import com.openhis.web.paymentmanage.appservice.IPaymentRecService;
|
||||
import com.openhis.web.paymentmanage.dto.CancelPaymentDto;
|
||||
@@ -283,7 +284,7 @@ public class OutpatientRegistrationAppServiceImpl implements IOutpatientRegistra
|
||||
HttpServletRequest request) {
|
||||
// 构建查询条件
|
||||
QueryWrapper<CurrentDayEncounterDto> queryWrapper = HisQueryUtils.buildQueryWrapper(null, searchKey,
|
||||
new HashSet<>(Arrays.asList("patient_name", "organization_name", "practitioner_name", "healthcare_name")),
|
||||
new HashSet<>(Arrays.asList("patient_name", "organization_name", "practitioner_name", "healthcare_name", "identifier_no")),
|
||||
request);
|
||||
|
||||
// 手动处理 statusEnum 参数(用于过滤退号记录)
|
||||
@@ -330,4 +331,18 @@ public class OutpatientRegistrationAppServiceImpl implements IOutpatientRegistra
|
||||
return R.ok("已取消挂号");
|
||||
}
|
||||
|
||||
/**
|
||||
* 补打挂号
|
||||
* 补打挂号不需要修改数据库,只需要返回成功即可,前端已有所有需要的数据用于打印
|
||||
*
|
||||
* @param reprintRegistrationDto 补打挂号信息
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public R<?> reprintRegistration(ReprintRegistrationDto reprintRegistrationDto) {
|
||||
// 补打挂号只是重新打印,不需要修改数据库
|
||||
// 可以在这里添加日志记录补打操作
|
||||
return R.ok(null, "补打挂号成功");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.openhis.common.enums.PriorityLevel;
|
||||
import com.openhis.financial.domain.PaymentReconciliation;
|
||||
import com.openhis.web.chargemanage.appservice.IOutpatientRegistrationAppService;
|
||||
import com.openhis.web.chargemanage.dto.OutpatientRegistrationInitDto;
|
||||
import com.openhis.web.chargemanage.dto.ReprintRegistrationDto;
|
||||
import com.openhis.web.paymentmanage.appservice.IEleInvoiceService;
|
||||
import com.openhis.web.paymentmanage.dto.CancelRegPaymentDto;
|
||||
import lombok.AllArgsConstructor;
|
||||
@@ -151,4 +152,15 @@ public class OutpatientRegistrationController {
|
||||
return R.ok(iOutpatientRegistrationAppService.getCurrentDayEncounter(searchKey, pageNo, pageSize, request));
|
||||
}
|
||||
|
||||
/**
|
||||
* 补打挂号
|
||||
*
|
||||
* @param reprintRegistrationDto 补打挂号信息
|
||||
* @return 结果
|
||||
*/
|
||||
@PostMapping(value = "/reprint")
|
||||
public R<?> reprintRegistration(@RequestBody ReprintRegistrationDto reprintRegistrationDto) {
|
||||
return iOutpatientRegistrationAppService.reprintRegistration(reprintRegistrationDto);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -136,4 +136,9 @@ public class CurrentDayEncounterDto {
|
||||
*/
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 就诊卡号
|
||||
*/
|
||||
private String identifierNo;
|
||||
|
||||
}
|
||||
|
||||
@@ -959,12 +959,14 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp
|
||||
// LIS查看报告地址
|
||||
String lisReportUrl = TenantOptionUtil.getOptionContent(TenantOptionDict.LIS_REPORT_URL);
|
||||
if (StringUtils.isEmpty(lisReportUrl)) {
|
||||
throw new ServiceException("租户配置项【LIS查看报告地址】未配置");
|
||||
log.warn("租户配置项【LIS查看报告地址】未配置");
|
||||
}
|
||||
List<ProofAndTestResultDto> proofResult = doctorStationAdviceAppMapper.getProofAndTestResult(encounterId,
|
||||
RequestStatus.DRAFT.getValue(), ActivityType.PROOF.getValue());
|
||||
for (ProofAndTestResultDto proofAndTestResultDto : proofResult) {
|
||||
proofAndTestResultDto.setRequestUrl(lisReportUrl.concat(proofAndTestResultDto.getBusNo()));
|
||||
if (StringUtils.isNotEmpty(lisReportUrl)) {
|
||||
proofAndTestResultDto.setRequestUrl(lisReportUrl.concat(proofAndTestResultDto.getBusNo()));
|
||||
}
|
||||
}
|
||||
|
||||
return R.ok(proofResult);
|
||||
@@ -981,12 +983,14 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp
|
||||
// PACS查看报告地址
|
||||
String pacsReportUrl = TenantOptionUtil.getOptionContent(TenantOptionDict.PACS_REPORT_URL);
|
||||
if (StringUtils.isEmpty(pacsReportUrl)) {
|
||||
throw new ServiceException("租户配置项【PACS查看报告地址】未配置");
|
||||
log.warn("租户配置项【PACS查看报告地址】未配置");
|
||||
}
|
||||
List<ProofAndTestResultDto> testResult = doctorStationAdviceAppMapper.getProofAndTestResult(encounterId,
|
||||
RequestStatus.DRAFT.getValue(), ActivityType.TEST.getValue());
|
||||
for (ProofAndTestResultDto proofAndTestResultDto : testResult) {
|
||||
proofAndTestResultDto.setRequestUrl(pacsReportUrl.concat(proofAndTestResultDto.getBusNo()));
|
||||
if (StringUtils.isNotEmpty(pacsReportUrl)) {
|
||||
proofAndTestResultDto.setRequestUrl(pacsReportUrl.concat(proofAndTestResultDto.getBusNo()));
|
||||
}
|
||||
}
|
||||
return R.ok(testResult);
|
||||
}
|
||||
|
||||
@@ -65,7 +65,8 @@
|
||||
T9.charge_item_ids,
|
||||
T9.payment_id,
|
||||
T9.picture_url,
|
||||
T9.birth_date
|
||||
T9.birth_date,
|
||||
T9.identifier_no
|
||||
from (
|
||||
SELECT T1.tenant_id AS tenant_id,
|
||||
T1.id AS encounter_id,
|
||||
@@ -88,7 +89,8 @@
|
||||
T13.charge_item_ids,
|
||||
T13.id AS payment_id,
|
||||
ai.picture_url AS picture_url,
|
||||
T8.birth_date AS birth_date
|
||||
T8.birth_date AS birth_date,
|
||||
T18.identifier_no AS identifier_no
|
||||
FROM adm_encounter AS T1
|
||||
LEFT JOIN adm_organization AS T2 ON T1.organization_id = T2.ID AND T2.delete_flag = '0'
|
||||
LEFT JOIN adm_healthcare_service AS T3 ON T1.service_type_id = T3.ID AND T3.delete_flag = '0'
|
||||
@@ -118,6 +120,18 @@
|
||||
ON T1.ID = T6.encounter_id AND T6.delete_flag = '0' AND T6.encounter_flag = '1'
|
||||
LEFT JOIN fin_contract AS T7 ON T6.contract_no = T7.bus_no AND T7.delete_flag = '0'
|
||||
LEFT JOIN adm_patient AS T8 ON T1.patient_id = T8.ID AND T8.delete_flag = '0'
|
||||
LEFT JOIN (
|
||||
SELECT patient_id,
|
||||
identifier_no
|
||||
FROM (
|
||||
SELECT patient_id,
|
||||
identifier_no,
|
||||
ROW_NUMBER() OVER (PARTITION BY patient_id ORDER BY create_time ASC) AS rn
|
||||
FROM adm_patient_identifier
|
||||
WHERE delete_flag = '0'
|
||||
) t
|
||||
WHERE rn = 1
|
||||
) AS T18 ON T8.id = T18.patient_id
|
||||
LEFT JOIN adm_charge_item AS T10 ON T1.id = T10.encounter_id AND T10.delete_flag = '0'
|
||||
LEFT JOIN adm_account AS T11 ON T10.account_id = T11.id AND T11.delete_flag = '0'
|
||||
LEFT JOIN adm_practitioner AS T12 ON T12.ID = T10.enterer_id AND T12.delete_flag = '0'
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<meta name="author" content="OpenHIS Team" />
|
||||
|
||||
<!-- 安全相关 meta 标签 -->
|
||||
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://at.alicdn.com; style-src 'self' 'unsafe-inline' https://at.alicdn.com; img-src 'self' data: https: https://at.alicdn.com; font-src 'self' 'unsafe-inline' https://at.alicdn.com data:; connect-src 'self' https://at.alicdn.com http://localhost:* ws://localhost:*;">
|
||||
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://at.alicdn.com; style-src 'self' 'unsafe-inline' https://at.alicdn.com; img-src 'self' data: https: https://at.alicdn.com; font-src 'self' 'unsafe-inline' https://at.alicdn.com data:; connect-src 'self' https://at.alicdn.com http://localhost:* ws://localhost:* ws://127.0.0.1:*;">
|
||||
<meta name="referrer" content="no-referrer-when-downgrade">
|
||||
|
||||
<!-- 移动端和 PWA 支持 -->
|
||||
@@ -27,7 +27,7 @@
|
||||
<link rel="icon" type="image/png" href="/favicon/favicon-16x16.png" sizes="16x16">
|
||||
<link rel="icon" type="image/png" href="/favicon/favicon-32x32.png" sizes="32x32">
|
||||
<link rel="icon" type="image/png" href="/favicon/favicon-48x48.png" sizes="48x48">
|
||||
<link rel="manifest" href="/favicon/site.webmanifest">
|
||||
<link rel="manifest" href="/favicon/faviconsite.webmanifest">
|
||||
<link rel="icon" type="image/png" href="/favicon/android-chrome-192x192.png" sizes="192x192">
|
||||
<link rel="icon" type="image/png" href="/favicon/android-chrome-512x512.png" sizes="512x512">
|
||||
<link rel="apple-touch-icon" href="/favicon/apple-touch-icon.png">
|
||||
|
||||
@@ -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]);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1106,7 +1106,7 @@ onMounted(() => {
|
||||
document.addEventListener('keydown', escKeyListener);
|
||||
// 初始化时自动创建第一个西药处方
|
||||
if (westernPrescriptions.value.length === 0) {
|
||||
handleAddPrescription();
|
||||
handleAddPrescription(null, false);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1531,7 +1531,7 @@ function getListInfo(addNewRow) {
|
||||
});
|
||||
getGroupMarkers(); // 更新标记
|
||||
if (props.activeTab == 'prescription' && addNewRow) {
|
||||
handleAddPrescription();
|
||||
handleAddPrescription(null, false);
|
||||
}
|
||||
|
||||
// 在所有异步操作完成后 resolve Promise
|
||||
@@ -1595,14 +1595,16 @@ function handleSelectionChange(selection, row) {
|
||||
}
|
||||
|
||||
// 新增医嘱
|
||||
function handleAddPrescription(prescriptionId) {
|
||||
function handleAddPrescription(prescriptionId, showWarning = true) {
|
||||
// 如果传入了处方ID,先切换到该处方
|
||||
if (prescriptionId && prescriptionId !== currentPrescriptionId.value) {
|
||||
switchToActivePrescription(prescriptionId);
|
||||
}
|
||||
|
||||
if (diagnosisList.value.length == 0) {
|
||||
proxy.$modal.msgWarning('请先保存诊断后再开立医嘱');
|
||||
if (showWarning) {
|
||||
proxy.$modal.msgWarning('请先保存诊断后再开立医嘱');
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (isAdding.value) {
|
||||
@@ -2291,7 +2293,7 @@ function handleSaveSign(row, index, prescriptionId) {
|
||||
});
|
||||
} else {
|
||||
if (prescriptionList.value[0].adviceName) {
|
||||
handleAddPrescription();
|
||||
handleAddPrescription(null, false);
|
||||
}
|
||||
}
|
||||
adviceQueryParams.value.adviceType = undefined;
|
||||
|
||||
@@ -145,14 +145,20 @@ const fetchAll = async () => {
|
||||
}
|
||||
loadingCheck.value = true;
|
||||
loadingInspection.value = true;
|
||||
try {
|
||||
await Promise.all([fetchCheckReport(), fetchInspectionReport()]);
|
||||
} catch (e) {
|
||||
proxy.$modal?.msgError?.(e.message || '查询报告失败');
|
||||
} finally {
|
||||
loadingCheck.value = false;
|
||||
loadingInspection.value = false;
|
||||
}
|
||||
|
||||
// 独立处理,互不影响
|
||||
const runFetch = async (fn, loadingRef, name) => {
|
||||
try {
|
||||
await fn();
|
||||
} catch (e) {
|
||||
proxy.$modal?.msgError?.(`${name}查询失败: ${e.message || '未知错误'}`);
|
||||
} finally {
|
||||
loadingRef.value = false;
|
||||
}
|
||||
};
|
||||
|
||||
runFetch(fetchCheckReport, loadingCheck, '检查报告');
|
||||
runFetch(fetchInspectionReport, loadingInspection, '检验报告');
|
||||
};
|
||||
|
||||
const handleRefreshCheck = async () => {
|
||||
|
||||
@@ -893,7 +893,7 @@ function selectAdviceBase(key, row, pIndex) {
|
||||
).chargeItemDefinitionId;
|
||||
|
||||
// 库存列表 + 价格列表拼成批次号的下拉框
|
||||
if (row.adviceType != 3) {
|
||||
if (row.adviceType == 1 || row.adviceType == 2) {
|
||||
if (row.inventoryList && row.inventoryList.length == 0) {
|
||||
prescription.expandOrder = [];
|
||||
proxy.$modal.msgWarning('该项目无库存');
|
||||
@@ -1069,23 +1069,32 @@ function handleSaveSign(row, index, pIndex) {
|
||||
const prescription = tcmPrescriptionList.value[pIndex];
|
||||
const formRefName = 'formRef' + pIndex + '-' + index;
|
||||
proxy.$refs[formRefName][0].validate((valid) => {
|
||||
row.isEdit = false;
|
||||
prescription.isAdding = false;
|
||||
prescription.expandOrder = [];
|
||||
row.contentJson = undefined;
|
||||
row.patientId = props.patientInfo.patientId;
|
||||
row.encounterId = props.patientInfo.encounterId;
|
||||
row.accountId = prescription.accountId;
|
||||
row.quantity = row.minUnitQuantity;
|
||||
row.conditionId = prescription.conditionId;
|
||||
row.unitPrice =
|
||||
row.unitCodeList.find((item) => item.value == row.unitCode).type == 'unit'
|
||||
? row.unitPrice
|
||||
: new Decimal(row.unitPrice).div(row.partPercent).toFixed(2);
|
||||
row.conditionDefinitionId = prescription.conditionDefinitionId;
|
||||
row.encounterDiagnosisId = prescription.encounterDiagnosisId;
|
||||
row.diagnosisName = prescription.diagnosisName;
|
||||
row.contentJson = JSON.stringify(row);
|
||||
if (valid) {
|
||||
row.isEdit = false;
|
||||
prescription.isAdding = false;
|
||||
prescription.expandOrder = [];
|
||||
row.contentJson = undefined;
|
||||
row.patientId = props.patientInfo.patientId;
|
||||
row.encounterId = props.patientInfo.encounterId;
|
||||
row.accountId = prescription.accountId;
|
||||
row.quantity = row.minUnitQuantity;
|
||||
row.chineseHerbsDoseQuantity = prescription.chineseHerbsDoseQuantity;
|
||||
row.unitPrice =
|
||||
row.unitCodeList.find((item) => item.value == row.unitCode).type == 'unit'
|
||||
? row.unitPrice
|
||||
: new Decimal(row.unitPrice).div(row.partPercent).toFixed(2);
|
||||
row.conditionDefinitionId = prescription.conditionDefinitionId;
|
||||
row.encounterDiagnosisId = prescription.encounterDiagnosisId;
|
||||
row.diagnosisName = prescription.diagnosisName;
|
||||
|
||||
// 寻找当前选中的单位字典值
|
||||
const selectedUnit = row.unitCodeList.find((item) => item.value === row.minUnitCode);
|
||||
if (selectedUnit) {
|
||||
row.doseUnitCode_dictText = selectedUnit.label;
|
||||
}
|
||||
|
||||
row.contentJson = JSON.stringify(row);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -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