From 4be53daa8eda7c2577a101f28c97f8068b71175c Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期三, 12 十一月 2025 14:57:20 +0800
Subject: [PATCH] feat: 1.3.0.2
---
src/views/Permission/RoleManage.vue | 6
src/services/api/enterpriseEmployee.ts | 30 ++
src/views/FlexJobManage/constants/columns.ts | 63 -----
src/views/FlexJobManage/components/StaffInfoDialog.vue | 8
.eslintrc-auto-import.json | 3
src/hooks/useUser.ts | 2
src/services/api/typings.d.ts | 64 +++++
src/views/FlexJobManage/FlexJobManage.vue | 241 ++++++++++---------
src/views/FlexJobManage/hooks/index.ts | 88 +++++++
src/services/api/index.ts | 12
src/views/FlexJobManage/FlexJobContractManage.vue | 159 +++---------
auto-imports.d.ts | 8
src/constants/enterpriseEmployee.ts | 15 +
src/constants/apiEnum.ts | 8
14 files changed, 400 insertions(+), 307 deletions(-)
diff --git a/.eslintrc-auto-import.json b/.eslintrc-auto-import.json
index 4938c3b..ecb4828 100644
--- a/.eslintrc-auto-import.json
+++ b/.eslintrc-auto-import.json
@@ -39,6 +39,8 @@
"EnumEnterpriseCooperationWalletTransactionStatusTextForConfirm": true,
"EnumEnterpriseCostStatus": true,
"EnumEnterpriseCostType": true,
+ "EnumEnterpriseEmployeeSource": true,
+ "EnumEnterpriseEmployeeSourceText": true,
"EnumEnterpriseRealMethod": true,
"EnumEnterpriseType": true,
"EnumEnterpriseTypeText": true,
@@ -158,6 +160,7 @@
"GlobalEventListener": true,
"IdentityCodeEnum": true,
"ImportEnterpriseEmployeesTempPath": true,
+ "ImportFlexJobTempPath": true,
"InjectionKey": true,
"MaybeRef": true,
"MaybeRefOrGetter": true,
diff --git a/auto-imports.d.ts b/auto-imports.d.ts
index 1cea0e6..07575b4 100644
--- a/auto-imports.d.ts
+++ b/auto-imports.d.ts
@@ -42,6 +42,8 @@
const EnumEnterpriseCooperationWalletTransactionStatusTextForConfirm: typeof import('./src/constants/finance')['EnumEnterpriseCooperationWalletTransactionStatusTextForConfirm']
const EnumEnterpriseCostStatus: typeof import('./src/constants/apiEnum')['EnumEnterpriseCostStatus']
const EnumEnterpriseCostType: typeof import('./src/constants/apiEnum')['EnumEnterpriseCostType']
+ const EnumEnterpriseEmployeeSource: typeof import('./src/constants/apiEnum')['EnumEnterpriseEmployeeSource']
+ const EnumEnterpriseEmployeeSourceText: typeof import('./src/constants/enterpriseEmployee')['EnumEnterpriseEmployeeSourceText']
const EnumEnterpriseRealMethod: typeof import('./src/constants/apiEnum')['EnumEnterpriseRealMethod']
const EnumEnterpriseType: typeof import('./src/constants/apiEnum')['EnumEnterpriseType']
const EnumEnterpriseTypeText: typeof import('./src/constants/apiEnumText')['EnumEnterpriseTypeText']
@@ -161,6 +163,7 @@
const GetTaskInfoQueryResultHireButton: typeof import('./src/constants/apiEnum')['GetTaskInfoQueryResultHireButton']
const IdentityCodeEnum: typeof import('./src/constants/dic')['IdentityCodeEnum']
const ImportEnterpriseEmployeesTempPath: typeof import('./src/constants/enterpriseEmployee')['ImportEnterpriseEmployeesTempPath']
+ const ImportFlexJobTempPath: typeof import('./src/constants/enterpriseEmployee')['ImportFlexJobTempPath']
const MenuSvgIconMap: typeof import('./src/constants/menu')['MenuSvgIconMap']
const ModuleColumns: typeof import('./src/constants/module')['ModuleColumns']
const MyRegExp: typeof import('./src/constants/regExp')['MyRegExp']
@@ -301,7 +304,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, EnumCodeUrlScene, EnumConsoleLogAccess, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumElectronSignVerifyType, EnumEnterpriseCooperationSignStatus, EnumEnterpriseCooperationStatus, EnumEnterpriseCooperationWalletTransactionStatus, EnumEnterpriseCostStatus, EnumEnterpriseCostType, EnumEnterpriseRealMethod, EnumEnterpriseType, EnumEnterpriseWalletAccess, EnumEnterpriseWalletExpandindirectOrderFileType, EnumEnterpriseWalletExpandindirectOrderScene, EnumEnterpriseWalletExpandindirectOrderStatus, EnumEnterpriseWalletSignStatus, EnumEnterpriseWalletTransactionType, EnumGetArrangeTaskUsersQueryApplyStatus, EnumGetCheckReceiveTaskCheckInUsersQueryStatus, EnumGetCheckReceiveTasksQueryResultItemCheckStatus, EnumGetEnterpriseEmployeesQuerySignContractStatus, EnumLogLevel, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, EnumPersonalUserRealStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumSmsStatus, EnumTaskApplyStatus, EnumTaskCheckReceiveMethod, EnumTaskCheckReceiveStatus, EnumTaskPaymentMethod, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementAuditStatus, EnumTaskSettlementOrderStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserApplyStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckHistoryType, EnumTaskUserSubmitCheckReceiveStatus, EnumUserBankCardAccess, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, EnumUserWalletTransactionType, EnumWalletTransactionStatus, EnumWeChatPayApplymentBankAccountType, EnumWeChatPayApplymentCertType, EnumWeChatPayApplymentContactType, EnumWeChatPayApplymentFinanceType, EnumWeChatPayApplymentIdDocType, EnumWeChatPayApplymentIdHolderType, EnumWeChatPayApplymentSalesScenesType, EnumWeChatPayApplymentState, EnumWeChatPayApplymentSubjectType, EnumWeChatPaySettlementModifyVerifyResult, EnumWeChatPaySettlementVerifyResult, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetSettlementTasksQueryPaymentStatus, GetSettlementTasksQuerySupplierPaymentStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton, SettlementReceiveStatus, EnumBillingMethod, EnumClientType, EnumCodeUrlScene, EnumConsoleLogAccess, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumElectronSignVerifyType, EnumEnterpriseCooperationSignStatus, EnumEnterpriseCooperationStatus, EnumEnterpriseCooperationWalletTransactionStatus, EnumEnterpriseCostStatus, EnumEnterpriseCostType, EnumEnterpriseRealMethod, EnumEnterpriseType, EnumEnterpriseWalletAccess, EnumEnterpriseWalletExpandindirectOrderFileType, EnumEnterpriseWalletExpandindirectOrderScene, EnumEnterpriseWalletExpandindirectOrderStatus, EnumEnterpriseWalletSignStatus, EnumEnterpriseWalletTransactionType, EnumGetArrangeTaskUsersQueryApplyStatus, EnumGetCheckReceiveTaskCheckInUsersQueryStatus, EnumGetCheckReceiveTasksQueryResultItemCheckStatus, EnumGetEnterpriseEmployeesQuerySignContractStatus, EnumLogLevel, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, EnumPersonalUserRealStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumSmsStatus, EnumTaskApplyStatus, EnumTaskCheckReceiveMethod, EnumTaskCheckReceiveStatus, EnumTaskPaymentMethod, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementAuditStatus, EnumTaskSettlementOrderStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserApplyStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckHistoryType, EnumTaskUserSubmitCheckReceiveStatus, EnumUserBankCardAccess, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, EnumUserWalletTransactionType, EnumWalletTransactionStatus, EnumWeChatPayApplymentBankAccountType, EnumWeChatPayApplymentCertType, EnumWeChatPayApplymentContactType, EnumWeChatPayApplymentFinanceType, EnumWeChatPayApplymentIdDocType, EnumWeChatPayApplymentIdHolderType, EnumWeChatPayApplymentSalesScenesType, EnumWeChatPayApplymentState, EnumWeChatPayApplymentSubjectType, EnumWeChatPaySettlementModifyVerifyResult, EnumWeChatPaySettlementVerifyResult, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetSettlementTasksQueryPaymentStatus, GetSettlementTasksQuerySupplierPaymentStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton, SettlementReceiveStatus } from './src/constants/apiEnum'
+ export type { EnumBillingMethod, EnumClientType, EnumCodeUrlScene, EnumConsoleLogAccess, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumElectronSignVerifyType, EnumEnterpriseCooperationSignStatus, EnumEnterpriseCooperationStatus, EnumEnterpriseCooperationWalletTransactionStatus, EnumEnterpriseCostStatus, EnumEnterpriseCostType, EnumEnterpriseEmployeeSource, EnumEnterpriseRealMethod, EnumEnterpriseType, EnumEnterpriseWalletAccess, EnumEnterpriseWalletExpandindirectOrderFileType, EnumEnterpriseWalletExpandindirectOrderScene, EnumEnterpriseWalletExpandindirectOrderStatus, EnumEnterpriseWalletSignStatus, EnumEnterpriseWalletTransactionType, EnumGetArrangeTaskUsersQueryApplyStatus, EnumGetCheckReceiveTaskCheckInUsersQueryStatus, EnumGetCheckReceiveTasksQueryResultItemCheckStatus, EnumGetEnterpriseEmployeesQuerySignContractStatus, EnumLogLevel, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, EnumPersonalUserRealStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumSmsStatus, EnumTaskApplyStatus, EnumTaskCheckReceiveMethod, EnumTaskCheckReceiveStatus, EnumTaskPaymentMethod, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementAuditStatus, EnumTaskSettlementOrderStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserApplyStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckHistoryType, EnumTaskUserSubmitCheckReceiveStatus, EnumUserBankCardAccess, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, EnumUserWalletTransactionType, EnumWalletTransactionStatus, EnumWeChatPayApplymentBankAccountType, EnumWeChatPayApplymentCertType, EnumWeChatPayApplymentContactType, EnumWeChatPayApplymentFinanceType, EnumWeChatPayApplymentIdDocType, EnumWeChatPayApplymentIdHolderType, EnumWeChatPayApplymentSalesScenesType, EnumWeChatPayApplymentState, EnumWeChatPayApplymentSubjectType, EnumWeChatPaySettlementModifyVerifyResult, EnumWeChatPaySettlementVerifyResult, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetSettlementTasksQueryPaymentStatus, GetSettlementTasksQuerySupplierPaymentStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton, SettlementReceiveStatus, EnumBillingMethod, EnumClientType, EnumCodeUrlScene, EnumConsoleLogAccess, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumElectronSignVerifyType, EnumEnterpriseCooperationSignStatus, EnumEnterpriseCooperationStatus, EnumEnterpriseCooperationWalletTransactionStatus, EnumEnterpriseCostStatus, EnumEnterpriseCostType, EnumEnterpriseEmployeeSource, EnumEnterpriseRealMethod, EnumEnterpriseType, EnumEnterpriseWalletAccess, EnumEnterpriseWalletExpandindirectOrderFileType, EnumEnterpriseWalletExpandindirectOrderScene, EnumEnterpriseWalletExpandindirectOrderStatus, EnumEnterpriseWalletSignStatus, EnumEnterpriseWalletTransactionType, EnumGetArrangeTaskUsersQueryApplyStatus, EnumGetCheckReceiveTaskCheckInUsersQueryStatus, EnumGetCheckReceiveTasksQueryResultItemCheckStatus, EnumGetEnterpriseEmployeesQuerySignContractStatus, EnumLogLevel, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, EnumPersonalUserRealStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumSmsStatus, EnumTaskApplyStatus, EnumTaskCheckReceiveMethod, EnumTaskCheckReceiveStatus, EnumTaskPaymentMethod, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementAuditStatus, EnumTaskSettlementOrderStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserApplyStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckHistoryType, EnumTaskUserSubmitCheckReceiveStatus, EnumUserBankCardAccess, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, EnumUserWalletTransactionType, EnumWalletTransactionStatus, EnumWeChatPayApplymentBankAccountType, EnumWeChatPayApplymentCertType, EnumWeChatPayApplymentContactType, EnumWeChatPayApplymentFinanceType, EnumWeChatPayApplymentIdDocType, EnumWeChatPayApplymentIdHolderType, EnumWeChatPayApplymentSalesScenesType, EnumWeChatPayApplymentState, EnumWeChatPayApplymentSubjectType, EnumWeChatPaySettlementModifyVerifyResult, EnumWeChatPaySettlementVerifyResult, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetSettlementTasksQueryPaymentStatus, GetSettlementTasksQuerySupplierPaymentStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton, SettlementReceiveStatus } from './src/constants/apiEnum'
import('./src/constants/apiEnum')
// @ts-ignore
export type { CategoryCode, IdentityCodeEnum, EducationCodeEnum, CertificateTypeCodeEnum, WelfareCodeEnum } from './src/constants/dic'
@@ -372,6 +375,8 @@
readonly EnumEnterpriseCooperationWalletTransactionStatusTextForConfirm: UnwrapRef<typeof import('./src/constants/finance')['EnumEnterpriseCooperationWalletTransactionStatusTextForConfirm']>
readonly EnumEnterpriseCostStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumEnterpriseCostStatus']>
readonly EnumEnterpriseCostType: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumEnterpriseCostType']>
+ readonly EnumEnterpriseEmployeeSource: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumEnterpriseEmployeeSource']>
+ readonly EnumEnterpriseEmployeeSourceText: UnwrapRef<typeof import('./src/constants/enterpriseEmployee')['EnumEnterpriseEmployeeSourceText']>
readonly EnumEnterpriseRealMethod: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumEnterpriseRealMethod']>
readonly EnumEnterpriseType: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumEnterpriseType']>
readonly EnumEnterpriseTypeText: UnwrapRef<typeof import('./src/constants/apiEnumText')['EnumEnterpriseTypeText']>
@@ -484,6 +489,7 @@
readonly GetTaskInfoQueryResultHireButton: UnwrapRef<typeof import('./src/constants/apiEnum')['GetTaskInfoQueryResultHireButton']>
readonly IdentityCodeEnum: UnwrapRef<typeof import('./src/constants/dic')['IdentityCodeEnum']>
readonly ImportEnterpriseEmployeesTempPath: UnwrapRef<typeof import('./src/constants/enterpriseEmployee')['ImportEnterpriseEmployeesTempPath']>
+ readonly ImportFlexJobTempPath: UnwrapRef<typeof import('./src/constants/enterpriseEmployee')['ImportFlexJobTempPath']>
readonly MenuSvgIconMap: UnwrapRef<typeof import('./src/constants/menu')['MenuSvgIconMap']>
readonly ModuleColumns: UnwrapRef<typeof import('./src/constants/module')['ModuleColumns']>
readonly MyRegExp: UnwrapRef<typeof import('./src/constants/regExp')['MyRegExp']>
diff --git a/src/constants/apiEnum.ts b/src/constants/apiEnum.ts
index 975e0ca..c684e71 100644
--- a/src/constants/apiEnum.ts
+++ b/src/constants/apiEnum.ts
@@ -143,6 +143,14 @@
ElectronSign = 20,
}
+/** 鐏靛伐鏉ユ簮 */
+export enum EnumEnterpriseEmployeeSource {
+ /**鍐呴儴 */
+ Internal = 10,
+ /**澶栭儴 */
+ External = 20,
+}
+
/** 浼佷笟瀹炲悕鏂瑰紡 */
export enum EnumEnterpriseRealMethod {
/**浼佷笟涓夎绱� */
diff --git a/src/constants/enterpriseEmployee.ts b/src/constants/enterpriseEmployee.ts
index 1d926ed..afcc484 100644
--- a/src/constants/enterpriseEmployee.ts
+++ b/src/constants/enterpriseEmployee.ts
@@ -1,4 +1,8 @@
-import { EnumTaskUserHireStatus, EnumTaskUserSignContractStatus,EnumGetArrangeTaskUsersQueryApplyStatus } from './apiEnum';
+import {
+ EnumTaskUserHireStatus,
+ EnumTaskUserSignContractStatus,
+ EnumGetArrangeTaskUsersQueryApplyStatus,
+} from './apiEnum';
export const EnumTaskUserHireStatusText = {
[EnumTaskUserHireStatus.Wait]: '寰呭綍鐢�',
@@ -20,7 +24,14 @@
export const ImportEnterpriseEmployeesTempPath = `${TempFolderPath}/%E7%81%B5%E5%B7%A5%E5%AF%BC%E5%85%A5%E6%A8%A1%E6%9D%BF.xlsx`;
+export const ImportFlexJobTempPath = `${TempFolderPath}/%E7%81%B5%E5%B7%A5%E5%AF%BC%E5%85%A5%E6%A8%A1%E6%9D%BFV2.xlsx`;
+
export const EnumGetArrangeTaskUsersQueryApplyStatusText = {
[EnumGetArrangeTaskUsersQueryApplyStatus.None]: '鏈姤鍚�',
[EnumGetArrangeTaskUsersQueryApplyStatus.Completed]: '宸叉姤鍚�',
-}
+};
+
+export const EnumEnterpriseEmployeeSourceText = {
+ [EnumEnterpriseEmployeeSource.Internal]: '鍐呴儴',
+ [EnumEnterpriseEmployeeSource.External]: '澶栭儴',
+};
diff --git a/src/hooks/useUser.ts b/src/hooks/useUser.ts
index fa4559b..975d556 100644
--- a/src/hooks/useUser.ts
+++ b/src/hooks/useUser.ts
@@ -23,7 +23,7 @@
export function useUserInfoRoles({ userInfoId, userType, clientType }: UseUserInfoRolesOptions) {
const { data: userInfoRoles } = useQuery({
- queryKey: ['userServices/getUserInfoRoles'],
+ queryKey: ['userServices/getUserInfoRoles', userInfoId, userType, clientType],
queryFn: async () => {
let res = await userServices.getUserInfoRoles(
{
diff --git a/src/services/api/enterpriseEmployee.ts b/src/services/api/enterpriseEmployee.ts
index 622e474..c1a0c1e 100644
--- a/src/services/api/enterpriseEmployee.ts
+++ b/src/services/api/enterpriseEmployee.ts
@@ -2,6 +2,21 @@
// @ts-ignore
import { request } from '@/utils/request';
+/** 娣诲姞鐏靛伐淇℃伅 POST /api/user/enterpriseEmployee/addEnterpriseEmployee */
+export async function addEnterpriseEmployee(
+ body: API.AddEnterpriseEmployeeCommand,
+ options?: API.RequestConfig
+) {
+ return request<string>('/api/user/enterpriseEmployee/addEnterpriseEmployee', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json-patch+json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
/** 浼佷笟鎵归噺绛剧害鍚堝悓 POST /api/user/enterpriseEmployee/batchEnterpriseSignContract */
export async function batchEnterpriseSignContract(
body: API.BatchEnterpriseSignContractCommand,
@@ -176,6 +191,21 @@
);
}
+/** 淇1.3.0.2鐗堟湰鐏靛伐鏁版嵁 POST /api/user/enterpriseEmployee/repairEnterpriseEmployee_1_3_0_2 */
+export async function repairEnterpriseEmployee1302(
+ body: API.RepairEnterpriseEmployee1302Command,
+ options?: API.RequestConfig
+) {
+ return request<boolean>('/api/user/enterpriseEmployee/repairEnterpriseEmployee_1_3_0_2', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json-patch+json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
/** 鍙戦�侀個璇风绾︾煭淇� POST /api/user/enterpriseEmployee/sendInviteElectronSignSms */
export async function sendInviteElectronSignSms(
body: API.SendInviteElectronSignSmsCommand,
diff --git a/src/services/api/index.ts b/src/services/api/index.ts
index e23b688..b5aa93e 100644
--- a/src/services/api/index.ts
+++ b/src/services/api/index.ts
@@ -9,14 +9,16 @@
import * as task from './task';
import * as enterpriseWallet from './enterpriseWallet';
import * as ocrUtils from './ocrUtils';
+import * as electronSign from './electronSign';
import * as resource from './resource';
import * as logRecords from './logRecords';
import * as dictionary from './dictionary';
import * as taskCheckReceive from './taskCheckReceive';
-import * as electronSign from './electronSign';
import * as userResume from './userResume';
import * as auth from './auth';
import * as taskUser from './taskUser';
+import * as eventUtils from './eventUtils';
+import * as enterpriseCooperationWallet from './enterpriseCooperationWallet';
import * as codeUrl from './codeUrl';
import * as syncDatabase from './syncDatabase';
import * as menu from './menu';
@@ -24,8 +26,6 @@
import * as userWallet from './userWallet';
import * as fileUtils from './fileUtils';
import * as settings from './settings';
-import * as eventUtils from './eventUtils';
-import * as enterpriseCooperationWallet from './enterpriseCooperationWallet';
export default {
enterprise,
enterpriseEmployee,
@@ -34,14 +34,16 @@
task,
enterpriseWallet,
ocrUtils,
+ electronSign,
resource,
logRecords,
dictionary,
taskCheckReceive,
- electronSign,
userResume,
auth,
taskUser,
+ eventUtils,
+ enterpriseCooperationWallet,
codeUrl,
syncDatabase,
menu,
@@ -49,6 +51,4 @@
userWallet,
fileUtils,
settings,
- eventUtils,
- enterpriseCooperationWallet,
};
diff --git a/src/services/api/typings.d.ts b/src/services/api/typings.d.ts
index 1501d1e..113f2ac 100644
--- a/src/services/api/typings.d.ts
+++ b/src/services/api/typings.d.ts
@@ -3,6 +3,28 @@
[key: string]: any;
}
+ interface AddEnterpriseEmployeeCommand {
+ /** 濮撳悕 */
+ name: string;
+ /** 韬唤璇佸彿 */
+ identity: string;
+ /** 鎵嬫満鍙� */
+ contactPhoneNumber: string;
+ gender?: EnumUserGender;
+ /** 骞撮緞 */
+ age?: number;
+ /** 韬唤璇佷汉鍍忛潰 */
+ identityImg?: string;
+ /** 韬唤璇佸浗寰介潰 */
+ identityBackImg?: string;
+ /** 鐢靛瓙鍚堝悓 */
+ contractUrl?: string;
+ /** 鍗忚璧峰鏃堕棿 */
+ contractBegin?: string;
+ /** 鍗忚缁堟鏃堕棿 */
+ contractEnd?: string;
+ }
+
interface AgainSureTaskSettlementOrderRosterCommand {
/** 鍚嶅崟Id */
id?: string;
@@ -200,6 +222,8 @@
interface APIgetMenusParams {
/** 鐢ㄦ埛绫诲瀷 */
userType?: EnumUserType;
+ /** 浼佷笟绫诲瀷 */
+ enterpriseType?: EnumEnterpriseType;
/** 瀹㈡埛绔被鍨� */
clientType?: EnumClientType;
/** 瑙掕壊Id */
@@ -646,6 +670,8 @@
}
interface EditEnterpriseEmployeeCommand {
+ /** Id */
+ id?: string;
/** 濮撳悕 */
name: string;
/** 韬唤璇佸彿 */
@@ -659,8 +685,12 @@
identityImg?: string;
/** 韬唤璇佸浗寰介潰 */
identityBackImg?: string;
- /** Id */
- id?: string;
+ /** 鐢靛瓙鍚堝悓 */
+ contractUrl?: string;
+ /** 鍗忚璧峰鏃堕棿 */
+ contractBegin?: string;
+ /** 鍗忚缁堟鏃堕棿 */
+ contractEnd?: string;
}
interface EditTaskSettlementOrderRosterCommand {
@@ -880,6 +910,13 @@
SMS = 10,
/**鐢靛瓙绛� */
ElectronSign = 20,
+ }
+
+ enum EnumEnterpriseEmployeeSource {
+ /**鍐呴儴 */
+ Internal = 10,
+ /**澶栭儴 */
+ External = 20,
}
enum EnumEnterpriseRealMethod {
@@ -4847,8 +4884,13 @@
/** 绛剧害鏃堕棿-鏈�鏅氭椂闂� */
signContractTimeEnd?: string;
hireStatus?: EnumTaskUserHireStatus;
+ /** 瀹炲悕鏃堕棿-鏈�鏃╂椂闂� */
+ userRealTimeStart?: string;
+ /** 瀹炲悕鏃堕棿-鏈�鏅氭椂闂� */
+ userRealTimeEnd?: string;
/** 鏄惁瀹炲悕 */
isReal?: boolean;
+ source?: EnumEnterpriseEmployeeSource;
userSignContractStatus?: EnumTaskUserSignContractStatus;
enterpriseSignContractStatus?: EnumTaskUserSignContractStatus;
signContractStatus?: EnumGetEnterpriseEmployeesQuerySignContractStatus;
@@ -4907,6 +4949,14 @@
enterpriseSignContractTime?: string;
/** 鐢靛瓙鍚堝悓 */
contractUrl?: string;
+ /** 鍗忚璧峰鏃堕棿 */
+ contractBegin?: string;
+ /** 鍗忚缁堟鏃堕棿 */
+ contractEnd?: string;
+ source?: EnumEnterpriseEmployeeSource;
+ /** 鏉ユ簮鍚嶇О */
+ sourceName?: string;
+ /** 鍒涘缓鏃堕棿 */
createdTime?: string;
}
@@ -5464,6 +5514,7 @@
/** 鏄惁閫夋嫨锛堢敤鎴疯鑹叉巿鏉冿級 */
isChecked?: boolean;
userType?: EnumUserType;
+ enterpriseType?: EnumEnterpriseType;
clientType?: EnumClientType;
/** 涓婄骇Id */
parentId?: string;
@@ -6423,6 +6474,8 @@
dataPower?: EnumRoleWebApiDataPower;
/** 澶囨敞 */
remark?: string;
+ /** 鐢ㄦ埛鏁� */
+ userCount?: number;
/** 鑿滃崟Id */
menuIds?: string[];
/** 璧勬簮 */
@@ -7571,6 +7624,10 @@
contactPhoneNumber?: string;
/** 韬唤璇佸彿 */
identity?: string;
+ /** 鍗忚璧峰鏃堕棿 */
+ contractBegin?: string;
+ /** 鍗忚缁堟鏃堕棿 */
+ contractEnd?: string;
}
interface ImportTaskSettlementOrderRostersCommand {
@@ -7922,6 +7979,8 @@
type RepairContractTemplateValuePointBy1202Command = Record<string, any>;
+ type RepairEnterpriseEmployee1302Command = Record<string, any>;
+
type RepairTaskEstimatedServiceFee1301Command = Record<string, any>;
interface ResendResourceCommand {
@@ -8155,6 +8214,7 @@
interface SaveMenuCommand {
userType?: EnumUserType;
+ enterpriseType?: EnumEnterpriseType;
clientType?: EnumClientType;
/** 涓婄骇Id */
parentId?: string;
diff --git a/src/views/FlexJobManage/FlexJobContractManage.vue b/src/views/FlexJobManage/FlexJobContractManage.vue
index f12bbf1..3d72bca 100644
--- a/src/views/FlexJobManage/FlexJobContractManage.vue
+++ b/src/views/FlexJobManage/FlexJobContractManage.vue
@@ -60,15 +60,30 @@
<!-- <el-button @click="handleDownloadTemplate()" type="primary" link>妯℃澘涓嬭浇</el-button> -->
<!-- <el-button @click="handleBatchImportAdd()" type="primary">鎵归噺瀵煎叆</el-button> -->
<!-- <el-button @click="handleStaffInfoAdd()" type="primary">鏂板缓</el-button> -->
- <el-button @click="handleBatchUnSign()" type="primary">鎵归噺瑙g害</el-button>
- <el-button @click="handleSendShotMessage()" type="primary">鐭俊鍙戦��</el-button>
- <el-button @click="handleBatchSign()" type="primary">鎵归噺绛剧害</el-button>
+ <el-button
+ v-if="checkSubModuleItemShow('pageButton', 'batchUnSignBtn')"
+ @click="handleBatchUnSign()"
+ type="primary"
+ >鎵归噺瑙g害</el-button
+ >
+ <el-button
+ v-if="checkSubModuleItemShow('pageButton', 'sendShotMessageBtn')"
+ @click="handleSendShotMessage()"
+ type="primary"
+ >鐭俊鍙戦��</el-button
+ >
+ <el-button
+ v-if="checkSubModuleItemShow('pageButton', 'batchSignBtn')"
+ @click="handleBatchSign()"
+ type="primary"
+ >鎵归噺绛剧害</el-button
+ >
<!-- <el-button @click="handleEnterpriseBatchSign()" type="primary">鎵归噺浼佷笟绛剧害</el-button> -->
</template>
</ProTableQueryFilterBar>
<ProTableV2
v-bind="proTableProps"
- :columns="FlexJobContractManageColumns"
+ :columns="column"
:operationBtns="operationBtns"
show-column-check
ref="proTable"
@@ -78,7 +93,7 @@
>
</ProTableV2>
</AppContainer>
- <StaffInfoDialog v-bind="dialogStaffInfoProps" />
+ <!-- <StaffInfoDialog v-bind="dialogStaffInfoProps" /> -->
<StaffDetailInfoDialog v-bind="dialogStaffDetailProps" />
<BatchImportDialog
v-bind="dialogBatchImportProps"
@@ -100,18 +115,15 @@
QueryFilterItem,
useTable,
FieldDatePicker,
- FieldRadio,
FieldSelect,
- defineOperationBtns,
useFormDialog,
UploadUserFile,
XLSXUtils,
} from '@bole-core/components';
-import { FlexJobContractManageColumns } from './constants';
import { EnumTaskUserHireStatusText, EnumTaskUserSignContractStatusText } from '@/constants';
import { Message } from '@bole-core/core';
import { convertApi2FormUrlOnlyOne, downloadFileByUrl, format } from '@/utils';
-import StaffInfoDialog from './components/StaffInfoDialog.vue';
+// import StaffInfoDialog from './components/StaffInfoDialog.vue';
import BatchImportDialog from './components/BatchImportDialog.vue';
import SendShotMessageDialog from './components/SendShotMessageDialog.vue';
import StaffDetailInfoDialog from './components/StaffDetailInfoDialog.vue';
@@ -119,36 +131,25 @@
import * as enterpriseEmployeeServices from '@/services/api/enterpriseEmployee';
import { ModelValueType } from 'element-plus';
import _ from 'lodash';
+import { getEnterpriseEmployeesHooks } from './hooks';
defineOptions({
name: 'FlexJobContractManage',
});
-const operationBtns = defineOperationBtns([
- // {
- // data: {
- // enCode: 'editBtn',
- // name: '缂栬緫',
- // },
+const operationBtnMap: Record<string, OperationBtnType> = {
+ // editBtn: {
// emits: {
// onClick: (role) => openDialog(role),
// },
// },
- {
- data: {
- enCode: 'detailBtn',
- name: '璇︽儏',
- },
+ detailBtn: {
emits: {
onClick: (role: API.GetEnterpriseEmployeesQueryResultItem) =>
handleStaffDetailEdit({ id: role.id, tabType: 'info' }),
},
},
- {
- data: {
- enCode: 'enterpriseSignBtn',
- name: '浼佷笟绛剧害',
- },
+ enterpriseSignBtn: {
emits: {
onClick: (role) => handleEnterpriseSign(role),
},
@@ -156,15 +157,12 @@
hide: (row: API.GetEnterpriseEmployeesQueryResultItem) =>
!(
row.userSignContractStatus === EnumTaskUserSignContractStatus.Pass &&
- row.enterpriseSignContractStatus === EnumTaskUserSignContractStatus.Wait
+ row.enterpriseSignContractStatus === EnumTaskUserSignContractStatus.Wait &&
+ row.source === EnumEnterpriseEmployeeSource.Internal
),
},
},
- {
- data: {
- enCode: 'inviteSignBtn',
- name: '閭�璇风绾�',
- },
+ inviteSignBtn: {
emits: {
onClick: (role) => handleInviteSign(role),
},
@@ -176,11 +174,7 @@
),
},
},
- {
- data: {
- enCode: 'unSignBtn',
- name: '瑙g害',
- },
+ unSignBtn: {
emits: {
onClick: (role) => handleUnSign(role),
},
@@ -192,17 +186,17 @@
),
},
},
- // {
- // data: {
- // enCode: 'delBtn',
- // name: '鍒犻櫎',
- // },
- // props: { type: 'danger' },
- // emits: {
- // onClick: (role) => handleDelete(role),
- // },
- // },
-]);
+ delBtn: {
+ props: { type: 'danger' },
+ emits: {
+ onClick: (role) => handleDelete(role),
+ },
+ },
+};
+
+const { checkSubModuleItemShow, column, operationBtns } = useAccess({
+ operationBtnMap,
+});
const router = useRouter();
@@ -217,75 +211,8 @@
state.loading = false;
});
-const {
- getDataSource: getList,
- proTableProps,
- paginationState,
- extraParamState,
- reset,
-} = useTable(
- async ({ pageIndex, pageSize }, extraParamState) => {
- try {
- let params: API.GetEnterpriseEmployeesQuery = {
- pageModel: {
- rows: pageSize,
- page: pageIndex,
- orderInput: extraParamState.orderInput,
- },
- keywords: extraParamState.searchWord,
- createdTimeStart: format(extraParamState.createdTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
- createdTimeEnd: format(extraParamState.createdTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
- signContractTimeStart: format(
- extraParamState.signContractTime?.[0] ?? '',
- 'YYYY-MM-DD 00:00:00'
- ),
- signContractTimeEnd: format(
- extraParamState.signContractTime?.[1] ?? '',
- 'YYYY-MM-DD 23:59:59'
- ),
- hireStatus: extraParamState.hireStatus,
- isReal: extraParamState.isReal,
- userSignContractStatus: extraParamState.userSignContractStatus,
- enterpriseSignContractStatus: extraParamState.enterpriseSignContractStatus,
- };
-
- let res = await enterpriseEmployeeServices.getEnterpriseEmployees(params, {
- showLoading: !state.loading,
- });
- return res;
- } catch (error) {
- console.log('error: ', error);
- }
- },
- {
- defaultExtraParams: {
- searchWord: '',
- orderInput: [{ property: 'createdTime', order: EnumPagedListOrder.Desc }],
- createdTime: [] as unknown as ModelValueType,
- signContractTime: [] as unknown as ModelValueType,
- hireStatus: '' as any as EnumTaskUserHireStatus,
- isReal: null as any as boolean,
- userSignContractStatus: '' as any as EnumTaskUserSignContractStatus,
- enterpriseSignContractStatus: '' as any as EnumTaskUserSignContractStatus,
- },
- queryKey: ['enterpriseEmployeeServices/getEnterpriseEmployees'],
- columnsRenderProps: {
- gender: { type: 'enum', valueEnum: EnumUserGenderTextForPerson },
- hireStatus: { type: 'enum', valueEnum: EnumTaskUserHireStatusText },
- userIsReal: {
- formatter: (row: API.GetEnterpriseEmployeesQueryResultItem) => {
- return row.userIsReal ? '宸插疄鍚�' : '鏈疄鍚�';
- },
- },
- userSignContractStatus: { type: 'enum', valueEnum: EnumTaskUserSignContractStatusText },
- hireTime: { type: 'date' },
- userRealTime: { type: 'date' },
- userSignContractTime: { type: 'date' },
- enterpriseSignContractStatus: { type: 'enum', valueEnum: EnumTaskUserSignContractStatusText },
- enterpriseSignContractTime: { type: 'date' },
- },
- }
-);
+const { getList, proTableProps, paginationState, extraParamState, reset } =
+ getEnterpriseEmployeesHooks();
const proTable = ref<InstanceType<typeof ProTableV2>>();
diff --git a/src/views/FlexJobManage/FlexJobManage.vue b/src/views/FlexJobManage/FlexJobManage.vue
index 75e4801..b626354 100644
--- a/src/views/FlexJobManage/FlexJobManage.vue
+++ b/src/views/FlexJobManage/FlexJobManage.vue
@@ -103,18 +103,32 @@
<template #btn>
<el-button
v-if="checkSubModuleItemShow('pageButton', 'importBtn')"
- @click="handleDownloadTemplate()"
+ @click="handleDownloadFlexJobTemplate()"
type="primary"
link
>妯℃澘涓嬭浇</el-button
>
- <el-button
+ <BlFileUpload
v-if="checkSubModuleItemShow('pageButton', 'importBtn')"
- @click="handleBatchImportAdd()"
- type="primary"
- >鎵归噺瀵煎叆</el-button
+ v-model:file-url="state.flexjobUrl"
+ ref="uploadRef"
+ :showTip="false"
+ :show-file-list="false"
+ class="pro-table-operation-btn upload-style-btn"
+ :on-success="(event) => handleUploadSuccess(event)"
+ :limitFileSize="null"
+ :limit="1"
+ accept="xlsx,xls"
>
+ <el-button text type="primary" class="pro-table-operation-btn">鎵归噺瀵煎叆</el-button>
+ </BlFileUpload>
<el-button
+ v-if="checkSubModuleItemShow('pageButton', 'addBtn')"
+ @click="handleStaffInfoAdd()"
+ type="primary"
+ >鏂板缓</el-button
+ >
+ <!-- <el-button
v-if="checkSubModuleItemShow('pageButton', 'batchUnSignBtn')"
@click="handleBatchUnSign()"
type="primary"
@@ -137,7 +151,7 @@
@click="handleEnterpriseBatchSign()"
type="primary"
>鎵归噺浼佷笟绛剧害</el-button
- >
+ > -->
</template>
</ProTableQueryFilterBar>
<ProTableV2
@@ -179,6 +193,7 @@
useFormDialog,
UploadUserFile,
XLSXUtils,
+ BlFileUpload,
} from '@bole-core/components';
import { EnumTaskUserHireStatusText, EnumTaskUserSignContractStatusText } from '@/constants';
import { Message } from '@bole-core/core';
@@ -191,6 +206,7 @@
import * as enterpriseEmployeeServices from '@/services/api/enterpriseEmployee';
import { ModelValueType } from 'element-plus';
import _ from 'lodash';
+import { getEnterpriseEmployeesHooks } from './hooks';
defineOptions({
name: 'FlexJobManageList',
@@ -208,42 +224,42 @@
handleStaffDetailEdit({ id: role.id, tabType: 'info' }),
},
},
- enterpriseSignBtn: {
- emits: {
- onClick: (role) => handleEnterpriseSign(role),
- },
- extraProps: {
- hide: (row: API.GetEnterpriseEmployeesQueryResultItem) =>
- !(
- row.userSignContractStatus === EnumTaskUserSignContractStatus.Pass &&
- row.enterpriseSignContractStatus === EnumTaskUserSignContractStatus.Wait
- ),
- },
- },
- inviteSignBtn: {
- emits: {
- onClick: (role) => handleInviteSign(role),
- },
- extraProps: {
- hide: (row: API.GetEnterpriseEmployeesQueryResultItem) =>
- !(
- row.userSignContractStatus !== EnumTaskUserSignContractStatus.Pass &&
- row.hireStatus === EnumTaskUserHireStatus.Pass
- ),
- },
- },
- unSignBtn: {
- emits: {
- onClick: (role) => handleUnSign(role),
- },
- extraProps: {
- hide: (row: API.GetEnterpriseEmployeesQueryResultItem) =>
- !(
- row.userSignContractStatus === EnumTaskUserSignContractStatus.Pass &&
- row.enterpriseSignContractStatus === EnumTaskUserSignContractStatus.Pass
- ),
- },
- },
+ // enterpriseSignBtn: {
+ // emits: {
+ // onClick: (role) => handleEnterpriseSign(role),
+ // },
+ // extraProps: {
+ // hide: (row: API.GetEnterpriseEmployeesQueryResultItem) =>
+ // !(
+ // row.userSignContractStatus === EnumTaskUserSignContractStatus.Pass &&
+ // row.enterpriseSignContractStatus === EnumTaskUserSignContractStatus.Wait
+ // ),
+ // },
+ // },
+ // inviteSignBtn: {
+ // emits: {
+ // onClick: (role) => handleInviteSign(role),
+ // },
+ // extraProps: {
+ // hide: (row: API.GetEnterpriseEmployeesQueryResultItem) =>
+ // !(
+ // row.userSignContractStatus !== EnumTaskUserSignContractStatus.Pass &&
+ // row.hireStatus === EnumTaskUserHireStatus.Pass
+ // ),
+ // },
+ // },
+ // unSignBtn: {
+ // emits: {
+ // onClick: (role) => handleUnSign(role),
+ // },
+ // extraProps: {
+ // hide: (row: API.GetEnterpriseEmployeesQueryResultItem) =>
+ // !(
+ // row.userSignContractStatus === EnumTaskUserSignContractStatus.Pass &&
+ // row.enterpriseSignContractStatus === EnumTaskUserSignContractStatus.Pass
+ // ),
+ // },
+ // },
};
const { checkSubModuleItemShow, column, operationBtns } = useAccess({
@@ -254,6 +270,7 @@
const BaseState = {
loading: true,
+ flexjobUrl: [] as UploadUserFile[],
};
const state = reactive({ ...BaseState });
@@ -263,75 +280,8 @@
state.loading = false;
});
-const {
- getDataSource: getList,
- proTableProps,
- paginationState,
- extraParamState,
- reset,
-} = useTable(
- async ({ pageIndex, pageSize }, extraParamState) => {
- try {
- let params: API.GetEnterpriseEmployeesQuery = {
- pageModel: {
- rows: pageSize,
- page: pageIndex,
- orderInput: extraParamState.orderInput,
- },
- keywords: extraParamState.searchWord,
- createdTimeStart: format(extraParamState.createdTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
- createdTimeEnd: format(extraParamState.createdTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
- signContractTimeStart: format(
- extraParamState.signContractTime?.[0] ?? '',
- 'YYYY-MM-DD 00:00:00'
- ),
- signContractTimeEnd: format(
- extraParamState.signContractTime?.[1] ?? '',
- 'YYYY-MM-DD 23:59:59'
- ),
- hireStatus: extraParamState.hireStatus,
- isReal: extraParamState.isReal,
- userSignContractStatus: extraParamState.userSignContractStatus,
- enterpriseSignContractStatus: extraParamState.enterpriseSignContractStatus,
- };
-
- let res = await enterpriseEmployeeServices.getEnterpriseEmployees(params, {
- showLoading: !state.loading,
- });
- return res;
- } catch (error) {
- console.log('error: ', error);
- }
- },
- {
- defaultExtraParams: {
- searchWord: '',
- orderInput: [{ property: 'createdTime', order: EnumPagedListOrder.Desc }],
- createdTime: [] as unknown as ModelValueType,
- signContractTime: [] as unknown as ModelValueType,
- hireStatus: '' as any as EnumTaskUserHireStatus,
- isReal: null as any as boolean,
- userSignContractStatus: '' as any as EnumTaskUserSignContractStatus,
- enterpriseSignContractStatus: '' as any as EnumTaskUserSignContractStatus,
- },
- queryKey: ['enterpriseEmployeeServices/getEnterpriseEmployees'],
- columnsRenderProps: {
- gender: { type: 'enum', valueEnum: EnumUserGenderTextForPerson },
- hireStatus: { type: 'enum', valueEnum: EnumTaskUserHireStatusText },
- userIsReal: {
- formatter: (row: API.GetEnterpriseEmployeesQueryResultItem) => {
- return row.userIsReal ? '宸插疄鍚�' : '鏈疄鍚�';
- },
- },
- userSignContractStatus: { type: 'enum', valueEnum: EnumTaskUserSignContractStatusText },
- hireTime: { type: 'date' },
- userRealTime: { type: 'date' },
- userSignContractTime: { type: 'date' },
- enterpriseSignContractStatus: { type: 'enum', valueEnum: EnumTaskUserSignContractStatusText },
- enterpriseSignContractTime: { type: 'date' },
- },
- }
-);
+const { getList, proTableProps, paginationState, extraParamState, reset } =
+ getEnterpriseEmployeesHooks();
const proTable = ref<InstanceType<typeof ProTableV2>>();
@@ -354,7 +304,7 @@
handleAdd: handleStaffInfoAdd,
editForm: staffInfoEditForm,
} = useFormDialog({
- onConfirm: handleAddOrEdit,
+ onConfirm: addEnterpriseEmployee,
defaultFormParams: {
id: '',
name: '',
@@ -368,6 +318,7 @@
regiterTime: '',
userRealTime: '',
userSignContractTime: '',
+ contractTime: [] as unknown as ModelValueType,
isDetail: false,
},
});
@@ -391,11 +342,35 @@
userRealTime: row.userRealTime ?? '',
userSignContractTime: row.userSignContractTime ?? '',
isDetail: isDetail,
+
+ contractTime: [row.contractBegin, row.contractEnd],
});
} catch (error) {}
}
-async function handleAddOrEdit() {
+async function addEnterpriseEmployee() {
+ try {
+ let params: API.AddEnterpriseEmployeeCommand = {
+ name: staffInfoEditForm.name,
+ identity: staffInfoEditForm.identity,
+ contactPhoneNumber: staffInfoEditForm.contactPhoneNumber,
+ gender: staffInfoEditForm.gender,
+ age: staffInfoEditForm.age,
+ identityImg: staffInfoEditForm.identityImg[0]?.path ?? '',
+ identityBackImg: staffInfoEditForm.identityBackImg[0]?.path ?? '',
+ contractUrl: staffInfoEditForm.contractUrl[0]?.path ?? '',
+ contractBegin: format(staffInfoEditForm.contractTime[0], 'YYYY-MM-DD 00:00:00'),
+ contractEnd: format(staffInfoEditForm.contractTime[1], 'YYYY-MM-DD 23:59:59'),
+ };
+ let res = await enterpriseEmployeeServices.addEnterpriseEmployee(params);
+ if (res) {
+ Message.successMessage('鎿嶄綔鎴愬姛');
+ getList(paginationState.pageIndex);
+ }
+ } catch (error) {}
+}
+
+async function editEnterpriseEmployee() {
try {
let params: API.EditEnterpriseEmployeeCommand = {
name: staffInfoEditForm.name,
@@ -497,6 +472,10 @@
function handleDownloadTemplate() {
downloadFileByUrl(ImportEnterpriseEmployeesTempPath, '鎵归噺瀵煎叆妯℃澘');
+}
+
+function handleDownloadFlexJobTemplate() {
+ downloadFileByUrl(ImportFlexJobTempPath, '鎵归噺瀵煎叆妯℃澘');
}
const {
@@ -661,4 +640,40 @@
await Message.deleteMessage();
} catch (error) {}
}
+
+function handleUploadSuccess(response: UploadUserFile & { file: File & { uid: number } }) {
+ if (response.path) {
+ importEnterpriseEmployees(response.path);
+ }
+}
+
+async function importEnterpriseEmployees(excelUrl: string) {
+ try {
+ let params: API.ImportEnterpriseEmployeesCommand = {
+ excelUrl: excelUrl,
+ };
+ let res = await enterpriseEmployeeServices.importEnterpriseEmployees(params);
+ if (res.failCount > 0) {
+ await Message.tipMessage('瀛樺湪閿欒鏁版嵁锛屾槸鍚﹀鍑猴紵');
+ XLSXUtils.exportToXLSX({
+ workbookDataList: res.errors,
+ fileName: '鐏靛伐鎵归噺瀵煎叆-閿欒鏁版嵁',
+ workbookHeaderMap: {
+ name: '濮撳悕',
+ contactPhoneNumber: '鎵嬫満鍙�',
+ identity: '韬唤璇佸彿',
+ contractBegin: '鍗忚璧峰鏃堕棿',
+ contractEnd: '鍗忚缁堟鏃堕棿',
+ errorMessage: '閿欒淇℃伅',
+ },
+ });
+ } else {
+ Message.successMessage('瀵煎叆鎴愬姛');
+ getList();
+ }
+ } catch (error) {
+ } finally {
+ state.flexjobUrl = [] as UploadUserFile[];
+ }
+}
</script>
diff --git a/src/views/FlexJobManage/components/StaffInfoDialog.vue b/src/views/FlexJobManage/components/StaffInfoDialog.vue
index c9024f8..94309b3 100644
--- a/src/views/FlexJobManage/components/StaffInfoDialog.vue
+++ b/src/views/FlexJobManage/components/StaffInfoDialog.vue
@@ -40,11 +40,11 @@
<ProFormColItem :span="12">
<ProFormItemV2
label="鍗忚鏃堕棿:"
- prop="regiterTime"
+ prop="contractTime"
:check-rules="[{ message: '璇烽�夋嫨鍗忚鏃堕棿', type: 'array' }]"
>
<ProFormDatePicker
- v-model="form.regiterTime"
+ v-model="form.contractTime"
type="daterange"
range-separator="鑷�"
start-placeholder="璧峰鏃ユ湡"
@@ -136,7 +136,7 @@
</template>
<script setup lang="ts">
-import { FormInstance } from 'element-plus';
+import { FormInstance, ModelValueType } from 'element-plus';
import {
ProDialog,
ProForm,
@@ -174,6 +174,8 @@
userRealTime: string;
userSignContractTime: string;
isDetail: boolean;
+
+ contractTime: ModelValueType;
};
const visible = defineModel({ type: Boolean });
diff --git a/src/views/FlexJobManage/constants/columns.ts b/src/views/FlexJobManage/constants/columns.ts
index 2076546..65fa563 100644
--- a/src/views/FlexJobManage/constants/columns.ts
+++ b/src/views/FlexJobManage/constants/columns.ts
@@ -82,66 +82,3 @@
name: '鐏靛伐鏉ユ簮',
},
]);
-
-export const FlexJobContractManageColumns = defineColumns([
- {
- id: '1',
- enCode: 'name',
- name: '濮撳悕',
- },
- {
- id: '2',
- enCode: 'identity',
- name: '韬唤璇佸彿',
- },
- {
- id: '3',
- enCode: 'gender',
- name: '鎬у埆',
- },
- {
- id: '5',
- enCode: 'age',
- name: '骞撮緞',
- },
- {
- id: '6',
- enCode: 'contactPhoneNumber',
- name: '鎵嬫満鍙�',
- },
- {
- id: '9',
- enCode: 'userIsReal',
- name: '瀹炲悕鐘舵��',
- },
- {
- id: '10',
- enCode: 'userRealTime',
- name: '瀹炲悕鏃堕棿',
- },
- {
- id: '11',
- enCode: 'a',
- name: '鐏靛伐鏉ユ簮',
- },
- {
- id: '12',
- enCode: 'userSignContractStatus',
- name: '鐏靛伐绛剧害鐘舵��',
- },
- {
- id: '13',
- enCode: 'userSignContractTime',
- name: '绛剧害鏃堕棿',
- },
- {
- id: '14',
- enCode: 'enterpriseSignContractStatus',
- name: '浼佷笟绛剧害鐘舵��',
- },
- {
- id: '15',
- enCode: 'enterpriseSignContractTime',
- name: '浼佷笟绛剧害鏃堕棿',
- },
-]);
diff --git a/src/views/FlexJobManage/hooks/index.ts b/src/views/FlexJobManage/hooks/index.ts
new file mode 100644
index 0000000..d833a25
--- /dev/null
+++ b/src/views/FlexJobManage/hooks/index.ts
@@ -0,0 +1,88 @@
+import { format } from '@/utils';
+import { useTable } from '@bole-core/components';
+import * as enterpriseEmployeeServices from '@/services/api/enterpriseEmployee';
+import { ModelValueType } from 'element-plus';
+
+export function getEnterpriseEmployeesHooks() {
+ const {
+ getDataSource: getList,
+ proTableProps,
+ paginationState,
+ extraParamState,
+ reset,
+ } = useTable(
+ async ({ pageIndex, pageSize }, extraParamState) => {
+ try {
+ let params: API.GetEnterpriseEmployeesQuery = {
+ pageModel: {
+ rows: pageSize,
+ page: pageIndex,
+ orderInput: extraParamState.orderInput,
+ },
+ keywords: extraParamState.searchWord,
+ createdTimeStart: format(extraParamState.createdTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
+ createdTimeEnd: format(extraParamState.createdTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
+ signContractTimeStart: format(
+ extraParamState.signContractTime?.[0] ?? '',
+ 'YYYY-MM-DD 00:00:00'
+ ),
+ signContractTimeEnd: format(
+ extraParamState.signContractTime?.[1] ?? '',
+ 'YYYY-MM-DD 23:59:59'
+ ),
+ hireStatus: extraParamState.hireStatus,
+ isReal: extraParamState.isReal,
+ userSignContractStatus: extraParamState.userSignContractStatus,
+ enterpriseSignContractStatus: extraParamState.enterpriseSignContractStatus,
+ };
+
+ let res = await enterpriseEmployeeServices.getEnterpriseEmployees(params);
+ return res;
+ } catch (error) {
+ console.log('error: ', error);
+ }
+ },
+ {
+ defaultExtraParams: {
+ searchWord: '',
+ orderInput: [{ property: 'createdTime', order: EnumPagedListOrder.Desc }],
+ createdTime: [] as unknown as ModelValueType,
+ signContractTime: [] as unknown as ModelValueType,
+ hireStatus: '' as any as EnumTaskUserHireStatus,
+ isReal: null as any as boolean,
+ userSignContractStatus: '' as any as EnumTaskUserSignContractStatus,
+ enterpriseSignContractStatus: '' as any as EnumTaskUserSignContractStatus,
+ },
+ queryKey: ['enterpriseEmployeeServices/getEnterpriseEmployees'],
+ columnsRenderProps: {
+ gender: { type: 'enum', valueEnum: EnumUserGenderTextForPerson },
+ hireStatus: { type: 'enum', valueEnum: EnumTaskUserHireStatusText },
+ userIsReal: {
+ formatter: (row: API.GetEnterpriseEmployeesQueryResultItem) => {
+ return row.userIsReal ? '宸插疄鍚�' : '鏈疄鍚�';
+ },
+ },
+ userSignContractStatus: { type: 'enum', valueEnum: EnumTaskUserSignContractStatusText },
+ hireTime: { type: 'date' },
+ userRealTime: { type: 'date' },
+ userSignContractTime: { type: 'date' },
+ enterpriseSignContractStatus: {
+ type: 'enum',
+ valueEnum: EnumTaskUserSignContractStatusText,
+ },
+ enterpriseSignContractTime: { type: 'date' },
+ contractBegin: { type: 'date' },
+ contractEnd: { type: 'date' },
+ source: { type: 'enum', valueEnum: EnumEnterpriseEmployeeSourceText },
+ },
+ }
+ );
+
+ return {
+ getList,
+ proTableProps,
+ paginationState,
+ extraParamState,
+ reset,
+ };
+}
diff --git a/src/views/Permission/RoleManage.vue b/src/views/Permission/RoleManage.vue
index 887b4f1..431d940 100644
--- a/src/views/Permission/RoleManage.vue
+++ b/src/views/Permission/RoleManage.vue
@@ -52,6 +52,7 @@
import { EnumUserType } from '@/constants';
import DialogAuthorizeV2 from './components/dialogAuthorizeV2.vue';
import * as roleServices from '@/services/api/role';
+import { useQueryClient } from '@tanstack/vue-query';
defineOptions({
name: 'RoleManage',
@@ -169,6 +170,8 @@
},
});
+const queryClient = useQueryClient();
+
async function handleAddOrEdit() {
try {
const isEdit = editForm.id;
@@ -193,6 +196,7 @@
if (res) {
Message.successMessage('鎿嶄綔鎴愬姛');
getList(isEdit ? paginationState.pageIndex : 1);
+ queryClient.invalidateQueries(['userServices/getUserInfoRoles']);
}
} catch (error) {}
}
@@ -207,6 +211,7 @@
if (res) {
Message.successMessage('鎿嶄綔鎴愬姛');
getList(paginationState.pageIndex);
+ queryClient.invalidateQueries(['userServices/getUserInfoRoles']);
}
} catch (error) {}
}
@@ -221,6 +226,7 @@
if (res) {
Message.successMessage('鎿嶄綔鎴愬姛');
getList(paginationState.pageIndex);
+ queryClient.invalidateQueries(['userServices/getUserInfoRoles']);
return !!res;
}
} catch (error) {}
--
Gitblit v1.9.1