From a61a6310e93bf792d3cc41944006d8663636b552 Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期四, 14 八月 2025 10:41:57 +0800 Subject: [PATCH] fix: 验收管理 --- src/views/EmploymentManage/CheckManage.vue | 116 +++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 74 insertions(+), 42 deletions(-) diff --git a/src/views/EmploymentManage/CheckManage.vue b/src/views/EmploymentManage/CheckManage.vue index 5342c37..dd1d12b 100644 --- a/src/views/EmploymentManage/CheckManage.vue +++ b/src/views/EmploymentManage/CheckManage.vue @@ -5,11 +5,8 @@ <template #query> <QueryFilterItem tip-content="楠屾敹鐘舵��"> <FieldRadio - v-model="extraParamState.flexEnterpriseSettingStatus" - :value-enum="[ - { label: '宸插畨鎺�', value: 1 }, - { label: '寰呭畨鎺�', value: 0 }, - ]" + v-model="extraParamState.checkReceiveStatus" + :value-enum="EnumTaskCheckReceiveStatusText" buttonStyle showAllBtn @change="getList()" @@ -17,7 +14,7 @@ </QueryFilterItem> <QueryFilterItem> <FieldDatePicker - v-model="extraParamState.flexEnterpriseSettingStatus" + v-model="extraParamState.checkReceiveTime" type="daterange" range-separator="~" start-placeholder="璧峰鏃ユ湡" @@ -46,7 +43,6 @@ > </ProTableV2> </AppContainer> - <CheckManageDialog v-bind="dialogProps" @check="handleCheck" /> </LoadingLayout> </template> @@ -65,9 +61,10 @@ useFormDialog, } from '@bole-core/components'; import { CheckManageColumns } from './constants'; -import { FlexEnterpriseSettingStatus, Gender } from '@/constants'; -import { OrderInputType } from '@bole-core/core'; -import CheckManageDialog from './components/CheckManageDialog.vue'; +import * as taskCheckReceiveServices from '@/services/api/taskCheckReceive'; +import { ModelValueType } from 'element-plus'; +import { downloadFileByUrl, format, setOSSLink } from '@/utils'; +import { EnumTaskCheckReceiveStatusText } from '@/constants'; defineOptions({ name: 'CheckManage', @@ -76,20 +73,24 @@ const operationBtns = defineOperationBtns([ { data: { - enCode: 'checkBtn', - name: '楠屾敹', - }, - emits: { - onClick: (role) => openDialog(role, 'check'), - }, - }, - { - data: { enCode: 'detailBtn', name: '璇︽儏', }, emits: { - onClick: (role) => openDialog(role, 'detail'), + onClick: (role) => goCheckReceiveTaskDetail(role), + }, + }, + { + data: { + enCode: 'exportBtn', + name: '瀵煎嚭', + }, + emits: { + onClick: (role) => handleExport(role), + }, + extraProps: { + hide: (row: API.GetCheckReceiveTasksQueryResultItem) => + row.checkReceiveStatus !== EnumTaskCheckReceiveStatus.Completed, }, }, ]); @@ -101,6 +102,12 @@ }; const state = reactive({ ...BaseState }); + +const eventContext = useGlobalEventContext(); + +eventContext.addEvent('checkReceiveTask', () => { + getList(paginationState.pageIndex); +}); onMounted(async () => { await getList(); @@ -116,17 +123,25 @@ } = useTable( async ({ pageIndex, pageSize }, extraParamState) => { try { - let params: API.GetFlexEnterpriseInput = { + let params: API.GetCheckReceiveTasksQuery = { pageModel: { rows: pageSize, page: pageIndex, orderInput: extraParamState.orderInput, }, - flexEnterpriseSettingStatus: extraParamState.flexEnterpriseSettingStatus, - searchWord: extraParamState.searchWord, + checkReceiveStatus: extraParamState.checkReceiveStatus, + checkReceiveTimeBegin: format( + extraParamState.checkReceiveTime?.[0] ?? '', + 'YYYY-MM-DD 00:00:00' + ), + checkReceiveTimeEnd: format( + extraParamState.checkReceiveTime?.[1] ?? '', + 'YYYY-MM-DD 23:59:59' + ), + keywords: extraParamState.searchWord, }; - let res = await flexEnterpriseServices.getFlexEnterpriseList(params, { + let res = await taskCheckReceiveServices.getCheckReceiveTasks(params, { showLoading: !state.loading, }); return res; @@ -137,30 +152,47 @@ { defaultExtraParams: { searchWord: '', - orderInput: [{ property: 'id', order: OrderInputType.Desc }], - flexEnterpriseSettingStatus: '' as any as FlexEnterpriseSettingStatus, + orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }], + checkReceiveStatus: '' as any as EnumTaskCheckReceiveStatus, + checkReceiveTime: [] as unknown as ModelValueType, }, - queryKey: ['flexEnterpriseServices/getFlexEnterpriseList'], - columnsRenderProps: {}, + queryKey: ['taskCheckReceiveServices/getCheckReceiveTasks'], + columnsRenderProps: { + checkReceiveStatus: { type: 'enum', valueEnum: EnumTaskCheckReceiveStatusText }, + billingMethod: { type: 'enum', valueEnum: EnumBillingMethodText }, + serviceFee: { + type: 'money', + formatter: (row) => { + return `${row.serviceFee}${EnumBillingMethodUnitText[row.billingMethod]}`; + }, + }, + settlementCycle: { type: 'enum', valueEnum: EnumSettlementCycleText }, + createdTime: { type: 'date', format: 'YYYY-MM-DD' }, + beginTime: { type: 'date', format: 'YYYY-MM-DD' }, + endTime: { type: 'date', format: 'YYYY-MM-DD' }, + lastCheckReceiveTime: { type: 'date' }, + }, } ); -const { dialogProps, dialogState, handleEdit, editForm } = useFormDialog({ - defaultFormParams: { - id: '', - type: '', - }, -}); - -function openDialog(row, type: string) { - handleEdit({ - id: row.id, - type: type, +function goCheckReceiveTaskDetail(row: API.GetCheckReceiveTasksQueryResultItem) { + router.push({ + name: 'CheckReceiveTaskDetail', + params: { + id: row.id ?? '', + }, }); } -function handleCheck(val) { - console.log('val: ', val); - dialogState.dialogVisible = false; +async function handleExport(row: API.GetCheckReceiveTasksQueryResultItem) { + try { + let params: API.ExportTaskCheckReceiveTaskUsersCommand = { + id: row.id, + }; + let res = await taskCheckReceiveServices.exportTaskCheckReceiveTaskUsers(params); + if (res) { + downloadFileByUrl(setOSSLink(res)); + } + } catch (error) {} } </script> -- Gitblit v1.9.1