wupengfei
2025-04-21 524b1febe13e9305e9a27c870e09819e0e363bbd
src/views/Reward/RewardGrant.vue
@@ -47,14 +47,16 @@
      </ProTableQueryFilterBar>
      <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
        <template #operationBtn-checkBtn="{ data, row }">
          <PreviewBtnV2
            class="pro-table-operation-btn"
            :url="convertApi2FormUrlBySeparator(row.settleFileUrl ?? '')"
            preview-btn-text="查看凭证"
          />
        </template>
      </ProTableV2>
      <FourStreamsMaterialFileDialog
        v-bind="dialogMaterialFileProps"
        :show-upload-btn="false"
        :show-delete-btn="false"
        :show-check-btn="false"
        downloadBtnText="查看"
        title="查看凭证"
        :BusinessTypeEnumText="ApplyTransferFileBusinessTypeEnumText"
      />
      <FinancialDialog v-bind="dialogFinancialProps"></FinancialDialog>
      <PlateformDialog v-bind="dialogPlateformProps"></PlateformDialog>
    </AppContainer>
@@ -75,10 +77,9 @@
  FieldDatePicker,
  useFormDialog,
  UploadUserFile,
  PreviewBtnV2,
} from '@bole-core/components';
import { Message, OrderInputType } from '@bole-core/core';
import { convertApi2FormUrlBySeparator, format } from '@/utils';
import { format } from '@/utils';
import { SettleStatusEnum, SettleStatusEnumText } from '@/constants';
import * as parkBountyApplyServices from '@/services/api/ParkBountyApply';
import FinancialDialog from './components/FinancialDialog.vue';
@@ -86,6 +87,11 @@
import _ from 'lodash';
import { ModelValueType } from 'element-plus';
import { useQueryClient } from '@tanstack/vue-query';
import { FourStreamsMaterialUtils } from '@/components/commonView/utils';
import {
  ApplyTransferMaterialFileTableItem,
  ApplyTransferFileBusinessTypeEnumText,
} from '@/components/commonView/types';
defineOptions({
  name: 'RewardGrant',
@@ -185,6 +191,9 @@
      enCode: 'checkBtn',
      name: '查看凭证',
    },
    emits: {
      onClick: (row) => openMaterialFileDialog(row),
    },
    extraProps: {
      hide: (row: API.GetParkBountyApplyListOutput) =>
        row.settleStatus === SettleStatusEnum.WaitForSettle,
@@ -259,6 +268,18 @@
  });
}
function openMaterialFileDialog(row: API.ParkBountyApplyTransferDetailInfo) {
  handleMaterialFileAdd({
    list: FourStreamsMaterialUtils.initApplyTransferMaterialFileList(row),
  });
}
const { dialogProps: dialogMaterialFileProps, handleAdd: handleMaterialFileAdd } = useFormDialog({
  defaultFormParams: {
    list: [] as ApplyTransferMaterialFileTableItem[],
  },
});
const queryClient = useQueryClient();
const {
  dialogProps: dialogFinancialProps,