| | |
| | | ); |
| | | } |
| | | |
| | | /** 获取批量登记中未财政拨付的企业 GET /api/ParkBountyApply/GetParkBountyApplyBatchFinanceRegEnterprise */ |
| | | export async function getParkBountyApplyBatchFinanceRegEnterprise( |
| | | // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) |
| | | params: API.APIgetParkBountyApplyBatchFinanceRegEnterpriseParams, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.GetNotTransferCompanyNameListOutput[]>( |
| | | '/api/ParkBountyApply/GetParkBountyApplyBatchFinanceRegEnterprise', |
| | | { |
| | | method: 'GET', |
| | | params: { |
| | | ...params, |
| | | }, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | | } |
| | | |
| | | /** 运营端-奖励金发放-入账-获取批量入账中未入账的企业 GET /api/ParkBountyApply/GetParkBountyApplyBatchTransferEnterprise */ |
| | | export async function getParkBountyApplyBatchTransferEnterprise( |
| | | // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) |
| | |
| | | ) { |
| | | return request<API.GetNotTransferCompanyNameListOutput[]>( |
| | | '/api/ParkBountyApply/GetParkBountyApplyBatchTransferEnterprise', |
| | | { |
| | | method: 'GET', |
| | | params: { |
| | | ...params, |
| | | }, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | | } |
| | | |
| | | /** 获取批量登记中未登记的企业 GET /api/ParkBountyApply/GetParkBountyApplyBatchTransferRegEnterprise */ |
| | | export async function getParkBountyApplyBatchTransferRegEnterprise( |
| | | // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) |
| | | params: API.APIgetParkBountyApplyBatchTransferRegEnterpriseParams, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.GetNotTransferCompanyNameListOutput[]>( |
| | | '/api/ParkBountyApply/GetParkBountyApplyBatchTransferRegEnterprise', |
| | | { |
| | | method: 'GET', |
| | | params: { |
| | |
| | | }); |
| | | } |
| | | |
| | | /** 修复数据3.4.2.6 POST /api/ParkBountyApply/RepairData3_4_2_6 */ |
| | | export async function repairData3426(options?: API.RequestConfig) { |
| | | return request<any>('/api/ParkBountyApply/RepairData3_4_2_6', { |
| | | method: 'POST', |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 保存奖金分配表、奖励金汇总表、奖励总额 POST /api/ParkBountyApply/SaveParkBountyApplyCollectFile */ |
| | | export async function saveParkBountyApplyCollectFile( |
| | | body: API.SaveParkBountyApplyCollectFileInput, |
| | |
| | | bankName?: string; |
| | | bankBranchName?: string; |
| | | bankCardNumber?: string; |
| | | /** 密码 */ |
| | | password?: string; |
| | | } |
| | | |
| | | interface AddEnterpriseMaterialFileInput { |
| | |
| | | parkBountyApplyId?: string; |
| | | } |
| | | |
| | | interface APIgetParkBountyApplyBatchFinanceRegEnterpriseParams { |
| | | parkBountyApplyId?: string; |
| | | } |
| | | |
| | | interface APIgetParkBountyApplyBatchTransferEnterpriseParams { |
| | | parkBountyApplyId?: string; |
| | | } |
| | | |
| | | interface APIgetParkBountyApplyBatchTransferRegEnterpriseParams { |
| | | parkBountyApplyId?: string; |
| | | } |
| | | |
| | |
| | | transferTimeBegin?: string; |
| | | /** 出账结束日期 */ |
| | | transferTimeEnd?: string; |
| | | /** 审核起始日期 */ |
| | | auditTimeBegin?: string; |
| | | /** 审核结束日期 */ |
| | | auditTimeEnd?: string; |
| | | /** 园区Id */ |
| | | parkId?: string; |
| | | enterpriseId?: string; |
| | | auditStatus?: EnumParkBountyTradeDetailAuditStatus; |
| | | financeAuditStatus?: EnumParkBountyTradeDetailAuditStatus; |
| | | } |
| | | |
| | | interface GetParkBountyTradeDetailOutput { |
| | |
| | | /** 社会统一信用代码 */ |
| | | societyCreditCode?: string; |
| | | authType?: EnterpriseTypeEnum; |
| | | /** 园区Id */ |
| | | parkId?: string; |
| | | /** 申请园区 */ |
| | | parkName?: string; |
| | | /** 申请园区类型 */ |
| | |
| | | /** 奖励金余额 */ |
| | | remianAmount?: number; |
| | | financeType?: FinanceTypeEnum; |
| | | showAuditStatus?: EnumParkBountyTradeDetailAuditStatus; |
| | | auditStatus?: EnumParkBountyTradeDetailAuditStatus; |
| | | /** 审核备注 */ |
| | | auditRemark?: string; |
| | | /** 审核时间 */ |
| | | auditTime?: string; |
| | | financeAuditStatus?: EnumParkBountyTradeDetailAuditStatus; |
| | | /** 财务审核备注 */ |
| | | financeAuditRemark?: string; |
| | | /** 财务审核时间 */ |
| | | financeAuditTime?: string; |
| | | /** 审核凭证 */ |
| | | payAuditFileUrl?: string; |
| | | } |
| | |
| | | transferTimeBegin?: string; |
| | | /** 出账结束日期 */ |
| | | transferTimeEnd?: string; |
| | | /** 审核起始日期 */ |
| | | auditTimeBegin?: string; |
| | | /** 审核结束日期 */ |
| | | auditTimeEnd?: string; |
| | | } |
| | | |
| | | interface GetParkBountyTradeOutput { |
| | |
| | | } |
| | | |
| | | interface ImportBountyApplyDataOutput { |
| | | /** 平台拨付总额 */ |
| | | settleSumAmount?: number; |
| | | /** 财政拨付总额 */ |
| | | financeSumAmount?: number; |
| | | /** 申报总额 */ |
| | | applySumAmount?: number; |
| | | /** 错误数据列表 */ |
| | | error?: ExportBountyApplyData[]; |
| | | } |
| | |
| | | bountyCollectFileUrl?: string; |
| | | /** 申报总额 */ |
| | | applySumAmount?: number; |
| | | /** 平台拨付总额 */ |
| | | settleSumAmount?: number; |
| | | /** 财政拨付总额 */ |
| | | financeSumAmount?: number; |
| | | listFiles?: CustomerUploadMonthApplyFileTypeDto[]; |
| | | } |
| | | |
| | |
| | | import dayjs from 'dayjs'; |
| | | import { BoleRegExp } from '@bole-core/core'; |
| | | import { BoleRegExp, Message } from '@bole-core/core'; |
| | | import { round, floor, omitBy } from 'lodash'; |
| | | |
| | | export function format(date: string | Date, fmt = 'YYYY-MM-DD') { |
| | |
| | | } |
| | | return roleName; |
| | | } |
| | | |
| | | export function copyTextToClipboard(text: string) { |
| | | if (navigator.clipboard && window.isSecureContext) { |
| | | // navigator clipboard 向剪贴板写文本 |
| | | navigator.clipboard |
| | | .writeText(text) |
| | | .then(() => { |
| | | Message.successMessage('已复制'); |
| | | }) |
| | | .catch((error) => { |
| | | console.error('Failed to copy text to clipboard:', error); |
| | | }); |
| | | } else { |
| | | // 创建text area |
| | | let textArea = document.createElement('textarea'); |
| | | textArea.value = text; |
| | | // 使text area不在viewport,同时设置不可见 |
| | | textArea.style.position = 'absolute'; |
| | | textArea.style.opacity = 0 as any; |
| | | textArea.style.left = '-999999px'; |
| | | textArea.style.top = '-999999px'; |
| | | document.body.appendChild(textArea); |
| | | textArea.select(); |
| | | let res = document.execCommand('copy'); |
| | | if (res) { |
| | | Message.successMessage('已复制'); |
| | | } |
| | | textArea.remove(); |
| | | } |
| | | } |
| | |
| | | </QueryFilterItem> |
| | | <QueryFilterItem tip-content="审核状态"> |
| | | <FieldRadio |
| | | v-model="extraParamState.auditStatus" |
| | | v-model="extraParamState.financeAuditStatus" |
| | | :value-enum="EnumParkBountyTradeDetailAuditStatusText" |
| | | buttonStyle |
| | | showAllBtn |
| | |
| | | <QueryFilterItem> |
| | | <SearchInput |
| | | v-model="extraParamState.searchKeyWord" |
| | | style="width: 200px" |
| | | placeholder="企业名称/信用代码" |
| | | style="width: 300px" |
| | | placeholder="企业名/信用代码/联系人/联系方式" |
| | | @on-click-search="getList" |
| | | > |
| | | </SearchInput> |
| | |
| | | }, |
| | | extraProps: { |
| | | hide: (row: API.GetParkBountyTradeDetailOutput) => |
| | | row.auditStatus === EnumParkBountyTradeDetailAuditStatus.Wait, |
| | | row.financeAuditStatus === EnumParkBountyTradeDetailAuditStatus.Wait, |
| | | }, |
| | | }, |
| | | { |
| | |
| | | }, |
| | | extraProps: { |
| | | hide: (row: API.GetParkBountyTradeDetailOutput) => |
| | | row.auditStatus !== EnumParkBountyTradeDetailAuditStatus.Wait, |
| | | row.financeAuditStatus !== EnumParkBountyTradeDetailAuditStatus.Wait, |
| | | }, |
| | | }, |
| | | ]); |
| | |
| | | orderInput: extraParamState.orderInput, |
| | | }, |
| | | searchKeyWord: extraParamState.searchKeyWord, |
| | | // transferTimeBegin: format(extraParamState.transferTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'), |
| | | // transferTimeEnd: format(extraParamState.transferTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'), |
| | | creationTimeBegin: format(extraParamState.creationTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'), |
| | | creationTimeEnd: format(extraParamState.creationTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'), |
| | | // "enterpriseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", |
| | | // "auditStatus": 10 |
| | | parkId: extraParamState.enterpriseId, |
| | | financeAuditStatus: extraParamState.financeAuditStatus, |
| | | auditTimeBegin: format(extraParamState.creationTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'), |
| | | auditTimeEnd: format(extraParamState.creationTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'), |
| | | }; |
| | | let res = await parkBountyApplyServices.getParkBountyTradeDetailList(params, { |
| | | showLoading: !state.loading, |
| | |
| | | defaultExtraParams: { |
| | | searchKeyWord: '', |
| | | enterpriseId: '', |
| | | auditStatus: '' as any as EnumParkBountyTradeDetailAuditStatus, |
| | | financeAuditStatus: '' as any as EnumParkBountyTradeDetailAuditStatus, |
| | | creationTime: [] as unknown as ModelValueType, |
| | | orderInput: [{ property: 'tradeTime', order: OrderInputType.Desc }], |
| | | }, |
| | | columnsRenderProps: { |
| | | authType: { type: 'enum', valueEnum: EnterpriseTypeText }, |
| | | tradeTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' }, |
| | | financeAuditTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' }, |
| | | tradeAmount: { type: 'money' }, |
| | | remianAmount: { type: 'money' }, |
| | | auditStatus: { |
| | | financeAuditStatus: { |
| | | type: 'tag', |
| | | valueEnum: EnumParkBountyTradeDetailAuditStatusText, |
| | | tagTypeEnum: EnumParkBountyTradeDetailAuditStatusTag, |
| | |
| | | id: row.id, |
| | | isCheck, |
| | | auditStatus: |
| | | row.auditStatus === EnumParkBountyTradeDetailAuditStatus.Reject |
| | | row.financeAuditStatus === EnumParkBountyTradeDetailAuditStatus.Reject |
| | | ? EnumParkBountyTradeDetailAuditStatus.Reject |
| | | : EnumParkBountyTradeDetailAuditStatus.Pass, |
| | | auditRemark: row.auditRemark, |
| | | payAuditFileUrl: convertApi2FormUrlOnlyOne(row.payAuditFileUrl), |
| | | auditRemark: row.financeAuditRemark, |
| | | payAuditFileUrl: isCheck |
| | | ? convertApi2FormUrlOnlyOne(row.payAuditFileUrl) |
| | | : ([] as UploadUserFile[]), |
| | | userName: row.userName, |
| | | enterpriseName: row.enterpriseName, |
| | | societyCreditCode: row.societyCreditCode, |
| | |
| | | tradeAmount: row.tradeAmount, |
| | | remianAmount: row.remianAmount, |
| | | tradeTime: row.tradeTime, |
| | | auditTime: row.auditTime, |
| | | auditTime: row.financeAuditTime, |
| | | payRemark: row.payRemark, |
| | | payFileUrl: convertApi2FormUrlOnlyOne(row.payFileUrl), |
| | | title: isCheck ? '详情' : '财务审批', |
| | | }); |
| | | } |
| | | |
| | |
| | | auditTime: '', |
| | | payRemark: '', |
| | | payFileUrl: [] as UploadUserFile[], |
| | | title: '', |
| | | }, |
| | | }); |
| | | |
| | |
| | | /** 审核凭证 */ |
| | | payAuditFileUrl: editForm.payAuditFileUrl?.[0]?.path ?? '', |
| | | }; |
| | | let res = await parkBountyApplyServices.auditParkBountyApplyTrade(params); |
| | | let res = await parkBountyApplyServices.financeAuditParkBountyApplyTrade(params); |
| | | if (res) { |
| | | Message.successMessage('操作成功'); |
| | | getList(paginationState.pageIndex); |
| | |
| | | <QueryFilterItem> |
| | | <SearchInput |
| | | v-model="extraParamState.searchKeyWord" |
| | | style="width: 200px" |
| | | placeholder="企业名称/信用代码" |
| | | style="width: 300px" |
| | | placeholder="企业名/信用代码/联系人/联系方式" |
| | | @on-click-search="getList" |
| | | > |
| | | </SearchInput> |
| | |
| | | orderInput: extraParamState.orderInput, |
| | | }, |
| | | searchKeyWord: extraParamState.searchKeyWord, |
| | | // transferTimeBegin: format(extraParamState.transferTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'), |
| | | // transferTimeEnd: format(extraParamState.transferTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'), |
| | | parkId: extraParamState.enterpriseId, |
| | | creationTimeBegin: format(extraParamState.creationTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'), |
| | | creationTimeEnd: format(extraParamState.creationTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'), |
| | | // "enterpriseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", |
| | | // "auditStatus": 10 |
| | | auditStatus: extraParamState.auditStatus, |
| | | }; |
| | | let res = await parkBountyApplyServices.getParkBountyTradeDetailList(params, { |
| | | showLoading: !state.loading, |
| | |
| | | columnsRenderProps: { |
| | | authType: { type: 'enum', valueEnum: EnterpriseTypeText }, |
| | | tradeTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' }, |
| | | auditTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' }, |
| | | tradeAmount: { type: 'money' }, |
| | | remianAmount: { type: 'money' }, |
| | | auditStatus: { |
| | |
| | | auditTime: row.auditTime, |
| | | payRemark: row.payRemark, |
| | | payFileUrl: convertApi2FormUrlOnlyOne(row.payFileUrl), |
| | | title: isCheck ? '详情' : '出账审批', |
| | | }); |
| | | } |
| | | |
| | |
| | | auditTime: '', |
| | | payRemark: '', |
| | | payFileUrl: [] as UploadUserFile[], |
| | | title: '', |
| | | }, |
| | | }); |
| | | |
| | |
| | | }, |
| | | }); |
| | | |
| | | function openMaterialFileDialog(row: API.GetParkBountyApplyListOutput) { |
| | | function openMaterialFileDialog(row: API.ParkBountyApplyTransferDetailInfo) { |
| | | handleMaterialFileAdd({ |
| | | list: FourStreamsMaterialUtils.initApplyRewardGrandFileList(row), |
| | | }); |
| | |
| | | async function parkBountyApplyTransferReg() { |
| | | try { |
| | | let params: API.ParkBountyApplyTransferInput = { |
| | | parkBountyApplyDetailId: id, |
| | | parkBountyApplyDetailId: editRegisterForm.parkBountyApplyDetailId, |
| | | transferToAmount: editRegisterForm.amount, |
| | | parkBountyApplyId: editRegisterForm.parkBountyApplyId, |
| | | transferToFileUrl: convertFormUrl2ApiBySeparator(editRegisterForm.fileUrl), |
| | |
| | | |
| | | async function getParkBountyApplyBatchTransferEnterprise() { |
| | | try { |
| | | let res = await parkBountyApplyServices.getParkBountyApplyBatchTransferEnterprise({ |
| | | let res = await parkBountyApplyServices.getParkBountyApplyBatchTransferRegEnterprise({ |
| | | parkBountyApplyId: form.value.parkBountyApplyId, |
| | | }); |
| | | if (res) { |
| | |
| | | |
| | | async function getParkBountyApplyBatchFinanceEnterprise() { |
| | | try { |
| | | let res = await parkBountyApplyServices.getParkBountyApplyBatchFinanceEnterprise({ |
| | | let res = await parkBountyApplyServices.getParkBountyApplyBatchFinanceRegEnterprise({ |
| | | parkBountyApplyId: form.value.parkBountyApplyId, |
| | | }); |
| | | if (res) { |
| | |
| | | ProFormUpload, |
| | | UploadUserFile, |
| | | } from '@bole-core/components'; |
| | | import { IncomeTypeEnumText, IncomeTypeEnum, FinanceStatusEnum } from '@/constants'; |
| | | import { IncomeTypeEnumText, IncomeTypeEnum } from '@/constants'; |
| | | |
| | | defineOptions({ |
| | | name: 'RegisterGrantDialog', |
| | |
| | | <template> |
| | | <ProDialog title="出账审批" v-model="visible" @close="onDialogClose" destroy-on-close draggable> |
| | | <ProDialog |
| | | :title="form.title" |
| | | v-model="visible" |
| | | @close="onDialogClose" |
| | | destroy-on-close |
| | | draggable |
| | | > |
| | | <PortraitTableWithAttachment v-bind="portraitTableWithAttachmentProps"> |
| | | <template #title> |
| | | <el-row class="portrait-table-with-attachment-title"> |
| | |
| | | ProFormDatePicker, |
| | | UploadUserFile, |
| | | } from '@bole-core/components'; |
| | | import * as parkBountyApplyServices from '@/services/api/ParkBountyApply'; |
| | | import { copyTextToClipboard, usePortraitTableWithAttachment } from '@/hooks'; |
| | | import { convertApi2FormUrl, convertApi2FormUrlOnlyOne } from '@/utils'; |
| | | import { useQuery } from '@tanstack/vue-query'; |
| | | import { usePortraitTableWithAttachment } from '@/hooks'; |
| | | import { copyTextToClipboard } from '@/utils'; |
| | | import { |
| | | EnumParkBountyTradeDetailAuditStatus, |
| | | EnumParkBountyTradeDetailAuditStatusTextForAdudit, |
| | | EnterpriseType, |
| | | EnterpriseTypeText, |
| | | } from '@/constants'; |
| | | |
| | | defineOptions({ |
| | |
| | | |
| | | function handleApply() { |
| | | copyTextToClipboard( |
| | | `开户名称:${form.value?.societyCreditCode}\n开户银行:${form.value?.contactPhone}\n开户账号:${form.value?.userName}` |
| | | `开户名称:${'太平财产保险有限公司抚州中心支公司'}\n开户银行:${'中国工商银行股份有限公司抚州赣东支行'}\n开户账号:${'1511 2001 2920 0156 069'}` |
| | | ); |
| | | } |
| | | </script> |
| | |
| | | }, |
| | | { |
| | | id: '13', |
| | | enCode: 'a', |
| | | enCode: 'auditTime', |
| | | name: '审核时间', |
| | | width: 180, |
| | | }, |
| | |
| | | }, |
| | | { |
| | | id: '12', |
| | | enCode: 'auditStatus', |
| | | enCode: 'financeAuditStatus', |
| | | name: '财务审核状态', |
| | | width: 160, |
| | | }, |
| | | { |
| | | id: '13', |
| | | enCode: 'a', |
| | | enCode: 'financeAuditTime', |
| | | name: '审核时间', |
| | | width: 180, |
| | | }, |