From 8a79fe3b46830817e65dc560b40548f7dab2e79a Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期四, 21 八月 2025 11:17:20 +0800
Subject: [PATCH] fix: 签约

---
 src/views/AgreementManage/AgreementManageList.vue          |  108 ++
 src/services/api/resource.ts                               |   32 
 .eslintrc-auto-import.json                                 |   11 
 src/services/api/typings.d.ts                              |  972 +++++++++++++++++++++++++++++++
 src/services/api/taskUser.ts                               |   15 
 src/services/api/task.ts                                   |   15 
 src/views/AgreementManage/constants/columns.ts             |   10 
 src/services/api/index.ts                                  |   12 
 src/services/api/electronSign.ts                           |  162 +++++
 src/services/api/userResume.ts                             |   15 
 src/services/api/fileUtils.ts                              |   52 +
 auto-imports.d.ts                                          |   24 
 src/constants/electronSign.ts                              |    4 
 src/views/AgreementManage/components/TemplateAddDialog.vue |    2 
 src/constants/apiEnum.ts                                   |  124 +++
 src/constants/index.ts                                     |    1 
 src/views/AgreementManage/components/QrcodeDialog.vue      |   78 ++
 src/services/api/logRecords.ts                             |   69 ++
 src/services/api/ocrUtils.ts                               |   18 
 src/services/api/user.ts                                   |   48 +
 20 files changed, 1,688 insertions(+), 84 deletions(-)

diff --git a/.eslintrc-auto-import.json b/.eslintrc-auto-import.json
index 4757881..6e203f6 100644
--- a/.eslintrc-auto-import.json
+++ b/.eslintrc-auto-import.json
@@ -19,11 +19,22 @@
     "EnumBillingMethodUnitText": true,
     "EnumClientType": true,
     "EnumClientTypeText": true,
+    "EnumContractTemplateStatus": true,
+    "EnumContractTemplateStatusText": true,
+    "EnumContractTemplateValueRecorder": true,
+    "EnumContractTemplateValueType": true,
+    "EnumDataSource": true,
+    "EnumDbAuditOperate": true,
+    "EnumElectronSignAccess": true,
+    "EnumEnterpriseRealMethod": true,
     "EnumMenuType": true,
     "EnumMenuVisitLevel": true,
+    "EnumOcrAccess": true,
     "EnumPagedListOrder": true,
+    "EnumPayAccess": true,
     "EnumPersonalFreeTime": true,
     "EnumPersonalJobSeekingStatus": true,
+    "EnumPersonalRealMethod": true,
     "EnumRealAccess": true,
     "EnumResourceController": true,
     "EnumResourceMethod": true,
diff --git a/auto-imports.d.ts b/auto-imports.d.ts
index a0e5fac..fbab021 100644
--- a/auto-imports.d.ts
+++ b/auto-imports.d.ts
@@ -23,11 +23,22 @@
   const EnumBillingMethodUnitText: typeof import('./src/constants/task')['EnumBillingMethodUnitText']
   const EnumClientType: typeof import('./src/constants/apiEnum')['EnumClientType']
   const EnumClientTypeText: typeof import('./src/constants/apiEnumText')['EnumClientTypeText']
+  const EnumContractTemplateStatus: typeof import('./src/constants/apiEnum')['EnumContractTemplateStatus']
+  const EnumContractTemplateStatusText: typeof import('./src/constants/electronSign')['EnumContractTemplateStatusText']
+  const EnumContractTemplateValueRecorder: typeof import('./src/constants/apiEnum')['EnumContractTemplateValueRecorder']
+  const EnumContractTemplateValueType: typeof import('./src/constants/apiEnum')['EnumContractTemplateValueType']
+  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 EnumEnterpriseRealMethod: typeof import('./src/constants/apiEnum')['EnumEnterpriseRealMethod']
   const EnumMenuType: typeof import('./src/constants/apiEnum')['EnumMenuType']
   const EnumMenuVisitLevel: typeof import('./src/constants/apiEnum')['EnumMenuVisitLevel']
+  const EnumOcrAccess: typeof import('./src/constants/apiEnum')['EnumOcrAccess']
   const EnumPagedListOrder: typeof import('./src/constants/apiEnum')['EnumPagedListOrder']
+  const EnumPayAccess: typeof import('./src/constants/apiEnum')['EnumPayAccess']
   const EnumPersonalFreeTime: typeof import('./src/constants/apiEnum')['EnumPersonalFreeTime']
   const EnumPersonalJobSeekingStatus: typeof import('./src/constants/apiEnum')['EnumPersonalJobSeekingStatus']
+  const EnumPersonalRealMethod: typeof import('./src/constants/apiEnum')['EnumPersonalRealMethod']
   const EnumRealAccess: typeof import('./src/constants/apiEnum')['EnumRealAccess']
   const EnumResourceController: typeof import('./src/constants/apiEnum')['EnumResourceController']
   const EnumResourceMethod: typeof import('./src/constants/apiEnum')['EnumResourceMethod']
@@ -209,7 +220,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, EnumMenuType, EnumMenuVisitLevel, EnumPagedListOrder, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, 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, EnumMenuType, EnumMenuVisitLevel, EnumPagedListOrder, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, 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, EnumEnterpriseRealMethod, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, 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, 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'
@@ -254,11 +265,22 @@
     readonly EnumBillingMethodUnitText: UnwrapRef<typeof import('./src/constants/task')['EnumBillingMethodUnitText']>
     readonly EnumClientType: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumClientType']>
     readonly EnumClientTypeText: UnwrapRef<typeof import('./src/constants/apiEnumText')['EnumClientTypeText']>
+    readonly EnumContractTemplateStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumContractTemplateStatus']>
+    readonly EnumContractTemplateStatusText: UnwrapRef<typeof import('./src/constants/electronSign')['EnumContractTemplateStatusText']>
+    readonly EnumContractTemplateValueRecorder: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumContractTemplateValueRecorder']>
+    readonly EnumContractTemplateValueType: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumContractTemplateValueType']>
+    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 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']>
+    readonly EnumOcrAccess: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumOcrAccess']>
     readonly EnumPagedListOrder: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumPagedListOrder']>
+    readonly EnumPayAccess: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumPayAccess']>
     readonly EnumPersonalFreeTime: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumPersonalFreeTime']>
     readonly EnumPersonalJobSeekingStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumPersonalJobSeekingStatus']>
+    readonly EnumPersonalRealMethod: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumPersonalRealMethod']>
     readonly EnumRealAccess: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumRealAccess']>
     readonly EnumResourceController: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumResourceController']>
     readonly EnumResourceMethod: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumResourceMethod']>
diff --git a/src/constants/apiEnum.ts b/src/constants/apiEnum.ts
index 01db867..b91d90e 100644
--- a/src/constants/apiEnum.ts
+++ b/src/constants/apiEnum.ts
@@ -21,6 +21,64 @@
   Wxmp = 20,
 }
 
+/** 鍚堝悓鍒剁増鐘舵�� */
+export enum EnumContractTemplateStatus {
+  /**寰呭埗鐗� */
+  Wait = 10,
+  /**宸插畬鎴� */
+  Completed = 20,
+}
+
+/** 鍚堝悓妯℃澘鍙橀噺 */
+export enum EnumContractTemplateValueRecorder {
+  /**鍙戜欢浜� */
+  Creator = 10,
+  /**绛剧讲浜� */
+  Signer = 20,
+}
+
+/** 鍚堝悓妯℃澘鍙橀噺绫诲瀷 */
+export enum EnumContractTemplateValueType {
+  /**鏂囨湰 */
+  Text = 10,
+  /**绛剧讲 */
+  Sign = 20,
+  /**鏃ユ湡 */
+  Date = 30,
+}
+
+/** 鏁版嵁鏉ユ簮 */
+export enum EnumDataSource {
+  /**818 */
+  HumanResources = 10,
+}
+
+/** 鏁版嵁搴撳璁℃棩蹇楁搷浣� */
+export enum EnumDbAuditOperate {
+  /**娣诲姞 */
+  Added = 10,
+  /**淇敼 */
+  Modified = 20,
+  /**鍒犻櫎 */
+  Deleted = 30,
+}
+
+/** 鐢靛瓙绛� */
+export enum EnumElectronSignAccess {
+  /**涓婁笂绛� */
+  BestSign = 10,
+  /**鏀粯瀹濅俊浠荤 */
+  AlipaySign = 20,
+}
+
+/** 浼佷笟瀹炲悕鏂瑰紡 */
+export enum EnumEnterpriseRealMethod {
+  /**浼佷笟涓夎绱� */
+  Identity3 = 10,
+  /**浼佷笟鍥涜绱� */
+  Identity4 = 20,
+}
+
 /** 鑿滃崟绫诲瀷 */
 export enum EnumMenuType {
   /**鑿滃崟 */
@@ -45,12 +103,26 @@
   NeedPower = 30,
 }
 
+/** 鏂囧瓧璇嗗埆閫氶亾 */
+export enum EnumOcrAccess {
+  /**鐧惧害 */
+  Baidu = 10,
+}
+
 /** 鍒嗛〉鍒楄〃鎺掑簭 */
 export enum EnumPagedListOrder {
   /**鍗囧簭 */
   Asc = 0,
   /**闄嶅簭 */
   Desc = 1,
+}
+
+/** 鏀粯閫氶亾 */
+export enum EnumPayAccess {
+  /**骞冲畨閾惰 */
+  PingAnBank = 10,
+  /**鏀粯瀹� */
+  Alipay = 20,
 }
 
 /** 绌洪棽鏃堕棿 */
@@ -77,6 +149,16 @@
   Not = 30,
 }
 
