|  |  |  | 
|---|
|  |  |  | <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()" | 
|---|
|  |  |  | 
|---|
|  |  |  | @change="getList()" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </QueryFilterItem> | 
|---|
|  |  |  | <!-- <QueryFilterItem> | 
|---|
|  |  |  | <QueryFilterItem> | 
|---|
|  |  |  | <FieldDatePicker | 
|---|
|  |  |  | v-model="extraParamState.time" | 
|---|
|  |  |  | type="daterange" | 
|---|
|  |  |  | 
|---|
|  |  |  | end-placeholder="截止日期" | 
|---|
|  |  |  | clearable | 
|---|
|  |  |  | @change="getList()" | 
|---|
|  |  |  | tooltipContent="创建时间" | 
|---|
|  |  |  | tooltipContent="结算时间" | 
|---|
|  |  |  | ></FieldDatePicker> | 
|---|
|  |  |  | </QueryFilterItem> --> | 
|---|
|  |  |  | </QueryFilterItem> | 
|---|
|  |  |  | <QueryFilterItem> | 
|---|
|  |  |  | <SearchInput | 
|---|
|  |  |  | 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" @click="handleAdd()">上传结算单</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> | 
|---|
|  |  |  | </ProTableQueryFilterBar> | 
|---|
|  |  |  | 
|---|
|  |  |  | :columns="ServiceChargeManageColumns" | 
|---|
|  |  |  | :operationBtns="operationBtns" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template #operationBtn-uploadBtn="{ row }"> | 
|---|
|  |  |  | <!-- <template #operationBtn-uploadBtn="{ row }"> | 
|---|
|  |  |  | <BlFileUpload | 
|---|
|  |  |  | v-model:file-url="editForm.settlementUrl" | 
|---|
|  |  |  | ref="uploadRef" | 
|---|
|  |  |  | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-button text type="primary" class="pro-table-operation-btn">重新上传</el-button> | 
|---|
|  |  |  | </BlFileUpload> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </template> --> | 
|---|
|  |  |  | </ProTableV2> | 
|---|
|  |  |  | </AppContainer> | 
|---|
|  |  |  | <UploadStatementDialog v-bind="dialogProps" /> | 
|---|
|  |  |  | <SettleDetailDialog v-bind="dialogSettleProps" /> | 
|---|
|  |  |  | <!-- <SettleDetailDialog v-bind="dialogSettleProps" /> --> | 
|---|
|  |  |  | <RechargeEnterpriseWalletDialog v-bind="dialogRechargeProps" /> | 
|---|
|  |  |  | <SettlMethodDialog v-bind="dialogSettlMethodProps" /> | 
|---|
|  |  |  | <EditSettleInfoDialog v-bind="dialogSettleInfoProps" /> | 
|---|
|  |  |  | </LoadingLayout> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | EnumTaskSettlementOrderStatusText, | 
|---|
|  |  |  | EnumTaskSettlementOrderStatus, | 
|---|
|  |  |  | EnumTaskSettlementStatus, | 
|---|
|  |  |  | EnumTaskCheckReceiveStatusText, | 
|---|
|  |  |  | EnumTaskCheckReceiveStatusTextForFilter, | 
|---|
|  |  |  | EnumTaskCheckReceiveStatus, | 
|---|
|  |  |  | } from '@/constants'; | 
|---|
|  |  |  | import { downloadFileByUrl, setOssFileName } from '@/utils'; | 
|---|
|  |  |  | 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'; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | defineOptions({ | 
|---|
|  |  |  | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const operationBtns = defineOperationBtns([ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | data: { | 
|---|
|  |  |  | enCode: 'uploadBtn', | 
|---|
|  |  |  | name: '上传', | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | extraProps: { | 
|---|
|  |  |  | hide: (row: API.GetSettlementTasksQueryResultItem) => | 
|---|
|  |  |  | row.settlementOrderStatus !== EnumTaskSettlementOrderStatus.Wait, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | data: { | 
|---|
|  |  |  | enCode: 'reUploadBtn', | 
|---|
|  |  |  | name: '重新上传', | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | extraProps: { | 
|---|
|  |  |  | hide: (row: API.GetSettlementTasksQueryResultItem) => | 
|---|
|  |  |  | !( | 
|---|
|  |  |  | row.settlementOrderStatus === EnumTaskSettlementOrderStatus.Completed && | 
|---|
|  |  |  | row.settlementStatus === EnumTaskSettlementStatus.Wait | 
|---|
|  |  |  | ), | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // { | 
|---|
|  |  |  | //   data: { | 
|---|
|  |  |  | //     enCode: 'uploadBtn', | 
|---|
|  |  |  | //     name: '上传', | 
|---|
|  |  |  | //   }, | 
|---|
|  |  |  | //   extraProps: { | 
|---|
|  |  |  | //     hide: (row: API.GetSettlementTasksQueryResultItem) => | 
|---|
|  |  |  | //       row.settlementOrderStatus !== EnumTaskSettlementOrderStatus.Wait, | 
|---|
|  |  |  | //   }, | 
|---|
|  |  |  | // }, | 
|---|
|  |  |  | // { | 
|---|
|  |  |  | //   data: { | 
|---|
|  |  |  | //     enCode: 'reUploadBtn', | 
|---|
|  |  |  | //     name: '重新上传', | 
|---|
|  |  |  | //   }, | 
|---|
|  |  |  | //   extraProps: { | 
|---|
|  |  |  | //     hide: (row: API.GetSettlementTasksQueryResultItem) => | 
|---|
|  |  |  | //       !( | 
|---|
|  |  |  | //         row.settlementOrderStatus === EnumTaskSettlementOrderStatus.Completed && | 
|---|
|  |  |  | //         row.settlementStatus === EnumTaskSettlementStatus.Wait | 
|---|
|  |  |  | //       ), | 
|---|
|  |  |  | //   }, | 
|---|
|  |  |  | // }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | data: { | 
|---|
|  |  |  | enCode: 'settleBtn', | 
|---|
|  |  |  | name: '结算', | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | emits: { | 
|---|
|  |  |  | onClick: (role: API.GetSettlementTasksQueryResultItem) => openSettleDialog(role), | 
|---|
|  |  |  | onClick: (role: API.GetSettlementTasksQueryResultItem) => openSettleMethodDialog(role), | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | extraProps: { | 
|---|
|  |  |  | hide: (role: API.GetSettlementTasksQueryResultItem) => | 
|---|
|  |  |  | !( | 
|---|
|  |  |  | role.settlementOrderStatus === EnumTaskSettlementOrderStatus.Completed && | 
|---|
|  |  |  | role.settlementStatus === EnumTaskSettlementStatus.Wait | 
|---|
|  |  |  | role.settlementStatus === EnumTaskSettlementStatus.Wait && | 
|---|
|  |  |  | role.checkReceiveStatus === EnumTaskCheckReceiveStatus.Completed | 
|---|
|  |  |  | ), | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | extraProps: { | 
|---|
|  |  |  | hide: (role: API.GetSettlementTasksQueryResultItem) => | 
|---|
|  |  |  | role.settlementStatus !== EnumTaskSettlementStatus.InProcess, | 
|---|
|  |  |  | !( | 
|---|
|  |  |  | role.settlementStatus === EnumTaskSettlementStatus.InProcess && | 
|---|
|  |  |  | role.checkReceiveStatus === EnumTaskCheckReceiveStatus.Completed | 
|---|
|  |  |  | ), | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | data: { | 
|---|
|  |  |  | enCode: 'settleAuditBtn', | 
|---|
|  |  |  | name: '结算审核', | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | emits: { | 
|---|
|  |  |  | onClick: (role: API.GetSettlementTasksQueryResultItem) => goDetail(role.id), | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // extraProps: { | 
|---|
|  |  |  | //   hide: (role: API.GetSettlementTasksQueryResultItem) => | 
|---|
|  |  |  | //     role.settlementOrderStatus === EnumTaskSettlementOrderStatus.Wait, | 
|---|
|  |  |  | // }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | data: { | 
|---|
|  |  |  | 
|---|
|  |  |  | emits: { | 
|---|
|  |  |  | onClick: (role: API.GetSettlementTasksQueryResultItem) => goDetail(role.id), | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | extraProps: { | 
|---|
|  |  |  | hide: (role: API.GetSettlementTasksQueryResultItem) => | 
|---|
|  |  |  | role.settlementOrderStatus === EnumTaskSettlementOrderStatus.Wait, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // extraProps: { | 
|---|
|  |  |  | //   hide: (role: API.GetSettlementTasksQueryResultItem) => | 
|---|
|  |  |  | //     role.settlementOrderStatus === EnumTaskSettlementOrderStatus.Wait, | 
|---|
|  |  |  | // }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | data: { | 
|---|
|  |  |  | 
|---|
|  |  |  | onClick: (role) => handleExport(role), | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | extraProps: { | 
|---|
|  |  |  | hide: () => false, | 
|---|
|  |  |  | hide: () => true, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ]); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const router = useRouter(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const { userDetail } = useUser(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const eventContext = useGlobalEventContext(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | 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'), | 
|---|
|  |  |  | }; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | let res = await taskServices.getSettlementTasks(params, { | 
|---|
|  |  |  | 
|---|
|  |  |  | 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 }], | 
|---|
|  |  |  | 
|---|
|  |  |  | columnsRenderProps: { | 
|---|
|  |  |  | settlementOrderStatus: { type: 'enum', valueEnum: EnumTaskSettlementOrderStatusText }, | 
|---|
|  |  |  | settlementStatus: { type: 'enum', valueEnum: EnumTaskSettlementStatusText }, | 
|---|
|  |  |  | checkReceiveStatus: { type: 'enum', valueEnum: EnumTaskCheckReceiveStatusText }, | 
|---|
|  |  |  | actualSettlementAmount: { type: 'money' }, | 
|---|
|  |  |  | settlementAmount: { type: 'money' }, | 
|---|
|  |  |  | settlementTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' }, | 
|---|
|  |  |  | createdTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' }, | 
|---|
|  |  |  | settlementOrderTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' }, | 
|---|
|  |  |  | settlementOrderName: { | 
|---|
|  |  |  | formatter: (row: API.GetSettlementTasksQueryResultItem) => | 
|---|
|  |  |  | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | async function handleAddOrEdit() { | 
|---|
|  |  |  | console.log('editForm: ', editForm); | 
|---|
|  |  |  | goDetail(editForm.id, editForm.settlementUrl[0]?.path); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | let params: API.ImportTaskSettlementOrderRostersCommand = { | 
|---|
|  |  |  | id: editForm.id, | 
|---|
|  |  |  | url: editForm.settlementUrl[0]?.path, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | let res = await taskServices.importTaskSettlementOrderRosters(params); | 
|---|
|  |  |  | if (res) { | 
|---|
|  |  |  | goSettlementDetail(editForm.id, editForm.settlementUrl[0]?.path); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } catch (error) {} | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const { | 
|---|
|  |  |  | 
|---|
|  |  |  | name: '', | 
|---|
|  |  |  | code: '', | 
|---|
|  |  |  | settlementUserCount: 0, | 
|---|
|  |  |  | settlementAmount: 0, | 
|---|
|  |  |  | actualSettlementAmount: 0, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | let params: API.SureTaskSettlementCommand = { | 
|---|
|  |  |  | taskInfoId: settleEditForm.id, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | let res = await taskServices.sureTaskSettlement(params); | 
|---|
|  |  |  | let res = await taskServices.sureTaskSettlement(params, { | 
|---|
|  |  |  | skipErrorHandler: true, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | if (res) { | 
|---|
|  |  |  | Message.successMessage('操作成功'); | 
|---|
|  |  |  | getList(paginationState.pageIndex); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } catch (error) {} | 
|---|
|  |  |  | } catch (error) { | 
|---|
|  |  |  | if (error?.info?.errorCode == 's510') { | 
|---|
|  |  |  | handleRechargeAdd(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const { | 
|---|
|  |  |  | dialogProps: dialogRechargeProps, | 
|---|
|  |  |  | handleAdd: handleRechargeAdd, | 
|---|
|  |  |  | editForm: rechargeEditForm, | 
|---|
|  |  |  | } = useFormDialog({ | 
|---|
|  |  |  | defaultFormParams: { | 
|---|
|  |  |  | access: EnumEnterpriseWalletAccess.Alipay, | 
|---|
|  |  |  | amount: null as number, | 
|---|
|  |  |  | remark: '', | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function openSettleDialog(row: API.GetSettlementTasksQueryResultItem) { | 
|---|
|  |  |  | handleSettleEdit({ | 
|---|
|  |  |  | 
|---|
|  |  |  | name: row.name, | 
|---|
|  |  |  | code: row.code, | 
|---|
|  |  |  | settlementUserCount: row.settlementUserCount ?? 0, | 
|---|
|  |  |  | settlementAmount: row.settlementAmount ?? 0, | 
|---|
|  |  |  | actualSettlementAmount: row.actualSettlementAmount ?? 0, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | row: API.GetSettlementTasksQueryResultItem | 
|---|
|  |  |  | ) { | 
|---|
|  |  |  | if (response.path) { | 
|---|
|  |  |  | goDetail(row.id, response.path); | 
|---|
|  |  |  | goSettlementDetail(row.id, response.path); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | async function goDetail(id: string, url?: string) { | 
|---|
|  |  |  | async function goSettlementDetail(id: string, url?: string) { | 
|---|
|  |  |  | await router.push({ | 
|---|
|  |  |  | name: 'ServiceChargeDetail', | 
|---|
|  |  |  | params: { | 
|---|
|  |  |  | id: id, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | query: { | 
|---|
|  |  |  | url: url ? url : '', | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | editForm.settlementUrl = [] as UploadUserFile[]; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | async function handleSettlMethod() { | 
|---|
|  |  |  | goDetail(settlMethodEditForm.id, 'settlement', settlMethodEditForm.settlementAccess); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function goDetail(id: string, settlement?: string, settlementAccess?: EnumEnterpriseWalletAccess) { | 
|---|
|  |  |  | router.push({ | 
|---|
|  |  |  | name: 'ServiceChargeDetail', | 
|---|
|  |  |  | params: { | 
|---|
|  |  |  | id: id ?? '', | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | query: { | 
|---|
|  |  |  | settlement: settlement ? settlement : '', | 
|---|
|  |  |  | settlementAccess: settlementAccess ? settlementAccess : '', | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function handleExport(val) { | 
|---|
|  |  |  | 
|---|
|  |  |  | '结算单模板' | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const { | 
|---|
|  |  |  | dialogProps: dialogSettleInfoProps, | 
|---|
|  |  |  | handleEdit: handleSettleInfoEdit, | 
|---|
|  |  |  | editForm: settleInfoEditForm, | 
|---|
|  |  |  | } = useFormDialog({ | 
|---|
|  |  |  | onConfirm: handleSettleInfo, | 
|---|
|  |  |  | defaultFormParams: { | 
|---|
|  |  |  | id: '', | 
|---|
|  |  |  | actualSettlementAmount: 0, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | async function handleSettleInfo() {} | 
|---|
|  |  |  | </script> | 
|---|