|  |  |  | 
|---|
|  |  |  | <AppContainer> | 
|---|
|  |  |  | <ProTableQueryFilterBar @on-reset="reset"> | 
|---|
|  |  |  | <template #query> | 
|---|
|  |  |  | <QueryFilterItem tip-content="结算单状态"> | 
|---|
|  |  |  | <QueryFilterItem tip-content="验收状态"> | 
|---|
|  |  |  | <FieldRadio | 
|---|
|  |  |  | v-model="extraParamState.settlementOrderStatus" | 
|---|
|  |  |  | :value-enum="EnumTaskSettlementOrderStatusText" | 
|---|
|  |  |  | v-model="extraParamState.checkReceiveStatus" | 
|---|
|  |  |  | :value-enum="EnumTaskCheckReceiveStatusTextForFilter" | 
|---|
|  |  |  | buttonStyle | 
|---|
|  |  |  | showAllBtn | 
|---|
|  |  |  | @change="getList()" | 
|---|
|  |  |  | 
|---|
|  |  |  | v-model="extraParamState.keywords" | 
|---|
|  |  |  | style="width: 250px" | 
|---|
|  |  |  | placeholder="任务名称" | 
|---|
|  |  |  | @on-click-search="getList" | 
|---|
|  |  |  | @on-click-search="getList()" | 
|---|
|  |  |  | @keyup.enter="getList()" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </SearchInput> | 
|---|
|  |  |  | </QueryFilterItem> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | <template #btn> | 
|---|
|  |  |  | <el-button type="primary" link @click="handleDownloadTemplate()">结算单模板</el-button> | 
|---|
|  |  |  | <!-- <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> --> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | 
|---|
|  |  |  | </ProTableV2> | 
|---|
|  |  |  | </AppContainer> | 
|---|
|  |  |  | <UploadStatementDialog v-bind="dialogProps" /> | 
|---|
|  |  |  | <SettleDetailDialog v-bind="dialogSettleProps" /> | 
|---|
|  |  |  | <!-- <SettleDetailDialog v-bind="dialogSettleProps" /> --> | 
|---|
|  |  |  | <RechargeEnterpriseWalletDialog v-bind="dialogRechargeProps" /> | 
|---|
|  |  |  | <SettlMethodDialog v-bind="dialogSettlMethodProps" /> | 
|---|
|  |  |  | </LoadingLayout> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | EnumTaskSettlementOrderStatusText, | 
|---|
|  |  |  | EnumTaskSettlementOrderStatus, | 
|---|
|  |  |  | EnumTaskSettlementStatus, | 
|---|
|  |  |  | EnumTaskCheckReceiveStatusText, | 
|---|
|  |  |  | EnumTaskCheckReceiveStatusTextForFilter, | 
|---|
|  |  |  | EnumTaskCheckReceiveStatus, | 
|---|
|  |  |  | } from '@/constants'; | 
|---|
|  |  |  | import { downloadFileByUrl, format, setOssFileName } from '@/utils'; | 
|---|
|  |  |  | import * as taskServices from '@/services/api/task'; | 
|---|
|  |  |  | 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'; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | name: '结算', | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | emits: { | 
|---|
|  |  |  | onClick: (role: API.GetSettlementTasksQueryResultItem) => goDetail(role, 'settlement'), | 
|---|
|  |  |  | onClick: (role: API.GetSettlementTasksQueryResultItem) => openSettleMethodDialog(role), | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | extraProps: { | 
|---|
|  |  |  | hide: (role: API.GetSettlementTasksQueryResultItem) => | 
|---|
|  |  |  | 
|---|
|  |  |  | ), | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // { | 
|---|
|  |  |  | //   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) => | 
|---|
|  |  |  | 
|---|
|  |  |  | orderInput: extraParamState.orderInput, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | keywords: extraParamState.keywords, | 
|---|
|  |  |  | settlementOrderStatus: extraParamState.settlementOrderStatus, | 
|---|
|  |  |  | checkReceiveStatus: extraParamState.checkReceiveStatus, | 
|---|
|  |  |  | settlementStatus: extraParamState.settlementStatus, | 
|---|
|  |  |  | settlementTimeBegin: format(extraParamState.time?.[0] ?? '', 'YYYY-MM-DD 00:00:00'), | 
|---|
|  |  |  | settlementTimeEnd: format(extraParamState.time?.[1] ?? '', 'YYYY-MM-DD 23:59:59'), | 
|---|
|  |  |  | 
|---|
|  |  |  | defaultExtraParams: { | 
|---|
|  |  |  | keywords: '', | 
|---|
|  |  |  | settlementOrderStatus: '' as any as EnumTaskSettlementOrderStatus, | 
|---|
|  |  |  | checkReceiveStatus: '' as any as EnumTaskCheckReceiveStatus, | 
|---|
|  |  |  | settlementStatus: '' as any as EnumTaskSettlementStatus, | 
|---|
|  |  |  | time: [] as unknown as ModelValueType, | 
|---|
|  |  |  | orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }], | 
|---|
|  |  |  | 
|---|
|  |  |  | settlementOrderStatus: { type: 'enum', valueEnum: EnumTaskSettlementOrderStatusText }, | 
|---|
|  |  |  | settlementStatus: { type: 'enum', valueEnum: EnumTaskSettlementStatusText }, | 
|---|
|  |  |  | checkReceiveStatus: { type: 'enum', valueEnum: EnumTaskCheckReceiveStatusText }, | 
|---|
|  |  |  | auditStatus: { type: 'enum', valueEnum: EnumTaskSettlementAuditStatusText }, | 
|---|
|  |  |  | 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 : '', | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|