feat(web): 申请单预览编辑器增强与报销流程细节适配

- useApplicationPreviewEditor 扩展字段编辑与校验,useTravelReimbursementApplicationPreviewDateEditor 微调日期处理
- travelReimbursementExpenseQueryModel/reimbursements 服务/expenseApplicationPreview 适配工号/邮箱字段与关联动作
- useWorkbenchAiApplicationPreviewFlow/usePersonalWorkbenchAiMode 接入关联门控后的预览流转
- TravelReimbursementCreateView 调整入口,TravelReimbursementMessageItem 适配
- 新增 expense-application-fast-preview 测试,更新 attachment-association-confirmation、review-drawer-switch 测试
This commit is contained in:
caoxiaozhu
2026-06-22 15:56:06 +08:00
parent ba444a514f
commit ded8b39ccb
12 changed files with 468 additions and 43 deletions

View File

@@ -55,7 +55,7 @@ export {
export function buildApplicationPolicyEstimateRequest(preview = {}, currentUser = {}) {
const normalized = normalizeApplicationPreview(preview)
const fields = normalized.fields || {}
const days = parseApplicationDaysValue(fields.days)
const days = parseApplicationDaysValue(fields.days) || parseApplicationDaysValue(resolveDaysFromDateRange(fields.time))
const location = String(fields.location || '').trim()
const grade = String(fields.grade || resolveCurrentUserGrade(currentUser)).trim()
const applicationType = String(fields.applicationType || '').trim()
@@ -112,6 +112,7 @@ export function applyApplicationPolicyEstimateResult(preview = {}, result = {},
fields: {
...fields,
grade,
days: parseApplicationDaysValue(fields.days) ? fields.days : `${days}`,
lodgingDailyCap: formatDailyPolicyMoney(result?.hotel_rate),
subsidyDailyCap: formatDailyPolicyMoney(result?.total_allowance_rate),
transportPolicy: APPLICATION_TRANSPORT_REIMBURSEMENT_TEXT,
@@ -174,6 +175,7 @@ export function applyApplicationPolicyEstimateResult(preview = {}, result = {},
fields: {
...fields,
grade,
days: parseApplicationDaysValue(fields.days) ? fields.days : `${days}`,
lodgingDailyCap: formatDailyPolicyMoney(result?.hotel_rate),
subsidyDailyCap: formatDailyPolicyMoney(result?.total_allowance_rate),
transportPolicy: buildTransportPolicyText(fields.transportMode, matchedCity || fields.location, transportEstimate, fields.time),
@@ -388,7 +390,7 @@ export function buildApplicationPreviewRows(preview = {}) {
key: 'time_return',
label: '返回时间',
value: tripDates.endDate || '待补充',
editable: false,
editable: item.editable !== false,
highlight: Boolean(item.highlight),
missing
}