From 3ae270ee2e6518522dce3153f483b8c5b3d3428d Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期五, 28 十一月 2025 16:42:05 +0800
Subject: [PATCH] fix: bug

---
 src/views/EmploymentManage/EmploymentManageArrange.vue |  108 +++++++++++++++++++++++++++++------------------------
 1 files changed, 59 insertions(+), 49 deletions(-)

diff --git a/src/views/EmploymentManage/EmploymentManageArrange.vue b/src/views/EmploymentManage/EmploymentManageArrange.vue
index e587122..a89ff48 100644
--- a/src/views/EmploymentManage/EmploymentManageArrange.vue
+++ b/src/views/EmploymentManage/EmploymentManageArrange.vue
@@ -3,41 +3,23 @@
     <AppContainer>
       <ProTableQueryFilterBar @on-reset="reset">
         <template #query>
-          <QueryFilterItem tip-content="褰曠敤鐘舵��">
+          <QueryFilterItem>
             <FieldRadio
-              v-model="extraParamState.flexEnterpriseSettingStatus"
-              :value-enum="[
-                { label: '宸插畨鎺�', value: 1 },
-                { label: '寰呭畨鎺�', value: 0 },
-              ]"
-              buttonStyle
-              showAllBtn
-              @change="getList()"
-            />
-          </QueryFilterItem>
-          <QueryFilterItem tip-content="瀹炲悕鐘舵��">
-            <FieldRadio
-              v-model="extraParamState.flexEnterpriseSettingStatus"
-              :value-enum="[
-                { label: '鍙戝竷涓�', value: 1 },
-                { label: '宸插仠姝�', value: 0 },
-              ]"
+              v-model="extraParamState.arrangeStatus"
+              :value-enum="EnumTaskUserArrangeStatusText"
               buttonStyle
               showAllBtn
               @change="getList()"
             />
           </QueryFilterItem>
           <QueryFilterItem>
-            <FieldDatePicker
-              v-model="extraParamState.flexEnterpriseSettingStatus"
-              type="daterange"
-              range-separator="~"
-              start-placeholder="璧峰鏃ユ湡"
-              end-placeholder="鎴鏃ユ湡"
-              clearable
+            <FieldRadio
+              v-model="extraParamState.applyStatus"
+              :value-enum="EnumGetArrangeTaskUsersQueryApplyStatusText"
+              buttonStyle
+              showAllBtn
               @change="getList()"
-              tooltipContent="鍙戝竷鏃堕棿"
-            ></FieldDatePicker>
+            />
           </QueryFilterItem>
           <QueryFilterItem>
             <SearchInput
@@ -51,11 +33,7 @@
           </QueryFilterItem>
         </template>
       </ProTableQueryFilterBar>
-      <ProTableV2
-        v-bind="proTableProps"
-        :columns="EmploymentArrangeColumns"
-        :operationBtns="operationBtns"
-      >
+      <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
       </ProTableV2>
     </AppContainer>
   </LoadingLayout>
@@ -76,25 +54,36 @@
 } from '@bole-core/components';
 import { EmploymentArrangeColumns } from './constants';
 import { Message } from '@bole-core/core';
-import { FlexEnterpriseSettingStatus } from '@/constants';
+import * as taskUserServices from '@/services/api/taskUser';
+import {
+  EnumTaskUserArrangeStatusText,
+  EnumGetArrangeTaskUsersQueryApplyStatusText,
+} from '@/constants';
+import { hiddenIDNumberForEnd4 } from '@/utils';
 
 defineOptions({
   name: 'EmploymentManageArrange',
 });
 
-const operationBtns = defineOperationBtns([
-  {
-    data: {
-      enCode: 'arrangeBtn',
-      name: '瀹夋帓',
-    },
+const operationBtnMap: Record<string, OperationBtnType> = {
+  arrangeBtn: {
     emits: {
       onClick: (role) => handleArrange(role),
     },
+    extraProps: {
+      hide: (row: API.GetArrangeTaskUsersQueryResultItem) =>
+        row.arrangeStatus === EnumTaskUserArrangeStatus.Complete,
+    },
   },
-]);
+};
+
+const { column, operationBtns } = useAccess({
+  operationBtnMap,
+});
 
 const router = useRouter();
+const route = useRoute();
+const id = route.params.id as string;
 
 const BaseState = {
   loading: true,
@@ -116,17 +105,19 @@
 } = useTable(
   async ({ pageIndex, pageSize }, extraParamState) => {
     try {
-      let params: API.GetFlexEnterpriseInput = {
+      let params: API.GetArrangeTaskUsersQuery = {
         pageModel: {
           rows: pageSize,
           page: pageIndex,
           orderInput: extraParamState.orderInput,
         },
-        flexEnterpriseSettingStatus: extraParamState.flexEnterpriseSettingStatus,
-        searchWord: extraParamState.searchWord,
+        id: id,
+        keywords: extraParamState.searchWord,
+        arrangeStatus: extraParamState.arrangeStatus,
+        applyStatus: extraParamState.applyStatus,
       };
 
-      let res = await flexEnterpriseServices.getFlexEnterpriseList(params, {
+      let res = await taskUserServices.getArrangeTaskUsers(params, {
         showLoading: !state.loading,
       });
       return res;
@@ -138,14 +129,33 @@
     defaultExtraParams: {
       searchWord: '',
       orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
-      flexEnterpriseSettingStatus: '' as any as FlexEnterpriseSettingStatus,
+      arrangeStatus: '' as any as EnumTaskUserArrangeStatus,
+      applyStatus: '' as any as EnumGetArrangeTaskUsersQueryApplyStatus,
     },
-    queryKey: ['flexEnterpriseServices/getFlexEnterpriseList'],
-    columnsRenderProps: {},
+    queryKey: ['taskUserServices/getArrangeTaskUsers'],
+    columnsRenderProps: {
+      gender: { type: 'enum', valueEnum: EnumUserGenderTextForPerson },
+      arrangeStatus: { type: 'enum', valueEnum: EnumTaskUserArrangeStatusText },
+      identity: {
+        formatter: (row: API.GetArrangeTaskUsersQueryResultItem) => {
+          return hiddenIDNumberForEnd4(row.identity);
+        },
+      },
+    },
   }
 );
 
-function handleArrange(row) {
-  console.log('row: ', row);
+async function handleArrange(row: API.GetArrangeTaskUsersQueryResultItem) {
+  try {
+    let res = await taskUserServices.setTaskUserArrange({
+      enterpriseEmployeeId: row.id,
+      taskInfoId: id,
+      arrangeStatus: EnumTaskUserArrangeStatus.Complete,
+    });
+    if (res) {
+      Message.successMessage('鎿嶄綔鎴愬姛');
+      getList(paginationState.pageIndex);
+    }
+  } catch (error) {}
 }
 </script>

--
Gitblit v1.9.1