| | |
| | | </ProTableQueryFilterBar> |
| | | <ProTableV2 |
| | | v-bind="proTableProps" |
| | | :columns="SettlementListColumns" |
| | | :columns="column" |
| | | :operationBtns="operationBtns" |
| | | :auto-height="false" |
| | | ref="proTable" |
| | |
| | | BlFileUpload, |
| | | UploadUserFile, |
| | | } from '@bole-core/components'; |
| | | import { SettlementListColumns } from './constants'; |
| | | import { useQuery } from '@tanstack/vue-query'; |
| | | import * as taskServices from '@/services/api/task'; |
| | | import * as taskUserServices from '@/services/api/taskUser'; |
| | |
| | | |
| | | const { closeViewPush } = useRouteView(); |
| | | const eventContext = useGlobalEventContext(); |
| | | const operationBtns = defineOperationBtns([ |
| | | { |
| | | data: { |
| | | enCode: 'editBtn', |
| | | name: '编辑', |
| | | }, |
| | | const operationBtnMap: Record<string, OperationBtnType> = { |
| | | editBtn: { |
| | | emits: { |
| | | onClick: (role) => openDialog(role), |
| | | }, |
| | |
| | | hide: () => !isSettlement.value, |
| | | }, |
| | | }, |
| | | ]); |
| | | }; |
| | | const { column, operationBtns, checkSubModuleItemShow } = useAccess({ |
| | | operationBtnMap, |
| | | }); |
| | | const route = useRoute(); |
| | | const id = (route.params.id as string) ?? ''; |
| | | const settlement = (route.query.settlement as string) ?? ''; |
| | |
| | | auditStatus: '' as any as EnumTaskSettlementAuditStatus, |
| | | |
| | | timeoutServiceFee: 0, |
| | | |
| | | supplierEnterpriseId: '', |
| | | }); |
| | | |
| | | const BaseState = { |
| | |
| | | form.settlementAccess = res?.detail?.settlementAccess; |
| | | form.auditStatus = res?.detail?.auditStatus; |
| | | form.timeoutServiceFee = res?.detail?.timeoutServiceFee ?? 0; |
| | | form.supplierEnterpriseId = res?.detail?.supplierEnterpriseId; |
| | | // form.settlementOrderName = setOssFileName(res?.detail?.settlementOrderName); |
| | | // form.settlementOrderTime = res?.detail?.settlementOrderTime ?? ''; |
| | | } |
| | |
| | | } |
| | | |
| | | function handleSubmit() { |
| | | let actualList = form.settlementTaskUsers.filter((x) => x.actualSettlementAmount > 0); |
| | | const actualSettlementAmount = actualList.reduce( |
| | | (pre, cur) => pre + cur.actualSettlementAmount, |
| | | 0 |
| | | ); |
| | | const settlementAmount = actualList.reduce((pre, cur) => pre + cur.settlementAmount, 0); |
| | | handleSettleEdit({ |
| | | id: id, |
| | | name: form.name, |
| | | code: form.code, |
| | | settlementUserCount: form.settlementTaskUsers.length, |
| | | actualSettlementAmount: form.actualSettlementAmount, |
| | | settlementAmount: form.settlementAmount, |
| | | settlementUserCount: actualList.length, |
| | | actualSettlementAmount: actualSettlementAmount, |
| | | settlementAmount: settlementAmount, |
| | | settlementAccess: form.settlementAccess, |
| | | supplierEnterpriseId: form.supplierEnterpriseId, |
| | | }); |
| | | } |
| | | |
| | |
| | | settlementAmount: 0, |
| | | actualSettlementAmount: 0, |
| | | settlementAccess: '' as any as EnumEnterpriseWalletAccess, |
| | | supplierEnterpriseId: '', |
| | | }, |
| | | }); |
| | | |
| | | async function handleSettle() { |
| | | sureTaskSettlementOrder(); |
| | | auditTaskSettlement(); |
| | | } |
| | | |
| | | async function auditTaskSettlement() { |
| | | try { |
| | | let params: API.AuditTaskSettlementCommand = { |
| | | id: id, |
| | | auditStatus: EnumTaskSettlementAuditStatus.Pass, |
| | | rosters: form.settlementTaskUsers.map((item) => ({ |
| | | id: item.id, |
| | | serviceFee: item.serviceFee, |
| | | timeoutHours: item.timeoutHours, |
| | | timeoutFee: item.timeoutFee, |
| | | otherFee: item.otherFee, |
| | | remark: item.remark, |
| | | settlementAmount: item.settlementAmount, |
| | | })), |
| | | }; |
| | | let res = await taskServices.auditTaskSettlement(params); |
| | | if (res) { |
| | | Message.successMessage('操作成功'); |
| | | eventContext.emit('sureTaskSettlementOrder'); |
| | | handleBack(); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | |
| | | async function sureTaskSettlementOrder() { |