refactor(web): 应用外壳/差旅详情/报销创建视图适配主题与多 task
- AppShellRouteView/useAppShell 适配主题皮肤与会话入口 - TravelRequestDetailView/travelRequestDetailSetup 差旅详情适配,travel-request-detail-view.css 调整 - TravelReimbursementCreateView/useTravelReimbursementCreateViewLifecycle 创建视图适配 - 更新 app-shell-financial-assistant-entry/travel-request-detail-risk-advice 测试
This commit is contained in:
@@ -1593,27 +1593,35 @@ test('application detail uses application labels instead of reimbursement labels
|
||||
assert.match(detailViewTemplate, /当前申请单已进入流程,详情页仅展示状态与申请信息。/)
|
||||
})
|
||||
|
||||
test('returned application detail can open assistant with editable prefill', () => {
|
||||
assert.match(
|
||||
detailViewTemplate,
|
||||
/v-if="canModifyReturnedApplication"[\s\S]*@click="handleModifyApplication"[\s\S]*修改申请/
|
||||
)
|
||||
test('draft or returned application detail edits allowed facts inline', () => {
|
||||
assert.doesNotMatch(detailViewTemplate, /修改申请/)
|
||||
assert.match(detailViewTemplate, /canEditApplicationDetailItem\(item\)/)
|
||||
assert.match(detailViewTemplate, /application-detail-edit-btn/)
|
||||
assert.match(detailViewTemplate, /openApplicationDetailEditor\(item\)/)
|
||||
assert.match(detailViewTemplate, /saveApplicationDetailEdit\(item\)/)
|
||||
assert.doesNotMatch(detailViewScript, /handleModifyApplication/)
|
||||
assert.match(
|
||||
detailViewScript,
|
||||
/const canModifyReturnedApplication = computed\(\(\) => \([\s\S]*isApplicationDocument\.value[\s\S]*isCurrentApplicant\.value[\s\S]*returned/
|
||||
/const canModifyApplication = computed\(\(\) => \([\s\S]*isApplicationDocument\.value[\s\S]*isEditableRequest\.value[\s\S]*isCurrentApplicant\.value[\s\S]*\)\)/
|
||||
)
|
||||
assert.match(detailViewScript, /function buildApplicationEditPreview\(\)/)
|
||||
assert.match(detailViewScript, /applicationDetailFactItems\.value[\s\S]*sourceText:\s*'修改申请'/)
|
||||
assert.match(detailViewScript, /fields:\s*\{[\s\S]*applicationType:[\s\S]*reason:[\s\S]*transportMode:/)
|
||||
assert.match(detailViewScript, /function handleModifyApplication\(\)/)
|
||||
assert.match(detailViewScript, /source:\s*'application'/)
|
||||
assert.match(detailViewScript, /sessionType:\s*'application'/)
|
||||
assert.match(detailViewScript, /prompt:\s*''/)
|
||||
assert.match(detailViewScript, /applicationPreview:\s*buildApplicationEditPreview\(\)/)
|
||||
assert.match(detailViewScript, /applicationEditMode:\s*true/)
|
||||
assert.match(detailViewScript, /initialPromptAutoSubmit:\s*false/)
|
||||
assert.match(detailViewScript, /canModifyReturnedApplication,/)
|
||||
assert.match(detailViewScript, /handleModifyApplication,/)
|
||||
assert.match(detailViewScript, /editableFields:\s*applicationEditEditableFields/)
|
||||
assert.match(detailViewScript, /fields:\s*\{[\s\S]*applicationType:[\s\S]*reason:[\s\S]*transportMode:/)
|
||||
assert.match(detailViewScript, /function buildApplicationEditDraftPayload\(\)/)
|
||||
assert.match(detailViewScript, /draft_type:\s*'expense_application'/)
|
||||
assert.match(detailViewScript, /claim_id:\s*claimId/)
|
||||
assert.match(detailViewScript, /application_edit_mode:\s*true/)
|
||||
assert.match(detailViewScript, /function canEditApplicationDetailItem\(item = \{\}\)/)
|
||||
assert.match(detailViewScript, /function openApplicationDetailEditor\(item = \{\}\)/)
|
||||
assert.match(detailViewScript, /async function saveApplicationDetailEdit\(item = \{\}\)/)
|
||||
assert.match(detailViewScript, /runAiApplicationPreviewAction\(\{[\s\S]*AI_APPLICATION_ACTION_SAVE_DRAFT/)
|
||||
assert.match(detailViewScript, /emit\('request-updated'/)
|
||||
assert.match(detailViewScript, /canModifyApplication,/)
|
||||
assert.match(detailViewScript, /canEditApplicationDetailItem,/)
|
||||
assert.match(detailViewScript, /openApplicationDetailEditor,/)
|
||||
assert.match(detailViewScript, /saveApplicationDetailEdit,/)
|
||||
})
|
||||
|
||||
test('application detail does not show optional travel receipt reminders', () => {
|
||||
|
||||
Reference in New Issue
Block a user