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.9.1