From d3d8fde64c4df263fd696f1599cb79fe9efb7623 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期五, 29 八月 2025 15:22:20 +0800
Subject: [PATCH] feat: 签约

---
 src/views/FlexJobManage/FlexJobManage.vue                   |   60 +++++++++---
 src/services/api/enterpriseEmployee.ts                      |   51 ++++++++++
 src/views/EmploymentManage/components/CheckManageDialog.vue |    3 
 .eslintrc-auto-import.json                                  |    3 
 src/services/api/typings.d.ts                               |   99 +++++++++++++++++++
 src/views/FlexJobManage/components/SignDialog.vue           |   14 ++
 auto-imports.d.ts                                           |    8 +
 src/constants/enterpriseEmployee.ts                         |    8 +
 src/constants/apiEnum.ts                                    |   18 +++
 src/services/api/enterprise.ts                              |   15 +++
 10 files changed, 254 insertions(+), 25 deletions(-)

diff --git a/.eslintrc-auto-import.json b/.eslintrc-auto-import.json
index 56c5c68..649d418 100644
--- a/.eslintrc-auto-import.json
+++ b/.eslintrc-auto-import.json
@@ -26,6 +26,8 @@
     "EnumDataSource": true,
     "EnumDbAuditOperate": true,
     "EnumElectronSignAccess": true,
+    "EnumEnterpriseCostStatus": true,
+    "EnumEnterpriseCostType": true,
     "EnumEnterpriseRealMethod": true,
     "EnumMenuType": true,
     "EnumMenuVisitLevel": true,
@@ -61,6 +63,7 @@
     "EnumTaskUserHireStatusText": true,
     "EnumTaskUserSignContractStatus": true,
     "EnumTaskUserSignContractStatusText": true,
+    "EnumTaskUserSignContractStatusTextForFilter": true,
     "EnumTaskUserSubmitCheckReceiveStatus": true,
     "EnumTaskUserSubmitCheckReceiveStatusText": true,
     "EnumUserGender": true,
diff --git a/auto-imports.d.ts b/auto-imports.d.ts
index 2e68bff..50dfe20 100644
--- a/auto-imports.d.ts
+++ b/auto-imports.d.ts
@@ -30,6 +30,8 @@
   const EnumDataSource: typeof import('./src/constants/apiEnum')['EnumDataSource']
   const EnumDbAuditOperate: typeof import('./src/constants/apiEnum')['EnumDbAuditOperate']
   const EnumElectronSignAccess: typeof import('./src/constants/apiEnum')['EnumElectronSignAccess']
+  const EnumEnterpriseCostStatus: typeof import('./src/constants/apiEnum')['EnumEnterpriseCostStatus']
+  const EnumEnterpriseCostType: typeof import('./src/constants/apiEnum')['EnumEnterpriseCostType']
   const EnumEnterpriseRealMethod: typeof import('./src/constants/apiEnum')['EnumEnterpriseRealMethod']
   const EnumMenuType: typeof import('./src/constants/apiEnum')['EnumMenuType']
   const EnumMenuVisitLevel: typeof import('./src/constants/apiEnum')['EnumMenuVisitLevel']
@@ -66,6 +68,7 @@
   const EnumTaskUserHireStatusText: typeof import('./src/constants/enterpriseEmployee')['EnumTaskUserHireStatusText']
   const EnumTaskUserSignContractStatus: typeof import('./src/constants/apiEnum')['EnumTaskUserSignContractStatus']
   const EnumTaskUserSignContractStatusText: typeof import('./src/constants/enterpriseEmployee')['EnumTaskUserSignContractStatusText']
+  const EnumTaskUserSignContractStatusTextForFilter: typeof import('./src/constants/enterpriseEmployee')['EnumTaskUserSignContractStatusTextForFilter']
   const EnumTaskUserSubmitCheckReceiveStatus: typeof import('./src/constants/apiEnum')['EnumTaskUserSubmitCheckReceiveStatus']
   const EnumTaskUserSubmitCheckReceiveStatusText: typeof import('./src/constants/task')['EnumTaskUserSubmitCheckReceiveStatusText']
   const EnumUserGender: typeof import('./src/constants/apiEnum')['EnumUserGender']
