zhengyiming
4 天以前 dbebb8c83128e379bb24d8d7c1bf0838d7c5ebdc
src/views/StatisticalReport/RewardStatistics.vue
@@ -20,17 +20,6 @@
      </div>
      <ProTableQueryFilterBar @on-reset="reset">
        <template #query>
          <QueryFilterItem tip-content="申报月份">
            <FieldDatePicker
              v-model="extraParamState.month"
              type="month"
              clearable
              placeholder="请选择申报月份"
              format="YYYY-MM"
              value-format="YYYY-MM"
              @change="getList()"
            ></FieldDatePicker>
          </QueryFilterItem>
          <QueryFilterItem>
            <FieldSelect
              v-model="extraParamState.industrialParkId"
@@ -41,6 +30,18 @@
              clearable
              @change="getList()"
            />
          </QueryFilterItem>
          <QueryFilterItem tip-content="选择月份">
            <FieldDatePicker
              v-model="extraParamState.months"
              type="months"
              clearable
              placeholder="请选择月份"
              format="YYYY-MM"
              value-format="YYYY-MM"
              @change="getList()"
              :disabled-date="disabledDate"
            ></FieldDatePicker>
          </QueryFilterItem>
          <QueryFilterItem>
            <SearchInput
@@ -53,7 +54,13 @@
          </QueryFilterItem>
        </template>
        <template #btn>
          <el-button @click="handleExport()" icon="Download" type="primary">导出</el-button>
          <el-button
            v-if="checkSubModuleItemShow('pageButton', 'exportBtn')"
            @click="handleExport()"
            icon="Download"
            type="primary"
            >导出</el-button
          >
        </template>
      </ProTableQueryFilterBar>
      <ProTableV2 v-bind="proTableProps" :columns="column" :show-operation-column="false">
@@ -124,7 +131,7 @@
import { useAccess, useIndustrialParkDropDownList } from '@/hooks';
import { downloadFile, Message, OrderInputType } from '@bole-core/core';
import * as parkBountyApplyServices from '@/services/api/ParkBountyApply';
import { toThousand } from '@/utils';
import { format, toThousand } from '@/utils';
import _ from 'lodash';
import FinancialAllocationDetailDialog from './components/FinancialAllocationDetailDialog.vue';
import PlatformDisbursementDetailDialog from './components/PlatformDisbursementDetailDialog.vue';
@@ -133,127 +140,13 @@
import EnterpriseWithdrawalDetailDialog from './components/EnterpriseWithdrawalDetailDialog.vue';
import BalanceDetailDialog from './components/BalanceDetailDialog.vue';
import { EnumParkRewardStatisticsDetailScene } from '@/constants';
import { useRewardStatisticsMonths } from './hooks';
defineOptions({
  name: 'RewardStatistics',
});
const column = defineColumns([
  {
    id: '1',
    enCode: 'enterpriseName',
    name: '企业名称',
    width: 250,
  },
  {
    id: '2',
    enCode: 'societyCreditCode',
    name: '信用代码',
    width: 200,
  },
  {
    id: '3',
    enCode: 'industrialParkName',
    name: '所属园区',
    width: 200,
  },
  {
    id: '4',
    enCode: 'contact',
    name: '联系人',
    width: 150,
  },
  {
    id: '5',
    enCode: 'contactPhone',
    name: '联系方式',
    width: 120,
  },
  {
    id: '6',
    enCode: 'month',
    name: '申报月份',
    width: 120,
  },
  {
    id: '7',
    enCode: 'batchNo',
    name: '申报批次号',
    width: 150,
  },
  {
    id: '8',
    enCode: 'sumFinanceAmount',
    name: '财政拨付金额',
    width: 120,
  },
  {
    id: '9',
    enCode: 'sumFinanceAmountBtn',
    name: '财政拨付明细',
    width: 120,
  },
  {
    id: '10',
    enCode: 'sumTransferAmount',
    name: '平台拨付金额',
    width: 120,
  },
  {
    id: '11',
    enCode: 'sumTransferAmountBtn',
    name: '平台拨付明细',
    width: 120,
  },
  {
    id: '12',
    enCode: 'sumRechargeAmount',
    name: '企业充值总额',
    width: 120,
  },
  {
    id: '13',
    enCode: 'sumRechargeAmountBtn',
    name: '企业充值明细',
    width: 120,
  },
  {
    id: '14',
    enCode: 'sumTradeAmount',
    name: '企业消费总额',
    width: 120,
  },
  {
    id: '15',
    enCode: 'sumTradeAmountBtn',
    name: '企业消费明细',
    width: 120,
  },
  {
    id: '16',
    enCode: 'sumDrawWithAmount',
    name: '企业提现总额',
    width: 120,
  },
  {
    id: '17',
    enCode: 'sumDrawWithAmountBtn',
    name: '企业提现明细',
    width: 120,
  },
  {
    id: '18',
    enCode: 'amount',
    name: '账户余额',
    width: 120,
  },
  {
    id: '19',
    enCode: 'amountBtn',
    name: '余额明细',
    width: 120,
  },
]);
const { checkSubModuleItemShow, column, operationBtns } = useAccess({});
const BaseState = {
  loading: true,
@@ -285,14 +178,19 @@
} = useTable(
  async ({ pageIndex, pageSize }, extraParamState) => {
    try {
      if (!extraParamState.month) {
        Message.errorMessage('请选择月份');
        return;
      }
      // if (!extraParamState.month) {
      //   Message.errorMessage('请选择月份');
      //   return;
      // }
      if (!extraParamState.industrialParkId) {
        Message.errorMessage('请选择园区');
        return;
      }
      if (!extraParamState.months.length) {
        Message.errorMessage('请选择月份');
        return;
      }
      let params: API.GetRewardStatisticsInput = {
        pageModel: {
          rows: pageSize,
@@ -301,7 +199,8 @@
        },
        keywords: extraParamState.keywords,
        industrialParkId: extraParamState.industrialParkId,
        month: extraParamState.month,
        // month: extraParamState.month,
        months: extraParamState.months.map((x) => format(x as any, 'YYYY-MM')),
      };
      let res = await parkBountyApplyServices.getRewardStatistics(params, {
        showLoading: !state.loading,
@@ -314,6 +213,7 @@
      keywords: '',
      industrialParkId: '',
      month: '',
      months: [] as string[],
      orderInput: [{ property: 'enterpriseId', order: OrderInputType.Desc }],
    },
    columnsRenderProps: {
@@ -352,6 +252,11 @@
  }
);
const { disabledDate } = useRewardStatisticsMonths({
  industrialParkId: toRef(extraParamState, 'industrialParkId'),
  enabled: computed(() => !!extraParamState.industrialParkId),
});
const handleExport = _.debounce(
  async () => {
    if (!extraParamState.month) {