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