@@ -223,7 +226,7 @@
   export type { Component, Slot, Slots, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
   import('vue')
   // @ts-ignore
-  export type { EnumBillingMethod, EnumClientType, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumEnterpriseRealMethod, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, EnumPersonalUserRealStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckReceiveStatus, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton, EnumBillingMethod, EnumClientType, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumEnterpriseRealMethod, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, EnumPersonalUserRealStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckReceiveStatus, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton } from './src/constants/apiEnum'
+  export type { EnumBillingMethod, EnumClientType, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumEnterpriseCostStatus, EnumEnterpriseCostType, EnumEnterpriseRealMethod, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, EnumPersonalUserRealStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckReceiveStatus, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton, EnumBillingMethod, EnumClientType, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumEnterpriseCostStatus, EnumEnterpriseCostType, EnumEnterpriseRealMethod, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, EnumPersonalUserRealStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckReceiveStatus, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton } from './src/constants/apiEnum'
   import('./src/constants/apiEnum')
   // @ts-ignore
   export type { CategoryCode, IdentityCodeEnum, EducationCodeEnum, CertificateTypeCodeEnum, WelfareCodeEnum } from './src/constants/dic'
@@ -278,6 +281,8 @@
     readonly EnumDataSource: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumDataSource']>
     readonly EnumDbAuditOperate: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumDbAuditOperate']>
     readonly EnumElectronSignAccess: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumElectronSignAccess']>
+    readonly EnumEnterpriseCostStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumEnterpriseCostStatus']>
+    readonly EnumEnterpriseCostType: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumEnterpriseCostType']>
     readonly EnumEnterpriseRealMethod: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumEnterpriseRealMethod']>
     readonly EnumMenuType: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumMenuType']>
     readonly EnumMenuVisitLevel: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumMenuVisitLevel']>
@@ -313,6 +318,7 @@
     readonly EnumTaskUserHireStatusText: UnwrapRef<typeof import('./src/constants/enterpriseEmployee')['EnumTaskUserHireStatusText']>
     readonly EnumTaskUserSignContractStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumTaskUserSignContractStatus']>
     readonly EnumTaskUserSignContractStatusText: UnwrapRef<typeof import('./src/constants/enterpriseEmployee')['EnumTaskUserSignContractStatusText']>
+    readonly EnumTaskUserSignContractStatusTextForFilter: UnwrapRef<typeof import('./src/constants/enterpriseEmployee')['EnumTaskUserSignContractStatusTextForFilter']>
     readonly EnumTaskUserSubmitCheckReceiveStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumTaskUserSubmitCheckReceiveStatus']>
     readonly EnumTaskUserSubmitCheckReceiveStatusText: UnwrapRef<typeof import('./src/constants/task')['EnumTaskUserSubmitCheckReceiveStatusText']>
     readonly EnumUserGender: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumUserGender']>
diff --git a/src/constants/apiEnum.ts b/src/constants/apiEnum.ts
index bd799b6..e4382ec 100644
--- a/src/constants/apiEnum.ts
+++ b/src/constants/apiEnum.ts
@@ -71,6 +71,22 @@
   AlipaySign = 20,
 }
 
