|
|
@@ -329,14 +329,37 @@ const executeQrySetlinfo = async () => {
|
|
|
console.log('费用明细接口请求参数:', requestParams)
|
|
|
const chargeListRes = await selectChargeList(requestParams)
|
|
|
const sumsMap = chargeListRes?.sumsMap || {}
|
|
|
- // 生成“检查费:586.00元 化验费:592.00元 ...”
|
|
|
- // 排除“总计”
|
|
|
- const feeItemsString = Object.entries(sumsMap)
|
|
|
- .filter(([k]) => k !== '总计')
|
|
|
+
|
|
|
+ // 顺序要求(按示例单据的顺序排列;不存在的项自动跳过)
|
|
|
+ const order = [
|
|
|
+ '西药费',
|
|
|
+ '中成药费',
|
|
|
+ '床位费',
|
|
|
+ '诊疗费',
|
|
|
+ '检查费',
|
|
|
+ '治疗费',
|
|
|
+ '影像费',
|
|
|
+ '检验费',
|
|
|
+ '输氧费',
|
|
|
+ '化验费',
|
|
|
+ '手术费',
|
|
|
+ '卫生材料费',
|
|
|
+ '护理费',
|
|
|
+ '其他住院费用'
|
|
|
+ ]
|
|
|
+
|
|
|
+ const entries = Object.entries(sumsMap).filter(([k]) => k !== '总计')
|
|
|
+ entries.sort((a, b) => {
|
|
|
+ const ia = order.indexOf(a[0])
|
|
|
+ const ib = order.indexOf(b[0])
|
|
|
+ return (ia === -1 ? 999 : ia) - (ib === -1 ? 999 : ib)
|
|
|
+ })
|
|
|
+
|
|
|
+ const feeItemsString = entries
|
|
|
.map(([k, v]) => `${k}:${toAmount(v)}元`)
|
|
|
- .join(';')
|
|
|
+ .join('; ')
|
|
|
|
|
|
- setlinfo.value.feeItemsString = feeItemsString
|
|
|
+ setlinfo.value.feeItemsString = feeItemsString ? feeItemsString + ';' : ''
|
|
|
} catch (e) {
|
|
|
console.warn('费用明细接口调用失败:', e)
|
|
|
// 兜底:使用简化显示
|