refactor(web): update composables, utils and scripts
- useRequests.js: update requests composable - utils/requestViewModel.js: update request view model utility - scripts/TravelRequestDetailView.js: update travel detail view script
This commit is contained in:
@@ -353,6 +353,10 @@ function mapExpenseClaimToRequest(claim) {
|
||||
dept: String(claim?.department_name || '').trim() || '待补充',
|
||||
departmentName: String(claim?.department_name || '').trim() || '待补充',
|
||||
employeeName: String(claim?.employee_name || '').trim() || '待补充',
|
||||
employeePosition: String(claim?.employee_position || '').trim(),
|
||||
employeeGrade: String(claim?.employee_grade || '').trim(),
|
||||
managerName: String(claim?.manager_name || '').trim(),
|
||||
roleLabels: Array.isArray(claim?.role_labels) ? claim.role_labels.filter(Boolean) : [],
|
||||
entity: '',
|
||||
typeCode,
|
||||
typeLabel,
|
||||
|
||||
@@ -172,6 +172,15 @@ function resolveTypeMeta(request) {
|
||||
}
|
||||
}
|
||||
|
||||
function normalizeRoleLabels(value) {
|
||||
if (Array.isArray(value)) {
|
||||
return value.map((item) => String(item || '').trim()).filter(Boolean)
|
||||
}
|
||||
|
||||
const text = String(value || '').trim()
|
||||
return text ? [text] : []
|
||||
}
|
||||
|
||||
export function normalizeRequestForUi(request) {
|
||||
if (!request) {
|
||||
return null
|
||||
@@ -190,6 +199,11 @@ export function normalizeRequestForUi(request) {
|
||||
String(request.secondaryStatusValue || request.travel || '').trim()
|
||||
|| (detailVariant === 'travel' ? '待安排行程' : '待补充票据')
|
||||
const secondaryStatusTone = String(request.secondaryStatusTone || request.travelTone || '').trim() || 'neutral'
|
||||
const roleLabels = normalizeRoleLabels(request.roleLabels || request.role_labels)
|
||||
const profileIdentity =
|
||||
String(request.profileIdentity || request.employeeIdentity || request.identity || '').trim()
|
||||
|| roleLabels.join(' / ')
|
||||
|| '员工'
|
||||
|
||||
return {
|
||||
...request,
|
||||
@@ -230,6 +244,13 @@ export function normalizeRequestForUi(request) {
|
||||
note: String(request.note || '').trim(),
|
||||
profileName: String(request.person || request.applicant || request.employeeName || '').trim() || '当前申请人',
|
||||
profileDepartment: String(request.dept || request.department || request.departmentName || '').trim() || '所属部门',
|
||||
profileIdentity,
|
||||
profilePosition:
|
||||
String(request.profilePosition || request.employeePosition || request.employee_position || request.position || '').trim()
|
||||
|| '待补充',
|
||||
profileGrade: String(request.profileGrade || request.employeeGrade || request.employee_grade || request.grade || '').trim() || '待补充',
|
||||
profileManager: String(request.profileManager || request.managerName || request.manager_name || request.manager || '').trim() || '待补充',
|
||||
roleLabels,
|
||||
profileAvatar:
|
||||
String(request.person || request.applicant || request.employeeName || '申').trim().slice(0, 1) || '申'
|
||||
}
|
||||
|
||||
@@ -422,6 +422,10 @@ export default {
|
||||
attachmentSummary: '待补充',
|
||||
riskSummary: '待补充',
|
||||
note: '',
|
||||
profileIdentity: '员工',
|
||||
profilePosition: '待补充',
|
||||
profileGrade: '待补充',
|
||||
profileManager: '待补充',
|
||||
profileName: '当前申请人',
|
||||
profileDepartment: '待补充部门',
|
||||
profileAvatar: '申'
|
||||
@@ -443,7 +447,17 @@ export default {
|
||||
|
||||
const profile = computed(() => ({
|
||||
name: request.value.profileName,
|
||||
identity: request.value.profileIdentity,
|
||||
position: request.value.profilePosition,
|
||||
department: request.value.profileDepartment,
|
||||
grade: request.value.profileGrade,
|
||||
manager: request.value.profileManager,
|
||||
facts: [
|
||||
{ label: '身份', value: request.value.profileIdentity },
|
||||
{ label: '部门', value: request.value.profileDepartment },
|
||||
{ label: '职级', value: request.value.profileGrade },
|
||||
{ label: '直属上司', value: request.value.profileManager }
|
||||
],
|
||||
avatar: request.value.profileAvatar
|
||||
}))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user