+/** 浼佷笟鐢ㄩ噺鎵h垂鐘舵�� */
+export enum EnumEnterpriseCostStatus {
+  /**鎵h垂鎴愬姛 */
+  Success = 10,
+  /**鎵h垂澶辫触 */
+  Fail = 20,
+}
+
+/** 浼佷笟鐢ㄩ噺绫诲瀷 */
+export enum EnumEnterpriseCostType {
+  /**鐭俊 */
+  SMS = 10,
+  /**鐢靛瓙绛� */
+  ElectronSign = 20,
+}
+
 /** 浼佷笟瀹炲悕鏂瑰紡 */
 export enum EnumEnterpriseRealMethod {
   /**浼佷笟涓夎绱� */
@@ -331,8 +347,6 @@
   Pass = 20,
   /**宸叉嫆绛� */
   Refuse = 30,
-  /**鐢熸晥涓� */
-  Effect = 40,
   /**宸茬粓姝� */
   Stop = 50,
 }
diff --git a/src/constants/enterpriseEmployee.ts b/src/constants/enterpriseEmployee.ts
index 5b07048..351ddd4 100644
--- a/src/constants/enterpriseEmployee.ts
+++ b/src/constants/enterpriseEmployee.ts
@@ -6,10 +6,16 @@
   [EnumTaskUserHireStatus.Refuse]: '宸茶阿缁�',
 };
 
+export const EnumTaskUserSignContractStatusTextForFilter = {
+  [EnumTaskUserSignContractStatus.Wait]: '寰呯绾�',
+  [EnumTaskUserSignContractStatus.Pass]: '宸茬绾�',
+  [EnumTaskUserSignContractStatus.Stop]: '宸茶В绾�',
+};
 export const EnumTaskUserSignContractStatusText = {
   [EnumTaskUserSignContractStatus.Wait]: '寰呯绾�',
   [EnumTaskUserSignContractStatus.Pass]: '宸茬绾�',
-  [EnumTaskUserSignContractStatus.Refuse]: '宸茶阿缁�',
+  [EnumTaskUserSignContractStatus.Refuse]: '宸叉嫆绛�',
+  [EnumTaskUserSignContractStatus.Stop]: '宸茶В绾�',
 };
 
 export const ImportEnterpriseEmployeesTempPath = `${TempFolderPath}/%E7%81%B5%E5%B7%A5%E5%AF%BC%E5%85%A5%E6%A8%A1%E6%9D%BF.xlsx`;
diff --git a/src/services/api/enterprise.ts b/src/services/api/enterprise.ts
index 084e76e..868563d 100644
--- a/src/services/api/enterprise.ts
+++ b/src/services/api/enterprise.ts
@@ -80,6 +80,21 @@
   });
 }
 
+/** 淇濆瓨浼佷笟璐圭敤 POST /api/user/enterprise/saveEnterpriseCost */
+export async function saveEnterpriseCost(
+  body: API.SaveEnterpriseCostCommand,
+  options?: API.RequestConfig
+) {
+  return request<string>('/api/user/enterprise/saveEnterpriseCost', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
+
 /** 璁剧疆浼佷笟鐢靛瓙绛鹃厤缃� PUT /api/user/enterprise/setEnterpriseElectronSignSetting */
 export async function setEnterpriseElectronSignSetting(
   body: API.SetEnterpriseElectronSignSettingCommand,
diff --git a/src/services/api/enterpriseEmployee.ts b/src/services/api/enterpriseEmployee.ts
index 41ba82d..dbf7f68 100644
--- a/src/services/api/enterpriseEmployee.ts
+++ b/src/services/api/enterpriseEmployee.ts
@@ -17,6 +17,24 @@
   });
 }
 
+/** 浼佷笟鐢ㄦ埛绛剧害 POST /api/user/enterpriseEmployee/enterpriseUserElectronSign */
+export async function enterpriseUserElectronSign(
+  body: API.EnterpriseUserElectronSignCommand,
+  options?: API.RequestConfig
+) {
+  return request<API.EnterpriseUserElectronSignCommandResult>(
+    '/api/user/enterpriseEmployee/enterpriseUserElectronSign',
+    {
+      method: 'POST',
+      headers: {
+        'Content-Type': 'application/json-patch+json',
+      },
+      data: body,
+      ...(options || {}),
+    }
+  );
+}
+
 /** 鏌ヨ鐏靛伐璇︽儏 GET /api/user/enterpriseEmployee/getEnterpriseEmployee */
 export async function getEnterpriseEmployee(
   // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
@@ -121,3 +139,36 @@
     ...(options || {}),
   });
 }
