From 34e523d5ed7f25a0bc20532577ccde90386352aa Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期四, 23 十月 2025 15:22:41 +0800
Subject: [PATCH] Merge branch 'dev-2.2.3' of http://120.26.58.240:8888/r/JYBIndependentFront into dev-2.2.3
---
src/views/BalanceManage/BalanceManage.vue | 37 ++
src/hooks/useUser.ts | 10
src/services/api/typings.d.ts | 303 ++++++++++++++++++++
src/constants/customerConsume.ts | 60 ++++
src/views/BalanceManage/components/RewardGrantRecordView.vue | 6
src/views/BalanceManage/components/WithdrawalRecordView.vue | 143 ++++++++++
src/views/BalanceManage/components/PaymentRecordView.vue | 123 ++++++++
src/services/api/ParkBountyApply.ts | 81 +++++
src/views/BalanceManage/components/RechargeRecordView.vue | 18
src/views/Home/Home.vue | 3
10 files changed, 753 insertions(+), 31 deletions(-)
diff --git a/src/constants/customerConsume.ts b/src/constants/customerConsume.ts
index 9fe7902..4c10490 100644
--- a/src/constants/customerConsume.ts
+++ b/src/constants/customerConsume.ts
@@ -18,3 +18,63 @@
[FinanceTypeEnum.Recharge]: '棰勫厖鍊奸噾棰�',
[FinanceTypeEnum.PlatReward]: '骞冲彴濂栧姳',
};
+
+export enum TransferToStatusEnum {
+ /** 寰呭彂鏀�*/
+ WaitingForTransfer = 1,
+ /** 宸插彂鏀�*/
+ HasTransfer = 2,
+}
+
+export const TransferToStatusEnumText = {
+ [TransferToStatusEnum.WaitingForTransfer]: '寰呭彂鏀�',
+ [TransferToStatusEnum.HasTransfer]: '宸插彂鏀�',
+};
+
+export enum FinanceStatusEnum {
+ /** 鎷ㄤ粯寰呯櫥璁�*/
+ WaitForSettle = 1,
+ /** 鎷ㄤ粯宸茬櫥璁�*/
+ HasSettle = 2,
+ /** 宸蹭笂浼犲嚟璇�*/
+ HasBill = 3,
+}
+
+export const FinanceStatusEnumText = {
+ [FinanceStatusEnum.WaitForSettle]: '寰呮嫧浠�',
+ [FinanceStatusEnum.HasSettle]: '宸叉嫧浠�',
+ [FinanceStatusEnum.HasBill]: '宸叉嫧浠�',
+};
+
+export enum EnterpriseRechargeStatusEnum {
+ /** 寰呭鏍�*/
+ WaitCheck = 10,
+ /** 瀹℃牳閫氳繃*/
+ CheckPassed = 20,
+ /** 瀹℃牳鏈�氳繃*/
+ CheckReject = 30,
+}
+
+export const EnterpriseRechargeStatusEnumText = {
+ [EnterpriseRechargeStatusEnum.WaitCheck]: '寰呭鏍�',
+ [EnterpriseRechargeStatusEnum.CheckPassed]: '瀹℃牳閫氳繃',
+ [EnterpriseRechargeStatusEnum.CheckReject]: '瀹℃牳鏈�氳繃',
+};
+
+export const EnterpriseRechargeStatusEnumTextWithdrawal = {
+ [EnterpriseRechargeStatusEnum.WaitCheck]: '寰呭鏍�',
+ [EnterpriseRechargeStatusEnum.CheckPassed]: '宸叉嫧浠�',
+ [EnterpriseRechargeStatusEnum.CheckReject]: '瀹℃牳鏈�氳繃',
+};
+
+export enum EnterprisePrechargeInComeStatusEnum {
+ /** 鏈叆璐�*/
+ NotInCome = 10,
+ /** 宸插叆璐�*/
+ HasInCome = 20,
+}
+
+export const EnterprisePrechargeInComeStatusEnumText = {
+ [EnterprisePrechargeInComeStatusEnum.NotInCome]: '鏈叆璐�',
+ [EnterprisePrechargeInComeStatusEnum.HasInCome]: '宸插叆璐�',
+};
diff --git a/src/hooks/useUser.ts b/src/hooks/useUser.ts
index 1d23af1..d3fab41 100644
--- a/src/hooks/useUser.ts
+++ b/src/hooks/useUser.ts
@@ -2,6 +2,7 @@
import { UserUtils } from '@bole-core/core';
// import * as userRoleServices from '@/services/api/UserRole';
import * as userServices from '@/services/api/User';
+import * as ParkBountyApplyServices from '@/services/api/ParkBountyApply';
import { useQuery, useQueryClient } from '@tanstack/vue-query';
export function useIsSystemAdmin() {
@@ -16,8 +17,17 @@
const { userId, userInfo } = storeToRefs(userStore);
+ const { data: userDetail } = useQuery({
+ queryKey: ['ParkBountyApplyServices/get818UserInfo'],
+ queryFn: async () => {
+ return await ParkBountyApplyServices.get818UserInfo();
+ },
+ placeholderData: () => ({} as API.UserInfoV2),
+ });
+
return {
user: userInfo,
userId: userId,
+ userDetail: userDetail,
};
}
diff --git a/src/services/api/ParkBountyApply.ts b/src/services/api/ParkBountyApply.ts
index 44fb7c0..4d95e5d 100644
--- a/src/services/api/ParkBountyApply.ts
+++ b/src/services/api/ParkBountyApply.ts
@@ -4,7 +4,7 @@
/** 濂栧姳閲�-鍑鸿处 POST /api/ParkBountyApply/AuditParkBountyApplyTrade */
export async function auditParkBountyApplyTrade(
- body: API.AuditParkBountyTradeInput,
+ body: API.SyncAuditParkBountyTradeInput,
options?: API.RequestConfig
) {
return request<number>('/api/ParkBountyApply/AuditParkBountyApplyTrade', {
@@ -34,7 +34,7 @@
/** 濂栧姳閲�-鍑鸿处-璐㈠姟瀹℃壒 POST /api/ParkBountyApply/FinanceAuditParkBountyApplyTrade */
export async function financeAuditParkBountyApplyTrade(
- body: API.AuditParkBountyTradeInput,
+ body: API.SyncFinanceAuditParkBountyTradeInput,
options?: API.RequestConfig
) {
return request<number>('/api/ParkBountyApply/FinanceAuditParkBountyApplyTrade', {
@@ -45,6 +45,47 @@
data: body,
...(options || {}),
});
+}
+
+/** 姝ゅ鍚庣娌℃湁鎻愪緵娉ㄩ噴 GET /api/ParkBountyApply/Get818UserInfo */
+export async function get818UserInfo(options?: API.RequestConfig) {
+ return request<API.UserInfoV2>('/api/ParkBountyApply/Get818UserInfo', {
+ method: 'GET',
+ ...(options || {}),
+ });
+}
+
+/** 姝ゅ鍚庣娌℃湁鎻愪緵娉ㄩ噴 POST /api/ParkBountyApply/GetEnterpriseDrawWithList */
+export async function getEnterpriseDrawWithList(
+ body: API.GetEnterpriseDrawWithListInput,
+ options?: API.RequestConfig
+) {
+ return request<API.GetEnterpriseDrawWithListOutputPageOutput>(
+ '/api/ParkBountyApply/GetEnterpriseDrawWithList',
+ {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ }
+ );
+}
+
+/** 姝ゅ鍚庣娌℃湁鎻愪緵娉ㄩ噴 POST /api/ParkBountyApply/GetEnterprisePrechargeList */
+export async function getEnterprisePrechargeList(body: API.PageInput, options?: API.RequestConfig) {
+ return request<API.GetEnterprisePrechargeListOutputPageOutput>(
+ '/api/ParkBountyApply/GetEnterprisePrechargeList',
+ {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ }
+ );
}
/** 杩愯惀绔�-濂栧姳杩涘嚭璐﹁鎯� POST /api/ParkBountyApply/GetParkBountyTradeDetailList */
@@ -83,6 +124,42 @@
);
}
+/** 姝ゅ鍚庣娌℃湁鎻愪緵娉ㄩ噴 POST /api/ParkBountyApply/GetParkCustomerBountyFinanceList */
+export async function getParkCustomerBountyFinanceList(
+ body: API.QueryParkCustomerBountyApplyInput,
+ options?: API.RequestConfig
+) {
+ return request<API.GetParkCustomerBountyFinanceOutputPageOutput>(
+ '/api/ParkBountyApply/GetParkCustomerBountyFinanceList',
+ {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ }
+ );
+}
+
+/** 鍥尯瀹㈡埛绠$悊濂栧姳閲戝彂鏀捐褰� POST /api/ParkBountyApply/GetParkCustomerBountySettleList */
+export async function getParkCustomerBountySettleList(
+ body: API.QueryParkCustomerBountyApplyInput,
+ options?: API.RequestConfig
+) {
+ return request<API.GetParkCustomerBountySettleOutputPageOutput>(
+ '/api/ParkBountyApply/GetParkCustomerBountySettleList',
+ {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ }
+ );
+}
+
/** 杩愯惀绔�斿鍔遍噾-鍑鸿处 POST /api/ParkBountyApply/ParkBountyApplyTrade */
export async function parkBountyApplyTrade(
body: API.CreateParkBountyTradeInput,
diff --git a/src/services/api/typings.d.ts b/src/services/api/typings.d.ts
index 7769d30..faa86b6 100644
--- a/src/services/api/typings.d.ts
+++ b/src/services/api/typings.d.ts
@@ -469,21 +469,13 @@
interface AuditParkBountyTradeBySelfInput {
/** 鍑鸿处璁板綍Id */
id?: string;
+ /** 818鍑鸿处璁板綍Id */
+ parkBountyApplyDetailId?: string;
selfAuditStatus?: EnumParkBountyTradeDetailAuditStatus;
/** 瀹℃牳澶囨敞 */
selfAuditRemark?: string;
/** 瀹℃牳鍑瘉 */
selfAuditFileUrl?: string;
- }
-
- interface AuditParkBountyTradeInput {
- /** 鍑鸿处璁板綍Id */
- id?: string;
- auditStatus?: EnumParkBountyTradeDetailAuditStatus;
- /** 瀹℃牳澶囨敞 */
- auditRemark?: string;
- /** 瀹℃牳鍑瘉 */
- payAuditFileUrl?: string;
}
interface BaseAuthorizeDto {
@@ -531,6 +523,8 @@
interface BatchSyncUserAmountInput {
items?: SyncUserAmountInput[];
}
+
+ type BountyCheckStatusEnum = 10 | 20 | 30 | -10;
interface ChangePasswordInput {
currentPassword?: string;
@@ -745,6 +739,12 @@
downsizingInsuranceList?: string[];
}
+ type EnterprisePrechargeInComeStatusEnum = 10 | 20;
+
+ type EnterpriseRechargeStatusEnum = 10 | 20 | 30;
+
+ type EnterpriseTypeEnum = 10 | 20 | 30 | 40;
+
interface EntityExtensionDto {
properties?: Record<string, any>;
configuration?: Record<string, any>;
@@ -852,11 +852,67 @@
url?: string;
}
+ type FinanceStatusEnum = 1 | 2 | 3;
+
type FinanceTypeEnum = 10 | 20;
+
+ type GenderTypeEnum = 1 | 2;
interface GetEffectingStaffListInput {
claimDateTime?: string;
idNumber?: string;
+ }
+
+ interface GetEnterpriseDrawWithListInput {
+ pageModel?: Pagination;
+ keyWord?: string;
+ beginDateTime?: string;
+ endDateTime?: string;
+ enterpriseId?: string;
+ checkStatus?: EnterpriseRechargeStatusEnum;
+ }
+
+ interface GetEnterpriseDrawWithListOutput {
+ drawWithId?: string;
+ enterpriseId?: string;
+ enterpriseName?: string;
+ societyCreditCode?: string;
+ creationTime?: string;
+ enterpriseType?: string;
+ parkName?: string;
+ parkType?: string;
+ amount?: number;
+ remainAmount?: number;
+ checkStatus?: EnterpriseRechargeStatusEnum;
+ checkTime?: string;
+ checkRemark?: string;
+ checkFileUrl?: string;
+ }
+
+ interface GetEnterpriseDrawWithListOutputPageOutput {
+ pageModel?: Pagination;
+ objectData?: any;
+ data?: GetEnterpriseDrawWithListOutput[];
+ }
+
+ interface GetEnterprisePrechargeListOutput {
+ id?: string;
+ /** 鍏呭�奸噾棰� */
+ prechargeAmount?: number;
+ /** 鍏呭�煎嚟璇� */
+ rechargeVoucherFileUrl?: string;
+ /** 瀹℃牳澶囨敞 */
+ checkRemark?: string;
+ checkStatus?: EnterpriseRechargeStatusEnum;
+ inComeStatus?: EnterprisePrechargeInComeStatusEnum;
+ /** 鎻愪氦鏃ユ湡 */
+ creationTime?: string;
+ }
+
+ interface GetEnterprisePrechargeListOutputPageOutput {
+ pageModel?: Pagination;
+ objectData?: any;
+ data?: GetEnterprisePrechargeListOutput[];
}
interface GetFeatureListResultDto {
@@ -1124,6 +1180,7 @@
/** 绀句細缁熶竴淇$敤浠g爜 */
societyCreditCode?: string;
id?: string;
+ parkBountyApplyDetailId?: string;
/** 鏈�杩戝嚭璐﹂噾棰� */
tradeAmount?: number;
/** 鍑鸿处鍑瘉 */
@@ -1209,6 +1266,63 @@
pageModel?: Pagination;
objectData?: any;
data?: GetParkBountyTradeOutput[];
+ }
+
+ interface GetParkCustomerBountyFinanceOutput {
+ id?: string;
+ /** 鐢宠鎵规鍙� */
+ batchNo?: string;
+ /** 鐢虫姤鏈堜唤 */
+ applyMonth?: string;
+ /** 鐢虫姤鎬婚 */
+ applySumAmount?: number;
+ /** 璐㈡斂鎷ㄤ粯閲戦 */
+ financeToAmount?: number;
+ /** 璐㈡斂鎷ㄤ粯鍏ヨ处鏃堕棿 */
+ financeToTime?: string;
+ /** 璐㈡斂鎷ㄤ粯鍙戞斁鏃ユ湡 */
+ financeTime?: string;
+ financeToStatus?: FinanceStatusEnum;
+ /** 鎷ㄤ粯鍏ヨ处鍑瘉 */
+ financeToFileUrl?: string;
+ inCheckStatus?: BountyCheckStatusEnum;
+ outCheckStatus?: BountyCheckStatusEnum;
+ }
+
+ interface GetParkCustomerBountyFinanceOutputPageOutput {
+ pageModel?: Pagination;
+ objectData?: any;
+ data?: GetParkCustomerBountyFinanceOutput[];
+ }
+
+ interface GetParkCustomerBountySettleOutput {
+ id?: string;
+ /** 鐢宠鎵规鍙� */
+ batchNo?: string;
+ /** 鐢虫姤鏈堜唤 */
+ applyMonth?: string;
+ /** 鐢虫姤鎬婚 */
+ applySumAmount?: number;
+ /** 骞冲彴鍏呭�煎叆璐︽椂闂� */
+ transferToTime?: string;
+ transferToStatus?: TransferToStatusEnum;
+ /** 骞冲彴鍏呭�奸噾棰� */
+ transferToAmount?: number;
+ /** 骞冲彴鍏呭�煎叆璐﹀嚟璇� */
+ transferToFileUrl?: string;
+ /** 璐㈡斂鎷ㄤ粯閲戦 */
+ financeToAmount?: number;
+ /** 骞冲彴鍏呭�煎彂鏀炬棩鏈� */
+ settleTime?: string;
+ financeToStatus?: FinanceStatusEnum;
+ inCheckStatus?: BountyCheckStatusEnum;
+ outCheckStatus?: BountyCheckStatusEnum;
+ }
+
+ interface GetParkCustomerBountySettleOutputPageOutput {
+ pageModel?: Pagination;
+ objectData?: any;
+ data?: GetParkCustomerBountySettleOutput[];
}
interface GetPermissionListResultDto {
@@ -1487,6 +1601,8 @@
/** 瀵煎叆澶辫触鍒楄〃 */
errorList?: ImportInsStaffAnalysisList[];
}
+
+ type IndustrialParkStatusEnum = 10 | -10;
type InsuranceClaimAttachmentBusinessTypeEnum = 10 | 20 | 30 | 40 | 50;
@@ -1911,6 +2027,8 @@
type InsureProductSettingStatusEnum = 10 | -10;
+ type InvoicingStatusEnum = 0 | 10 | 20;
+
interface IStringValueType {
name?: string;
properties?: Record<string, any>;
@@ -1944,6 +2062,8 @@
name?: string;
resource?: string;
}
+
+ type MatchMakingIdentityEnum = 10 | 20;
interface MethodParameterApiDescriptionModel {
name?: string;
@@ -2493,6 +2613,11 @@
importChannel?: string;
}
+ interface QueryParkCustomerBountyApplyInput {
+ pageModel?: Pagination;
+ id?: string;
+ }
+
interface QueryUserPageInput {
pageModel?: Pagination;
searchKey?: string;
@@ -2647,6 +2772,34 @@
modules: ModuleTypeInfo[];
}
+ interface SyncAuditParkBountyTradeInput {
+ /** 鍑鸿处璁板綍Id */
+ id?: string;
+ auditStatus?: EnumParkBountyTradeDetailAuditStatus;
+ /** 瀹℃牳澶囨敞 */
+ auditRemark?: string;
+ /** 瀹℃牳鍑瘉 */
+ payAuditFileUrl?: string;
+ /** 鍑鸿处鎿嶄綔浜� */
+ auditOperator?: string;
+ /** 鍑鸿处鎿嶄綔浜篒D */
+ auditOperatorId?: string;
+ }
+
+ interface SyncFinanceAuditParkBountyTradeInput {
+ /** 鍑鸿处璁板綍Id */
+ id?: string;
+ auditStatus?: EnumParkBountyTradeDetailAuditStatus;
+ /** 瀹℃牳澶囨敞 */
+ auditRemark?: string;
+ /** 瀹℃牳鍑瘉 */
+ payAuditFileUrl?: string;
+ /** 璐㈠姟瀹℃牳鎿嶄綔浜� */
+ financeAuditOperator?: string;
+ /** 璐㈠姟瀹℃牳鎿嶄綔浜篒d */
+ financeAuditOperatorId?: string;
+ }
+
interface SyncUserAmountInput {
/** 鐢ㄦ埛鍚嶇О */
id?: string;
@@ -2728,6 +2881,8 @@
interface TimingDto {
timeZone?: TimeZone;
}
+
+ type TransferToStatusEnum = 1 | 2;
interface TypeApiDescriptionModel {
baseType?: string;
@@ -2931,6 +3086,12 @@
totalAmount?: number;
}
+ type UserCertificationAuditStatusEnum = 0 | 10 | 30 | 40;
+
+ type UserCertificationChannelEnum = 10 | 20;
+
+ type UserCertificationStatusEnum = 0 | 20 | 30;
+
interface UserData {
id?: string;
tenantId?: string;
@@ -2981,6 +3142,112 @@
batchUpdateMessage?: boolean;
/** 浼佷笟鍚嶇О */
enterpriseName?: string;
+ }
+
+ interface UserInfoV2 {
+ /** 鐢ㄦ埛Id */
+ userId?: string;
+ /** 鐢ㄦ埛鍚� */
+ userName?: string;
+ /** 鎵嬫満鍙� */
+ phoneNumber?: string;
+ /** 鐢ㄦ埛鐧诲綍鎵�浣跨敤鐨勬墜鏈哄彿 */
+ userPhoneNumber?: string;
+ /** 璐︽埛浣欓 */
+ amount?: number;
+ /** 鏀跺埌鎵撹祻 */
+ reward?: number;
+ /** 鏄电О */
+ nickName?: string;
+ userCertificationAuditStatus?: UserCertificationAuditStatusEnum;
+ /** 鐢ㄦ埛璁よ瘉Id */
+ userCertificationId?: string;
+ /** 浼佷笟璁よ瘉鐨勫悕绉� */
+ customerName?: string;
+ /** 浼佷笟缁熶竴淇$敤浠g爜 */
+ societyCreditCode?: string;
+ /** 鐢ㄦ埛璁よ瘉Id(鍏徃Id) */
+ companyId?: string;
+ /** 娉曚汉鍚嶇О */
+ legalPersonName?: string;
+ /** 骞存秷璐� */
+ yearlyConsume?: number;
+ /** 骞翠骇鍝佽喘涔版秷璐� */
+ yearlyPurchasedConsume?: number;
+ /** 骞存墦璧忔秷璐� */
+ yearlyRewardConsume?: number;
+ /** 骞翠骇鍝佸箍鍛婃姇鏀炬秷璐� */
+ yearlyProductAdConsume?: number;
+ /** 骞磋祫璁箍鍛婃姇鏀炬秷璐� */
+ yearlyInformationAdConsume?: number;
+ /** 1锛屼紒涓� 2锛� 涓汉 */
+ userType?: number;
+ authType?: EnterpriseTypeEnum;
+ userCertificationStatus?: UserCertificationStatusEnum;
+ /** 0 鏈紑閫� 10 寰呭鏍� 20鍔炵悊涓� 30閫氳繃 -20 椹冲洖 40 涓嬫灦 50 绯荤粺涓嬫灦 */
+ openHRSiteStatus?: number;
+ /** 鑱旂郴浜� */
+ contacter?: string;
+ /** 鐢ㄦ埛璁よ瘉杩囨湡鏃ユ湡 */
+ userCertificationExpirationTime?: string;
+ invoicingStatus?: InvoicingStatusEnum;
+ /** 骞村寮�濮嬫椂闂� */
+ annualAuditStartTime?: string;
+ /** 鏀粯鍙戠エ鍦板潃 */
+ payInvoicingUrl?: string;
+ /** 缁戝畾閭鍦板潃 */
+ bindEmailAddress?: string;
+ /** 鐢ㄦ埛澶村儚鍦板潃 */
+ avatarUrl?: string;
+ genderType?: GenderTypeEnum;
+ /** 鑱岀О */
+ jobTitle?: string;
+ /** 鐪乧ode */
+ provinceCode?: number;
+ /** 甯俢ode */
+ cityCode?: number;
+ /** 鍖哄幙code */
+ countyCode?: number;
+ /** 鐪� */
+ provinceName?: string;
+ /** 甯� */
+ cityName?: string;
+ /** 鍖哄幙 */
+ countyName?: string;
+ /** 璇︾粏鍦板潃 */
+ addressDetail?: string;
+ /** 寰俊浜岀淮鐮佸浘鐗� */
+ wxQrCodeUrl?: string;
+ /** 涓汉淇℃伅閭鍦板潃 */
+ userInfoEmailAddress?: string;
+ /** 淇濋櫓绛剧害鐘舵�� 0鏈绾� 10宸茬绾� */
+ insureSignStatus?: number;
+ /** 鏄惁鎻愪氦閽卞寘寮�鎴风敵璇� */
+ isApplyWalletAccountOpen?: boolean;
+ /** 鑱旂郴鐢佃瘽 */
+ contactPhone?: string;
+ /** 閽卞寘寮�鎴风姸鎬� */
+ walletAccountOpenStatus?: WalletAccountOpenStatusInfo[];
+ /** 閽卞寘鐘舵�� */
+ walletMainStatus?: WalletAccountTypeMainStatusInfo[];
+ matchMakingIdentity?: MatchMakingIdentityEnum;
+ /** 鐢靛瓙绛惧嵃绔犲浘鐗囩敓鎴愮姸鎬� 0鏈敓鎴� 1宸茬敓鎴� */
+ signatureImageStatus?: number;
+ certificationChannel?: UserCertificationChannelEnum;
+ industrialParkId?: string;
+ industrialParkName?: string;
+ suportEnterpriseUpload?: boolean;
+ suportPlatRecharge?: boolean;
+ rewardEnable?: boolean;
+ suportWithDraw?: boolean;
+ industrialParkStatus?: IndustrialParkStatusEnum;
+ isHasBountyApply?: boolean;
+ /** 鏄惁鍙互鐧诲綍鐢靛瓙绛� */
+ canLoginUserSign?: boolean;
+ /** 鏄惁鍙互鐧诲綍姹熶綉淇� */
+ canLoginJYB?: boolean;
+ /** 鏄惁鍙互鐧诲綍鐏垫椿鐢ㄥ伐 */
+ canLoginFlexJob?: boolean;
}
interface UserListOutput {
@@ -3057,6 +3324,22 @@
sequence?: number;
}
+ type WalletAccountOpenStatusEnum = 10 | 20;
+
+ interface WalletAccountOpenStatusInfo {
+ walletAccountType?: WalletAccountTypeEnum;
+ walletAccountOpenStatus?: WalletAccountOpenStatusEnum;
+ }
+
+ type WalletAccountTypeEnum = 10 | 20 | 30;
+
+ interface WalletAccountTypeMainStatusInfo {
+ walletAccountType?: WalletAccountTypeEnum;
+ walletMainStatus?: WalletMainStatusEnum;
+ }
+
+ type WalletMainStatusEnum = 10 | -20 | -10;
+
interface WindowsTimeZone {
timeZoneId?: string;
}
diff --git a/src/views/BalanceManage/BalanceManage.vue b/src/views/BalanceManage/BalanceManage.vue
index fd6b997..15a70b3 100644
--- a/src/views/BalanceManage/BalanceManage.vue
+++ b/src/views/BalanceManage/BalanceManage.vue
@@ -68,8 +68,22 @@
</RewardInfoCard>
</RewardInfoCardList>
<ProTabs v-model="state.tabType" hasBorder class="reward-tabs">
- <ProTabPane lazy label="娑堣垂璁板綍" name="Consume">
- <ConsumeRecordView></ConsumeRecordView>
+ <ProTabPane lazy label="鎷ㄤ粯璁板綍" name="Payment">
+ <PaymentRecordView></PaymentRecordView>
+ </ProTabPane>
+ <template v-if="sceneThree || sceneFour">
+ <ProTabPane lazy label="濂栧姳鍙戞斁璁板綍" name="RewardGrant">
+ <RewardGrantRecordView></RewardGrantRecordView>
+ </ProTabPane>
+ <ProTabPane lazy label="鍏呭�艰褰�" name="Recharge">
+ <RechargeRecordView ref="rechargeRecordRef"></RechargeRecordView>
+ </ProTabPane>
+ <ProTabPane lazy label="娑堣垂璁板綍" name="Consume">
+ <ConsumeRecordView></ConsumeRecordView>
+ </ProTabPane>
+ </template>
+ <ProTabPane lazy label="鎻愮幇璁板綍" name="Withdrawal" v-if="sceneTwo || sceneFour">
+ <WithdrawalRecordView ref="withdrawalRecordRef"></WithdrawalRecordView>
</ProTabPane>
</ProTabs>
</AppContainer>
@@ -84,6 +98,10 @@
import RewardInfoCardContentItem from '@/components/Reward/RewardInfoCardContentItem.vue';
import { setOSSLink, downloadFileByUrl, toThousand, addStarForString } from '@/utils';
import ConsumeRecordView from './components/ConsumeRecordView.vue';
+import RechargeRecordView from './components/RechargeRecordView.vue';
+import RewardGrantRecordView from './components/RewardGrantRecordView.vue';
+import WithdrawalRecordView from './components/WithdrawalRecordView.vue';
+import PaymentRecordView from './components/PaymentRecordView.vue';
import { useQuery } from '@tanstack/vue-query';
import { useUser } from '@/hooks';
@@ -96,9 +114,22 @@
tabType: 'Consume',
};
-const { user } = useUser();
+const { userDetail } = useUser();
const state = reactive({ ...BaseState });
+const sceneOne = computed(() => {
+ return !userDetail.value?.suportPlatRecharge && !userDetail.value?.suportWithDraw;
+});
+const sceneTwo = computed(() => {
+ return !userDetail.value?.suportPlatRecharge && userDetail.value?.suportWithDraw;
+});
+const sceneThree = computed(() => {
+ return userDetail.value?.suportPlatRecharge && !userDetail.value?.suportWithDraw;
+});
+const sceneFour = computed(() => {
+ return userDetail.value?.suportPlatRecharge && userDetail.value?.suportWithDraw;
+});
+
const { isLoading, data: detail } = useQuery({
queryKey: ['userServices/getUserAmountShow'],
queryFn: async () => {
diff --git a/src/views/BalanceManage/components/PaymentRecordView.vue b/src/views/BalanceManage/components/PaymentRecordView.vue
new file mode 100644
index 0000000..9a20b0d
--- /dev/null
+++ b/src/views/BalanceManage/components/PaymentRecordView.vue
@@ -0,0 +1,123 @@
+<template>
+ <LoadingLayout :loading="state.loading">
+ <AppContainer>
+ <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
+ <template #operationBtn-checkBtn="{ data, row }">
+ <PreviewBtnV2
+ class="pro-table-operation-btn"
+ :url="convertApi2FormUrlBySeparator(row.financeToFileUrl ?? '')"
+ preview-btn-text="鏌ョ湅鍑瘉"
+ />
+ </template>
+ </ProTableV2>
+ </AppContainer>
+ </LoadingLayout>
+</template>
+
+<script setup lang="ts">
+import {
+ AppContainer,
+ useTable,
+ PreviewBtnV2,
+ defineOperationBtns,
+ ProTableV2,
+} from '@bole-core/components';
+import { OrderInputType } from '@bole-core/core';
+import * as parkBountyApplyServices from '@/services/api/ParkBountyApply';
+import { FinanceStatusEnum, FinanceStatusEnumText } from '@/constants';
+import { useUser } from '@/hooks';
+import { convertApi2FormUrlBySeparator } from '@/utils';
+
+defineOptions({
+ name: 'PaymentRecordView',
+});
+
+const column = [
+ {
+ id: '1',
+ enCode: 'financeToTime',
+ name: '鎷ㄤ粯鏃堕棿',
+ },
+ {
+ id: '2',
+ enCode: 'financeToAmount',
+ name: '鎷ㄤ粯閲戦',
+ },
+ {
+ id: '3',
+ enCode: 'batchNo',
+ name: '鎷ㄤ粯鎵规',
+ },
+ {
+ id: '4',
+ enCode: 'applyMonth',
+ name: '鎷ㄤ粯鏈堜唤',
+ },
+ {
+ id: '5',
+ enCode: 'financeToStatus',
+ name: '鎷ㄤ粯鐘舵��',
+ },
+];
+
+const operationBtns = defineOperationBtns([
+ {
+ data: {
+ enCode: 'checkBtn',
+ name: '鏌ョ湅鍑瘉',
+ },
+ },
+]);
+
+const { userDetail } = useUser();
+const BaseState = {
+ loading: true,
+};
+
+const state = reactive({ ...BaseState });
+
+const {
+ getDataSource: getList,
+ proTableProps,
+ paginationState,
+ extraParamState,
+} = useTable(
+ async ({ pageIndex, pageSize }, extraParamState) => {
+ try {
+ let params: API.QueryParkCustomerBountyApplyInput = {
+ pageModel: {
+ rows: pageSize,
+ page: pageIndex,
+ orderInput: extraParamState.orderInput,
+ },
+ id: userDetail.value?.userId ?? '',
+ };
+ let res = await parkBountyApplyServices.getParkCustomerBountyFinanceList(params, {
+ showLoading: !state.loading,
+ });
+
+ return res;
+ } catch (error) {}
+ },
+ {
+ defaultExtraParams: {
+ orderInput: [{ property: 'financeToTime', order: OrderInputType.Desc }],
+ },
+ columnsRenderProps: {
+ financeToStatus: { type: 'enum', valueEnum: FinanceStatusEnumText },
+ financeToTime: { type: 'date', format: 'YYYY-MM-DD' },
+ applyMonth: { type: 'date', format: 'YYYY骞碝M鏈�' },
+ financeToAmount: { type: 'money' },
+ },
+ }
+);
+
+onMounted(async () => {
+ await getList();
+ state.loading = false;
+});
+</script>
+
+<style lang="scss" scoped>
+@use '@/style/common.scss' as *;
+</style>
diff --git a/src/views/BalanceManage/components/RechargeRecordView.vue b/src/views/BalanceManage/components/RechargeRecordView.vue
index 21c2153..2f560b0 100644
--- a/src/views/BalanceManage/components/RechargeRecordView.vue
+++ b/src/views/BalanceManage/components/RechargeRecordView.vue
@@ -35,14 +35,15 @@
defineOperationBtns,
} from '@bole-core/components';
import { OrderInputType } from '@bole-core/core';
-// import * as parkBountyApplyServices from '@/services/api/ParkBountyApply';
+import * as parkBountyApplyServices from '@/services/api/ParkBountyApply';
+import {
+ EnterpriseRechargeStatusEnumText,
+ EnterpriseRechargeStatusEnum,
+ EnterprisePrechargeInComeStatusEnum,
+ EnterprisePrechargeInComeStatusEnumText,
+} from '@/constants';
import { useUser } from '@/hooks';
-// import {
-// EnterprisePrechargeInComeStatusEnum,
-// EnterprisePrechargeInComeStatusEnumText,
-// EnterpriseRechargeStatusEnum,
-// EnterpriseRechargeStatusEnumText,
-// } from '@/constants';
+
import { convertApi2FormUrlBySeparator } from '@/utils';
defineOptions({
@@ -85,14 +86,11 @@
]);
const route = useRoute();
-const router = useRouter();
-const id = route.params.id as string;
const BaseState = {
loading: true,
};
const state = reactive({ ...BaseState });
-const { userDetail } = useUser();
const {
getDataSource: getList,
diff --git a/src/views/BalanceManage/components/RewardGrantRecordView.vue b/src/views/BalanceManage/components/RewardGrantRecordView.vue
index b3c3963..2b5c6e2 100644
--- a/src/views/BalanceManage/components/RewardGrantRecordView.vue
+++ b/src/views/BalanceManage/components/RewardGrantRecordView.vue
@@ -10,9 +10,9 @@
<script setup lang="ts">
import { AppContainer, useTable, ProTableV2 } from '@bole-core/components';
import { OrderInputType } from '@bole-core/core';
-// import * as parkBountyApplyServices from '@/services/api/ParkBountyApply';
+import * as parkBountyApplyServices from '@/services/api/ParkBountyApply';
import { useUser } from '@/hooks';
-// import { TransferToStatusEnumText } from '@/constants';
+import { TransferToStatusEnumText } from '@/constants';
defineOptions({
name: 'RewardGrantRecordView',
@@ -47,8 +47,6 @@
];
const route = useRoute();
-const router = useRouter();
-const id = route.params.id as string;
const BaseState = {
loading: true,
};
diff --git a/src/views/BalanceManage/components/WithdrawalRecordView.vue b/src/views/BalanceManage/components/WithdrawalRecordView.vue
new file mode 100644
index 0000000..269c24e
--- /dev/null
+++ b/src/views/BalanceManage/components/WithdrawalRecordView.vue
@@ -0,0 +1,143 @@
+<template>
+ <LoadingLayout :loading="state.loading">
+ <AppContainer>
+ <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
+ <template #checkStatus="{ data, row }">
+ <div style="display: flex; justify-content: center; align-items: center">
+ {{ EnterpriseRechargeStatusEnumTextWithdrawal[row.checkStatus] }}
+ <el-tooltip
+ placement="top"
+ v-if="row.checkStatus === EnterpriseRechargeStatusEnum.CheckReject && row.checkRemark"
+ :content="row.checkRemark"
+ >
+ <el-icon color="#ff0000"><WarningFilled /></el-icon>
+ </el-tooltip>
+ </div>
+ </template>
+ <template #operationBtn-checkBtn="{ data, row }">
+ <PreviewBtnV2
+ class="pro-table-operation-btn"
+ :url="convertApi2FormUrlBySeparator(row.checkFileUrl ?? '')"
+ preview-btn-text="鏌ョ湅鍑瘉"
+ />
+ </template>
+ </ProTableV2>
+ </AppContainer>
+ </LoadingLayout>
+</template>
+
+<script setup lang="ts">
+import {
+ AppContainer,
+ useTable,
+ PreviewBtnV2,
+ ProTableV2,
+ defineOperationBtns,
+} from '@bole-core/components';
+import { OrderInputType } from '@bole-core/core';
+import * as parkBountyApplyServices from '@/services/api/ParkBountyApply';
+import { useUser } from '@/hooks';
+import {
+ EnterpriseRechargeStatusEnumTextWithdrawal,
+ EnterpriseRechargeStatusEnum,
+} from '@/constants';
+import { convertApi2FormUrlBySeparator } from '@/utils';
+
+defineOptions({
+ name: 'WithdrawalRecordView',
+});
+
+const column = [
+ {
+ id: '1',
+ enCode: 'creationTime',
+ name: '鐢宠鏃堕棿',
+ },
+ {
+ id: '2',
+ enCode: 'amount',
+ name: '鎻愮幇閲戦',
+ },
+ {
+ id: '3',
+ enCode: 'checkStatus',
+ name: '瀹℃牳鐘舵��',
+ },
+ {
+ id: '4',
+ enCode: 'checkTime',
+ name: '瀹℃牳鏃堕棿',
+ },
+ {
+ id: '5',
+ enCode: 'remainAmount',
+ name: '璧勯噾浣欓',
+ },
+];
+
+const operationBtns = defineOperationBtns([
+ {
+ data: {
+ enCode: 'checkBtn',
+ name: '鏌ョ湅鍑瘉',
+ },
+ },
+]);
+
+const route = useRoute();
+const router = useRouter();
+const id = route.params.id as string;
+const BaseState = {
+ loading: true,
+};
+
+const state = reactive({ ...BaseState });
+
+const {
+ getDataSource: getList,
+ proTableProps,
+ paginationState,
+ extraParamState,
+} = useTable(
+ async ({ pageIndex, pageSize }, extraParamState) => {
+ try {
+ let params: API.GetEnterpriseDrawWithListInput = {
+ pageModel: {
+ rows: pageSize,
+ page: pageIndex,
+ orderInput: extraParamState.orderInput,
+ },
+ };
+ let res = await parkBountyApplyServices.getEnterpriseDrawWithList(params, {
+ showLoading: !state.loading,
+ });
+ return res;
+ } catch (error) {}
+ },
+ {
+ defaultExtraParams: {
+ orderInput: [{ property: 'creationTime', order: OrderInputType.Desc }],
+ },
+ columnsRenderProps: {
+ creationTime: { type: 'date', format: 'YYYY-MM-DD' },
+ checkTime: { type: 'date', format: 'YYYY-MM-DD' },
+ amount: { type: 'money' },
+ remainAmount: { type: 'money' },
+ checkStatus: { type: 'enum', valueEnum: EnterpriseRechargeStatusEnumTextWithdrawal },
+ },
+ }
+);
+
+onMounted(async () => {
+ await getList();
+ state.loading = false;
+});
+
+defineExpose({
+ getList,
+});
+</script>
+
+<style lang="scss" scoped>
+@use '@/style/common.scss' as *;
+</style>
diff --git a/src/views/Home/Home.vue b/src/views/Home/Home.vue
index 761c9e1..748ed15 100644
--- a/src/views/Home/Home.vue
+++ b/src/views/Home/Home.vue
@@ -197,8 +197,7 @@
onClick: (role) => handleBatch(role),
},
extraProps: {
- hide: (row: API.GetInsurancePageOutput) =>
- row.productOnline || row.status !== InsurancePolicyStatusEnum.Effecting,
+ hide: (row: API.GetInsurancePageOutput) => row.status !== InsurancePolicyStatusEnum.Effecting,
},
},
{
--
Gitblit v1.9.1