From 8319ca8d93e46780a48d6100b3804d5660fe0e7d Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期五, 05 九月 2025 13:46:08 +0800
Subject: [PATCH] feat: 页面
---
src/views/ServiceChargeManage/constants/columns.ts | 16 +-
src/views/ServiceChargeManage/ServiceChargeDetail.vue | 39 +++--
.eslintrc-auto-import.json | 2
src/services/api/codeUrl.ts | 30 ++++
src/services/api/typings.d.ts | 140 ++++++++++++++++++--
src/views/ServiceChargeManage/ServiceChargeManage.vue | 15 +
src/hooks/index.ts | 1
src/services/api/task.ts | 18 ++
src/services/api/index.ts | 2
auto-imports.d.ts | 6
src/views/ServiceChargeManage/components/UploadStatementDialog.vue | 18 ++
src/constants/apiEnum.ts | 36 +++--
src/hooks/settlement.ts | 23 +++
src/services/api/user.ts | 32 ++++
14 files changed, 316 insertions(+), 62 deletions(-)
diff --git a/.eslintrc-auto-import.json b/.eslintrc-auto-import.json
index 7afcca3..76dc90d 100644
--- a/.eslintrc-auto-import.json
+++ b/.eslintrc-auto-import.json
@@ -19,6 +19,7 @@
"EnumBillingMethodUnitText": true,
"EnumClientType": true,
"EnumClientTypeText": true,
+ "EnumCodeUrlScene": true,
"EnumContractTemplateStatus": true,
"EnumContractTemplateStatusText": true,
"EnumContractTemplateValueRecorder": true,
@@ -228,6 +229,7 @@
"useRouter": true,
"useSetReactive": true,
"useSlots": true,
+ "useTaskSelect": true,
"useTemplateRef": true,
"useUser": true,
"useVModel": true,
diff --git a/auto-imports.d.ts b/auto-imports.d.ts
index c4782fe..89831f3 100644
--- a/auto-imports.d.ts
+++ b/auto-imports.d.ts
@@ -23,6 +23,7 @@
const EnumBillingMethodUnitText: typeof import('./src/constants/task')['EnumBillingMethodUnitText']
const EnumClientType: typeof import('./src/constants/apiEnum')['EnumClientType']
const EnumClientTypeText: typeof import('./src/constants/apiEnumText')['EnumClientTypeText']
+ const EnumCodeUrlScene: typeof import('./src/constants/apiEnum')['EnumCodeUrlScene']
const EnumContractTemplateStatus: typeof import('./src/constants/apiEnum')['EnumContractTemplateStatus']
const EnumContractTemplateStatusText: typeof import('./src/constants/electronSign')['EnumContractTemplateStatusText']
const EnumContractTemplateValueRecorder: typeof import('./src/constants/apiEnum')['EnumContractTemplateValueRecorder']
@@ -221,6 +222,7 @@
const useSetReactive: typeof import('./src/hooks/global/helper')['useSetReactive']
const useSign: typeof import('./src/hooks/sign')['useSign']
const useSlots: typeof import('vue')['useSlots']
+ const useTaskSelect: typeof import('./src/hooks/settlement')['useTaskSelect']
const useTemplateRef: typeof import('vue')['useTemplateRef']
const useUser: typeof import('./src/hooks/useUser')['useUser']
const useVModel: typeof import('./src/hooks/help')['useVModel']
@@ -236,7 +238,7 @@
export type { Component, Slot, Slots, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
import('vue')
// @ts-ignore
- export type { EnumBillingMethod, EnumClientType, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumEnterpriseCostStatus, EnumEnterpriseCostType, EnumEnterpriseRealMethod, EnumEnterpriseWalletAccess, EnumEnterpriseWalletExpandindirectOrderFileType, EnumEnterpriseWalletExpandindirectOrderScene, EnumEnterpriseWalletExpandindirectOrderStatus, EnumEnterpriseWalletSignStatus, EnumEnterpriseWalletTransactionStatus, 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, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton, EnumBillingMethod, EnumClientType, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumEnterpriseCostStatus, EnumEnterpriseCostType, EnumEnterpriseRealMethod, EnumEnterpriseWalletAccess, EnumEnterpriseWalletExpandindirectOrderFileType, EnumEnterpriseWalletExpandindirectOrderScene, EnumEnterpriseWalletExpandindirectOrderStatus, EnumEnterpriseWalletSignStatus, EnumEnterpriseWalletTransactionStatus, 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, 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, EnumEnterpriseWalletTransactionStatus, 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, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton, EnumBillingMethod, EnumClientType, EnumCodeUrlScene, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumEnterpriseCostStatus, EnumEnterpriseCostType, EnumEnterpriseRealMethod, EnumEnterpriseWalletAccess, EnumEnterpriseWalletExpandindirectOrderFileType, EnumEnterpriseWalletExpandindirectOrderScene, EnumEnterpriseWalletExpandindirectOrderStatus, EnumEnterpriseWalletSignStatus, EnumEnterpriseWalletTransactionStatus, 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, 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'
@@ -284,6 +286,7 @@
readonly EnumBillingMethodUnitText: UnwrapRef<typeof import('./src/constants/task')['EnumBillingMethodUnitText']>
readonly EnumClientType: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumClientType']>
readonly EnumClientTypeText: UnwrapRef<typeof import('./src/constants/apiEnumText')['EnumClientTypeText']>
+ readonly EnumCodeUrlScene: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumCodeUrlScene']>
readonly EnumContractTemplateStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumContractTemplateStatus']>
readonly EnumContractTemplateStatusText: UnwrapRef<typeof import('./src/constants/electronSign')['EnumContractTemplateStatusText']>
readonly EnumContractTemplateValueRecorder: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumContractTemplateValueRecorder']>
@@ -473,6 +476,7 @@
readonly useRouter: UnwrapRef<typeof import('vue-router')['useRouter']>
readonly useSetReactive: UnwrapRef<typeof import('./src/hooks/global/helper')['useSetReactive']>
readonly useSlots: UnwrapRef<typeof import('vue')['useSlots']>
+ readonly useTaskSelect: UnwrapRef<typeof import('./src/hooks/settlement')['useTaskSelect']>
readonly useTemplateRef: UnwrapRef<typeof import('vue')['useTemplateRef']>
readonly useUser: UnwrapRef<typeof import('./src/hooks/useUser')['useUser']>
readonly useVModel: UnwrapRef<typeof import('./src/hooks/help')['useVModel']>
diff --git a/src/constants/apiEnum.ts b/src/constants/apiEnum.ts
index 281da50..9f228cf 100644
--- a/src/constants/apiEnum.ts
+++ b/src/constants/apiEnum.ts
@@ -21,6 +21,12 @@
Wxmp = 20,
}
+/** 缂栧彿鍦板潃鍦烘櫙 */
+export enum EnumCodeUrlScene {
+ /**绛剧害鍦板潃 */
+ ElectronSignUrl = 10,
+}
+
/** 鍚堝悓鍒剁増鐘舵�� */
export enum EnumContractTemplateStatus {
/**寰呭埗鐗� */
@@ -293,34 +299,36 @@
FlexJobServerTaskUser = 2,
/**浠诲姟楠屾敹 */
FlexJobServerTaskCheckReceive = 3,
+ /**缂栧彿鍦板潃 */
+ CommonServerCodeUrls = 4,
/**鏂囦欢 */
- CommonServerFileUtils = 4,
+ CommonServerFileUtils = 5,
/**鏂囧瓧璇嗗埆 */
- CommonServerOcrUtils = 5,
+ CommonServerOcrUtils = 6,
/**鏃ュ織璁板綍 */
- CommonServerLogRecords = 6,
+ CommonServerLogRecords = 7,
/**鐢ㄦ埛璁よ瘉 */
- UserServerAuth = 7,
+ UserServerAuth = 8,
/**鐢ㄦ埛鑿滃崟 */
- UserServerMenu = 8,
+ UserServerMenu = 9,
/**鐢ㄦ埛璧勬簮 */
- UserServerResource = 9,
+ UserServerResource = 10,
/**鐢ㄦ埛瑙掕壊 */
- UserServerRole = 10,
+ UserServerRole = 11,
/**鐢ㄦ埛淇℃伅 */
- UserServerUser = 11,
+ UserServerUser = 12,
/**鐢靛瓙绛� */
- UserServerElectronSign = 12,
+ UserServerElectronSign = 13,
/**鐢ㄦ埛绠�鍘� */
- UserServerUserResume = 13,
+ UserServerUserResume = 14,
/**浼佷笟淇℃伅 */
- UserServerEnterprise = 14,
+ UserServerEnterprise = 15,
/**浼佷笟閽卞寘 */
- UserServerEnterpriseWallet = 15,
+ UserServerEnterpriseWallet = 16,
/**鐏靛伐淇℃伅 */
- UserServerEnterpriseEmployee = 16,
+ UserServerEnterpriseEmployee = 17,
/**鐢靛瓙绛� */
- ElectronSignServerElectronSign = 17,
+ ElectronSignServerElectronSign = 18,
}
/** 璧勬簮璇锋眰鏂瑰紡 */
diff --git a/src/hooks/index.ts b/src/hooks/index.ts
index e79975f..bf536bc 100644
--- a/src/hooks/index.ts
+++ b/src/hooks/index.ts
@@ -9,3 +9,4 @@
export * from './menu';
export * from './dic';
export * from './sign';
+export * from './settlement';
diff --git a/src/hooks/settlement.ts b/src/hooks/settlement.ts
new file mode 100644
index 0000000..afc6f9c
--- /dev/null
+++ b/src/hooks/settlement.ts
@@ -0,0 +1,23 @@
+import { useQuery, useQueryClient } from '@tanstack/vue-query';
+import * as taskServices from '@/services/api/task';
+
+export function useTaskSelect() {
+ const queryClient = useQueryClient();
+
+ const { data } = useQuery({
+ queryKey: ['taskServices/getTaskSelect'],
+ queryFn: () => {
+ return taskServices.getTaskSelect(
+ {},
+ {
+ showLoading: false,
+ }
+ );
+ },
+ placeholderData: () => [] as API.SelectOptionGuidGetTaskSelectQueryOption[],
+ });
+
+ const taskSelect = computed(() => data.value?.map((x) => x.data));
+
+ return { taskSelect };
+}
diff --git a/src/services/api/codeUrl.ts b/src/services/api/codeUrl.ts
new file mode 100644
index 0000000..481bb5b
--- /dev/null
+++ b/src/services/api/codeUrl.ts
@@ -0,0 +1,30 @@
+/* eslint-disable */
+// @ts-ignore
+import { request } from '@/utils/request';
+
+/** 鏌ヨ缂栧彿鍦板潃 GET /api/common/codeUrl/getCodeUrl */
+export async function getCodeUrl(
+ // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+ params: API.APIgetCodeUrlParams,
+ options?: API.RequestConfig
+) {
+ return request<string>('/api/common/codeUrl/getCodeUrl', {
+ method: 'GET',
+ params: {
+ ...params,
+ },
+ ...(options || {}),
+ });
+}
+
+/** 淇濆瓨缂栧彿鍦板潃 POST /api/common/codeUrl/saveCodeUrl */
+export async function saveCodeUrl(body: API.SaveCodeUrlCommand, options?: API.RequestConfig) {
+ return request<string>('/api/common/codeUrl/saveCodeUrl', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json-patch+json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
diff --git a/src/services/api/index.ts b/src/services/api/index.ts
index 76b273c..1c75685 100644
--- a/src/services/api/index.ts
+++ b/src/services/api/index.ts
@@ -11,6 +11,7 @@
import * as resource from './resource';
import * as dictionary from './dictionary';
import * as enterpriseWallet from './enterpriseWallet';
+import * as codeUrl from './codeUrl';
import * as electronSign from './electronSign';
import * as userResume from './userResume';
import * as auth from './auth';
@@ -29,6 +30,7 @@
resource,
dictionary,
enterpriseWallet,
+ codeUrl,
electronSign,
userResume,
auth,
diff --git a/src/services/api/task.ts b/src/services/api/task.ts
index 573a56e..06e974f 100644
--- a/src/services/api/task.ts
+++ b/src/services/api/task.ts
@@ -155,6 +155,24 @@
});
}
+/** 鏌ヨ浠诲姟閫夋嫨鍣ㄦ暟鎹� GET /api/flexjob/task/getTaskSelect */
+export async function getTaskSelect(
+ // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+ params: API.APIgetTaskSelectParams,
+ options?: API.RequestConfig
+) {
+ return request<API.SelectOptionGuidGetTaskSelectQueryOption[]>(
+ '/api/flexjob/task/getTaskSelect',
+ {
+ method: 'GET',
+ params: {
+ ...params,
+ },
+ ...(options || {}),
+ }
+ );
+}
+
/** 鎾ゅ洖缁撶畻 POST /api/flexjob/task/revokeTaskSettlementOrder */
export async function revokeTaskSettlementOrder(
body: API.RevokeTaskSettlementOrderCommand,
diff --git a/src/services/api/typings.d.ts b/src/services/api/typings.d.ts
index a904276..0a699bf 100644
--- a/src/services/api/typings.d.ts
+++ b/src/services/api/typings.d.ts
@@ -29,6 +29,13 @@
date?: string;
}
+ interface APIgetCodeUrlParams {
+ /** 鍦烘櫙 */
+ scene?: EnumCodeUrlScene;
+ /** 缂栧彿 */
+ code?: string;
+ }
+
interface APIgetContractTemplateParams {
/** 妯℃澘Id */
id?: string;
@@ -146,6 +153,11 @@
request?: GetPersonalLoginInfoQuery;
}
+ interface APIgetPersonalUserBankCardParams {
+ /** 鏌ヨ涓汉鐢ㄦ埛閾惰鍗′俊鎭� */
+ request?: GetPersonalUserBankCardQuery;
+ }
+
interface APIgetPersonalUserElectronSignParams {
/** 鐏靛伐Id */
id?: string;
@@ -202,6 +214,11 @@
interface APIgetTaskInfoParams {
/** Id */
id?: string;
+ }
+
+ interface APIgetTaskSelectParams {
+ /** 鍏抽敭瀛� */
+ keywords?: string;
}
interface APIgetTaskUserHireStatusParams {
@@ -493,6 +510,11 @@
Wxmp = 20,
}
+ enum EnumCodeUrlScene {
+ /**绛剧害鍦板潃 */
+ ElectronSignUrl = 10,
+ }
+
enum EnumContractTemplateStatus {
/**寰呭埗鐗� */
Wait = 10,
@@ -738,34 +760,36 @@
FlexJobServerTaskUser = 2,
/**浠诲姟楠屾敹 */
FlexJobServerTaskCheckReceive = 3,
+ /**缂栧彿鍦板潃 */
+ CommonServerCodeUrls = 4,
/**鏂囦欢 */
- CommonServerFileUtils = 4,
+ CommonServerFileUtils = 5,
/**鏂囧瓧璇嗗埆 */
- CommonServerOcrUtils = 5,
+ CommonServerOcrUtils = 6,
/**鏃ュ織璁板綍 */
- CommonServerLogRecords = 6,
+ CommonServerLogRecords = 7,
/**鐢ㄦ埛璁よ瘉 */
- UserServerAuth = 7,
+ UserServerAuth = 8,
/**鐢ㄦ埛鑿滃崟 */
- UserServerMenu = 8,
+ UserServerMenu = 9,
/**鐢ㄦ埛璧勬簮 */
- UserServerResource = 9,
+ UserServerResource = 10,
/**鐢ㄦ埛瑙掕壊 */
- UserServerRole = 10,
+ UserServerRole = 11,
/**鐢ㄦ埛淇℃伅 */
- UserServerUser = 11,
+ UserServerUser = 12,
/**鐢靛瓙绛� */
- UserServerElectronSign = 12,
+ UserServerElectronSign = 13,
/**鐢ㄦ埛绠�鍘� */
- UserServerUserResume = 13,
+ UserServerUserResume = 14,
/**浼佷笟淇℃伅 */
- UserServerEnterprise = 14,
+ UserServerEnterprise = 15,
/**浼佷笟閽卞寘 */
- UserServerEnterpriseWallet = 15,
+ UserServerEnterpriseWallet = 16,
/**鐏靛伐淇℃伅 */
- UserServerEnterpriseEmployee = 16,
+ UserServerEnterpriseEmployee = 17,
/**鐢靛瓙绛� */
- ElectronSignServerElectronSign = 17,
+ ElectronSignServerElectronSign = 18,
}
enum EnumResourceMethod {
@@ -1490,6 +1514,24 @@
timestamp?: number;
}
+ interface FriendlyResultGetPersonalUserBankCardQueryResult {
+ /** 璺熻釜Id */
+ traceId?: string;
+ /** 鐘舵�佺爜 */
+ code?: number;
+ /** 閿欒鐮� */
+ errorCode?: string;
+ data?: GetPersonalUserBankCardQueryResult;
+ /** 鎵ц鎴愬姛 */
+ success?: boolean;
+ /** 閿欒淇℃伅 */
+ msg?: any;
+ /** 闄勫姞鏁版嵁 */
+ extras?: any;
+ /** 鏃堕棿鎴� */
+ timestamp?: number;
+ }
+
interface FriendlyResultGetPersonalUserElectronSignQueryResult {
/** 璺熻釜Id */
traceId?: string;
@@ -2140,6 +2182,25 @@
errorCode?: string;
/** 鏁版嵁 */
data?: SelectOptionGuidGetEnterpriseContractTemplateSelectQueryOption[];
+ /** 鎵ц鎴愬姛 */
+ success?: boolean;
+ /** 閿欒淇℃伅 */
+ msg?: any;
+ /** 闄勫姞鏁版嵁 */
+ extras?: any;
+ /** 鏃堕棿鎴� */
+ timestamp?: number;
+ }
+
+ interface FriendlyResultListSelectOptionGuidGetTaskSelectQueryOption {
+ /** 璺熻釜Id */
+ traceId?: string;
+ /** 鐘舵�佺爜 */
+ code?: number;
+ /** 閿欒鐮� */
+ errorCode?: string;
+ /** 鏁版嵁 */
+ data?: SelectOptionGuidGetTaskSelectQueryOption[];
/** 鎵ц鎴愬姛 */
success?: boolean;
/** 閿欒淇℃伅 */
@@ -3622,6 +3683,20 @@
hireRefuseTaskCount?: number;
}
+ type GetPersonalUserBankCardQuery = Record<string, any>;
+
+ interface GetPersonalUserBankCardQueryResult {
+ access?: EnumEnterpriseWalletAccess;
+ /** 閾惰鍗″彿 */
+ code?: string;
+ /** 鎵�灞為摱琛� */
+ bank?: string;
+ /** 鎵�灞炴敮琛� */
+ bankBranch?: string;
+ /** 閾惰棰勭暀鎵嬫満鍙� */
+ phoneNumber?: string;
+ }
+
interface GetPersonalUserElectronSignQueryResult {
/** 鐏靛伐Id */
id?: string;
@@ -4279,6 +4354,15 @@
stoppedReleaseCount?: number;
}
+ interface GetTaskSelectQueryOption {
+ /** 浠诲姟Id */
+ id?: string;
+ /** 浠诲姟鍗曞彿 */
+ code?: string;
+ /** 浠诲姟鍚嶇О */
+ name?: string;
+ }
+
interface GetTaskUserHireStatusQueryResult {
hireStatus?: EnumTaskUserHireStatus;
}
@@ -4813,6 +4897,14 @@
taskInfoId?: string;
}
+ interface SaveCodeUrlCommand {
+ scene?: EnumCodeUrlScene;
+ /** 鍦板潃 */
+ url?: string;
+ /** 杩囨湡鏃堕棿 */
+ expiredTime?: string;
+ }
+
interface SaveContractTemplateCommand {
/** 浼佷笟Id锛堣繍钀ョ淇濆瓨鏃讹級 */
enterpriseId?: string;
@@ -5063,6 +5155,18 @@
id?: string;
}
+ interface SavePersonalUserBankCardCommand {
+ access?: EnumEnterpriseWalletAccess;
+ /** 閾惰鍗″彿 */
+ code?: string;
+ /** 鎵�灞為摱琛� */
+ bank?: string;
+ /** 鎵�灞炴敮琛� */
+ bankBranch?: string;
+ /** 閾惰棰勭暀鎵嬫満鍙� */
+ phoneNumber?: string;
+ }
+
interface SaveRoleCommand {
/** Id */
id?: string;
@@ -5194,6 +5298,14 @@
data?: GetEnterpriseContractTemplateSelectQueryOption;
}
+ interface SelectOptionGuidGetTaskSelectQueryOption {
+ /** 鍊� */
+ value?: string;
+ /** 鏍囩 */
+ label?: string;
+ data?: GetTaskSelectQueryOption;
+ }
+
interface SelectOptionStringGetDictionaryDataSelectQueryResultOption {
/** 鍊� */
value?: string;
diff --git a/src/services/api/user.ts b/src/services/api/user.ts
index 43f20b8..99c7719 100644
--- a/src/services/api/user.ts
+++ b/src/services/api/user.ts
@@ -20,6 +20,23 @@
);
}
+/** 鏌ヨ涓汉鐢ㄦ埛閾惰鍗′俊鎭� GET /api/user/user/getPersonalUserBankCard */
+export async function getPersonalUserBankCard(
+ // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+ params: API.APIgetPersonalUserBankCardParams,
+ options?: API.RequestConfig
+) {
+ return request<API.GetPersonalUserBankCardQueryResult>('/api/user/user/getPersonalUserBankCard', {
+ method: 'GET',
+ params: {
+ ...params,
+ request: undefined,
+ ...params['request'],
+ },
+ ...(options || {}),
+ });
+}
+
/** 鏌ヨC绔汉鍛樺垎椤靛垪琛ㄦ暟鎹� POST /api/user/user/getPersonalUserInfos */
export async function getPersonalUserInfos(
body: API.GetPersonalUserInfosQuery,
@@ -68,6 +85,21 @@
});
}
+/** 淇濆瓨鐢ㄦ埛閾惰鍗′俊鎭� POST /api/user/user/savePersonalUserBankCard */
+export async function savePersonalUserBankCard(
+ body: API.SavePersonalUserBankCardCommand,
+ options?: API.RequestConfig
+) {
+ return request<string>('/api/user/user/savePersonalUserBankCard', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json-patch+json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
/** 璁剧疆鐢ㄦ埛淇℃伅瑙掕壊 PUT /api/user/user/setUserInfoRoles */
export async function setUserInfoRoles(
body: API.SetUserInfoRolesCommand,
diff --git a/src/views/ServiceChargeManage/ServiceChargeDetail.vue b/src/views/ServiceChargeManage/ServiceChargeDetail.vue
index 0e19d49..c808dc8 100644
--- a/src/views/ServiceChargeManage/ServiceChargeDetail.vue
+++ b/src/views/ServiceChargeManage/ServiceChargeDetail.vue
@@ -1,6 +1,6 @@
<template>
<LoadingLayout :loading="isLoading">
- <AppScrollContainer>
+ <AppContainer>
<ChunkCell title="缁撶畻鍗曡鎯�">
<ProForm :model="form" ref="formRef" label-width="120px" :is-read="true">
<ProFormCol>
@@ -34,12 +34,12 @@
<ProFormCol>
<ProFormColItem :span="8">
<ProFormItemV2 label="缁撶畻閲戦:" prop="settlementAmount">
- <ProFormInputNumber v-model="form.settlementAmount"> </ProFormInputNumber>
+ <ProFormText v-model="form.settlementAmount"> </ProFormText>
</ProFormItemV2>
</ProFormColItem>
<ProFormColItem :span="8">
<ProFormItemV2 label="瀹炲彂閲戦:" prop="actualSettlementAmount">
- <ProFormInputNumber v-model="form.actualSettlementAmount"> </ProFormInputNumber>
+ <ProFormText v-model="form.actualSettlementAmount"> </ProFormText>
</ProFormItemV2>
</ProFormColItem>
</ProFormCol>
@@ -67,7 +67,7 @@
</el-steps>
</div>
</ChunkCell> -->
- <ChunkCell title="缁撶畻鍚嶅崟">
+ <ChunkCell title="缁撶畻鍚嶅崟" style="flex: 1">
<ProTableQueryFilterBar @on-reset="reset">
<template #query>
<QueryFilterItem>
@@ -84,7 +84,7 @@
<ProTableV2
v-bind="proTableProps"
:columns="SettlementListColumns"
- :operationBtns="operationBtns"
+ :show-operation-column="false"
:auto-height="false"
ref="proTable"
:tableProps="{
@@ -93,19 +93,20 @@
>
</ProTableV2>
<div class="chuck-add-or-edit-actions">
- <el-button @click="handleBack">鍙栨秷</el-button>
+ <el-button class="chuck-add-or-edit-actions" @click="handleBack">鍙栨秷</el-button>
<el-button class="chuck-add-or-edit-actions" type="primary" @click="handleSubmit"
>纭</el-button
>
</div>
</ChunkCell>
- </AppScrollContainer>
+ </AppContainer>
<EditAccountInfoDialog v-bind="dialogProps"></EditAccountInfoDialog>
</LoadingLayout>
</template>
<script setup lang="ts">
import {
LoadingLayout,
+ AppContainer,
AppScrollContainer,
ChunkCell,
ProForm,
@@ -129,7 +130,7 @@
import * as taskUserServices from '@/services/api/taskUser';
import EditAccountInfoDialog from './components/EditAccountInfoDialog.vue';
import { Message } from '@bole-core/core';
-import { paginateList } from '@/utils';
+import { paginateList, setOssFileName, toThousand } from '@/utils';
defineOptions({
name: 'ServiceChargeDetail',
@@ -150,13 +151,13 @@
]);
const route = useRoute();
-const id = (route.query.id as string) ?? '';
+const id = (route.params.id as string) ?? '';
const url = (route.query.url as string) ?? '';
const form = reactive({
name: '',
- settlementAmount: 0,
- actualSettlementAmount: 0,
+ settlementAmount: '',
+ actualSettlementAmount: '',
code: '',
settlementOrderName: '',
settlementOrderTime: '',
@@ -175,10 +176,10 @@
placeholderData: () => ({} as API.GetSettlementTaskQueryResult),
onSuccess(data) {
form.name = data.name;
- form.settlementAmount = data.settlementAmount;
- form.actualSettlementAmount = data.actualSettlementAmount;
+ form.settlementAmount = toThousand(data.settlementAmount);
+ form.actualSettlementAmount = toThousand(data.actualSettlementAmount);
form.code = data.code;
- form.settlementOrderName = data.settlementOrderName;
+ form.settlementOrderName = setOssFileName(data.settlementOrderName);
form.settlementOrderTime = data.settlementOrderTime;
},
enabled: !!id,
@@ -225,7 +226,11 @@
orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
},
queryKey: ['taskUserServices/getSettlementTaskUsers'],
- columnsRenderProps: {},
+ columnsRenderProps: {
+ settlementTime: { type: 'date' },
+ settlementAmount: { type: 'money' },
+ actualSettlementAmount: { type: 'money' },
+ },
}
);
@@ -253,7 +258,9 @@
let params: API.SureTaskSettlementOrderCommand = {
taskInfoId: id,
settlementOrderUrl: url,
- taskInfoUsers: [],
+ taskInfoUsers: proTableProps.value.tableData.map(
+ (x) => ({ ...x } as API.SureTaskSettlementOrderCommandUser)
+ ),
};
let res = await taskServices.sureTaskSettlementOrder(params);
if (res) {
diff --git a/src/views/ServiceChargeManage/ServiceChargeManage.vue b/src/views/ServiceChargeManage/ServiceChargeManage.vue
index 5c3e3c1..cdc4296 100644
--- a/src/views/ServiceChargeManage/ServiceChargeManage.vue
+++ b/src/views/ServiceChargeManage/ServiceChargeManage.vue
@@ -284,7 +284,8 @@
});
async function handleAddOrEdit() {
- goDetail(editForm.id, editForm.settlementUrl[0]?.url);
+ console.log('editForm: ', editForm);
+ goDetail(editForm.id, editForm.settlementUrl[0]?.path);
}
const {
@@ -320,8 +321,8 @@
id: row.id,
name: row.name,
code: row.code,
- settlementUserCount: row.settlementUserCount,
- settlementAmount: row.settlementAmount,
+ settlementUserCount: row.settlementUserCount ?? 0,
+ settlementAmount: row.settlementAmount ?? 0,
});
}
@@ -343,16 +344,18 @@
response: UploadUserFile & { file: File & { uid: number } },
row: API.GetSettlementTasksQueryResultItem
) {
- if (response.url) {
- goDetail(row.id, response.url);
+ if (response.path) {
+ goDetail(row.id, response.path);
}
}
function goDetail(id: string, url?: string) {
router.push({
name: 'ServiceChargeDetail',
- query: {
+ params: {
id: id,
+ },
+ query: {
url: url ? url : '',
},
});
diff --git a/src/views/ServiceChargeManage/components/UploadStatementDialog.vue b/src/views/ServiceChargeManage/components/UploadStatementDialog.vue
index 7cd652e..46e8393 100644
--- a/src/views/ServiceChargeManage/components/UploadStatementDialog.vue
+++ b/src/views/ServiceChargeManage/components/UploadStatementDialog.vue
@@ -11,8 +11,10 @@
<ProFormItemV2 label="浠诲姟鍗曞彿锛�" prop="code" :check-rules="[{ message: '璇烽�夋嫨浠诲姟鍗曞彿' }]">
<ProFormSelect
v-model="form.code"
- :valueEnum="[]"
+ :valueEnum="taskSelect"
placeholder="璇烽�夋嫨浠诲姟鍗曞彿"
+ enum-value-key="id"
+ enum-label-key="code"
filterable
clearable
@change="handleCodeChange"
@@ -36,7 +38,7 @@
v-model:file-url="form.settlementUrl"
:limit="1"
:limitFileSize="10"
- accept="jpg/jpeg,png,pdf"
+ accept="xlsx,xls"
></ProFormUpload>
</ProFormItemV2>
</ProForm>
@@ -60,6 +62,7 @@
ProFormSelect,
UploadUserFile,
} from '@bole-core/components';
+import { Message } from '@bole-core/core';
defineOptions({
name: 'UploadStatementDialog',
@@ -73,6 +76,8 @@
settlementUrl: UploadUserFile[];
};
+const { taskSelect } = useTaskSelect();
+
const visible = defineModel({ type: Boolean });
const form = defineModel<Form>('form');
@@ -84,7 +89,14 @@
const dialogForm = ref<FormInstance>();
-function handleCodeChange() {}
+function handleCodeChange(value: string) {
+ if (value) {
+ form.value.name = taskSelect.value?.find((item) => item.id === value)?.name ?? '';
+ form.value.id = value;
+ } else {
+ Message.errorMessage('璇烽�夋嫨浠诲姟鍗曞彿');
+ }
+}
function onDialogClose() {
if (!dialogForm.value) return;
diff --git a/src/views/ServiceChargeManage/constants/columns.ts b/src/views/ServiceChargeManage/constants/columns.ts
index 867fec1..aecda4a 100644
--- a/src/views/ServiceChargeManage/constants/columns.ts
+++ b/src/views/ServiceChargeManage/constants/columns.ts
@@ -61,42 +61,42 @@
},
{
id: '2',
- enCode: 'name',
+ enCode: 'identity',
name: '韬唤璇佸彿',
},
{
id: '3',
- enCode: 'name',
+ enCode: 'contactPhoneNumber',
name: '鎵嬫満鍙�',
},
{
id: '4',
- enCode: 'name',
+ enCode: 'bank',
name: '鎵�灞為摱琛�',
},
{
id: '5',
- enCode: 'name',
+ enCode: 'bankBranch',
name: '鎵�灞炴敮琛�',
},
{
id: '6',
- enCode: 'name',
+ enCode: 'receiveAccount',
name: '鏀舵甯愭埛',
},
{
id: '7',
- enCode: 'signNum',
+ enCode: 'settlementAmount',
name: '缁撶畻閲戦',
},
{
id: '8',
- enCode: 'name',
+ enCode: 'actualSettlementAmount',
name: '瀹炲彂閲戦',
},
{
id: '9',
- enCode: 'name',
+ enCode: 'settlementTime',
name: '缁撶畻鏃堕棿',
},
]);
--
Gitblit v1.9.1