+
+/** 涓汉鐢ㄦ埛绛剧害 POST /api/user/enterpriseEmployee/personalUserElectronSign */
+export async function personalUserElectronSign(
+  body: API.PersonalUserElectronSignCommand,
+  options?: API.RequestConfig
+) {
+  return request<API.PersonalUserElectronSignCommandResult>(
+    '/api/user/enterpriseEmployee/personalUserElectronSign',
+    {
+      method: 'POST',
+      headers: {
+        'Content-Type': 'application/json-patch+json',
+      },
+      data: body,
+      ...(options || {}),
+    }
+  );
+}
+
+/** 鐏靛伐瑙g害 POST /api/user/enterpriseEmployee/stopElectronSign */
+export async function stopElectronSign(
+  body: API.StopElectronSignCommand,
+  options?: API.RequestConfig
+) {
+  return request<string>('/api/user/enterpriseEmployee/stopElectronSign', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
diff --git a/src/services/api/typings.d.ts b/src/services/api/typings.d.ts
index 2884491..c677790 100644
--- a/src/services/api/typings.d.ts
+++ b/src/services/api/typings.d.ts
@@ -389,6 +389,18 @@
     data?: any;
   }
 
+  interface EnterpriseUserElectronSignCommand {
+    /** 鐏靛伐Id */
+    id?: string;
+  }
+
+  interface EnterpriseUserElectronSignCommandResult {
+    /** 绛剧讲鍚堝悓鐭摼鎺� */
+    signContractShortUrl?: string;
+    /** 绛剧讲鍚堝悓闀块摼鎺� */
+    signContractLongUrl?: string;
+  }
+
   enum EnumBillingMethod {
     /**鎸夋湀 */
     Month = 10,
@@ -449,6 +461,20 @@
     BestSign = 10,
     /**鏀粯瀹濅俊浠荤 */
     AlipaySign = 20,
+  }
+
+  enum EnumEnterpriseCostStatus {
+    /**鎵h垂鎴愬姛 */
+    Success = 10,
+    /**鎵h垂澶辫触 */
+    Fail = 20,
+  }
+
+  enum EnumEnterpriseCostType {
+    /**鐭俊 */
+    SMS = 10,
+    /**鐢靛瓙绛� */
+    ElectronSign = 20,
   }
 
   enum EnumEnterpriseRealMethod {
@@ -687,8 +713,6 @@
     Pass = 20,
     /**宸叉嫆绛� */
     Refuse = 30,
-    /**鐢熸晥涓� */
-    Effect = 40,
     /**宸茬粓姝� */
     Stop = 50,
   }
@@ -750,6 +774,24 @@
     errorCode?: string;
     /** 鏁版嵁 */
     data?: boolean;
+    /** 鎵ц鎴愬姛 */
+    success?: boolean;
+    /** 閿欒淇℃伅 */
+    msg?: any;
+    /** 闄勫姞鏁版嵁 */
+    extras?: any;
+    /** 鏃堕棿鎴� */
+    timestamp?: number;
+  }
+
+  interface FriendlyResultEnterpriseUserElectronSignCommandResult {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鐘舵�佺爜 */
+    code?: number;
+    /** 閿欒鐮� */
+    errorCode?: string;
+    data?: EnterpriseUserElectronSignCommandResult;
     /** 鎵ц鎴愬姛 */
     success?: boolean;
     /** 閿欒淇℃伅 */
@@ -1961,6 +2003,24 @@
     timestamp?: number;
   }
 
