From 5b0401fea3c339aa45feb0d165f36b1b7a76fdaf Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期四, 20 十一月 2025 16:49:01 +0800
Subject: [PATCH] feat: 页面
---
src/views/Reward/RewardGrant.vue | 182 ++++++++++-----------------------------------
1 files changed, 42 insertions(+), 140 deletions(-)
diff --git a/src/views/Reward/RewardGrant.vue b/src/views/Reward/RewardGrant.vue
index ab8d42f..e5254de 100644
--- a/src/views/Reward/RewardGrant.vue
+++ b/src/views/Reward/RewardGrant.vue
@@ -14,7 +14,7 @@
@change="getList()"
></FieldDatePicker>
</QueryFilterItem>
- <QueryFilterItem tip-content="鎷ㄤ粯鏃ユ湡">
+ <QueryFilterItem tip-content="璐㈡斂鎷ㄤ粯鐧昏鏃ユ湡">
<FieldDatePicker
v-model="extraParamState.financeTime"
type="daterange"
@@ -25,7 +25,7 @@
@change="getList()"
></FieldDatePicker>
</QueryFilterItem>
- <QueryFilterItem tip-content="鍏呭�兼棩鏈�">
+ <QueryFilterItem tip-content="骞冲彴鎷ㄤ粯鐧昏鏃ユ湡">
<FieldDatePicker
v-model="extraParamState.settleTime"
type="daterange"
@@ -36,19 +36,19 @@
@change="getList()"
></FieldDatePicker>
</QueryFilterItem>
- <QueryFilterItem tip-content="璐㈡斂鎷ㄤ粯鐘舵��">
+ <QueryFilterItem tip-content="璐㈡斂鎷ㄤ粯鐧昏鐘舵��">
<FieldRadio
v-model="extraParamState.financeStatus"
- :value-enum="FinanceStatusEnumTextV2"
+ :value-enum="FinanceStatusEnumTextV2Query"
buttonStyle
showAllBtn
@change="getList()"
/>
</QueryFilterItem>
- <QueryFilterItem tip-content="骞冲彴鍏呭�肩姸鎬�">
+ <QueryFilterItem tip-content="骞冲彴鎷ㄤ粯鐧昏鐘舵��">
<FieldRadio
v-model="extraParamState.settleStatus"
- :value-enum="SettleStatusEnumTextV2"
+ :value-enum="SettleStatusEnumTextV2Query"
buttonStyle
showAllBtn
@change="getList()"
@@ -72,8 +72,6 @@
v-bind="dialogMaterialFileProps"
:show-upload-btn="false"
:show-delete-btn="false"
- :show-check-btn="false"
- downloadBtnText="鏌ョ湅"
title="鏌ョ湅鍑瘉"
:BusinessTypeEnumText="TransferFileEnumInRewardGrandText"
/>
@@ -107,9 +105,12 @@
FinanceStatusEnum,
TransferFileEnumInRewardGrandText,
FinanceStatusEnumTextV2,
+ FinanceStatusEnumTextV2Query,
SettleStatusEnumTextV2,
+ SettleStatusEnumTextV2Query,
IncomeTypeEnum,
BillStatusEnum,
+ BountyCheckStatusEnum,
} from '@/constants';
import * as parkBountyApplyServices from '@/services/api/ParkBountyApply';
import RegisterDialog from './components/RegisterDialog.vue';
@@ -121,118 +122,16 @@
import { useQueryClient } from '@tanstack/vue-query';
import { TransferFileEnumInRewardGrandTableItem } from '@/components/commonView/types';
import { FourStreamsMaterialUtils } from '@/components/commonView/utils';
+import { useAccess } from '@/hooks';
defineOptions({
name: 'RewardGrant',
});
-const column: API.CustomModuleColumnDto[] = [
- {
- id: '1',
- enCode: 'batchNo',
- name: '鐢宠鎵规鍙�',
- width: 160,
- },
- {
- id: '2',
- enCode: 'parkName',
- name: '鐢宠鍥尯',
- width: 250,
- },
- {
- id: '3',
- enCode: 'parkTypeName',
- name: '鍥尯绫诲瀷',
- width: 160,
- },
- {
- id: '4',
- enCode: 'applyMonth',
- name: '鐢宠骞冲彴濂栧姳鏈堜唤',
- width: 160,
- },
- {
- id: '5',
- enCode: 'applySumAmount',
- name: '骞冲彴濂栧姳姹囨�婚噾棰濓紙鍏冿級',
- width: 180,
- },
- {
- id: '6',
- enCode: 'creationTime',
- name: '鐢虫姤鏃ユ湡',
- width: 180,
- },
- {
- id: '7',
- enCode: 'financeStatus',
- name: '璐㈡斂鎷ㄤ粯鐧昏鐘舵��',
- width: 160,
- },
- {
- id: '8',
- enCode: 'financeTime',
- name: '鐧昏鎷ㄤ粯鏃ユ湡',
- width: 180,
- },
- {
- id: '9',
- enCode: 'settleStatus',
- name: '骞冲彴鍏呭�肩櫥璁扮姸鎬�',
- width: 160,
- },
- {
- id: '10',
- enCode: 'settleTime',
- name: '鐧昏鍏呭�兼棩鏈�',
- width: 180,
- },
-];
-
-const operationBtns = defineOperationBtns([
- {
- data: {
- enCode: 'detailBtn',
- name: '鐢虫姤璇︽儏',
- },
- emits: {
- onClick: (role) => goDetail(role),
- },
- },
- // {
- // data: {
- // enCode: 'financialBtn',
- // name: '璐㈡斂鎷ㄤ粯',
- // },
- // emits: {
- // onClick: (role) => openFinancialDialog(role),
- // },
- // extraProps: {
- // hide: (row: API.GetParkBountyApplyListOutput) =>
- // row.financeStatus === FinanceStatusEnum.HasIncome,
- // },
- // },
- // {
- // data: {
- // enCode: 'plateformBtn',
- // name: '骞冲彴鍏呭��',
- // },
- // emits: {
- // onClick: (role) => openPlateformDialog(role),
- // },
- // extraProps: {
- // hide: (row: API.GetParkBountyApplyListOutput) =>
- // row.settleStatus !== SettleStatusEnum.WaitForSettle,
- // },
- // },
- {
- data: {
- enCode: 'registerBtn',
- name: '鐧昏',
- },
- emits: {
- onClick: (role) => openRegisterDialog(role),
- },
+const operationBtnMap: Record<string, OperationBtnType> = {
+ detailBtn: { emits: { onClick: (role) => goDetail(role) } },
+ registerBtn: {
+ emits: { onClick: (role) => goRewardGrantRegister(role) },
extraProps: {
hide: (row: API.GetParkBountyApplyListOutput) =>
!(
@@ -241,35 +140,23 @@
),
},
},
- {
- data: {
- enCode: 'uploadCertBtn',
- name: '涓婁紶鍑瘉',
- },
- emits: {
- onClick: (role) => openCertRewardDialog(role),
- },
- extraProps: {
- hide: (row: API.GetParkBountyApplyListOutput) =>
- !(
- row.settleStatus === SettleStatusEnum.HasSettle ||
- row.financeStatus === FinanceStatusEnum.HasIncome
- ),
- },
- },
- {
- data: {
- enCode: 'checkBtn',
- name: '鏌ョ湅鍑瘉',
- },
+ checkBtn: {
emits: {
onClick: (row) => openMaterialFileDialog(row),
},
extraProps: {
- hide: (row: API.GetParkBountyApplyListOutput) => row.billStatus !== BillStatusEnum.HasUpload,
+ hide: (row: API.GetParkBountyApplyListOutput) =>
+ !(
+ row.settleStatus === SettleStatusEnum.HasBill ||
+ row.financeStatus === FinanceStatusEnum.HasBill
+ ),
},
},
-]);
+};
+
+const { checkSubModuleItemShow, column, operationBtns } = useAccess({
+ operationBtnMap,
+});
const router = useRouter();
const BaseState = {
@@ -307,6 +194,7 @@
settleTimeEnd: format(extraParamState.settleTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
financeTimeBegin: format(extraParamState.financeTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
financeTimeEnd: format(extraParamState.financeTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
+ outReCheckStatus: BountyCheckStatusEnum.CheckPassed,
};
let res = await parkBountyApplyServices.getParkBountyApplyList(params, {
showLoading: !state.loading,
@@ -405,6 +293,7 @@
defaultFormParams: {
incomeType: '' as any as IncomeTypeEnum,
parkBountyApplyId: '',
+ fileUrl: [] as UploadUserFile[],
financeSumAmount: 0,
showSuportPlatRecharge: false,
showSuportFiscalRecharge: false,
@@ -414,6 +303,7 @@
function openRegisterDialog(row?: API.GetParkBountyApplyListOutput) {
handleRegisterEdit({
incomeType: '' as any as IncomeTypeEnum,
+ fileUrl: [] as UploadUserFile[],
showSuportPlatRecharge: row.settleStatus === SettleStatusEnum.WaitForSettle,
showSuportFiscalRecharge: row.financeStatus === FinanceStatusEnum.WaitForIncome,
parkBountyApplyId: row.id,
@@ -422,15 +312,18 @@
}
async function handleRegister() {
try {
- let params: API.ParkBountyApplyFinanceFileInput = {
+ let params = {
parkBountyApplyId: editRegisterForm.parkBountyApplyId,
- financeSumAmount: editRegisterForm.financeSumAmount,
};
let res;
if (editRegisterForm.incomeType === IncomeTypeEnum.Fiscal) {
+ (params as API.ParkBountyApplyFinanceFileInput).financeSumAmount =
+ editRegisterForm.financeSumAmount;
res = await parkBountyApplyServices.parkBountyApplyFinanceBillAmount(params);
}
if (editRegisterForm.incomeType === IncomeTypeEnum.Platform) {
+ (params as API.ParkBountyApplySettleInput).settleSumAmount =
+ editRegisterForm.financeSumAmount;
res = await parkBountyApplyServices.parkBountyApplySettleAmount(params);
}
if (res) {
@@ -533,6 +426,15 @@
}
} catch (error) {}
}
+
+function goRewardGrantRegister(row: API.GetParkBountyApplyListOutput) {
+ router.push({
+ name: 'RewardGrantRegister',
+ params: {
+ id: row.id,
+ },
+ });
+}
</script>
<style lang="scss" scoped>
--
Gitblit v1.9.1