From 8d1d92a4baad8df0814a712224112f4b8eefc9d6 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期三, 12 十一月 2025 13:32:39 +0800
Subject: [PATCH] feat: 1.3.0.2

---
 src/views/EmploymentManage/CheckManage.vue |  136 +++++++++++++++++++++++++++------------------
 1 files changed, 82 insertions(+), 54 deletions(-)

diff --git a/src/views/EmploymentManage/CheckManage.vue b/src/views/EmploymentManage/CheckManage.vue
index 0fc0ccd..7810aad 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="璧峰鏃ユ湡"
@@ -39,14 +36,9 @@
           </QueryFilterItem>
         </template>
       </ProTableQueryFilterBar>
-      <ProTableV2
-        v-bind="proTableProps"
-        :columns="CheckManageColumns"
-        :operationBtns="operationBtns"
-      >
+      <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
       </ProTableV2>
     </AppContainer>
-    <CheckManageDialog v-bind="dialogProps" @check="handleCheck" />
   </LoadingLayout>
 </template>
 
@@ -61,39 +53,36 @@
   useTable,
   FieldDatePicker,
   FieldRadio,
-  defineOperationBtns,
-  useFormDialog,
 } from '@bole-core/components';
-import * as flexEnterpriseServices from '@/services/api/FlexEnterprise';
-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, OrderUtils, setOSSLink } from '@/utils';
+import { EnumTaskCheckReceiveStatusText } from '@/constants';
 
 defineOptions({
   name: 'CheckManage',
 });
 
-const operationBtns = defineOperationBtns([
-  {
-    data: {
-      enCode: 'checkBtn',
-      name: '楠屾敹',
-    },
+const operationBtnMap: Record<string, OperationBtnType> = {
+  detailBtn: {
     emits: {
-      onClick: (role) => openDialog(role, 'check'),
+      onClick: (role) => goCheckReceiveTaskDetail(role),
     },
   },
-  {
-    data: {
-      enCode: 'detailBtn',
-      name: '璇︽儏',
-    },
+  exportBtn: {
     emits: {
-      onClick: (role) => openDialog(role, 'detail'),
+      onClick: (role) => handleExport(role),
+    },
+    extraProps: {
+      hide: (row: API.GetCheckReceiveTasksQueryResultItem) =>
+        row.checkReceiveStatus !== EnumTaskCheckReceiveStatus.Completed,
     },
   },
-]);
+};
+
+const { column, operationBtns } = useAccess({
+  operationBtnMap,
+});
 
 const router = useRouter();
 
@@ -102,6 +91,12 @@
 };
 
 const state = reactive({ ...BaseState });
+
+const eventContext = useGlobalEventContext();
+
+eventContext.addEvent('checkReceiveTask', () => {
+  getList(paginationState.pageIndex);
+});
 
 onMounted(async () => {
   await getList();
@@ -117,17 +112,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;
@@ -138,29 +141,54 @@
   {
     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 },
+      checkReceiveMethods: {
+        formatter: (row: API.GetCheckReceiveTasksQueryResultItem) => {
+          return row.checkReceiveMethods
+            .map((item) => EnumTaskCheckReceiveMethodText[item])
+            .join(',');
+        },
+      },
+      serviceFee: {
+        type: 'money',
+        formatter: (row: API.GetCheckReceiveTasksQueryResultItem) => {
+          return OrderUtils.getServiceFeeText(row.serviceFee, 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, 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);
+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