+  interface FriendlyResultPersonalUserElectronSignCommandResult {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鐘舵�佺爜 */
+    code?: number;
+    /** 閿欒鐮� */
+    errorCode?: string;
+    data?: PersonalUserElectronSignCommandResult;
+    /** 鎵ц鎴愬姛 */
+    success?: boolean;
+    /** 閿欒淇℃伅 */
+    msg?: any;
+    /** 闄勫姞鏁版嵁 */
+    extras?: any;
+    /** 鏃堕棿鎴� */
+    timestamp?: number;
+  }
+
   interface FriendlyResultString {
     /** 璺熻釜Id */
     traceId?: string;
@@ -2182,6 +2242,8 @@
     /** 鎻愪氦Id */
     id?: string;
     enterpriseEmployeeUser?: GetCheckReceiveTaskUserSubmitsQueryResultObjectDataEnterpriseEmployeeUser;
+    /** 楠屾敹鏃堕棿 */
+    date?: string;
     /** 鎻愪氦鏃堕棿 */
     createdTime?: string;
     /** 楠屾敹鐓х墖 */
@@ -2206,6 +2268,8 @@
   interface GetCheckReceiveTaskUserSubmitsQueryResultItem {
     /** 鎻愪氦Id */
     id?: string;
+    /** 楠屾敹鏃堕棿 */
+    date?: string;
     /** 鎻愪氦鏃堕棿 */
     createdTime?: string;
     /** 楠屾敹鐓х墖 */
@@ -2593,6 +2657,7 @@
     enterpriseSignContractTime?: string;
     /** 鐢靛瓙鍚堝悓 */
     contractUrl?: string;
+    userSignContractStatus?: EnumTaskUserSignContractStatus;
   }
 
   interface GetEnterpriseEmployeesQuery {
@@ -3563,6 +3628,8 @@
     status?: EnumTaskStatus;
     releaseStatus?: EnumTaskReleaseStatus;
     hireStatus?: EnumTaskUserHireStatus;
+    /** 鐏靛伐Id */
+    enterpriseEmployeeId?: string;
     applyButton?: GetTaskInfoQueryResultApplyButton;
     hireButton?: GetTaskInfoQueryResultHireButton;
   }
@@ -4146,6 +4213,18 @@
     clientType?: EnumClientType;
   }
 
+  interface PersonalUserElectronSignCommand {
+    /** 鐏靛伐Id */
+    id?: string;
+  }
+
+  interface PersonalUserElectronSignCommandResult {
+    /** 绛剧讲鍚堝悓鐭摼鎺� */
+    signContractShortUrl?: string;
+    /** 绛剧讲鍚堝悓闀块摼鎺� */
+    signContractLongUrl?: string;
+  }
+
   interface PersonalUserFaceRealCommand {
     /** 濮撳悕 */
     name: string;
@@ -4298,6 +4377,17 @@
     password?: string;
     /** Id */
     id?: string;
+  }
+
+  interface SaveEnterpriseCostCommand {
+    /** 浼佷笟Id */
+    enterpriseId?: string;
+    type?: EnumEnterpriseCostType;
+    /** 鍚堝悓妯℃澘Id */
+    contractTemplateId?: string;
+    /** 鐏靛伐鍚堝悓Id */
+    enterpriseEmployeeContractId?: string;
+    status?: EnumEnterpriseCostStatus;
   }
 
   interface SaveMenuButtonCommand {
@@ -4672,6 +4762,11 @@
     clientType?: EnumClientType;
   }
 
