From baa76cb2bf0496ea34b4eee1a04a13cc1ca680cb Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期三, 13 八月 2025 17:42:03 +0800
Subject: [PATCH] fix: 验收管理
---
src/views/EmploymentManage/constants/columns.ts | 78 ++++
src/hooks/useEvent.ts | 1
src/constants/task.ts | 15
.eslintrc-auto-import.json | 3
src/services/api/typings.d.ts | 322 +++++++++++++++---
src/services/api/task.ts | 15
src/services/api/index.ts | 4
src/services/api/taskCheckReceive.ts | 60 +++
src/views/EmploymentManage/components/CheckManageDialog.vue | 124 +++++-
src/services/api/userResume.ts | 30 +
auto-imports.d.ts | 8
src/views/EmploymentManage/CheckReceiveTaskDetail.vue | 186 ++++++++++
src/router/index.ts | 13
src/views/EmploymentManage/CheckManage.vue | 105 +++--
src/constants/apiEnum.ts | 14
src/services/api/auth.ts | 17 +
16 files changed, 861 insertions(+), 134 deletions(-)
diff --git a/.eslintrc-auto-import.json b/.eslintrc-auto-import.json
index 33f2fb8..1005d17 100644
--- a/.eslintrc-auto-import.json
+++ b/.eslintrc-auto-import.json
@@ -34,6 +34,7 @@
"EnumSettlementCycleText": true,
"EnumSmsAccess": true,
"EnumTaskCheckReceiveStatus": true,
+ "EnumTaskCheckReceiveStatusText": true,
"EnumTaskRecommendStatus": true,
"EnumTaskRecommendStatusText": true,
"EnumTaskReleaseStatus": true,
@@ -48,6 +49,8 @@
"EnumTaskUserHireStatusText": true,
"EnumTaskUserSignContractStatus": true,
"EnumTaskUserSignContractStatusText": true,
+ "EnumTaskUserSubmitCheckReceiveStatus": true,
+ "EnumTaskUserSubmitCheckReceiveStatusText": true,
"EnumUserGender": true,
"EnumUserGenderText": true,
"EnumUserGenderTextForEdit": true,
diff --git a/auto-imports.d.ts b/auto-imports.d.ts
index 22edb57..3da2f7f 100644
--- a/auto-imports.d.ts
+++ b/auto-imports.d.ts
@@ -39,6 +39,7 @@
const EnumSmsAccess: typeof import('./src/constants/apiEnum')['EnumSmsAccess']
const EnumSmsTemplateType: typeof import('./src/constants/apiEnum')['EnumSmsTemplateType']
const EnumTaskCheckReceiveStatus: typeof import('./src/constants/apiEnum')['EnumTaskCheckReceiveStatus']
+ const EnumTaskCheckReceiveStatusText: typeof import('./src/constants/task')['EnumTaskCheckReceiveStatusText']
const EnumTaskRecommendStatus: typeof import('./src/constants/apiEnum')['EnumTaskRecommendStatus']
const EnumTaskRecommendStatusText: typeof import('./src/constants/task')['EnumTaskRecommendStatusText']
const EnumTaskReleaseStatus: typeof import('./src/constants/apiEnum')['EnumTaskReleaseStatus']
@@ -53,6 +54,8 @@
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 EnumTaskUserSubmitCheckReceiveStatus: typeof import('./src/constants/apiEnum')['EnumTaskUserSubmitCheckReceiveStatus']
+ const EnumTaskUserSubmitCheckReceiveStatusText: typeof import('./src/constants/task')['EnumTaskUserSubmitCheckReceiveStatusText']
const EnumUserGender: typeof import('./src/constants/apiEnum')['EnumUserGender']
const EnumUserGenderText: typeof import('./src/constants/task')['EnumUserGenderText']
const EnumUserGenderTextForEdit: typeof import('./src/constants/task')['EnumUserGenderTextForEdit']
@@ -205,7 +208,7 @@
export type { Component, Slot, Slots, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
import('vue')
// @ts-ignore
- export type { EnumBillingMethod, EnumClientType, EnumMenuType, EnumMenuVisitLevel, EnumPagedListOrder, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton, EnumBillingMethod, EnumClientType, EnumMenuType, EnumMenuVisitLevel, EnumPagedListOrder, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton } from './src/constants/apiEnum'
+ export type { EnumBillingMethod, EnumClientType, EnumMenuType, EnumMenuVisitLevel, EnumPagedListOrder, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckReceiveStatus, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton, EnumBillingMethod, EnumClientType, EnumMenuType, EnumMenuVisitLevel, EnumPagedListOrder, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckReceiveStatus, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton } from './src/constants/apiEnum'
import('./src/constants/apiEnum')
// @ts-ignore
export type { CategoryCode, IdentityCodeEnum, EducationCodeEnum, CertificateTypeCodeEnum, WelfareCodeEnum } from './src/constants/dic'
@@ -265,6 +268,7 @@
readonly EnumSettlementCycleText: UnwrapRef<typeof import('./src/constants/task')['EnumSettlementCycleText']>
readonly EnumSmsAccess: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumSmsAccess']>
readonly EnumTaskCheckReceiveStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumTaskCheckReceiveStatus']>
+ readonly EnumTaskCheckReceiveStatusText: UnwrapRef<typeof import('./src/constants/task')['EnumTaskCheckReceiveStatusText']>
readonly EnumTaskRecommendStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumTaskRecommendStatus']>
readonly EnumTaskRecommendStatusText: UnwrapRef<typeof import('./src/constants/task')['EnumTaskRecommendStatusText']>
readonly EnumTaskReleaseStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumTaskReleaseStatus']>
@@ -279,6 +283,8 @@
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 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']>
readonly EnumUserGenderText: UnwrapRef<typeof import('./src/constants/task')['EnumUserGenderText']>
readonly EnumUserGenderTextForEdit: UnwrapRef<typeof import('./src/constants/task')['EnumUserGenderTextForEdit']>
diff --git a/src/constants/apiEnum.ts b/src/constants/apiEnum.ts
index 8d03ef1..01db867 100644
--- a/src/constants/apiEnum.ts
+++ b/src/constants/apiEnum.ts
@@ -161,6 +161,8 @@
export enum EnumTaskCheckReceiveStatus {
/**寰呮彁浜� */
WaitSubmit = 10,
+ /**寰呴獙鏀� */
+ WaitCheckReceive = 20,
/**宸查獙鏀� */
Completed = 30,
}
@@ -225,6 +227,18 @@
Refuse = 30,
}
+/** 浠诲姟楠屾敹鐘舵�� */
+export enum EnumTaskUserSubmitCheckReceiveStatus {
+ /**寰呮彁浜� */
+ WaitSubmit = 10,
+ /**寰呴獙鏀� */
+ WaitCheckReceive = 20,
+ /**楠屾敹閫氳繃 */
+ Success = 30,
+ /**楠屾敹鏈�氳繃 */
+ Fail = 40,
+}
+
/** 鐢ㄦ埛鎬у埆 */
export enum EnumUserGender {
/**鐢� */
diff --git a/src/constants/task.ts b/src/constants/task.ts
index c67124b..79bf326 100644
--- a/src/constants/task.ts
+++ b/src/constants/task.ts
@@ -1,3 +1,5 @@
+import { EnumTaskCheckReceiveStatus } from './apiEnum';
+
export const EnumTaskStatusText = {
[EnumTaskStatus.Wait]: '寰呭畨鎺�',
[EnumTaskStatus.Complete]: '宸插畨鎺�',
@@ -58,3 +60,16 @@
[EnumTaskUserArrangeStatus.Wait]: '鏈畨鎺�',
[EnumTaskUserArrangeStatus.Complete]: '宸插畨鎺�',
};
+
+export const EnumTaskCheckReceiveStatusText = {
+ [EnumTaskCheckReceiveStatus.WaitSubmit]: '寰呮彁浜�',
+ [EnumTaskCheckReceiveStatus.WaitCheckReceive]: '寰呴獙鏀�',
+ [EnumTaskCheckReceiveStatus.Completed]: '宸查獙鏀�',
+};
+
+export const EnumTaskUserSubmitCheckReceiveStatusText = {
+ [EnumTaskUserSubmitCheckReceiveStatus.WaitSubmit]: '寰呮彁浜�',
+ [EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive]: '寰呴獙鏀�',
+ [EnumTaskUserSubmitCheckReceiveStatus.Success]: '楠屾敹閫氳繃',
+ [EnumTaskUserSubmitCheckReceiveStatus.Fail]: '楠屾敹鏈�氳繃',
+};
diff --git a/src/hooks/useEvent.ts b/src/hooks/useEvent.ts
index c8f5a0f..f897656 100644
--- a/src/hooks/useEvent.ts
+++ b/src/hooks/useEvent.ts
@@ -5,6 +5,7 @@
'home:add': any;
'taskManage:add': any;
'taskManage:edit': any;
+ checkReceiveTask: any;
};
export type GlobalEventListener<T extends keyof GlobalEvent> = (payload: GlobalEvent[T]) => any;
diff --git a/src/router/index.ts b/src/router/index.ts
index 1d4bf44..e0fdbc8 100644
--- a/src/router/index.ts
+++ b/src/router/index.ts
@@ -215,6 +215,19 @@
icon: 'home',
},
},
+ {
+ path: '/CheckReceiveTaskDetail/:id',
+ name: 'CheckReceiveTaskDetail',
+ hidden: true,
+ alwaysShow: false,
+ component: () => import('@/views/EmploymentManage/CheckReceiveTaskDetail.vue'),
+ meta: {
+ rank: 10031,
+ title: '楠屾敹璇︽儏',
+ // rootMenu: true,
+ icon: 'home',
+ },
+ },
],
},
{
diff --git a/src/services/api/auth.ts b/src/services/api/auth.ts
index 331a423..1a95129 100644
--- a/src/services/api/auth.ts
+++ b/src/services/api/auth.ts
@@ -81,6 +81,23 @@
});
}
+/** 鏌ヨ浼佷笟鐢ㄦ埛鐧诲綍淇℃伅 GET /api/user/auth/getEnterpriseLoginInfo */
+export async function getEnterpriseLoginInfo(
+ // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+ params: API.APIgetEnterpriseLoginInfoParams,
+ options?: API.RequestConfig
+) {
+ return request<API.GetEnterpriseLoginInfoQueryResult>('/api/user/auth/getEnterpriseLoginInfo', {
+ method: 'GET',
+ params: {
+ ...params,
+ request: undefined,
+ ...params['request'],
+ },
+ ...(options || {}),
+ });
+}
+
/** 鏌ヨ涓汉鐢ㄦ埛鐧诲綍淇℃伅 GET /api/user/auth/getPersonalLoginInfo */
export async function getPersonalLoginInfo(
// 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
diff --git a/src/services/api/index.ts b/src/services/api/index.ts
index e5221f9..ca93bf7 100644
--- a/src/services/api/index.ts
+++ b/src/services/api/index.ts
@@ -4,26 +4,26 @@
// API 鍞竴鏍囪瘑锛�
import * as enterpriseEmployee from './enterpriseEmployee';
import * as role from './role';
-import * as taskCheckReceive from './taskCheckReceive';
import * as enterprise from './enterprise';
import * as task from './task';
import * as dictionary from './dictionary';
import * as user from './user';
import * as userResume from './userResume';
import * as auth from './auth';
+import * as taskCheckReceive from './taskCheckReceive';
import * as resource from './resource';
import * as taskUser from './taskUser';
import * as menu from './menu';
export default {
enterpriseEmployee,
role,
- taskCheckReceive,
enterprise,
task,
dictionary,
user,
userResume,
auth,
+ taskCheckReceive,
resource,
taskUser,
menu,
diff --git a/src/services/api/task.ts b/src/services/api/task.ts
index b6c19fa..9488ff3 100644
--- a/src/services/api/task.ts
+++ b/src/services/api/task.ts
@@ -14,6 +14,21 @@
});
}
+/** 鏌ヨ寮�鏀句换鍔″垎椤靛垪琛� POST /api/flexjob/task/getOpenTaskInfos */
+export async function getOpenTaskInfos(
+ body: API.GetOpenTaskInfosQuery,
+ options?: API.RequestConfig
+) {
+ return request<API.GetTaskInfosQueryResult>('/api/flexjob/task/getOpenTaskInfos', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json-patch+json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
/** 鎴戠殑鎶ュ悕鍒嗛〉鍒楄〃 POST /api/flexjob/task/getPersonalApplyTaskInfos */
export async function getPersonalApplyTaskInfos(
body: API.GetPersonalApplyTaskInfosQuery,
diff --git a/src/services/api/taskCheckReceive.ts b/src/services/api/taskCheckReceive.ts
index f290dbd..cd10e99 100644
--- a/src/services/api/taskCheckReceive.ts
+++ b/src/services/api/taskCheckReceive.ts
@@ -2,7 +2,22 @@
// @ts-ignore
import { request } from '@/utils/request';
-/** 鏌ヨ楠屾敹浠诲姟鍒嗛〉鍒楄〃 POST /api/flexjob/taskCheckReceive/getCheckReceiveTask */
+/** 浠诲姟楠屾敹 POST /api/flexjob/taskCheckReceive/checkReceiveTask */
+export async function checkReceiveTask(
+ body: API.CheckReceiveTaskCommand,
+ options?: API.RequestConfig
+) {
+ return request<string>('/api/flexjob/taskCheckReceive/checkReceiveTask', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json-patch+json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
+/** 鏌ヨ楠屾敹浠诲姟璇︽儏 POST /api/flexjob/taskCheckReceive/getCheckReceiveTask */
export async function getCheckReceiveTask(
body: API.GetCheckReceiveTaskQuery,
options?: API.RequestConfig
@@ -20,19 +35,37 @@
);
}
-/** 鏌ヨ楠屾敹鍒嗛〉鍒楄〃 POST /api/flexjob/taskCheckReceive/getCheckReceiveTaskUser */
-export async function getCheckReceiveTaskUser(
- body: API.GetCheckReceiveTaskUserQuery,
+/** 鏌ヨ楠屾敹浠诲姟鍒嗛〉鍒楄〃 POST /api/flexjob/taskCheckReceive/getCheckReceiveTasks */
+export async function getCheckReceiveTasks(
+ body: API.GetCheckReceiveTasksQuery,
options?: API.RequestConfig
) {
- return request<API.GetCheckReceiveTaskUserQueryResult>(
- '/api/flexjob/taskCheckReceive/getCheckReceiveTaskUser',
+ return request<API.GetCheckReceiveTasksQueryResult>(
+ '/api/flexjob/taskCheckReceive/getCheckReceiveTasks',
{
method: 'POST',
headers: {
'Content-Type': 'application/json-patch+json',
},
data: body,
+ ...(options || {}),
+ }
+ );
+}
+
+/** 鏌ヨ楠屾敹鎻愪氦璇︽儏 GET /api/flexjob/taskCheckReceive/getCheckReceiveTaskUserSubmit */
+export async function getCheckReceiveTaskUserSubmit(
+ // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+ params: API.APIgetCheckReceiveTaskUserSubmitParams,
+ options?: API.RequestConfig
+) {
+ return request<API.GetCheckReceiveTaskUserSubmitQueryResult>(
+ '/api/flexjob/taskCheckReceive/getCheckReceiveTaskUserSubmit',
+ {
+ method: 'GET',
+ params: {
+ ...params,
+ },
...(options || {}),
}
);
@@ -55,3 +88,18 @@
}
);
}
+
+/** 浠诲姟鎻愪氦楠屾敹 POST /api/flexjob/taskCheckReceive/submitCheckReceiveTask */
+export async function submitCheckReceiveTask(
+ body: API.SubmitCheckReceiveTaskCommand,
+ options?: API.RequestConfig
+) {
+ return request<string>('/api/flexjob/taskCheckReceive/submitCheckReceiveTask', {
+ 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 5eb070c..dfb52b9 100644
--- a/src/services/api/typings.d.ts
+++ b/src/services/api/typings.d.ts
@@ -13,6 +13,17 @@
maxDeep?: number;
}
+ interface APIgetCheckReceiveTaskUserSubmitParams {
+ /** 鎻愪氦Id锛堢敤浜嶣绔鎴风锛� */
+ submitId?: string;
+ /** 浠诲姟Id锛堢敤浜嶤绔皬绋嬪簭缂栬緫鎻愪氦 鍜屾棩鏈熶竴璧蜂紶锛� */
+ taskInfoId?: string;
+ /** 浠诲姟浜哄憳Id锛堢敤浜嶣绔皬绋嬪簭楠屾敹 鍜屾棩鏈熶竴璧蜂紶锛� */
+ taskInfoUserId?: string;
+ /** 鏃ユ湡锛堢敤浜庝袱涓皬绋嬪簭 璺熸煇涓�涓狪d涓�璧蜂紶锛� */
+ date?: string;
+ }
+
interface APIgetCurrentLogierMenuParams {
/** Id */
id?: string;
@@ -55,6 +66,11 @@
id?: string;
/** 浠诲姟Id */
taskInfoId?: string;
+ }
+
+ interface APIgetEnterpriseLoginInfoParams {
+ /** 鏌ヨ浼佷笟鐢ㄦ埛鐧诲綍淇℃伅 */
+ request?: GetEnterpriseLoginInfoQuery;
}
interface APIgetEnterpriseParams {
@@ -182,11 +198,29 @@
verifyCode: string;
}
+ interface CheckReceiveTaskCommand {
+ /** 鎻愪氦Id */
+ id?: string;
+ checkReceiveStatus?: EnumTaskUserSubmitCheckReceiveStatus;
+ }
+
interface CollectTaskCommand {
/** 浠诲姟Id */
ids?: string[];
/** 鏄惁鏀惰棌 */
isCollect?: boolean;
+ }
+
+ interface CollectUserResumeCommand {
+ /** 鐢ㄦ埛Id */
+ id?: string;
+ /** 鏄惁宸叉敹钘� */
+ isCollected?: boolean;
+ }
+
+ interface ContactUserResumeCommand {
+ /** 鐢ㄦ埛Id */
+ id?: string;
}
interface DeleteDictionaryCategoryCommand {
@@ -355,6 +389,8 @@
enum EnumTaskCheckReceiveStatus {
/**寰呮彁浜� */
WaitSubmit = 10,
+ /**寰呴獙鏀� */
+ WaitCheckReceive = 20,
/**宸查獙鏀� */
Completed = 30,
}
@@ -410,6 +446,17 @@
Pass = 20,
/**宸叉嫆绛� */
Refuse = 30,
+ }
+
+ enum EnumTaskUserSubmitCheckReceiveStatus {
+ /**寰呮彁浜� */
+ WaitSubmit = 10,
+ /**寰呴獙鏀� */
+ WaitCheckReceive = 20,
+ /**楠屾敹閫氳繃 */
+ Success = 30,
+ /**楠屾敹鏈�氳繃 */
+ Fail = 40,
}
enum EnumUserGender {
@@ -517,14 +564,32 @@
timestamp?: number;
}
- interface FriendlyResultGetCheckReceiveTaskUserQueryResult {
+ interface FriendlyResultGetCheckReceiveTasksQueryResult {
/** 璺熻釜Id */
traceId?: string;
/** 鐘舵�佺爜 */
code?: number;
/** 閿欒鐮� */
errorCode?: string;
- data?: GetCheckReceiveTaskUserQueryResult;
+ data?: GetCheckReceiveTasksQueryResult;
+ /** 鎵ц鎴愬姛 */
+ success?: boolean;
+ /** 閿欒淇℃伅 */
+ msg?: any;
+ /** 闄勫姞鏁版嵁 */
+ extras?: any;
+ /** 鏃堕棿鎴� */
+ timestamp?: number;
+ }
+
+ interface FriendlyResultGetCheckReceiveTaskUserSubmitQueryResult {
+ /** 璺熻釜Id */
+ traceId?: string;
+ /** 鐘舵�佺爜 */
+ code?: number;
+ /** 閿欒鐮� */
+ errorCode?: string;
+ data?: GetCheckReceiveTaskUserSubmitQueryResult;
/** 鎵ц鎴愬姛 */
success?: boolean;
/** 閿欒淇℃伅 */
@@ -597,6 +662,24 @@
/** 閿欒鐮� */
errorCode?: string;
data?: GetEnterpriseEmployeesQueryResult;
+ /** 鎵ц鎴愬姛 */
+ success?: boolean;
+ /** 閿欒淇℃伅 */
+ msg?: any;
+ /** 闄勫姞鏁版嵁 */
+ extras?: any;
+ /** 鏃堕棿鎴� */
+ timestamp?: number;
+ }
+
+ interface FriendlyResultGetEnterpriseLoginInfoQueryResult {
+ /** 璺熻釜Id */
+ traceId?: string;
+ /** 鐘舵�佺爜 */
+ code?: number;
+ /** 閿欒鐮� */
+ errorCode?: string;
+ data?: GetEnterpriseLoginInfoQueryResult;
/** 鎵ц鎴愬姛 */
success?: boolean;
/** 閿欒淇℃伅 */
@@ -1327,63 +1410,27 @@
}
interface GetCheckReceiveTaskQuery {
- /** 楠屾敹鏃ユ湡-鏈�鏃╂椂闂� */
- dateBegin?: string;
- /** 楠屾敹鏃ユ湡-鏈�鏅氭椂闂� */
- dateEnd?: string;
- checkReceiveStatus?: EnumTaskCheckReceiveStatus;
+ /** 浠诲姟Id */
+ taskInfoId?: string;
pageModel?: PagedListQueryPageModel;
}
interface GetCheckReceiveTaskQueryResult {
+ objectData?: GetCheckReceiveTaskQueryResultObjectData;
pageModel?: PagedListQueryResultPageModel;
/** 鏁版嵁 */
data?: GetCheckReceiveTaskQueryResultItem[];
}
interface GetCheckReceiveTaskQueryResultItem {
- /** 浠诲姟Id */
+ /** 浠诲姟浜哄憳Id */
id?: string;
/** 浠诲姟鍚嶇О */
- name?: string;
- /** 浠诲姟寮�濮嬫椂闂� */
- beginTime?: string;
- /** 浠诲姟缁撴潫鏃堕棿 */
- endTime?: string;
- /** 浠诲姟鍦扮偣鍚嶇О */
- addressName?: string;
- }
-
- interface GetCheckReceiveTaskUserQuery {
- /** 浠诲姟Id */
- taskInfoId?: string;
- /** 鍏抽敭瀛� */
- keywords?: string;
- /** 楠屾敹鏃ユ湡-鏈�鏃╂椂闂� */
- dateBegin?: string;
- /** 楠屾敹鏃ユ湡-鏈�鏅氭椂闂� */
- dateEnd?: string;
- checkReceiveStatus?: EnumTaskCheckReceiveStatus;
- pageModel?: PagedListQueryPageModel;
- }
-
- interface GetCheckReceiveTaskUserQueryResult {
- pageModel?: PagedListQueryResultPageModel;
- /** 鏁版嵁 */
- data?: GetCheckReceiveTaskUserQueryResultItem[];
- }
-
- interface GetCheckReceiveTaskUserQueryResultItem {
- /** 浠诲姟Id */
- id?: string;
- /** 浠诲姟鍚嶇О */
- taskName?: string;
- /** 浠诲姟寮�濮嬫椂闂� */
- beginTime?: string;
- /** 浠诲姟缁撴潫鏃堕棿 */
- endTime?: string;
- /** 浠诲姟鍦扮偣鍚嶇О */
- addressName?: string;
+ taskInfoName?: string;
+ /** 浠诲姟鍗曞彿 */
+ taskInfoCode?: string;
+ /** 澶村儚 */
+ avatar?: string;
/** 濮撳悕 */
name?: string;
/** 韬唤璇佸彿 */
@@ -1393,24 +1440,145 @@
age?: number;
/** 鎵嬫満鍙� */
contactPhoneNumber?: string;
- /** 鎻愪氦鏃堕棿 */
+ /** 鏄惁瀹炲悕 */
+ isReal?: boolean;
+ realMethod?: EnumUserRealMethod;
+ /** 鏈�杩戞彁浜ゆ椂闂� */
lastSubmitTime?: string;
checkReceiveStatus?: EnumTaskCheckReceiveStatus;
}
- interface GetCheckReceiveTaskUserSubmitsQuery {
+ interface GetCheckReceiveTaskQueryResultObjectData {
+ /** 浠诲姟鍚嶇О */
+ name?: string;
+ /** 浠诲姟鍗曞彿 */
+ code?: string;
+ billingMethod?: EnumBillingMethod;
+ /** 鏈嶅姟璐� */
+ serviceFee?: number;
+ settlementCycle?: EnumSettlementCycle;
+ /** 浠诲姟寮�濮嬫椂闂� */
+ beginTime?: string;
+ /** 浠诲姟缁撴潫鏃堕棿 */
+ endTime?: string;
+ /** 浠诲姟鍦扮偣鍚嶇О */
+ addressName?: string;
+ }
+
+ interface GetCheckReceiveTasksQuery {
+ /** 鏃ユ湡锛堝皬绋嬪簭-楠屾敹绠$悊涓撶敤锛� */
+ date?: string;
+ /** 鍏抽敭瀛楋紙濮撳悕/鎵嬫満/韬唤璇佸彿锛� */
+ keywords?: string;
+ /** 楠屾敹鏃ユ湡-鏈�鏃╂椂闂达紙B绔鎴风-楠屾敹绠$悊涓撶敤锛� */
+ checkReceiveTimeBegin?: string;
+ /** 楠屾敹鏃ユ湡-鏈�鏅氭椂闂达紙B绔鎴风-楠屾敹绠$悊涓撶敤锛� */
+ checkReceiveTimeEnd?: string;
+ checkReceiveStatus?: EnumTaskCheckReceiveStatus;
+ pageModel?: PagedListQueryPageModel;
+ }
+
+ interface GetCheckReceiveTasksQueryResult {
+ pageModel?: PagedListQueryResultPageModel;
+ /** 鏁版嵁 */
+ data?: GetCheckReceiveTasksQueryResultItem[];
+ }
+
+ interface GetCheckReceiveTasksQueryResultItem {
/** 浠诲姟Id */
+ id?: string;
+ /** 浠诲姟鍚嶇О */
+ name?: string;
+ /** 浠诲姟鍗曞彿 */
+ code?: string;
+ billingMethod?: EnumBillingMethod;
+ /** 鏈嶅姟璐� */
+ serviceFee?: number;
+ settlementCycle?: EnumSettlementCycle;
+ /** 鍙戝竷鏃堕棿 */
+ createdTime?: string;
+ /** 浠诲姟寮�濮嬫椂闂� */
+ beginTime?: string;
+ /** 浠诲姟缁撴潫鏃堕棿 */
+ endTime?: string;
+ /** 浠诲姟鍦扮偣鍚嶇О */
+ addressName?: string;
+ checkReceiveStatus?: EnumTaskCheckReceiveStatus;
+ /** 鏈�杩戦獙鏀舵椂闂� */
+ lastCheckReceiveTime?: string;
+ }
+
+ interface GetCheckReceiveTaskUserSubmitQueryResult {
+ /** 鎻愪氦Id */
+ id?: string;
+ enterpriseEmployeeUser?: GetCheckReceiveTaskUserSubmitsQueryResultObjectDataEnterpriseEmployeeUser;
+ /** 鎻愪氦鏃堕棿 */
+ createdTime?: string;
+ /** 楠屾敹鐓х墖 */
+ files?: string[];
+ }
+
+ interface GetCheckReceiveTaskUserSubmitsQuery {
+ /** 浠诲姟浜哄憳Id */
id?: string;
pageModel?: PagedListQueryPageModel;
}
interface GetCheckReceiveTaskUserSubmitsQueryResult {
+ objectData?: GetCheckReceiveTaskUserSubmitsQueryResultObjectData;
pageModel?: PagedListQueryResultPageModel;
/** 鏁版嵁 */
data?: GetCheckReceiveTaskUserSubmitsQueryResultItem[];
}
- type GetCheckReceiveTaskUserSubmitsQueryResultItem = Record<string, any>;
+ interface GetCheckReceiveTaskUserSubmitsQueryResultItem {
+ /** 鎻愪氦Id */
+ id?: string;
+ /** 鎻愪氦鏃堕棿 */
+ createdTime?: string;
+ /** 楠屾敹鐓х墖 */
+ files?: string[];
+ checkReceiveStatus?: EnumTaskUserSubmitCheckReceiveStatus;
+ /** 楠屾敹鏃堕棿 */
+ checkReceiveTime?: string;
+ }
+
+ interface GetCheckReceiveTaskUserSubmitsQueryResultObjectData {
+ taskInfo?: GetCheckReceiveTaskUserSubmitsQueryResultObjectDataTaskInfo;
+ enterpriseEmployeeUser?: GetCheckReceiveTaskUserSubmitsQueryResultObjectDataEnterpriseEmployeeUser;
+ }
+
+ interface GetCheckReceiveTaskUserSubmitsQueryResultObjectDataEnterpriseEmployeeUser {
+ /** 鐢ㄦ埛Id */
+ id?: string;
+ /** 澶村儚 */
+ avatar?: string;
+ /** 濮撳悕 */
+ name?: string;
+ /** 韬唤璇佸彿 */
+ identity?: string;
+ gender?: EnumUserGender;
+ /** 骞撮緞 */
+ age?: number;
+ /** 鎵嬫満鍙� */
+ contactPhoneNumber?: string;
+ /** 鏄惁瀹炲悕 */
+ isReal?: boolean;
+ realMethod?: EnumUserRealMethod;
+ /** 鏄惁缁戝畾閾惰鍗� */
+ isBindBankCard?: boolean;
+ }
+
+ interface GetCheckReceiveTaskUserSubmitsQueryResultObjectDataTaskInfo {
+ /** 浠诲姟鍚嶇О */
+ name?: string;
+ /** 浠诲姟寮�濮嬫椂闂� */
+ beginTime?: string;
+ /** 浠诲姟缁撴潫鏃堕棿 */
+ endTime?: string;
+ /** 浠诲姟鍦扮偣鍚嶇О */
+ addressName?: string;
+ }
type GetCurrentLogierMenusQuery = Record<string, any>;
@@ -1631,6 +1799,27 @@
enterpriseSignContractTime?: string;
}
+ type GetEnterpriseLoginInfoQuery = Record<string, any>;
+
+ interface GetEnterpriseLoginInfoQueryResult {
+ /** Id */
+ id?: string;
+ /** 澶村儚 */
+ avatar?: string;
+ /** 濮撳悕 */
+ name?: string;
+ /** 浼佷笟鍏ㄧО */
+ enterpriseName?: string;
+ /** 瑙掕壊 */
+ roles?: string[];
+ /** 鏄惁瀹炲悕 */
+ isReal?: boolean;
+ /** 鎴戠殑鏀惰棌 */
+ collectUsers?: number;
+ /** 鑱旂郴璁板綍 */
+ contactRecords?: number;
+ }
+
interface GetEnterpriseQueryResult {
/** Id */
id?: string;
@@ -1823,6 +2012,28 @@
sort?: number;
/** 澶囨敞 */
remark?: string;
+ }
+
+ interface GetOpenTaskInfosQuery {
+ /** 鍏抽敭瀛楋紙浠诲姟鍚嶇О锛� */
+ keywords?: string;
+ /** 浼佷笟Id */
+ enterpriseId?: string;
+ /** 鍙戝竷鏃堕棿-寮�濮� */
+ beginTime?: string;
+ /** 鍙戝竷鏃堕棿-缁撴潫 */
+ endTime?: string;
+ /** 浠诲姟鍦扮偣鎵�灞炲煄甯傜紪鍙� */
+ cityCode?: string;
+ settlementCycle?: EnumSettlementCycle;
+ /** 鍛樺伐绂忓埄 */
+ benefitCodes?: string[];
+ genderLimit?: EnumUserGender;
+ status?: EnumTaskStatus;
+ releaseStatus?: EnumTaskReleaseStatus;
+ recommendStatus?: EnumTaskRecommendStatus;
+ checkReceiveStatus?: EnumTaskCheckReceiveStatus;
+ pageModel?: PagedListQueryPageModel;
}
interface GetOperationUserInfosQuery {
@@ -2085,6 +2296,8 @@
applyCount?: number;
/** 浠诲姟鍚嶇О */
name?: string;
+ /** 浠诲姟鍗曞彿 */
+ code?: string;
billingMethod?: EnumBillingMethod;
/** 鏈嶅姟璐� */
serviceFee?: number;
@@ -2233,7 +2446,7 @@
checkReceiveStatus?: EnumTaskCheckReceiveStatus;
settlementStatus?: EnumTaskSettlementStatus;
recommendStatus?: EnumTaskRecommendStatus;
- /** 鍒涘缓鏃堕棿 */
+ /** 鍙戝竷鏃堕棿 */
createdTime?: string;
}
@@ -3084,6 +3297,13 @@
clientType?: EnumClientType;
}
+ interface SubmitCheckReceiveTaskCommand {
+ /** 浠诲姟Id */
+ taskInfoId?: string;
+ /** 闄勪欢 */
+ files?: string[];
+ }
+
type SyncHumanResourcesAreaDictionaryDataCommand = Record<string, any>;
interface UpdatePhoneNumberVerifyCodeCommand {
diff --git a/src/services/api/userResume.ts b/src/services/api/userResume.ts
index 7b9b8d6..8edd703 100644
--- a/src/services/api/userResume.ts
+++ b/src/services/api/userResume.ts
@@ -2,6 +2,36 @@
// @ts-ignore
import { request } from '@/utils/request';
+/** 鏀惰棌鐏靛伐 POST /api/user/userResume/collectUserResume */
+export async function collectUserResume(
+ body: API.CollectUserResumeCommand,
+ options?: API.RequestConfig
+) {
+ return request<string>('/api/user/userResume/collectUserResume', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json-patch+json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
+/** 鑱旂郴鐏靛伐 POST /api/user/userResume/contactUserResume */
+export async function contactUserResume(
+ body: API.ContactUserResumeCommand,
+ options?: API.RequestConfig
+) {
+ return request<string>('/api/user/userResume/contactUserResume', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json-patch+json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
/** 鍒犻櫎鐢ㄦ埛绠�鍘�-璧勬牸璇佷功 DELETE /api/user/userResume/deleteUserResumeCredential */
export async function deleteUserResumeCredential(
body: API.DeleteUserResumeCredentialCommand,
diff --git a/src/views/EmploymentManage/CheckManage.vue b/src/views/EmploymentManage/CheckManage.vue
index 71f634c..a6c7c31 100644
--- a/src/views/EmploymentManage/CheckManage.vue
+++ b/src/views/EmploymentManage/CheckManage.vue
@@ -5,11 +5,8 @@
<template #query>
<QueryFilterItem tip-content="楠屾敹鐘舵��">
<FieldRadio
- v-model="extraParamState.flexEnterpriseSettingStatus"
- :value-enum="[
- { label: '宸插畨鎺�', value: 1 },
- { label: '寰呭畨鎺�', value: 0 },
- ]"
+ v-model="extraParamState.checkReceiveStatus"
+ :value-enum="EnumTaskCheckReceiveStatusText"
buttonStyle
showAllBtn
@change="getList()"
@@ -17,7 +14,7 @@
</QueryFilterItem>
<QueryFilterItem>
<FieldDatePicker
- v-model="extraParamState.flexEnterpriseSettingStatus"
+ v-model="extraParamState.checkReceiveTime"
type="daterange"
range-separator="~"
start-placeholder="璧峰鏃ユ湡"
@@ -46,7 +43,6 @@
>
</ProTableV2>
</AppContainer>
- <CheckManageDialog v-bind="dialogProps" @check="handleCheck" />
</LoadingLayout>
</template>
@@ -65,8 +61,10 @@
useFormDialog,
} from '@bole-core/components';
import { CheckManageColumns } from './constants';
-import { EnumUserGender } from '@/constants';
-import CheckManageDialog from './components/CheckManageDialog.vue';
+import * as taskCheckReceiveServices from '@/services/api/taskCheckReceive';
+import { ModelValueType } from 'element-plus';
+import { format } from '@/utils';
+import { EnumTaskCheckReceiveStatusText } from '@/constants';
defineOptions({
name: 'CheckManage',
@@ -75,20 +73,24 @@
const operationBtns = defineOperationBtns([
{
data: {
- enCode: 'checkBtn',
- name: '楠屾敹',
- },
- emits: {
- onClick: (role) => openDialog(role, 'check'),
- },
- },
- {
- data: {
enCode: 'detailBtn',
name: '璇︽儏',
},
emits: {
- onClick: (role) => openDialog(role, 'detail'),
+ onClick: (role) => goCheckReceiveTaskDetail(role),
+ },
+ },
+ {
+ data: {
+ enCode: 'exportBtn',
+ name: '瀵煎嚭',
+ },
+ emits: {
+ onClick: (role) => handleExport(role),
+ },
+ extraProps: {
+ hide: (row: API.GetCheckReceiveTasksQueryResultItem) =>
+ row.checkReceiveStatus !== EnumTaskCheckReceiveStatus.Completed,
},
},
]);
@@ -100,6 +102,12 @@
};
const state = reactive({ ...BaseState });
+
+const eventContext = useGlobalEventContext();
+
+eventContext.addEvent('checkReceiveTask', () => {
+ getList(paginationState.pageIndex);
+});
onMounted(async () => {
await getList();
@@ -115,17 +123,25 @@
} = useTable(
async ({ pageIndex, pageSize }, extraParamState) => {
try {
- let params: API.GetFlexEnterpriseInput = {
+ let params: API.GetCheckReceiveTasksQuery = {
pageModel: {
rows: pageSize,
page: pageIndex,
orderInput: extraParamState.orderInput,
},
- flexEnterpriseSettingStatus: extraParamState.flexEnterpriseSettingStatus,
- searchWord: extraParamState.searchWord,
+ checkReceiveStatus: extraParamState.checkReceiveStatus,
+ checkReceiveTimeBegin: format(
+ extraParamState.checkReceiveTime?.[0] ?? '',
+ 'YYYY-MM-DD 00:00:00'
+ ),
+ checkReceiveTimeEnd: format(
+ extraParamState.checkReceiveTime?.[1] ?? '',
+ 'YYYY-MM-DD 23:59:59'
+ ),
+ keywords: extraParamState.searchWord,
};
- let res = await flexEnterpriseServices.getFlexEnterpriseList(params, {
+ let res = await taskCheckReceiveServices.getCheckReceiveTasks(params, {
showLoading: !state.loading,
});
return res;
@@ -137,29 +153,36 @@
defaultExtraParams: {
searchWord: '',
orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
- flexEnterpriseSettingStatus: '' as any,
+ checkReceiveStatus: '' as any as EnumTaskCheckReceiveStatus,
+ checkReceiveTime: [] as unknown as ModelValueType,
},
- queryKey: ['flexEnterpriseServices/getFlexEnterpriseList'],
- columnsRenderProps: {},
+ queryKey: ['taskCheckReceiveServices/getCheckReceiveTasks'],
+ columnsRenderProps: {
+ checkReceiveStatus: { type: 'enum', valueEnum: EnumTaskCheckReceiveStatusText },
+ billingMethod: { type: 'enum', valueEnum: EnumBillingMethodText },
+ serviceFee: {
+ type: 'money',
+ formatter: (row) => {
+ return `${row.serviceFee}${EnumBillingMethodUnitText[row.billingMethod]}`;
+ },
+ },
+ settlementCycle: { type: 'enum', valueEnum: EnumSettlementCycleText },
+ createdTime: { type: 'date', format: 'YYYY-MM-DD' },
+ beginTime: { type: 'date', format: 'YYYY-MM-DD' },
+ endTime: { type: 'date', format: 'YYYY-MM-DD' },
+ lastCheckReceiveTime: { type: 'date' },
+ },
}
);
-const { dialogProps, dialogState, handleEdit, editForm } = useFormDialog({
- defaultFormParams: {
- id: '',
- type: '',
- },
-});
-
-function openDialog(row, type: string) {
- handleEdit({
- id: row.id,
- type: type,
+function goCheckReceiveTaskDetail(row: API.GetCheckReceiveTasksQueryResultItem) {
+ router.push({
+ name: 'CheckReceiveTaskDetail',
+ params: {
+ id: row.id ?? '',
+ },
});
}
-function handleCheck(val) {
- console.log('val: ', val);
- dialogState.dialogVisible = false;
-}
+function handleExport(row: API.GetCheckReceiveTasksQueryResultItem) {}
</script>
diff --git a/src/views/EmploymentManage/CheckReceiveTaskDetail.vue b/src/views/EmploymentManage/CheckReceiveTaskDetail.vue
new file mode 100644
index 0000000..d52653d
--- /dev/null
+++ b/src/views/EmploymentManage/CheckReceiveTaskDetail.vue
@@ -0,0 +1,186 @@
+<template>
+ <LoadingLayout :loading="state.loading">
+ <AppContainer>
+ <el-card class="query-filter-bar-wrapper" shadow="never">
+ <ProForm :model="taskInfo" is-read>
+ <ProFormCol>
+ <ProFormColItem :span="8">
+ <ProFormItemV2 label="浠诲姟鍚嶇О:">
+ {{ taskInfo.name ?? '' }}
+ </ProFormItemV2>
+ </ProFormColItem>
+ <ProFormColItem :span="8">
+ <ProFormItemV2 label="浠诲姟缂栧彿:">
+ {{ taskInfo.code ?? '' }}
+ </ProFormItemV2>
+ </ProFormColItem>
+ <ProFormColItem :span="8">
+ <ProFormItemV2 label="鏈嶅姟璐归噾棰�:">
+ {{ `${taskInfo.serviceFee}${EnumBillingMethodUnitText[taskInfo.billingMethod]}` }}
+ </ProFormItemV2>
+ </ProFormColItem>
+ </ProFormCol>
+ <ProFormCol>
+ <ProFormColItem :span="8">
+ <ProFormItemV2 label="鍙戝竷鏃ユ湡:">
+ {{ dayjs(taskInfo.createdTime ?? '').format('YYYY-MM-DD') }}
+ </ProFormItemV2>
+ </ProFormColItem>
+ <ProFormColItem :span="8">
+ <ProFormItemV2 label="寮�濮嬫棩鏈�:">
+ {{ dayjs(taskInfo.beginTime ?? '').format('YYYY-MM-DD') }}
+ </ProFormItemV2>
+ </ProFormColItem>
+ <ProFormColItem :span="8">
+ <ProFormItemV2 label="鍙戝竷鏃ユ湡:">
+ {{ dayjs(taskInfo.endTime ?? '').format('YYYY-MM-DD') }}
+ </ProFormItemV2>
+ </ProFormColItem>
+ </ProFormCol>
+ </ProForm>
+ </el-card>
+
+ <ProTableV2
+ v-bind="proTableProps"
+ :columns="CheckReceiveTaskDetailColumns"
+ :operationBtns="operationBtns"
+ >
+ </ProTableV2>
+ </AppContainer>
+ <CheckManageDialog v-bind="dialogProps" />
+ </LoadingLayout>
+</template>
+
+<script setup lang="ts">
+import {
+ ProTableV2,
+ LoadingLayout,
+ AppContainer,
+ useTable,
+ useFormDialog,
+ defineOperationBtns,
+ ProForm,
+ ProFormCol,
+ ProFormColItem,
+ ProFormItemV2,
+ ProTableQueryFilterBar,
+} from '@bole-core/components';
+import * as taskCheckReceiveServices from '@/services/api/taskCheckReceive';
+import * as taskServices from '@/services/api/task';
+import { useQuery } from '@tanstack/vue-query';
+import { CheckReceiveTaskDetailColumns } from './constants';
+import { EnumBillingMethodUnitText } from '@/constants';
+import dayjs from 'dayjs';
+import CheckManageDialog from './components/CheckManageDialog.vue';
+
+defineOptions({
+ name: 'CheckReceiveTaskDetail',
+});
+
+const operationBtns = defineOperationBtns([
+ {
+ data: {
+ enCode: 'exportBtn',
+ name: '楠屾敹',
+ },
+ emits: {
+ onClick: (role) => openDialog(role),
+ },
+ extraProps: {
+ hide: (row: API.GetCheckReceiveTaskQueryResultItem) =>
+ row.checkReceiveStatus !== EnumTaskCheckReceiveStatus.WaitCheckReceive,
+ },
+ },
+ {
+ data: {
+ enCode: 'detailBtn',
+ name: '璇︽儏',
+ },
+ emits: {
+ onClick: (role) => openDialog(role, true),
+ },
+ },
+]);
+
+const route = useRoute();
+const id = (route.params.id as string) ?? '';
+
+const { data: taskInfo } = useQuery({
+ queryKey: ['taskServices/getTaskInfo', id],
+ queryFn: () => {
+ return taskServices.getTaskInfo(
+ { id: id },
+ {
+ showLoading: false,
+ }
+ );
+ },
+ placeholderData: () => ({} as API.GetTaskInfoQueryResult),
+});
+
+const BaseState = {
+ loading: true,
+};
+
+const state = reactive({ ...BaseState });
+
+const eventContext = useGlobalEventContext();
+
+eventContext.addEvent('checkReceiveTask', () => {
+ getList(paginationState.pageIndex);
+});
+
+onMounted(async () => {
+ await getList();
+ state.loading = false;
+});
+
+const {
+ getDataSource: getList,
+ proTableProps,
+ paginationState,
+ extraParamState,
+ reset,
+} = useTable(
+ async ({ pageIndex, pageSize }, extraParamState) => {
+ try {
+ let params: API.GetCheckReceiveTaskQuery = {
+ pageModel: {
+ rows: pageSize,
+ page: pageIndex,
+ },
+ taskInfoId: id,
+ };
+
+ let res = await taskCheckReceiveServices.getCheckReceiveTask(params, {
+ showLoading: !state.loading,
+ });
+ return res;
+ } catch (error) {}
+ },
+ {
+ defaultExtraParams: {
+ keyword: '',
+ },
+ columnsRenderProps: {
+ gender: { type: 'enum', valueEnum: EnumUserGenderTextForPerson },
+ lastSubmitTime: { type: 'date' },
+ checkReceiveStatus: { type: 'enum', valueEnum: EnumTaskCheckReceiveStatusText },
+ },
+ }
+);
+
+function openDialog(row: API.GetCheckReceiveTaskQueryResultItem, isDetail = false) {
+ handleEdit({
+ id: row.id,
+ isDetail,
+ });
+}
+
+const { dialogProps, handleEdit } = useFormDialog({
+ defaultFormParams: {
+ id: '',
+ isDetail: false,
+ },
+});
+</script>
diff --git a/src/views/EmploymentManage/components/CheckManageDialog.vue b/src/views/EmploymentManage/components/CheckManageDialog.vue
index 1c93c62..af00716 100644
--- a/src/views/EmploymentManage/components/CheckManageDialog.vue
+++ b/src/views/EmploymentManage/components/CheckManageDialog.vue
@@ -6,13 +6,7 @@
</ProDialogTableWrapper>
<template #footer>
<span class="dialog-footer">
- <el-button v-if="form.type === 'detail'" @click="emit('onCancel')" type="primary"
- >纭畾</el-button
- >
- <template v-if="form.type === 'check'">
- <el-button @click="emit('check', false)">楠屾敹鏈�氳繃</el-button>
- <el-button type="primary" @click="emit('check', true)">楠屾敹閫氳繃</el-button>
- </template>
+ <el-button @click="emit('onCancel')" type="primary">纭畾</el-button>
</span>
</template>
</ProDialog>
@@ -27,6 +21,10 @@
defineOperationBtns,
useTable,
} from '@bole-core/components';
+import * as taskCheckReceiveServices from '@/services/api/taskCheckReceive';
+import { setOSSLink } from '@/utils';
+import { downloadWithZip, Message } from '@bole-core/core';
+import { useGlobalEventContext } from '@/hooks';
defineOptions({
name: 'EnterpriseConsumptionDetailDialog',
@@ -34,31 +32,74 @@
type Form = {
id: string;
- type: string;
+ isDetail: boolean;
};
const visible = defineModel({ type: Boolean });
const form = defineModel<Form>('form');
-const title = computed(() => (form.value.type === 'check' ? '楠屾敹' : '璇︽儏'));
+const title = computed(() => (form.value.isDetail ? '璇︽儏' : '楠屾敹'));
const emit = defineEmits<{
(e: 'onCancel'): void;
- (e: 'check', value: boolean): void;
}>();
+
+const eventContext = useGlobalEventContext();
const columns = defineColumns([
{
id: '1',
- enCode: 'creationTime',
+ enCode: 'createdTime',
name: '鎻愪氦鏃堕棿',
},
{
id: '2',
- enCode: 'type',
+ enCode: 'files',
name: '楠屾敹鐓х墖',
+ },
+ {
+ id: '3',
+ enCode: 'checkReceiveStatus',
+ name: '楠屾敹鐘舵��',
+ },
+ {
+ id: '4',
+ enCode: 'checkReceiveTime',
+ name: '楠屾敹鏃堕棿',
},
]);
const operationBtns = defineOperationBtns([
+ {
+ data: {
+ enCode: 'checkReceiveBtn',
+ name: '楠屾敹閫氳繃',
+ },
+ emits: {
+ onClick: (role) => checkReceiveTask(role, EnumTaskUserSubmitCheckReceiveStatus.Success),
+ },
+ extraProps: {
+ hide: (row: API.GetCheckReceiveTaskUserSubmitsQueryResultItem) =>
+ !(
+ row.checkReceiveStatus === EnumTaskUserSubmitCheckReceiveStatus.WaitSubmit ||
+ row.checkReceiveStatus === EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive
+ ) || form.value.isDetail,
+ },
+ },
+ {
+ data: {
+ enCode: 'checkReceiveBtn',
+ name: '楠屾敹鏈�氳繃',
+ },
+ emits: {
+ onClick: (role) => checkReceiveTask(role, EnumTaskUserSubmitCheckReceiveStatus.Fail),
+ },
+ extraProps: {
+ hide: (row: API.GetCheckReceiveTaskUserSubmitsQueryResultItem) =>
+ !(
+ row.checkReceiveStatus === EnumTaskUserSubmitCheckReceiveStatus.WaitSubmit ||
+ row.checkReceiveStatus === EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive
+ ) || form.value.isDetail,
+ },
+ },
{
data: {
enCode: 'downloadBtn',
@@ -71,10 +112,12 @@
]);
watch(
- () => visible.value,
+ visible,
(val) => {
if (val) {
- getList();
+ if (form.value.id) {
+ getList();
+ }
}
},
{
@@ -91,14 +134,15 @@
} = useTable(
async ({ pageIndex, pageSize }, extraParamState) => {
try {
- let params: API.GetFlexEnterpriseInput = {
+ let params: API.GetCheckReceiveTaskUserSubmitsQuery = {
pageModel: {
rows: pageSize,
page: pageIndex,
orderInput: extraParamState.orderInput,
},
+ id: form.value.id,
};
- let res = await flexEnterpriseServices.getFlexEnterpriseList(params);
+ let res = await taskCheckReceiveServices.getCheckReceiveTaskUserSubmits(params);
return res;
} catch (error) {
console.log('error: ', error);
@@ -108,14 +152,48 @@
defaultExtraParams: {
orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
},
- queryKey: ['flexEnterpriseServices/getFlexEnterpriseList'],
- columnsRenderProps: {},
+ queryKey: ['taskCheckReceiveServices/getCheckReceiveTaskUserSubmits'],
+ columnsRenderProps: {
+ createdTime: { type: 'date' },
+ checkReceiveTime: { type: 'date' },
+ checkReceiveStatus: { type: 'enum', valueEnum: EnumTaskUserSubmitCheckReceiveStatusText },
+ files: {
+ type: 'url',
+ //@ts-ignore
+ formatter: (row: API.GetCheckReceiveTaskUserSubmitsQueryResultItem) =>
+ (row.files ?? []).map((x) => setOSSLink(x)),
+ showDownloadBtn: false,
+ },
+ },
}
);
-function handleDownload(row) {}
-</script>
+function handleDownload(row: API.GetCheckReceiveTaskUserSubmitsQueryResultItem) {
+ if (row.files?.length > 0) {
+ downloadWithZip(
+ row.files.map((x) => ({
+ data: setOSSLink(x),
+ })),
+ '楠屾敹鐓х墖'
+ );
+ }
+}
-<style lang="scss" scoped>
-@use '@/style/common.scss' as *;
-</style>
+async function checkReceiveTask(
+ row: API.GetCheckReceiveTaskUserSubmitsQueryResultItem,
+ checkReceiveStatus: EnumTaskUserSubmitCheckReceiveStatus
+) {
+ try {
+ let params: API.CheckReceiveTaskCommand = {
+ id: row.id,
+ checkReceiveStatus: checkReceiveStatus,
+ };
+ let res = await taskCheckReceiveServices.checkReceiveTask(params);
+ if (res) {
+ Message.successMessage('鎿嶄綔鎴愬姛');
+ getList(paginationState.pageIndex);
+ eventContext.emit('checkReceiveTask');
+ }
+ } catch (error) {}
+}
+</script>
diff --git a/src/views/EmploymentManage/constants/columns.ts b/src/views/EmploymentManage/constants/columns.ts
index 97c074b..b20138e 100644
--- a/src/views/EmploymentManage/constants/columns.ts
+++ b/src/views/EmploymentManage/constants/columns.ts
@@ -138,41 +138,99 @@
{
id: '1',
enCode: 'name',
+ name: '浠诲姟鍚嶇О',
+ },
+ {
+ id: '2',
+ enCode: 'code',
+ name: '浠诲姟鍗曞彿',
+ },
+ {
+ id: '3',
+ enCode: 'billingMethod',
+ name: '缁撶畻鍛ㄦ湡',
+ },
+ {
+ id: '4',
+ enCode: 'serviceFee',
+ name: '鏈嶅姟璐归噾棰�',
+ },
+ {
+ id: '5',
+ enCode: 'settlementCycle',
+ name: '缁撶畻鏂瑰紡',
+ },
+ {
+ id: '6',
+ enCode: 'createdTime',
+ name: '鍙戝竷鏃ユ湡',
+ },
+ {
+ id: '6-1',
+ enCode: 'beginTime',
+ name: '寮�濮嬫棩鏈�',
+ },
+ {
+ id: '7',
+ enCode: 'endTime',
+ name: '缁撴潫鏃ユ湡',
+ },
+ {
+ id: '8',
+ enCode: 'checkReceiveStatus',
+ name: '浠诲姟楠屾敹鐘舵��',
+ },
+ {
+ id: '9',
+ enCode: 'lastCheckReceiveTime',
+ name: '鏈�杩戦獙鏀舵椂闂�',
+ },
+]);
+
+export const CheckReceiveTaskDetailColumns = defineColumns([
+ {
+ id: '1',
+ enCode: 'name',
name: '濮撳悕',
},
{
id: '2',
- enCode: 'name',
+ enCode: 'identity',
name: '韬唤璇佸彿',
},
{
id: '3',
- enCode: 'name',
+ enCode: 'gender',
name: '鎬у埆',
},
{
id: '4',
- enCode: 'name',
+ enCode: 'age',
name: '骞撮緞',
},
{
id: '5',
- enCode: 'name',
+ enCode: 'contactPhoneNumber',
name: '鎵嬫満鍙�',
},
{
id: '6',
- enCode: 'name',
- name: '鎵�灞炲鎴�',
+ enCode: 'taskInfoName',
+ name: '浠诲姟鍚嶇О',
},
{
id: '7',
- enCode: 'name',
- name: '鎻愪氦鏃堕棿',
+ enCode: 'taskInfoCode',
+ name: '浠诲姟缂栧彿',
},
{
id: '8',
- enCode: 'name',
- name: '楠屾敹鐘舵��',
+ enCode: 'lastSubmitTime',
+ name: '鏈�杩戞彁浜ゆ椂闂�',
+ },
+ {
+ id: '8',
+ enCode: 'checkReceiveStatus',
+ name: '浠诲姟楠屾敹鐘舵��',
},
]);
--
Gitblit v1.9.1