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() || '待补充',
|
dept: String(claim?.department_name || '').trim() || '待补充',
|
||||||
departmentName: String(claim?.department_name || '').trim() || '待补充',
|
departmentName: String(claim?.department_name || '').trim() || '待补充',
|
||||||
employeeName: String(claim?.employee_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: '',
|
entity: '',
|
||||||
typeCode,
|
typeCode,
|
||||||
typeLabel,
|
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) {
|
export function normalizeRequestForUi(request) {
|
||||||
if (!request) {
|
if (!request) {
|
||||||
return null
|
return null
|
||||||
@@ -190,6 +199,11 @@ export function normalizeRequestForUi(request) {
|
|||||||
String(request.secondaryStatusValue || request.travel || '').trim()
|
String(request.secondaryStatusValue || request.travel || '').trim()
|
||||||
|| (detailVariant === 'travel' ? '待安排行程' : '待补充票据')
|
|| (detailVariant === 'travel' ? '待安排行程' : '待补充票据')
|
||||||
const secondaryStatusTone = String(request.secondaryStatusTone || request.travelTone || '').trim() || 'neutral'
|
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 {
|
return {
|
||||||
...request,
|
...request,
|
||||||
@@ -230,6 +244,13 @@ export function normalizeRequestForUi(request) {
|
|||||||
note: String(request.note || '').trim(),
|
note: String(request.note || '').trim(),
|
||||||
profileName: String(request.person || request.applicant || request.employeeName || '').trim() || '当前申请人',
|
profileName: String(request.person || request.applicant || request.employeeName || '').trim() || '当前申请人',
|
||||||
profileDepartment: String(request.dept || request.department || request.departmentName || '').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:
|
profileAvatar:
|
||||||
String(request.person || request.applicant || request.employeeName || '申').trim().slice(0, 1) || '申'
|
String(request.person || request.applicant || request.employeeName || '申').trim().slice(0, 1) || '申'
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -422,6 +422,10 @@ export default {
|
|||||||
attachmentSummary: '待补充',
|
attachmentSummary: '待补充',
|
||||||
riskSummary: '待补充',
|
riskSummary: '待补充',
|
||||||
note: '',
|
note: '',
|
||||||
|
profileIdentity: '员工',
|
||||||
|
profilePosition: '待补充',
|
||||||
|
profileGrade: '待补充',
|
||||||
|
profileManager: '待补充',
|
||||||
profileName: '当前申请人',
|
profileName: '当前申请人',
|
||||||
profileDepartment: '待补充部门',
|
profileDepartment: '待补充部门',
|
||||||
profileAvatar: '申'
|
profileAvatar: '申'
|
||||||
@@ -443,7 +447,17 @@ export default {
|
|||||||
|
|
||||||
const profile = computed(() => ({
|
const profile = computed(() => ({
|
||||||
name: request.value.profileName,
|
name: request.value.profileName,
|
||||||
|
identity: request.value.profileIdentity,
|
||||||
|
position: request.value.profilePosition,
|
||||||
department: request.value.profileDepartment,
|
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
|
avatar: request.value.profileAvatar
|
||||||
}))
|
}))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user