+/** 涓汉瀹炲悕鏂瑰紡 */
+export enum EnumPersonalRealMethod {
+  /**涓汉鎵嬫満鍙蜂笁瑕佺礌 */
+  Identity3 = 10,
+  /**閾惰鍗″瑕佺礌 */
+  Identity4 = 20,
+  /**鍒疯劯璁よ瘉 */
+  Face = 30,
+}
+
 /** 瀹炲悕閫氶亾 */
 export enum EnumRealAccess {
   /**涓婁笂绛� */
@@ -88,33 +170,45 @@
 /** 璧勬簮鎺у埗鍣� */
 export enum EnumResourceController {
   /**鏁版嵁瀛楀吀 */
-  Dictionary = 0,
+  FlexJobServerDictionary = 0,
   /**浠诲姟 */
-  Task = 1,
+  FlexJobServerTask = 1,
   /**浠诲姟浜哄憳 */
-  TaskUser = 2,
+  FlexJobServerTaskUser = 2,
   /**浠诲姟楠屾敹 */
-  TaskCheckReceive = 3,
+  FlexJobServerTaskCheckReceive = 3,
+  /**鏂囦欢 */
+  CommonServerFileUtils = 4,
+  /**鏂囧瓧璇嗗埆 */
+  CommonServerOcrUtils = 5,
+  /**鏃ュ織璁板綍 */
+  CommonServerLogRecords = 6,
   /**鐢ㄦ埛璁よ瘉 */
-  Auth = 4,
+  UserServerAuth = 7,
   /**鐢ㄦ埛鑿滃崟 */
-  Menu = 5,
+  UserServerMenu = 8,
   /**鐢ㄦ埛璧勬簮 */
-  Resource = 6,
+  UserServerResource = 9,
   /**鐢ㄦ埛瑙掕壊 */
-  Role = 7,
+  UserServerRole = 10,
   /**鐢ㄦ埛淇℃伅 */
-  User = 8,
+  UserServerUser = 11,
+  /**鐢靛瓙绛� */
+  UserServerElectronSign = 12,
   /**鐢ㄦ埛绠�鍘� */
-  UserResume = 9,
+  UserServerUserResume = 13,
   /**浼佷笟淇℃伅 */
-  Enterprise = 10,
+  UserServerEnterprise = 14,
   /**鐏靛伐淇℃伅 */
-  EnterpriseEmployee = 11,
+  UserServerEnterpriseEmployee = 15,
+  /**鐢靛瓙绛� */
+  ElectronSignServerElectronSign = 16,
 }
 
 /** 璧勬簮璇锋眰鏂瑰紡 */
 export enum EnumResourceMethod {
+  /**鏃� */
+  None = 0,
   /**鏌ヨ */
   Get = 10,
   /**鎻愪氦 */
@@ -285,6 +379,8 @@
 
 /** 鎴戠殑宸插綍鐢ㄥ垎椤靛垪琛�-鐘舵�� */
 export enum GetPersonalHireTaskInfosQueryStatus {
+  /**寰呭紑濮� */
+  Wait = 1,
   /**杩涜涓� */
   InProcess = 10,
   /**宸插畬鎴� */
@@ -301,8 +397,10 @@
 
 /** 鎴戠殑褰曠敤鍒楄〃-璇︽儏-鎸夐挳绫诲瀷 */
 export enum GetTaskInfoQueryResultHireButton {
+  /**寰呭紑濮� */
+  Wait = 1,
   /**鐢宠楠屾敹 */
-  ApplyCheckReceive = 1,
+  ApplyCheckReceive = 5,
   /**杩涜涓� */
   InProcess = 10,
   /**宸插畬鎴� */
diff --git a/src/constants/electronSign.ts b/src/constants/electronSign.ts
new file mode 100644
index 0000000..54174d4
--- /dev/null
+++ b/src/constants/electronSign.ts
@@ -0,0 +1,4 @@
+export const EnumContractTemplateStatusText = {
+  [EnumContractTemplateStatus.Wait]: '寰呭埗鐗�',
+  [EnumContractTemplateStatus.Completed]: '宸插埗鐗�',
+};
diff --git a/src/constants/index.ts b/src/constants/index.ts
index 476df6d..47c6248 100644
--- a/src/constants/index.ts
+++ b/src/constants/index.ts
@@ -12,3 +12,4 @@
 export * from './apiEnumText';
 export * from './task';
 export * from './enterpriseEmployee';
+export * from './electronSign';
diff --git a/src/services/api/electronSign.ts b/src/services/api/electronSign.ts
new file mode 100644
index 0000000..b649bcb
--- /dev/null
+++ b/src/services/api/electronSign.ts
@@ -0,0 +1,162 @@
+/* eslint-disable */
+// @ts-ignore
+import { request } from '@/utils/request';
+
+/** 鐢靛瓙绛惧洖浼� POST /api/user/electronSign/electronSignCallback */
+export async function electronSignCallback(
+  body: API.ElectronSignCallbackCommand,
+  options?: API.RequestConfig
+) {
+  return request<boolean>('/api/user/electronSign/electronSignCallback', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
+
+/** 鏌ヨ鍚堝悓妯℃澘璇︽儏 GET /api/user/electronSign/getContractTemplate */
+export async function getContractTemplate(
+  // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+  params: API.APIgetContractTemplateParams,
+  options?: API.RequestConfig
+) {
+  return request<API.GetContractTemplateQueryResult>('/api/user/electronSign/getContractTemplate', {
+    method: 'GET',
+    params: {
+      ...params,
+    },
+    ...(options || {}),
+  });
+}
+
+/** 鏌ヨ杩愯惀绔崗璁鐞嗗垎椤靛垪琛ㄦ暟鎹� POST /api/user/electronSign/getContractTemplateEnterprises */
+export async function getContractTemplateEnterprises(
+  body: API.GetContractTemplateEnterprisesQuery,
+  options?: API.RequestConfig
+) {
+  return request<API.GetContractTemplateEnterprisesQueryResult>(
+    '/api/user/electronSign/getContractTemplateEnterprises',
+    {
+      method: 'POST',
+      headers: {
+        'Content-Type': 'application/json-patch+json',
+      },
+      data: body,
+      ...(options || {}),
+    }
+  );
+}
+
+/** 鏌ヨ浼佷笟鍚堝悓妯℃澘鏃ュ織鍒嗛〉鍒楄〃鏁版嵁 POST /api/user/electronSign/getEnterpriseContractTemplateLogs */
+export async function getEnterpriseContractTemplateLogs(
+  body: API.GetEnterpriseContractTemplateLogsQuery,
+  options?: API.RequestConfig
+) {
+  return request<API.GetEnterpriseContractTemplateLogsQueryResult>(
+    '/api/user/electronSign/getEnterpriseContractTemplateLogs',
+    {
+      method: 'POST',
+      headers: {
+        'Content-Type': 'application/json-patch+json',
+      },
+      data: body,
+      ...(options || {}),
+    }
+  );
+}
+
+/** 鏌ヨ浼佷笟鍚堝悓妯℃澘鍒嗛〉鍒楄〃鏁版嵁 POST /api/user/electronSign/getEnterpriseContractTemplates */
+export async function getEnterpriseContractTemplates(
+  body: API.GetEnterpriseContractTemplatesQuery,
+  options?: API.RequestConfig
+) {
+  return request<API.GetEnterpriseContractTemplatesQueryResult>(
+    '/api/user/electronSign/getEnterpriseContractTemplates',
+    {
+      method: 'POST',
+      headers: {
+        'Content-Type': 'application/json-patch+json',
+      },
+      data: body,
+      ...(options || {}),
+    }
+  );
+}
+
+/** 涓汉浜鸿劯瀹炲悕璁よ瘉 POST /api/user/electronSign/personalUserFaceReal */
+export async function personalUserFaceReal(
+  body: API.PersonalUserFaceRealCommand,
+  options?: API.RequestConfig
+) {
+  return request<string>('/api/user/electronSign/personalUserFaceReal', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
+
+/** 涓汉涓夎绱犲疄鍚嶈璇� POST /api/user/electronSign/personalUserIdentity3Real */
+export async function personalUserIdentity3Real(
+  body: API.PersonalUserIdentity3RealCommand,
+  options?: API.RequestConfig
+) {
+  return request<string>('/api/user/electronSign/personalUserIdentity3Real', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
+
+/** 淇濆瓨鍚堝悓妯℃澘 POST /api/user/electronSign/saveContractTemplate */
+export async function saveContractTemplate(
+  body: API.SaveContractTemplateCommand,
+  options?: API.RequestConfig
+) {
+  return request<string>('/api/user/electronSign/saveContractTemplate', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
+
+/** 鍙戦�佷釜浜轰笁瑕佺礌瀹炲悕鐭俊 POST /api/user/electronSign/sendPersonalUserIdentity3RealSms */
+export async function sendPersonalUserIdentity3RealSms(
+  body: API.SendPersonalUserIdentity3RealSmsCommand,
+  options?: API.RequestConfig
+) {
+  return request<string>('/api/user/electronSign/sendPersonalUserIdentity3RealSms', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
+
+/** 绂佺敤鍚堝悓妯℃澘 PUT /api/user/electronSign/setIsDisabledContractTemplate */
+export async function setIsDisabledContractTemplate(
+  body: API.SetIsDisabledContractTemplateCommand,
+  options?: API.RequestConfig
+) {
+  return request<number>('/api/user/electronSign/setIsDisabledContractTemplate', {
+    method: 'PUT',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
diff --git a/src/services/api/fileUtils.ts b/src/services/api/fileUtils.ts
new file mode 100644
index 0000000..425fac0
--- /dev/null
+++ b/src/services/api/fileUtils.ts
@@ -0,0 +1,52 @@
+/* eslint-disable */
+// @ts-ignore
+import { request } from '@/utils/request';
+
+/** 鑾峰彇鏂囦欢鍦板潃 GET /api/common/fileUtils/getFileUrl */
+export async function getFileUrl(
+  // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+  params: API.APIgetFileUrlParams,
+  options?: API.RequestConfig
+) {
+  return request<string>('/api/common/fileUtils/getFileUrl', {
+    method: 'GET',
+    params: {
+      ...params,
+    },
+    ...(options || {}),
+  });
+}
+
+/** 涓婁紶鏂囦欢 POST /api/common/fileUtils/uploadFile */
+export async function uploadFile(
+  body: {
+    /** 鍦烘櫙 */
+    Scene?: string;
+  },
+  File?: File,
+  options?: API.RequestConfig
+) {
+  const formData = new FormData();
+
+  if (File) {
+    formData.append('File', File);
+  }
+
+  Object.keys(body).forEach((ele) => {
+    const item = (body as any)[ele];
+
+    if (item !== undefined && item !== null) {
+      formData.append(
+        ele,
+        typeof item === 'object' && !(item instanceof File) ? JSON.stringify(item) : item
+      );
+    }
+  });
+
+  return request<API.UploadFileCommandResult>('/api/common/fileUtils/uploadFile', {
+    method: 'POST',
+    data: formData,
+    requestType: 'form',
+    ...(options || {}),
+  });
+}
diff --git a/src/services/api/index.ts b/src/services/api/index.ts
index 9cabf40..39390a8 100644
--- a/src/services/api/index.ts
+++ b/src/services/api/index.ts
@@ -6,25 +6,33 @@
 import * as user from './user';
 import * as role from './role';
 import * as enterprise from './enterprise';
+import * as resource from './resource';
 import * as task from './task';
+import * as ocrUtils from './ocrUtils';
 import * as dictionary from './dictionary';
 import * as userResume from './userResume';
 import * as auth from './auth';
 import * as taskCheckReceive from './taskCheckReceive';
-import * as resource from './resource';
+import * as electronSign from './electronSign';
 import * as taskUser from './taskUser';
 import * as menu from './menu';
+import * as logRecords from './logRecords';
+import * as fileUtils from './fileUtils';
 export default {
   enterpriseEmployee,
   user,
   role,
   enterprise,
+  resource,
   task,
+  ocrUtils,
   dictionary,
   userResume,
   auth,
   taskCheckReceive,
-  resource,
+  electronSign,
   taskUser,
   menu,
+  logRecords,
+  fileUtils,
 };
diff --git a/src/services/api/logRecords.ts b/src/services/api/logRecords.ts
new file mode 100644
index 0000000..ed70d74
--- /dev/null
+++ b/src/services/api/logRecords.ts
@@ -0,0 +1,69 @@
+/* eslint-disable */
+// @ts-ignore
+import { request } from '@/utils/request';
+
+/** 鏌ヨ鏁版嵁搴撳璁℃棩蹇楀垎椤靛垪琛� POST /api/common/logRecords/getDbAuditLogs */
+export async function getDbAuditLogs(body: API.GetDbAuditLogsQuery, options?: API.RequestConfig) {
+  return request<API.GetDbAuditLogsQueryResult>('/api/common/logRecords/getDbAuditLogs', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
+
+/** 寮傚父鏃ュ織鍒嗛〉鍒楄〃鏌ヨ POST /api/common/logRecords/getExceptionLogs */
+export async function getExceptionLogs(
+  body: API.GetExceptionLogsQuery,
+  options?: API.RequestConfig
+) {
+  return request<API.GetExceptionLogsQueryResult>('/api/common/logRecords/getExceptionLogs', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
+
+/** 璧勬簮鏃ュ織鍒嗛〉鍒楄〃鏌ヨ POST /api/common/logRecords/getResourceLogs */
+export async function getResourceLogs(body: API.GetResourceLogsQuery, options?: API.RequestConfig) {
+  return request<API.GetResourceLogsQueryResult>('/api/common/logRecords/getResourceLogs', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
+
+/** 璺熻釜Id鏃ュ織鏌ヨ GET /api/common/logRecords/getTraceIdLog */
+export async function getTraceIdLog(
+  // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+  params: API.APIgetTraceIdLogParams,
+  options?: API.RequestConfig
+) {
+  return request<API.GetTraceIdLogQueryResult>('/api/common/logRecords/getTraceIdLog', {
+    method: 'GET',
+    params: {
+      ...params,
+    },
+    ...(options || {}),
+  });
+}
+
+/** 閲嶆柊鍙戦�佽祫婧� POST /api/common/logRecords/resendResource */
+export async function resendResource(body: API.ResendResourceCommand, options?: API.RequestConfig) {
+  return request<string>('/api/common/logRecords/resendResource', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
diff --git a/src/services/api/ocrUtils.ts b/src/services/api/ocrUtils.ts
new file mode 100644
index 0000000..4601bae
--- /dev/null
+++ b/src/services/api/ocrUtils.ts
@@ -0,0 +1,18 @@
+/* eslint-disable */
+// @ts-ignore
+import { request } from '@/utils/request';
+
+/** 鏂囧瓧璇嗗埆钀ヤ笟鎵х収 GET /api/common/ocrUtils/getLicenseOcr */
+export async function getLicenseOcr(
+  // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+  params: API.APIgetLicenseOcrParams,
+  options?: API.RequestConfig
+) {
+  return request<API.GetLicenseOcrCommandResult>('/api/common/ocrUtils/getLicenseOcr', {
+    method: 'GET',
+    params: {
+      ...params,
+    },
+    ...(options || {}),
+  });
+}
diff --git a/src/services/api/resource.ts b/src/services/api/resource.ts
index 5e25fe0..ecc1ddc 100644
--- a/src/services/api/resource.ts
+++ b/src/services/api/resource.ts
@@ -2,6 +2,23 @@
 // @ts-ignore
 import { request } from '@/utils/request';
 
+/** 鍋ュ悍鏍¢獙 GET /api/user/resource/checkHealth */
+export async function checkHealth(
+  // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+  params: API.APIcheckHealthParams,
+  options?: API.RequestConfig
+) {
+  return request<boolean>('/api/user/resource/checkHealth', {
+    method: 'GET',
+    params: {
+      ...params,
+      request: undefined,
+      ...params['request'],
+    },
+    ...(options || {}),
+  });
+}
+
 /** 鑾峰彇璧勬簮瀛楁 GET /api/user/resource/getResourceFields */
 export async function getResourceFields(
   // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
@@ -28,21 +45,6 @@
     params: {
       ...params,
     },
-    ...(options || {}),
-  });
-}
-
-/** 淇濆瓨浠诲姟璋冨害-浣滀笟 POST /api/user/resource/saveScheduleJobDetail */
-export async function saveScheduleJobDetail(
-  body: API.SaveScheduleJobDetailCommand,
-  options?: API.RequestConfig
-) {
-  return request<boolean>('/api/user/resource/saveScheduleJobDetail', {
-    method: 'POST',
-    headers: {
-      'Content-Type': 'application/json-patch+json',
-    },
-    data: body,
     ...(options || {}),
   });
 }
diff --git a/src/services/api/task.ts b/src/services/api/task.ts
index 9488ff3..19f5179 100644
--- a/src/services/api/task.ts
+++ b/src/services/api/task.ts
@@ -83,6 +83,21 @@
   );
 }
 
+/** 鏌ヨ浠诲姟浼佷笟淇℃伅 GET /api/flexjob/task/getTaskEnterprise */
+export async function getTaskEnterprise(
+  // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+  params: API.APIgetTaskEnterpriseParams,
+  options?: API.RequestConfig
+) {
+  return request<API.GetTaskEnterpriseQueryResult>('/api/flexjob/task/getTaskEnterprise', {
+    method: 'GET',
+    params: {
+      ...params,
+    },
+    ...(options || {}),
+  });
+}
+
 /** 鏌ヨ浠诲姟璇︽儏 GET /api/flexjob/task/getTaskInfo */
 export async function getTaskInfo(
   // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
diff --git a/src/services/api/taskUser.ts b/src/services/api/taskUser.ts
index a23742d..0edd5de 100644
--- a/src/services/api/taskUser.ts
+++ b/src/services/api/taskUser.ts
@@ -14,6 +14,21 @@
   });
 }
 
+/** 娓呯┖宸插仠姝㈢殑浠诲姟鏀惰棌 DELETE /api/flexjob/taskUser/clearTaskCollect */
+export async function clearTaskCollect(
+  body: API.ClearTaskCollectCommand,
+  options?: API.RequestConfig
+) {
+  return request<number>('/api/flexjob/taskUser/clearTaskCollect', {
+    method: 'DELETE',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
+
 /** 鏀惰棌浠诲姟 POST /api/flexjob/taskUser/collectTask */
 export async function collectTask(body: API.CollectTaskCommand, options?: API.RequestConfig) {
   return request<number>('/api/flexjob/taskUser/collectTask', {
diff --git a/src/services/api/typings.d.ts b/src/services/api/typings.d.ts
index fa14135..04356b2 100644
--- a/src/services/api/typings.d.ts
+++ b/src/services/api/typings.d.ts
@@ -3,6 +3,11 @@
     [key: string]: any;
   }
 
+  interface APIcheckHealthParams {
+    /** 鍋ュ悍鏍¢獙 */
+    request?: CheckHealthQuery;
+  }
+
   interface APIgetAliyunOSSAcsParams {
     /** 鑾峰彇闃块噷浜慜SS鎺堟潈淇℃伅 */
     request?: GetAliyunOSSAcsQuery;
@@ -22,6 +27,11 @@
     taskInfoUserId?: string;
     /** 鏃ユ湡锛堢敤浜庝袱涓皬绋嬪簭 璺熸煇涓�涓狪d涓�璧蜂紶锛� */
     date?: string;
+  }
+
+  interface APIgetContractTemplateParams {
+    /** 妯℃澘Id */
+    id?: string;
   }
 
   interface APIgetCurrentLogierMenuParams {
@@ -83,6 +93,22 @@
     id?: string;
   }
 
+  interface APIgetFileUrlParams {
+    /** 鍦板潃 */
+    url?: string;
+  }
+
+  interface APIgetLicenseOcrParams {
+    /** 閫氶亾 */
+    access?: EnumOcrAccess;
+    /** 鍦烘櫙 */
+    scene?: string;
+    /** 閾炬帴鍦板潃 */
+    url?: string;
+    /** 鏄惁涓轰簯瀛樺偍鐩稿鍦板潃 */
+    isOssUrl?: boolean;
+  }
+
   interface APIgetMenuParams {
     /** Id */
     id?: string;
@@ -128,6 +154,11 @@
     roleId?: string;
   }
 
+  interface APIgetTaskEnterpriseParams {
+    /** 浼佷笟Id */
+    id?: string;
+  }
+
   interface APIgetTaskInfoParams {
     /** Id */
     id?: string;
@@ -138,6 +169,11 @@
     taskInfoId?: string;
     /** 鐢ㄦ埛Id锛圕绔敤鎴峰彲涓嶅~锛� */
     userId?: string;
+  }
+
+  interface APIgetTraceIdLogParams {
+    /** 璺熻釜Id */
+    traceId?: string;
   }
 
   interface APIgetUserInfoRolesParams {
@@ -189,6 +225,25 @@
     ids?: string[];
   }
 
+  interface BaiduOcrBusinessLicenseResultModel {
+    /** 浼佷笟鍏ㄧО */
+    enterpriseName?: string;
+    /** 缁熶竴绀句細淇$敤浠g爜 */
+    societyCreditCode?: string;
+    /** 娉曚汉濮撳悕 */
+    legalPerson?: string;
+    /** 浼佷笟绫诲瀷 */
+    enterpriseType?: string;
+    /** 娉ㄥ唽璧勬湰 */
+    registeredCapital?: string;
+    /** 鎴愮珛鏃ユ湡 */
+    establishmentDate?: string;
+    /** 浼佷笟鍦板潃 */
+    address?: string;
+    /** 缁忚惀鑼冨洿 */
+    mainBusiness?: string;
+  }
+
   interface BindWxmpUserInfoCommand {
     /** 璁块棶浠ょ墝 */
     accessToken: string;
@@ -207,11 +262,15 @@
     verifyCode: string;
   }
 
+  type CheckHealthQuery = Record<string, any>;
+
   interface CheckReceiveTaskCommand {
     /** 鎻愪氦Id */
     id?: string;
     checkReceiveStatus?: EnumTaskUserSubmitCheckReceiveStatus;
   }
+
+  type ClearTaskCollectCommand = Record<string, any>;
 
   interface CollectTaskCommand {
     /** 浠诲姟Id */
@@ -270,6 +329,23 @@
     id?: string;
   }
 
+  interface ElectronSignCallbackCommand {
+    /** 瀹㈡埛Id */
+    customerId?: string;
+    /** 鏂规硶鍚嶇О */
+    action?: string;
+    /** 鏄惁鎴愬姛 */
+    success?: boolean;
+    /** 鍥炶皟鐮� */
+    code?: string;
+    /** 鍥炶皟娑堟伅 */
+    message?: string;
+    /** 鍏宠仈Id */
+    relationId?: string;
+    /** 鍥炰紶鏁版嵁 */
+    data?: any;
+  }
+
   enum EnumBillingMethod {
     /**鎸夋湀 */
     Month = 10,
@@ -286,6 +362,57 @@
     PcWeb = 10,
     /**寰俊灏忕▼搴� */
     Wxmp = 20,
+  }
+
+  enum EnumContractTemplateStatus {
+    /**寰呭埗鐗� */
+    Wait = 10,
+    /**宸插畬鎴� */
+    Completed = 20,
+  }
+
+  enum EnumContractTemplateValueRecorder {
+    /**鍙戜欢浜� */
+    Creator = 10,
+    /**绛剧讲浜� */
+    Signer = 20,
+  }
+
+  enum EnumContractTemplateValueType {
+    /**鏂囨湰 */
+    Text = 10,
+    /**绛剧讲 */
+    Sign = 20,
+    /**鏃ユ湡 */
+    Date = 30,
+  }
+
+  enum EnumDataSource {
+    /**818 */
+    HumanResources = 10,
+  }
+
+  enum EnumDbAuditOperate {
+    /**娣诲姞 */
+    Added = 10,
+    /**淇敼 */
+    Modified = 20,
+    /**鍒犻櫎 */
+    Deleted = 30,
+  }
+
+  enum EnumElectronSignAccess {
+    /**涓婁笂绛� */
+    BestSign = 10,
+    /**鏀粯瀹濅俊浠荤 */
+    AlipaySign = 20,
+  }
+
+  enum EnumEnterpriseRealMethod {
+    /**浼佷笟涓夎绱� */
+    Identity3 = 10,
+    /**浼佷笟鍥涜绱� */
+    Identity4 = 20,
   }
 
   enum EnumMenuType {
@@ -310,11 +437,23 @@
     NeedPower = 30,
   }
 
+  enum EnumOcrAccess {
+    /**鐧惧害 */
+    Baidu = 10,
+  }
+
   enum EnumPagedListOrder {
     /**鍗囧簭 */
     Asc = 0,
     /**闄嶅簭 */
     Desc = 1,
+  }
+
+  enum EnumPayAccess {
+    /**骞冲畨閾惰 */
+    PingAnBank = 10,
+    /**鏀粯瀹� */
+    Alipay = 20,
   }
 
   enum EnumPersonalFreeTime {
@@ -339,6 +478,15 @@
     Not = 30,
   }
 
+  enum EnumPersonalRealMethod {
+    /**涓汉鎵嬫満鍙蜂笁瑕佺礌 */
+    Identity3 = 10,
+    /**閾惰鍗″瑕佺礌 */
+    Identity4 = 20,
+    /**鍒疯劯璁よ瘉 */
+    Face = 30,
+  }
+
   enum EnumRealAccess {
     /**涓婁笂绛� */
     BestSign = 10,
@@ -348,32 +496,44 @@
 
   enum EnumResourceController {
     /**鏁版嵁瀛楀吀 */
-    Dictionary = 0,
+    FlexJobServerDictionary = 0,
     /**浠诲姟 */
-    Task = 1,
+    FlexJobServerTask = 1,
     /**浠诲姟浜哄憳 */
-    TaskUser = 2,
+    FlexJobServerTaskUser = 2,
     /**浠诲姟楠屾敹 */
-    TaskCheckReceive = 3,
+    FlexJobServerTaskCheckReceive = 3,
+    /**鏂囦欢 */
+    CommonServerFileUtils = 4,
+    /**鏂囧瓧璇嗗埆 */
+    CommonServerOcrUtils = 5,
+    /**鏃ュ織璁板綍 */
+    CommonServerLogRecords = 6,
     /**鐢ㄦ埛璁よ瘉 */
-    Auth = 4,
+    UserServerAuth = 7,
     /**鐢ㄦ埛鑿滃崟 */
-    Menu = 5,
+    UserServerMenu = 8,
     /**鐢ㄦ埛璧勬簮 */
-    Resource = 6,
+    UserServerResource = 9,
     /**鐢ㄦ埛瑙掕壊 */
-    Role = 7,
+    UserServerRole = 10,
     /**鐢ㄦ埛淇℃伅 */
-    User = 8,
+    UserServerUser = 11,
+    /**鐢靛瓙绛� */
+    UserServerElectronSign = 12,
     /**鐢ㄦ埛绠�鍘� */
-    UserResume = 9,
+    UserServerUserResume = 13,
     /**浼佷笟淇℃伅 */
-    Enterprise = 10,
+    UserServerEnterprise = 14,
     /**鐏靛伐淇℃伅 */
-    EnterpriseEmployee = 11,
+    UserServerEnterpriseEmployee = 15,
+    /**鐢靛瓙绛� */
+    ElectronSignServerElectronSign = 16,
   }
 
   enum EnumResourceMethod {
+    /**鏃� */
+    None = 0,
     /**鏌ヨ */
     Get = 10,
     /**鎻愪氦 */
@@ -650,6 +810,96 @@
     timestamp?: number;
   }
 
+  interface FriendlyResultGetContractTemplateEnterprisesQueryResult {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鐘舵�佺爜 */
+    code?: number;
+    /** 閿欒鐮� */
+    errorCode?: string;
+    data?: GetContractTemplateEnterprisesQueryResult;
+    /** 鎵ц鎴愬姛 */
+    success?: boolean;
+    /** 閿欒淇℃伅 */
+    msg?: any;
+    /** 闄勫姞鏁版嵁 */
+    extras?: any;
+    /** 鏃堕棿鎴� */
+    timestamp?: number;
+  }
+
+  interface FriendlyResultGetContractTemplateQueryResult {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鐘舵�佺爜 */
+    code?: number;
+    /** 閿欒鐮� */
+    errorCode?: string;
+    data?: GetContractTemplateQueryResult;
+    /** 鎵ц鎴愬姛 */
+    success?: boolean;
+    /** 閿欒淇℃伅 */
+    msg?: any;
+    /** 闄勫姞鏁版嵁 */
+    extras?: any;
+    /** 鏃堕棿鎴� */
+    timestamp?: number;
+  }
+
+  interface FriendlyResultGetDbAuditLogsQueryResult {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鐘舵�佺爜 */
+    code?: number;
+    /** 閿欒鐮� */
+    errorCode?: string;
+    data?: GetDbAuditLogsQueryResult;
+    /** 鎵ц鎴愬姛 */
+    success?: boolean;
+    /** 閿欒淇℃伅 */
+    msg?: any;
+    /** 闄勫姞鏁版嵁 */
+    extras?: any;
+    /** 鏃堕棿鎴� */
+    timestamp?: number;
+  }
+
+  interface FriendlyResultGetEnterpriseContractTemplateLogsQueryResult {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鐘舵�佺爜 */
+    code?: number;
+    /** 閿欒鐮� */
+    errorCode?: string;
+    data?: GetEnterpriseContractTemplateLogsQueryResult;
+    /** 鎵ц鎴愬姛 */
+    success?: boolean;
+    /** 閿欒淇℃伅 */
+    msg?: any;
+    /** 闄勫姞鏁版嵁 */
+    extras?: any;
+    /** 鏃堕棿鎴� */
+    timestamp?: number;
+  }
+
+  interface FriendlyResultGetEnterpriseContractTemplatesQueryResult {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鐘舵�佺爜 */
+    code?: number;
+    /** 閿欒鐮� */
+    errorCode?: string;
+    data?: GetEnterpriseContractTemplatesQueryResult;
+    /** 鎵ц鎴愬姛 */
+    success?: boolean;
+    /** 閿欒淇℃伅 */
+    msg?: any;
+    /** 闄勫姞鏁版嵁 */
+    extras?: any;
+    /** 鏃堕棿鎴� */
+    timestamp?: number;
+  }
+
   interface FriendlyResultGetEnterpriseElectronSignSettingQueryResult {
     /** 璺熻釜Id */
     traceId?: string;
@@ -758,6 +1008,42 @@
     timestamp?: number;
   }
 
+  interface FriendlyResultGetExceptionLogsQueryResult {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鐘舵�佺爜 */
+    code?: number;
+    /** 閿欒鐮� */
+    errorCode?: string;
+    data?: GetExceptionLogsQueryResult;
+    /** 鎵ц鎴愬姛 */
+    success?: boolean;
+    /** 閿欒淇℃伅 */
+    msg?: any;
+    /** 闄勫姞鏁版嵁 */
+    extras?: any;
+    /** 鏃堕棿鎴� */
+    timestamp?: number;
+  }
+
+  interface FriendlyResultGetLicenseOcrCommandResult {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鐘舵�佺爜 */
+    code?: number;
+    /** 閿欒鐮� */
+    errorCode?: string;
+    data?: GetLicenseOcrCommandResult;
+    /** 鎵ц鎴愬姛 */
+    success?: boolean;
+    /** 閿欒淇℃伅 */
+    msg?: any;
+    /** 闄勫姞鏁版嵁 */
+    extras?: any;
+    /** 鏃堕棿鎴� */
+    timestamp?: number;
+  }
+
   interface FriendlyResultGetMenuQueryResult {
     /** 璺熻釜Id */
     traceId?: string;
@@ -848,6 +1134,24 @@
     timestamp?: number;
   }
 
+  interface FriendlyResultGetPersonalUserInfoSignContractsQueryResult {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鐘舵�佺爜 */
+    code?: number;
+    /** 閿欒鐮� */
+    errorCode?: string;
+    data?: GetPersonalUserInfoSignContractsQueryResult;
+    /** 鎵ц鎴愬姛 */
+    success?: boolean;
+    /** 閿欒淇℃伅 */
+    msg?: any;
+    /** 闄勫姞鏁版嵁 */
+    extras?: any;
+    /** 鏃堕棿鎴� */
+    timestamp?: number;
+  }
+
   interface FriendlyResultGetPersonalUserInfosQueryResult {
     /** 璺熻釜Id */
     traceId?: string;
@@ -866,6 +1170,24 @@
     timestamp?: number;
   }
 
+  interface FriendlyResultGetResourceLogsQueryResult {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鐘舵�佺爜 */
+    code?: number;
+    /** 閿欒鐮� */
+    errorCode?: string;
+    data?: GetResourceLogsQueryResult;
+    /** 鎵ц鎴愬姛 */
+    success?: boolean;
+    /** 閿欒淇℃伅 */
+    msg?: any;
+    /** 闄勫姞鏁版嵁 */
+    extras?: any;
+    /** 鏃堕棿鎴� */
+    timestamp?: number;
+  }
+
   interface FriendlyResultGetRoleQueryResult {
     /** 璺熻釜Id */
     traceId?: string;
@@ -874,6 +1196,24 @@
     /** 閿欒鐮� */
     errorCode?: string;
     data?: GetRoleQueryResult;
+    /** 鎵ц鎴愬姛 */
+    success?: boolean;
+    /** 閿欒淇℃伅 */
+    msg?: any;
+    /** 闄勫姞鏁版嵁 */
+    extras?: any;
+    /** 鏃堕棿鎴� */
+    timestamp?: number;
+  }
+
+  interface FriendlyResultGetTaskEnterpriseQueryResult {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鐘舵�佺爜 */
+    code?: number;
+    /** 閿欒鐮� */
+    errorCode?: string;
+    data?: GetTaskEnterpriseQueryResult;
     /** 鎵ц鎴愬姛 */
     success?: boolean;
     /** 閿欒淇℃伅 */
@@ -946,6 +1286,24 @@
     /** 閿欒鐮� */
     errorCode?: string;
     data?: GetTaskUsersQueryResult;
+    /** 鎵ц鎴愬姛 */
+    success?: boolean;
+    /** 閿欒淇℃伅 */
+    msg?: any;
+    /** 闄勫姞鏁版嵁 */
+    extras?: any;
+    /** 鏃堕棿鎴� */
+    timestamp?: number;
+  }
+
+  interface FriendlyResultGetTraceIdLogQueryResult {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鐘舵�佺爜 */
+    code?: number;
+    /** 閿欒鐮� */
+    errorCode?: string;
+    data?: GetTraceIdLogQueryResult;
     /** 鎵ц鎴愬姛 */
     success?: boolean;
     /** 閿欒淇℃伅 */
@@ -1436,6 +1794,24 @@
     timestamp?: number;
   }
 
+  interface FriendlyResultUploadFileCommandResult {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鐘舵�佺爜 */
+    code?: number;
+    /** 閿欒鐮� */
+    errorCode?: string;
+    data?: UploadFileCommandResult;
+    /** 鎵ц鎴愬姛 */
+    success?: boolean;
+    /** 閿欒淇℃伅 */
+    msg?: any;
+    /** 闄勫姞鏁版嵁 */
+    extras?: any;
+    /** 鏃堕棿鎴� */
+    timestamp?: number;
+  }
+
   type GetAliyunOSSAcsQuery = Record<string, any>;
 
   interface GetAliyunOSSAcsQueryResult {
@@ -1690,7 +2066,102 @@
     addressName?: string;
   }
 
+  interface GetContractTemplateEnterprisesQuery {
+    /** 鍏抽敭瀛� */
+    keywords?: string;
+    status?: EnumContractTemplateStatus;
+    pageModel?: PagedListQueryPageModel;
+  }
+
+  interface GetContractTemplateEnterprisesQueryResult {
+    pageModel?: PagedListQueryResultPageModel;
+    /** 鏁版嵁 */
+    data?: GetContractTemplateEnterprisesQueryResultItem[];
+  }
+
+  interface GetContractTemplateEnterprisesQueryResultItem {
+    /** 浼佷笟Id */
+    id?: string;
+    /** 浼佷笟鍏ㄧО */
+    enterpriseName?: string;
+    /** 鑱旂郴浜� */
+    contacts?: string;
+    /** 鑱旂郴鐢佃瘽 */
+    contactPhoneNumber?: string;
+    /** 鍚堝悓鏁� */
+    total?: number;
+    /** 寰呭埗鐗� */
+    waitCount?: number;
+  }
+
+  interface GetContractTemplateQueryResult {
+    /** 妯℃澘Id */
+    id?: string;
+    /** 浼佷笟Id */
+    enterpriseId?: string;
+    /** 妯℃澘鍚嶇О */
+    name?: string;
+    /** 妯℃澘 */
+    file?: string;
+    /** 涓氬姟缂栫爜 */
+    code?: string;
+    access?: EnumElectronSignAccess;
+    /** 妯℃澘Id */
+    templateId?: string;
+    /** 鍙橀噺 */
+    values?: GetContractTemplateQueryResultValue[];
+  }
+
+  interface GetContractTemplateQueryResultValue {
+    /** 鍙橀噺Id */
+    id?: string;
+    type?: EnumContractTemplateValueType;
+    recorder?: EnumContractTemplateValueRecorder;
+    userType?: EnumUserType;
+    /** 鍙橀噺鍚嶇О */
+    label?: string;
+    /** 鍙橀噺浠g爜 */
+    name?: string;
+    /** 鏄惁蹇呭~ */
+    required?: boolean;
+  }
+
   type GetCurrentLogierMenusQuery = Record<string, any>;
+
+  interface GetDbAuditLogsQuery {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鍏抽敭瀛� */
+    keywords?: string;
+    /** 鍒涘缓鏃堕棿-璧峰 */
+    createdTimeBegin?: string;
+    /** 鍒涘缓鏃堕棿-鎴 */
+    createdTimeEnd?: string;
+    pageModel?: PagedListQueryPageModel;
+  }
+
+  interface GetDbAuditLogsQueryResult {
+    pageModel?: PagedListQueryResultPageModel;
+    /** 鏁版嵁 */
+    data?: GetDbAuditLogsQueryResultItem[];
+  }
+
+  interface GetDbAuditLogsQueryResultItem {
+    /** 琛ㄥ悕 */
+    tableName?: string;
+    /** 涓婚敭 */
+    primaryKey?: string;
+    operate?: EnumDbAuditOperate;
+    /** 鏃у�� */
+    oldValues?: string;
+    /** 鏂板�� */
+    newValues?: string;
+    /** 鎿嶄綔浜篒d */
+    createdUserId?: string;
+    createdUser?: GetResourceLogsQueryResultItemCreatedUser;
+    /** 鍒涘缓鏃堕棿 */
+    createdTime?: string;
+  }
 
   interface GetDictionaryCategoriesQuery {
     /** 鍏抽敭瀛� */
@@ -1798,6 +2269,74 @@
     sort?: number;
     /** 鏄惁绂佺敤 */
     isDisabled?: boolean;
+  }
+
+  interface GetEnterpriseContractTemplateLogsQuery {
+    /** 妯℃澘Id */
+    id?: string;
+    pageModel?: PagedListQueryPageModel;
+  }
+
+  interface GetEnterpriseContractTemplateLogsQueryResult {
+    pageModel?: PagedListQueryResultPageModel;
+    /** 鏁版嵁 */
+    data?: GetEnterpriseContractTemplateLogsQueryResultItem[];
+  }
+
+  interface GetEnterpriseContractTemplateLogsQueryResultItem {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鎿嶄綔浜� */
+    createdUser?: string;
+    /** 鎿嶄綔鏃堕棿 */
+    createdTime?: string;
+    operate?: EnumDbAuditOperate;
+    /** 鎿嶄綔鍐呭 */
+    content?: string[];
+  }
+
+  interface GetEnterpriseContractTemplatesQuery {
+    /** 浼佷笟Id */
+    enterpriseId?: string;
+    /** 鍏抽敭瀛� */
+    keywords?: string;
+    status?: EnumContractTemplateStatus;
+    /** 瀹㈡埛涓婁紶鏃堕棿-璧峰 */
+    createdTimeBegin?: string;
+    /** 瀹㈡埛涓婁紶鏃堕棿-鎴 */
+    createdTimeEnd?: string;
+    /** 鍒剁増鏃堕棿-璧峰 */
+    completedTimeBegin?: string;
+    /** 鍒剁増鏃堕棿-鎴 */
+    completedTimeEnd?: string;
+    pageModel?: PagedListQueryPageModel;
+  }
+
+  interface GetEnterpriseContractTemplatesQueryResult {
+    pageModel?: PagedListQueryResultPageModel;
+    /** 鏁版嵁 */
+    data?: GetEnterpriseContractTemplatesQueryResultItem[];
+  }
+
+  interface GetEnterpriseContractTemplatesQueryResultItem {
+    /** 妯℃澘Id */
+    id?: string;
+    /** 妯℃澘鍚嶇О */
+    name?: string;
+    /** 瀹㈡埛涓婁紶鏃堕棿 */
+    createdTime?: string;
+    /** 妯℃澘Id */
+    templateId?: string;
+    access?: EnumElectronSignAccess;
+    /** 涓氬姟缂栫爜 */
+    code?: string;
+    /** 妯℃澘 */
+    file?: string;
+    status?: EnumContractTemplateStatus;
+    /** 鍒剁増鏃堕棿 */
+    completedTime?: string;
+    /** 鎿嶄綔浜� */
+    operator?: string;
   }
 
   interface GetEnterpriseElectronSignSettingQueryResult {
@@ -1918,6 +2457,7 @@
     avatar?: string;
     /** 濮撳悕 */
     name?: string;
+    gender?: EnumUserGender;
     /** 浼佷笟鍏ㄧО */
     enterpriseName?: string;
     /** 瑙掕壊 */
@@ -2006,6 +2546,46 @@
     industryTypeContent?: string;
     /** 鏄惁宸查厤缃� */
     isConfigured?: boolean;
+  }
+
+  interface GetExceptionLogsQuery {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鍏抽敭瀛� */
+    keywords?: string;
+    /** 鍒涘缓鏃堕棿-璧峰 */
+    createdTimeBegin?: string;
+    /** 鍒涘缓鏃堕棿-鎴 */
+    createdTimeEnd?: string;
+    pageModel?: PagedListQueryPageModel;
+  }
+
+  interface GetExceptionLogsQueryResult {
+    pageModel?: PagedListQueryResultPageModel;
+    /** 鏁版嵁 */
+    data?: GetExceptionLogsQueryResultItem[];
+  }
+
+  interface GetExceptionLogsQueryResultItem {
+    /** 绫诲瀷 */
+    type?: string;
+    /** 浠g爜 */
+    code?: string;
+    /** 娑堟伅 */
+    message?: string;
+    /** 鍫嗘爤璺熻釜 */
+    stackTrace?: string;
+    /** 鎿嶄綔浜篒d */
+    createdUserId?: string;
+    createdUser?: GetResourceLogsQueryResultItemCreatedUser;
+    /** 鍒涘缓鏃堕棿 */
+    createdTime?: string;
+  }
+
+  interface GetLicenseOcrCommandResult {
+    /** 鍦板潃 */
+    url?: string;
+    model?: BaiduOcrBusinessLicenseResultModel;
   }
 
   interface GetMenuQueryResult {
@@ -2146,6 +2726,27 @@
     pageModel?: PagedListQueryPageModel;
   }
 
+  interface GetOpenUserResumesQuery {
+    /** 浠诲姟Id */
+    taskInfoId?: string;
+    /** 鏈熸湜宀椾綅缂栧彿 */
+    userExpectJobs?: string[];
+    gender?: EnumUserGender;
+    /** 韬唤缂栧彿 */
+    personalIdentityCode?: string;
+    /** 骞撮緞鑼冨洿鏈�灏� */
+    ageMin?: number;
+    /** 骞撮緞鑼冨洿澶� */
+    ageMax?: number;
+    /** 璧勬牸璇佷功缂栧彿 */
+    userCredentials?: string[];
+    /** 鏄惁宸叉敹钘� */
+    isCollected?: boolean;
+    /** 鏄惁宸茶仈绯� */
+    isContacted?: boolean;
+    pageModel?: PagedListQueryPageModel;
+  }
+
   interface GetOperationUserInfosQuery {
     /** 鍏抽敭瀛� */
     keywords?: string;
@@ -2274,6 +2875,8 @@
   }
 
   enum GetPersonalHireTaskInfosQueryStatus {
+    /**寰呭紑濮� */
+    Wait = 1,
     /**杩涜涓� */
     InProcess = 10,
     /**宸插畬鎴� */
@@ -2285,6 +2888,8 @@
   interface GetPersonalLoginInfoQueryResult {
     /** Id */
     id?: string;
+    /** 澶村儚 */
+    avatar?: string;
     /** 濮撳悕 */
     name?: string;
     /** 鏄惁瀹炲悕 */
@@ -2296,6 +2901,36 @@
     hirePassTaskCount?: number;
     /** 宸插彇娑� */
     hireRefuseTaskCount?: number;
+  }
+
+  interface GetPersonalUserInfoSignContractsQuery {
+    /** 鐢ㄦ埛Id */
+    id?: string;
+    pageModel?: PagedListQueryPageModel;
+  }
+
+  interface GetPersonalUserInfoSignContractsQueryResult {
+    pageModel?: PagedListQueryResultPageModel;
+    /** 鏁版嵁 */
+    data?: GetPersonalUserInfoSignContractsQueryResultItem[];
+  }
+
+  interface GetPersonalUserInfoSignContractsQueryResultItem {
+    /** 鐏靛伐Id */
+    id?: string;
+    /** 鎵�灞炲晢鎴� */
+    enterpriseName?: string;
+    /** 鎶ュ悕鏃堕棿 */
+    applyTime?: string;
+    hireStatus?: EnumTaskUserHireStatus;
+    /** 褰曠敤鏃堕棿 */
+    hireTime?: string;
+    userSignContractStatus?: EnumTaskUserSignContractStatus;
+    enterpriseSignContractStatus?: EnumTaskUserSignContractStatus;
+    /** 浼佷笟绛剧害鏃堕棿 */
+    enterpriseSignContractTime?: string;
+    /** 鐢靛瓙鍚堝悓 */
+    contractUrl?: string;
   }
 
   interface GetPersonalUserInfosQuery {
@@ -2329,6 +2964,10 @@
     contactPhoneNumber?: string;
     /** 韬唤璇佸彿 */
     identity?: string;
+    /** 韬唤璇佷汉鍍忛潰 */
+    identityImg?: string;
+    /** 韬唤璇佸浗寰介潰 */
+    identityBackImg?: string;
     gender?: EnumUserGender;
     /** 骞撮緞 */
     age?: number;
@@ -2357,6 +2996,71 @@
     code?: string;
     /** 鍚嶇О */
     name?: string;
+  }
+
+  interface GetResourceLogsQuery {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鍏抽敭瀛� */
+    keywords?: string;
+    /** 鍒涘缓鏃堕棿-璧峰 */
+    createdTimeBegin?: string;
+    /** 鍒涘缓鏃堕棿-鎴 */
+    createdTimeEnd?: string;
+    pageModel?: PagedListQueryPageModel;
+  }
+
+  interface GetResourceLogsQueryResult {
+    pageModel?: PagedListQueryResultPageModel;
+    /** 鏁版嵁 */
+    data?: GetResourceLogsQueryResultItem[];
+  }
+
+  interface GetResourceLogsQueryResultItem {
+    /** Id */
+    id?: string;
+    method?: EnumResourceMethod;
+    /** 鍩熷悕 */
+    domain?: string;
+    /** 鍦板潃 */
+    path?: string;
+    /** 璇锋眰澶� */
+    requestHeaders?: string;
+    /** 璇锋眰鍙傛暟 */
+    request?: string;
+    /** 璇锋眰澶� */
+    responseHeaders?: string;
+    /** 鍝嶅簲缁撴灉 */
+    response?: string;
+    /** 鏄惁鎴愬姛 */
+    isSuccess?: boolean;
+    /** 瀹㈡埛绔疘P鍦板潃 */
+    clientIpAddress?: string;
+    /** 鏉ユ簮鍦板潃 */
+    refererUrl?: string;
+    /** 鎺у埗鍙版棩蹇� */
+    consoleLogs?: string;
+    /** 鑰楁椂姣鏁� */
+    elapsedMilliseconds?: number;
+    /** 鎿嶄綔浜篒d */
+    createdUserId?: string;
+    createdUser?: GetResourceLogsQueryResultItemCreatedUser;
+    /** 鍒涘缓鏃堕棿 */
+    createdTime?: string;
+  }
+
+  interface GetResourceLogsQueryResultItemCreatedUser {
+    /** Id */
+    id?: string;
+    type?: EnumUserType;
+    /** 濮撳悕 */
+    name?: string;
+    /** 鐢ㄦ埛鍚� */
+    userName?: string;
+    /** 浼佷笟Id */
+    enterpriseId?: string;
+    /** 浼佷笟鍏ㄧО */
+    enterpriseName?: string;
   }
 
   interface GetResourcesQueryResultItem {
@@ -2445,6 +3149,27 @@
     isChecked?: boolean;
   }
 
+  interface GetTaskEnterpriseQueryResult {
+    /** 浼佷笟鍏ㄧО */
+    enterpriseName?: string;
+    /** 缁熶竴绀句細淇$敤浠g爜 */
+    societyCreditCode?: string;
+    /** 鏄惁瀹炲悕 */
+    isReal?: boolean;
+    /** 浼佷笟绫诲瀷 */
+    enterpriseType?: string;
+    /** 娉ㄥ唽璧勬湰 */
+    registeredCapital?: string;
+    /** 鎴愮珛鏃ユ湡 */
+    establishmentDate?: string;
+    /** 浼佷笟鍦板潃 */
+    address?: string;
+    /** 缁忚惀鑼冨洿 */
+    mainBusiness?: string;
+    /** 鍦ㄦ嫑宀椾綅鏁伴噺 */
+    taskCount?: number;
+  }
+
   interface GetTaskInfoQueryResult {
     /** Id */
     id?: string;
@@ -2454,6 +3179,8 @@
     enterpriseName?: string;
     /** 鑱旂郴鐢佃瘽 */
     contactPhoneNumber?: string;
+    /** 鏄惁璁よ瘉 */
+    isReal?: boolean;
     /** 鍦ㄦ嫑宀椾綅鏁伴噺 */
     taskCount?: number;
     /** 鎶ュ悕浜烘暟 */
@@ -2530,8 +3257,10 @@
   }
 
   enum GetTaskInfoQueryResultHireButton {
+    /**寰呭紑濮� */
+    Wait = 1,
     /**鐢宠楠屾敹 */
-    ApplyCheckReceive = 1,
+    ApplyCheckReceive = 5,
     /**杩涜涓� */
     InProcess = 10,
     /**宸插畬鎴� */
@@ -2576,6 +3305,10 @@
     name: string;
     /** 浠诲姟鍗曞彿 */
     code?: string;
+    /** 浼佷笟鍏ㄧО */
+    enterpriseName?: string;
+    /** 鐢ㄦ埛鍚� */
+    userName?: string;
     billingMethod?: EnumBillingMethod;
     /** 鏈嶅姟璐� */
     serviceFee?: number;
@@ -2612,6 +3345,9 @@
     checkReceiveStatus?: EnumTaskCheckReceiveStatus;
     settlementStatus?: EnumTaskSettlementStatus;
     recommendStatus?: EnumTaskRecommendStatus;
+    /** 鎺ㄨ崘鏃堕棿 */
+    recommendTime?: string;
+    hireStatus?: EnumTaskUserHireStatus;
     /** 鍙戝竷鏃堕棿 */
     createdTime?: string;
   }
@@ -2680,6 +3416,15 @@
     /** 宸ヤ綔缁忛獙 */
     workExperience?: string;
     hireStatus?: EnumTaskUserHireStatus;
+  }
+
+  interface GetTraceIdLogQueryResult {
+    /** 璧勬簮鏃ュ織 */
+    resourceLogs?: GetResourceLogsQueryResultItem[];
+    /** 寮傚父鏃ュ織 */
+    exceptionLogs?: GetExceptionLogsQueryResultItem[];
+    /** 鏁版嵁搴撳璁℃棩蹇� */
+    dbAuditLogs?: GetDbAuditLogsQueryResultItem[];
   }
 
   interface GetUserInfoRolesQueryResultItem {
@@ -2872,8 +3617,8 @@
   }
 
   interface GetUserResumeQueryResultExperience {
-    /** 绛剧害鏃堕棿 */
-    signContractTime?: string;
+    /** 褰曠敤鏃堕棿 */
+    hireTime?: string;
     /** 浼佷笟鍏ㄧО */
     enterpriseName?: string;
     /** 浠诲姟鍚嶇О */
@@ -2941,6 +3686,7 @@
     workExperience?: string;
     /** 鍒涘缓鏃堕棿 */
     createdTime?: string;
+    hireStatus?: EnumTaskUserHireStatus;
   }
 
   type GetUserResumeWorkExperienceQuery = Record<string, any>;
@@ -3059,11 +3805,74 @@
     clientType?: EnumClientType;
   }
 
+  interface PersonalUserFaceRealCommand {
+    /** 濮撳悕 */
+    name: string;
+    /** 韬唤璇佸彿 */
+    identity: string;
+    /** 韬唤璇佷汉鍍忛潰 */
+    identityImg: string;
+    /** 韬唤璇佸浗寰介潰 */
+    identityBackImg: string;
+  }
+
+  interface PersonalUserIdentity3RealCommand {
+    /** 濮撳悕 */
+    name: string;
+    /** 鎵嬫満鍙� */
+    phoneNumber: string;
+    /** 韬唤璇佸彿 */
+    identity: string;
+    /** 韬唤璇佷汉鍍忛潰 */
+    identityImg: string;
+    /** 韬唤璇佸浗寰介潰 */
+    identityBackImg: string;
+    /** 楠岃瘉鐮� */
+    verifyCode: string;
+  }
+
   interface RegisterPersonalUserCommand {
     /** 鎵嬫満鍙风爜 */
     phoneNumber: string;
     /** 楠岃瘉鐮� */
     verifyCode: string;
+  }
+
+  interface ResendResourceCommand {
+    /** 璧勬簮鏃ュ織Id */
+    id?: string;
+  }
+
+  interface SaveContractTemplateCommand {
+    /** 浼佷笟Id锛堣繍钀ョ淇濆瓨鏃讹級 */
+    enterpriseId?: string;
+    /** 妯℃澘鍚嶇О */
+    name: string;
+    /** 妯℃澘 */
+    file: string;
+    /** 涓氬姟缂栫爜 */
+    code?: string;
+    access?: EnumElectronSignAccess;
+    /** 妯℃澘Id */
+    templateId?: string;
+    /** 鍙橀噺 */
+    values?: SaveContractTemplateCommandValue[];
+    /** Id */
+    id?: string;
+  }
+
+  interface SaveContractTemplateCommandValue {
+    /** Id */
+    id?: string;
+    type?: EnumContractTemplateValueType;
+    recorder?: EnumContractTemplateValueRecorder;
+    userType?: EnumUserType;
+    /** 鍙橀噺鍚嶇О */
+    label?: string;
+    /** 鍙橀噺浠g爜 */
+    name?: string;
+    /** 鏄惁蹇呭~ */
+    required?: boolean;
   }
 
   interface SaveDictionaryCategoryCommand {
@@ -3280,15 +4089,6 @@
     resources?: GetRoleQueryResultResource[];
   }
 
-  interface SaveScheduleJobDetailCommand {
-    /** 璧勬簮Id */
-    resourceId?: string;
-    /** 璇锋眰鏁版嵁 */
-    body?: string;
-    /** Cron琛ㄨ揪寮� */
-    cron?: string;
-  }
-
   interface SaveTaskInfoCommand {
     /** 浠诲姟鍚嶇О */
     name: string;
@@ -3407,6 +4207,15 @@
     phoneNumber: string;
   }
 
+  interface SendPersonalUserIdentity3RealSmsCommand {
+    /** 濮撳悕 */
+    name: string;
+    /** 鎵嬫満鍙� */
+    phoneNumber: string;
+    /** 韬唤璇佸彿 */
+    identity: string;
+  }
+
   interface SetDictionaryDataIsDisabledCommand {
     ids?: string[];
     /** 鏄惁宸茬鐢� */
@@ -3431,6 +4240,12 @@
     smsAccess?: EnumSmsAccess;
     /** 鐭俊璐圭敤 */
     smsCost?: number;
+  }
+
+  interface SetIsDisabledContractTemplateCommand {
+    ids?: string[];
+    /** 鏄惁宸茬鐢� */
+    isDisabled?: boolean;
   }
 
   interface SetMenuSwitchCommand {
@@ -3505,17 +4320,126 @@
   interface SubmitCheckReceiveTaskCommand {
     /** 浠诲姟Id */
     taskInfoId?: string;
+    /** 鏃ユ湡 */
+    date?: string;
     /** 闄勪欢 */
     files?: string[];
   }
 
+  interface SyncEnterpriseUserCommand {
+    dataSource?: EnumDataSource;
+    /** 鏁版嵁鏉ユ簮Id */
+    dataSourceId?: string;
+    /** 瀵嗙爜 */
+    password?: string;
+    /** 濮撳悕 */
+    name?: string;
+    /** 鐢ㄦ埛鍚� */
+    userName?: string;
+    /** 鎵嬫満鍙� */
+    phoneNumber?: string;
+    status?: EnumUserStatus;
+    enterprise?: SyncEnterpriseUserCommandEnterprise;
+  }
+
+  interface SyncEnterpriseUserCommandEnterprise {
+    /** 鍥尯Id */
+    industrialParkId?: string;
+    /** 浼佷笟鍏ㄧО */
+    enterpriseName: string;
+    /** 缁熶竴绀句細淇$敤浠g爜 */
+    societyCreditCode: string;
+    /** 钀ヤ笟鎵х収鐓х墖 */
+    licenseImage?: string;
+    /** 娉曚汉濮撳悕 */
+    legalPerson?: string;
+    /** 娉曚汉韬唤璇佸彿 */
+    legalIdentity?: string;
+    /** 鎵�鍦ㄧ渷浠界紪鍙� */
+    provinceCode?: string;
+    /** 鎵�鍦ㄥ煄甯傜紪鍙� */
+    cityCode?: string;
+    /** 鑱旂郴浜� */
+    contacts?: string;
+    /** 鑱旂郴鐢佃瘽 */
+    contactPhoneNumber?: string;
+    /** 鑱旂郴閭 */
+    contactEmail?: string;
+    payAccess?: EnumPayAccess;
+    /** 寮�鎴锋�昏 */
+    bankName?: string;
+    /** 寮�鎴锋敮琛� */
+    bankBranchName?: string;
+    /** 閾惰璐︽埛 */
+    bankCard?: string;
+    /** 鏄惁宸叉牎楠岄摱琛岃处鎴� */
+    isCheckedBankCard?: boolean;
+    realAccess?: EnumRealAccess;
+    /** 瀹炲悕璐圭敤 */
+    realVerifyCost?: number;
+    /** 绛剧害璐圭敤 */
+    signCost?: number;
+    /** 涓�鍙d环 */
+    mergeSignCost?: number;
+    /** 鏄惁瀹炲悕 */
+    isReal?: boolean;
+    enterpriseAuth?: SyncEnterpriseUserCommandEnterpriseAuth;
+  }
+
+  interface SyncEnterpriseUserCommandEnterpriseAuth {
+    enterpriseRealMethod?: EnumEnterpriseRealMethod;
+    personalRealMethod?: EnumPersonalRealMethod;
+    /** 娉曚汉鎴栫粡鍔炰汉濮撳悕 */
+    name?: string;
+    /** 娉曚汉鎴栫粡鍔炰汉韬唤璇佸彿 */
+    identity?: string;
+    /** 娉曚汉鎴栫粡鍔炰汉韬唤璇佷汉鍍忛潰 */
+    identityImg?: string;
+    /** 娉曚汉鎴栫粡鍔炰汉韬唤璇佸浗寰介潰 */
+    identityBackImg?: string;
+    /** 娉曚汉鎴栫粡鍔炰汉閾惰鍗″彿 */
+    bankCard?: string;
+    /** 娉曚汉鎴栫粡鍔炰汉閾惰鍗$収鐗� */
+    bankCardImg?: string;
+    /** 娉曚汉鎴栫粡鍔炰汉鎵嬫満鍙� */
+    phoneNumber?: string;
+    /** 鏄惁濮旀墭缁忓姙浜� */
+    proxy?: boolean;
+    /** 浼佷笟鎺堟潈涔� */
+    proxyPowerAttorneyUrl?: string;
+  }
+
   type SyncHumanResourcesAreaDictionaryDataCommand = Record<string, any>;
+
+  interface SyncOperationUserCommand {
+    dataSource?: EnumDataSource;
+    /** 鏁版嵁鏉ユ簮Id */
+    dataSourceId?: string;
+    /** 濮撳悕 */
+    name?: string;
+    /** 鐢ㄦ埛鍚� */
+    userName: string;
+    /** 鎵嬫満鍙� */
+    phoneNumber?: string;
+    /** 瀵嗙爜 */
+    password?: string;
+    /** 鍥尯Id */
+    industrialParkIds?: string[];
+    status?: EnumUserStatus;
+    /** 澶囨敞 */
+    remark?: string;
+  }
 
   interface UpdatePhoneNumberVerifyCodeCommand {
     /** 鎵嬫満鍙风爜 */
     phoneNumber: string;
   }
 
+  interface UploadFileCommandResult {
+    /** 鍦板潃 */
+    url?: string;
+  }
+
   interface WxmpLoginCommand {
     /** 鐢ㄦ埛鐧诲綍鍑瘉 */
     code: string;
diff --git a/src/services/api/user.ts b/src/services/api/user.ts
index 7e0df87..43f20b8 100644
--- a/src/services/api/user.ts
+++ b/src/services/api/user.ts
@@ -35,6 +35,24 @@
   });
 }
 
+/** 鏌ヨC绔汉鍛樼绾﹁鎯呭垎椤靛垪琛ㄦ暟鎹� POST /api/user/user/getPersonalUserInfoSignContracts */
+export async function getPersonalUserInfoSignContracts(
+  body: API.GetPersonalUserInfoSignContractsQuery,
+  options?: API.RequestConfig
+) {
+  return request<API.GetPersonalUserInfoSignContractsQueryResult>(
+    '/api/user/user/getPersonalUserInfoSignContracts',
+    {
+      method: 'POST',
+      headers: {
+        'Content-Type': 'application/json-patch+json',
+      },
+      data: body,
+      ...(options || {}),
+    }
+  );
+}
+
 /** 鏌ヨ鐢ㄦ埛瑙掕壊鍒楄〃 GET /api/user/user/getUserInfoRoles */
 export async function getUserInfoRoles(
   // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
@@ -79,3 +97,33 @@
     ...(options || {}),
   });
 }
+
+/** 鍚屾浼佷笟鐢ㄦ埛 POST /api/user/user/syncEnterpriseUser */
+export async function syncEnterpriseUser(
+  body: API.SyncEnterpriseUserCommand,
+  options?: API.RequestConfig
+) {
+  return request<string>('/api/user/user/syncEnterpriseUser', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
+
+/** 鍚屾杩愯惀鐢ㄦ埛 POST /api/user/user/syncOperationUser */
+export async function syncOperationUser(
+  body: API.SyncOperationUserCommand,
+  options?: API.RequestConfig
+) {
+  return request<string>('/api/user/user/syncOperationUser', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
diff --git a/src/services/api/userResume.ts b/src/services/api/userResume.ts
index 8edd703..2557cb6 100644
--- a/src/services/api/userResume.ts
+++ b/src/services/api/userResume.ts
@@ -47,6 +47,21 @@
   });
 }
 
+/** 鏌ヨ寮�鏀剧畝鍘嗗垎椤靛垪琛ㄦ暟鎹� POST /api/user/userResume/getOpenUserResumes */
+export async function getOpenUserResumes(
+  body: API.GetOpenUserResumesQuery,
+  options?: API.RequestConfig
+) {
+  return request<API.GetUserResumesQueryResult>('/api/user/userResume/getOpenUserResumes', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
+
 /** 鏌ヨ鐢ㄦ埛绠�鍘� GET /api/user/userResume/getUserResume */
 export async function getUserResume(
   // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
diff --git a/src/views/AgreementManage/AgreementManageList.vue b/src/views/AgreementManage/AgreementManageList.vue
index c812998..30c260f 100644
--- a/src/views/AgreementManage/AgreementManageList.vue
+++ b/src/views/AgreementManage/AgreementManageList.vue
@@ -6,10 +6,7 @@
           <QueryFilterItem tip-content="鍒剁増鐘舵��">
             <FieldRadio
               v-model="extraParamState.status"
-              :value-enum="[
-                { label: '宸插畬鎴�', value: 1 },
-                { label: '寰呭埗鐗�', value: 0 },
-              ]"
+              :value-enum="EnumContractTemplateStatusText"
               buttonStyle
               showAllBtn
               @change="getList()"
@@ -17,7 +14,7 @@
           </QueryFilterItem>
           <QueryFilterItem>
             <FieldDatePicker
-              v-model="extraParamState.time"
+              v-model="extraParamState.createdTime"
               type="daterange"
               range-separator="~"
               start-placeholder="璧峰鏃堕棿"
@@ -47,9 +44,20 @@
         :columns="AgreementbManageColumns"
         :operationBtns="operationBtns"
       >
+        <template #code="{ row }">
+          <el-button
+            v-if="row.status === EnumContractTemplateStatus.Completed"
+            link
+            type="primary"
+            @click="handlePreviewQrcode(row)"
+            >鏌ョ湅</el-button
+          >
+          <span v-else></span>
+        </template>
       </ProTableV2>
     </AppContainer>
     <TemplateAddDialog v-bind="dialogProps"></TemplateAddDialog>
+    <QrcodeDialog v-bind="dialogQrcodeProps"></QrcodeDialog>
   </LoadingLayout>
 </template>
 
@@ -70,11 +78,13 @@
   bolePreview,
 } from '@bole-core/components';
 import { AgreementbManageColumns } from './constants';
-import { EnumUserGender } from '@/constants';
-import { downloadFileByUrl } from '@/utils';
+import { EnumContractTemplateStatus, EnumContractTemplateStatusText } from '@/constants';
+import { downloadFileByUrl, format, setOSSLink } from '@/utils';
 import { ModelValueType } from 'element-plus';
-import * as taskServices from '@/services/api/task';
+import * as electronSignServices from '@/services/api/electronSign';
 import TemplateAddDialog from './components/TemplateAddDialog.vue';
+import QrcodeDialog from './components/QrcodeDialog.vue';
+import { Message } from '@bole-core/core';
 
 defineOptions({
   name: 'AgreementManageList',
@@ -89,6 +99,9 @@
     emits: {
       onClick: (role) => handleCheck(role),
     },
+    extraProps: {
+      hide: (row) => row.status !== EnumContractTemplateStatus.Completed,
+    },
   },
   {
     data: {
@@ -98,6 +111,9 @@
     emits: {
       onClick: (role) => handleDownload(role),
     },
+    extraProps: {
+      hide: (row) => row.status !== EnumContractTemplateStatus.Completed,
+    },
   },
   {
     data: {
@@ -106,6 +122,10 @@
     },
     emits: {
       onClick: (role) => handleDelete(role),
+    },
+    props: { type: 'danger' },
+    extraProps: {
+      hide: (row) => row.status !== EnumContractTemplateStatus.Completed,
     },
   },
 ]);
@@ -132,16 +152,19 @@
 } = useTable(
   async ({ pageIndex, pageSize }, extraParamState) => {
     try {
-      let params: API.GetTaskInfosQuery = {
+      let params: API.GetEnterpriseContractTemplatesQuery = {
         pageModel: {
           rows: pageSize,
           page: pageIndex,
           orderInput: extraParamState.orderInput,
         },
         keywords: extraParamState.keywords,
+        status: extraParamState.status,
+        createdTimeBegin: format(extraParamState.createdTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
+        createdTimeEnd: format(extraParamState.createdTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
       };
 
-      let res = await taskServices.getTaskInfos(params, {
+      let res = await electronSignServices.getEnterpriseContractTemplates(params, {
         showLoading: !state.loading,
       });
       return res;
@@ -152,12 +175,16 @@
   {
     defaultExtraParams: {
       keywords: '',
-      status: '' as any as EnumUserGender,
-      time: [] as unknown as ModelValueType,
-      orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
+      status: '' as any as EnumContractTemplateStatus,
+      createdTime: [] as unknown as ModelValueType,
+      orderInput: [{ property: 'createdTime', order: EnumPagedListOrder.Desc }],
     },
-    queryKey: ['flexEnterpriseServices/getFlexEnterpriseList'],
-    columnsRenderProps: {},
+    queryKey: ['electronSignServices/getEnterpriseContractTemplates'],
+    columnsRenderProps: {
+      createdTime: { type: 'date' },
+      completedTime: { type: 'date' },
+      status: { type: 'enum', valueEnum: EnumContractTemplateStatusText },
+    },
   }
 );
 
@@ -169,19 +196,54 @@
   },
 });
 
-async function handleAddOrEdit() {}
-
-function handleDelete(row) {
-  console.log('row: ', row);
+async function handleAddOrEdit() {
+  try {
+    let params: API.SaveContractTemplateCommand = {
+      name: editForm.name,
+      file: editForm.url[0]?.path ?? '',
+    };
+    let res = await electronSignServices.saveContractTemplate(params);
+    if (res) {
+      Message.successMessage('淇濆瓨鎴愬姛');
+      getList();
+    }
+  } catch (error) {}
 }
 
-function handleDownload(row) {
-  downloadFileByUrl('', '妯℃澘');
+async function handleDelete(row: API.GetEnterpriseContractTemplatesQueryResultItem) {
+  try {
+    await Message.deleteMessage();
+    let res = await electronSignServices.setIsDisabledContractTemplate({
+      ids: [row.id],
+      isDisabled: true,
+    });
+    if (res) {
+      Message.successMessage('鎿嶄綔鎴愬姛');
+      getList(paginationState.pageIndex);
+    }
+  } catch (error) {}
 }
 
-function handleCheck(row) {
+function handleDownload(row: API.GetEnterpriseContractTemplatesQueryResultItem) {
+  downloadFileByUrl(setOSSLink(row.file), '妯℃澘');
+}
+
+function handleCheck(row: API.GetEnterpriseContractTemplatesQueryResultItem) {
   bolePreview({
-    fileUrl: '',
+    fileUrl: setOSSLink(row.file),
+  });
+}
+
+const { dialogProps: dialogQrcodeProps, handleEdit } = useFormDialog({
+  defaultFormParams: {
+    qrcodeUrl: '',
+  },
+});
+
+function handlePreviewQrcode(row: API.GetEnterpriseContractTemplatesQueryResultItem) {
+  handleEdit({
+    // qrcodeUrl: setOSSLink(row.file),
+    qrcodeUrl: 'https://www.baidu.com',
   });
 }
 </script>
diff --git a/src/views/AgreementManage/components/QrcodeDialog.vue b/src/views/AgreementManage/components/QrcodeDialog.vue
new file mode 100644
index 0000000..aae81ec
--- /dev/null
+++ b/src/views/AgreementManage/components/QrcodeDialog.vue
@@ -0,0 +1,78 @@
+<template>
+  <ProDialog
+    title="浜岀淮鐮�"
+    v-model="innerVisible"
+    width="400px"
+    destroy-on-close
+    draggable
+    class="qrcode-dialog"
+  >
+    <div class="qrcode-wrapper">
+      <vue-qrcode :value="form.qrcodeUrl" tag="img" :options="{ width: 180 }" ref="qrcode">
+      </vue-qrcode>
+    </div>
+  </ProDialog>
+</template>
+
+<script setup lang="ts">
+import VueQrcode from '@chenfengyuan/vue-qrcode';
+import { ProDialog } from '@bole-core/components';
+
+defineOptions({
+  name: 'QrcodeDialog',
+});
+
+type Props = {
+  modelValue: boolean;
+  form: {
+    qrcodeUrl: string;
+  };
+};
+
+const props = withDefaults(defineProps<Props>(), {
+  modelValue: false,
+});
+
+const emit = defineEmits<{
+  (e: 'update:modelValue', value: boolean): void;
+  (e: 'onCancel'): void;
+}>();
+
+const innerVisible = computed({
+  get() {
+    return props.modelValue;
+  },
+  set(val) {
+    emit('update:modelValue', val);
+  },
+});
+</script>
+
+<style lang="scss" scoped>
+@use '@/style/common.scss' as *;
+
+.qrcode-wrapper {
+  position: relative;
+
+  .alipay-icon {
+    position: absolute;
+    top: calc(50% - 22px);
+    left: calc(50% - 22px);
+    display: block;
+    padding: 6px;
+    width: 44px;
+    height: 44px;
+    border: none;
+    border-radius: 7px;
+    background: #ffffff;
+  }
+}
+</style>
+<style lang="scss">
+.qrcode-dialog {
+  .el-dialog__body {
+    display: flex;
+    justify-content: center;
+  }
+}
+</style>
diff --git a/src/views/AgreementManage/components/TemplateAddDialog.vue b/src/views/AgreementManage/components/TemplateAddDialog.vue
index ea7851c..8190b75 100644
--- a/src/views/AgreementManage/components/TemplateAddDialog.vue
+++ b/src/views/AgreementManage/components/TemplateAddDialog.vue
@@ -13,7 +13,7 @@
           v-model:file-url="form.url"
           :limit="1"
           :limitFileSize="10"
-          accept="xlsx,xls"
+          accept="pdf"
         ></ProFormUpload>
       </ProFormItemV2>
     </ProForm>
diff --git a/src/views/AgreementManage/constants/columns.ts b/src/views/AgreementManage/constants/columns.ts
index e6cfc33..39a9e59 100644
--- a/src/views/AgreementManage/constants/columns.ts
+++ b/src/views/AgreementManage/constants/columns.ts
@@ -8,27 +8,27 @@
   },
   {
     id: '2',
-    enCode: 'identity',
+    enCode: 'createdTime',
     name: '涓婁紶鏃堕棿',
   },
   {
     id: '3',
-    enCode: 'gender',
+    enCode: 'status',
     name: '鍒剁増鐘舵��',
   },
   {
     id: '5',
-    enCode: 'age',
+    enCode: 'templateId',
     name: '妯℃澘ID',
   },
   {
     id: '6',
-    enCode: 'contactPhoneNumber',
+    enCode: 'completedTime',
     name: '鍒剁増鏃堕棿',
   },
   {
     id: '7',
-    enCode: 'hireStatus',
+    enCode: 'code',
     name: '浜岀淮鐮�',
   },
 ]);

--
Gitblit v1.9.1