| | |
| | | computeLeaveDurationDisplay, |
| | | computeOvertimeHoursDisplay, |
| | | } from "../../../_utils/approvalModuleApplyExtras.js"; |
| | | import { resolveInstanceFormPayload } from "../../../_utils/approvalModuleListSearch.js"; |
| | | import { |
| | | businessStatusTagType, |
| | | businessStatusText, |
| | |
| | | taskStatusTagType, |
| | | taskStatusText, |
| | | } from "../../../_utils/approveListUtils.js"; |
| | | import { parseApprovalFormConfig } from "../../../_utils/approvalFormField.js"; |
| | | |
| | | const props = defineProps({ |
| | | row: { type: Object, default: () => ({}) }, |
| | |
| | | const statusTagType = status => |
| | | isBusinessModule.value ? businessStatusTagType(status) : instanceStatusTagType(status); |
| | | |
| | | const displayFields = computed(() => |
| | | resolveInstanceDisplayFields(props.row?.formConfig) |
| | | ); |
| | | const displayFields = computed(() => resolveInstanceDisplayFields(props.row)); |
| | | |
| | | const moduleExtraRows = computed(() => { |
| | | const rows = []; |
| | | const cfg = parseApprovalFormConfig(props.row?.formConfig); |
| | | const payload = {}; |
| | | (cfg.fields || []).forEach(f => { |
| | | if (f?.key) payload[f.key] = f.value ?? ""; |
| | | const { fields, formPayload } = resolveInstanceFormPayload(props.row); |
| | | const payload = { ...formPayload }; |
| | | (fields || []).forEach(f => { |
| | | if (f?.key && payload[f.key] == null) payload[f.key] = f.value ?? ""; |
| | | }); |
| | | if (props.moduleKey === APPROVAL_MODULE_KEYS.LEAVE) { |
| | | const balance = payload.leaveBalanceDays; |
| | | if (balance != null && balance !== "") { |
| | | rows.push({ label: "假期余额", value: `${balance} 天` }); |
| | | } |
| | | const days = computeLeaveDurationDisplay(cfg.fields, payload); |
| | | const days = computeLeaveDurationDisplay(fields, payload); |
| | | if (days) rows.push({ label: "请假时长", value: `${days} 天` }); |
| | | } |
| | | if (props.moduleKey === APPROVAL_MODULE_KEYS.OVERTIME) { |
| | | const hours = computeOvertimeHoursDisplay(cfg.fields, payload); |
| | | const hours = computeOvertimeHoursDisplay(fields, payload); |
| | | if (hours) rows.push({ label: "加班时长", value: `${hours} 小时` }); |
| | | } |
| | | if (props.moduleKey === APPROVAL_MODULE_KEYS.TRANSFER) { |