wupengfei
2025-04-17 404a6138ba3594a66d1b66e2bc79b9b3132836c5
feat: 页面
6个文件已修改
1 文件已复制
1 文件已重命名
176 ■■■■ 已修改文件
src/components/commonView/MaterialInfoView.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EnterpriseInfo/components/RewardConsumeRecordView.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EnterpriseInfo/components/RewardGrantRecordView.vue 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Home/Home.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/MaterialReview/MaterialReviewDetail.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Reward/RewardGrant.vue 95 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Reward/components/FinancialDialog.vue 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Reward/components/PlateformDialog.vue 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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>
src/views/EnterpriseInfo/components/RewardConsumeRecordView.vue
@@ -50,7 +50,7 @@
  {
    id: '4',
    enCode: 'remianAmount',
    name: '奖励金余额',
    name: '资金余额',
  },
];
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: '平台充值日期',
  },
];
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>
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: '查看',
      // },
    },
  }
);
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>
src/views/Reward/components/FinancialDialog.vue
File was renamed from src/views/Reward/components/RewardGrantDialog.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[];
  };
};
src/views/Reward/components/PlateformDialog.vue
copy from src/views/Reward/components/RewardGrantDialog.vue copy to src/views/Reward/components/PlateformDialog.vue
File was copied from src/views/Reward/components/RewardGrantDialog.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[];
  };
};