From 44f10c278aae48b8793ae7309488c24494e69866 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期二, 18 十一月 2025 14:46:19 +0800
Subject: [PATCH] fix: s
---
src/views/Reward/RewardGrant.vue | 369 +++++++++++++++++++++++++++++-----------------------
1 files changed, 203 insertions(+), 166 deletions(-)
diff --git a/src/views/Reward/RewardGrant.vue b/src/views/Reward/RewardGrant.vue
index 8716cc1..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="FinanceStatusEnumText"
+ :value-enum="FinanceStatusEnumTextV2Query"
buttonStyle
showAllBtn
@change="getList()"
/>
</QueryFilterItem>
- <QueryFilterItem tip-content="骞冲彴鍏呭�肩姸鎬�">
+ <QueryFilterItem tip-content="骞冲彴鎷ㄤ粯鐧昏鐘舵��">
<FieldRadio
v-model="extraParamState.settleStatus"
- :value-enum="SettleStatusEnumText"
+ :value-enum="SettleStatusEnumTextV2Query"
buttonStyle
showAllBtn
@change="getList()"
@@ -72,13 +72,13 @@
v-bind="dialogMaterialFileProps"
:show-upload-btn="false"
:show-delete-btn="false"
- :show-check-btn="false"
- downloadBtnText="鏌ョ湅"
title="鏌ョ湅鍑瘉"
:BusinessTypeEnumText="TransferFileEnumInRewardGrandText"
/>
- <FinancialDialog v-bind="dialogFinancialProps"></FinancialDialog>
- <PlateformDialog v-bind="dialogPlateformProps"></PlateformDialog>
+ <RegisterDialog v-bind="dialogRegisterProps"></RegisterDialog>
+ <UploadCertRewardDialog v-bind="dialogCertRewardProps"></UploadCertRewardDialog>
+ <!-- <FinancialDialog v-bind="dialogFinancialProps"></FinancialDialog>
+ <PlateformDialog v-bind="dialogPlateformProps"></PlateformDialog> -->
</AppContainer>
</LoadingLayout>
</template>
@@ -102,12 +102,19 @@
import { format } from '@/utils';
import {
SettleStatusEnum,
- SettleStatusEnumText,
FinanceStatusEnum,
- FinanceStatusEnumText,
TransferFileEnumInRewardGrandText,
+ FinanceStatusEnumTextV2,
+ FinanceStatusEnumTextV2Query,
+ SettleStatusEnumTextV2,
+ SettleStatusEnumTextV2Query,
+ IncomeTypeEnum,
+ BillStatusEnum,
+ BountyCheckStatusEnum,
} from '@/constants';
import * as parkBountyApplyServices from '@/services/api/ParkBountyApply';
+import RegisterDialog from './components/RegisterDialog.vue';
+import UploadCertRewardDialog from './components/UploadCertRewardDialog.vue';
import FinancialDialog from './components/FinancialDialog.vue';
import PlateformDialog from './components/PlateformDialog.vue';
import _ from 'lodash';
@@ -115,125 +122,41 @@
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),
- },
+const operationBtnMap: Record<string, OperationBtnType> = {
+ detailBtn: { emits: { onClick: (role) => goDetail(role) } },
+ registerBtn: {
+ emits: { onClick: (role) => goRewardGrantRegister(role) },
extraProps: {
hide: (row: API.GetParkBountyApplyListOutput) =>
- row.financeStatus === FinanceStatusEnum.HasIncome,
+ !(
+ row.settleStatus === SettleStatusEnum.WaitForSettle ||
+ row.financeStatus === FinanceStatusEnum.WaitForIncome
+ ),
},
},
- {
- data: {
- enCode: 'plateformBtn',
- name: '骞冲彴鍏呭��',
- },
- emits: {
- onClick: (role) => openPlateformDialog(role),
- },
- extraProps: {
- hide: (row: API.GetParkBountyApplyListOutput) =>
- row.settleStatus !== SettleStatusEnum.WaitForSettle,
- },
- },
- {
- data: {
- enCode: 'checkBtn',
- name: '鏌ョ湅鍑瘉',
- },
+ checkBtn: {
emits: {
onClick: (row) => openMaterialFileDialog(row),
},
extraProps: {
hide: (row: API.GetParkBountyApplyListOutput) =>
- row.settleStatus === SettleStatusEnum.WaitForSettle &&
- row.financeStatus === FinanceStatusEnum.WaitForIncome,
+ !(
+ row.settleStatus === SettleStatusEnum.HasBill ||
+ row.financeStatus === FinanceStatusEnum.HasBill
+ ),
},
},
-]);
+};
+
+const { checkSubModuleItemShow, column, operationBtns } = useAccess({
+ operationBtnMap,
+});
const router = useRouter();
const BaseState = {
@@ -271,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,
@@ -294,8 +218,8 @@
settleTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' },
financeTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' },
applySumAmount: { type: 'money' },
- settleStatus: { type: 'enum', valueEnum: SettleStatusEnumText },
- financeStatus: { type: 'enum', valueEnum: FinanceStatusEnumText },
+ settleStatus: { type: 'enum', valueEnum: SettleStatusEnumTextV2 },
+ financeStatus: { type: 'enum', valueEnum: FinanceStatusEnumTextV2 },
},
}
);
@@ -322,34 +246,177 @@
});
const queryClient = useQueryClient();
+
+// const {
+// dialogProps: dialogFinancialProps,
+// handleEdit: handleFinancialEdit,
+// editForm: editFinancialForm,
+// } = useFormDialog({
+// onConfirm: handleFinancial,
+// defaultFormParams: {
+// parkBountyApplyId: '',
+// financeSumAmount: 0,
+// financeFileUrl: [] as UploadUserFile[],
+// },
+// });
+
+// function openFinancialDialog(row?: API.GetParkBountyApplyListOutput) {
+// handleFinancialEdit({
+// parkBountyApplyId: row.id,
+// financeSumAmount: 0,
+// financeFileUrl: [] as UploadUserFile[],
+// });
+// }
+// async function handleFinancial() {
+// try {
+// let params: API.ParkBountyApplyFinanceFileInput = {
+// parkBountyApplyId: editFinancialForm.parkBountyApplyId,
+// financeSumAmount: editFinancialForm.financeSumAmount,
+// financeFileUrl: editFinancialForm.financeFileUrl.map((x) => x.path).join('|'),
+// };
+// let res = await parkBountyApplyServices.parkBountyApplyFinanceBill(params);
+// if (res) {
+// Message.successMessage('鎿嶄綔鎴愬姛');
+// getList(paginationState.pageIndex);
+// queryClient.invalidateQueries({
+// queryKey: ['parkBountyApplyServices/getGoverDataBoard'],
+// });
+// }
+// } catch (error) {}
+// }
const {
- dialogProps: dialogFinancialProps,
- handleEdit: handleFinancialEdit,
- editForm: editFinancialForm,
+ dialogProps: dialogRegisterProps,
+ handleEdit: handleRegisterEdit,
+ editForm: editRegisterForm,
} = useFormDialog({
- onConfirm: handleFinancial,
+ onConfirm: handleRegister,
defaultFormParams: {
+ incomeType: '' as any as IncomeTypeEnum,
parkBountyApplyId: '',
+ fileUrl: [] as UploadUserFile[],
financeSumAmount: 0,
- financeFileUrl: [] as UploadUserFile[],
+ showSuportPlatRecharge: false,
+ showSuportFiscalRecharge: false,
},
});
-function openFinancialDialog(row?: API.GetParkBountyApplyListOutput) {
- handleFinancialEdit({
+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,
financeSumAmount: 0,
- financeFileUrl: [] as UploadUserFile[],
});
}
-async function handleFinancial() {
+async function handleRegister() {
+ try {
+ let params = {
+ parkBountyApplyId: editRegisterForm.parkBountyApplyId,
+ };
+ 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) {
+ Message.successMessage('鎿嶄綔鎴愬姛');
+ getList(paginationState.pageIndex);
+ queryClient.invalidateQueries({
+ queryKey: ['parkBountyApplyServices/getGoverDataBoard'],
+ });
+ }
+ } catch (error) {}
+}
+
+// const {
+// dialogProps: dialogPlateformProps,
+// handleEdit: handlePlateformEdit,
+// editForm: editPlateformForm,
+// } = useFormDialog({
+// onConfirm: handlePlateform,
+// defaultFormParams: {
+// parkBountyApplyId: '',
+// settleSumAmount: 0,
+// settleFileUrl: [] as UploadUserFile[],
+// },
+// });
+
+// function openPlateformDialog(row?: API.GetParkBountyApplyListOutput) {
+// handlePlateformEdit({
+// parkBountyApplyId: row.id,
+// settleSumAmount: 0,
+// settleFileUrl: [] as UploadUserFile[],
+// });
+// }
+
+// async function handlePlateform() {
+// try {
+// let params: API.ParkBountyApplySettleInput = {
+// parkBountyApplyId: editPlateformForm.parkBountyApplyId,
+// settleSumAmount: editPlateformForm.settleSumAmount,
+// settleFileUrl: editPlateformForm.settleFileUrl.map((x) => x.path).join('|'),
+// };
+// let res = await parkBountyApplyServices.parkBountyApplySettle(params);
+// if (res) {
+// Message.successMessage('鎿嶄綔鎴愬姛');
+// getList(paginationState.pageIndex);
+// queryClient.invalidateQueries({
+// queryKey: ['parkBountyApplyServices/getGoverDataBoard'],
+// });
+// }
+// } catch (error) {}
+// }
+
+const {
+ dialogProps: dialogCertRewardProps,
+ handleEdit: handleCertRewardEdit,
+ editForm: editCertRewardForm,
+} = useFormDialog({
+ onConfirm: handleCertReward,
+ defaultFormParams: {
+ incomeType: '' as any as IncomeTypeEnum,
+ parkBountyApplyId: '',
+ fileUrl: [] as UploadUserFile[],
+ showSuportPlatRecharge: false,
+ showSuportFiscalRecharge: false,
+ },
+});
+
+function openCertRewardDialog(row?: API.GetParkBountyApplyListOutput) {
+ handleCertRewardEdit({
+ incomeType: '' as any as IncomeTypeEnum,
+ showSuportPlatRecharge: row.settleStatus === SettleStatusEnum.HasSettle,
+ showSuportFiscalRecharge: row.financeStatus === FinanceStatusEnum.HasIncome,
+ parkBountyApplyId: row.id,
+ fileUrl: [] as UploadUserFile[],
+ });
+}
+async function handleCertReward() {
try {
let params: API.ParkBountyApplyFinanceFileInput = {
- parkBountyApplyId: editFinancialForm.parkBountyApplyId,
- financeSumAmount: editFinancialForm.financeSumAmount,
- financeFileUrl: editFinancialForm.financeFileUrl.map((x) => x.path).join('|'),
+ parkBountyApplyId: editCertRewardForm.parkBountyApplyId,
};
- let res = await parkBountyApplyServices.parkBountyApplyFinanceBill(params);
+ let res;
+ if (editCertRewardForm.incomeType === IncomeTypeEnum.Fiscal) {
+ (params as API.ParkBountyApplyFinanceFileInput).financeFileUrl = editCertRewardForm.fileUrl
+ .map((x) => x.path)
+ .join('|');
+ res = await parkBountyApplyServices.parkBountyApplyFinanceBill(params);
+ }
+ if (editCertRewardForm.incomeType === IncomeTypeEnum.Platform) {
+ (params as API.ParkBountyApplySettleInput).settleFileUrl = editCertRewardForm.fileUrl
+ .map((x) => x.path)
+ .join('|');
+ res = await parkBountyApplyServices.parkBountyApplySettle(params);
+ }
if (res) {
Message.successMessage('鎿嶄綔鎴愬姛');
getList(paginationState.pageIndex);
@@ -360,43 +427,13 @@
} catch (error) {}
}
-const {
- dialogProps: dialogPlateformProps,
- handleEdit: handlePlateformEdit,
- editForm: editPlateformForm,
-} = useFormDialog({
- onConfirm: handlePlateform,
- defaultFormParams: {
- parkBountyApplyId: '',
- settleSumAmount: 0,
- settleFileUrl: [] as UploadUserFile[],
- },
-});
-
-function openPlateformDialog(row?: API.GetParkBountyApplyListOutput) {
- handlePlateformEdit({
- parkBountyApplyId: row.id,
- settleSumAmount: 0,
- settleFileUrl: [] as UploadUserFile[],
+function goRewardGrantRegister(row: API.GetParkBountyApplyListOutput) {
+ router.push({
+ name: 'RewardGrantRegister',
+ params: {
+ id: row.id,
+ },
});
-}
-
-async function handlePlateform() {
- try {
- let params: API.ParkBountyApplySettleInput = {
- parkBountyApplyId: editPlateformForm.parkBountyApplyId,
- settleSumAmount: editPlateformForm.settleSumAmount,
- settleFileUrl: editPlateformForm.settleFileUrl.map((x) => x.path).join('|'),
- };
- let res = await parkBountyApplyServices.parkBountyApplySettle(params);
- if (res) {
- Message.successMessage('鎿嶄綔鎴愬姛');
- getList(paginationState.pageIndex);
- queryClient.invalidateQueries({
- queryKey: ['parkBountyApplyServices/getGoverDataBoard'],
- });
- }
- } catch (error) {}
}
</script>
--
Gitblit v1.9.1