feat: 优化差旅报销预审流程与个人工作台 UI 体系
- 完善 user_agent_application 申请差旅报销预审槽位与消息组装 - 增强预算助理报告与风险建议卡片交互 - 重构登录页视觉样式与移动端响应式适配 - 优化个人工作台、文档中心、政策中心、员工管理等页面布局 - 拆分 travelRequestDetailPreReviewModel 为 advice/submit 模型 - 补充报销草稿、风险复核、Item Sync 与模板执行器测试覆盖
This commit is contained in:
@@ -73,6 +73,34 @@ function normalizeApplicationDate(claim) {
|
||||
)
|
||||
}
|
||||
|
||||
function normalizeApplicationDateText(value) {
|
||||
const text = normalizeText(value)
|
||||
if (!text) {
|
||||
return ''
|
||||
}
|
||||
const matched = text.match(/^(\d{4}-\d{2}-\d{2})/)
|
||||
return matched?.[1] || text
|
||||
}
|
||||
|
||||
function normalizeApplicationBusinessTime(claim) {
|
||||
const start = normalizeApplicationDateText(claim?.start_date || claim?.startDate || claim?.begin_date || claim?.beginDate)
|
||||
const end = normalizeApplicationDateText(claim?.end_date || claim?.endDate || claim?.finish_date || claim?.finishDate)
|
||||
if (start && end && start !== end) {
|
||||
return `${start} 至 ${end}`
|
||||
}
|
||||
return normalizeApplicationDateText(
|
||||
start
|
||||
|| claim?.business_time
|
||||
|| claim?.businessTime
|
||||
|| claim?.time_range
|
||||
|| claim?.timeRange
|
||||
|| claim?.occurred_at
|
||||
|| claim?.occurredAt
|
||||
|| claim?.occurred_date
|
||||
|| claim?.occurredDate
|
||||
)
|
||||
}
|
||||
|
||||
function toTimestamp(value) {
|
||||
const date = new Date(value)
|
||||
return Number.isNaN(date.getTime()) ? 0 : date.getTime()
|
||||
@@ -216,6 +244,7 @@ export function normalizeRequiredApplicationCandidate(claim) {
|
||||
location,
|
||||
amount: normalizeText(claim?.amount || claim?.budget_amount || claim?.budgetAmount),
|
||||
amount_label: amountText,
|
||||
business_time: normalizeApplicationBusinessTime(claim),
|
||||
status,
|
||||
status_label: STATUS_LABELS[status] || normalizeText(claim?.approval_stage || claim?.approvalStage || status),
|
||||
application_date: normalizeApplicationDate(claim)
|
||||
@@ -247,6 +276,7 @@ export function buildRequiredApplicationActions(applications, actionType) {
|
||||
const claimNo = normalizeText(application.claim_no) || '未编号申请单'
|
||||
const description = [
|
||||
application.status_label,
|
||||
application.business_time && `时间:${application.business_time}`,
|
||||
application.location && `地点:${application.location}`,
|
||||
application.amount_label && `预算:${application.amount_label}`,
|
||||
application.reason && `事由:${application.reason}`
|
||||
@@ -265,6 +295,7 @@ export function buildRequiredApplicationActions(applications, actionType) {
|
||||
application_location: application.location,
|
||||
application_amount: application.amount,
|
||||
application_amount_label: application.amount_label,
|
||||
application_business_time: application.business_time,
|
||||
application_status: application.status,
|
||||
application_status_label: application.status_label,
|
||||
application_date: application.application_date
|
||||
|
||||
Reference in New Issue
Block a user