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