From 404a6138ba3594a66d1b66e2bc79b9b3132836c5 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期四, 17 四月 2025 17:20:36 +0800
Subject: [PATCH] feat: 页面
---
src/components/commonView/MaterialInfoView.vue | 13 ++++
src/views/Reward/RewardGrant.vue | 95 ++++++++++++++++++++++++-------
src/views/EnterpriseInfo/components/RewardGrantRecordView.vue | 21 ++++--
src/views/Reward/components/PlateformDialog.vue | 17 ++++-
src/views/Reward/components/FinancialDialog.vue | 14 +++-
src/views/MaterialReview/MaterialReviewDetail.vue | 8 --
src/views/EnterpriseInfo/components/RewardConsumeRecordView.vue | 2
src/views/Home/Home.vue | 6 +-
8 files changed, 124 insertions(+), 52 deletions(-)
diff --git a/src/components/commonView/MaterialInfoView.vue b/src/components/commonView/MaterialInfoView.vue
index 0aaffd9..1f3c877 100644
--- a/src/components/commonView/MaterialInfoView.vue
+++ b/src/components/commonView/MaterialInfoView.vue
@@ -12,7 +12,18 @@
</ProFormCol>
<ProFormCol>
<ProFormColItem :span="12">
- <ProFormItemV2 label="浼佷笟钀ユ敹姹囨�昏〃:" prop="enterpriseOperateFileUrl">
+ <ProFormItemV2
+ label="浼佷笟钀ユ敹姹囨�昏〃:"
+ prop="enterpriseOperateFileUrl"
+ style="margin-bottom: 22px"
+ >
+ <ProFormUpload v-model:file-url="form.enterpriseOperateFileUrl"></ProFormUpload>
+ </ProFormItemV2>
+ </ProFormColItem>
+ </ProFormCol>
+ <ProFormCol>
+ <ProFormColItem :span="12">
+ <ProFormItemV2 label="鍏ラ┗鎯呭喌鍏宠仈璇存槑:" prop="enterpriseOperateFileUrl">
<ProFormUpload v-model:file-url="form.enterpriseOperateFileUrl"></ProFormUpload>
</ProFormItemV2>
</ProFormColItem>
diff --git a/src/views/EnterpriseInfo/components/RewardConsumeRecordView.vue b/src/views/EnterpriseInfo/components/RewardConsumeRecordView.vue
index 5766fec..3b093dd 100644
--- a/src/views/EnterpriseInfo/components/RewardConsumeRecordView.vue
+++ b/src/views/EnterpriseInfo/components/RewardConsumeRecordView.vue
@@ -50,7 +50,7 @@
{
id: '4',
enCode: 'remianAmount',
- name: '濂栧姳閲戜綑棰�',
+ name: '璧勯噾浣欓',
},
];
diff --git a/src/views/EnterpriseInfo/components/RewardGrantRecordView.vue b/src/views/EnterpriseInfo/components/RewardGrantRecordView.vue
index c2165c9..35a804c 100644
--- a/src/views/EnterpriseInfo/components/RewardGrantRecordView.vue
+++ b/src/views/EnterpriseInfo/components/RewardGrantRecordView.vue
@@ -39,23 +39,28 @@
},
{
id: '2',
- enCode: 'settleTime',
- name: '濂栧姳閲戝彂鏀炬棩鏈�',
+ enCode: 'batchNo',
+ name: '鐢虫姤鎬婚',
},
{
id: '3',
- enCode: 'incomeTime',
- name: '濂栧姳閲戝埌璐︽棩鏈�',
+ enCode: 'applySumAmount',
+ name: '璐㈡斂鎷ㄤ粯閲戦',
},
{
id: '4',
- enCode: 'applySumAmount',
- name: '鍙戞斁閲戦',
+ enCode: 'settleTime',
+ name: '璐㈡斂鎷ㄤ粯鏃ユ湡',
},
{
id: '5',
- enCode: 'incomeStatus',
- name: '鍒拌处纭缁撴灉',
+ enCode: 'applySumAmount',
+ name: '骞冲彴鍏呭�奸噾棰�',
+ },
+ {
+ id: '6',
+ enCode: 'incomeTime',
+ name: '骞冲彴鍏呭�兼棩鏈�',
},
];
diff --git a/src/views/Home/Home.vue b/src/views/Home/Home.vue
index 2df44a7..9d2cb7f 100644
--- a/src/views/Home/Home.vue
+++ b/src/views/Home/Home.vue
@@ -46,16 +46,16 @@
unit="瀹�"
/>
</DataBoardCard>
- <DataBoardCard title="绱宸插彂鏀惧鍔遍噾">
+ <DataBoardCard title="绱宸插彂鏀�">
<DataBoardCardPrice :value="detail?.accumulatedHasSettleRewardAmount ?? 0" unit="鍏�" />
</DataBoardCard>
- <DataBoardCard title="绱寰呭彂鏀惧鍔遍噾">
+ <DataBoardCard title="绱寰呭彂鏀�">
<DataBoardCardPrice
:value="detail?.accumulatedWaitForSettleRewardAmount ?? 0"
unit="鍏�"
/>
</DataBoardCard>
- <DataBoardCard title="绱宸蹭娇鐢ㄥ鍔遍噾">
+ <DataBoardCard title="绱宸蹭娇鐢�">
<DataBoardCardPrice :value="detail?.accumulatedUsedRewardAmount ?? 0" unit="鍏�" />
</DataBoardCard>
</div>
diff --git a/src/views/MaterialReview/MaterialReviewDetail.vue b/src/views/MaterialReview/MaterialReviewDetail.vue
index 828a147..7b27cb6 100644
--- a/src/views/MaterialReview/MaterialReviewDetail.vue
+++ b/src/views/MaterialReview/MaterialReviewDetail.vue
@@ -153,14 +153,6 @@
},
columnsRenderProps: {
authType: { type: 'enum', valueEnum: EnterpriseTypeText },
- // licenseUrl: {
- // type: 'url',
- // formatter: (row: API.UserCertificationAuditListDto) => setOSSLink(row.licenseUrl),
- // modal: true,
- // showDownloadBtn: true,
- // showPreviewBtn: false,
- // downloadBtnText: '鏌ョ湅',
- // },
},
}
);
diff --git a/src/views/Reward/RewardGrant.vue b/src/views/Reward/RewardGrant.vue
index 4b04fb9..f6c1071 100644
--- a/src/views/Reward/RewardGrant.vue
+++ b/src/views/Reward/RewardGrant.vue
@@ -55,7 +55,8 @@
/>
</template>
</ProTableV2>
- <RewardGrantDialog v-bind="dialogProps"></RewardGrantDialog>
+ <FinancialDialog v-bind="dialogFinancialProps"></FinancialDialog>
+ <PlateformDialog v-bind="dialogPlateformProps"></PlateformDialog>
</AppContainer>
</LoadingLayout>
</template>
@@ -77,15 +78,11 @@
PreviewBtnV2,
} from '@bole-core/components';
import { Message, OrderInputType } from '@bole-core/core';
-import {
- convertApi2FormUrl,
- convertApi2FormUrlBySeparator,
- downloadFileByUrl,
- format,
-} from '@/utils';
+import { convertApi2FormUrlBySeparator, format } from '@/utils';
import { SettleStatusEnum, SettleStatusEnumText } from '@/constants';
import * as parkBountyApplyServices from '@/services/api/ParkBountyApply';
-import RewardGrantDialog from './components/RewardGrantDialog.vue';
+import FinancialDialog from './components/FinancialDialog.vue';
+import PlateformDialog from './components/PlateformDialog.vue';
import _ from 'lodash';
import { ModelValueType } from 'element-plus';
import { useQueryClient } from '@tanstack/vue-query';
@@ -113,12 +110,12 @@
{
id: '4',
enCode: 'applyMonth',
- name: '鐢宠濂栧姳閲戞湀浠�',
+ name: '鐢宠骞冲彴濂栧姳鏈堜唤',
},
{
id: '5',
enCode: 'applySumAmount',
- name: '濂栧姳閲戞眹鎬婚噾棰濓紙鍏冿級',
+ name: '骞冲彴濂栧姳姹囨�婚噾棰濓紙鍏冿級',
},
{
id: '6',
@@ -128,12 +125,22 @@
{
id: '7',
enCode: 'settleStatus',
- name: '鍙戞斁鐘舵��',
+ name: '璐㈡斂鎷ㄤ粯鐘舵��',
},
{
id: '8',
enCode: 'settleTime',
- name: '鍙戞斁鏃ユ湡',
+ name: '鎷ㄤ粯鏃ユ湡',
+ },
+ {
+ id: '9',
+ enCode: 'settleStatus',
+ name: '骞冲彴鍏呭�肩姸鎬�',
+ },
+ {
+ id: '10',
+ enCode: 'settleTime',
+ name: '鍏呭�兼棩鏈�',
},
];
@@ -149,11 +156,24 @@
},
{
data: {
- enCode: 'grantBtn',
- name: '鍙戞斁',
+ enCode: 'financialBtn',
+ name: '璐㈡斂鎷ㄤ粯',
},
emits: {
- onClick: (role) => openDialog(role),
+ onClick: (role) => openFinancialDialog(role),
+ },
+ extraProps: {
+ hide: (row: API.GetParkBountyApplyListOutput) =>
+ row.settleStatus === SettleStatusEnum.HasSettle,
+ },
+ },
+ {
+ data: {
+ enCode: 'plateformBtn',
+ name: '骞冲彴鍏呭��',
+ },
+ emits: {
+ onClick: (role) => openPlateformDialog(role),
},
extraProps: {
hide: (row: API.GetParkBountyApplyListOutput) =>
@@ -239,26 +259,32 @@
});
}
-const { dialogProps, handleAdd, handleEdit, editForm } = useFormDialog({
- onConfirm: handleAddOrEdit,
+const queryClient = useQueryClient();
+const {
+ dialogProps: dialogFinancialProps,
+ handleEdit: handleFinancialEdit,
+ editForm: editFinancialForm,
+} = useFormDialog({
+ onConfirm: handleFinancial,
defaultFormParams: {
parkBountyApplyId: '',
+ amount: 0,
settleFileUrl: [] as UploadUserFile[],
},
});
-function openDialog(row?: API.GetParkBountyApplyListOutput) {
- handleEdit({
+function openFinancialDialog(row?: API.GetParkBountyApplyListOutput) {
+ handleFinancialEdit({
parkBountyApplyId: row.id,
+ amount: 0,
settleFileUrl: [] as UploadUserFile[],
});
}
-const queryClient = useQueryClient();
-async function handleAddOrEdit() {
+async function handleFinancial() {
try {
let params: API.ParkBountyApplySettleInput = {
- parkBountyApplyId: editForm.parkBountyApplyId,
- settleFileUrl: editForm.settleFileUrl.map((x) => x.path).join('|'),
+ parkBountyApplyId: editFinancialForm.parkBountyApplyId,
+ settleFileUrl: editFinancialForm.settleFileUrl.map((x) => x.path).join('|'),
};
let res = await parkBountyApplyServices.parkBountyApplySettle(params);
if (res) {
@@ -270,6 +296,29 @@
}
} catch (error) {}
}
+
+const {
+ dialogProps: dialogPlateformProps,
+ handleEdit: handlePlateformEdit,
+ editForm: editPlateformForm,
+} = useFormDialog({
+ onConfirm: handlePlateform,
+ defaultFormParams: {
+ parkBountyApplyId: '',
+ amount: 0,
+ settleFileUrl: [] as UploadUserFile[],
+ },
+});
+
+function openPlateformDialog(row?: API.GetParkBountyApplyListOutput) {
+ handlePlateformEdit({
+ parkBountyApplyId: row.id,
+ amount: 0,
+ settleFileUrl: [] as UploadUserFile[],
+ });
+}
+
+async function handlePlateform() {}
</script>
<style lang="scss" scoped>
diff --git a/src/views/Reward/components/RewardGrantDialog.vue b/src/views/Reward/components/FinancialDialog.vue
similarity index 84%
rename from src/views/Reward/components/RewardGrantDialog.vue
rename to src/views/Reward/components/FinancialDialog.vue
index 5aa24df..a32c086 100644
--- a/src/views/Reward/components/RewardGrantDialog.vue
+++ b/src/views/Reward/components/FinancialDialog.vue
@@ -1,6 +1,6 @@
<template>
<ProDialog
- title="濂栧姳閲戝彂鏀�"
+ title="璐㈡斂鎷ㄤ粯"
v-model="innerVisible"
destroy-on-close
draggable
@@ -10,7 +10,14 @@
>
<ProForm :model="innerForm" ref="dialogForm" label-width="120px">
<ProFormItemV2
- label="涓婁紶鍙戞斁鍑瘉:"
+ label="鎷ㄤ粯鎬婚:"
+ prop="amount"
+ :check-rules="[{ message: '璇疯緭鍏ユ嫧浠樻�婚', type: 'number' }]"
+ >
+ <ProFormInputNumber v-model="innerForm.amount" :controls="false" :min="0" :precision="2" />
+ </ProFormItemV2>
+ <ProFormItemV2
+ label="涓婁紶鎷ㄤ粯鍑瘉:"
prop="settleFileUrl"
:check-rules="[{ message: '璇蜂笂浼犲彂鏀惧嚟璇�', type: 'upload' }]"
>
@@ -44,13 +51,14 @@
import { FormInstance } from 'element-plus';
defineOptions({
- name: 'RewardGrantDialog',
+ name: 'FinancialDialog',
});
type Props = {
modelValue: boolean;
form?: {
parkBountyApplyId: string;
+ amount: number;
settleFileUrl: UploadUserFile[];
};
};
diff --git a/src/views/Reward/components/RewardGrantDialog.vue b/src/views/Reward/components/PlateformDialog.vue
similarity index 83%
copy from src/views/Reward/components/RewardGrantDialog.vue
copy to src/views/Reward/components/PlateformDialog.vue
index 5aa24df..c4136eb 100644
--- a/src/views/Reward/components/RewardGrantDialog.vue
+++ b/src/views/Reward/components/PlateformDialog.vue
@@ -1,6 +1,6 @@
<template>
<ProDialog
- title="濂栧姳閲戝彂鏀�"
+ title="骞冲彴鍏呭��"
v-model="innerVisible"
destroy-on-close
draggable
@@ -10,7 +10,14 @@
>
<ProForm :model="innerForm" ref="dialogForm" label-width="120px">
<ProFormItemV2
- label="涓婁紶鍙戞斁鍑瘉:"
+ label="鍏呭�兼�婚:"
+ prop="amount"
+ :check-rules="[{ message: '璇疯緭鍏ュ厖鍊兼�婚', type: 'number' }]"
+ >
+ <ProFormInputNumber v-model="innerForm.amount" :controls="false" :min="0" :precision="2" />
+ </ProFormItemV2>
+ <ProFormItemV2
+ label="涓婁紶鍏呭�煎嚟璇�:"
prop="settleFileUrl"
:check-rules="[{ message: '璇蜂笂浼犲彂鏀惧嚟璇�', type: 'upload' }]"
>
@@ -37,20 +44,20 @@
UploadUserFile,
ProForm,
ProFormItemV2,
- ProFormSelect,
- ProFormInputNumber,
ProFormUpload,
+ ProFormInputNumber,
} from '@bole-core/components';
import { FormInstance } from 'element-plus';
defineOptions({
- name: 'RewardGrantDialog',
+ name: 'PlateformDialog',
});
type Props = {
modelValue: boolean;
form?: {
parkBountyApplyId: string;
+ amount: number;
settleFileUrl: UploadUserFile[];
};
};
--
Gitblit v1.10.0