From 9e63ed4533fe6fbb5e81a096c9f5949c7ccf58f2 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期二, 08 四月 2025 17:34:15 +0800
Subject: [PATCH] feat: 接口
---
src/services/api/ParkReward.ts | 18 +
src/services/api/typings.d.ts | 252 +++++++++++++++++++
src/components/commonView/SettlementMaterialInfoView.vue | 17
src/components/commonView/MaterialInfoView.vue | 11
src/services/api/index.ts | 2
src/components/commonView/DetailView.vue | 12
src/components/commonView/BatchInfoView.vue | 38 --
src/views/Reward/RewardGrant.vue | 84 ++++--
src/components/commonView/DeclareEnterpriseTableView.vue | 12
src/services/api/User.ts | 38 ++
src/constants/reward.ts | 52 ++++
src/components/commonView/types.ts | 26 ++
src/services/api/UserRole.ts | 15 +
src/views/Reward/RewardDeclareDetail.vue | 43 ++
src/views/Reward/components/RewardGrantDialog.vue | 8
src/constants/index.ts | 1
src/services/api/ParkBountyApply.ts | 117 +++++++++
src/views/MaterialReview/MaterialReviewDetail.vue | 16
18 files changed, 660 insertions(+), 102 deletions(-)
diff --git a/src/components/commonView/BatchInfoView.vue b/src/components/commonView/BatchInfoView.vue
index b5442c6..ee26f52 100644
--- a/src/components/commonView/BatchInfoView.vue
+++ b/src/components/commonView/BatchInfoView.vue
@@ -1,41 +1,23 @@
<template>
<ProFormCol>
<ProFormColItem :span="12">
- <ProFormItemV2 label="鐢虫姤鎵规鍙�:" prop="applyNo">
- <ProFormText placeholder="璇疯緭鍏ョ敵鎶ユ壒娆″彿" v-model.trim="form.categoryName" />
+ <ProFormItemV2 label="鐢虫姤鎵规鍙�:" prop="batchNo">
+ <ProFormText v-model.trim="form.batchNo" />
</ProFormItemV2>
</ProFormColItem>
<ProFormColItem :span="12">
- <ProFormItemV2 label="鐢宠濂栧姳閲戞湀浠�:" prop="applyDate">
- <ProFormDatePicker
- v-model="form.categoryName"
- format="YYYY-MM"
- placeholder="璇烽�夋嫨鏈堜唤"
- type="month"
- />
+ <ProFormItemV2 label="鐢宠濂栧姳閲戞湀浠�:" prop="applyMonth">
+ <ProFormDatePicker v-model="form.applyMonth" format="YYYY-MM" type="month" />
</ProFormItemV2>
</ProFormColItem>
<ProFormColItem :span="12">
- <ProFormItemV2 label="鐢虫姤鍥尯:" prop="applyParkId">
- <ProFormSelect
- v-model="form.categoryName"
- :valueEnum="[]"
- enumLabelKey="name"
- enum-value-key="userId"
- placeholder="璇烽�夋嫨鐢虫姤鍥尯"
- >
- </ProFormSelect>
+ <ProFormItemV2 label="鐢虫姤鍥尯:" prop="parkName">
+ <ProFormText v-model.trim="form.parkName" />
</ProFormItemV2>
</ProFormColItem>
<ProFormColItem :span="12">
<ProFormItemV2 label="鍥尯绫诲瀷:">
- <ProFormSelect
- v-model="form.categoryName"
- :valueEnum="parkTypeList"
- enumLabelKey="name"
- enum-value-key="id"
- >
- </ProFormSelect>
+ <ProFormText v-model.trim="form.parkTypeName" />
</ProFormItemV2>
</ProFormColItem>
</ProFormCol>
@@ -60,7 +42,11 @@
type Props = {
form: {
- categoryName: string;
+ batchNo: string;
+ parkName: string;
+ parkTypeName: string;
+ applyMonth: string;
+ applySumAmount: number;
};
};
diff --git a/src/components/commonView/DeclareEnterpriseTableView.vue b/src/components/commonView/DeclareEnterpriseTableView.vue
index 0a675de..3347562 100644
--- a/src/components/commonView/DeclareEnterpriseTableView.vue
+++ b/src/components/commonView/DeclareEnterpriseTableView.vue
@@ -57,32 +57,32 @@
},
{
id: '2',
- enCode: 'income',
+ enCode: 'enterpriseName',
name: '浼佷笟鍚嶇О',
},
{
id: '3',
- enCode: 'outcome',
+ enCode: 'societyCreditCode',
name: '淇$敤浠g爜',
},
{
id: '4',
- enCode: 'acctBalance',
+ enCode: 'contactPhone',
name: '鐢佃瘽',
},
{
id: '5',
- enCode: 'counterpartyAcctNoAndName',
+ enCode: 'authType',
name: '浼佷笟绫诲瀷',
},
{
id: '6',
- enCode: 'purpose',
+ enCode: 'licenseUrl',
name: '钀ヤ笟鎵х収',
},
{
id: '7',
- enCode: 'purpose',
+ enCode: 'bankAccountInfo',
name: '鍩烘湰鎴蜂俊鎭�',
},
]);
diff --git a/src/components/commonView/DetailView.vue b/src/components/commonView/DetailView.vue
index 07ae905..18acd11 100644
--- a/src/components/commonView/DetailView.vue
+++ b/src/components/commonView/DetailView.vue
@@ -27,9 +27,15 @@
type Props = {
hasForm?: boolean;
form?: {
- categoryName: string;
- amount: number;
- url: UploadUserFile[];
+ batchNo: string;
+ parkName: string;
+ parkTypeName: string;
+ applyMonth: string;
+ applySumAmount: number;
+ enterpriseTaxSubFileUrl: UploadUserFile[];
+ enterpriseOperateFileUrl: UploadUserFile[];
+ bountyAssignFileUlr: UploadUserFile[];
+ bountyCollectFileUrl: UploadUserFile[];
};
};
diff --git a/src/components/commonView/MaterialInfoView.vue b/src/components/commonView/MaterialInfoView.vue
index 4c67bf9..a45a78f 100644
--- a/src/components/commonView/MaterialInfoView.vue
+++ b/src/components/commonView/MaterialInfoView.vue
@@ -1,15 +1,15 @@
<template>
<ProFormCol>
<ProFormColItem :span="12">
- <ProFormItemV2 label="浼佷笟缂寸◣鏄庣粏姹囨�昏〃:" prop="link">
- <ProFormUpload v-model:file-url="form.url"></ProFormUpload>
+ <ProFormItemV2 label="浼佷笟缂寸◣鏄庣粏姹囨�昏〃:" prop="enterpriseTaxSubFileUrl">
+ <ProFormUpload v-model:file-url="form.enterpriseTaxSubFileUrl"></ProFormUpload>
</ProFormItemV2>
</ProFormColItem>
</ProFormCol>
<ProFormCol>
<ProFormColItem :span="12">
- <ProFormItemV2 label="浼佷笟钀ユ敹姹囨�昏〃:" prop="link">
- <ProFormUpload v-model:file-url="form.url"></ProFormUpload>
+ <ProFormItemV2 label="浼佷笟钀ユ敹姹囨�昏〃:" prop="enterpriseOperateFileUrl">
+ <ProFormUpload v-model:file-url="form.enterpriseOperateFileUrl"></ProFormUpload>
</ProFormItemV2>
</ProFormColItem>
</ProFormCol>
@@ -30,7 +30,8 @@
type Props = {
form: {
- url: UploadUserFile[];
+ enterpriseTaxSubFileUrl: UploadUserFile[];
+ enterpriseOperateFileUrl: UploadUserFile[];
};
};
diff --git a/src/components/commonView/SettlementMaterialInfoView.vue b/src/components/commonView/SettlementMaterialInfoView.vue
index 5bbb622..de9228b 100644
--- a/src/components/commonView/SettlementMaterialInfoView.vue
+++ b/src/components/commonView/SettlementMaterialInfoView.vue
@@ -1,22 +1,22 @@
<template>
<ProFormCol>
<ProFormColItem :span="12">
- <ProFormItemV2 label="鏈鐢虫姤濂栧姳閲戞�婚:" prop="link">
- <ProFormInputNumber v-model="form.amount" unit="鍏�" />
+ <ProFormItemV2 label="鏈鐢虫姤濂栧姳閲戞�婚:" prop="applySumAmount">
+ <ProFormInputNumber v-model="form.applySumAmount" unit="鍏�" />
</ProFormItemV2>
</ProFormColItem>
</ProFormCol>
<ProFormCol>
<ProFormColItem :span="12">
- <ProFormItemV2 label="濂栧姳閲戝垎閰嶆槑缁嗚〃:" prop="link">
- <ProFormUpload v-model:file-url="form.url"></ProFormUpload>
+ <ProFormItemV2 label="濂栧姳閲戝垎閰嶆槑缁嗚〃:" prop="bountyAssignFileUlr">
+ <ProFormUpload v-model:file-url="form.bountyAssignFileUlr"></ProFormUpload>
</ProFormItemV2>
</ProFormColItem>
</ProFormCol>
<ProFormCol>
<ProFormColItem :span="12">
- <ProFormItemV2 label="濂栧姳閲戞眹鎬昏〃:" prop="link">
- <ProFormUpload v-model:file-url="form.url"></ProFormUpload>
+ <ProFormItemV2 label="濂栧姳閲戞眹鎬昏〃:" prop="bountyCollectFileUrl">
+ <ProFormUpload v-model:file-url="form.bountyCollectFileUrl"></ProFormUpload>
</ProFormItemV2>
</ProFormColItem>
</ProFormCol>
@@ -38,8 +38,9 @@
type Props = {
form: {
- amount: number;
- url: UploadUserFile[];
+ applySumAmount: number;
+ bountyAssignFileUlr: UploadUserFile[];
+ bountyCollectFileUrl: UploadUserFile[];
};
};
diff --git a/src/components/commonView/types.ts b/src/components/commonView/types.ts
index 73dff5f..24c9b2e 100644
--- a/src/components/commonView/types.ts
+++ b/src/components/commonView/types.ts
@@ -12,3 +12,29 @@
fileBusinessType: EnterpriseMaterialFileBusinessTypeEnum;
fileList: (API.AddEnterpriseMaterialFileInput & UploadUserFile)[];
};
+
+export enum EnterpriseTypeEnum {
+ /**
+ * 浜哄姏璧勬簮鍏徃
+ */
+ HREnterprise = 10,
+ /**
+ * 鐢叉柟浼佷笟
+ */
+ FirstPartyCompany = 20,
+ /**
+ * 琛屼笟閰嶅
+ */
+ IndustryMating = 30,
+ /**
+ * 琛屼笟鏈烘瀯
+ */
+ IndustryBody = 40,
+}
+
+export const EnterpriseTypeEnumText = {
+ [EnterpriseTypeEnum.HREnterprise]: '浜哄姏璧勬簮鍏徃',
+ [EnterpriseTypeEnum.FirstPartyCompany]: '鐢叉柟浼佷笟',
+ [EnterpriseTypeEnum.IndustryMating]: '琛屼笟閰嶅',
+ [EnterpriseTypeEnum.IndustryBody]: '琛屼笟鏈烘瀯',
+};
diff --git a/src/constants/index.ts b/src/constants/index.ts
index d5c8f0b..eb92ec8 100644
--- a/src/constants/index.ts
+++ b/src/constants/index.ts
@@ -11,3 +11,4 @@
export * from './app';
export * from './dic';
export * from './enterpriseMaterial';
+export * from './reward';
diff --git a/src/constants/reward.ts b/src/constants/reward.ts
new file mode 100644
index 0000000..7eafdd7
--- /dev/null
+++ b/src/constants/reward.ts
@@ -0,0 +1,52 @@
+export enum BountyCheckStatusEnum {
+ /**
+ * 寰呭鏍�
+ */
+ WaitCheck = 10,
+ /**
+ * 瀹℃牳閫氳繃
+ */
+ CheckPassed = 20,
+ /**
+ * 瀹℃牳涓嶉�氳繃
+ */
+ CheckReject = 30,
+}
+
+export const BountyCheckStatusEnumText = {
+ [BountyCheckStatusEnum.WaitCheck]: '寰呭鏍�',
+ [BountyCheckStatusEnum.CheckPassed]: '瀹℃牳閫氳繃',
+ [BountyCheckStatusEnum.CheckReject]: '瀹℃牳涓嶉�氳繃',
+};
+
+export enum SettleStatusEnum {
+ /**
+ * 寰呭彂鏀�
+ */
+ WaitForSettle = 1,
+ /**
+ * 宸插彂鏀�
+ */
+ HasSettle = 2,
+}
+
+export const SettleStatusEnumText = {
+ [SettleStatusEnum.WaitForSettle]: '寰呭彂鏀�',
+ [SettleStatusEnum.HasSettle]: '宸插彂鏀�',
+};
+
+export enum IncomeStatusEnum {
+ /**
+ * 寰呭叆璐�
+ */
+ WaitForIncome = 1,
+ /**
+ * 宸插叆璐�
+ */
+ HasIncome = 2,
+}
+
+export const IncomeStatusEnumText = {
+ [IncomeStatusEnum.WaitForIncome]: '寰呭叆璐�',
+ [IncomeStatusEnum.HasIncome]: '宸插叆璐�',
+};
diff --git a/src/services/api/ParkBountyApply.ts b/src/services/api/ParkBountyApply.ts
new file mode 100644
index 0000000..55d0e25
--- /dev/null
+++ b/src/services/api/ParkBountyApply.ts
@@ -0,0 +1,117 @@
+/* eslint-disable */
+// @ts-ignore
+import { request } from '@/utils/request';
+
+/** 鑾峰彇鐢虫姤璇︽儏 POST /api/ParkBountyApply/GetParkBountyApplyDetail */
+export async function getParkBountyApplyDetail(
+ body: API.GetParkBountyApplyInfoInput,
+ options?: API.RequestConfig
+) {
+ return request<API.GetParkBountyApplyInfoOutput>(
+ '/api/ParkBountyApply/GetParkBountyApplyDetail',
+ {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ }
+ );
+}
+
+/** 鑾峰彇濂栧姳閲戝彂鏀惧垪琛� POST /api/ParkBountyApply/GetParkBountyApplyList */
+export async function getParkBountyApplyList(
+ body: API.GetParkBountyApplyListInput,
+ options?: API.RequestConfig
+) {
+ return request<API.GetParkBountyApplyListOutputPageOutput>(
+ '/api/ParkBountyApply/GetParkBountyApplyList',
+ {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ }
+ );
+}
+
+/** 鑾峰彇鍏ヨ处璇︽儏 POST /api/ParkBountyApply/GetParkBountyApplyTransferDetail */
+export async function getParkBountyApplyTransferDetail(
+ body: API.GetParkBountyApplyTransferInfoInput,
+ options?: API.RequestConfig
+) {
+ return request<API.GetParkBountyApplyTransferInfoOutput>(
+ '/api/ParkBountyApply/GetParkBountyApplyTransferDetail',
+ {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ }
+ );
+}
+
+/** 鎵归噺鍏ヨ处 POST /api/ParkBountyApply/ParkBountyApplyBatchTransfer */
+export async function parkBountyApplyBatchTransfer(
+ body: API.ParkBountyApplyBatchTransferInput,
+ options?: API.RequestConfig
+) {
+ return request<number>('/api/ParkBountyApply/ParkBountyApplyBatchTransfer', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
+/** 涓婁紶鍙戠エ鍑瘉 POST /api/ParkBountyApply/ParkBountyApplySettle */
+export async function parkBountyApplySettle(
+ body: API.ParkBountyApplySettleInput,
+ options?: API.RequestConfig
+) {
+ return request<number>('/api/ParkBountyApply/ParkBountyApplySettle', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
+/** 濂栧姳閲戝叆璐� POST /api/ParkBountyApply/ParkBountyApplyTransfer */
+export async function parkBountyApplyTransfer(
+ body: API.ParkBountyApplyTransferInput,
+ options?: API.RequestConfig
+) {
+ return request<number>('/api/ParkBountyApply/ParkBountyApplyTransfer', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
+/** 涓婁紶鍑瘉 POST /api/ParkBountyApply/ParkBountyApplyTransferFile */
+export async function parkBountyApplyTransferFile(
+ body: API.ParkBountyApplyTransferFileInput,
+ options?: API.RequestConfig
+) {
+ return request<number>('/api/ParkBountyApply/ParkBountyApplyTransferFile', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
diff --git a/src/services/api/ParkReward.ts b/src/services/api/ParkReward.ts
index 41bf2af..45e5177 100644
--- a/src/services/api/ParkReward.ts
+++ b/src/services/api/ParkReward.ts
@@ -62,6 +62,24 @@
});
}
+/** 鑾峰彇浼佷笟濂栧姳閲戞祦姘� POST /api/ParkReward/GetEnterpriseBuntyTradeList */
+export async function getEnterpriseBuntyTradeList(
+ body: API.PageInput,
+ options?: API.RequestConfig
+) {
+ return request<API.GetEnterpriseBuntyTradeDtoPageOutput>(
+ '/api/ParkReward/GetEnterpriseBuntyTradeList',
+ {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ }
+ );
+}
+
/** 鑾峰彇鏈�鏂板鍔辩敵璇蜂俊鎭� GET /api/ParkReward/GetNewestParkRewardApplyInfo */
export async function getNewestParkRewardApplyInfo(
// 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
diff --git a/src/services/api/User.ts b/src/services/api/User.ts
index 2598eb6..d8c7edf 100644
--- a/src/services/api/User.ts
+++ b/src/services/api/User.ts
@@ -401,6 +401,14 @@
});
}
+/** 鑾峰彇浼佷笟濂栭噾浣欓鍙婂熀鏈俊鎭� GET /api/User/GetUserBaseEnterpriseInfo */
+export async function getUserBaseEnterpriseInfo(options?: API.RequestConfig) {
+ return request<API.GetUserBaseEnterpriseInfoOutput>('/api/User/GetUserBaseEnterpriseInfo', {
+ method: 'GET',
+ ...(options || {}),
+ });
+}
+
/** 鑾峰彇鐢ㄦ埛璇佷功鐢宠鐘舵�� GET /api/User/GetUserBestSignUserRegStatus */
export async function getUserBestSignUserRegStatus(options?: API.RequestConfig) {
return request<number>('/api/User/GetUserBestSignUserRegStatus', {
@@ -698,6 +706,36 @@
});
}
+/** 淇濆瓨閾惰鍩烘湰淇℃伅 POST /api/User/SetUserEnterpiseBankInfo */
+export async function setUserEnterpiseBankInfo(
+ body: API.SetUserEnterpriseBankInfoInput,
+ options?: API.RequestConfig
+) {
+ return request<number>('/api/User/SetUserEnterpiseBankInfo', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
+/** 淇濆瓨浼佷笟鍩烘湰淇℃伅 POST /api/User/SetUserEnterpiseBaseInfo */
+export async function setUserEnterpiseBaseInfo(
+ body: API.SetUserEnterpiseBaseInfoInput,
+ options?: API.RequestConfig
+) {
+ return request<number>('/api/User/SetUserEnterpiseBaseInfo', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
/** 鍙栧叧鐢ㄦ埛 POST /api/User/UnFollowUser */
export async function unFollowUser(body: API.UnFollowUserInput, options?: API.RequestConfig) {
return request<number>('/api/User/UnFollowUser', {
diff --git a/src/services/api/UserRole.ts b/src/services/api/UserRole.ts
index 37b6b26..309f2fa 100644
--- a/src/services/api/UserRole.ts
+++ b/src/services/api/UserRole.ts
@@ -74,6 +74,21 @@
});
}
+/** 鏀垮姟绔处鍙峰垪琛� POST /api/UserRole/GetGovermentClientUsers */
+export async function getGovermentClientUsers(
+ body: API.GetBackClientUsersInput,
+ options?: API.RequestConfig
+) {
+ return request<API.UserDtoPageOutput>('/api/UserRole/GetGovermentClientUsers', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
/** 瑙掕壊鍒楄〃 POST /api/UserRole/GetRoles */
export async function getRoles(body: API.GetRolesInput, options?: API.RequestConfig) {
return request<API.RoleInfoPageOutput>('/api/UserRole/GetRoles', {
diff --git a/src/services/api/index.ts b/src/services/api/index.ts
index f64d00b..ac84523 100644
--- a/src/services/api/index.ts
+++ b/src/services/api/index.ts
@@ -52,6 +52,7 @@
import * as OpenInformation from './OpenInformation';
import * as OperateHistory from './OperateHistory';
import * as Order from './Order';
+import * as ParkBountyApply from './ParkBountyApply';
import * as ParkOrHR from './ParkOrHR';
import * as ParkReward from './ParkReward';
import * as Permissions from './Permissions';
@@ -137,6 +138,7 @@
OpenInformation,
OperateHistory,
Order,
+ ParkBountyApply,
ParkOrHR,
ParkReward,
Permissions,
diff --git a/src/services/api/typings.d.ts b/src/services/api/typings.d.ts
index 459d219..dafc419 100644
--- a/src/services/api/typings.d.ts
+++ b/src/services/api/typings.d.ts
@@ -2671,6 +2671,8 @@
userId?: string;
}
+ type BountyCheckStatusEnum = 10 | 20 | 30;
+
type BusinessSettingTypeEnum = 10;
interface CalculationWalletPayFeeInput {
@@ -3779,6 +3781,7 @@
companyOrgId?: string;
/** 缁勭粐鏋舵瀯閮ㄩ棬id */
departmentOrgId?: string;
+ password?: string;
}
interface CreateBackClientUserInput {
@@ -3795,6 +3798,7 @@
companyOrgId?: string;
/** 缁勭粐鏋舵瀯閮ㄩ棬id */
departmentOrgId?: string;
+ password?: string;
}
interface CreateBaseRoleInput {
@@ -5508,6 +5512,8 @@
listOrderNo?: number[];
}
+ type EnterpriseBountyPayTypeEnum = 10 | 20;
+
interface EnterpriseMaterialDetailOutput {
id?: string;
/** 骞� */
@@ -6230,7 +6236,7 @@
pageModel?: Pagination;
/** 璐︽埛鏄惁閿佷綇锛堟槸鍚︾鐢級 */
isLocked?: boolean;
- /** 鏌ヨ鏉′欢锛氬悕绉�/璐﹀彿 */
+ /** 鏌ヨ鏉′欢锛氬悕绉�/璐﹀彿/鎵嬫満鍙� */
queryCondition?: string;
}
@@ -6520,6 +6526,23 @@
platedTime?: string;
/** 鎿嶄綔浜� */
operator?: string;
+ }
+
+ interface GetEnterpriseBuntyTradeDto {
+ id?: string;
+ payDateTime?: string;
+ amount?: number;
+ payType?: EnterpriseBountyPayTypeEnum;
+ remianAmount?: number;
+ payRemark?: string;
+ fileUrl?: string;
+ payFileUrls?: string[];
+ }
+
+ interface GetEnterpriseBuntyTradeDtoPageOutput {
+ pageModel?: Pagination;
+ objectData?: any;
+ data?: GetEnterpriseBuntyTradeDto[];
}
interface GetEnterpriseCredentialDataResponse {
@@ -7684,6 +7707,88 @@
enterinessName?: string;
}
+ interface GetParkBountyApplyInfoInput {
+ parkBountyApplyId?: string;
+ /** 浼佷笟鍚�/淇$敤浠g爜 */
+ searchKeyWord?: string;
+ }
+
+ interface GetParkBountyApplyInfoOutput {
+ parkBountyApplyBaseInfo?: ParkBountyApplyBaseInfo;
+ parkBountyApplyDetailInfoList?: ParkBountyApplyDetailInfo[];
+ }
+
+ interface GetParkBountyApplyListInput {
+ pageModel?: Pagination;
+ /** 鐢宠鎵规鍙� */
+ batchNo?: string;
+ /** 鐢宠璧峰鏃ユ湡 */
+ creationTimeBegin?: string;
+ /** 鐢宠缁撴潫鏃ユ湡 */
+ creationTimeEnd?: string;
+ /** 鍙戞斁璧峰鏃ユ湡 */
+ settleTimeBegin?: string;
+ /** 鍙戞斁缁撴潫鏃ユ湡 */
+ settleTimeEnd?: string;
+ /** 鍏ヨ处璧峰鏃ユ湡 */
+ incomeTimeBegin?: string;
+ /** 鍏ヨ处缁撴潫鏃ユ湡 */
+ incomeTimeEnd?: string;
+ /** 澶栭儴瀹℃牳璧峰鏃ユ湡 */
+ outCheckTimeBegin?: string;
+ /** 澶栭儴瀹℃牳缁撴潫鏃ユ湡 */
+ outCheckTimeEnd?: string;
+ outCheckStatus?: BountyCheckStatusEnum;
+ inCheckStatus?: BountyCheckStatusEnum;
+ settleStatus?: SettleStatusEnum;
+ incomeStatus?: IncomeStatusEnum;
+ }
+
+ interface GetParkBountyApplyListOutput {
+ id?: string;
+ /** 鐢宠鎵规鍙� */
+ batchNo?: string;
+ /** 鐢宠鍥尯Id */
+ parkId?: string;
+ /** 鐢宠鍥尯 */
+ parkName?: string;
+ /** 鐢宠鍥尯绫诲瀷 */
+ parkTypeName?: string;
+ /** 鐢宠濂栧姳閲戞湀浠� */
+ applyMonth?: string;
+ /** 濂栧姳閲戞眹鎬婚噾棰� */
+ applySumAmount?: number;
+ /** 鐢宠鏃ユ湡 */
+ creationTime?: string;
+ settleStatus?: SettleStatusEnum;
+ /** 鍙戞斁鏃ユ湡 */
+ settleTime?: string;
+ incomeStatus?: IncomeStatusEnum;
+ /** 鍏ヨ处鏃ユ湡 */
+ incomeTime?: string;
+ outCheckStatus?: BountyCheckStatusEnum;
+ /** 澶栭儴瀹℃牳鏃ユ湡 */
+ outCheckTime?: string;
+ }
+
+ interface GetParkBountyApplyListOutputPageOutput {
+ pageModel?: Pagination;
+ objectData?: any;
+ data?: GetParkBountyApplyListOutput[];
+ }
+
+ interface GetParkBountyApplyTransferInfoInput {
+ parkBountyApplyId?: string;
+ /** 浼佷笟鍚�/淇$敤浠g爜 */
+ searchKeyWord?: string;
+ transferToStatus?: TransferToStatusEnum;
+ }
+
+ interface GetParkBountyApplyTransferInfoOutput {
+ parkBountyApplyBaseInfo?: ParkBountyApplyBaseInfo;
+ parkBountyApplyTransferDetailInfoList?: ParkBountyApplyTransferDetailInfo[];
+ }
+
interface GetParkOrHRInfoByUserInput {
categoryId?: string;
userId?: string;
@@ -8158,6 +8263,19 @@
attestateEndDate?: string;
/** 鏌ヨ鏉′欢锛氬鎴峰悕绉�/鑱旂郴浜�/鎵嬫満鍙� */
queryCondition?: string;
+ }
+
+ interface GetUserBaseEnterpriseInfoOutput {
+ /** 濂栧姳閲戜綑棰� */
+ bountyAmount?: number;
+ enterpriseName?: string;
+ societyCreditCode?: string;
+ licenseUrl?: string;
+ enterpriseIsVerify?: boolean;
+ bankName?: string;
+ bankBranchName?: string;
+ bankCardNumber?: string;
+ bankIsVerify?: boolean;
}
interface GetUserBaseInfoDataResponse {
@@ -9115,6 +9233,8 @@
}
type IncomeExpenseTypeEnum = 10 | 20;
+
+ type IncomeStatusEnum = 1 | 2;
interface IndustrialParkDetailOutput {
id?: string;
@@ -13730,6 +13850,118 @@
descriptorName?: string;
}
+ interface ParkBountyApplyBaseInfo {
+ /** 鐢宠鎵规鍙� */
+ batchNo?: string;
+ /** 鐢宠鍥尯Id */
+ parkId?: string;
+ /** 鐢宠鍥尯 */
+ parkName?: string;
+ /** 鐢宠鍥尯绫诲瀷 */
+ parkTypeName?: string;
+ /** 鐢宠濂栧姳閲戞湀浠� */
+ applyMonth?: string;
+ /** 濂栧姳閲戞眹鎬婚噾棰� */
+ applySumAmount?: number;
+ /** 姹囨�绘槑缁嗚〃 */
+ enterpriseTaxSubFileUrl?: string;
+ /** 浼佷笟钀ユ敹姹囨�昏〃 */
+ enterpriseOperateFileUrl?: string;
+ /** 濂栧姳閲戝垎閰嶈〃 */
+ bountyAssignFileUlr?: string;
+ /** 濂栧姳閲戞眹鎬昏〃 */
+ bountyCollectFileUrl?: string;
+ }
+
+ interface ParkBountyApplyBatchTransferInput {
+ parkBountyApplyDetailId?: string[];
+ /** 鍏ヨ处閲戦 */
+ transferToAmount?: number;
+ }
+
+ interface ParkBountyApplyDetailInfo {
+ parkBountyApplyId?: string;
+ enterpriseId?: string;
+ /** 浼佷笟鍚嶇О */
+ enterpriseName?: string;
+ /** 鍩烘湰鎴蜂俊鎭� */
+ bankAccountInfo?: string;
+ /** 鐢佃瘽 */
+ contactPhone?: string;
+ /** 钀ヤ笟鎵х収 */
+ licenseUrl?: string;
+ /** 绀句細缁熶竴淇$敤浠g爜 */
+ societyCreditCode?: string;
+ /** 鍥尯鍏ラ┗鍗忚 */
+ parkEnterPactUrl?: string;
+ /** 瀹岀◣璇佹槑 */
+ ratePaymentFileUrl?: string;
+ /** 浼佷笟缂寸◣鏄庣粏姹囨�昏〃 */
+ taxSubFileUrl?: string;
+ /** 浼佷笟缁忚惀鍒╂鼎琛� */
+ operateProfitesUrl?: string;
+ /** 鍏ラ┗鍏宠仈璇存槑 */
+ enterRelateUrl?: string;
+ /** C绔釜绋庡畬绋庢儏鍐佃鏄� */
+ personTaxRatePayUrl?: string;
+ authType?: EnterpriseTypeEnum;
+ }
+
+ interface ParkBountyApplySettleInput {
+ parkBountyApplyId?: string;
+ /** 鍙戞斁鍑瘉 */
+ settleFileUrl?: string;
+ }
+
+ interface ParkBountyApplyTransferDetailInfo {
+ parkBountyApplyId?: string;
+ /** 璐﹀彿 */
+ userName?: string;
+ enterpriseId?: string;
+ /** 浼佷笟鍚嶇О */
+ enterpriseName?: string;
+ /** 鍩烘湰鎴蜂俊鎭� */
+ bankAccountInfo?: string;
+ /** 鐢佃瘽 */
+ contactPhone?: string;
+ /** 钀ヤ笟鎵х収 */
+ licenseUrl?: string;
+ /** 绀句細缁熶竴淇$敤浠g爜 */
+ societyCreditCode?: string;
+ /** 鍥尯鍏ラ┗鍗忚 */
+ parkEnterPactUrl?: string;
+ /** 瀹岀◣璇佹槑 */
+ ratePaymentFileUrl?: string;
+ /** 浼佷笟缂寸◣鏄庣粏姹囨�昏〃 */
+ taxSubFileUrl?: string;
+ /** 浼佷笟缁忚惀鍒╂鼎琛� */
+ operateProfitesUrl?: string;
+ /** 鍏ラ┗鍏宠仈璇存槑 */
+ enterRelateUrl?: string;
+ /** C绔釜绋庡畬绋庢儏鍐佃鏄� */
+ personTaxRatePayUrl?: string;
+ authType?: EnterpriseTypeEnum;
+ transferToStatus?: TransferToStatusEnum;
+ /** 鍏ヨ处閲戦 */
+ transferToAmount?: number;
+ /** 鍏ヨ处鏃堕棿 */
+ transferToTime?: string;
+ /** 鍏ヨ处鍑瘉 */
+ transferToFileUrl?: string;
+ }
+
+ interface ParkBountyApplyTransferFileInput {
+ parkBountyApplyDetailId?: string;
+ /** 鍏ヨ处鍑瘉 */
+ transferToFileUrl?: string;
+ }
+
+ interface ParkBountyApplyTransferInput {
+ parkBountyApplyDetailId?: string;
+ /** 鍏ヨ处閲戦 */
+ transferToAmount?: number;
+ }
+
type ParkCustomersCountTypeEnum = 10 | 50 | 100;
interface ParkHRForHomePageInput {
@@ -16595,6 +16827,7 @@
interface ResetPasswordBaseInput {
userId?: string;
+ password?: string;
}
interface ResetPasswordDto {
@@ -17350,12 +17583,26 @@
type?: number;
}
+ type SettleStatusEnum = 1 | 2;
+
interface SetUserCertificationAuditStatusInput {
/** 瀹℃牳Id */
id?: string;
auditStatus?: UserCertificationAuditStatusEnum;
/** 瀹℃牳澶囨敞 */
auditNote?: string;
+ }
+
+ interface SetUserEnterpiseBaseInfoInput {
+ enterpriseName?: string;
+ societyCreditCode?: string;
+ licenseUrl?: string;
+ }
+
+ interface SetUserEnterpriseBankInfoInput {
+ bankName?: string;
+ bankBranchName?: string;
+ bankCardNumber?: string;
}
interface SetUserIndustrialParkInput {
@@ -18285,6 +18532,8 @@
type TransAccountTypeEnum = 10 | 20;
+ type TransferToStatusEnum = 1 | 2;
+
interface TypeApiDescriptionModel {
baseType?: string;
isEnum?: boolean;
@@ -18333,6 +18582,7 @@
companyOrgId?: string;
/** 缁勭粐鏋舵瀯閮ㄩ棬id */
departmentOrgId?: string;
+ password?: string;
/** 鐢ㄦ埛Id */
id?: string;
}
diff --git a/src/views/MaterialReview/MaterialReviewDetail.vue b/src/views/MaterialReview/MaterialReviewDetail.vue
index f78fc8f..b04e8fa 100644
--- a/src/views/MaterialReview/MaterialReviewDetail.vue
+++ b/src/views/MaterialReview/MaterialReviewDetail.vue
@@ -4,15 +4,13 @@
<PageFormLayout>
<template #title>
<div class="page-form-layout-title">
- <div>
- 鐢虫姤璇︽儏
- <span class="page-form-layout-title-item status">
- {{ `瀹℃牳鐘舵��:${form.categoryName}` }}
- </span>
- <span class="page-form-layout-title-item remark">
- {{ `瀹℃牳鏈�氳繃鍘熷洜:${form.categoryName}` }}
- </span>
- </div>
+ 鐢虫姤璇︽儏
+ <span class="page-form-layout-title-item status">
+ {{ `瀹℃牳鐘舵��:${form.categoryName}` }}
+ </span>
+ <span class="page-form-layout-title-item remark">
+ {{ `瀹℃牳鏈�氳繃鍘熷洜:${form.categoryName}` }}
+ </span>
</div>
</template>
<DetailView :form="form">
diff --git a/src/views/Reward/RewardDeclareDetail.vue b/src/views/Reward/RewardDeclareDetail.vue
index 5bf7266..94164c5 100644
--- a/src/views/Reward/RewardDeclareDetail.vue
+++ b/src/views/Reward/RewardDeclareDetail.vue
@@ -18,7 +18,7 @@
import DetailView from '@/components/commonView/DetailView.vue';
import DeclareEnterpriseTableView from '@/components/commonView/DeclareEnterpriseTableView.vue';
import { useQuery } from '@tanstack/vue-query';
-import * as informationServices from '@/services/api/Information';
+import * as parkBountyApplyServices from '@/services/api/ParkBountyApply';
import { convertApi2FormUrlOnlyOne } from '@/utils';
import { useRouteView } from '@/hooks';
@@ -30,28 +30,49 @@
const { closeViewPush } = useRouteView();
const id = route.params?.id as string;
const form = reactive({
- categoryName: '',
- amount: 0,
- url: [] as UploadUserFile[],
+ searchKeyWord: '',
+ batchNo: '',
+ parkName: '',
+ parkTypeName: '',
+ applyMonth: '',
+ applySumAmount: 0,
+ enterpriseTaxSubFileUrl: [] as UploadUserFile[],
+ enterpriseOperateFileUrl: [] as UploadUserFile[],
+ bountyAssignFileUlr: [] as UploadUserFile[],
+ bountyCollectFileUrl: [] as UploadUserFile[],
});
const tableRef = ref<InstanceType<typeof DeclareEnterpriseTableView>>();
const { data: detail, isLoading } = useQuery({
- queryKey: ['informationServices/getInformationShowDetail', id],
+ queryKey: ['parkBountyApplyServices/getParkBountyApplyDetail', id],
queryFn: async () => {
- return await informationServices.getInformationShowDetail(
- { id: id },
+ return await parkBountyApplyServices.getParkBountyApplyDetail(
+ { parkBountyApplyId: id, searchKeyWord: form.searchKeyWord },
{
showLoading: false,
}
);
},
- placeholderData: () => ({} as API.InformationShowDetailDto),
+ placeholderData: () => ({} as API.GetParkBountyApplyInfoOutput),
onSuccess(data) {
- form.categoryName = data.categoryName;
- form.amount = data.attentionCount;
- form.url = convertApi2FormUrlOnlyOne(data.avatarUrl);
+ form.batchNo = data.parkBountyApplyBaseInfo.batchNo;
+ form.parkName = data.parkBountyApplyBaseInfo.parkName;
+ form.parkTypeName = data.parkBountyApplyBaseInfo.parkTypeName;
+ form.applyMonth = data.parkBountyApplyBaseInfo.applyMonth;
+ form.applySumAmount = data.parkBountyApplyBaseInfo.applySumAmount;
+ form.enterpriseTaxSubFileUrl = convertApi2FormUrlOnlyOne(
+ data.parkBountyApplyBaseInfo?.enterpriseTaxSubFileUrl
+ );
+ form.enterpriseOperateFileUrl = convertApi2FormUrlOnlyOne(
+ data.parkBountyApplyBaseInfo?.enterpriseOperateFileUrl
+ );
+ form.bountyAssignFileUlr = convertApi2FormUrlOnlyOne(
+ data.parkBountyApplyBaseInfo?.bountyAssignFileUlr
+ );
+ form.bountyCollectFileUrl = convertApi2FormUrlOnlyOne(
+ data.parkBountyApplyBaseInfo?.bountyCollectFileUrl
+ );
tableRef.value?.getList();
},
diff --git a/src/views/Reward/RewardGrant.vue b/src/views/Reward/RewardGrant.vue
index 1d4c97c..d774178 100644
--- a/src/views/Reward/RewardGrant.vue
+++ b/src/views/Reward/RewardGrant.vue
@@ -5,7 +5,7 @@
<template #query>
<QueryFilterItem tip-content="鐢虫姤鏃ユ湡">
<FieldDatePicker
- v-model="extraParamState.date"
+ v-model="extraParamState.creationTime"
type="daterange"
range-separator="~"
start-placeholder="寮�濮嬫棩鏈�"
@@ -16,7 +16,7 @@
</QueryFilterItem>
<QueryFilterItem tip-content="鍙戞斁鏃ユ湡">
<FieldDatePicker
- v-model="extraParamState.date"
+ v-model="extraParamState.settleTime"
type="daterange"
range-separator="~"
start-placeholder="寮�濮嬫棩鏈�"
@@ -27,8 +27,8 @@
</QueryFilterItem>
<QueryFilterItem>
<FieldRadio
- v-model="extraParamState.showStatus"
- :value-enum="DataRangeEnumText"
+ v-model="extraParamState.settleStatus"
+ :value-enum="SettleStatusEnumText"
buttonStyle
showAllBtn
@change="getList()"
@@ -36,7 +36,7 @@
</QueryFilterItem>
<QueryFilterItem>
<SearchInput
- v-model="extraParamState.keyword"
+ v-model="extraParamState.batchNo"
style="width: 200px"
placeholder="鎵规鍙�"
@on-click-search="getList"
@@ -48,7 +48,6 @@
<ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
</ProTableV2>
-
<RewardGrantDialog v-bind="dialogProps"></RewardGrantDialog>
</AppContainer>
</LoadingLayout>
@@ -68,11 +67,12 @@
FieldDatePicker,
useFormDialog,
UploadUserFile,
+ bolePreview,
} from '@bole-core/components';
import { OrderInputType } from '@bole-core/core';
import { convertApi2FormUrlOnlyOne, format } from '@/utils';
-import { DataRangeEnum, DataRangeEnumText } from '@/constants';
-import * as informationServices from '@/services/api/Information';
+import { SettleStatusEnum, SettleStatusEnumText } from '@/constants';
+import * as parkBountyApplyServices from '@/services/api/ParkBountyApply';
import RewardGrantDialog from './components/RewardGrantDialog.vue';
import _ from 'lodash';
import { ModelValueType } from 'element-plus';
@@ -84,42 +84,42 @@
const column: API.CustomModuleColumnDto[] = [
{
id: '1',
- enCode: 'changeFlag',
+ enCode: 'batchNo',
name: '鐢宠鎵规鍙�',
},
{
id: '2',
- enCode: 'name',
+ enCode: 'parkName',
name: '鐢宠鍥尯',
},
{
id: '3',
- enCode: 'idNumber',
+ enCode: 'parkTypeName',
name: '鍥尯绫诲瀷',
},
{
id: '4',
- enCode: 'workType',
+ enCode: 'applyMonth',
name: '鐢宠濂栧姳閲戞湀浠�',
},
{
id: '5',
- enCode: 'gender',
+ enCode: 'applySumAmount',
name: '濂栧姳閲戞眹鎬婚噾棰濓紙鍏冿級',
},
{
id: '6',
- enCode: 'age',
+ enCode: 'creationTime',
name: '鐢虫姤鏃ユ湡',
},
{
id: '7',
- enCode: 'phoneNumber',
+ enCode: 'settleStatus',
name: '鍙戞斁鐘舵��',
},
{
id: '8',
- enCode: 'phoneNumber',
+ enCode: 'settleTime',
name: '鍙戞斁鏃ユ湡',
},
];
@@ -175,16 +175,20 @@
} = useTable(
async ({ pageIndex, pageSize }, extraParamState) => {
try {
- let params: API.GetInformationForManageInput = {
+ let params: API.GetParkBountyApplyListInput = {
pageModel: {
rows: pageSize,
page: pageIndex,
orderInput: extraParamState.orderInput,
},
- publishStartDate: format(extraParamState.date?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
- publishEndDate: format(extraParamState.date?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
+ batchNo: extraParamState.batchNo,
+ settleStatus: extraParamState.settleStatus,
+ creationTimeBegin: format(extraParamState.creationTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
+ creationTimeEnd: format(extraParamState.creationTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
+ settleTimeBegin: format(extraParamState.settleTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
+ settleTimeEnd: format(extraParamState.settleTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
};
- let res = await informationServices.getInformationForManage(params, {
+ let res = await parkBountyApplyServices.getParkBountyApplyList(params, {
showLoading: !state.loading,
});
return res;
@@ -192,10 +196,17 @@
},
{
defaultExtraParams: {
- keyword: '',
- showStatus: '' as any as DataRangeEnum,
- date: [] as unknown as ModelValueType,
+ batchNo: '',
+ settleStatus: '' as any as SettleStatusEnum,
+ creationTime: [] as unknown as ModelValueType,
+ settleTime: [] as unknown as ModelValueType,
orderInput: [{ property: 'creationTime', order: OrderInputType.Desc }],
+ },
+ columnsRenderProps: {
+ creationTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' },
+ settleTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' },
+ applySumAmount: { type: 'money' },
+ settleStatus: { type: 'enum', valueEnum: SettleStatusEnumText },
},
}
);
@@ -210,20 +221,35 @@
}
const { dialogProps, handleAdd, handleEdit, editForm } = useFormDialog({
+ onConfirm: handleAddOrEdit,
defaultFormParams: {
- id: '',
- url: [] as UploadUserFile[],
+ parkBountyApplyId: '',
+ settleFileUrl: [] as UploadUserFile[],
},
});
-function openDialog(row?: API.IncentivePaymentsManageListOutput) {
+function openDialog(row?: API.GetParkBountyApplyListOutput) {
handleEdit({
- id: row.enterpriseName,
- url: convertApi2FormUrlOnlyOne(row.issueVouchersUrl),
+ parkBountyApplyId: row.id,
+ settleFileUrl: [] as UploadUserFile[],
});
}
-function handlePreview(row?: API.IncentivePaymentsManageListOutput) {}
+async function handleAddOrEdit() {
+ try {
+ let params: API.ParkBountyApplySettleInput = {
+ parkBountyApplyId: editForm.parkBountyApplyId,
+ settleFileUrl: editForm.settleFileUrl[0].path,
+ };
+ let res = await parkBountyApplyServices.parkBountyApplySettle(params);
+ } catch (error) {}
+}
+
+function handlePreview(row?: API.GetParkBountyApplyListOutput) {
+ bolePreview({
+ fileUrl: row.parkName,
+ });
+}
</script>
<style lang="scss" scoped>
diff --git a/src/views/Reward/components/RewardGrantDialog.vue b/src/views/Reward/components/RewardGrantDialog.vue
index a6b4b2c..ca8c963 100644
--- a/src/views/Reward/components/RewardGrantDialog.vue
+++ b/src/views/Reward/components/RewardGrantDialog.vue
@@ -11,11 +11,11 @@
<ProForm :model="innerForm" ref="dialogForm" label-width="120px">
<ProFormItemV2
label="涓婁紶鍙戞斁鍑瘉:"
- prop="url"
+ prop="settleFileUrl"
:check-rules="[{ message: '璇蜂笂浼犲彂鏀惧嚟璇�', type: 'upload' }]"
>
<ProFormUpload
- v-model:file-url="innerForm.url"
+ v-model:file-url="innerForm.settleFileUrl"
:limit="1"
:limitFileSize="10"
accept="doc,docx,pdf"
@@ -51,8 +51,8 @@
type Props = {
modelValue: boolean;
form?: {
- id: string;
- url: UploadUserFile[];
+ parkBountyApplyId: string;
+ settleFileUrl: UploadUserFile[];
};
};
--
Gitblit v1.9.1