feat(团队收入页): 总收入计算并展示
This commit is contained in:
parent
fda26afb80
commit
650f714f48
@ -24,7 +24,7 @@
|
|||||||
>
|
>
|
||||||
<div style="display: flex; flex-direction: column; gap: 10px">
|
<div style="display: flex; flex-direction: column; gap: 10px">
|
||||||
<div>{{ t('history_team_income') }}</div>
|
<div>{{ t('history_team_income') }}</div>
|
||||||
<div style="font-weight: 600">$0</div>
|
<div style="font-weight: 600">${{ totalIncome }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
style="
|
style="
|
||||||
@ -73,7 +73,7 @@
|
|||||||
:hostSalary="bill.hostSalary"
|
:hostSalary="bill.hostSalary"
|
||||||
:agencySalary="bill.agencySalary"
|
:agencySalary="bill.agencySalary"
|
||||||
:totalSalary="bill.totalSalary"
|
:totalSalary="bill.totalSalary"
|
||||||
more="true"
|
:more="true"
|
||||||
@showMore="showBillDetail(bill)"
|
@showMore="showBillDetail(bill)"
|
||||||
></workReportBox>
|
></workReportBox>
|
||||||
</div>
|
</div>
|
||||||
@ -180,8 +180,8 @@ const policyData = ref(null)
|
|||||||
const loadingPolicy = ref(false)
|
const loadingPolicy = ref(false)
|
||||||
|
|
||||||
// 数据
|
// 数据
|
||||||
const billList = ref([])
|
const billList = ref([]) //账单列表
|
||||||
const selectedBillMembers = ref([])
|
const totalIncome = ref(0) //历史收益
|
||||||
|
|
||||||
// 格式化状态
|
// 格式化状态
|
||||||
const formatStatus = (status) => {
|
const formatStatus = (status) => {
|
||||||
@ -201,19 +201,26 @@ const fetchTeamBill = async (teamId) => {
|
|||||||
const response = await getTeamBill(teamId)
|
const response = await getTeamBill(teamId)
|
||||||
|
|
||||||
if (response.status && response.body) {
|
if (response.status && response.body) {
|
||||||
billList.value = response.body.map((bill) => ({
|
let historyTotalIncome = 0 // 历史收入累加
|
||||||
...bill,
|
billList.value = response.body.map((bill) => {
|
||||||
// 将时间戳转换为可读格式
|
if (bill.status == 'SETTLED') {
|
||||||
date: `${bill.billBelong.toString().substring(0, 4)}.${bill.billBelong
|
historyTotalIncome += bill.settleResult?.totalSalary || 0
|
||||||
.toString()
|
}
|
||||||
.substring(4, 6)}`,
|
return {
|
||||||
status: formatStatus(bill.status),
|
...bill,
|
||||||
hostSalary: formatSalaryValue(bill.settleResult?.memberSalary || 0) || '-',
|
// 将时间戳转换为可读格式
|
||||||
agencySalary: formatSalaryValue(bill.settleResult?.ownSalary || 0) || '-',
|
date: `${bill.billBelong.toString().substring(0, 4)}.${bill.billBelong
|
||||||
totalSalary: formatSalaryValue(bill.settleResult?.totalSalary || 0) || '-',
|
.toString()
|
||||||
createTimeFormatted: new Date(bill.createTime).toLocaleDateString(),
|
.substring(4, 6)}`,
|
||||||
updateTimeFormatted: new Date(bill.updateTime).toLocaleDateString(),
|
status: formatStatus(bill.status),
|
||||||
}))
|
hostSalary: formatSalaryValue(bill.settleResult?.memberSalary || 0) || '-',
|
||||||
|
agencySalary: formatSalaryValue(bill.settleResult?.ownSalary || 0) || '-',
|
||||||
|
totalSalary: formatSalaryValue(bill.settleResult?.totalSalary || 0) || '-',
|
||||||
|
createTimeFormatted: new Date(bill.createTime).toLocaleDateString(),
|
||||||
|
updateTimeFormatted: new Date(bill.updateTime).toLocaleDateString(),
|
||||||
|
}
|
||||||
|
})
|
||||||
|
totalIncome.value = historyTotalIncome.toFixed(2)
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Failed to fetch team bill:', error)
|
console.error('Failed to fetch team bill:', error)
|
||||||
@ -323,7 +330,6 @@ const getStatusClass = (status) => {
|
|||||||
const showBillDetail = async (bill) => {
|
const showBillDetail = async (bill) => {
|
||||||
// 获取该账单的成员工作信息
|
// 获取该账单的成员工作信息
|
||||||
const membersData = await fetchBillWorkMembers(bill.id)
|
const membersData = await fetchBillWorkMembers(bill.id)
|
||||||
selectedBillMembers.value = membersData
|
|
||||||
selectedBill.value = {
|
selectedBill.value = {
|
||||||
...bill,
|
...bill,
|
||||||
members: membersData,
|
members: membersData,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user