+  interface StopElectronSignCommand {
+    /** 鐏靛伐Id */
+    id?: string;
+  }
+
   interface SubmitCheckReceiveTaskCommand {
     /** 浠诲姟Id */
     taskInfoId?: string;
diff --git a/src/views/EmploymentManage/components/CheckManageDialog.vue b/src/views/EmploymentManage/components/CheckManageDialog.vue
index 7955957..592ff5c 100644
--- a/src/views/EmploymentManage/components/CheckManageDialog.vue
+++ b/src/views/EmploymentManage/components/CheckManageDialog.vue
@@ -47,7 +47,7 @@
 const columns = defineColumns([
   {
     id: '1',
-    enCode: 'taskTime',
+    enCode: 'date',
     name: '浠诲姟鏃ユ湡',
   },
   {
@@ -161,6 +161,7 @@
     columnsRenderProps: {
       createdTime: { type: 'date' },
       checkReceiveTime: { type: 'date' },
+      date: { type: 'date' },
       checkReceiveStatus: { type: 'enum', valueEnum: EnumTaskUserSubmitCheckReceiveStatusText },
       files: {
         type: 'url',
diff --git a/src/views/FlexJobManage/FlexJobManage.vue b/src/views/FlexJobManage/FlexJobManage.vue
index 13aff9e..e2d1b49 100644
--- a/src/views/FlexJobManage/FlexJobManage.vue
+++ b/src/views/FlexJobManage/FlexJobManage.vue
@@ -129,7 +129,7 @@
 import { FlexJobManageColumns } from './constants';
 import { EnumTaskUserHireStatusText, EnumTaskUserSignContractStatusText } from '@/constants';
 import { Message } from '@bole-core/core';
-import { convertApi2FormUrlOnlyOne, downloadFileByUrl, format } from '@/utils';
+import { convertApi2FormUrlOnlyOne, downloadFileByUrl, format, omitByFalse } from '@/utils';
 import StaffInfoDialog from './components/StaffInfoDialog.vue';
 import BatchImportDialog from './components/BatchImportDialog.vue';
 import SendShotMessageDialog from './components/SendShotMessageDialog.vue';
@@ -138,7 +138,7 @@
 import { ModelValueType } from 'element-plus';
 
 defineOptions({
-  name: 'EnterpriseManageList',
+  name: 'FlexJobManageList',
 });
 
 const operationBtns = defineOperationBtns([
@@ -162,11 +162,11 @@
   },
   {
     data: {
-      enCode: 'signBtn',
+      enCode: 'enterpriseSignBtn',
       name: '浼佷笟绛剧害',
     },
     emits: {
-      onClick: (role) => handleSign(role),
+      onClick: (role) => handleEnterpriseSign(role),
     },
     extraProps: {
       hide: (row: API.GetEnterpriseEmployeesQueryResultItem) =>
@@ -178,17 +178,17 @@
   },
   {
     data: {
-      enCode: 'signBtn',
+      enCode: 'inviteSignBtn',
       name: '閭�璇风绾�',
     },
     emits: {
-      onClick: (role) => handleSign(role),
+      onClick: (role) => handleInviteSign(role),
     },
     extraProps: {
       hide: (row: API.GetEnterpriseEmployeesQueryResultItem) =>
         !(
           row.userSignContractStatus === EnumTaskUserSignContractStatus.Wait ||
-          row.userSignContractStatus === EnumTaskUserSignContractStatus.Refuse
+          row.userSignContractStatus === EnumTaskUserSignContractStatus.Stop
         ),
     },
   },
@@ -265,7 +265,7 @@
         enterpriseSignContractStatus: extraParamState.enterpriseSignContractStatus,
       };
 
-      let res = await enterpriseEmployeeServices.getEnterpriseEmployees(params, {
+      let res = await enterpriseEmployeeServices.getEnterpriseEmployees(omitByFalse(params), {
         showLoading: !state.loading,
       });
       return res;
@@ -462,26 +462,33 @@
 const {
   dialogProps: dialogSignProps,
   handleAdd: handleSignAdd,
+  handleEdit: handleSignEdit,
   editForm: signEditForm,
 } = useFormDialog({
   onConfirm: signContract,
   defaultFormParams: {
-    url: [] as UploadUserFile[],
+    id: '',
+    contractTemplateId: '',
   },
 });
 
-function handleSign(row: API.GetEnterpriseEmployeesQueryResultItem) {
-  handleSignAdd();
+function handleInviteSign(row: API.GetEnterpriseEmployeesQueryResultItem) {
+  if (row) {
+    handleSignEdit({
+      id: row.id,
+      contractTemplateId: '',
+    });
+  }
 }
 function handleBatchSign() {
   const selectionRows = getSelectionRows();
+  console.log('selectionRows: ', selectionRows);
   if (selectionRows) {
     const hasSigned = selectionRows?.some(
       (x) =>
-        !(
-          x.userSignContractStatus === EnumTaskUserSignContractStatus.Pass &&
-          x.enterpriseSignContractStatus === EnumTaskUserSignContractStatus.Wait
-        )
+        x.userSignContractStatus === EnumTaskUserSignContractStatus.Pass ||
+        x.enterpriseSignContractStatus === EnumTaskUserSignContractStatus.Pass ||
+        x.hireStatus === EnumTaskUserHireStatus.Wait
     );
     if (hasSigned) {
       Message.warnMessage('鍕鹃�変汉鍛樹腑鍖呭惈宸茬绾﹀畬鎴愭垨鏈綍鐢ㄤ汉鍛�');
@@ -493,12 +500,35 @@
 
 async function signContract() {
   try {
+    let params: API.InviteElectronSignCommand = {
+      id: signEditForm.id,
+      contractTemplateId: signEditForm.contractTemplateId,
+    };
+    let res = await enterpriseEmployeeServices.inviteElectronSign(params);
+    if (res) {
+      Message.successMessage('鎿嶄綔鎴愬姛');
+      getList(paginationState.pageIndex);
+    }
+  } catch (error) {}
+}
+
+async function handleEnterpriseSign(row: API.GetEnterpriseEmployeesQueryResultItem) {
+  try {
+    let res = await enterpriseEmployeeServices.enterpriseUserElectronSign({ id: row.id });
+    if (res) {
+      window.open(res?.signContractLongUrl, '_blank');
+    }
   } catch (error) {}
 }
 
 async function handleUnSign(row: API.GetEnterpriseEmployeesQueryResultItem) {
   try {
     await Message.tipMessage('纭畾瑙g害鐢ㄦ埛锛�');
+    let res = await enterpriseEmployeeServices.stopElectronSign({ id: row.id });
+    if (res) {
+      Message.successMessage('鎿嶄綔鎴愬姛');
+      getList(paginationState.pageIndex);
+    }
   } catch (error) {}
 }
 
diff --git a/src/views/FlexJobManage/components/SignDialog.vue b/src/views/FlexJobManage/components/SignDialog.vue
index ea29863..5391d67 100644
--- a/src/views/FlexJobManage/components/SignDialog.vue
+++ b/src/views/FlexJobManage/components/SignDialog.vue
@@ -1,8 +1,15 @@
 <template>
   <ProDialog title="绛剧害" v-model="visible" @close="onDialogClose" destroy-on-close draggable>
     <ProForm :model="form" ref="dialogForm" label-width="100px">
-      <ProFormItemV2 label="璇烽�夋嫨妯℃澘:" prop="url" :check-rules="[{ message: '璇烽�夋嫨妯℃澘' }]">
-        <ProFormSelect v-model="form.url" :valueEnum="enterpriseContractTemplateSelect">
+      <ProFormItemV2
+        label="璇烽�夋嫨妯℃澘:"
+        prop="contractTemplateId"
+        :check-rules="[{ message: '璇烽�夋嫨妯℃澘' }]"
+      >
+        <ProFormSelect
+          v-model="form.contractTemplateId"
+          :valueEnum="enterpriseContractTemplateSelect"
+        >
         </ProFormSelect>
       </ProFormItemV2>
     </ProForm>
@@ -33,7 +40,8 @@
 
 type Form = {
   title?: string;
-  url: UploadUserFile[];
+  id?: string;
+  contractTemplateId?: string;
 };
 
 const visible = defineModel({ type: Boolean });

--
Gitblit v1.9.1