From e5c36e9cccb9aae08b58eaed3f7b906279a2d6b5 Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期二, 16 九月 2025 09:21:22 +0800 Subject: [PATCH] feat: 接口对接 --- src/services/api/task.ts | 78 ++++++- src/views/CPersonManage/CPersonManageList.vue | 2 src/views/CPersonManage/components/CPersonDetailDialog.vue | 14 + src/views/TaskManage/components/TaskDetailView.vue | 53 +++++ src/constants/task.ts | 49 ++++ .eslintrc-auto-import.json | 4 src/services/api/typings.d.ts | 239 +++++++++++++++++------ auto-imports.d.ts | 11 + src/constants/apiEnum.ts | 10 + src/views/CPersonManage/components/StaffResumeView.vue | 2 src/views/CPersonManage/components/StaffDetailInfoView.vue | 85 ++++--- 11 files changed, 424 insertions(+), 123 deletions(-) diff --git a/.eslintrc-auto-import.json b/.eslintrc-auto-import.json index 22e3138..a41a329 100644 --- a/.eslintrc-auto-import.json +++ b/.eslintrc-auto-import.json @@ -50,6 +50,7 @@ "EnumEnterpriseWalletSignStatus": true, "EnumEnterpriseWalletSignStatusText": true, "EnumEnterpriseWalletTransactionType": true, + "EnumGetEnterpriseEmployeesQuerySignContractStatus": true, "EnumMenuType": true, "EnumMenuVisitLevel": true, "EnumOcrAccess": true, @@ -69,6 +70,9 @@ "EnumRoleWebApiDataPowerText": true, "EnumRoleWebApiDataPowerTextForFilter": true, "EnumSettlementCycle": true, + "EnumSettlementCycleDateMonthArray": true, + "EnumSettlementCycleDateText": true, + "EnumSettlementCycleDateWeekArray": true, "EnumSettlementCycleText": true, "EnumSmsAccess": true, "EnumSmsAccessText": true, diff --git a/auto-imports.d.ts b/auto-imports.d.ts index 39b40e6..05cb3dc 100644 --- a/auto-imports.d.ts +++ b/auto-imports.d.ts @@ -53,6 +53,7 @@ const EnumEnterpriseWalletSignStatusText: typeof import('./src/constants/enterprise')['EnumEnterpriseWalletSignStatusText'] const EnumEnterpriseWalletTransactionStatus: typeof import('./src/constants/apiEnum')['EnumEnterpriseWalletTransactionStatus'] const EnumEnterpriseWalletTransactionType: typeof import('./src/constants/apiEnum')['EnumEnterpriseWalletTransactionType'] + const EnumGetEnterpriseEmployeesQuerySignContractStatus: typeof import('./src/constants/apiEnum')['EnumGetEnterpriseEmployeesQuerySignContractStatus'] const EnumMenuType: typeof import('./src/constants/apiEnum')['EnumMenuType'] const EnumMenuVisitLevel: typeof import('./src/constants/apiEnum')['EnumMenuVisitLevel'] const EnumOcrAccess: typeof import('./src/constants/apiEnum')['EnumOcrAccess'] @@ -72,6 +73,10 @@ const EnumRoleWebApiDataPowerText: typeof import('./src/constants/apiEnumText')['EnumRoleWebApiDataPowerText'] const EnumRoleWebApiDataPowerTextForFilter: typeof import('./src/constants/apiEnumText')['EnumRoleWebApiDataPowerTextForFilter'] const EnumSettlementCycle: typeof import('./src/constants/apiEnum')['EnumSettlementCycle'] + const EnumSettlementCycleDateMonthArray: typeof import('./src/constants/task')['EnumSettlementCycleDateMonthArray'] + const EnumSettlementCycleDateText: typeof import('./src/constants/task')['EnumSettlementCycleDateText'] + const EnumSettlementCycleDateUnitText: typeof import('./src/constants/task')['EnumSettlementCycleDateUnitText'] + const EnumSettlementCycleDateWeekArray: typeof import('./src/constants/task')['EnumSettlementCycleDateWeekArray'] const EnumSettlementCycleText: typeof import('./src/constants/task')['EnumSettlementCycleText'] const EnumSmsAccess: typeof import('./src/constants/apiEnum')['EnumSmsAccess'] const EnumSmsAccessText: typeof import('./src/constants/enterprise')['EnumSmsAccessText'] @@ -259,7 +264,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, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumEnterpriseCostStatus, EnumEnterpriseCostType, EnumEnterpriseRealMethod, EnumEnterpriseWalletAccess, EnumEnterpriseWalletExpandindirectOrderFileType, EnumEnterpriseWalletExpandindirectOrderScene, EnumEnterpriseWalletExpandindirectOrderStatus, EnumEnterpriseWalletSignStatus, EnumEnterpriseWalletTransactionType, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, EnumPersonalUserRealStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementOrderStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckReceiveStatus, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, EnumUserWalletTransactionType, EnumWalletTransactionStatus, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton, EnumBillingMethod, EnumClientType, EnumCodeUrlScene, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumEnterpriseCostStatus, EnumEnterpriseCostType, EnumEnterpriseRealMethod, EnumEnterpriseWalletAccess, EnumEnterpriseWalletExpandindirectOrderFileType, EnumEnterpriseWalletExpandindirectOrderScene, EnumEnterpriseWalletExpandindirectOrderStatus, EnumEnterpriseWalletSignStatus, EnumEnterpriseWalletTransactionType, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, EnumPersonalUserRealStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementOrderStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckReceiveStatus, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, EnumUserWalletTransactionType, EnumWalletTransactionStatus, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton } from './src/constants/apiEnum' + export type { EnumBillingMethod, EnumClientType, EnumCodeUrlScene, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumEnterpriseCostStatus, EnumEnterpriseCostType, EnumEnterpriseRealMethod, EnumEnterpriseWalletAccess, EnumEnterpriseWalletExpandindirectOrderFileType, EnumEnterpriseWalletExpandindirectOrderScene, EnumEnterpriseWalletExpandindirectOrderStatus, EnumEnterpriseWalletSignStatus, EnumEnterpriseWalletTransactionType, EnumGetEnterpriseEmployeesQuerySignContractStatus, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, EnumPersonalUserRealStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementOrderStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckReceiveStatus, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, EnumUserWalletTransactionType, EnumWalletTransactionStatus, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton, EnumBillingMethod, EnumClientType, EnumCodeUrlScene, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumEnterpriseCostStatus, EnumEnterpriseCostType, EnumEnterpriseRealMethod, EnumEnterpriseWalletAccess, EnumEnterpriseWalletExpandindirectOrderFileType, EnumEnterpriseWalletExpandindirectOrderScene, EnumEnterpriseWalletExpandindirectOrderStatus, EnumEnterpriseWalletSignStatus, EnumEnterpriseWalletTransactionType, EnumGetEnterpriseEmployeesQuerySignContractStatus, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, EnumPersonalUserRealStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementOrderStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckReceiveStatus, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, EnumUserWalletTransactionType, EnumWalletTransactionStatus, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton } from './src/constants/apiEnum' import('./src/constants/apiEnum') // @ts-ignore export type { FlexWorkerEleSignEnum, FlexTaskWorkerHireEnum, FlexWorkerEleSignEnum, FlexTaskWorkerHireEnum } from './src/constants/cPerson' @@ -350,6 +355,7 @@ readonly EnumEnterpriseWalletSignStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumEnterpriseWalletSignStatus']> readonly EnumEnterpriseWalletSignStatusText: UnwrapRef<typeof import('./src/constants/enterprise')['EnumEnterpriseWalletSignStatusText']> readonly EnumEnterpriseWalletTransactionType: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumEnterpriseWalletTransactionType']> + readonly EnumGetEnterpriseEmployeesQuerySignContractStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumGetEnterpriseEmployeesQuerySignContractStatus']> 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']> @@ -369,6 +375,9 @@ readonly EnumRoleWebApiDataPowerText: UnwrapRef<typeof import('./src/constants/apiEnumText')['EnumRoleWebApiDataPowerText']> readonly EnumRoleWebApiDataPowerTextForFilter: UnwrapRef<typeof import('./src/constants/apiEnumText')['EnumRoleWebApiDataPowerTextForFilter']> readonly EnumSettlementCycle: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumSettlementCycle']> + readonly EnumSettlementCycleDateMonthArray: UnwrapRef<typeof import('./src/constants/task')['EnumSettlementCycleDateMonthArray']> + readonly EnumSettlementCycleDateText: UnwrapRef<typeof import('./src/constants/task')['EnumSettlementCycleDateText']> + readonly EnumSettlementCycleDateWeekArray: UnwrapRef<typeof import('./src/constants/task')['EnumSettlementCycleDateWeekArray']> readonly EnumSettlementCycleText: UnwrapRef<typeof import('./src/constants/task')['EnumSettlementCycleText']> readonly EnumSmsAccess: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumSmsAccess']> readonly EnumSmsAccessText: UnwrapRef<typeof import('./src/constants/enterprise')['EnumSmsAccessText']> diff --git a/src/constants/apiEnum.ts b/src/constants/apiEnum.ts index f9a35bd..0688d08 100644 --- a/src/constants/apiEnum.ts +++ b/src/constants/apiEnum.ts @@ -175,6 +175,16 @@ Transfer = 20, } +/** 娌″啓娉ㄩ噴 */ +export enum EnumGetEnterpriseEmployeesQuerySignContractStatus { + /**鐏靛伐寰呯绾� */ + UserWait = 10, + /**浼佷笟寰呯绾� */ + EnterpriseWait = 20, + /**宸茬绾� */ + Pass = 30, +} + /** 鑿滃崟绫诲瀷 */ export enum EnumMenuType { /**鑿滃崟 */ diff --git a/src/constants/task.ts b/src/constants/task.ts index 1025579..b5e3933 100644 --- a/src/constants/task.ts +++ b/src/constants/task.ts @@ -9,6 +9,55 @@ [EnumSettlementCycle.Day]: '鏃ョ粨', }; +export const EnumSettlementCycleDateText = { + [EnumSettlementCycle.Month]: '姣忔湀', + [EnumSettlementCycle.Week]: '姣忓懆', +}; + +export const EnumSettlementCycleDateWeekArray = [ + { label: '鏄熸湡涓�', value: 1 }, + { label: '鏄熸湡浜�', value: 2 }, + { label: '鏄熸湡涓�', value: 3 }, + { label: '鏄熸湡鍥�', value: 4 }, + { label: '鏄熸湡浜�', value: 5 }, + { label: '鏄熸湡鍏�', value: 6 }, + { label: '鏄熸湡鏃�', value: 7 }, +]; + +export const EnumSettlementCycleDateMonthArray = [ + { label: '1鏃�', value: 1 }, + { label: '2鏃�', value: 2 }, + { label: '3鏃�', value: 3 }, + { label: '4鏃�', value: 4 }, + { label: '5鏃�', value: 5 }, + { label: '6鏃�', value: 6 }, + { label: '7鏃�', value: 7 }, + { label: '8鏃�', value: 8 }, + { label: '9鏃�', value: 9 }, + { label: '10鏃�', value: 10 }, + { label: '11鏃�', value: 11 }, + { label: '12鏃�', value: 12 }, + { label: '13鏃�', value: 13 }, + { label: '14鏃�', value: 14 }, + { label: '15鏃�', value: 15 }, + { label: '16鏃�', value: 16 }, + { label: '17鏃�', value: 17 }, + { label: '18鏃�', value: 18 }, + { label: '19鏃�', value: 19 }, + { label: '20鏃�', value: 20 }, + { label: '21鏃�', value: 21 }, + { label: '22鏃�', value: 22 }, + { label: '23鏃�', value: 23 }, + { label: '24鏃�', value: 24 }, + { label: '25鏃�', value: 25 }, + { label: '26鏃�', value: 26 }, + { label: '27鏃�', value: 27 }, + { label: '28鏃�', value: 28 }, + { label: '29鏃�', value: 29 }, + { label: '30鏃�', value: 30 }, + { label: '31鏃�', value: 31 }, +]; + export const EnumTaskReleaseStatusText = { [EnumTaskReleaseStatus.InProcess]: '鍙戝竷涓�', [EnumTaskReleaseStatus.Stopped]: '宸插仠姝�', diff --git a/src/services/api/task.ts b/src/services/api/task.ts index 06e974f..0f797ab 100644 --- a/src/services/api/task.ts +++ b/src/services/api/task.ts @@ -14,6 +14,36 @@ }); } +/** 缂栬緫缁撶畻鍚嶅崟 POST /api/flexjob/task/editTaskSettlementOrderRoster */ +export async function editTaskSettlementOrderRoster( + body: API.EditTaskSettlementOrderRosterCommand, + options?: API.RequestConfig +) { + return request<string>('/api/flexjob/task/editTaskSettlementOrderRoster', { + method: 'POST', + headers: { + 'Content-Type': 'application/json-patch+json', + }, + data: body, + ...(options || {}), + }); +} + +/** 瀵煎嚭缁撶畻鍚嶅崟 POST /api/flexjob/task/exportTaskSettlementOrderRosters */ +export async function exportTaskSettlementOrderRosters( + body: API.ExportTaskSettlementOrderRostersCommand, + options?: API.RequestConfig +) { + return request<string>('/api/flexjob/task/exportTaskSettlementOrderRosters', { + method: 'POST', + headers: { + 'Content-Type': 'application/json-patch+json', + }, + data: body, + ...(options || {}), + }); +} + /** 鏌ヨ寮�鏀句换鍔″垎椤靛垪琛� POST /api/flexjob/task/getOpenTaskInfos */ export async function getOpenTaskInfos( body: API.GetOpenTaskInfosQuery, @@ -173,6 +203,39 @@ ); } +/** 鏌ヨ浠诲姟缁撶畻鏃� GET /api/flexjob/task/getTaskSettlementDates */ +export async function getTaskSettlementDates( + // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄) + params: API.APIgetTaskSettlementDatesParams, + options?: API.RequestConfig +) { + return request<string[]>('/api/flexjob/task/getTaskSettlementDates', { + method: 'GET', + params: { + ...params, + }, + ...(options || {}), + }); +} + +/** 瀵煎叆缁撶畻鍚嶅崟 POST /api/flexjob/task/importTaskSettlementOrderRosters */ +export async function importTaskSettlementOrderRosters( + body: API.ImportTaskSettlementOrderRostersCommand, + options?: API.RequestConfig +) { + return request<API.ImportTaskSettlementOrderRostersCommandResult>( + '/api/flexjob/task/importTaskSettlementOrderRosters', + { + method: 'POST', + headers: { + 'Content-Type': 'application/json-patch+json', + }, + data: body, + ...(options || {}), + } + ); +} + /** 鎾ゅ洖缁撶畻 POST /api/flexjob/task/revokeTaskSettlementOrder */ export async function revokeTaskSettlementOrder( body: API.RevokeTaskSettlementOrderCommand, @@ -236,21 +299,6 @@ options?: API.RequestConfig ) { return request<string>('/api/flexjob/task/sureTaskSettlement', { - method: 'POST', - headers: { - 'Content-Type': 'application/json-patch+json', - }, - data: body, - ...(options || {}), - }); -} - -/** 纭缁撶畻鍗� POST /api/flexjob/task/sureTaskSettlementOrder */ -export async function sureTaskSettlementOrder( - body: API.SureTaskSettlementOrderCommand, - options?: API.RequestConfig -) { - return request<string>('/api/flexjob/task/sureTaskSettlementOrder', { method: 'POST', headers: { 'Content-Type': 'application/json-patch+json', diff --git a/src/services/api/typings.d.ts b/src/services/api/typings.d.ts index 5ededb6..64d7946 100644 --- a/src/services/api/typings.d.ts +++ b/src/services/api/typings.d.ts @@ -207,10 +207,8 @@ } interface APIgetSettlementTaskUsersParams { - /** 浠诲姟Id */ - taskInfoId?: string; - /** 缁撶畻鍗曞湴鍧� */ - settlementOrderUrl?: string; + /** 缁撶畻璁㈠崟Id */ + id?: string; } interface APIgetTaskEnterpriseParams { @@ -226,6 +224,17 @@ interface APIgetTaskSelectParams { /** 鍏抽敭瀛� */ keywords?: string; + } + + interface APIgetTaskSettlementDatesParams { + /** 浠诲姟寮�濮嬫椂闂� */ + beginTime?: string; + /** 浠诲姟缁撴潫鏃堕棿 */ + endTime?: string; + /** 缁撶畻鏂瑰紡 */ + settlementCycle?: EnumSettlementCycle; + /** 缁撶畻鏃ユ湡 */ + settlementDate?: number; } interface APIgetTaskUserHireStatusParams { @@ -429,6 +438,21 @@ identityBackImg?: string; /** Id */ id?: string; + } + + interface EditTaskSettlementOrderRosterCommand { + /** 鍚嶅崟Id */ + id?: string; + /** 缁撶畻閲戦 */ + settlementAmount: number; + /** 瀹炲彂閲戦 */ + actualSettlementAmount: number; + /** 鏀舵璐︽埛 */ + receiveAccount: string; + /** 鎵�灞為摱琛� */ + bank: string; + /** 寮�鎴锋敮琛屽悕绉� */ + bankBranch?: string; } interface ElectronSignCallbackCommand { @@ -653,6 +677,15 @@ Recharge = 10, /**杞处 */ Transfer = 20, + } + + enum EnumGetEnterpriseEmployeesQuerySignContractStatus { + /**鐏靛伐寰呯绾� */ + UserWait = 10, + /**浼佷笟寰呯绾� */ + EnterpriseWait = 20, + /**宸茬绾� */ + Pass = 30, } enum EnumMenuType { @@ -970,6 +1003,11 @@ interface ExportTaskCheckReceiveTaskUsersCommand { /** 浠诲姟Id */ + id?: string; + } + + interface ExportTaskSettlementOrderRostersCommand { + /** 缁撶畻璁㈠崟Id */ id?: string; } @@ -2055,6 +2093,24 @@ timestamp?: number; } + interface FriendlyResultImportTaskSettlementOrderRostersCommandResult { + /** 璺熻釜Id */ + traceId?: string; + /** 鐘舵�佺爜 */ + code?: number; + /** 閿欒鐮� */ + errorCode?: string; + data?: ImportTaskSettlementOrderRostersCommandResult; + /** 鎵ц鎴愬姛 */ + success?: boolean; + /** 閿欒淇℃伅 */ + msg?: any; + /** 闄勫姞鏁版嵁 */ + extras?: any; + /** 鏃堕棿鎴� */ + timestamp?: number; + } + interface FriendlyResultInt32 { /** 璺熻釜Id */ traceId?: string; @@ -2064,6 +2120,25 @@ errorCode?: string; /** 鏁版嵁 */ data?: number; + /** 鎵ц鎴愬姛 */ + success?: boolean; + /** 閿欒淇℃伅 */ + msg?: any; + /** 闄勫姞鏁版嵁 */ + extras?: any; + /** 鏃堕棿鎴� */ + timestamp?: number; + } + + interface FriendlyResultListDateTime { + /** 璺熻釜Id */ + traceId?: string; + /** 鐘舵�佺爜 */ + code?: number; + /** 閿欒鐮� */ + errorCode?: string; + /** 鏁版嵁 */ + data?: string[]; /** 鎵ц鎴愬姛 */ success?: boolean; /** 閿欒淇℃伅 */ @@ -3139,6 +3214,7 @@ isReal?: boolean; userSignContractStatus?: EnumTaskUserSignContractStatus; enterpriseSignContractStatus?: EnumTaskUserSignContractStatus; + signContractStatus?: EnumGetEnterpriseEmployeesQuerySignContractStatus; pageModel?: PagedListQueryPageModel; } @@ -4226,6 +4302,10 @@ keywords?: string; settlementOrderStatus?: EnumTaskSettlementOrderStatus; settlementStatus?: EnumTaskSettlementStatus; + /** 缁撶畻鏃堕棿-璧峰 */ + settlementTimeBegin?: string; + /** 缁撶畻鏃堕棿-鎴 */ + settlementTimeEnd?: string; pageModel?: PagedListQueryPageModel; } @@ -4237,6 +4317,40 @@ interface GetSettlementTasksQueryResultItem { /** 浠诲姟Id */ + id?: string; + /** 鎵�灞炰换鍔� */ + name?: string; + /** 浠诲姟鍗曞彿 */ + code?: string; + checkReceiveStatus?: EnumTaskCheckReceiveStatus; + settlementOrderStatus?: EnumTaskSettlementOrderStatus; + /** 缁撶畻鍗曞悕绉� */ + settlementOrderName?: string; + /** 涓婁紶鏃堕棿 */ + settlementOrderTime?: string; + /** 瀹炲彂閲戦 */ + actualSettlementAmount?: number; + /** 缁撶畻閲戦 */ + settlementAmount?: number; + settlementStatus?: EnumTaskSettlementStatus; + /** 鍒涘缓鏃堕棿 */ + createdTime?: string; + /** 缁撶畻鏃堕棿 */ + settlementTime?: string; + /** 澶囨敞 */ + settlementRemark?: string; + /** 缁撶畻浜烘暟 */ + settlementUserCount?: number; + } + + interface GetSettlementTaskUsersQueryResult { + detail?: GetSettlementTaskUsersQueryResultDetail; + /** 缁撶畻鍚嶅崟 */ + data?: GetSettlementTaskUsersQueryResultItem[]; + } + + interface GetSettlementTaskUsersQueryResultDetail { + /** 缁撶畻璁㈠崟Id */ id?: string; /** 浠诲姟鍚嶇О */ name?: string; @@ -4256,41 +4370,10 @@ settlementTime?: string; /** 澶囨敞 */ settlementRemark?: string; - /** 缁撶畻浜烘暟 */ - settlementUserCount?: number; - } - - interface GetSettlementTaskUsersQueryResult { - detail?: GetSettlementTaskQueryResult; - /** 缁撶畻鍚嶅崟 */ - data?: GetSettlementTaskUsersQueryResultItem[]; - /** 閿欒淇℃伅 */ - errors?: GetSettlementTaskUsersQueryResultError[]; - } - - interface GetSettlementTaskUsersQueryResultError { - /** 閿欒淇℃伅 */ - errorMessage?: string; - /** 濮撳悕 */ - name?: string; - /** 韬唤璇佸彿 */ - identity?: string; - /** 缁撶畻閲戦 */ - settlementAmount?: number; - /** 瀹炲彂閲戦 */ - actualSettlementAmount?: number; - /** 鏀舵璐︽埛 */ - receiveAccount?: string; - /** 鎵�灞為摱琛� */ - bank?: string; - /** 寮�鎴锋敮琛屽悕绉� */ - bankBranch?: string; - /** 浠诲姟鍚嶇О */ - taskName?: string; } interface GetSettlementTaskUsersQueryResultItem { - /** 浠诲姟鐢ㄦ埛Id */ + /** 缁撶畻鍚嶅崟Id */ id?: string; /** 濮撳悕 */ name?: string; @@ -4298,7 +4381,6 @@ identity?: string; /** 鎵嬫満鍙� */ contactPhoneNumber?: string; - checkReceiveStatus?: EnumTaskCheckReceiveStatus; settlementStatus?: EnumTaskSettlementStatus; /** 鎵�灞為摱琛� */ bank?: string; @@ -4358,6 +4440,8 @@ /** 鏈嶅姟璐� */ serviceFee?: number; settlementCycle?: EnumSettlementCycle; + /** 缁撶畻鏃ユ湡 */ + settlementDate?: number; /** 绂忓埄 */ benefits?: GetTaskInfoQueryResultBenefit[]; /** 骞撮緞鑼冨洿鏈�灏� */ @@ -4510,7 +4594,6 @@ endTime?: string; releaseStatus?: EnumTaskReleaseStatus; checkReceiveStatus?: EnumTaskCheckReceiveStatus; - settlementStatus?: EnumTaskSettlementStatus; recommendStatus?: EnumTaskRecommendStatus; /** 鎺ㄨ崘鏃堕棿 */ recommendTime?: string; @@ -4899,6 +4982,58 @@ contactPhoneNumber?: string; /** 韬唤璇佸彿 */ identity?: string; + } + + interface ImportTaskSettlementOrderRostersCommand { + /** 缁撶畻璁㈠崟Id */ + id?: string; + /** 瀵煎叆鏂囦欢鍦板潃 */ + url: string; + } + + interface ImportTaskSettlementOrderRostersCommandResult { + /** Id */ + id?: string; + /** 浠诲姟鍚嶇О */ + name?: string; + /** 浠诲姟鍗曞彿 */ + code?: string; + settlementOrderStatus?: EnumTaskSettlementOrderStatus; + /** 缁撶畻鍗曞悕绉� */ + settlementOrderName?: string; + /** 涓婁紶鏃堕棿 */ + settlementOrderTime?: string; + /** 瀹炲彂閲戦 */ + actualSettlementAmount?: number; + /** 缁撶畻閲戦 */ + settlementAmount?: number; + settlementStatus?: EnumTaskSettlementStatus; + /** 缁撶畻鏃堕棿 */ + settlementTime?: string; + /** 澶囨敞 */ + settlementRemark?: string; + errors?: ImportTaskSettlementOrderRostersCommandResultError[]; + } + + interface ImportTaskSettlementOrderRostersCommandResultError { + /** 閿欒淇℃伅 */ + errorMessage?: string; + /** 濮撳悕 */ + name?: string; + /** 韬唤璇佸彿 */ + identity?: string; + /** 缁撶畻閲戦 */ + settlementAmount?: number; + /** 瀹炲彂閲戦 */ + actualSettlementAmount?: number; + /** 鏀舵璐︽埛 */ + receiveAccount?: string; + /** 鎵�灞為摱琛� */ + bank?: string; + /** 寮�鎴锋敮琛屽悕绉� */ + bankBranch?: string; + /** 浠诲姟鍚嶇О */ + taskName?: string; } interface InviteElectronSignCommand { @@ -5376,6 +5511,8 @@ /** 鏈嶅姟璐� */ serviceFee: number; settlementCycle: EnumSettlementCycle; + /** 缁撶畻鏃ユ湡 */ + settlementDate: number; /** 绂忓埄缂栧彿 */ benefits?: string[]; /** 骞撮緞鑼冨洿鏈�灏� */ @@ -5632,32 +5769,6 @@ interface SureTaskSettlementCommand { /** 浠诲姟Id */ taskInfoId?: string; - } - - interface SureTaskSettlementOrderCommand { - /** 浠诲姟Id */ - taskInfoId?: string; - /** 缁撶畻鍗曞湴鍧� */ - settlementOrderUrl?: string; - /** 缁撶畻鍚嶅崟 */ - taskInfoUsers?: SureTaskSettlementOrderCommandUser[]; - } - - interface SureTaskSettlementOrderCommandUser { - /** 浠诲姟鐢ㄦ埛Id */ - id?: string; - /** 濮撳悕 */ - name?: string; - /** 鎵�灞為摱琛� */ - bank?: string; - /** 寮�鎴锋敮琛屽悕绉� */ - bankBranch?: string; - /** 鏀舵璐︽埛 */ - receiveAccount: string; - /** 缁撶畻閲戦 */ - settlementAmount: number; - /** 瀹炲彂閲戦 */ - actualSettlementAmount: number; } type SyncDatabaseCommand = Record<string, any>; diff --git a/src/views/CPersonManage/CPersonManageList.vue b/src/views/CPersonManage/CPersonManageList.vue index c3a5dc6..4754c24 100644 --- a/src/views/CPersonManage/CPersonManageList.vue +++ b/src/views/CPersonManage/CPersonManageList.vue @@ -184,6 +184,7 @@ age: row.age ?? ('' as any as number), identityImg: row.identityImg ? convertApi2FormUrlOnlyOne(row.identityImg) : [], identityBackImg: row.identityBackImg ? convertApi2FormUrlOnlyOne(row.identityBackImg) : [], + userRealTime: row.realTime ?? '', gender: row.gender, tabType: 'user', @@ -200,6 +201,7 @@ gender: '' as any as EnumUserGender, identityImg: [] as UploadUserFile[], identityBackImg: [] as UploadUserFile[], + userRealTime: '', tabType: '', }, diff --git a/src/views/CPersonManage/components/CPersonDetailDialog.vue b/src/views/CPersonManage/components/CPersonDetailDialog.vue index 9c2baf9..415b8c4 100644 --- a/src/views/CPersonManage/components/CPersonDetailDialog.vue +++ b/src/views/CPersonManage/components/CPersonDetailDialog.vue @@ -2,10 +2,10 @@ <ProDialog title="鐢宠璇︽儏" v-model="visible" width="1200px" destroy-on-close> <ProTabs v-model="form.tabType" hasBorder> <ProTabPane lazy label="浜哄憳璇︽儏" name="user"> - <!-- <StaffDetailInfoView :form="form" /> --> + <StaffDetailInfoView :form="form" /> </ProTabPane> <ProTabPane lazy label="浜哄憳绠�鍘�" name="resume"> - <!-- <StaffResumeView :form="form" /> --> + <StaffResumeView :form="form" /> </ProTabPane> <ProTabPane lazy label="绛剧害璇︽儏" name="sign"> <SignDetailView :form="form" /> @@ -20,7 +20,7 @@ </template> <script setup lang="ts"> -import { ProDialog, ProTabs, ProTabPane } from '@bole-core/components'; +import { ProDialog, ProTabs, ProTabPane, UploadUserFile } from '@bole-core/components'; import _ from 'lodash'; import StaffDetailInfoView from './StaffDetailInfoView.vue'; import StaffResumeView from './StaffResumeView.vue'; @@ -33,6 +33,14 @@ type Form = { tabType: string; id: string; + name: string; + identity: string; + contactPhoneNumber: string; + age: number; + gender: EnumUserGender; + identityImg: UploadUserFile[]; + identityBackImg: UploadUserFile[]; + userRealTime: string; }; const form = defineModel<Form>('form'); diff --git a/src/views/CPersonManage/components/StaffDetailInfoView.vue b/src/views/CPersonManage/components/StaffDetailInfoView.vue index 5dbe708..e720891 100644 --- a/src/views/CPersonManage/components/StaffDetailInfoView.vue +++ b/src/views/CPersonManage/components/StaffDetailInfoView.vue @@ -1,28 +1,28 @@ <template> - <ProForm :model="detail" ref="dialogForm" label-width="120px" is-read> + <ProForm :model="form" ref="dialogForm" label-width="120px" is-read> <ProFormCol> <ProFormColItem :span="12"> <ProFormItemV2 label="濮撳悕锛�" prop="name"> - <ProFormText v-model.trim="detail.name"></ProFormText> + <ProFormText v-model.trim="form.name"></ProFormText> </ProFormItemV2> </ProFormColItem> <ProFormColItem :span="12"> <ProFormItemV2 label="瀹炲悕鏃堕棿锛�" prop="userRealTime"> - <div>{{ format(detail.userRealTime, 'YYYY-MM-DD HH:mm') }}</div> + <div>{{ format(form.userRealTime, 'YYYY-MM-DD HH:mm') }}</div> </ProFormItemV2> </ProFormColItem> </ProFormCol> <ProFormCol> <ProFormColItem :span="12"> <ProFormItemV2 label="韬唤璇佸彿锛�" prop="identity"> - <ProFormText v-model.trim="detail.identity"></ProFormText> + <ProFormText v-model.trim="form.identity"></ProFormText> </ProFormItemV2> </ProFormColItem> </ProFormCol> <ProFormCol> <ProFormColItem :span="12"> <ProFormItemV2 label="鎵嬫満鍙凤細" prop="contactPhoneNumber"> - <ProFormText v-model.trim="detail.contactPhoneNumber"></ProFormText> + <ProFormText v-model.trim="form.contactPhoneNumber"></ProFormText> </ProFormItemV2> </ProFormColItem> </ProFormCol> @@ -30,7 +30,7 @@ <ProFormColItem :span="12"> <ProFormItemV2 label="鎬у埆锛�" prop="gender"> <ProFormRadio - v-model="detail.gender" + v-model="form.gender" :value-enum="EnumUserGenderTextForPerson" ></ProFormRadio> </ProFormItemV2> @@ -39,15 +39,15 @@ <ProFormCol> <ProFormColItem :span="12"> <ProFormItemV2 label="骞撮緞锛�" prop="age"> - <ProFormInputNumber v-model="detail.age"> </ProFormInputNumber> + <ProFormInputNumber v-model="form.age"> </ProFormInputNumber> </ProFormItemV2> </ProFormColItem> </ProFormCol> <ProFormItemV2 label="韬唤璇佹闈細" prop="identityImg"> - <ProFormImageUpload v-model:file-url="detail.identityImg"> </ProFormImageUpload> + <ProFormImageUpload v-model:file-url="form.identityImg"> </ProFormImageUpload> </ProFormItemV2> <ProFormItemV2 label="韬唤璇佸弽闈細" prop="identityBackImg"> - <ProFormImageUpload v-model:file-url="detail.identityBackImg"> </ProFormImageUpload> + <ProFormImageUpload v-model:file-url="form.identityBackImg"> </ProFormImageUpload> </ProFormItemV2> </ProForm> </template> @@ -74,39 +74,46 @@ }); type Form = { - id: string; + name: string; + identity: string; + contactPhoneNumber: string; + age: number; + gender: EnumUserGender; + identityImg: UploadUserFile[]; + identityBackImg: UploadUserFile[]; + userRealTime: string; }; const form = defineModel<Form>('form'); -const detail = reactive({ - name: '', - identity: '', - contactPhoneNumber: '', - gender: EnumUserGender.Male, - age: 0, - identityImg: [] as UploadUserFile[], - identityBackImg: [] as UploadUserFile[], - userRealTime: '', -}); +// const detail = reactive({ +// name: '', +// identity: '', +// contactPhoneNumber: '', +// gender: EnumUserGender.Male, +// age: 0, +// identityImg: [] as UploadUserFile[], +// identityBackImg: [] as UploadUserFile[], +// userRealTime: '', +// }); -const { isLoading } = useQuery({ - queryKey: ['enterpriseEmployeeServices/getEnterpriseEmployee', form.value.id], - queryFn: async () => { - return await enterpriseEmployeeServices.getEnterpriseEmployee({ id: form.value.id }); - }, - onSuccess(data) { - detail.name = data.name; - detail.identity = data.identity; - detail.contactPhoneNumber = data.contactPhoneNumber; - detail.gender = data.gender; - detail.age = data.age ?? 0; - detail.identityImg = data.identityImg ? convertApi2FormUrlOnlyOne(data.identityImg) : []; - detail.identityBackImg = data.identityBackImg - ? convertApi2FormUrlOnlyOne(data.identityBackImg) - : []; - detail.userRealTime = data.userRealTime ?? ''; - }, - enabled: computed(() => !!form.value.id), -}); +// const { isLoading } = useQuery({ +// queryKey: ['enterpriseEmployeeServices/getEnterpriseEmployee', form.value.id], +// queryFn: async () => { +// return await enterpriseEmployeeServices.getEnterpriseEmployee({ id: form.value.id }); +// }, +// onSuccess(data) { +// detail.name = data.name; +// detail.identity = data.identity; +// detail.contactPhoneNumber = data.contactPhoneNumber; +// detail.gender = data.gender; +// detail.age = data.age ?? 0; +// detail.identityImg = data.identityImg ? convertApi2FormUrlOnlyOne(data.identityImg) : []; +// detail.identityBackImg = data.identityBackImg +// ? convertApi2FormUrlOnlyOne(data.identityBackImg) +// : []; +// detail.userRealTime = data.userRealTime ?? ''; +// }, +// enabled: computed(() => !!form.value.id), +// }); </script> diff --git a/src/views/CPersonManage/components/StaffResumeView.vue b/src/views/CPersonManage/components/StaffResumeView.vue index e5658c3..01f0d2a 100644 --- a/src/views/CPersonManage/components/StaffResumeView.vue +++ b/src/views/CPersonManage/components/StaffResumeView.vue @@ -102,7 +102,7 @@ const { isLoading } = useQuery({ queryKey: ['userResumeServices/getUserResume', form.value.id], queryFn: async () => { - return await userResumeServices.getUserResume({ enterpriseEmployeeId: form.value.id }); + return await userResumeServices.getUserResume({ userId: form.value.id }); }, onSuccess(data) { detail.userExpectJobs = diff --git a/src/views/TaskManage/components/TaskDetailView.vue b/src/views/TaskManage/components/TaskDetailView.vue index f2d9083..6b0ad29 100644 --- a/src/views/TaskManage/components/TaskDetailView.vue +++ b/src/views/TaskManage/components/TaskDetailView.vue @@ -43,6 +43,23 @@ </ProFormColItem> </ProFormCol> <ProFormCol> + <ProFormColItem :span="12" class="settlement-cycle-date-form-item"> + <ProFormItemV2 + label="缁撶畻鏃ユ湡:" + prop="settlementCycle" + :check-rules="[{ message: '璇烽�夋嫨缁撶畻鏃ユ湡' }]" + > + {{ EnumSettlementCycleDateText[form.settlementCycle] }} + <ProFormSelect + v-model="form.settlementDate" + :value-enum="settlementDateList" + :button-style="false" + ></ProFormSelect> + {{ '缁撶畻' }} + </ProFormItemV2> + </ProFormColItem> + </ProFormCol> + <ProFormCol> <ProFormColItem :span="12"> <ProFormItemV2 label="绂忓埄:" prop="benefits"> <ProFormCheckbox @@ -68,6 +85,7 @@ v-model="form.ageMaxLimit" placeholder="璇疯緭鍏�" ></ProFormInputNumber> + 宀� </ProFormItemV2> </ProFormColItem> </ProFormCol> @@ -146,6 +164,7 @@ ProFormRadio, ProFormDatePicker, ProFormCheckbox, + ProFormSelect, } from '@bole-core/components'; import { useQuery } from '@tanstack/vue-query'; import * as taskServices from '@/services/api/task'; @@ -154,6 +173,9 @@ EnumBillingMethodText, EnumBillingMethodUnitText, EnumSettlementCycleText, + EnumSettlementCycleDateText, + EnumSettlementCycleDateMonthArray, + EnumSettlementCycleDateWeekArray, } from '@/constants'; import { ModelValueType } from 'element-plus'; import { format } from '@/utils'; @@ -172,11 +194,22 @@ categoryCode: CategoryCode.CertificateType, }); +const settlementDateList = computed(() => { + if (form.settlementCycle === EnumSettlementCycle.Month) { + return EnumSettlementCycleDateMonthArray; + } + if (form.settlementCycle === EnumSettlementCycle.Week) { + return EnumSettlementCycleDateWeekArray; + } + return []; +}); + const form = reactive({ name: '', billingMethod: '' as any as EnumBillingMethod, serviceFee: 0, settlementCycle: '' as any as EnumSettlementCycle, + settlementDate: null as number, benefits: [] as string[], ageMinLimit: 0, ageMaxLimit: 0, @@ -203,6 +236,7 @@ form.billingMethod = data.billingMethod; form.serviceFee = data.serviceFee; form.settlementCycle = data.settlementCycle; + form.settlementDate = data.settlementDate; form.benefits = data.benefits?.map((x) => x.benefitCode) ?? []; form.ageMinLimit = data.ageMinLimit; form.ageMaxLimit = data.ageMaxLimit; @@ -246,5 +280,24 @@ width: auto; } } + + .settlement-cycle-date-form-item { + color: inherit; + + .el-form-item__content { + flex-wrap: nowrap; + + .el-select { + margin: 0 20px; + width: auto; + min-width: 0; + flex: 1; + } + + .pro-from-item-read-content-wrapper { + width: auto; + } + } + } } </style> -- Gitblit v1.9.1