| | |
| | | <template> |
| | | <ProForm :model="form" label-width="160px" label-position="left" is-read> |
| | | <ChunkCellV2 title="ææå®¡æ ¸" style="margin-bottom: 0"> |
| | | <ChunkCellV2 title="æ¹æ¬¡ä¿¡æ¯" style="margin-bottom: 0"> |
| | | <BatchInfoView :form="form"></BatchInfoView> |
| | | </ChunkCellV2> |
| | | <ChunkCellV2 title="æ±æ»ææ" style="margin-bottom: 0"> |
| | |
| | | import BatchInfoView from './BatchInfoView.vue'; |
| | | import MaterialInfoView from './MaterialInfoView.vue'; |
| | | import SettlementMaterialInfoView from './SettlementMaterialInfoView.vue'; |
| | | import { CustomerApplyFileTypeListItem } from './utils'; |
| | | |
| | | defineOptions({ |
| | | name: 'DetailView', |
| | |
| | | parkTypeName: string; |
| | | applyMonth: string; |
| | | applySumAmount: number; |
| | | enterpriseTaxSubFileUrl: UploadUserFile[]; |
| | | enterpriseOperateFileUrl: UploadUserFile[]; |
| | | /** å¥å±éåé
表 */ |
| | | bountyAssignFileUlr: UploadUserFile[]; |
| | | /** å¥å±éæ±æ»è¡¨ */ |
| | | bountyCollectFileUrl: UploadUserFile[]; |
| | | enterpriseRelateFileUrl: UploadUserFile[]; |
| | | parkCollectFileList: CustomerApplyFileTypeListItem[]; |
| | | /** æ¯å¦æ¯æå¹³å°å
å¼ */ |
| | | suportPlatRecharge?: boolean; |
| | | }; |
| | | }; |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <ProDialog :title="title" v-model="visible" destroy-on-close draggable width="800px"> |
| | | <FourStreamsMaterialFileTableV2 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 FourStreamsMaterialFileTableV2 from './FourStreamsMaterialFileTableV2.vue'; |
| | | import { FourStreamsMaterialFileTableProps, BaseMaterialFileTableItem } from './types'; |
| | | |
| | | defineOptions({ |
| | | name: 'FourStreamsMaterialFileDialogV2', |
| | | }); |
| | | |
| | | type Props = FourStreamsMaterialFileTableProps & { |
| | | title?: string; |
| | | BusinessTypeEnumText: { [key: number]: 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> |
| | |
| | | :operationColumnWidth="240" |
| | | :showTableColumnSetting="false" |
| | | > |
| | | <template #fileBusinessType="{ row }"> |
| | | {{ BusinessTypeEnumText[row.fileBusinessType] }} |
| | | </template> |
| | | <template #operationBtn-uploadBtn="{ data, row }"> |
| | | <BlFileUpload |
| | | v-model:file-url="row.fileList" |
| | | v-model:file-url="row.listFiles" |
| | | multiple |
| | | :limit="1" |
| | | :limit="99" |
| | | ref="uploadRef" |
| | | :showTip="false" |
| | | :show-file-list="false" |
| | |
| | | <FourStreamsBatchMaterialFileDialog |
| | | v-bind="dialogProps" |
| | | :name="''" |
| | | :zipName="`${BusinessTypeEnumText[currentFourStreamsMaterialFileTableItem.fileBusinessType as any]}`" |
| | | v-model:fileList="currentFourStreamsMaterialFileTableItem.fileList" |
| | | :zipName="currentFourStreamsMaterialFileTableItem.fileTypeName" |
| | | v-model:fileList="currentFourStreamsMaterialFileTableItem.listFiles" |
| | | :showDeleteBtn="showDeleteBtn" |
| | | :yearMonth="date" |
| | | :onDelete="(file) => handleDialogDelete(currentFourStreamsMaterialFileTableItem, file)" |
| | | /> |
| | | </div> |
| | | </template> |
| | | |
| | | <script setup lang="ts" generic="T"> |
| | | import { |
| | | FourStreamsMaterialFileTableProps, |
| | | BaseMaterialFileTableItem, |
| | | FourStreamsMaterialFileBusinessTypeEnumText, |
| | | } from './types'; |
| | | import { FourStreamsMaterialFileTableProps } from './types'; |
| | | import { |
| | | ProTableV2, |
| | | defineColumns, |
| | |
| | | BlFileUpload, |
| | | bolePreview, |
| | | useDialog, |
| | | UploadUserFile, |
| | | } from '@bole-core/components'; |
| | | import { downloadFileByUrl } from '@/utils'; |
| | | import { Message, isFileCanPreview, downloadWithZip } from '@bole-core/core'; |
| | | import { useDefineColumns } from '@/hooks'; |
| | | import FourStreamsBatchMaterialFileDialog from './FourStreamsBatchMaterialFileDialog.vue'; |
| | | import { CustomerApplyFileTypeListItem } from './utils'; |
| | | |
| | | defineOptions({ |
| | | name: 'FourStreamsMaterialFileTable', |
| | |
| | | showDownloadBtn: true, |
| | | showDeleteBtn: true, |
| | | downloadBtnText: 'ä¸è½½', |
| | | BusinessTypeEnumText: () => FourStreamsMaterialFileBusinessTypeEnumText, |
| | | }); |
| | | |
| | | const list = defineModel<BaseMaterialFileTableItem<T>[]>('list'); |
| | | const list = defineModel<CustomerApplyFileTypeListItem[]>('list'); |
| | | |
| | | const columns = defineColumns([ |
| | | { |
| | | id: '1', |
| | | enCode: 'fileBusinessType', |
| | | enCode: 'fileTypeName', |
| | | name: 'ææåç§°', |
| | | }, |
| | | ]); |
| | |
| | | name: 'ä¸ä¼ ', |
| | | }, |
| | | extraProps: { |
| | | hide: (row: BaseMaterialFileTableItem<T>) => { |
| | | if (!props.showUploadBtn) return true; |
| | | let fileList = row?.fileList?.filter?.((item) => item.status === 'success'); |
| | | return fileList?.length > 0; |
| | | hide: (row: CustomerApplyFileTypeListItem) => { |
| | | return !props.showUploadBtn; |
| | | // 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: BaseMaterialFileTableItem<T>) => { |
| | | hide: (row: CustomerApplyFileTypeListItem) => { |
| | | if (!props.showCheckBtn) return true; |
| | | let fileList = row?.fileList?.filter?.((item) => item.status === 'success'); |
| | | let fileList = row?.listFiles?.filter?.((item) => item.status === 'success'); |
| | | if (!fileList?.length) { |
| | | return true; |
| | | } else { |
| | |
| | | onClick: (row) => handleBatchDownload(row), |
| | | }, |
| | | extraProps: { |
| | | hide: (row: BaseMaterialFileTableItem<T>) => { |
| | | hide: (row: CustomerApplyFileTypeListItem) => { |
| | | return ( |
| | | !props.showDownloadBtn || |
| | | !row?.fileList?.filter?.((item) => item.status === 'success')?.length |
| | | !row?.listFiles?.filter?.((item) => item.status === 'success')?.length |
| | | ); |
| | | }, |
| | | }, |
| | |
| | | onClick: (row) => handleDelete(row), |
| | | }, |
| | | extraProps: { |
| | | hide: (row: BaseMaterialFileTableItem<T>) => { |
| | | hide: (row: CustomerApplyFileTypeListItem) => { |
| | | if (!props.showDeleteBtn) return true; |
| | | let fileList = row?.fileList?.filter?.((item) => item.status === 'success'); |
| | | let fileList = row?.listFiles?.filter?.((item) => item.status === 'success'); |
| | | return !fileList?.length; |
| | | }, |
| | | }, |
| | |
| | | ], |
| | | }); |
| | | |
| | | async function handleDelete(row: BaseMaterialFileTableItem<T>) { |
| | | async function handleDelete(row: CustomerApplyFileTypeListItem) { |
| | | try { |
| | | await Message.deleteMessage(); |
| | | row.fileList = []; |
| | | if (row.listFiles.length > 1) { |
| | | currentFourStreamsMaterialFileTableItem.value = row; |
| | | await nextTick(); |
| | | dialogState.dialogVisible = true; |
| | | } else { |
| | | await Message.deleteMessage(); |
| | | if (props.onDelete) { |
| | | await props.onDelete(row, row.listFiles[0].id); |
| | | } |
| | | row.listFiles = []; |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | |
| | | const currentFourStreamsMaterialFileTableItem = ref<BaseMaterialFileTableItem<T>>({ |
| | | fileBusinessType: 0 as any, |
| | | fileList: [], |
| | | async function handleDialogDelete( |
| | | row: CustomerApplyFileTypeListItem, |
| | | listFile: API.CustomerUploadMonthApplyFileTypeDto & UploadUserFile |
| | | ) { |
| | | if (props.onDelete) { |
| | | await props.onDelete(row, listFile.id); |
| | | } |
| | | } |
| | | |
| | | const currentFourStreamsMaterialFileTableItem = ref<CustomerApplyFileTypeListItem>({ |
| | | fileSearchTypeId: '', |
| | | fileTypeName: '', |
| | | lastUpdateTime: '', |
| | | listFiles: [], |
| | | }); |
| | | const { dialogProps, dialogState } = useDialog(); |
| | | |
| | | async function handlePreview(row: BaseMaterialFileTableItem<T>) { |
| | | if (row.fileList.length > 1) { |
| | | async function handlePreview(row: CustomerApplyFileTypeListItem) { |
| | | if (row.listFiles.length > 1) { |
| | | currentFourStreamsMaterialFileTableItem.value = row; |
| | | await nextTick(); |
| | | dialogState.dialogVisible = true; |
| | | } else { |
| | | bolePreview({ |
| | | fileUrl: row.fileList[0].url, |
| | | fileUrl: row.listFiles[0].url, |
| | | }); |
| | | } |
| | | } |
| | | |
| | | async function handleBatchDownload(row: BaseMaterialFileTableItem<T>) { |
| | | const successFileList = row.fileList.filter((item) => item.status === 'success'); |
| | | async function handleBatchDownload(row: CustomerApplyFileTypeListItem) { |
| | | const successFileList = row.listFiles.filter((item) => item.status === 'success'); |
| | | if (successFileList.length === 0) { |
| | | Message.errorMessage('没æå¯ä¸è½½çæä»¶'); |
| | | return; |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div> |
| | | <ProTableV2 |
| | | :tableData="list" |
| | | :columns="columns" |
| | | :autoHeight="false" |
| | | :operationBtns="columnsProps.operationBtns" |
| | | :operationColumnWidth="240" |
| | | :showTableColumnSetting="false" |
| | | > |
| | | <template #fileBusinessType="{ row }"> |
| | | {{ BusinessTypeEnumText[row.fileBusinessType] }} |
| | | </template> |
| | | <template #operationBtn-uploadBtn="{ data, row }"> |
| | | <BlFileUpload |
| | | v-model:file-url="row.fileList" |
| | | multiple |
| | | :limit="1" |
| | | ref="uploadRef" |
| | | :showTip="false" |
| | | :show-file-list="false" |
| | | class="pro-table-operation-btn upload-style-btn" |
| | | > |
| | | <el-button text type="primary" class="pro-table-operation-btn">ä¸ä¼ </el-button> |
| | | </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" generic="T"> |
| | | import { FourStreamsMaterialFileTableProps, BaseMaterialFileTableItem } from './types'; |
| | | import { |
| | | ProTableV2, |
| | | defineColumns, |
| | | defineOperationBtns, |
| | | BlFileUpload, |
| | | bolePreview, |
| | | useDialog, |
| | | } from '@bole-core/components'; |
| | | import { downloadFileByUrl } from '@/utils'; |
| | | import { Message, isFileCanPreview, downloadWithZip } from '@bole-core/core'; |
| | | import { useDefineColumns } from '@/hooks'; |
| | | import FourStreamsBatchMaterialFileDialog from './FourStreamsBatchMaterialFileDialog.vue'; |
| | | import { FourStreamsMaterialFileBusinessTypeEnumText } from '@/constants'; |
| | | |
| | | defineOptions({ |
| | | name: 'FourStreamsMaterialFileTableV2', |
| | | }); |
| | | |
| | | type Props = FourStreamsMaterialFileTableProps & { |
| | | BusinessTypeEnumText: { [key: number]: string }; |
| | | }; |
| | | |
| | | const props = withDefaults(defineProps<Props>(), { |
| | | showUploadBtn: true, |
| | | showCheckBtn: true, |
| | | showDownloadBtn: true, |
| | | showDeleteBtn: true, |
| | | downloadBtnText: 'ä¸è½½', |
| | | BusinessTypeEnumText: () => FourStreamsMaterialFileBusinessTypeEnumText, |
| | | }); |
| | | |
| | | const list = defineModel<BaseMaterialFileTableItem<T>[]>('list'); |
| | | |
| | | const columns = defineColumns([ |
| | | { |
| | | id: '1', |
| | | enCode: 'fileBusinessType', |
| | | name: 'ææåç§°', |
| | | }, |
| | | ]); |
| | | |
| | | const columnsProps = useDefineColumns({ |
| | | operationBtns: [ |
| | | { |
| | | data: { |
| | | enCode: 'uploadBtn', |
| | | name: 'ä¸ä¼ ', |
| | | }, |
| | | extraProps: { |
| | | hide: (row: BaseMaterialFileTableItem<T>) => { |
| | | if (!props.showUploadBtn) return true; |
| | | let fileList = row?.fileList?.filter?.((item) => item.status === 'success'); |
| | | return fileList?.length > 0; |
| | | }, |
| | | }, |
| | | }, |
| | | { |
| | | data: { |
| | | enCode: 'detailBtn', |
| | | name: 'æ¥ç', |
| | | }, |
| | | emits: { |
| | | onClick: (row) => handlePreview(row), |
| | | }, |
| | | extraProps: { |
| | | hide: (row: BaseMaterialFileTableItem<T>) => { |
| | | if (!props.showCheckBtn) return true; |
| | | let fileList = row?.fileList?.filter?.((item) => item.status === 'success'); |
| | | if (!fileList?.length) { |
| | | return true; |
| | | } else { |
| | | if (fileList.length > 1) { |
| | | return false; |
| | | } else { |
| | | return !isFileCanPreview(fileList[0].path); |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | }, |
| | | { |
| | | data: { |
| | | enCode: 'downloadBtn', |
| | | name: props.downloadBtnText, |
| | | }, |
| | | emits: { |
| | | onClick: (row) => handleBatchDownload(row), |
| | | }, |
| | | extraProps: { |
| | | hide: (row: BaseMaterialFileTableItem<T>) => { |
| | | return ( |
| | | !props.showDownloadBtn || |
| | | !row?.fileList?.filter?.((item) => item.status === 'success')?.length |
| | | ); |
| | | }, |
| | | }, |
| | | }, |
| | | { |
| | | data: { |
| | | enCode: 'delBtn', |
| | | name: 'å é¤', |
| | | }, |
| | | props: { |
| | | type: 'danger', |
| | | }, |
| | | emits: { |
| | | onClick: (row) => handleDelete(row), |
| | | }, |
| | | extraProps: { |
| | | 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: BaseMaterialFileTableItem<T>) { |
| | | try { |
| | | await Message.deleteMessage(); |
| | | row.fileList = []; |
| | | } catch (error) {} |
| | | } |
| | | |
| | | 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) { |
| | | currentFourStreamsMaterialFileTableItem.value = row; |
| | | await nextTick(); |
| | | dialogState.dialogVisible = true; |
| | | } else { |
| | | bolePreview({ |
| | | fileUrl: row.fileList[0].url, |
| | | }); |
| | | } |
| | | } |
| | | |
| | | async function handleBatchDownload(row: BaseMaterialFileTableItem<T>) { |
| | | const successFileList = row.fileList.filter((item) => item.status === 'success'); |
| | | if (successFileList.length === 0) { |
| | | Message.errorMessage('没æå¯ä¸è½½çæä»¶'); |
| | | return; |
| | | } |
| | | if (successFileList.length === 1) { |
| | | downloadFileByUrl(successFileList[0].url); |
| | | } else { |
| | | // downloadWithZip( |
| | | // successFileList.map((item) => ({ data: item.url })), |
| | | // `${props.BusinessTypeEnumText[row.fileBusinessType as any]}` |
| | | // ); |
| | | currentFourStreamsMaterialFileTableItem.value = row; |
| | | await nextTick(); |
| | | dialogState.dialogVisible = true; |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | @use '@/style/common.scss' as *; |
| | | </style> |
| | |
| | | <script setup lang="ts"> |
| | | import { ProDialog } from '@bole-core/components'; |
| | | import FourStreamsMaterialFileTable from './FourStreamsMaterialFileTable.vue'; |
| | | import { FourStreamsMaterialFileTableProps, FourStreamsMaterialFileTableItem } from './types'; |
| | | import { FourStreamsMaterialFileTableProps } from './types'; |
| | | import { CustomerApplyFileTypeListItem } from './utils'; |
| | | |
| | | defineOptions({ |
| | | name: 'MateriaDetailDialog', |
| | |
| | | const visible = defineModel({ type: Boolean }); |
| | | |
| | | type Form = { |
| | | list: FourStreamsMaterialFileTableItem[]; |
| | | list: CustomerApplyFileTypeListItem[]; |
| | | }; |
| | | |
| | | const form = defineModel<Form>('form'); |
| | |
| | | <template> |
| | | <ProFormCol> |
| | | <ProFormColItem :span="12"> |
| | | <ProFormItemV2 |
| | | label="ä¼ä¸ç¼´ç¨æç»æ±æ»è¡¨:" |
| | | prop="enterpriseTaxSubFileUrl" |
| | | style="margin-bottom: 22px" |
| | | > |
| | | <ProFormUpload |
| | | v-model:file-url="form.enterpriseTaxSubFileUrl" |
| | | :limitShowViewMoreBtnCount="4" |
| | | ></ProFormUpload> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | </ProFormCol> |
| | | <ProFormCol> |
| | | <ProFormColItem :span="12"> |
| | | <ProFormItemV2 |
| | | label="ä¼ä¸è¥æ¶æ±æ»è¡¨:" |
| | | prop="enterpriseOperateFileUrl" |
| | | style="margin-bottom: 22px" |
| | | > |
| | | <ProFormUpload |
| | | v-model:file-url="form.enterpriseOperateFileUrl" |
| | | :limitShowViewMoreBtnCount="4" |
| | | ></ProFormUpload> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | </ProFormCol> |
| | | <ProFormCol> |
| | | <ProFormColItem :span="12"> |
| | | <ProFormItemV2 label="å
¥é©»æ
åµå
³è说æ:" prop="enterpriseRelateFileUrl"> |
| | | <ProFormUpload |
| | | v-model:file-url="form.enterpriseRelateFileUrl" |
| | | :limitShowViewMoreBtnCount="4" |
| | | ></ProFormUpload> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | </ProFormCol> |
| | | <!-- <ProFormCol> |
| | | <ProFormColItem :span="12"> --> |
| | | <ProFormItemV2 |
| | | :label="`${item.fileTypeName}:`" |
| | | :prop="`parkCollectFileList.${index}.listFiles`" |
| | | :check-rules="[{ message: `请ä¸ä¼ ${item.fileTypeName}`, type: 'upload' }]" |
| | | :label-width="160" |
| | | :style="{ marginBottom: index === form.parkCollectFileList.length - 1 ? 0 : '22px' }" |
| | | v-for="(item, index) in form.parkCollectFileList" |
| | | :key="item.fileSearchTypeId" |
| | | > |
| | | <ProFormUpload |
| | | v-model:file-url="item.listFiles" |
| | | :limitFileSize="50" |
| | | :showTip="false" |
| | | :limitShowViewMoreBtnCount="4" |
| | | accept="doc,docx,pdf,xls,xlsx,jpg/jpeg,png" |
| | | ></ProFormUpload> |
| | | </ProFormItemV2> |
| | | <!-- </ProFormColItem> |
| | | </ProFormCol> --> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | |
| | | ProFormUpload, |
| | | UploadUserFile, |
| | | } from '@bole-core/components'; |
| | | import { CustomerApplyFileTypeListItem } from './utils'; |
| | | |
| | | defineOptions({ |
| | | name: 'MaterialInfoView', |
| | |
| | | |
| | | type Props = { |
| | | form: { |
| | | enterpriseTaxSubFileUrl: UploadUserFile[]; |
| | | enterpriseOperateFileUrl: UploadUserFile[]; |
| | | enterpriseRelateFileUrl: UploadUserFile[]; |
| | | parkCollectFileList: CustomerApplyFileTypeListItem[]; |
| | | }; |
| | | }; |
| | | |
| | |
| | | import { UploadUserFile } from '@bole-core/components'; |
| | | import { CustomerApplyFileTypeListItem } from './utils'; |
| | | import { |
| | | ApplyTransferFileBusinessTypeEnum, |
| | | FourStreamsMaterialFileBusinessTypeEnum, |
| | | TransferFileEnumInRewardGrand, |
| | | } from '@/constants'; |
| | | |
| | | export type FourStreamsMaterialFileTableProps = { |
| | | date?: string; |
| | | showUploadBtn?: boolean; |
| | | showCheckBtn?: boolean; |
| | | showDownloadBtn?: boolean; |
| | | showDeleteBtn?: boolean; |
| | | downloadBtnText?: string; |
| | | BusinessTypeEnumText?: { [key: number]: string }; |
| | | onDelete?: (row: CustomerApplyFileTypeListItem, fileId: string) => Promise<any>; |
| | | onUpload?: (row: CustomerApplyFileTypeListItem, userFile: UploadUserFile) => Promise<any>; |
| | | }; |
| | | |
| | | export type BaseMaterialFileTableItem<T> = { |
| | |
| | | [EnterpriseTypeEnum.IndustryMating]: 'è¡ä¸é
å¥', |
| | | [EnterpriseTypeEnum.IndustryBody]: 'è¡ä¸æºæ', |
| | | }; |
| | | |
| | | export enum FourStreamsMaterialFileBusinessTypeEnum { |
| | | /** ååºå
¥é©»åè®® */ |
| | | ParkEnterPactUrl = 10, |
| | | /** ä¼ä¸å®ç¨è¯æï¼çç« ï¼ */ |
| | | RatePaymentFileUrl = 20, |
| | | /** ä¼ä¸ç¼´ç¨æç»æ±æ»è¡¨ï¼çç« ï¼ */ |
| | | TaxSubFileUrl = 30, |
| | | /** ä¼ä¸è¥æ¶å©æ¶¦è¡¨ */ |
| | | OperateProfitesUrl = 40, |
| | | /** |
| | | * å
¥é©»å
³è说æ |
| | | * @deprecated å·²ç»ä¸ç¨äº |
| | | */ |
| | | EnterRelateUrl = 50, |
| | | /** C端个ç¨å®ç¨è¯æ */ |
| | | PersonTaxRatePayUrl = 60, |
| | | /** C端å®ç¨è¯´æ */ |
| | | PersonTaxInstructUrl = 70, |
| | | } |
| | | |
| | | export const FourStreamsMaterialFileBusinessTypeEnumText = { |
| | | [FourStreamsMaterialFileBusinessTypeEnum.ParkEnterPactUrl]: 'ååºå
¥é©»åè®®', |
| | | [FourStreamsMaterialFileBusinessTypeEnum.RatePaymentFileUrl]: 'ä¼ä¸å®ç¨è¯æ(çç« )', |
| | | [FourStreamsMaterialFileBusinessTypeEnum.TaxSubFileUrl]: 'ä¼ä¸ç¼´ç¨æç»æ±æ»è¡¨(çç« )', |
| | | [FourStreamsMaterialFileBusinessTypeEnum.OperateProfitesUrl]: 'ä¼ä¸è¥æ¶å©æ¶¦è¡¨', |
| | | [FourStreamsMaterialFileBusinessTypeEnum.EnterRelateUrl]: 'å
¥é©»å
³è说æ', |
| | | [FourStreamsMaterialFileBusinessTypeEnum.PersonTaxRatePayUrl]: 'C端个ç¨å®ç¨è¯æ', |
| | | [FourStreamsMaterialFileBusinessTypeEnum.PersonTaxInstructUrl]: 'C端å®ç¨æ
åµè¯´æ', |
| | | }; |
| | | |
| | | export const FourStreamsMaterialFileBusinessTypeEnumKey = { |
| | | [FourStreamsMaterialFileBusinessTypeEnum.ParkEnterPactUrl]: 'parkEnterPactUrl', |
| | | [FourStreamsMaterialFileBusinessTypeEnum.RatePaymentFileUrl]: 'ratePaymentFileUrl', |
| | | [FourStreamsMaterialFileBusinessTypeEnum.TaxSubFileUrl]: 'taxSubFileUrl', |
| | | [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 { convertApi2FormUrl, convertApi2FormUrlOnlyOne } from '@/utils'; |
| | | import { |
| | | ApplyTransferFileBusinessTypeEnum, |
| | | ApplyTransferFileBusinessTypeEnumKey, |
| | | ApplyTransferMaterialFileTableItem, |
| | | FourStreamsMaterialFileBusinessTypeEnum, |
| | | FourStreamsMaterialFileBusinessTypeEnumKey, |
| | | FourStreamsMaterialFileTableItem, |
| | | TransferFileEnumInRewardGrand, |
| | | TransferFileEnumInRewardGrandKey, |
| | | TransferFileEnumInRewardGrandTableItem, |
| | | } from '../types'; |
| | | import { UploadUserFile } from '@bole-core/components'; |
| | | import _ from 'lodash'; |
| | | import { |
| | | ApplyTransferFileBusinessTypeEnum, |
| | | ApplyTransferFileBusinessTypeEnumKey, |
| | | FourStreamsMaterialFileBusinessTypeEnum, |
| | | FourStreamsMaterialFileBusinessTypeEnumKey, |
| | | TransferFileEnumInRewardGrand, |
| | | TransferFileEnumInRewardGrandKey, |
| | | } from '@/constants'; |
| | | |
| | | export class FourStreamsMaterialUtils { |
| | | /**å®ä½äº§ä¸åææ */ |
| | |
| | | return parkTypeName === 'æ°åç»æµå'; |
| | | } |
| | | } |
| | | |
| | | export type CustomerApplyFileTypeListItem = { |
| | | id?: string; |
| | | fileSearchTypeId?: string; |
| | | fileTypeName?: string; |
| | | lastUpdateTime?: string; |
| | | listFiles?: (API.CustomerUploadMonthApplyFileTypeDto & UploadUserFile)[]; |
| | | }; |
| | | |
| | | export class EnterpriseApplyFileUtils { |
| | | static convertApiFileToParkCollectFileList(listFiles: API.CustomerUploadMonthApplyFileTypeDto[]) { |
| | | const group = _.groupBy(listFiles, 'fileSearchTypeId'); |
| | | return Object.keys(group).map( |
| | | (x) => |
| | | ({ |
| | | fileSearchTypeId: x, |
| | | fileTypeName: group[x][0].fileSearchTypeName, |
| | | listFiles: group[x] |
| | | .filter((x) => !!x.fileUrl) |
| | | .map((a) => ({ |
| | | ...a, |
| | | ...convertApi2FormUrl(a.fileUrl), |
| | | })), |
| | | } as CustomerApplyFileTypeListItem) |
| | | ); |
| | | } |
| | | |
| | | static initParkCollectFileList(parkCollectFileTypeList: API.GetCustomerUploadApplyFilesOutput[]) { |
| | | return parkCollectFileTypeList.map( |
| | | (x) => |
| | | ({ |
| | | fileSearchTypeId: x.fileSearchTypeId, |
| | | fileTypeName: x.fileTypeName, |
| | | listFiles: [], |
| | | } as CustomerApplyFileTypeListItem) |
| | | ); |
| | | } |
| | | |
| | | static initParkCollectFileListApplyFiles( |
| | | applyUploadFiles: API.GetEnterpriseParkApplyUploadFileOutput[], |
| | | applyFiles: API.GetCustomerUploadApplyFilesOutput[], |
| | | lastUploadEnterPactFile: API.CustomerUploadMonthApplyFileTypeDto[] |
| | | ) { |
| | | return applyUploadFiles.map((x) => { |
| | | const applyFile = applyFiles.find((a) => a.fileSearchTypeId === x.fileSearchTypeId); |
| | | let listFiles: API.CustomerUploadMonthApplyFileTypeDto[]; |
| | | if (x.fileSearchTypeName === 'ååºå
¥é©»åè®®') { |
| | | listFiles = !x.listFiles.length ? lastUploadEnterPactFile : x.listFiles; |
| | | } else { |
| | | listFiles = |
| | | !x.listFiles.length && applyFile?.listFiles?.length > 0 |
| | | ? applyFile.listFiles |
| | | : x.listFiles; |
| | | } |
| | | |
| | | return { |
| | | fileSearchTypeId: x.fileSearchTypeId, |
| | | fileTypeName: x.fileSearchTypeName, |
| | | listFiles: listFiles.map((a) => ({ ...a, ...convertApi2FormUrl(a.fileUrl) })), |
| | | } as CustomerApplyFileTypeListItem; |
| | | }); |
| | | } |
| | | |
| | | static convertFileTableListToApi(fileTableList: CustomerApplyFileTypeListItem[]) { |
| | | return fileTableList.map( |
| | | (x) => |
| | | ({ |
| | | fileSearchTypeId: x.fileSearchTypeId, |
| | | listFiles: x.listFiles.map((a) => ({ |
| | | fileSearchTypeId: x.fileSearchTypeId, |
| | | fileSearchTypeName: x.fileTypeName, |
| | | fileSize: a.fileSize || a.size, |
| | | fileUrl: a.path, |
| | | })), |
| | | } as API.CustomerUploadMonthApplyFileType) |
| | | ); |
| | | } |
| | | |
| | | static convertFileTableListToApplyCompanyFile(fileTableList: CustomerApplyFileTypeListItem[]) { |
| | | return fileTableList.map( |
| | | (x) => |
| | | ({ |
| | | fileSearchTypeId: x.fileSearchTypeId, |
| | | fileSearchTypeName: x.fileTypeName, |
| | | listFiles: x.listFiles.map((a) => ({ |
| | | fileSearchTypeId: x.fileSearchTypeId, |
| | | fileSearchTypeName: x.fileTypeName, |
| | | fileSize: a.fileSize || a.size, |
| | | fileUrl: a.path, |
| | | })), |
| | | } as API.UploadParkApplyCustomerFileTypes) |
| | | ); |
| | | } |
| | | |
| | | static convertFileTableListToApiBatch(fileTableList: CustomerApplyFileTypeListItem[]) { |
| | | const applyFileTypeList = this.convertFileTableListToApi(fileTableList); |
| | | return _.flatMap(applyFileTypeList, (x) => x.listFiles); |
| | | } |
| | | |
| | | static isFileTableListAllUploaded(fileTableList: CustomerApplyFileTypeListItem[]) { |
| | | return fileTableList.every((fileTableListItem) => { |
| | | return fileTableListItem.listFiles.every((fileItem) => { |
| | | return fileItem.status === 'success'; |
| | | }); |
| | | }); |
| | | } |
| | | |
| | | static isFileTableListExist(fileTableList: CustomerApplyFileTypeListItem[]) { |
| | | return fileTableList.some((fileTableListItem) => { |
| | | return fileTableListItem.listFiles.some((fileItem) => { |
| | | return fileItem.status === 'success'; |
| | | }); |
| | | }); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | export enum FourStreamsMaterialFileBusinessTypeEnum { |
| | | /** ååºå
¥é©»åè®® */ |
| | | ParkEnterPactUrl = 10, |
| | | /** ä¼ä¸å®ç¨è¯æï¼çç« ï¼ */ |
| | | RatePaymentFileUrl = 20, |
| | | /** ä¼ä¸ç¼´ç¨æç»æ±æ»è¡¨ï¼çç« ï¼ */ |
| | | TaxSubFileUrl = 30, |
| | | /** ä¼ä¸è¥æ¶å©æ¶¦è¡¨ */ |
| | | OperateProfitesUrl = 40, |
| | | /** |
| | | * å
¥é©»å
³è说æ |
| | | * @deprecated å·²ç»ä¸ç¨äº |
| | | */ |
| | | EnterRelateUrl = 50, |
| | | /** C端个ç¨å®ç¨è¯æ */ |
| | | PersonTaxRatePayUrl = 60, |
| | | /** C端å®ç¨è¯´æ */ |
| | | PersonTaxInstructUrl = 70, |
| | | } |
| | | |
| | | export const FourStreamsMaterialFileBusinessTypeEnumText = { |
| | | [FourStreamsMaterialFileBusinessTypeEnum.ParkEnterPactUrl]: 'ååºå
¥é©»åè®®', |
| | | [FourStreamsMaterialFileBusinessTypeEnum.RatePaymentFileUrl]: 'ä¼ä¸å®ç¨è¯æ(çç« )', |
| | | [FourStreamsMaterialFileBusinessTypeEnum.TaxSubFileUrl]: 'ä¼ä¸ç¼´ç¨æç»æ±æ»è¡¨(çç« )', |
| | | [FourStreamsMaterialFileBusinessTypeEnum.OperateProfitesUrl]: 'ä¼ä¸è¥æ¶å©æ¶¦è¡¨', |
| | | [FourStreamsMaterialFileBusinessTypeEnum.EnterRelateUrl]: 'å
¥é©»å
³è说æ', |
| | | [FourStreamsMaterialFileBusinessTypeEnum.PersonTaxRatePayUrl]: 'C端个ç¨å®ç¨è¯æ', |
| | | [FourStreamsMaterialFileBusinessTypeEnum.PersonTaxInstructUrl]: 'C端å®ç¨æ
åµè¯´æ', |
| | | }; |
| | | |
| | | export const FourStreamsMaterialFileBusinessTypeEnumKey = { |
| | | [FourStreamsMaterialFileBusinessTypeEnum.ParkEnterPactUrl]: 'parkEnterPactUrl', |
| | | [FourStreamsMaterialFileBusinessTypeEnum.RatePaymentFileUrl]: 'ratePaymentFileUrl', |
| | | [FourStreamsMaterialFileBusinessTypeEnum.TaxSubFileUrl]: 'taxSubFileUrl', |
| | | [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; |
| | |
| | | export * from './dic'; |
| | | export * from './enterpriseMaterial'; |
| | | export * from './reward'; |
| | | export * from './fourStreams'; |
| | |
| | | /** |
| | | * æ éå
å¼ |
| | | */ |
| | | NotSettle = 3, |
| | | NoNeed = -1, |
| | | } |
| | | |
| | | export const SettleStatusEnumText = { |
| | | [SettleStatusEnum.WaitForSettle]: 'å¾
å
å¼', |
| | | [SettleStatusEnum.HasSettle]: 'å·²å
å¼', |
| | | [SettleStatusEnum.NotSettle]: 'æ éå
å¼', |
| | | [SettleStatusEnum.NoNeed]: 'æ éå
å¼', |
| | | }; |
| | | |
| | | export enum FinanceStatusEnum { |
| | |
| | | ); |
| | | } |
| | | |
| | | /** è·åååºæ±æ»ææç±»å POST /api/EnterpriseApplyFile/GetParkCollectFileTypeList */ |
| | | export async function getParkCollectFileTypeList( |
| | | body: API.GetParkCollectFileTypeListInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.GetCustomerUploadApplyFilesOutput[]>( |
| | | '/api/EnterpriseApplyFile/GetParkCollectFileTypeList', |
| | | { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | | } |
| | | |
| | | /** ä¸ä¼ ææè¯¦æ
-ç¼è¾-ä¸ä¼ æä»¶ POST /api/EnterpriseApplyFile/UploadMonthApplySingleFiles */ |
| | | export async function uploadMonthApplySingleFiles( |
| | | body: API.UploadMonthApplySingleFilesInput, |
| | |
| | | }); |
| | | } |
| | | |
| | | /** æ¤å¤å端没ææä¾æ³¨é GET /api/ParkBountyApply/DeleteParkEnterpriseApplyFile */ |
| | | export async function deleteParkEnterpriseApplyFile( |
| | | // å å çæçParamç±»å (ébodyåæ°swaggeré»è®¤æ²¡æçæå¯¹è±¡) |
| | | params: API.APIdeleteParkEnterpriseApplyFileParams, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<number>('/api/ParkBountyApply/DeleteParkEnterpriseApplyFile', { |
| | | method: 'GET', |
| | | params: { |
| | | ...params, |
| | | }, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** ç»§ç»ç³æ¥ POST /api/ParkBountyApply/EditParkBountyApply */ |
| | | export async function editParkBountyApply( |
| | | body: API.EditParkBountyApplyStepOneInput, |
| | |
| | | }); |
| | | } |
| | | |
| | | /** è·åä¼ä¸æå䏿¬¡ä¸ä¼ çååºå
¥é©»åè®®æä»¶ GET /api/ParkBountyApply/GetEnterpriseLastUploadEnterPactFileNew */ |
| | | export async function getEnterpriseLastUploadEnterPactFileNew( |
| | | // å å çæçParamç±»å (ébodyåæ°swaggeré»è®¤æ²¡æçæå¯¹è±¡) |
| | | params: API.APIgetEnterpriseLastUploadEnterPactFileNewParams, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.CustomerUploadMonthApplyFileTypeDto[]>( |
| | | '/api/ParkBountyApply/GetEnterpriseLastUploadEnterPactFileNew', |
| | | { |
| | | method: 'GET', |
| | | params: { |
| | | ...params, |
| | | }, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | | } |
| | | |
| | | /** è·åç³æ¥ä¸ä¼ä¸ä¸ä¼ çæä»¶ POST /api/ParkBountyApply/GetEnterpriseParkApplyUploadFiles */ |
| | | export async function getEnterpriseParkApplyUploadFiles( |
| | | body: API.GetEnterpriseParkApplyUploadFilesInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.GetEnterpriseParkApplyUploadFileOutput[]>( |
| | | '/api/ParkBountyApply/GetEnterpriseParkApplyUploadFiles', |
| | | { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | | } |
| | | |
| | | /** è·åä¼ä¸å
å¼å®¡æ ¸å表 POST /api/ParkBountyApply/GetEnterprisePreChargeCheckList */ |
| | | export async function getEnterprisePreChargeCheckList( |
| | | body: API.GetEnterprisePreChargeCheckListInput, |
| | |
| | | ); |
| | | } |
| | | |
| | | /** ä¸ä¼ ä¼ä¸ææ POST /api/ParkBountyApply/UploadParkBountyApplyCompanyFileNew */ |
| | | export async function uploadParkBountyApplyCompanyFileNew( |
| | | body: API.UploadParkApplyCustomerFilesInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.UploadParkBountyApplyCompanyFileOutput>( |
| | | '/api/ParkBountyApply/UploadParkBountyApplyCompanyFileNew', |
| | | { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | | } |
| | | |
| | | /** ç¨æ·å
å¼ POST /api/ParkBountyApply/UserEnterpiseRecharge */ |
| | | export async function userEnterpiseRecharge( |
| | | body: API.UserEnterpiseRechargeInput, |
| | |
| | | id?: string; |
| | | } |
| | | |
| | | interface APIdeleteParkEnterpriseApplyFileParams { |
| | | parkEnterpriseDetaiFileId?: string; |
| | | } |
| | | |
| | | interface APIdeleteParkRewardApplyParams { |
| | | id?: string; |
| | | } |
| | |
| | | transactionDetailId?: string; |
| | | } |
| | | |
| | | interface APIgetEnterpriseLastUploadEnterPactFileNewParams { |
| | | companyId?: string; |
| | | } |
| | | |
| | | interface APIgetEnterpriseLastUploadEnterPactFileParams { |
| | | companyId?: string; |
| | | } |
| | |
| | | interface CustomerUploadMonthApplyFileTypeDto { |
| | | fileSearchTypeId?: string; |
| | | id?: string; |
| | | fileSearchTypeName?: string; |
| | | fileType?: string; |
| | | fileSize?: number; |
| | | fileUrl?: string; |
| | | sort?: number; |
| | | creationTime?: string; |
| | | } |
| | | |
| | | interface DataprepareCreateExtInfo { |
| | |
| | | lastUpdateTime?: string; |
| | | monthApplyId?: string; |
| | | withMonth?: string; |
| | | searchType?: number; |
| | | enterpriseName?: string; |
| | | parkName?: string; |
| | | fileTypeName?: string; |
| | |
| | | data?: GetEnterpriseMonthApplyFileOutput[]; |
| | | } |
| | | |
| | | interface GetEnterpriseParkApplyUploadFileOutput { |
| | | fileSearchTypeId?: string; |
| | | fileSearchTypeName?: string; |
| | | fileCount?: number; |
| | | sort?: number; |
| | | listFiles?: CustomerUploadMonthApplyFileTypeDto[]; |
| | | } |
| | | |
| | | interface GetEnterpriseParkApplyUploadFilesInput { |
| | | parkBountyApplyId?: string; |
| | | companyId?: string; |
| | | } |
| | | |
| | | interface GetEnterprisePreChargeCheckListInput { |
| | | pageModel?: Pagination; |
| | | keyWord?: string; |
| | |
| | | settleTime?: string; |
| | | incomeStatus?: IncomeStatusEnum; |
| | | inCheckStatus?: BountyCheckStatusEnum; |
| | | /** è´¢æ¿å
¥è´¦æ¶é´ */ |
| | | financeIncomeTime?: string; |
| | | financeIncomeStatus?: IncomeStatusEnum; |
| | | /** å
é¨å®¡æ ¸æ¥æ */ |
| | | inCheckTime?: string; |
| | | outCheckStatus?: BountyCheckStatusEnum; |
| | |
| | | data?: GetParkBountyTradeOutput[]; |
| | | } |
| | | |
| | | interface GetParkCollectFileTypeListInput { |
| | | parkId?: string; |
| | | searchType?: number; |
| | | } |
| | | |
| | | interface GetParkCustomerBountyApplyOutput { |
| | | id?: string; |
| | | /** ç³è¯·æ¹æ¬¡å· */ |
| | |
| | | settleFileUrl?: string; |
| | | /** è´¢æ¿åæ¾åè¯ */ |
| | | financeFileUrl?: string; |
| | | /** æ¯å¦æ¯æä¼ä¸ä¸ä¼ */ |
| | | suportEnterpriseUpload?: boolean; |
| | | /** æ¯å¦æ¯æå¹³å°å
å¼ */ |
| | | suportPlatRecharge?: boolean; |
| | | listFiles?: CustomerUploadMonthApplyFileTypeDto[]; |
| | | } |
| | | |
| | | interface OutcheckParkBountyApplyInput { |
| | |
| | | settleSumAmount?: number; |
| | | /** è´¢æ¿åæ¾éé¢ */ |
| | | financeSumAmount?: number; |
| | | listFiles?: CustomerUploadMonthApplyFileTypeDto[]; |
| | | } |
| | | |
| | | interface ParkBountyApplyBatchFinanceInput { |
| | |
| | | |
| | | interface SaveParkBountyApplyGatherFileInput { |
| | | parkBountyApplyId?: string; |
| | | /** ä¼ä¸è¥æ¶æ±æ»è¡¨ */ |
| | | enterpriseOperateFileUrl?: string; |
| | | /** ä¼ä¸ç¼´ç¨æç»è¡¨ */ |
| | | enterpriseTaxSubFileUrl?: string; |
| | | /** å
¥é©»å
³è说æ */ |
| | | enterpriseRelateFileUrl?: string; |
| | | listFiles?: CustomerUploadMonthApplyFileTypeDto[]; |
| | | } |
| | | |
| | | interface SaveWalletPayChannelFeeSettingInput { |
| | |
| | | type?: number; |
| | | } |
| | | |
| | | type SettleStatusEnum = 1 | 2; |
| | | type SettleStatusEnum = 1 | 2 | -1; |
| | | |
| | | interface SetUserCertificationAuditStatusInput { |
| | | /** å®¡æ ¸Id */ |
| | |
| | | listFiles?: CustomerUploadMonthApplyFileTypeDto[]; |
| | | } |
| | | |
| | | interface UploadParkApplyCustomerFilesInput { |
| | | parkBountyApplyId?: string; |
| | | companyId?: string; |
| | | fileTypes?: UploadParkApplyCustomerFileTypes[]; |
| | | } |
| | | |
| | | interface UploadParkApplyCustomerFileTypes { |
| | | fileSearchTypeId?: string; |
| | | fileSearchTypeName?: string; |
| | | fileCount?: number; |
| | | sort?: number; |
| | | listFiles?: CustomerUploadMonthApplyFileTypeDto[]; |
| | | } |
| | | |
| | | interface UploadParkBountyApplyCompanyFileInput { |
| | | parkBountyApplyId?: string; |
| | | companyId?: string; |
| | |
| | | <AppContainer> |
| | | <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns"> |
| | | </ProTableV2> |
| | | <FourStreamsMaterialFileDialog |
| | | <FourStreamsMaterialFileDialogV2 |
| | | v-bind="dialogMaterialFileProps" |
| | | :show-upload-btn="false" |
| | | :show-delete-btn="false" |
| | |
| | | } from '@bole-core/components'; |
| | | import { OrderInputType } from '@bole-core/core'; |
| | | import * as parkBountyApplyServices from '@/services/api/ParkBountyApply'; |
| | | import { IncomeStatusEnumText } from '@/constants'; |
| | | import { ApplyTransferFileBusinessTypeEnumText } from '@/components/commonView/types'; |
| | | import { ApplyTransferFileBusinessTypeEnumText } from '@/constants'; |
| | | import { FourStreamsMaterialUtils } from '@/components/commonView/utils'; |
| | | import { ApplyTransferMaterialFileTableItem } from '@/components/commonView/types'; |
| | | |
| | |
| | | import MateriaDetailDialog from '@/components/commonView/MateriaDetailDialog.vue'; |
| | | import { useQuery, useQueryClient } from '@tanstack/vue-query'; |
| | | import * as parkBountyApplyServices from '@/services/api/ParkBountyApply'; |
| | | import * as enterpriseApplyFileServices from '@/services/api/EnterpriseApplyFile'; |
| | | import { convertApi2FormUrlObjectBySeparator, setOSSLink } from '@/utils'; |
| | | import { useGlobalEventContext, useRouteView } from '@/hooks'; |
| | | import { FormInstance } from 'element-plus'; |
| | | import { Message, OrderInputType } from '@bole-core/core'; |
| | | import { FourStreamsMaterialFileTableItem } from '@/components/commonView/types'; |
| | | import { useIndustrialParkDropDownList } from '@/hooks/industrialPark'; |
| | | import { FourStreamsMaterialUtils } from '@/components/commonView/utils'; |
| | | import { |
| | | CustomerApplyFileTypeListItem, |
| | | EnterpriseApplyFileUtils, |
| | | FourStreamsMaterialUtils, |
| | | } from '@/components/commonView/utils'; |
| | | |
| | | defineOptions({ |
| | | name: 'MaterialReviewAudit', |
| | |
| | | applySumAmount: 0, |
| | | enterpriseTaxSubFileUrl: [] as UploadUserFile[], |
| | | enterpriseOperateFileUrl: [] as UploadUserFile[], |
| | | enterpriseRelateFileUrl: [] as UploadUserFile[], |
| | | parkCollectFileList: [] as CustomerApplyFileTypeListItem[], |
| | | bountyAssignFileUlr: [] as UploadUserFile[], |
| | | bountyCollectFileUrl: [] as UploadUserFile[], |
| | | enterpriseRelateFileUrl: [] as UploadUserFile[], |
| | | |
| | | status: '' as any as BountyCheckStatusEnum, |
| | | remark: '', |
| | |
| | | form.enterpriseRelateFileUrl = convertApi2FormUrlObjectBySeparator( |
| | | data?.enterpriseRelateFileUrl |
| | | ); |
| | | form.parkCollectFileList = EnterpriseApplyFileUtils.convertApiFileToParkCollectFileList( |
| | | data.listFiles |
| | | ); |
| | | |
| | | getList(); |
| | | }, |
| | |
| | | |
| | | const { dialogProps, handleAdd, editForm } = useFormDialog({ |
| | | defaultFormParams: { |
| | | list: [] as FourStreamsMaterialFileTableItem[], |
| | | list: [] as CustomerApplyFileTypeListItem[], |
| | | companyId: '', |
| | | }, |
| | | }); |
| | | const { getIndustrialParkTypeNameById } = useIndustrialParkDropDownList(); |
| | | function openDialog(row: API.ParkBountyApplyDetailInfo) { |
| | | handleAdd({ |
| | | list: FourStreamsMaterialUtils.initFourStreamsMaterialFileList( |
| | | row, |
| | | getIndustrialParkTypeNameById(detail.value?.parkId) |
| | | ), |
| | | companyId: row.enterpriseId, |
| | | }); |
| | | |
| | | async function openDialog(row: API.ParkBountyApplyDetailInfo) { |
| | | try { |
| | | const applyFiles = await queryClient.ensureQueryData({ |
| | | queryKey: [ |
| | | 'enterpriseApplyFileServices/getCustomerUploadApplyFiles', |
| | | row.enterpriseId, |
| | | form.applyMonth, |
| | | ], |
| | | queryFn: async () => { |
| | | return await enterpriseApplyFileServices.getCustomerUploadApplyFiles({ |
| | | enterpriseId: row.enterpriseId, |
| | | withMonth: form.applyMonth, |
| | | }); |
| | | }, |
| | | }); |
| | | const lastUploadEnterPactFile = await queryClient.ensureQueryData({ |
| | | queryKey: ['enterpriseApplyFileServices/getCustomerUploadApplyFiles', row.enterpriseId], |
| | | queryFn: async () => { |
| | | return await parkBountyApplyServices.getEnterpriseLastUploadEnterPactFileNew({ |
| | | companyId: row.enterpriseId, |
| | | }); |
| | | }, |
| | | }); |
| | | |
| | | const applyUploadFiles = await parkBountyApplyServices.getEnterpriseParkApplyUploadFiles({ |
| | | companyId: row.enterpriseId, |
| | | parkBountyApplyId: id, |
| | | }); |
| | | handleAdd({ |
| | | list: EnterpriseApplyFileUtils.initParkCollectFileListApplyFiles( |
| | | applyUploadFiles, |
| | | applyFiles, |
| | | lastUploadEnterPactFile |
| | | ), |
| | | companyId: row.enterpriseId, |
| | | }); |
| | | } catch (error) {} |
| | | } |
| | | </script> |
| | | |
| | |
| | | import DetailView from '@/components/commonView/DetailView.vue'; |
| | | import MateriaDetailDialog from '@/components/commonView/MateriaDetailDialog.vue'; |
| | | import DeclareEnterpriseTableView from '@/components/commonView/DeclareEnterpriseTableView.vue'; |
| | | import { useQuery } from '@tanstack/vue-query'; |
| | | import { useQuery, useQueryClient } from '@tanstack/vue-query'; |
| | | import * as parkBountyApplyServices from '@/services/api/ParkBountyApply'; |
| | | import * as enterpriseApplyFileServices from '@/services/api/EnterpriseApplyFile'; |
| | | import { convertApi2FormUrlObjectBySeparator, setOSSLink } from '@/utils'; |
| | | import { useRouteView } from '@/hooks'; |
| | | import { OrderInputType } from '@bole-core/core'; |
| | |
| | | BountyCheckStatusEnumColor, |
| | | } from '@/constants'; |
| | | import { FourStreamsMaterialFileTableItem } from '@/components/commonView/types'; |
| | | import { FourStreamsMaterialUtils } from '@/components/commonView/utils'; |
| | | import { |
| | | CustomerApplyFileTypeListItem, |
| | | EnterpriseApplyFileUtils, |
| | | FourStreamsMaterialUtils, |
| | | } from '@/components/commonView/utils'; |
| | | import { useIndustrialParkDropDownList } from '@/hooks/industrialPark'; |
| | | |
| | | defineOptions({ |
| | |
| | | applySumAmount: 0, |
| | | enterpriseTaxSubFileUrl: [] as UploadUserFile[], |
| | | enterpriseOperateFileUrl: [] as UploadUserFile[], |
| | | enterpriseRelateFileUrl: [] as UploadUserFile[], |
| | | parkCollectFileList: [] as CustomerApplyFileTypeListItem[], |
| | | bountyAssignFileUlr: [] as UploadUserFile[], |
| | | bountyCollectFileUrl: [] as UploadUserFile[], |
| | | enterpriseRelateFileUrl: [] as UploadUserFile[], |
| | | |
| | | outCheckStatus: '' as any as BountyCheckStatusEnum, |
| | | outCheckRemark: '', |
| | |
| | | form.enterpriseRelateFileUrl = convertApi2FormUrlObjectBySeparator( |
| | | data?.enterpriseRelateFileUrl |
| | | ); |
| | | form.parkCollectFileList = EnterpriseApplyFileUtils.convertApiFileToParkCollectFileList( |
| | | data.listFiles |
| | | ); |
| | | |
| | | getList(); |
| | | }, |
| | |
| | | |
| | | const { dialogProps, handleAdd, editForm } = useFormDialog({ |
| | | defaultFormParams: { |
| | | list: [] as FourStreamsMaterialFileTableItem[], |
| | | list: [] as CustomerApplyFileTypeListItem[], |
| | | companyId: '', |
| | | }, |
| | | }); |
| | | |
| | | const { getIndustrialParkTypeNameById } = useIndustrialParkDropDownList(); |
| | | const queryClient = useQueryClient(); |
| | | async function openDialog(row: API.ParkBountyApplyDetailInfo) { |
| | | try { |
| | | const applyFiles = await queryClient.ensureQueryData({ |
| | | queryKey: [ |
| | | 'enterpriseApplyFileServices/getCustomerUploadApplyFiles', |
| | | row.enterpriseId, |
| | | form.applyMonth, |
| | | ], |
| | | queryFn: async () => { |
| | | return await enterpriseApplyFileServices.getCustomerUploadApplyFiles({ |
| | | enterpriseId: row.enterpriseId, |
| | | withMonth: form.applyMonth, |
| | | }); |
| | | }, |
| | | }); |
| | | const lastUploadEnterPactFile = await queryClient.ensureQueryData({ |
| | | queryKey: ['enterpriseApplyFileServices/getCustomerUploadApplyFiles', row.enterpriseId], |
| | | queryFn: async () => { |
| | | return await parkBountyApplyServices.getEnterpriseLastUploadEnterPactFileNew({ |
| | | companyId: row.enterpriseId, |
| | | }); |
| | | }, |
| | | }); |
| | | |
| | | function openDialog(row: API.ParkBountyApplyDetailInfo) { |
| | | handleAdd({ |
| | | list: FourStreamsMaterialUtils.initFourStreamsMaterialFileList( |
| | | row, |
| | | getIndustrialParkTypeNameById(detail.value?.parkId) |
| | | ), |
| | | companyId: row.enterpriseId, |
| | | }); |
| | | const applyUploadFiles = await parkBountyApplyServices.getEnterpriseParkApplyUploadFiles({ |
| | | companyId: row.enterpriseId, |
| | | parkBountyApplyId: id, |
| | | }); |
| | | handleAdd({ |
| | | list: EnterpriseApplyFileUtils.initParkCollectFileListApplyFiles( |
| | | applyUploadFiles, |
| | | applyFiles, |
| | | lastUploadEnterPactFile |
| | | ), |
| | | companyId: row.enterpriseId, |
| | | }); |
| | | } catch (error) {} |
| | | // handleAdd({ |
| | | // list: FourStreamsMaterialUtils.initFourStreamsMaterialFileList( |
| | | // row, |
| | | // getIndustrialParkTypeNameById(detail.value?.parkId) |
| | | // ), |
| | | // companyId: row.enterpriseId, |
| | | // }); |
| | | } |
| | | |
| | | function handleBack() { |
| | |
| | | import ChunkCellV2 from '@/components/Layout/ChunkCellV2.vue'; |
| | | import MateriaDetailDialog from '@/components/commonView/MateriaDetailDialog.vue'; |
| | | import DeclareEnterpriseTableView from '@/components/commonView/DeclareEnterpriseTableView.vue'; |
| | | import { useQuery } from '@tanstack/vue-query'; |
| | | import { useQuery, useQueryClient } from '@tanstack/vue-query'; |
| | | import * as parkBountyApplyServices from '@/services/api/ParkBountyApply'; |
| | | import * as enterpriseApplyFileServices from '@/services/api/EnterpriseApplyFile'; |
| | | import { convertApi2FormUrlObjectBySeparator, setOSSLink } from '@/utils'; |
| | | import { useRouteView } from '@/hooks'; |
| | | import { OrderInputType } from '@bole-core/core'; |
| | | import { EnterpriseTypeText } from '@/constants'; |
| | | import { FourStreamsMaterialFileTableItem } from '@/components/commonView/types'; |
| | | import { useIndustrialParkDropDownList } from '@/hooks/industrialPark'; |
| | | import { FourStreamsMaterialUtils } from '@/components/commonView/utils'; |
| | | import { |
| | | CustomerApplyFileTypeListItem, |
| | | EnterpriseApplyFileUtils, |
| | | FourStreamsMaterialUtils, |
| | | } from '@/components/commonView/utils'; |
| | | |
| | | defineOptions({ |
| | | name: 'RewardDeclareDetail', |
| | |
| | | applySumAmount: 0, |
| | | enterpriseTaxSubFileUrl: [] as UploadUserFile[], |
| | | enterpriseOperateFileUrl: [] as UploadUserFile[], |
| | | enterpriseRelateFileUrl: [] as UploadUserFile[], |
| | | parkCollectFileList: [] as CustomerApplyFileTypeListItem[], |
| | | bountyAssignFileUlr: [] as UploadUserFile[], |
| | | bountyCollectFileUrl: [] as UploadUserFile[], |
| | | enterpriseRelateFileUrl: [] as UploadUserFile[], |
| | | }); |
| | | |
| | | const { data: detail, isLoading } = useQuery({ |
| | |
| | | form.enterpriseOperateFileUrl = convertApi2FormUrlObjectBySeparator( |
| | | data?.enterpriseOperateFileUrl |
| | | ); |
| | | form.parkCollectFileList = EnterpriseApplyFileUtils.convertApiFileToParkCollectFileList( |
| | | data.listFiles |
| | | ); |
| | | form.bountyAssignFileUlr = convertApi2FormUrlObjectBySeparator(data?.bountyAssignFileUlr); |
| | | form.bountyCollectFileUrl = convertApi2FormUrlObjectBySeparator(data?.bountyCollectFileUrl); |
| | | form.enterpriseRelateFileUrl = convertApi2FormUrlObjectBySeparator( |
| | |
| | | } |
| | | ); |
| | | |
| | | const { dialogProps, handleEdit, editForm } = useFormDialog({ |
| | | const { dialogProps, handleAdd, editForm } = useFormDialog({ |
| | | defaultFormParams: { |
| | | list: [] as FourStreamsMaterialFileTableItem[], |
| | | list: [] as CustomerApplyFileTypeListItem[], |
| | | companyId: '', |
| | | }, |
| | | }); |
| | | |
| | | const { getIndustrialParkTypeNameById } = useIndustrialParkDropDownList(); |
| | | const queryClient = useQueryClient(); |
| | | async function openDialog(row: API.ParkBountyApplyDetailInfo) { |
| | | try { |
| | | const applyFiles = await queryClient.ensureQueryData({ |
| | | queryKey: [ |
| | | 'enterpriseApplyFileServices/getCustomerUploadApplyFiles', |
| | | row.enterpriseId, |
| | | form.applyMonth, |
| | | ], |
| | | queryFn: async () => { |
| | | return await enterpriseApplyFileServices.getCustomerUploadApplyFiles({ |
| | | enterpriseId: row.enterpriseId, |
| | | withMonth: form.applyMonth, |
| | | }); |
| | | }, |
| | | }); |
| | | const lastUploadEnterPactFile = await queryClient.ensureQueryData({ |
| | | queryKey: ['enterpriseApplyFileServices/getCustomerUploadApplyFiles', row.enterpriseId], |
| | | queryFn: async () => { |
| | | return await parkBountyApplyServices.getEnterpriseLastUploadEnterPactFileNew({ |
| | | companyId: row.enterpriseId, |
| | | }); |
| | | }, |
| | | }); |
| | | |
| | | function openDialog(row: API.ParkBountyApplyDetailInfo) { |
| | | handleEdit({ |
| | | list: FourStreamsMaterialUtils.initFourStreamsMaterialFileList( |
| | | row, |
| | | getIndustrialParkTypeNameById(detail.value?.parkId) |
| | | ), |
| | | companyId: row.enterpriseId, |
| | | }); |
| | | const applyUploadFiles = await parkBountyApplyServices.getEnterpriseParkApplyUploadFiles({ |
| | | companyId: row.enterpriseId, |
| | | parkBountyApplyId: id, |
| | | }); |
| | | handleAdd({ |
| | | list: EnterpriseApplyFileUtils.initParkCollectFileListApplyFiles( |
| | | applyUploadFiles, |
| | | applyFiles, |
| | | lastUploadEnterPactFile |
| | | ), |
| | | companyId: row.enterpriseId, |
| | | }); |
| | | } catch (error) {} |
| | | // handleEdit({ |
| | | // list: FourStreamsMaterialUtils.initFourStreamsMaterialFileList( |
| | | // row, |
| | | // getIndustrialParkTypeNameById(detail.value?.parkId) |
| | | // ), |
| | | // companyId: row.enterpriseId, |
| | | // }); |
| | | } |
| | | |
| | | function handleBack() { |
| | |
| | | |
| | | <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns"> |
| | | </ProTableV2> |
| | | <FourStreamsMaterialFileDialog |
| | | <FourStreamsMaterialFileDialogV2 |
| | | v-bind="dialogMaterialFileProps" |
| | | :show-upload-btn="false" |
| | | :show-delete-btn="false" |
| | |
| | | SettleStatusEnumText, |
| | | FinanceStatusEnum, |
| | | FinanceStatusEnumText, |
| | | TransferFileEnumInRewardGrandText, |
| | | } from '@/constants'; |
| | | import * as parkBountyApplyServices from '@/services/api/ParkBountyApply'; |
| | | import FinancialDialog from './components/FinancialDialog.vue'; |
| | |
| | | import _ from 'lodash'; |
| | | import { ModelValueType } from 'element-plus'; |
| | | import { useQueryClient } from '@tanstack/vue-query'; |
| | | import { TransferFileEnumInRewardGrandTableItem } from '@/components/commonView/types'; |
| | | import { FourStreamsMaterialUtils } from '@/components/commonView/utils'; |
| | | import { |
| | | TransferFileEnumInRewardGrandText, |
| | | TransferFileEnumInRewardGrandTableItem, |
| | | } from '@/components/commonView/types'; |
| | | |
| | | defineOptions({ |
| | | name: 'RewardGrant', |
| | |
| | | id: '1', |
| | | enCode: 'batchNo', |
| | | name: 'ç³è¯·æ¹æ¬¡å·', |
| | | width: 160, |
| | | }, |
| | | { |
| | | id: '2', |
| | | enCode: 'parkName', |
| | | name: 'ç³è¯·ååº', |
| | | width: 250, |
| | | }, |
| | | { |
| | | id: '3', |
| | | enCode: 'parkTypeName', |
| | | name: 'ååºç±»å', |
| | | width: 160, |
| | | }, |
| | | { |
| | | id: '4', |
| | | enCode: 'applyMonth', |
| | | name: 'ç³è¯·å¹³å°å¥å±æä»½', |
| | | width: 160, |
| | | }, |
| | | { |
| | | id: '5', |
| | | enCode: 'applySumAmount', |
| | | name: 'å¹³å°å¥å±æ±æ»éé¢ï¼å
ï¼', |
| | | width: 180, |
| | | }, |
| | | { |
| | | id: '6', |
| | | enCode: 'creationTime', |
| | | name: 'ç³æ¥æ¥æ', |
| | | width: 180, |
| | | }, |
| | | { |
| | | id: '7', |
| | | enCode: 'financeStatus', |
| | | name: 'è´¢æ¿æ¨ä»ç¶æ', |
| | | width: 160, |
| | | }, |
| | | { |
| | | id: '8', |
| | | enCode: 'financeTime', |
| | | name: 'æ¨ä»æ¥æ', |
| | | width: 180, |
| | | }, |
| | | { |
| | | id: '9', |
| | | enCode: 'settleStatus', |
| | | name: 'å¹³å°å
å¼ç¶æ', |
| | | width: 160, |
| | | }, |
| | | { |
| | | id: '10', |
| | | enCode: 'settleTime', |
| | | name: 'å
弿¥æ', |
| | | width: 180, |
| | | }, |
| | | ]; |
| | | |
| | |
| | | }, |
| | | extraProps: { |
| | | hide: (row: API.GetParkBountyApplyListOutput) => |
| | | row.settleStatus === SettleStatusEnum.HasSettle, |
| | | row.settleStatus !== SettleStatusEnum.WaitForSettle, |
| | | }, |
| | | }, |
| | | { |