20个文件已修改
2个文件已添加
1 文件已复制
1 文件已重命名
| | |
| | | enterpriseOperateFileUrl: UploadUserFile[]; |
| | | bountyAssignFileUlr: UploadUserFile[]; |
| | | bountyCollectFileUrl: UploadUserFile[]; |
| | | enterpriseRelateFileUrl: UploadUserFile[]; |
| | | }; |
| | | }; |
| | | |
New file |
| | |
| | | <template> |
| | | <ProDialog |
| | | title="文件列表" |
| | | v-model="visible" |
| | | destroy-on-close |
| | | draggable |
| | | width="35%" |
| | | :close-on-click-modal="false" |
| | | :close-on-press-escape="false" |
| | | :top="'22vh'" |
| | | > |
| | | <ProDialogTableWrapper :height="400"> |
| | | <ProTableQueryFilterBar :show-reset-btn="false"> |
| | | <template #query> |
| | | <QueryFilterItem> |
| | | <span class="query-label">{{ name }}</span> |
| | | </QueryFilterItem> |
| | | </template> |
| | | <template #btn> |
| | | <el-button type="primary" @click="handleBatchDownload">批量下载</el-button> |
| | | </template> |
| | | </ProTableQueryFilterBar> |
| | | <ProTableV2 |
| | | :tableData="fileList" |
| | | :columns="columns" |
| | | :operationBtns="operationBtns" |
| | | show-column-check |
| | | ref="proTable" |
| | | > |
| | | <template #extension="{ row }"> |
| | | <img :src="getExtensionIconByUrl(row.url)" alt="" style="margin: 0 auto" /> |
| | | </template> |
| | | <template #size="{ row }"> |
| | | {{ formatFileSize(row.size) }} |
| | | </template> |
| | | </ProTableV2> |
| | | </ProDialogTableWrapper> |
| | | </ProDialog> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import { |
| | | ProDialog, |
| | | ProTableQueryFilterBar, |
| | | QueryFilterItem, |
| | | UploadUserFile, |
| | | ProDialogTableWrapper, |
| | | ProTableV2, |
| | | defineColumns, |
| | | defineOperationBtns, |
| | | bolePreview, |
| | | getExtensionIconByUrl, |
| | | } from '@bole-core/components'; |
| | | import { format, downloadFileByUrl, formatFileSize } from '@/utils'; |
| | | import { downloadWithZip, Message, isFileCanPreview } from '@bole-core/core'; |
| | | |
| | | defineOptions({ |
| | | name: 'FourStreamsBatchMaterialFileDialog', |
| | | }); |
| | | |
| | | type Props = { |
| | | name?: string; |
| | | zipName?: string; |
| | | showDeleteBtn?: boolean; |
| | | }; |
| | | |
| | | const props = withDefaults(defineProps<Props>(), { |
| | | showDeleteBtn: true, |
| | | }); |
| | | |
| | | const visible = defineModel<boolean>('visible'); |
| | | const fileList = defineModel<UploadUserFile[]>('fileList'); |
| | | |
| | | const proTable = ref<InstanceType<typeof ProTableV2>>(); |
| | | |
| | | const columns = defineColumns([ |
| | | { |
| | | id: '1', |
| | | enCode: 'extension', |
| | | name: '文件类型', |
| | | }, |
| | | { |
| | | id: '2', |
| | | enCode: 'name', |
| | | name: '文件名称', |
| | | }, |
| | | ]); |
| | | |
| | | const operationBtns = defineOperationBtns([ |
| | | // { |
| | | // data: { |
| | | // enCode: 'detailBtn', |
| | | // name: '查看', |
| | | // }, |
| | | // emits: { |
| | | // onClick: (row) => handlePreview(row), |
| | | // }, |
| | | // extraProps: { |
| | | // hide: (row: UploadUserFile) => !isFileCanPreview(row.path), |
| | | // }, |
| | | // }, |
| | | { |
| | | data: { |
| | | enCode: 'downloadBtn', |
| | | name: '查看', |
| | | }, |
| | | emits: { |
| | | onClick: (row) => handleDownload(row), |
| | | }, |
| | | }, |
| | | { |
| | | data: { |
| | | enCode: 'delBtn', |
| | | name: '删除', |
| | | }, |
| | | props: { |
| | | type: 'danger', |
| | | }, |
| | | emits: { |
| | | onClick: (row) => handleDelete(row), |
| | | }, |
| | | extraProps: { |
| | | hide: (row) => !props.showDeleteBtn, |
| | | }, |
| | | }, |
| | | ]); |
| | | |
| | | async function handleDelete(row: UploadUserFile) { |
| | | try { |
| | | await Message.deleteMessage(); |
| | | fileList.value = fileList.value.filter((item) => item.uid !== row.uid); |
| | | } catch (error) {} |
| | | } |
| | | |
| | | function handleDownload(row: UploadUserFile) { |
| | | downloadFileByUrl(row.url); |
| | | } |
| | | |
| | | function handlePreview(row: UploadUserFile) { |
| | | bolePreview({ |
| | | fileUrl: row.url, |
| | | }); |
| | | } |
| | | |
| | | function handleBatchDownload() { |
| | | if (fileList.value.length) { |
| | | const res: UploadUserFile[] = proTable.value.innerTableRef.getSelectionRows(); |
| | | if (res.length > 0) { |
| | | downloadWithZip( |
| | | res.map((item) => ({ data: item.url })), |
| | | props.zipName |
| | | ); |
| | | } else { |
| | | Message.errorMessage('未选择数据'); |
| | | } |
| | | } else { |
| | | Message.errorMessage('暂无数据'); |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | @use '@/style/common.scss' as *; |
| | | |
| | | .query-label { |
| | | font-size: 16px; |
| | | line-height: 40px; |
| | | } |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <ProDialog :title="title" v-model="visible" destroy-on-close draggable width="800px"> |
| | | <FourStreamsMaterialFileTable v-model:list="form.list" v-bind="props" /> |
| | | <template #footer> |
| | | <span class="dialog-footer"> |
| | | <el-button type="primary" @click="handleConfirm">确 定</el-button> |
| | | </span> |
| | | </template> |
| | | </ProDialog> |
| | | </template> |
| | | |
| | | <script setup lang="ts" generic="T"> |
| | | import { ProDialog } from '@bole-core/components'; |
| | | import FourStreamsMaterialFileTable from './FourStreamsMaterialFileTable.vue'; |
| | | import { FourStreamsMaterialFileTableProps, BaseMaterialFileTableItem } from './types'; |
| | | |
| | | defineOptions({ |
| | | name: 'FourStreamsMaterialFileDialog', |
| | | }); |
| | | |
| | | type Props = FourStreamsMaterialFileTableProps & { |
| | | title?: string; |
| | | }; |
| | | |
| | | const props = withDefaults(defineProps<Props>(), { |
| | | showUploadBtn: true, |
| | | showCheckBtn: true, |
| | | showDownloadBtn: true, |
| | | showDeleteBtn: true, |
| | | title: '材料详情', |
| | | }); |
| | | |
| | | const visible = defineModel({ type: Boolean }); |
| | | |
| | | type Form = { |
| | | list: BaseMaterialFileTableItem<T>[]; |
| | | }; |
| | | |
| | | const form = defineModel<Form>('form'); |
| | | |
| | | const emit = defineEmits<{ |
| | | (e: 'onConfirm'): void; |
| | | (e: 'onCancel'): void; |
| | | }>(); |
| | | |
| | | function handleConfirm() { |
| | | emit('onConfirm'); |
| | | } |
| | | </script> |
| | |
| | | :showTableColumnSetting="false" |
| | | > |
| | | <template #fileBusinessType="{ row }"> |
| | | {{ FourStreamsMaterialFileBusinessTypeEnumText[row.fileBusinessType] }} |
| | | {{ BusinessTypeEnumText[row.fileBusinessType] }} |
| | | </template> |
| | | <template #operationBtn-uploadBtn="{ data, row }"> |
| | | <BlFileUpload |
| | |
| | | </BlFileUpload> |
| | | </template> |
| | | </ProTableV2> |
| | | <FourStreamsBatchMaterialFileDialog |
| | | v-bind="dialogProps" |
| | | :name="''" |
| | | :zipName="`${BusinessTypeEnumText[currentFourStreamsMaterialFileTableItem.fileBusinessType as any]}`" |
| | | v-model:fileList="currentFourStreamsMaterialFileTableItem.fileList" |
| | | :showDeleteBtn="showDeleteBtn" |
| | | /> |
| | | </div> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | <script setup lang="ts" generic="T"> |
| | | import { |
| | | FourStreamsMaterialFileTableProps, |
| | | FourStreamsMaterialFileTableItem, |
| | | BaseMaterialFileTableItem, |
| | | FourStreamsMaterialFileBusinessTypeEnumText, |
| | | } from './types'; |
| | | import { |
| | |
| | | defineOperationBtns, |
| | | BlFileUpload, |
| | | bolePreview, |
| | | useDialog, |
| | | } from '@bole-core/components'; |
| | | import { downloadFileByUrl } from '@/utils'; |
| | | import { Message, isFileCanPreview } from '@bole-core/core'; |
| | | import { Message, isFileCanPreview, downloadWithZip } from '@bole-core/core'; |
| | | import { useDefineColumns } from '@/hooks'; |
| | | import FourStreamsBatchMaterialFileDialog from './FourStreamsBatchMaterialFileDialog.vue'; |
| | | |
| | | defineOptions({ |
| | | name: 'FourStreamsMaterialFileTable', |
| | |
| | | showDownloadBtn: true, |
| | | showDeleteBtn: true, |
| | | downloadBtnText: '下载', |
| | | BusinessTypeEnumText: () => FourStreamsMaterialFileBusinessTypeEnumText, |
| | | }); |
| | | |
| | | const list = defineModel<FourStreamsMaterialFileTableItem[]>('list'); |
| | | const list = defineModel<BaseMaterialFileTableItem<T>[]>('list'); |
| | | |
| | | const columns = defineColumns([ |
| | | { |
| | |
| | | name: '上传', |
| | | }, |
| | | extraProps: { |
| | | hide: (row: FourStreamsMaterialFileTableItem) => { |
| | | hide: (row: BaseMaterialFileTableItem<T>) => { |
| | | if (!props.showUploadBtn) return true; |
| | | let fileList = row?.fileList?.filter?.((item) => item.status === 'success'); |
| | | return fileList?.length > 0; |
| | |
| | | onClick: (row) => handlePreview(row), |
| | | }, |
| | | extraProps: { |
| | | hide: (row: FourStreamsMaterialFileTableItem) => { |
| | | hide: (row: BaseMaterialFileTableItem<T>) => { |
| | | if (!props.showCheckBtn) return true; |
| | | let fileList = row?.fileList?.filter?.((item) => item.status === 'success'); |
| | | if (!fileList?.length) { |
| | |
| | | onClick: (row) => handleBatchDownload(row), |
| | | }, |
| | | extraProps: { |
| | | hide: (row: FourStreamsMaterialFileTableItem) => { |
| | | hide: (row: BaseMaterialFileTableItem<T>) => { |
| | | return ( |
| | | !props.showDownloadBtn || |
| | | !row?.fileList?.filter?.((item) => item.status === 'success')?.length |
| | |
| | | onClick: (row) => handleDelete(row), |
| | | }, |
| | | extraProps: { |
| | | hide: (row: FourStreamsMaterialFileTableItem) => { |
| | | hide: (row: BaseMaterialFileTableItem<T>) => { |
| | | if (!props.showDeleteBtn) return true; |
| | | let fileList = row?.fileList?.filter?.((item) => item.status === 'success'); |
| | | return !fileList?.length; |
| | |
| | | ], |
| | | }); |
| | | |
| | | async function handleDelete(row: FourStreamsMaterialFileTableItem) { |
| | | async function handleDelete(row: BaseMaterialFileTableItem<T>) { |
| | | try { |
| | | await Message.deleteMessage(); |
| | | row.fileList = []; |
| | | } catch (error) {} |
| | | } |
| | | |
| | | async function handlePreview(row: FourStreamsMaterialFileTableItem) { |
| | | const currentFourStreamsMaterialFileTableItem = ref<BaseMaterialFileTableItem<T>>({ |
| | | fileBusinessType: 0 as any, |
| | | fileList: [], |
| | | }); |
| | | const { dialogProps, dialogState } = useDialog(); |
| | | |
| | | async function handlePreview(row: BaseMaterialFileTableItem<T>) { |
| | | if (row.fileList.length > 1) { |
| | | // currentEnterpriseMaterialFileTableItem.value = row; |
| | | // await nextTick(); |
| | | // dialogState.dialogVisible = true; |
| | | currentFourStreamsMaterialFileTableItem.value = row; |
| | | await nextTick(); |
| | | dialogState.dialogVisible = true; |
| | | } else { |
| | | bolePreview({ |
| | | fileUrl: row.fileList[0].url, |
| | |
| | | } |
| | | } |
| | | |
| | | function handleBatchDownload(row: FourStreamsMaterialFileTableItem) { |
| | | async function handleBatchDownload(row: BaseMaterialFileTableItem<T>) { |
| | | const successFileList = row.fileList.filter((item) => item.status === 'success'); |
| | | if (successFileList.length === 0) { |
| | | Message.errorMessage('没有可下载的文件'); |
| | |
| | | } else { |
| | | // downloadWithZip( |
| | | // successFileList.map((item) => ({ data: item.url })), |
| | | // `${AllEnterpriseMaterialFileBusinessTypeEnumText[row.fileBusinessType]}材料文件` |
| | | // `${props.BusinessTypeEnumText[row.fileBusinessType as any]}` |
| | | // ); |
| | | currentFourStreamsMaterialFileTableItem.value = row; |
| | | await nextTick(); |
| | | dialogState.dialogVisible = true; |
| | | } |
| | | } |
| | | </script> |
| | |
| | | </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="enterpriseRelateFileUrl"> |
| | | <ProFormUpload v-model:file-url="form.enterpriseRelateFileUrl"></ProFormUpload> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | </ProFormCol> |
| | |
| | | form: { |
| | | enterpriseTaxSubFileUrl: UploadUserFile[]; |
| | | enterpriseOperateFileUrl: UploadUserFile[]; |
| | | enterpriseRelateFileUrl: UploadUserFile[]; |
| | | }; |
| | | }; |
| | | |
| | |
| | | <ProFormCol> |
| | | <ProFormColItem :span="12"> |
| | | <ProFormItemV2 label="本次申报奖励金总额:" prop="applySumAmount"> |
| | | <ProFormInputNumber v-model="form.applySumAmount" unit="元" /> |
| | | <ProFormInputNumber v-model="form.applySumAmount" formatValue="money" unit="元" /> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | </ProFormCol> |
| | |
| | | import { EnterpriseMaterialFileBusinessTypeEnum } from '@/constants'; |
| | | import { UploadUserFile } from '@bole-core/components'; |
| | | |
| | | export type FourStreamsMaterialFileTableProps = { |
| | |
| | | showDownloadBtn?: boolean; |
| | | showDeleteBtn?: boolean; |
| | | downloadBtnText?: string; |
| | | BusinessTypeEnumText?: { [key: number]: string }; |
| | | }; |
| | | |
| | | export type FourStreamsMaterialFileTableItem = { |
| | | fileBusinessType: FourStreamsMaterialFileBusinessTypeEnum; |
| | | export type BaseMaterialFileTableItem<T> = { |
| | | fileBusinessType: T; |
| | | fileList: UploadUserFile[]; |
| | | }; |
| | | |
| | | export type FourStreamsMaterialFileTableItem = |
| | | BaseMaterialFileTableItem<FourStreamsMaterialFileBusinessTypeEnum>; |
| | | |
| | | export type ApplyTransferMaterialFileTableItem = |
| | | BaseMaterialFileTableItem<ApplyTransferFileBusinessTypeEnum>; |
| | | |
| | | export type TransferFileEnumInRewardGrandTableItem = |
| | | BaseMaterialFileTableItem<TransferFileEnumInRewardGrand>; |
| | | |
| | | export enum EnterpriseTypeEnum { |
| | | /** |
| | |
| | | TaxSubFileUrl = 30, |
| | | /** 企业营收利润表 */ |
| | | OperateProfitesUrl = 40, |
| | | /** 入驻关联说明 */ |
| | | /** |
| | | * 入驻关联说明 |
| | | * @deprecated 已经不用了 |
| | | */ |
| | | EnterRelateUrl = 50, |
| | | /** C端个税完税情况说明 */ |
| | | /** C端个税完税证明 */ |
| | | PersonTaxRatePayUrl = 60, |
| | | /** C端完税说明 */ |
| | | PersonTaxInstructUrl = 70, |
| | | } |
| | | |
| | | export const FourStreamsMaterialFileBusinessTypeEnumText = { |
| | | [FourStreamsMaterialFileBusinessTypeEnum.ParkEnterPactUrl]: '园区入驻协议', |
| | | [FourStreamsMaterialFileBusinessTypeEnum.RatePaymentFileUrl]: '企业完税证明(盖章)', |
| | | [FourStreamsMaterialFileBusinessTypeEnum.TaxSubFileUrl]: '企业缴税明细汇总表(盖章)', |
| | | [FourStreamsMaterialFileBusinessTypeEnum.OperateProfitesUrl]: '企业营收利润表', |
| | | [FourStreamsMaterialFileBusinessTypeEnum.EnterRelateUrl]: '入驻关联说明', |
| | | [FourStreamsMaterialFileBusinessTypeEnum.PersonTaxRatePayUrl]: 'C端个税完税情况说明', |
| | | [FourStreamsMaterialFileBusinessTypeEnum.PersonTaxRatePayUrl]: 'C端个税完税证明', |
| | | [FourStreamsMaterialFileBusinessTypeEnum.PersonTaxInstructUrl]: 'C端完税情况说明', |
| | | }; |
| | | |
| | | export const FourStreamsMaterialFileBusinessTypeEnumKey = { |
| | |
| | | [FourStreamsMaterialFileBusinessTypeEnum.OperateProfitesUrl]: 'operateProfitesUrl', |
| | | [FourStreamsMaterialFileBusinessTypeEnum.EnterRelateUrl]: 'enterRelateUrl', |
| | | [FourStreamsMaterialFileBusinessTypeEnum.PersonTaxRatePayUrl]: 'personTaxRatePayUrl', |
| | | [FourStreamsMaterialFileBusinessTypeEnum.PersonTaxInstructUrl]: 'personTaxInstructUrl', |
| | | } as const; |
| | | |
| | | export enum ApplyTransferFileBusinessTypeEnum { |
| | | /** 拨付凭证*/ |
| | | FinanceToFileUrl = 100, |
| | | /** 充值凭证*/ |
| | | TransferToFileUrl = 110, |
| | | } |
| | | |
| | | export const ApplyTransferFileBusinessTypeEnumText = { |
| | | [ApplyTransferFileBusinessTypeEnum.FinanceToFileUrl]: '拨付凭证', |
| | | [ApplyTransferFileBusinessTypeEnum.TransferToFileUrl]: '充值凭证', |
| | | }; |
| | | |
| | | export const ApplyTransferFileBusinessTypeEnumKey = { |
| | | [ApplyTransferFileBusinessTypeEnum.FinanceToFileUrl]: 'financeToFileUrl', |
| | | [ApplyTransferFileBusinessTypeEnum.TransferToFileUrl]: 'transferToFileUrl', |
| | | } as const; |
| | | |
| | | export enum TransferFileEnumInRewardGrand { |
| | | /** 拨付凭证*/ |
| | | FinanceFileUrl = 200, |
| | | /** 充值凭证*/ |
| | | SettleFileUrl = 210, |
| | | } |
| | | |
| | | export const TransferFileEnumInRewardGrandText = { |
| | | [TransferFileEnumInRewardGrand.FinanceFileUrl]: '拨付凭证', |
| | | [TransferFileEnumInRewardGrand.SettleFileUrl]: '充值凭证', |
| | | }; |
| | | |
| | | export const TransferFileEnumInRewardGrandKey = { |
| | | [TransferFileEnumInRewardGrand.FinanceFileUrl]: 'financeFileUrl', |
| | | [TransferFileEnumInRewardGrand.SettleFileUrl]: 'settleFileUrl', |
| | | } as const; |
| | |
| | | import { convertApi2FormUrlOnlyOne } from '@/utils'; |
| | | import { convertApi2FormUrl, convertApi2FormUrlOnlyOne } from '@/utils'; |
| | | import { |
| | | ApplyTransferFileBusinessTypeEnum, |
| | | ApplyTransferFileBusinessTypeEnumKey, |
| | | ApplyTransferMaterialFileTableItem, |
| | | FourStreamsMaterialFileBusinessTypeEnum, |
| | | FourStreamsMaterialFileBusinessTypeEnumKey, |
| | | FourStreamsMaterialFileTableItem, |
| | | TransferFileEnumInRewardGrand, |
| | | TransferFileEnumInRewardGrandKey, |
| | | TransferFileEnumInRewardGrandTableItem, |
| | | } from '../types'; |
| | | |
| | | export class FourStreamsMaterialUtils { |
| | |
| | | /**数字经济园材料 */ |
| | | static DigitIndustrialParkMaterialFile = [ |
| | | FourStreamsMaterialFileBusinessTypeEnum.ParkEnterPactUrl, |
| | | FourStreamsMaterialFileBusinessTypeEnum.EnterRelateUrl, |
| | | // FourStreamsMaterialFileBusinessTypeEnum.EnterRelateUrl, |
| | | FourStreamsMaterialFileBusinessTypeEnum.RatePaymentFileUrl, |
| | | FourStreamsMaterialFileBusinessTypeEnum.TaxSubFileUrl, |
| | | FourStreamsMaterialFileBusinessTypeEnum.OperateProfitesUrl, |
| | | FourStreamsMaterialFileBusinessTypeEnum.PersonTaxRatePayUrl, |
| | | FourStreamsMaterialFileBusinessTypeEnum.PersonTaxInstructUrl, |
| | | ]; |
| | | |
| | | /**财政拨付和平台充值凭证 */ |
| | | static ApplyTransferMaterialFile = [ |
| | | ApplyTransferFileBusinessTypeEnum.FinanceToFileUrl, |
| | | ApplyTransferFileBusinessTypeEnum.TransferToFileUrl, |
| | | ]; |
| | | |
| | | /**财政拨付和平台充值凭证 奖励金发放*/ |
| | | static TransferFileEnumInRewardGrandFile = [ |
| | | TransferFileEnumInRewardGrand.FinanceFileUrl, |
| | | TransferFileEnumInRewardGrand.SettleFileUrl, |
| | | ]; |
| | | |
| | | static isFourStreamsParkType(parkTypeName) { |
| | |
| | | ]) |
| | | ); |
| | | } |
| | | |
| | | static initApplyTransferMaterialFileList< |
| | | T extends { financeToFileUrl?: string; transferToFileUrl?: string } |
| | | >(data: T) { |
| | | return this.ApplyTransferMaterialFile.map((item) => { |
| | | const filePathList = data[ApplyTransferFileBusinessTypeEnumKey[item]] |
| | | ? data[ApplyTransferFileBusinessTypeEnumKey[item]].split('|') |
| | | : []; |
| | | return { |
| | | fileBusinessType: item, |
| | | fileList: filePathList.map(convertApi2FormUrl), |
| | | } as ApplyTransferMaterialFileTableItem; |
| | | }); |
| | | } |
| | | |
| | | static initApplyRewardGrandFileList< |
| | | T extends { financeFileUrl?: string; settleFileUrl?: string } |
| | | >(data: T) { |
| | | return this.TransferFileEnumInRewardGrandFile.map((item) => { |
| | | const filePathList = data[TransferFileEnumInRewardGrandKey[item]] |
| | | ? data[TransferFileEnumInRewardGrandKey[item]].split('|') |
| | | : []; |
| | | return { |
| | | fileBusinessType: item, |
| | | fileList: filePathList.map(convertApi2FormUrl), |
| | | } as TransferFileEnumInRewardGrandTableItem; |
| | | }); |
| | | } |
| | | } |
| | | |
| | | export class ParkTypeUtils { |
| | |
| | | |
| | | export enum SettleStatusEnum { |
| | | /** |
| | | * 待发放 |
| | | * 待充值 |
| | | */ |
| | | WaitForSettle = 1, |
| | | /** |
| | | * 已发放 |
| | | * 已充值 |
| | | */ |
| | | HasSettle = 2, |
| | | } |
| | | |
| | | export const SettleStatusEnumText = { |
| | | [SettleStatusEnum.WaitForSettle]: '待发放', |
| | | [SettleStatusEnum.HasSettle]: '已发放', |
| | | [SettleStatusEnum.WaitForSettle]: '待充值', |
| | | [SettleStatusEnum.HasSettle]: '已充值', |
| | | }; |
| | | |
| | | export enum FinanceStatusEnum { |
| | | /** |
| | | * 待拨付 |
| | | */ |
| | | WaitForIncome = 1, |
| | | /** |
| | | * 已拨付 |
| | | */ |
| | | HasIncome = 2, |
| | | } |
| | | |
| | | export const FinanceStatusEnumText = { |
| | | [FinanceStatusEnum.WaitForIncome]: '待拨付', |
| | | [FinanceStatusEnum.HasIncome]: '已拨付', |
| | | }; |
| | | |
| | | export enum IncomeStatusEnum { |
| | |
| | | }); |
| | | } |
| | | |
| | | /** 预充值审核 POST /api/ParkBountyApply/CheckUserEnterpriseRecharge */ |
| | | export async function checkUserEnterpriseRecharge( |
| | | body: API.CheckUserEnterpriseRechargeInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<number>('/api/ParkBountyApply/CheckUserEnterpriseRecharge', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 继续申报 POST /api/ParkBountyApply/EditParkBountyApply */ |
| | | export async function editParkBountyApply( |
| | | body: API.EditParkBountyApplyStepOneInput, |
| | |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | | } |
| | | |
| | | /** 获取企业最后一次上传的园区入驻协议文件 GET /api/ParkBountyApply/GetEnterpriseLastUploadEnterPactFile */ |
| | | export async function getEnterpriseLastUploadEnterPactFile( |
| | | // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) |
| | | params: API.APIgetEnterpriseLastUploadEnterPactFileParams, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<string>('/api/ParkBountyApply/GetEnterpriseLastUploadEnterPactFile', { |
| | | method: 'GET', |
| | | params: { |
| | | ...params, |
| | | }, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 获取企业充值审核列表 POST /api/ParkBountyApply/GetEnterprisePreChargeCheckList */ |
| | | export async function getEnterprisePreChargeCheckList( |
| | | body: API.GetEnterprisePreChargeCheckListInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.GetEnterprisePreChargeCheckListOutputPageOutput>( |
| | | '/api/ParkBountyApply/GetEnterprisePreChargeCheckList', |
| | | { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | | } |
| | | |
| | | /** 获取预充值详情 GET /api/ParkBountyApply/GetEnterpriseRechargeDetail */ |
| | | export async function getEnterpriseRechargeDetail( |
| | | // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) |
| | | params: API.APIgetEnterpriseRechargeDetailParams, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.GetEnterpriseRechargeDetail>( |
| | | '/api/ParkBountyApply/GetEnterpriseRechargeDetail', |
| | | { |
| | | method: 'GET', |
| | | params: { |
| | | ...params, |
| | | }, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | | } |
| | | |
| | | /** 获取批量入账中未财政拨付的企业 GET /api/ParkBountyApply/GetParkBountyApplyBatchFinanceEnterprise */ |
| | | export async function getParkBountyApplyBatchFinanceEnterprise( |
| | | // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) |
| | | params: API.APIgetParkBountyApplyBatchFinanceEnterpriseParams, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.GetNotTransferCompanyNameListOutput[]>( |
| | | '/api/ParkBountyApply/GetParkBountyApplyBatchFinanceEnterprise', |
| | | { |
| | | method: 'GET', |
| | | params: { |
| | | ...params, |
| | | }, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | |
| | | ); |
| | | } |
| | | |
| | | /** 导入奖励金入账 POST /api/ParkBountyApply/ImportParkBountyData */ |
| | | export async function importParkBountyData( |
| | | body: API.ImportBountyApplyDataInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.ImportBountyApplyDataOutput>('/api/ParkBountyApply/ImportParkBountyData', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 内部审核 POST /api/ParkBountyApply/IncheckParkBountyApply */ |
| | | export async function incheckParkBountyApply( |
| | | body: API.IncheckParkBountyApplyInput, |
| | |
| | | }); |
| | | } |
| | | |
| | | /** 批量财政入账 POST /api/ParkBountyApply/ParkBountyApplyBatchFinance */ |
| | | export async function parkBountyApplyBatchFinance( |
| | | body: API.ParkBountyApplyBatchFinanceInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<number>('/api/ParkBountyApply/ParkBountyApplyBatchFinance', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 运营端—入账-批量入账 POST /api/ParkBountyApply/ParkBountyApplyBatchTransfer */ |
| | | export async function parkBountyApplyBatchTransfer( |
| | | body: API.ParkBountyApplyBatchTransferInput, |
| | |
| | | }); |
| | | } |
| | | |
| | | /** 政务端—奖励金发放—上传凭证 POST /api/ParkBountyApply/ParkBountyApplySettle */ |
| | | /** 财政入账 POST /api/ParkBountyApply/ParkBountyApplyFinance */ |
| | | export async function parkBountyApplyFinance( |
| | | body: API.ParkBountyApplyRechargeInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<number>('/api/ParkBountyApply/ParkBountyApplyFinance', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 政务端—奖励金发放—上传财政拨付凭证 POST /api/ParkBountyApply/ParkBountyApplyFinanceBill */ |
| | | export async function parkBountyApplyFinanceBill( |
| | | body: API.ParkBountyApplyFinanceFileInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<number>('/api/ParkBountyApply/ParkBountyApplyFinanceBill', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 财政入账上传凭证 POST /api/ParkBountyApply/ParkBountyApplyFinanceFile */ |
| | | export async function parkBountyApplyFinanceFile( |
| | | body: API.ParkBountyApplyRechargeFileInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<number>('/api/ParkBountyApply/ParkBountyApplyFinanceFile', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 政务端—奖励金发放—上传充值凭证 POST /api/ParkBountyApply/ParkBountyApplySettle */ |
| | | export async function parkBountyApplySettle( |
| | | body: API.ParkBountyApplySettleInput, |
| | | options?: API.RequestConfig |
| | |
| | | } |
| | | ); |
| | | } |
| | | |
| | | /** 用户充值 POST /api/ParkBountyApply/UserEnterpiseRecharge */ |
| | | export async function userEnterpiseRecharge( |
| | | body: API.UserEnterpiseRechargeInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<number>('/api/ParkBountyApply/UserEnterpiseRecharge', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | |
| | | }); |
| | | } |
| | | |
| | | /** 获取平台银行账户信息 GET /api/User/GetPlatIncomeRechargeAccount */ |
| | | export async function getPlatIncomeRechargeAccount(options?: API.RequestConfig) { |
| | | return request<API.GetPlatIncomeRechargeAccountOutput>('/api/User/GetPlatIncomeRechargeAccount', { |
| | | method: 'GET', |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 获取平台用户详情 GET /api/User/GetPlatUserAttestationInfo */ |
| | | export async function getPlatUserAttestationInfo( |
| | | // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) |
| | |
| | | transactionDetailId?: string; |
| | | } |
| | | |
| | | interface APIgetEnterpriseLastUploadEnterPactFileParams { |
| | | companyId?: string; |
| | | } |
| | | |
| | | interface APIgetEnterpriseMaterialIdByUserIdParams { |
| | | userId?: string; |
| | | materialType?: EnterpriseMaterialTypeEnum; |
| | | } |
| | | |
| | | interface APIgetEnterpriseRechargeDetailParams { |
| | | id?: string; |
| | | } |
| | | |
| | | interface APIgetFirstCurrentUserModuleListCacheByModuleIdParams { |
| | |
| | | |
| | | interface APIgetParams { |
| | | id?: string; |
| | | } |
| | | |
| | | interface APIgetParkBountyApplyBatchFinanceEnterpriseParams { |
| | | parkBountyApplyId?: string; |
| | | } |
| | | |
| | | interface APIgetParkBountyApplyBatchTransferEnterpriseParams { |
| | |
| | | verificationCode?: string; |
| | | } |
| | | |
| | | interface CheckUserEnterpriseRechargeInput { |
| | | id?: string; |
| | | checkStatus?: EnterpriseRechargeStatusEnum; |
| | | remark?: string; |
| | | } |
| | | |
| | | interface CheckUserWalletBalanceInfoOutput { |
| | | acctNo?: string; |
| | | acctName?: string; |
| | |
| | | description?: string; |
| | | parkCustomersCount?: ParkCustomersCountTypeEnum; |
| | | /** 成立年份 */ |
| | | setUpDate: number; |
| | | setUpDate?: number; |
| | | serveSetting?: string[]; |
| | | workOfType?: string[]; |
| | | parkStyle?: ParkStyleDto[]; |
| | |
| | | |
| | | type EnterpriseMaterialTypeEnum = 10 | 11 | 20; |
| | | |
| | | type EnterpriseRechargeStatusEnum = 10 | 20 | 30; |
| | | |
| | | interface EnterpriseRegVerifyInput { |
| | | /** 用户Id */ |
| | | userId?: string; |
| | |
| | | interface EntityExtensionDto { |
| | | properties?: Record<string, any>; |
| | | configuration?: Record<string, any>; |
| | | } |
| | | |
| | | interface ExportBountyApplyData { |
| | | /** 企业名称 */ |
| | | enterpriseName: string; |
| | | /** 信用代码 */ |
| | | societyCreditCode: string; |
| | | /** 财政拨付金额 */ |
| | | financeToAmountStr?: string; |
| | | /** 平台充值金额 */ |
| | | transferToAmountStr?: string; |
| | | /** 财政拨付金额 */ |
| | | financeToAmount?: number; |
| | | /** 平台充值金额 */ |
| | | transferToAmount?: number; |
| | | /** 备注 */ |
| | | remark?: string; |
| | | } |
| | | |
| | | interface ExportInsStaffInput { |
| | |
| | | subMsg?: string; |
| | | fileId?: string; |
| | | } |
| | | |
| | | type FinanceStatusEnum = 1 | 2; |
| | | |
| | | type FinanceTypeEnum = 10 | 20; |
| | | |
| | | interface FirstPartyCompanyAuditDatilOutput { |
| | | id?: string; |
| | |
| | | remianAmount?: number; |
| | | payRemark?: string; |
| | | fileUrl?: string; |
| | | financeType?: FinanceTypeEnum; |
| | | payFileUrls?: string[]; |
| | | } |
| | | |
| | |
| | | errmsg?: string; |
| | | cost?: string; |
| | | data?: GetEnterpriseCredentialDataResponse; |
| | | } |
| | | |
| | | interface GetEnterprisePreChargeCheckListInput { |
| | | pageModel?: Pagination; |
| | | keyWord?: string; |
| | | beginDateTime?: string; |
| | | endDateTime?: string; |
| | | checkStatus?: EnterpriseRechargeStatusEnum; |
| | | } |
| | | |
| | | interface GetEnterprisePreChargeCheckListOutput { |
| | | id?: string; |
| | | /** 登录账号 */ |
| | | userName?: string; |
| | | /** 银行账户 */ |
| | | outBankNum?: string; |
| | | /** 企业名称 */ |
| | | enterpriseName?: string; |
| | | /** 出款企业账户名称 */ |
| | | outEnterpriseName?: string; |
| | | /** 充值金额 */ |
| | | prechargeAmount?: number; |
| | | /** 出账所属银行 */ |
| | | outBankName?: string; |
| | | /** 充值流水号 */ |
| | | rechargeSerialNo?: string; |
| | | /** 提交日期 */ |
| | | creationTime?: string; |
| | | checkStatus?: EnterpriseRechargeStatusEnum; |
| | | } |
| | | |
| | | interface GetEnterprisePreChargeCheckListOutputPageOutput { |
| | | pageModel?: Pagination; |
| | | objectData?: any; |
| | | data?: GetEnterprisePreChargeCheckListOutput[]; |
| | | } |
| | | |
| | | interface GetEnterpriseRechargeDetail { |
| | | id?: string; |
| | | /** 充值账号 */ |
| | | incomeBankNum?: string; |
| | | /** 企业名称 */ |
| | | incomeEnterpriseName?: string; |
| | | /** 出款账号 */ |
| | | outBankNum?: string; |
| | | /** 出款企业名称 */ |
| | | outEnterpriseName?: string; |
| | | /** 充值金额 */ |
| | | prechargeAmount?: number; |
| | | /** 出账所属银行 */ |
| | | outBankName?: string; |
| | | /** 出账支行名称 */ |
| | | outBankResumeName?: string; |
| | | /** 出账回单 */ |
| | | outReceiptFileUrl?: string; |
| | | /** 审核备注 */ |
| | | checkRemark?: string; |
| | | checkStatus?: EnterpriseRechargeStatusEnum; |
| | | /** 提交日期 */ |
| | | creationTime?: string; |
| | | } |
| | | |
| | | interface GetFeatureListResultDto { |
| | |
| | | /** 企业经营利润表 */ |
| | | operateProfitesUrl?: string; |
| | | /** 入驻关联说明 */ |
| | | enterRelateUrl?: string; |
| | | personTaxInstructUrl?: string; |
| | | /** C端个税完税情况说明 */ |
| | | personTaxRatePayUrl?: string; |
| | | } |
| | |
| | | settleTimeBegin?: string; |
| | | /** 发放结束日期 */ |
| | | settleTimeEnd?: string; |
| | | /** 拨付起始日期 */ |
| | | financeTimeBegin?: string; |
| | | /** 拨付结束日期 */ |
| | | financeTimeEnd?: string; |
| | | /** 入账起始日期 */ |
| | | incomeTimeBegin?: string; |
| | | /** 入账结束日期 */ |
| | |
| | | inCheckStatus?: BountyCheckStatusEnum; |
| | | settleStatus?: SettleStatusEnum; |
| | | incomeStatus?: IncomeStatusEnum; |
| | | financeStatus?: FinanceStatusEnum; |
| | | } |
| | | |
| | | interface GetParkBountyApplyListOutput { |
| | |
| | | outCheckTime?: string; |
| | | /** 发放凭证 */ |
| | | settleFileUrl?: string; |
| | | financeStatus?: FinanceStatusEnum; |
| | | /** 财政发放时间 */ |
| | | financeTime?: string; |
| | | /** 财政发放凭证 */ |
| | | financeFileUrl?: string; |
| | | /** 充值金额 */ |
| | | settleSumAmount?: number; |
| | | /** 财政发放金额 */ |
| | | financeSumAmount?: number; |
| | | } |
| | | |
| | | interface GetParkBountyApplyListOutputPageOutput { |
| | |
| | | /** 企业名/信用代码 */ |
| | | searchKeyWord?: string; |
| | | transferToStatus?: TransferToStatusEnum; |
| | | financeToStatus?: FinanceStatusEnum; |
| | | } |
| | | |
| | | interface GetParkBountyTradeDetailByIdInput { |
| | |
| | | tradeTime?: string; |
| | | /** 奖励金余额 */ |
| | | remianAmount?: number; |
| | | financeType?: FinanceTypeEnum; |
| | | } |
| | | |
| | | interface GetParkBountyTradeDetailOutputPageOutput { |
| | |
| | | id?: string; |
| | | /** 申请批次号 */ |
| | | batchNo?: string; |
| | | /** 发放日期 */ |
| | | settleTime?: string; |
| | | /** 入账时间 */ |
| | | incomeTime?: string; |
| | | incomeStatus?: TransferToStatusEnum; |
| | | /** 发放金额 */ |
| | | /** 申报总额 */ |
| | | applySumAmount?: number; |
| | | /** 入账凭证 */ |
| | | /** 平台充值入账时间 */ |
| | | transferToTime?: string; |
| | | transferToStatus?: TransferToStatusEnum; |
| | | /** 平台充值金额 */ |
| | | transferToAmount?: number; |
| | | /** 平台充值入账凭证 */ |
| | | transferToFileUrl?: string; |
| | | /** 财政拨付金额 */ |
| | | financeToAmount?: number; |
| | | /** 财政拨付入账时间 */ |
| | | financeToTime?: string; |
| | | /** 财政拨付发放日期 */ |
| | | financeTime?: string; |
| | | /** 平台充值发放日期 */ |
| | | settleTime?: string; |
| | | financeToStatus?: FinanceStatusEnum; |
| | | /** 拨付入账凭证 */ |
| | | financeToFileUrl?: string; |
| | | } |
| | | |
| | | interface GetParkCustomerBountyGrantOutputPageOutput { |
| | |
| | | payCount?: number; |
| | | /** 最近发放时间 */ |
| | | lastPayTime?: string; |
| | | /** 发放总额 */ |
| | | bountySumAmount?: number; |
| | | /** 奖励金余额 */ |
| | | bountyAmount?: number; |
| | | } |
| | |
| | | maxAmount?: number; |
| | | /** 查询条件:买家名称/卖家名称/产品名称 */ |
| | | queryCondition?: string; |
| | | } |
| | | |
| | | interface GetPlatIncomeRechargeAccountOutput { |
| | | bankNumber?: string; |
| | | bankName?: string; |
| | | bankBranchName?: string; |
| | | bankAccountName?: string; |
| | | } |
| | | |
| | | interface GetProductAdvertiseByCategoryInput { |
| | |
| | | interface GetUserBaseEnterpriseInfoOutput { |
| | | /** 奖励金余额 */ |
| | | bountyAmount?: number; |
| | | /** 充值余额 */ |
| | | rechargeAmount?: number; |
| | | enterpriseName?: string; |
| | | societyCreditCode?: string; |
| | | licenseUrl?: string; |
| | |
| | | |
| | | interface IdentityUserUpdateRolesDto { |
| | | roleNames: string[]; |
| | | } |
| | | |
| | | interface ImportBountyApplyDataInput { |
| | | /** 导入地址 */ |
| | | url?: string; |
| | | /** 奖励金申请Id */ |
| | | parkBountyApplyId?: string; |
| | | } |
| | | |
| | | interface ImportBountyApplyDataOutput { |
| | | /** 错误数据列表 */ |
| | | error?: ExportBountyApplyData[]; |
| | | } |
| | | |
| | | interface ImportIdentityCardInput { |
| | |
| | | bountyAssignFileUlr?: string; |
| | | /** 奖励金汇总表 */ |
| | | bountyCollectFileUrl?: string; |
| | | /** 入驻关联说明 */ |
| | | enterpriseRelateFileUrl?: string; |
| | | outCheckStatus?: BountyCheckStatusEnum; |
| | | /** 外部审核原因 */ |
| | | outCheckRemark?: string; |
| | | /** 内部审核原因 */ |
| | | inCheckRemark?: string; |
| | | inCheckStatus?: BountyCheckStatusEnum; |
| | | /** 财政拨付总额 */ |
| | | financeSumAmount?: number; |
| | | /** 平台充值总额 */ |
| | | settleSumAmount?: number; |
| | | /** 发放凭证 */ |
| | | settleFileUrl?: string; |
| | | /** 财政发放凭证 */ |
| | | financeFileUrl?: string; |
| | | } |
| | | |
| | | interface OutcheckParkBountyApplyInput { |
| | |
| | | bountyAssignFileUlr?: string; |
| | | /** 奖励金汇总表 */ |
| | | bountyCollectFileUrl?: string; |
| | | /** 入驻关联说明 */ |
| | | enterpriseRelateFileUrl?: string; |
| | | /** 发放凭证 */ |
| | | settleFileUrl?: string; |
| | | /** 财政发放凭证 */ |
| | | financeFileUrl?: string; |
| | | /** 充值金额 */ |
| | | settleSumAmount?: number; |
| | | /** 财政发放金额 */ |
| | | financeSumAmount?: number; |
| | | } |
| | | |
| | | interface ParkBountyApplyBatchFinanceInput { |
| | | parkBountyApplyDetailId?: string[]; |
| | | /** 充值金额 */ |
| | | financeToAmount?: number; |
| | | parkBountyApplyId?: string; |
| | | } |
| | | |
| | | interface ParkBountyApplyBatchTransferInput { |
| | | parkBountyApplyDetailId?: string[]; |
| | | /** 入账金额 */ |
| | | transferToAmount?: number; |
| | | parkBountyApplyId?: string; |
| | | } |
| | | |
| | | interface ParkBountyApplyDetailInfo { |
| | |
| | | taxSubFileUrl?: string; |
| | | /** 企业经营利润表 */ |
| | | operateProfitesUrl?: string; |
| | | /** 入驻关联说明 */ |
| | | enterRelateUrl?: string; |
| | | /** C端完善情况说明 */ |
| | | personTaxInstructUrl?: string; |
| | | /** C端个税完税情况说明 */ |
| | | personTaxRatePayUrl?: string; |
| | | authType?: EnterpriseTypeEnum; |
| | |
| | | enterpriseIsVerify?: boolean; |
| | | /** 文件完整度 */ |
| | | fileCompleteRate?: string; |
| | | financeToStatus?: FinanceStatusEnum; |
| | | /** 财政入账金额 */ |
| | | financeToAmount?: number; |
| | | /** 财政入账时间 */ |
| | | financeToTime?: string; |
| | | /** 财政入账凭证 */ |
| | | financeToFileUrl?: string; |
| | | /** 财政入账操作用户 */ |
| | | financeToUserId?: string; |
| | | } |
| | | |
| | | interface ParkBountyApplyDetailInfoPageOutput { |
| | |
| | | data?: ParkBountyApplyDetailInfo[]; |
| | | } |
| | | |
| | | interface ParkBountyApplyFinanceFileInput { |
| | | parkBountyApplyId?: string; |
| | | /** 发放凭证 */ |
| | | financeFileUrl?: string; |
| | | /** 发放金额 */ |
| | | financeSumAmount?: number; |
| | | } |
| | | |
| | | interface ParkBountyApplyRechargeFileInput { |
| | | parkBountyApplyDetailId?: string; |
| | | /** 平台充值凭证 */ |
| | | rechargeToFileUrl?: string; |
| | | } |
| | | |
| | | interface ParkBountyApplyRechargeInput { |
| | | parkBountyApplyDetailId?: string; |
| | | /** 财政拨付 */ |
| | | bountyAmount?: number; |
| | | parkBountyApplyId?: string; |
| | | } |
| | | |
| | | interface ParkBountyApplySettleInput { |
| | | parkBountyApplyId?: string; |
| | | /** 发放凭证 */ |
| | | settleFileUrl?: string; |
| | | /** 发放金额 */ |
| | | settleSumAmount?: number; |
| | | } |
| | | |
| | | interface ParkBountyApplyTransferDetailInfo { |
| | |
| | | taxSubFileUrl?: string; |
| | | /** 企业经营利润表 */ |
| | | operateProfitesUrl?: string; |
| | | /** 入驻关联说明 */ |
| | | enterRelateUrl?: string; |
| | | /** C端完税情况说明 */ |
| | | personTaxInstructUrl?: string; |
| | | /** C端个税完税情况说明 */ |
| | | personTaxRatePayUrl?: string; |
| | | authType?: EnterpriseTypeEnum; |
| | |
| | | parkBountyApplyDetailId?: string; |
| | | /** 入账凭证 */ |
| | | transferToFileUrl?: string; |
| | | financeToStatus?: FinanceStatusEnum; |
| | | /** 财政入账金额 */ |
| | | financeToAmount?: number; |
| | | /** 财政入账时间 */ |
| | | financeToTime?: string; |
| | | /** 财政入账凭证 */ |
| | | financeToFileUrl?: string; |
| | | /** 财政入账操作用户 */ |
| | | financeToUserId?: string; |
| | | } |
| | | |
| | | interface ParkBountyApplyTransferDetailInfoPageOutput { |
| | |
| | | parkBountyApplyDetailId?: string; |
| | | /** 入账金额 */ |
| | | transferToAmount?: number; |
| | | parkBountyApplyId?: string; |
| | | } |
| | | |
| | | type ParkCustomersCountTypeEnum = 10 | 50 | 100; |
| | |
| | | enterpriseOperateFileUrl?: string; |
| | | /** 企业缴税明细表 */ |
| | | enterpriseTaxSubFileUrl?: string; |
| | | /** 入驻关联说明 */ |
| | | enterpriseRelateFileUrl?: string; |
| | | } |
| | | |
| | | interface SaveWalletPayChannelFeeSettingInput { |
| | |
| | | taxSubFileUrl?: string; |
| | | /** 企业经营利润表 */ |
| | | operateProfitesUrl?: string; |
| | | /** 入驻关联说明 */ |
| | | enterRelateUrl?: string; |
| | | /** C端完税情况说明 */ |
| | | personTaxInstructUrl?: string; |
| | | /** C端个税完税情况说明 */ |
| | | personTaxRatePayUrl?: string; |
| | | } |
| | |
| | | data?: UserDto[]; |
| | | } |
| | | |
| | | interface UserEnterpiseRechargeInput { |
| | | /** 收款账号 */ |
| | | incomeBankNum?: string; |
| | | /** 收款企业名称 */ |
| | | incomeEnterpriseName?: string; |
| | | /** 出款账号 */ |
| | | outBankNum?: string; |
| | | /** 出款企业名称 */ |
| | | outEnterpriseName?: string; |
| | | /** 充值金额 */ |
| | | prechargeAmount?: number; |
| | | /** 出账所属银行 */ |
| | | outBankName?: string; |
| | | /** 出账支行名称 */ |
| | | outBankResumeName?: string; |
| | | /** 出账回单 */ |
| | | outReceiptFileUrl?: string; |
| | | } |
| | | |
| | | type UserFollowStatusEnum = 10 | 20 | 30 | 40; |
| | | |
| | | interface UserGetContractEnterpriseFaceSignInput { |
| | |
| | | { |
| | | id: '6', |
| | | enCode: 'applyCount', |
| | | name: '奖励金申报次数', |
| | | name: '申报次数', |
| | | width: 150, |
| | | }, |
| | | { |
| | |
| | | { |
| | | id: '8', |
| | | enCode: 'payCount', |
| | | name: '奖励金发放次数', |
| | | name: '发放次数', |
| | | width: 150, |
| | | }, |
| | | { |
| | |
| | | }, |
| | | { |
| | | id: '10', |
| | | enCode: 'bountyAmount', |
| | | name: '奖励金发放总额', |
| | | enCode: 'bountySumAmount', |
| | | name: '发放总额', |
| | | width: 150, |
| | | }, |
| | | { |
| | | id: '11', |
| | | enCode: 'bountyAmount', |
| | | name: '奖励金余额', |
| | | name: '平台充值余额', |
| | | width: 150, |
| | | }, |
| | | ]; |
| | |
| | | columnsRenderProps: { |
| | | lastApplyTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' }, |
| | | lastPayTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' }, |
| | | bountySumAmount: { type: 'money' }, |
| | | bountyAmount: { type: 'money' }, |
| | | enterpriseType: { type: 'enum', valueEnum: EnterpriseTypeText }, |
| | | }, |
| | |
| | | <ProTabPane lazy label="企业申报记录" name="enterpriseDeclareRecord"> |
| | | <EnterpriseDeclareRecordView></EnterpriseDeclareRecordView> |
| | | </ProTabPane> |
| | | <ProTabPane lazy label="奖励金发放记录" name="rewardGrantRecord"> |
| | | <ProTabPane lazy label="发放记录" name="rewardGrantRecord"> |
| | | <RewardGrantRecordView></RewardGrantRecordView> |
| | | </ProTabPane> |
| | | <ProTabPane lazy label="奖励金消费记录" name="rewardConsumeRecord"> |
| | | <ProTabPane lazy label="消费记录" name="rewardConsumeRecord"> |
| | | <RewardConsumeRecordView></RewardConsumeRecordView> |
| | | </ProTabPane> |
| | | </ProTabs> |
| | |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | <ProFormColItem :span="8"> |
| | | <ProFormItemV2 label="开户支行:" prop="bankBranchName"> |
| | | <ProFormText v-model.trim="detail.bankBranchName" /> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | <ProFormColItem :span="8"> |
| | | <ProFormItemV2 label="银行帐号:" prop="bankCardNumber"> |
| | | <ProFormText v-model.trim="detail.bankCardNumber" /> |
| | | </ProFormItemV2> |
| | |
| | | { |
| | | id: '4', |
| | | enCode: 'remianAmount', |
| | | name: '奖励金余额', |
| | | name: '资金余额', |
| | | }, |
| | | ]; |
| | | |
| | |
| | | <LoadingLayout :loading="state.loading"> |
| | | <AppContainer> |
| | | <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns"> |
| | | <template #operationBtn-checkBtn="{ data, row }"> |
| | | <PreviewBtnV2 |
| | | class="pro-table-operation-btn" |
| | | :url="convertApi2FormUrlBySeparator(row.transferToFileUrl ?? '')" |
| | | 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" |
| | | /> |
| | | </AppContainer> |
| | | </LoadingLayout> |
| | | </template> |
| | |
| | | useTable, |
| | | ProTableV2, |
| | | defineOperationBtns, |
| | | PreviewBtnV2, |
| | | useFormDialog, |
| | | } from '@bole-core/components'; |
| | | import { convertApi2FormUrlBySeparator } from '@/utils'; |
| | | import { OrderInputType } from '@bole-core/core'; |
| | | import * as parkBountyApplyServices from '@/services/api/ParkBountyApply'; |
| | | import { IncomeStatusEnumText } from '@/constants'; |
| | | import { ApplyTransferFileBusinessTypeEnumText } from '@/components/commonView/types'; |
| | | import { FourStreamsMaterialUtils } from '@/components/commonView/utils'; |
| | | import { ApplyTransferMaterialFileTableItem } from '@/components/commonView/types'; |
| | | |
| | | defineOptions({ |
| | | name: 'RewardGrantRecordView', |
| | |
| | | }, |
| | | { |
| | | id: '2', |
| | | enCode: 'settleTime', |
| | | name: '奖励金发放日期', |
| | | enCode: 'applySumAmount', |
| | | name: '申报总额', |
| | | }, |
| | | { |
| | | id: '3', |
| | | enCode: 'incomeTime', |
| | | name: '奖励金到账日期', |
| | | enCode: 'financeToAmount', |
| | | name: '财政拨付金额', |
| | | }, |
| | | { |
| | | id: '4', |
| | | enCode: 'applySumAmount', |
| | | name: '发放金额', |
| | | enCode: 'financeTime', |
| | | name: '财政拨付日期', |
| | | }, |
| | | { |
| | | id: '5', |
| | | enCode: 'incomeStatus', |
| | | name: '到账确认结果', |
| | | enCode: 'transferToAmount', |
| | | name: '平台充值金额', |
| | | }, |
| | | { |
| | | id: '6', |
| | | enCode: 'settleTime', |
| | | name: '平台充值日期', |
| | | }, |
| | | ]; |
| | | |
| | |
| | | data: { |
| | | enCode: 'checkBtn', |
| | | name: '查看凭证', |
| | | }, |
| | | emits: { |
| | | onClick: (row) => openMaterialFileDialog(row), |
| | | }, |
| | | }, |
| | | ]); |
| | |
| | | }, |
| | | columnsRenderProps: { |
| | | settleTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' }, |
| | | incomeTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' }, |
| | | financeTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' }, |
| | | applySumAmount: { type: 'money' }, |
| | | incomeStatus: { type: 'enum', valueEnum: IncomeStatusEnumText }, |
| | | financeToAmount: { type: 'money' }, |
| | | transferToAmount: { type: 'money' }, |
| | | }, |
| | | } |
| | | ); |
| | | |
| | | function handlePreview(row: API.InsureBatchBillDto) {} |
| | | function openMaterialFileDialog(row: API.GetParkCustomerBountyGrantOutput) { |
| | | handleMaterialFileAdd({ |
| | | list: FourStreamsMaterialUtils.initApplyTransferMaterialFileList(row), |
| | | }); |
| | | } |
| | | |
| | | const { dialogProps: dialogMaterialFileProps, handleAdd: handleMaterialFileAdd } = useFormDialog({ |
| | | defaultFormParams: { |
| | | list: [] as ApplyTransferMaterialFileTableItem[], |
| | | }, |
| | | }); |
| | | |
| | | onMounted(async () => { |
| | | await getList(); |
| | |
| | | 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> |
| | |
| | | enterpriseOperateFileUrl: [] as UploadUserFile[], |
| | | bountyAssignFileUlr: [] as UploadUserFile[], |
| | | bountyCollectFileUrl: [] as UploadUserFile[], |
| | | enterpriseRelateFileUrl: [] as UploadUserFile[], |
| | | |
| | | status: '' as any as BountyCheckStatusEnum, |
| | | remark: '', |
| | |
| | | form.enterpriseOperateFileUrl = convertApi2FormUrlOnlyOne(data?.enterpriseOperateFileUrl); |
| | | form.bountyAssignFileUlr = convertApi2FormUrlOnlyOne(data?.bountyAssignFileUlr); |
| | | form.bountyCollectFileUrl = convertApi2FormUrlOnlyOne(data?.bountyCollectFileUrl); |
| | | form.enterpriseRelateFileUrl = convertApi2FormUrlOnlyOne(data?.enterpriseRelateFileUrl); |
| | | |
| | | getList(); |
| | | }, |
| | |
| | | enterpriseOperateFileUrl: [] as UploadUserFile[], |
| | | bountyAssignFileUlr: [] as UploadUserFile[], |
| | | bountyCollectFileUrl: [] as UploadUserFile[], |
| | | enterpriseRelateFileUrl: [] as UploadUserFile[], |
| | | |
| | | outCheckStatus: '' as any as BountyCheckStatusEnum, |
| | | outCheckRemark: '', |
| | |
| | | form.enterpriseOperateFileUrl = convertApi2FormUrlOnlyOne(data?.enterpriseOperateFileUrl); |
| | | form.bountyAssignFileUlr = convertApi2FormUrlOnlyOne(data?.bountyAssignFileUlr); |
| | | form.bountyCollectFileUrl = convertApi2FormUrlOnlyOne(data?.bountyCollectFileUrl); |
| | | form.enterpriseRelateFileUrl = convertApi2FormUrlOnlyOne(data?.enterpriseRelateFileUrl); |
| | | |
| | | getList(); |
| | | }, |
| | |
| | | }, |
| | | columnsRenderProps: { |
| | | authType: { type: 'enum', valueEnum: EnterpriseTypeText }, |
| | | // licenseUrl: { |
| | | // type: 'url', |
| | | // formatter: (row: API.UserCertificationAuditListDto) => setOSSLink(row.licenseUrl), |
| | | // modal: true, |
| | | // showDownloadBtn: true, |
| | | // showPreviewBtn: false, |
| | | // downloadBtnText: '查看', |
| | | // }, |
| | | }, |
| | | } |
| | | ); |
| | |
| | | enterpriseOperateFileUrl: [] as UploadUserFile[], |
| | | bountyAssignFileUlr: [] as UploadUserFile[], |
| | | bountyCollectFileUrl: [] as UploadUserFile[], |
| | | enterpriseRelateFileUrl: [] as UploadUserFile[], |
| | | }); |
| | | |
| | | const { data: detail, isLoading } = useQuery({ |
| | |
| | | } |
| | | ); |
| | | }, |
| | | placeholderData: () => ({} as API.ParkBountyApplyBaseInfo), |
| | | placeholderData: () => ({} as API.OutCheckParkBountyApplyBaseInfo), |
| | | onSuccess(data) { |
| | | form.batchNo = data.batchNo; |
| | | form.parkName = data.parkName; |
| | |
| | | form.enterpriseOperateFileUrl = convertApi2FormUrlOnlyOne(data?.enterpriseOperateFileUrl); |
| | | form.bountyAssignFileUlr = convertApi2FormUrlOnlyOne(data?.bountyAssignFileUlr); |
| | | form.bountyCollectFileUrl = convertApi2FormUrlOnlyOne(data?.bountyCollectFileUrl); |
| | | form.enterpriseRelateFileUrl = convertApi2FormUrlOnlyOne(data?.enterpriseRelateFileUrl); |
| | | |
| | | getList(); |
| | | }, |
| | |
| | | @change="getList()" |
| | | ></FieldDatePicker> |
| | | </QueryFilterItem> |
| | | <QueryFilterItem tip-content="发放日期"> |
| | | <QueryFilterItem tip-content="拨付日期"> |
| | | <FieldDatePicker |
| | | v-model="extraParamState.financeTime" |
| | | type="daterange" |
| | | range-separator="~" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | clearable |
| | | @change="getList()" |
| | | ></FieldDatePicker> |
| | | </QueryFilterItem> |
| | | <QueryFilterItem tip-content="充值日期"> |
| | | <FieldDatePicker |
| | | v-model="extraParamState.settleTime" |
| | | type="daterange" |
| | |
| | | @change="getList()" |
| | | ></FieldDatePicker> |
| | | </QueryFilterItem> |
| | | <QueryFilterItem> |
| | | <QueryFilterItem tip-content="财政拨付状态"> |
| | | <FieldRadio |
| | | v-model="extraParamState.financeStatus" |
| | | :value-enum="FinanceStatusEnumText" |
| | | buttonStyle |
| | | showAllBtn |
| | | @change="getList()" |
| | | /> |
| | | </QueryFilterItem> |
| | | <QueryFilterItem tip-content="平台充值状态"> |
| | | <FieldRadio |
| | | v-model="extraParamState.settleStatus" |
| | | :value-enum="SettleStatusEnumText" |
| | |
| | | </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> |
| | | <RewardGrantDialog v-bind="dialogProps"></RewardGrantDialog> |
| | | <FourStreamsMaterialFileDialog |
| | | v-bind="dialogMaterialFileProps" |
| | | :show-upload-btn="false" |
| | | :show-delete-btn="false" |
| | | :show-check-btn="false" |
| | | downloadBtnText="查看" |
| | | title="查看凭证" |
| | | :BusinessTypeEnumText="TransferFileEnumInRewardGrandText" |
| | | /> |
| | | <FinancialDialog v-bind="dialogFinancialProps"></FinancialDialog> |
| | | <PlateformDialog v-bind="dialogPlateformProps"></PlateformDialog> |
| | | </AppContainer> |
| | | </LoadingLayout> |
| | | </template> |
| | |
| | | FieldDatePicker, |
| | | useFormDialog, |
| | | UploadUserFile, |
| | | PreviewBtnV2, |
| | | } from '@bole-core/components'; |
| | | import { Message, OrderInputType } from '@bole-core/core'; |
| | | import { format } from '@/utils'; |
| | | import { |
| | | convertApi2FormUrl, |
| | | convertApi2FormUrlBySeparator, |
| | | downloadFileByUrl, |
| | | format, |
| | | } from '@/utils'; |
| | | import { SettleStatusEnum, SettleStatusEnumText } from '@/constants'; |
| | | SettleStatusEnum, |
| | | SettleStatusEnumText, |
| | | FinanceStatusEnum, |
| | | FinanceStatusEnumText, |
| | | } 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'; |
| | | import { FourStreamsMaterialUtils } from '@/components/commonView/utils'; |
| | | import { |
| | | TransferFileEnumInRewardGrandText, |
| | | TransferFileEnumInRewardGrandTableItem, |
| | | } from '@/components/commonView/types'; |
| | | |
| | | defineOptions({ |
| | | name: 'RewardGrant', |
| | |
| | | { |
| | | id: '4', |
| | | enCode: 'applyMonth', |
| | | name: '申请奖励金月份', |
| | | name: '申请平台奖励月份', |
| | | }, |
| | | { |
| | | id: '5', |
| | | enCode: 'applySumAmount', |
| | | name: '奖励金汇总金额(元)', |
| | | name: '平台奖励汇总金额(元)', |
| | | }, |
| | | { |
| | | id: '6', |
| | |
| | | }, |
| | | { |
| | | id: '7', |
| | | enCode: 'settleStatus', |
| | | name: '发放状态', |
| | | enCode: 'financeStatus', |
| | | name: '财政拨付状态', |
| | | }, |
| | | { |
| | | id: '8', |
| | | enCode: 'financeTime', |
| | | name: '拨付日期', |
| | | }, |
| | | { |
| | | id: '9', |
| | | enCode: 'settleStatus', |
| | | name: '平台充值状态', |
| | | }, |
| | | { |
| | | id: '10', |
| | | enCode: 'settleTime', |
| | | name: '发放日期', |
| | | name: '充值日期', |
| | | }, |
| | | ]; |
| | | |
| | |
| | | }, |
| | | { |
| | | data: { |
| | | enCode: 'grantBtn', |
| | | name: '发放', |
| | | enCode: 'financialBtn', |
| | | name: '财政拨付', |
| | | }, |
| | | emits: { |
| | | onClick: (role) => openDialog(role), |
| | | onClick: (role) => openFinancialDialog(role), |
| | | }, |
| | | extraProps: { |
| | | hide: (row: API.GetParkBountyApplyListOutput) => |
| | | row.financeStatus === FinanceStatusEnum.HasIncome, |
| | | }, |
| | | }, |
| | | { |
| | | data: { |
| | | enCode: 'plateformBtn', |
| | | name: '平台充值', |
| | | }, |
| | | emits: { |
| | | onClick: (role) => openPlateformDialog(role), |
| | | }, |
| | | extraProps: { |
| | | hide: (row: API.GetParkBountyApplyListOutput) => |
| | |
| | | enCode: 'checkBtn', |
| | | name: '查看凭证', |
| | | }, |
| | | emits: { |
| | | onClick: (row) => openMaterialFileDialog(row), |
| | | }, |
| | | extraProps: { |
| | | hide: (row: API.GetParkBountyApplyListOutput) => |
| | | row.settleStatus === SettleStatusEnum.WaitForSettle, |
| | | row.settleStatus === SettleStatusEnum.WaitForSettle && |
| | | row.financeStatus === FinanceStatusEnum.WaitForIncome, |
| | | }, |
| | | }, |
| | | ]); |
| | |
| | | }, |
| | | batchNo: extraParamState.batchNo, |
| | | settleStatus: extraParamState.settleStatus, |
| | | financeStatus: extraParamState.financeStatus, |
| | | creationTimeBegin: format(extraParamState.creationTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'), |
| | | creationTimeEnd: format(extraParamState.creationTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'), |
| | | settleTimeBegin: format(extraParamState.settleTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'), |
| | | settleTimeEnd: format(extraParamState.settleTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'), |
| | | financeTimeBegin: format(extraParamState.financeTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'), |
| | | financeTimeEnd: format(extraParamState.financeTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'), |
| | | }; |
| | | let res = await parkBountyApplyServices.getParkBountyApplyList(params, { |
| | | showLoading: !state.loading, |
| | |
| | | defaultExtraParams: { |
| | | batchNo: '', |
| | | settleStatus: '' as any as SettleStatusEnum, |
| | | financeStatus: '' as any as FinanceStatusEnum, |
| | | creationTime: [] as unknown as ModelValueType, |
| | | settleTime: [] as unknown as ModelValueType, |
| | | financeTime: [] as unknown as ModelValueType, |
| | | orderInput: [{ property: 'creationTime', order: OrderInputType.Desc }], |
| | | }, |
| | | columnsRenderProps: { |
| | | applyMonth: { type: 'date', format: 'YYYY年MM月' }, |
| | | creationTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' }, |
| | | settleTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' }, |
| | | financeTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' }, |
| | | applySumAmount: { type: 'money' }, |
| | | settleStatus: { type: 'enum', valueEnum: SettleStatusEnumText }, |
| | | financeStatus: { type: 'enum', valueEnum: FinanceStatusEnumText }, |
| | | }, |
| | | } |
| | | ); |
| | | |
| | | function goDetail(row: any) { |
| | | function goDetail(row: API.GetParkBountyApplyListOutput) { |
| | | router.push({ |
| | | name: 'RewardDeclareDetail', |
| | | params: { |
| | |
| | | }); |
| | | } |
| | | |
| | | const { dialogProps, handleAdd, handleEdit, editForm } = useFormDialog({ |
| | | onConfirm: handleAddOrEdit, |
| | | function openMaterialFileDialog(row: API.GetParkBountyApplyListOutput) { |
| | | handleMaterialFileAdd({ |
| | | list: FourStreamsMaterialUtils.initApplyRewardGrandFileList(row), |
| | | }); |
| | | } |
| | | |
| | | const { dialogProps: dialogMaterialFileProps, handleAdd: handleMaterialFileAdd } = useFormDialog({ |
| | | defaultFormParams: { |
| | | list: [] as TransferFileEnumInRewardGrandTableItem[], |
| | | }, |
| | | }); |
| | | |
| | | const queryClient = useQueryClient(); |
| | | const { |
| | | dialogProps: dialogFinancialProps, |
| | | handleEdit: handleFinancialEdit, |
| | | editForm: editFinancialForm, |
| | | } = useFormDialog({ |
| | | onConfirm: handleFinancial, |
| | | defaultFormParams: { |
| | | parkBountyApplyId: '', |
| | | financeSumAmount: 0, |
| | | financeFileUrl: [] as UploadUserFile[], |
| | | }, |
| | | }); |
| | | |
| | | function openFinancialDialog(row?: API.GetParkBountyApplyListOutput) { |
| | | handleFinancialEdit({ |
| | | parkBountyApplyId: row.id, |
| | | financeSumAmount: 0, |
| | | financeFileUrl: [] as UploadUserFile[], |
| | | }); |
| | | } |
| | | async function handleFinancial() { |
| | | try { |
| | | let params: API.ParkBountyApplyFinanceFileInput = { |
| | | parkBountyApplyId: editFinancialForm.parkBountyApplyId, |
| | | financeSumAmount: editFinancialForm.financeSumAmount, |
| | | financeFileUrl: editFinancialForm.financeFileUrl.map((x) => x.path).join('|'), |
| | | }; |
| | | let res = await parkBountyApplyServices.parkBountyApplyFinanceBill(params); |
| | | if (res) { |
| | | Message.successMessage('操作成功'); |
| | | getList(paginationState.pageIndex); |
| | | queryClient.invalidateQueries({ |
| | | queryKey: ['parkBountyApplyServices/getGoverDataBoard'], |
| | | }); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | |
| | | const { |
| | | dialogProps: dialogPlateformProps, |
| | | handleEdit: handlePlateformEdit, |
| | | editForm: editPlateformForm, |
| | | } = useFormDialog({ |
| | | onConfirm: handlePlateform, |
| | | defaultFormParams: { |
| | | parkBountyApplyId: '', |
| | | settleSumAmount: 0, |
| | | settleFileUrl: [] as UploadUserFile[], |
| | | }, |
| | | }); |
| | | |
| | | function openDialog(row?: API.GetParkBountyApplyListOutput) { |
| | | handleEdit({ |
| | | function openPlateformDialog(row?: API.GetParkBountyApplyListOutput) { |
| | | handlePlateformEdit({ |
| | | parkBountyApplyId: row.id, |
| | | settleSumAmount: 0, |
| | | settleFileUrl: [] as UploadUserFile[], |
| | | }); |
| | | } |
| | | const queryClient = useQueryClient(); |
| | | async function handleAddOrEdit() { |
| | | |
| | | async function handlePlateform() { |
| | | try { |
| | | let params: API.ParkBountyApplySettleInput = { |
| | | parkBountyApplyId: editForm.parkBountyApplyId, |
| | | settleFileUrl: editForm.settleFileUrl.map((x) => x.path).join('|'), |
| | | parkBountyApplyId: editPlateformForm.parkBountyApplyId, |
| | | settleSumAmount: editPlateformForm.settleSumAmount, |
| | | settleFileUrl: editPlateformForm.settleFileUrl.map((x) => x.path).join('|'), |
| | | }; |
| | | let res = await parkBountyApplyServices.parkBountyApplySettle(params); |
| | | if (res) { |
copy from src/views/Reward/components/RewardGrantDialog.vue
copy to src/views/Reward/components/FinancialDialog.vue
File was copied from src/views/Reward/components/RewardGrantDialog.vue |
| | |
| | | <template> |
| | | <ProDialog |
| | | title="奖励金发放" |
| | | title="财政拨付" |
| | | v-model="innerVisible" |
| | | destroy-on-close |
| | | draggable |
| | |
| | | > |
| | | <ProForm :model="innerForm" ref="dialogForm" label-width="120px"> |
| | | <ProFormItemV2 |
| | | label="上传发放凭证:" |
| | | prop="settleFileUrl" |
| | | label="拨付总额:" |
| | | prop="financeSumAmount" |
| | | :check-rules="[{ message: '请输入拨付总额', type: 'number' }]" |
| | | > |
| | | <ProFormInputNumber |
| | | v-model="innerForm.financeSumAmount" |
| | | :controls="false" |
| | | :min="0" |
| | | :precision="2" |
| | | /> |
| | | </ProFormItemV2> |
| | | <ProFormItemV2 |
| | | label="上传拨付凭证:" |
| | | prop="financeFileUrl" |
| | | :check-rules="[{ message: '请上传发放凭证', type: 'upload' }]" |
| | | > |
| | | <ProFormUpload |
| | | v-model:file-url="innerForm.settleFileUrl" |
| | | v-model:file-url="innerForm.financeFileUrl" |
| | | :limitFileSize="50" |
| | | accept="doc,docx,pdf,xls,xlsx,jpg/jpeg,png" |
| | | > |
| | |
| | | import { FormInstance } from 'element-plus'; |
| | | |
| | | defineOptions({ |
| | | name: 'RewardGrantDialog', |
| | | name: 'FinancialDialog', |
| | | }); |
| | | |
| | | type Props = { |
| | | modelValue: boolean; |
| | | form?: { |
| | | parkBountyApplyId: string; |
| | | settleFileUrl: UploadUserFile[]; |
| | | financeSumAmount: number; |
| | | financeFileUrl: UploadUserFile[]; |
| | | }; |
| | | }; |
| | | |
File was renamed from src/views/Reward/components/RewardGrantDialog.vue |
| | |
| | | <template> |
| | | <ProDialog |
| | | title="奖励金发放" |
| | | title="平台充值" |
| | | v-model="innerVisible" |
| | | destroy-on-close |
| | | draggable |
| | |
| | | > |
| | | <ProForm :model="innerForm" ref="dialogForm" label-width="120px"> |
| | | <ProFormItemV2 |
| | | label="上传发放凭证:" |
| | | label="充值总额:" |
| | | prop="settleSumAmount" |
| | | :check-rules="[{ message: '请输入充值总额', type: 'number' }]" |
| | | > |
| | | <ProFormInputNumber |
| | | v-model="innerForm.settleSumAmount" |
| | | :controls="false" |
| | | :min="0" |
| | | :precision="2" |
| | | /> |
| | | </ProFormItemV2> |
| | | <ProFormItemV2 |
| | | label="上传充值凭证:" |
| | | prop="settleFileUrl" |
| | | :check-rules="[{ message: '请上传发放凭证', type: 'upload' }]" |
| | | > |
| | |
| | | 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; |
| | | settleSumAmount: number; |
| | | settleFileUrl: UploadUserFile[]; |
| | | }; |
| | | }; |