import { BasicColumn, XEUtils } from '@eciol/ant-ui'; import { useGo } from '@eciol/hooks'; import { useI18n } from '@eciol/locale'; import { AcceptStatusEnum, BillStatusEnum, JASStatusEnum, PartnerConfirmStatusEnum, } from './constants.ts'; export const useDetail = () => { const { t } = useI18n(); const billStatusMap = new Map([ [BillStatusEnum.NEW, t('partnerPortal.jobList.billStatus.new')], [BillStatusEnum.APPROVING, t('partnerPortal.jobList.billStatus.approving')], [BillStatusEnum.APPROVED, t('partnerPortal.jobList.billStatus.approved')], [BillStatusEnum.RE_APPROVE, t('partnerPortal.jobList.billStatus.reApprove')], ]); const acceptStatusMap = new Map([ [AcceptStatusEnum.YES, t('partnerPortal.jobList.acceptStatus.accepted')], [AcceptStatusEnum.NO, t('partnerPortal.jobList.acceptStatus.noAccepted')], ]); const confirmStatusMap = new Map([ [PartnerConfirmStatusEnum.UNKNOWN, t('partnerPortal.jobList.confirmStatus.unknown')], [PartnerConfirmStatusEnum.CONFIRMED, t('partnerPortal.jobList.confirmStatus.confirm')], [PartnerConfirmStatusEnum.REJECT, t('partnerPortal.jobList.confirmStatus.reject')], ]); const JASStatusMap = { [JASStatusEnum.PENDING]: t('partnerPortal.jobList.jasStatus.pending'), [JASStatusEnum.IN_PROGRESS]: t('partnerPortal.jobList.jasStatus.inProgress'), [JASStatusEnum.ACCEPTED]: t('partnerPortal.jobList.jasStatus.Accepted'), [JASStatusEnum.REJECTED]: t('partnerPortal.jobList.jasStatus.rejected'), [JASStatusEnum.DELIVERED]: t('partnerPortal.jobList.jasStatus.delivered'), }; const JASStatusOptions = [ { label: t('partnerPortal.jobList.jasStatus.pending'), value: JASStatusEnum.PENDING, }, { label: t('partnerPortal.jobList.jasStatus.rejected'), value: JASStatusEnum.REJECTED, }, { label: t('partnerPortal.jobList.jasStatus.inProgress'), value: JASStatusEnum.IN_PROGRESS, }, { label: t('partnerPortal.jobList.jasStatus.delivered'), value: JASStatusEnum.DELIVERED, }, { label: t('partnerPortal.jobList.jasStatus.Accepted'), value: JASStatusEnum.ACCEPTED, }, ]; const go = useGo(); function getPoColumns(): BasicColumn[] { return [ { title: t('partnerPortal.jobList.po.jasNo'), dataIndex: 'jasNo', width: 250, }, { title: t('partnerPortal.jobList.jasName'), dataIndex: 'orderName', width: 300, }, { title: t('partnerPortal.jobList.status'), dataIndex: 'status', format(text) { return JASStatusMap[text]; }, }, // { // title: t('partnerPortal.jobList.submitStatus.title'), // dataIndex: 'submitStatus', // format(text) { // return text // ? t('partnerPortal.jobList.submitStatus.submitted') // : t('partnerPortal.jobList.submitStatus.unSubmit'); // }, // width: 180, // }, // { // title: t('partnerPortal.jobList.acceptStatus.title'), // dataIndex: 'acceptStatus', // format(text) { // return ( // (text // ? acceptStatusMap.get(AcceptStatusEnum.YES) // : acceptStatusMap.get(AcceptStatusEnum.NO)) ?? '' // ); // }, // }, // { // title: t('partnerPortal.jobList.confirmStatus.title'), // dataIndex: 'confirmStatus', // format: confirmStatusMap, // width: 180, // }, { title: t('partnerPortal.jobList.po.payOrgName'), dataIndex: 'payOrgName', width: 250, }, { title: t('partnerPortal.jobList.po.totalAmount'), dataIndex: 'totalAmount', format(text, record) { return `${XEUtils.commafy(text, { digits: 4, })} ${record.currencyName}`; }, }, { title: t('partnerPortal.jobList.po.bizTime'), dataIndex: 'biztime', format: 'utcDate|YYYY-MM-DD HH:mm', }, { title: t('partnerPortal.jobList.po.deliveryOn'), dataIndex: 'deliveryOn', format: 'utcDate|YYYY-MM-DD HH:mm', }, { title: t('partnerPortal.jobList.po.realSubmitTime'), dataIndex: 'realSubmitOn', format: 'utcDate|YYYY-MM-DD HH:mm', }, { title: t('partnerPortal.jobList.po.realAcceptTime'), dataIndex: 'realAcceptOn', format: 'utcDate|YYYY-MM-DD HH:mm', }, // { // title: t('partnerPortal.jobList.po.currencyName'), // dataIndex: 'currencyName', // }, { title: t('partnerPortal.jobList.po.createByEmpName'), dataIndex: 'createByEmpName', }, ]; } const toPoDetail = (val) => { go({ path: '/jas-list/detail', query: { id: val.id, isOperation: val.isOperation, }, }); }; return { billStatusMap, acceptStatusMap, confirmStatusMap, getPoColumns, toPoDetail, JASStatusMap, JASStatusOptions, }; };