| | |
| | | <template #btn> |
| | | <!-- <el-button type="primary" link @click="handleDownloadTemplate()">结算单模板</el-button> --> |
| | | <!-- <el-button type="primary" @click="handleAdd()">上传结算单</el-button> --> |
| | | <!-- <el-button type="primary" @click="handleDownloadTemplate()">导出</el-button> --> |
| | | <el-button type="primary" @click="handleExport()">导出</el-button> |
| | | </template> |
| | | </ProTableQueryFilterBar> |
| | | <ProTableV2 |
| | |
| | | <UploadStatementDialog v-bind="dialogProps" /> |
| | | <!-- <SettleDetailDialog v-bind="dialogSettleProps" /> --> |
| | | <RechargeEnterpriseWalletDialog v-bind="dialogRechargeProps" /> |
| | | <SettlMethodDialog v-bind="dialogSettlMethodProps" /> |
| | | </LoadingLayout> |
| | | </template> |
| | | |
| | |
| | | import { ModelValueType } from 'element-plus'; |
| | | import UploadStatementDialog from './components/UploadStatementDialog.vue'; |
| | | import SettleDetailDialog from './components/SettleDetailDialog.vue'; |
| | | import SettlMethodDialog from './components/SettlMethodDialog.vue'; |
| | | import RechargeEnterpriseWalletDialog from './components/RechargeEnterpriseWalletDialog.vue'; |
| | | import { Message } from '@bole-core/core'; |
| | | |
| | |
| | | { |
| | | data: { |
| | | enCode: 'settleBtn', |
| | | name: '结算', |
| | | name: '结算确认', |
| | | }, |
| | | emits: { |
| | | onClick: (role: API.GetSettlementTasksQueryResultItem) => goDetail(role, 'settlement'), |
| | | onClick: (role: API.GetSettlementTasksQueryResultItem) => openSettleMethodDialog(role), |
| | | }, |
| | | extraProps: { |
| | | hide: (role: API.GetSettlementTasksQueryResultItem) => |
| | | !( |
| | | role.settlementStatus === EnumTaskSettlementStatus.Wait && |
| | | role.checkReceiveStatus === EnumTaskCheckReceiveStatus.Completed |
| | | ), |
| | | !(role.settlementStatus === EnumTaskSettlementStatus.Wait), |
| | | }, |
| | | }, |
| | | { |
| | | data: { |
| | | enCode: 'recallBtn', |
| | | name: '撤回', |
| | | }, |
| | | emits: { |
| | | onClick: (role) => handleRecall(role), |
| | | }, |
| | | extraProps: { |
| | | hide: (role: API.GetSettlementTasksQueryResultItem) => |
| | | !( |
| | | role.settlementStatus === EnumTaskSettlementStatus.InProcess && |
| | | role.checkReceiveStatus === EnumTaskCheckReceiveStatus.Completed |
| | | ), |
| | | }, |
| | | }, |
| | | // { |
| | | // data: { |
| | | // enCode: 'recallBtn', |
| | | // name: '撤回', |
| | | // }, |
| | | // emits: { |
| | | // onClick: (role) => handleRecall(role), |
| | | // }, |
| | | // extraProps: { |
| | | // hide: (role: API.GetSettlementTasksQueryResultItem) => |
| | | // !( |
| | | // role.settlementStatus === EnumTaskSettlementStatus.InProcess && |
| | | // role.checkReceiveStatus === EnumTaskCheckReceiveStatus.Completed |
| | | // ), |
| | | // }, |
| | | // }, |
| | | // { |
| | | // data: { |
| | | // enCode: 'settleAuditBtn', |
| | | // name: '结算审核', |
| | | // }, |
| | | // emits: { |
| | | // onClick: (role: API.GetSettlementTasksQueryResultItem) => goDetail(role.id, 'settlement'), |
| | | // }, |
| | | // extraProps: { |
| | | // hide: (role: API.GetSettlementTasksQueryResultItem) => role.auditStatus !== null, |
| | | // }, |
| | | // }, |
| | | { |
| | | data: { |
| | | enCode: 'detailBtn', |
| | | name: '详情', |
| | | }, |
| | | emits: { |
| | | onClick: (role: API.GetSettlementTasksQueryResultItem) => goDetail(role), |
| | | onClick: (role: API.GetSettlementTasksQueryResultItem) => goDetail(role.id), |
| | | }, |
| | | // extraProps: { |
| | | // hide: (role: API.GetSettlementTasksQueryResultItem) => |
| | |
| | | onClick: (role) => handleExport(role), |
| | | }, |
| | | extraProps: { |
| | | hide: () => true, |
| | | hide: (role: API.GetSettlementTasksQueryResultItem) => |
| | | role.settlementStatus === EnumTaskSettlementStatus.Wait || |
| | | role.settlementStatus === EnumTaskSettlementStatus.InProcess, |
| | | }, |
| | | }, |
| | | ]); |
| | |
| | | settlementOrderStatus: { type: 'enum', valueEnum: EnumTaskSettlementOrderStatusText }, |
| | | settlementStatus: { type: 'enum', valueEnum: EnumTaskSettlementStatusText }, |
| | | checkReceiveStatus: { type: 'enum', valueEnum: EnumTaskCheckReceiveStatusText }, |
| | | auditStatus: { type: 'enum', valueEnum: EnumTaskSettlementAuditStatusText }, |
| | | settlementAccess: { type: 'enum', valueEnum: EnumEnterpriseWalletAccessText }, |
| | | actualSettlementAmount: { type: 'money' }, |
| | | settlementAmount: { type: 'money' }, |
| | | settlementTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' }, |
| | |
| | | editForm.settlementUrl = [] as UploadUserFile[]; |
| | | } |
| | | |
| | | function goDetail(row: API.GetSettlementTasksQueryResultItem, settlement?: string) { |
| | | const { |
| | | dialogProps: dialogSettlMethodProps, |
| | | handleAdd: handleSettlMethodAdd, |
| | | editForm: settlMethodEditForm, |
| | | } = useFormDialog({ |
| | | onConfirm: handleSettlMethod, |
| | | defaultFormParams: { |
| | | id: '', |
| | | settlementAccess: '' as any as EnumEnterpriseWalletAccess, |
| | | }, |
| | | }); |
| | | |
| | | function openSettleMethodDialog(row: API.GetSettlementTasksQueryResultItem) { |
| | | // handleSettlMethodAdd({ |
| | | // id: row.id, |
| | | // settlementAccess: '' as any as EnumEnterpriseWalletAccess, |
| | | // }); |
| | | goDetail(row.id, 'settlement'); |
| | | } |
| | | |
| | | async function handleSettlMethod() { |
| | | goDetail(settlMethodEditForm.id, 'settlement'); |
| | | } |
| | | |
| | | function goDetail(id: string, settlement?: string) { |
| | | router.push({ |
| | | name: 'ServiceChargeDetail', |
| | | params: { |
| | | id: row?.id ?? '', |
| | | id: id ?? '', |
| | | }, |
| | | query: { |
| | | settlement: settlement ? settlement : '', |
| | | // settlementAccess: settlementAccess ? settlementAccess : '', |
| | | }, |
| | | }); |
| | | } |
| | | |
| | | function handleExport(val) { |
| | | function handleExport(val?) { |
| | | console.log('val: ', val); |
| | | } |
| | | |