fix: 优化顶部导航栏布局与工作台摘要展示并清理旧票据数据
This commit is contained in:
@@ -194,10 +194,11 @@ function buildTodoItems(ownedRequests) {
|
||||
.sort((left, right) => normalizeText(right.due).localeCompare(normalizeText(left.due)))
|
||||
}
|
||||
|
||||
function resolveProgressStatusTone(approvalKey) {
|
||||
if (approvalKey === 'completed') return 'muted'
|
||||
if (approvalKey === 'pending_payment') return 'warning'
|
||||
if (approvalKey === 'supplement' || approvalKey === 'rejected') return 'danger'
|
||||
function resolveProgressStatusTone(approvalKey, statusText = '') {
|
||||
const status = String(statusText || '').trim()
|
||||
if (approvalKey === 'completed' || /完成|结束|通过/i.test(status)) return 'muted'
|
||||
if (approvalKey === 'pending_payment' || /付款|支付/i.test(status)) return 'warning'
|
||||
if (approvalKey === 'supplement' || approvalKey === 'rejected' || /退回|驳回|修改/i.test(status)) return 'danger'
|
||||
return 'success'
|
||||
}
|
||||
|
||||
@@ -243,14 +244,15 @@ function buildProgressItems(ownedRequests) {
|
||||
const currentStep = steps.find((step) => step.current)
|
||||
const title = normalizeText(request?.title || request?.note || request?.sceneLabel) || '费用单据'
|
||||
|
||||
const status = normalizeText(request?.approvalStatus || currentStep?.label) || '处理中'
|
||||
return {
|
||||
id: requestId,
|
||||
requestId,
|
||||
title,
|
||||
expenseTypeLabel: resolveExpenseCategory(request),
|
||||
amount: formatCurrency(request?.amount),
|
||||
status: normalizeText(request?.approvalStatus || currentStep?.label) || '处理中',
|
||||
statusTone: resolveProgressStatusTone(normalizeText(request?.approvalKey)),
|
||||
status,
|
||||
statusTone: resolveProgressStatusTone(normalizeText(request?.approvalKey), status),
|
||||
updatedAt: normalizeText(request?.updatedAt || request?.submittedAt || request?.createdAt),
|
||||
steps,
|
||||
target: resolveRequestTarget(request),
|
||||
@@ -391,12 +393,14 @@ function buildExpenseProcessingRows(ownedRequests) {
|
||||
const latestAt = dates[dates.length - 1] || toDate(request?.updatedAt || request?.submittedAt || request?.createdAt)
|
||||
const stepCount = Array.isArray(request?.progressSteps) ? request.progressSteps.length : 0
|
||||
|
||||
const status = normalizeText(request?.approvalStatus || request?.status) || '处理中'
|
||||
|
||||
return {
|
||||
id: requestId || title,
|
||||
requestId,
|
||||
title,
|
||||
status: normalizeText(request?.approvalStatus || request?.status) || '处理中',
|
||||
statusTone: resolveProgressStatusTone(normalizeText(request?.approvalKey)),
|
||||
status,
|
||||
statusTone: resolveProgressStatusTone(normalizeText(request?.approvalKey), status),
|
||||
startedAt: startedAt ? formatDateTimeLabel(startedAt) : '暂无开始时间',
|
||||
updatedAt: latestAt ? formatDateTimeLabel(latestAt) : '暂无更新时间',
|
||||
durationLabel: startedAt && latestAt ? formatDurationLabel(latestAt.getTime() - startedAt.getTime()) : '暂无耗时',
|
||||
|
||||
Reference in New Issue
Block a user