修改驾驶舱权限,及住院的明细查询

This commit is contained in:
sangchengzhi
2026-01-14 17:02:09 +08:00
parent 7b65d52e21
commit 812acfc49b
2 changed files with 91 additions and 18 deletions

View File

@@ -230,7 +230,7 @@ export default {
apiUserInfo().then((res) => {
console.log(res.data);
this.info = res.data;
if (res.data.role === 1) {
if (res.data.role >= 1) {
this.hasDataCockpitPermission = true;
}
});

View File

@@ -79,7 +79,7 @@
<div class="listbt">{{ startdate }}{{ enddate }}清单</div>
<div class="listbody">
<div class="scrollable-content">
<van-row>
<van-row class="header-row">
<van-col span="9" class="colblack">项目名称</van-col>
<van-col span="3" class="colblack">类型</van-col>
<van-col span="3" class="colblack">单价</van-col>
@@ -87,18 +87,29 @@
<van-col span="3" class="colblack">单位</van-col>
<van-col span="3" class="colblack">总价</van-col>
</van-row>
<van-row v-for="item in List" :key="item">
<van-col span="9" class="colgray">{{ item.ITEMNAME }}</van-col>
<van-col span="3" class="colgray">{{ item.ACCTYPE }}</van-col>
<van-col span="3" class="colgray">{{ item.ITEMPRICE }}</van-col>
<van-col span="3" class="colgray">{{ item.ITEMCOUNT }}</van-col>
<van-col span="3" class="colgray">{{ item.ITEMUNIT }}</van-col>
<van-col span="3" class="colgray">{{ item.ITEMAMOUNT }}</van-col>
</van-row>
<!-- 按日期分组显示 -->
<div v-for="group in groupedList" :key="group.date" class="date-group">
<!-- 日期标题栏 -->
<div class="date-header">
<span class="date-text">{{ group.date }}</span>
<span class="daily-total">当日合计{{ group.total }}</span>
</div>
<!-- 当日费用明细 -->
<van-row v-for="item in group.items" :key="item" class="item-row">
<van-col span="9" class="colgray">{{ item.ITEMNAME }}</van-col>
<van-col span="3" class="colgray">{{ item.ACCTYPE }}</van-col>
<van-col span="3" class="colgray">{{ item.ITEMPRICE }}</van-col>
<van-col span="3" class="colgray">{{ item.ITEMCOUNT }}</van-col>
<van-col span="3" class="colgray">{{ item.ITEMUNIT }}</van-col>
<van-col span="3" class="colgray">{{ item.ITEMAMOUNT }}</van-col>
</van-row>
</div>
</div>
<van-row class="fixed-total">
<van-col offset="14" span="10" class="colblack">合计{{ money }}
<van-col span="10" class="colblack">{{ startdate }}{{ enddate }} 合计{{ money }}
</van-col>
</van-row>
@@ -161,6 +172,7 @@ export default {
patientIds: [],
patientId: "",
showPatientSelector: false, // 控制是否显示选择弹窗
groupedList: [], // 按日期分组后的费用明细
};
},
created() {
@@ -339,15 +351,38 @@ export default {
// 检查数据是否存在
if (jsonObj2 && jsonObj2.response && jsonObj2.response.data && jsonObj2.response.data.data_row && jsonObj2.response.data.data_row.length > 0) {
that.List = jsonObj2.response.data.data_row;
// 原始数据列表
const originalList = jsonObj2.response.data.data_row;
// 按日期分组
const groupedData = {};
originalList.forEach(item => {
// 假设TRDATETIME格式为YYYY-MM-DD HH:MM:SS提取日期部分"2026-01-12 23:00:14"
const date = item.TRDATETIME ? item.TRDATETIME.split(' ')[0] : '未知日期';
if (!groupedData[date]) {
groupedData[date] = {
date: date,
items: [],
total: 0
};
}
groupedData[date].items.push(item);
groupedData[date].total = (parseFloat(groupedData[date].total) + parseFloat(item.ITEMAMOUNT)).toFixed(2);
});
// 转换为数组格式
that.groupedList = Object.values(groupedData).sort((a, b) => new Date(a.date) - new Date(b.date));
// 计算总金额
that.money = 0;
for (let i = 0; i < jsonObj2.response.data.data_row.length; i++) {
that.money = (parseFloat(that.money) + parseFloat(jsonObj2.response.data.data_row[i].ITEMAMOUNT)).toFixed(2);
}
that.groupedList.forEach(group => {
that.money = (parseFloat(that.money) + parseFloat(group.total)).toFixed(2);
});
that.resultshow = true;
} else {
// 数据为空的情况
that.List = [];
that.groupedList = [];
that.money = 0;
that.resultshow = true;
Toast("暂无该时间段收费详情信息");
@@ -558,16 +593,54 @@ export default {
overflow-y: auto;
flex: 1;
.van-row {
.header-row {
padding: 15px 0;
border-bottom: 2px solid #ddd;
}
.date-group {
margin-bottom: 20px;
border: 1px solid #f0f0f0;
border-radius: 8px;
overflow: hidden;
}
.date-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 15px;
background-color: #f5f5f5;
font-weight: 600;
border-bottom: 1px solid #eee;
}
.date-text {
font-size: 28px;
color: #333;
}
.daily-total {
font-size: 26px;
color: #166bcc;
}
.item-row {
padding: 10px 0;
border-bottom: 1px solid #f0f0f0;
&:last-child {
border-bottom: none;
}
}
}
.fixed-total {
flex-shrink: 0; // 防止压缩
padding: 20px 0;
border-top: 1px solid #eee;
border-top: 2px solid #ddd;
background-color: #fff;
font-size: 32px;
}
}
</style>