| | |
| | | margin-bottom: 0; |
| | | border-bottom: none; |
| | | } |
| | | |
| | | .chunk-cell-v2-content { |
| | | padding-bottom: 12px; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | ProTableV2, |
| | | SearchInput, |
| | | useFormDialog, |
| | | useTable, |
| | | defineOperationBtns, |
| | | defineColumns, |
| | | } from '@bole-core/components'; |
| | | import MateriaDetailDialog from './MateriaDetailDialog.vue'; |
| | | import { FourStreamsMaterialFileTableItem } from './types'; |
| | | import { OrderInputType } from '@bole-core/core'; |
| | | import * as parkBountyApplyServices from '@/services/api/ParkBountyApply'; |
| | | |
| | | defineOptions({ |
| | | name: 'DeclareEnterpriseTableView', |
| | | }); |
| | | |
| | | type Props = {}; |
| | | type Props = { |
| | | getList: (pageIndex?: number) => Promise<void>; |
| | | reset: () => void; |
| | | proTableProps: any; |
| | | extraParamState: { |
| | | searchKeyWord: string; |
| | | }; |
| | | }; |
| | | |
| | | const props = withDefaults(defineProps<Props>(), {}); |
| | | |
| | | const column = defineColumns([ |
| | | { |
| | | id: '1', |
| | | enCode: 'accDateTime', |
| | | enCode: 'userName', |
| | | name: '帐号', |
| | | }, |
| | | { |
| | |
| | | }, |
| | | ]); |
| | | |
| | | const { |
| | | getDataSource: getList, |
| | | proTableProps, |
| | | paginationState, |
| | | extraParamState, |
| | | reset, |
| | | } = useTable( |
| | | async ({ pageIndex, pageSize }, extraParamState) => { |
| | | try { |
| | | let params: API.GetParkBountyApplyInfoInput = { |
| | | pageModel: { |
| | | rows: pageSize, |
| | | page: pageIndex, |
| | | orderInput: extraParamState.orderInput, |
| | | }, |
| | | searchKeyWord: extraParamState.searchKeyWord, |
| | | }; |
| | | let res = await parkBountyApplyServices.getParkBountyApplyDetailList(params); |
| | | return res; |
| | | } catch (error) {} |
| | | }, |
| | | { |
| | | defaultExtraParams: { |
| | | orderInput: [{ property: 'creationTime', order: OrderInputType.Desc }], |
| | | searchKeyWord: '', |
| | | }, |
| | | } |
| | | ); |
| | | |
| | | const { dialogProps, handleEdit, editForm } = useFormDialog({ |
| | | defaultFormParams: { |
| | | list: [] as FourStreamsMaterialFileTableItem[], |
| | |
| | | list: [], |
| | | }); |
| | | } |
| | | |
| | | defineExpose({ |
| | | getList, |
| | | }); |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | |
| | | <template> |
| | | <ProForm :model="form" label-width="160px" label-position="left" is-read> |
| | | <ChunkCellV2 title="材料审核"> |
| | | <ChunkCellV2 title="材料审核" style="margin-bottom: 0"> |
| | | <BatchInfoView :form="form"></BatchInfoView> |
| | | </ChunkCellV2> |
| | | <ChunkCellV2 title="汇总材料"> |
| | | <ChunkCellV2 title="汇总材料" style="margin-bottom: 0"> |
| | | <MaterialInfoView :form="form"></MaterialInfoView> |
| | | </ChunkCellV2> |
| | | <ChunkCellV2 title="汇算材料"> |
| | | <ChunkCellV2 title="汇算材料" style="margin-bottom: 0"> |
| | | <SettlementMaterialInfoView :form="form"></SettlementMaterialInfoView> |
| | | </ChunkCellV2> |
| | | <slot></slot> |
| | |
| | | <template> |
| | | <ProFormCol> |
| | | <ProFormColItem :span="12"> |
| | | <ProFormItemV2 label="企业缴税明细汇总表:" prop="enterpriseTaxSubFileUrl"> |
| | | <ProFormItemV2 |
| | | label="企业缴税明细汇总表:" |
| | | prop="enterpriseTaxSubFileUrl" |
| | | style="margin-bottom: 22px" |
| | | > |
| | | <ProFormUpload v-model:file-url="form.enterpriseTaxSubFileUrl"></ProFormUpload> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | |
| | | </ProFormCol> |
| | | <ProFormCol> |
| | | <ProFormColItem :span="12"> |
| | | <ProFormItemV2 label="奖励金分配明细表:" prop="bountyAssignFileUlr"> |
| | | <ProFormItemV2 |
| | | label="奖励金分配明细表:" |
| | | prop="bountyAssignFileUlr" |
| | | style="margin-bottom: 22px" |
| | | > |
| | | <ProFormUpload v-model:file-url="form.bountyAssignFileUlr"></ProFormUpload> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | |
| | | export enum BountyCheckStatusEnum { |
| | | /** |
| | | * 未提交 |
| | | */ |
| | | NotSubmit = -10, |
| | | /** |
| | | * 待审核 |
| | | */ |
| | | WaitCheck = 10, |
| | |
| | | export const BountyCheckStatusEnumText = { |
| | | [BountyCheckStatusEnum.WaitCheck]: '待审核', |
| | | [BountyCheckStatusEnum.CheckPassed]: '审核通过', |
| | | [BountyCheckStatusEnum.CheckReject]: '审核不通过', |
| | | [BountyCheckStatusEnum.CheckReject]: '审核未通过', |
| | | }; |
| | | export const BountyCheckStatusEnumTextForAudit = { |
| | | [BountyCheckStatusEnum.CheckPassed]: '审核通过', |
| | | [BountyCheckStatusEnum.CheckReject]: '驳回', |
| | | }; |
| | | |
| | | export enum SettleStatusEnum { |
| | |
| | | }); |
| | | } |
| | | |
| | | /** 政务端一系统配置一重置密码 POST /api/Account/ResetPassword */ |
| | | export async function resetPassword(body: API.ResetPasswordBaseInput, options?: API.RequestConfig) { |
| | | return request<number>('/api/Account/ResetPassword', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 重置密码并发送手机通知新密码 POST /api/Account/ResetPasswordWithMicroNotify */ |
| | | export async function resetPasswordWithMicroNotify( |
| | | body: API.ResetPasswordBaseInput, |
| | |
| | | } |
| | | |
| | | /** 此处后端没有提供注释 POST /api/accountAuth/ResetPassword */ |
| | | export async function resetPassword(body: API.ResetPasswordDto, options?: API.RequestConfig) { |
| | | export async function resetPassword_2(body: API.ResetPasswordDto, options?: API.RequestConfig) { |
| | | return request<any>('/api/accountAuth/ResetPassword', { |
| | | method: 'POST', |
| | | headers: { |
| | |
| | | }); |
| | | } |
| | | |
| | | /** 撤回申报 GET /api/ParkBountyApply/CancelParkBountyApply */ |
| | | export async function cancelParkBountyApply( |
| | | // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) |
| | | params: API.APIcancelParkBountyApplyParams, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<number>('/api/ParkBountyApply/CancelParkBountyApply', { |
| | | method: 'GET', |
| | | params: { |
| | | ...params, |
| | | }, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 继续申报 POST /api/ParkBountyApply/EditParkBountyApply */ |
| | | export async function editParkBountyApply( |
| | | body: API.EditParkBountyApplyStepOneInput, |
| | |
| | | }); |
| | | } |
| | | |
| | | /** 获取运营端 奖励金申报列表 POST /api/ParkBountyApply/GetCustmoerParkBountyApplyList */ |
| | | export async function getCustmoerParkBountyApplyList( |
| | | body: API.GetCustomerParkBountyApplyListInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.GetParkBountyApplyListOutputPageOutput>( |
| | | '/api/ParkBountyApply/GetCustmoerParkBountyApplyList', |
| | | { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | | } |
| | | |
| | | /** 政务端—工作台数据看板 GET /api/ParkBountyApply/GetGoverDataBoard */ |
| | | export async function getGoverDataBoard(options?: API.RequestConfig) { |
| | | return request<API.GetGoverDataBoardOutput>('/api/ParkBountyApply/GetGoverDataBoard', { |
| | | method: 'GET', |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 获取已申报企业列表 含可选择、已剔除 POST /api/ParkBountyApply/GetHasApplyCompanyNameList */ |
| | | export async function getHasApplyCompanyNameList( |
| | | body: API.GetHasApplyCompanyNameListInput, |
| | |
| | | ); |
| | | } |
| | | |
| | | /** 政务端-材料审核-申报详情 POST /api/ParkBountyApply/GetOutCheckParkBountyApplyDetailBaseInfo */ |
| | | export async function getOutCheckParkBountyApplyDetailBaseInfo( |
| | | body: API.GetParkBountyApplyInfoInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.OutCheckParkBountyApplyBaseInfo>( |
| | | '/api/ParkBountyApply/GetOutCheckParkBountyApplyDetailBaseInfo', |
| | | { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | | } |
| | | |
| | | /** 政务端-材料审核-申报企业名单 POST /api/ParkBountyApply/GetOutCheckParkBountyApplyDetailList */ |
| | | export async function getOutCheckParkBountyApplyDetailList( |
| | | body: API.GetParkBountyApplyInfoInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.ParkBountyApplyDetailInfoPageOutput>( |
| | | '/api/ParkBountyApply/GetOutCheckParkBountyApplyDetailList', |
| | | { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | | } |
| | | |
| | | /** 政务端-材料审核-获取外部审核列表 POST /api/ParkBountyApply/GetOutcheckParkBountyList */ |
| | | export async function getOutcheckParkBountyList( |
| | | body: API.GetParkBountyApplyListInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.GetParkBountyApplyListOutputPageOutput>( |
| | | '/api/ParkBountyApply/GetOutcheckParkBountyList', |
| | | { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | | } |
| | | |
| | | /** 跟进园区查询公司分页列表 POST /api/ParkBountyApply/GetParkApplyCompanyList */ |
| | | export async function getParkApplyCompanyList( |
| | | body: API.GetApplyCompanyListInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.GetParkApplyCompanyListOutputPageOutput>( |
| | | return request<API.ParkBountyApplyDetailInfoPageOutput>( |
| | | '/api/ParkBountyApply/GetParkApplyCompanyList', |
| | | { |
| | | method: 'POST', |
| | |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | | } |
| | | |
| | | /** 运营端-奖励金发放-入账-获取批量入账中未入账的企业 GET /api/ParkBountyApply/GetParkBountyApplyBatchTransferEnterprise */ |
| | | export async function getParkBountyApplyBatchTransferEnterprise( |
| | | // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) |
| | | params: API.APIgetParkBountyApplyBatchTransferEnterpriseParams, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.GetCompanyNameListOutput[]>( |
| | | '/api/ParkBountyApply/GetParkBountyApplyBatchTransferEnterprise', |
| | | { |
| | | method: 'GET', |
| | | params: { |
| | | ...params, |
| | | }, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | |
| | | ); |
| | | } |
| | | |
| | | /** 运营端-奖励进出账详情 POST /api/ParkBountyApply/GetParkBountyTradeDetailList */ |
| | | export async function getParkBountyTradeDetailList( |
| | | body: API.GetParkBountyTradeDetailByIdInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.GetParkBountyTradeDetailOutputPageOutput>( |
| | | '/api/ParkBountyApply/GetParkBountyTradeDetailList', |
| | | { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | | } |
| | | |
| | | /** 运营端-奖励金使用管理列表 POST /api/ParkBountyApply/GetParkBountyTradeList */ |
| | | export async function getParkBountyTradeList( |
| | | body: API.GetParkBountyTradeInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.GetParkBountyTradeOutputPageOutput>( |
| | | '/api/ParkBountyApply/GetParkBountyTradeList', |
| | | { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | | } |
| | | |
| | | /** 运营端-政务端一园区客户管理详情一企业申报记录 POST /api/ParkBountyApply/GetParkCustomerBountyApplyList */ |
| | | export async function getParkCustomerBountyApplyList( |
| | | body: API.QueryParkCustomerBountyApplyInput, |
| | |
| | | }); |
| | | } |
| | | |
| | | /** 政务端-材料审核-外部审核 POST /api/ParkBountyApply/OutcheckParkBountyApply */ |
| | | export async function outcheckParkBountyApply( |
| | | body: API.OutcheckParkBountyApplyInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<number>('/api/ParkBountyApply/OutcheckParkBountyApply', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 运营端—入账-批量入账 POST /api/ParkBountyApply/ParkBountyApplyBatchTransfer */ |
| | | export async function parkBountyApplyBatchTransfer( |
| | | body: API.ParkBountyApplyBatchTransferInput, |
| | |
| | | }); |
| | | } |
| | | |
| | | /** 运营端—奖励金-出账 POST /api/ParkBountyApply/ParkBountyApplyTrade */ |
| | | export async function parkBountyApplyTrade( |
| | | body: API.CreateParkBountyTradeInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<number>('/api/ParkBountyApply/ParkBountyApplyTrade', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 运营端—入账—奖励金入账 POST /api/ParkBountyApply/ParkBountyApplyTransfer */ |
| | | export async function parkBountyApplyTransfer( |
| | | body: API.ParkBountyApplyTransferInput, |
| | |
| | | }); |
| | | } |
| | | |
| | | /** 政务端一系统配置一创建政务端用户 POST /api/UserRole/CreateGovermentClientUser */ |
| | | export async function createGovermentClientUser( |
| | | body: API.CreateGoverUserInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<string>('/api/UserRole/CreateGovermentClientUser', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 新增角色 POST /api/UserRole/CreateRole */ |
| | | export async function createRole(body: API.CreateBaseRoleInput, options?: API.RequestConfig) { |
| | | return request<string>('/api/UserRole/CreateRole', { |
| | |
| | | }); |
| | | } |
| | | |
| | | /** 政务端一系统配置一编辑政务端账户 POST /api/UserRole/UpdateGovermentClientUser */ |
| | | export async function updateGovermentClientUser( |
| | | body: API.UpdateGovermentClientUserInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<number>('/api/UserRole/UpdateGovermentClientUser', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 角色编辑 POST /api/UserRole/UpdateRole */ |
| | | export async function updateRole(body: API.CreateOrUpdateRoleInput, options?: API.RequestConfig) { |
| | | return request<number>('/api/UserRole/UpdateRole', { |
| | |
| | | walletAccountType?: WalletAccountTypeEnum; |
| | | } |
| | | |
| | | interface APIcancelParkBountyApplyParams { |
| | | parkBountyApplyId?: string; |
| | | } |
| | | |
| | | interface APIcheckUserCertificationRepeatParams { |
| | | userId?: string; |
| | | enterpriseName?: string; |
| | |
| | | |
| | | interface APIgetParams { |
| | | id?: string; |
| | | } |
| | | |
| | | interface APIgetParkBountyApplyBatchTransferEnterpriseParams { |
| | | parkBountyApplyId?: string; |
| | | } |
| | | |
| | | interface APIgetParkCustomerManageBaseDetailParams { |
| | |
| | | status?: CooperationApplyStatusEnum; |
| | | } |
| | | |
| | | interface CreateGoverUserInput { |
| | | /** 名称 */ |
| | | name?: string; |
| | | /** 用户名 */ |
| | | userName?: string; |
| | | /** 备注 */ |
| | | remark?: string; |
| | | /** 手机号 */ |
| | | phoneNumber?: string; |
| | | /** 角色 */ |
| | | roleNames?: string[]; |
| | | /** 密码 */ |
| | | password?: string; |
| | | } |
| | | |
| | | interface CreateInformationAdvertiseInput { |
| | | /** 对外联系人 */ |
| | | outerContacter?: string; |
| | |
| | | name: string; |
| | | /** 排序 */ |
| | | sequence?: number; |
| | | } |
| | | |
| | | interface CreateParkBountyTradeInput { |
| | | enterpriseId?: string; |
| | | /** 最近出账金额 */ |
| | | tradeAmount?: number; |
| | | /** 出账凭证 */ |
| | | payFileUrl?: string; |
| | | /** 消费类型 */ |
| | | payRemark?: string; |
| | | } |
| | | |
| | | interface CreateParkOrHRAdvertiseInput { |
| | |
| | | data?: GetCustomerListOutput[]; |
| | | } |
| | | |
| | | interface GetCustomerParkBountyApplyListInput { |
| | | pageModel?: Pagination; |
| | | /** 申请批次号 */ |
| | | batchNo?: string; |
| | | /** 申请起始日期 */ |
| | | creationTimeBegin?: string; |
| | | /** 申请结束日期 */ |
| | | creationTimeEnd?: string; |
| | | /** 内部审核起始日期 */ |
| | | inCheckTimeBegin?: string; |
| | | /** 内部审核结束日期 */ |
| | | inCheckTimeEnd?: string; |
| | | /** 外部审核起始日期 */ |
| | | outCheckTimeBegin?: string; |
| | | /** 外部审核结束日期 */ |
| | | outCheckTimeEnd?: string; |
| | | outCheckStatus?: BountyCheckStatusEnum; |
| | | inCheckStatus?: BountyCheckStatusEnum; |
| | | } |
| | | |
| | | interface GetCustomersExportInput { |
| | | /** 查询条件:甲方名称/联系人 */ |
| | | queryCondition?: string; |
| | |
| | | signName?: string; |
| | | status?: LgGigWorkerSignStatus; |
| | | settingStatus?: LgGigWorkerSignSettingStatus; |
| | | } |
| | | |
| | | interface GetGoverDataBoardOutput { |
| | | /** 待审核 */ |
| | | waitCheckEnterpriseNumber?: number; |
| | | /** 奖励金待发放 */ |
| | | waitForSettleRewardNumber?: number; |
| | | /** 累计已审核企业 */ |
| | | accumulatedCheckEnterpriseNumber?: number; |
| | | /** 累计已审核通过企业 */ |
| | | accumulatedCheckPassEnterpriseNumber?: number; |
| | | /** 累计未审核通过企业 */ |
| | | accumulatedCheckRejectEnterpriseNumber?: number; |
| | | /** 累计已发放奖励金 */ |
| | | accumulatedHasSettleRewardAmount?: number; |
| | | /** 累计待发放奖励金 */ |
| | | accumulatedWaitForSettleRewardAmount?: number; |
| | | /** 累计已使用奖励金 */ |
| | | accumulatedUsedRewardAmount?: number; |
| | | } |
| | | |
| | | interface GetHasApplyCompanyNameListInput { |
| | |
| | | enterinessName?: string; |
| | | } |
| | | |
| | | interface GetParkApplyCompanyListOutput { |
| | | id?: string; |
| | | userName?: string; |
| | | enterpriseName?: string; |
| | | bankIsVerify?: boolean; |
| | | /** 营业执照文件地址 */ |
| | | licenseUrl?: string; |
| | | /** 统一社会信用代码 */ |
| | | societyCreditCode?: string; |
| | | /** 企业信息是否已完善 */ |
| | | enterpriseIsVerify?: boolean; |
| | | authType?: EnterpriseTypeEnum; |
| | | /** 企业类型 10人力资源公司 20甲方企业 30行业配套 40行业机构 */ |
| | | type?: number; |
| | | /** 用户手机号 */ |
| | | phoneNumber?: string; |
| | | /** 创建时间 */ |
| | | creationTime?: string; |
| | | } |
| | | |
| | | interface GetParkApplyCompanyListOutputPageOutput { |
| | | pageModel?: Pagination; |
| | | objectData?: any; |
| | | data?: GetParkApplyCompanyListOutput[]; |
| | | } |
| | | |
| | | interface GetParkApplyCompanyStepTwoListInput { |
| | | pageModel?: Pagination; |
| | | parkBountyApplyId?: string; |
| | |
| | | bankIsVerify?: boolean; |
| | | /** 营业执照是否已完善 */ |
| | | enterpriseIsVerify?: boolean; |
| | | /** 选择公司Id */ |
| | | removeCompanyIds?: string[]; |
| | | } |
| | | |
| | | interface GetParkBountyApplyFileInput { |
| | |
| | | /** 发放日期 */ |
| | | settleTime?: string; |
| | | incomeStatus?: IncomeStatusEnum; |
| | | inCheckStatus?: BountyCheckStatusEnum; |
| | | /** 内部审核日期 */ |
| | | inCheckTime?: string; |
| | | outCheckStatus?: BountyCheckStatusEnum; |
| | | /** 外部审核日期 */ |
| | | outCheckTime?: string; |
| | |
| | | /** 企业名/信用代码 */ |
| | | searchKeyWord?: string; |
| | | transferToStatus?: TransferToStatusEnum; |
| | | } |
| | | |
| | | interface GetParkBountyTradeDetailByIdInput { |
| | | pageModel?: Pagination; |
| | | /** 企业名/信用代码 */ |
| | | searchKeyWord?: string; |
| | | /** 申请起始日期 */ |
| | | creationTimeBegin?: string; |
| | | /** 申请结束日期 */ |
| | | creationTimeEnd?: string; |
| | | /** 出账起始日期 */ |
| | | transferTimeBegin?: string; |
| | | /** 出账结束日期 */ |
| | | transferTimeEnd?: string; |
| | | enterpriseId?: string; |
| | | } |
| | | |
| | | interface GetParkBountyTradeDetailOutput { |
| | | /** 最近出账金额 */ |
| | | tradeAmount?: number; |
| | | /** 出账凭证 */ |
| | | payFileUrl?: string; |
| | | /** 消费类型 */ |
| | | payRemark?: string; |
| | | /** 出账时间 */ |
| | | tradeTime?: string; |
| | | /** 奖励金余额 */ |
| | | remianAmount?: number; |
| | | } |
| | | |
| | | interface GetParkBountyTradeDetailOutputPageOutput { |
| | | pageModel?: Pagination; |
| | | objectData?: any; |
| | | data?: GetParkBountyTradeDetailOutput[]; |
| | | } |
| | | |
| | | interface GetParkBountyTradeInput { |
| | | pageModel?: Pagination; |
| | | /** 企业名/信用代码 */ |
| | | searchKeyWord?: string; |
| | | /** 申请起始日期 */ |
| | | creationTimeBegin?: string; |
| | | /** 申请结束日期 */ |
| | | creationTimeEnd?: string; |
| | | /** 出账起始日期 */ |
| | | transferTimeBegin?: string; |
| | | /** 出账结束日期 */ |
| | | transferTimeEnd?: string; |
| | | } |
| | | |
| | | interface GetParkBountyTradeOutput { |
| | | /** 账号 */ |
| | | userName?: string; |
| | | /** 企业名称 */ |
| | | enterpriseName?: string; |
| | | /** 电话 */ |
| | | contactPhone?: string; |
| | | /** 社会统一信用代码 */ |
| | | societyCreditCode?: string; |
| | | authType?: EnterpriseTypeEnum; |
| | | /** 最近出账金额 */ |
| | | tradeAmount?: number; |
| | | /** 出账时间 */ |
| | | tradeTime?: string; |
| | | /** 奖励金余额 */ |
| | | remianAmount?: number; |
| | | /** 申请园区 */ |
| | | parkName?: string; |
| | | /** 申请园区类型 */ |
| | | parkTypeName?: string; |
| | | } |
| | | |
| | | interface GetParkBountyTradeOutputPageOutput { |
| | | pageModel?: Pagination; |
| | | objectData?: any; |
| | | data?: GetParkBountyTradeOutput[]; |
| | | } |
| | | |
| | | interface GetParkCustomerBountyApplyOutput { |
| | |
| | | remianAmount?: number; |
| | | /** 凭证 */ |
| | | payFileUrl?: string; |
| | | payFileUrls?: string[]; |
| | | } |
| | | |
| | | interface GetParkCustomerBountyConsumptionOutputPageOutput { |
| | |
| | | id?: string; |
| | | /** 园区名称 */ |
| | | parkName?: string; |
| | | /** 园区类型 */ |
| | | parkTypeId?: string; |
| | | /** 园区类型名称 */ |
| | | parkTypeName?: string; |
| | | } |
| | | |
| | | interface IndustrialParkListOutput { |
| | |
| | | requestId?: string; |
| | | } |
| | | |
| | | interface OutCheckParkBountyApplyBaseInfo { |
| | | /** 申请批次号 */ |
| | | batchNo?: string; |
| | | /** 申请园区Id */ |
| | | parkId?: string; |
| | | /** 申请园区 */ |
| | | parkName?: string; |
| | | /** 申请园区类型 */ |
| | | parkTypeName?: string; |
| | | /** 申请奖励金月份 */ |
| | | applyMonth?: string; |
| | | /** 奖励金汇总金额 */ |
| | | applySumAmount?: number; |
| | | /** 汇总明细表 */ |
| | | enterpriseTaxSubFileUrl?: string; |
| | | /** 企业营收汇总表 */ |
| | | enterpriseOperateFileUrl?: string; |
| | | /** 奖励金分配表 */ |
| | | bountyAssignFileUlr?: string; |
| | | /** 奖励金汇总表 */ |
| | | bountyCollectFileUrl?: string; |
| | | outCheckStatus?: BountyCheckStatusEnum; |
| | | /** 外部审核原因 */ |
| | | outCheckRemark?: string; |
| | | } |
| | | |
| | | interface OutcheckParkBountyApplyInput { |
| | | parkBountyApplyId?: string; |
| | | outCheckStatus?: BountyCheckStatusEnum; |
| | | /** 备注 */ |
| | | remark?: string; |
| | | } |
| | | |
| | | interface PageInput { |
| | | pageModel?: Pagination; |
| | | } |
| | |
| | | interface ParkBountyApplyDetailInfo { |
| | | parkBountyApplyId?: string; |
| | | enterpriseId?: string; |
| | | userName?: string; |
| | | /** 企业名称 */ |
| | | enterpriseName?: string; |
| | | /** 基本户信息 */ |
| | |
| | | /** C端个税完税情况说明 */ |
| | | personTaxRatePayUrl?: string; |
| | | authType?: EnterpriseTypeEnum; |
| | | /** 企业类型 10人力资源公司 20甲方企业 30行业配套 40行业机构 */ |
| | | type?: number; |
| | | /** 银行信息号是否已完善 */ |
| | | bankIsVerify?: boolean; |
| | | /** 企业信息是否已完善 */ |
| | |
| | | enterpriseIsVerify?: boolean; |
| | | /** 所属园区 */ |
| | | industrialParkId?: string; |
| | | /** 最近申报开始日期 */ |
| | | lastApplyBeginTime?: string; |
| | | /** 最近申报结束日期 */ |
| | | lastApplyEndTime?: string; |
| | | lastPayBeginTime?: string; |
| | | /** 最近发放结束日期 */ |
| | | lastPayEndTime?: string; |
| | | } |
| | | |
| | | interface QueryParkOrHRAuditPageInput { |
| | |
| | | id?: string; |
| | | } |
| | | |
| | | interface UpdateGovermentClientUserInput { |
| | | /** 名称 */ |
| | | name?: string; |
| | | /** 用户名 */ |
| | | userName?: string; |
| | | /** 备注 */ |
| | | remark?: string; |
| | | /** 手机号 */ |
| | | phoneNumber?: string; |
| | | /** 角色 */ |
| | | roleNames?: string[]; |
| | | /** 密码 */ |
| | | password?: string; |
| | | /** 用户Id */ |
| | | id?: string; |
| | | } |
| | | |
| | | interface UpdateIndustrialParkInput { |
| | | /** 园区名称 */ |
| | | parkName: string; |
| | |
| | | defineOperationBtns, |
| | | } from '@bole-core/components'; |
| | | import * as userRoleServices from '@/services/api/UserRole'; |
| | | import * as accountServices from '@/services/api/Account'; |
| | | import { Message, OrderInputType } from '@bole-core/core'; |
| | | import AddOrEditAccountDialog from './components/AddOrEditAccountDialog.vue'; |
| | | import ResetPasswordDialog from './components/ResetPasswordDialog.vue'; |
| | |
| | | const column: API.CustomModuleColumnDto[] = [ |
| | | { |
| | | id: '1', |
| | | enCode: 'changeFlag', |
| | | enCode: 'userName', |
| | | name: '账号', |
| | | }, |
| | | { |
| | |
| | | }, |
| | | { |
| | | id: '3', |
| | | enCode: 'idNumber', |
| | | enCode: 'phoneNumber', |
| | | name: '手机号', |
| | | }, |
| | | { |
| | | id: '4', |
| | | enCode: 'workType', |
| | | enCode: 'remark', |
| | | name: '备注', |
| | | }, |
| | | ]; |
| | |
| | | name: '重置密码', |
| | | }, |
| | | emits: { |
| | | onClick: (role) => handleResetPasswordAdd(), |
| | | onClick: (role) => openResetPasswordDialog(role), |
| | | }, |
| | | }, |
| | | ]); |
| | |
| | | }); |
| | | |
| | | async function handleAddOrEdit() { |
| | | // try { |
| | | // let isEdit = !!editForm.id; |
| | | // let params: API.CreateAccountInput = { |
| | | // name: editForm.name, |
| | | // userName: editForm.userName, |
| | | // remark: editForm.remark, |
| | | // password: editForm.password, |
| | | // phoneNumber: editForm.phoneNumber, |
| | | // channel: editForm.channel, |
| | | // // clientId: RoleClientType.RoleBackendClientId, |
| | | // roleNames: [editForm.roleName], |
| | | // }; |
| | | // let res; |
| | | // if (isEdit) { |
| | | // (params as API.UpdateAccountInput).id = editForm.id; |
| | | // res = await accountServices.updateAccount(params); |
| | | // } else { |
| | | // res = await accountServices.createAccount(params); |
| | | // } |
| | | // if (res) { |
| | | // Message.successMessage('操作成功'); |
| | | // getList(isEdit ? paginationState.pageIndex : 1); |
| | | // } |
| | | // } catch (error) {} |
| | | try { |
| | | let isEdit = !!editForm.id; |
| | | let params: API.CreateAccountInput = { |
| | | name: editForm.name, |
| | | userName: editForm.userName, |
| | | remark: editForm.remark, |
| | | phoneNumber: editForm.phoneNumber, |
| | | }; |
| | | let res; |
| | | if (isEdit) { |
| | | (params as API.UpdateGovermentClientUserInput).id = editForm.id; |
| | | res = await userRoleServices.updateGovermentClientUser(params); |
| | | } else { |
| | | (params as API.CreateGoverUserInput).password = editForm.password; |
| | | res = await userRoleServices.createGovermentClientUser(params); |
| | | } |
| | | if (res) { |
| | | Message.successMessage('操作成功'); |
| | | getList(isEdit ? paginationState.pageIndex : 1); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | |
| | | const { |
| | |
| | | handleAdd: handleResetPasswordAdd, |
| | | editForm: resetPasswordEditForm, |
| | | } = useFormDialog({ |
| | | onConfirm: handleAddOrEdit, |
| | | onConfirm: resetPassword, |
| | | defaultFormParams: { |
| | | id: '', |
| | | userId: '', |
| | | password: '', |
| | | }, |
| | | }); |
| | | |
| | | function openResetPasswordDialog(row: API.UserDto) { |
| | | handleResetPasswordAdd({ |
| | | userId: row.id, |
| | | password: '', |
| | | }); |
| | | } |
| | | |
| | | async function resetPassword() { |
| | | try { |
| | | let params: API.ResetPasswordBaseInput = { |
| | | userId: resetPasswordEditForm.userId, |
| | | password: resetPasswordEditForm.password, |
| | | }; |
| | | let res = await accountServices.resetPassword(params); |
| | | if (res) { |
| | | Message.successMessage('操作成功'); |
| | | getList(paginationState.pageIndex); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | </script> |
| | |
| | | <ProFormText placeholder="请输入手机号" v-model.trim="form.phoneNumber"></ProFormText> |
| | | </ProFormItemV2> |
| | | <ProFormItemV2 |
| | | v-if="isEdit" |
| | | v-if="!isEdit" |
| | | label="密码:" |
| | | prop="password" |
| | | :check-rules="[{ message: '请输入密码', required: !form.id }]" |
| | |
| | | :width="800" |
| | | > |
| | | <ProForm :model="form" ref="dialogForm" label-width="120px"> |
| | | <ProFormItemV2 |
| | | label="密码:" |
| | | prop="password" |
| | | :check-rules="[{ message: '请输入密码', required: !form.id }]" |
| | | > |
| | | <ProFormItemV2 label="密码:" prop="password" :check-rules="[{ message: '请输入密码' }]"> |
| | | <ProFormText |
| | | placeholder="请输入密码" |
| | | v-model.trim="form.password" |
| | |
| | | |
| | | type Form = { |
| | | title?: string; |
| | | id: string; |
| | | userId: string; |
| | | password: string; |
| | | }; |
| | | |
| | |
| | | <template #query> |
| | | <QueryFilterItem tip-content="最近申报日期"> |
| | | <FieldDatePicker |
| | | v-model="extraParamState.date" |
| | | v-model="extraParamState.lastApplyTime" |
| | | type="daterange" |
| | | range-separator="~" |
| | | start-placeholder="开始日期" |
| | |
| | | </QueryFilterItem> |
| | | <QueryFilterItem tip-content="最近发放日期"> |
| | | <FieldDatePicker |
| | | v-model="extraParamState.date" |
| | | v-model="extraParamState.lastPayTime" |
| | | type="daterange" |
| | | range-separator="~" |
| | | start-placeholder="开始日期" |
| | |
| | | </QueryFilterItem> |
| | | <QueryFilterItem> |
| | | <SearchInput |
| | | v-model="extraParamState.keyword" |
| | | v-model="extraParamState.keywords" |
| | | style="width: 300px" |
| | | placeholder="企业名/统一信用代码" |
| | | @on-click-search="getList" |
| | |
| | | page: pageIndex, |
| | | orderInput: extraParamState.orderInput, |
| | | }, |
| | | publishStartDate: format(extraParamState.date?.[0] ?? '', 'YYYY-MM-DD 00:00:00'), |
| | | publishEndDate: format(extraParamState.date?.[1] ?? '', 'YYYY-MM-DD 23:59:59'), |
| | | keywords: extraParamState.keywords, |
| | | lastApplyBeginTime: format(extraParamState.lastApplyTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'), |
| | | lastApplyEndTime: format(extraParamState.lastApplyTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'), |
| | | lastPayBeginTime: format(extraParamState.lastPayTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'), |
| | | lastPayEndTime: format(extraParamState.lastPayTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'), |
| | | }; |
| | | let res = await parkBountyApplyServices.getParkCustomerManagePage(params, { |
| | | showLoading: !state.loading, |
| | |
| | | }, |
| | | { |
| | | defaultExtraParams: { |
| | | keyword: '', |
| | | date: [] as unknown as ModelValueType, |
| | | orderInput: [{ property: 'creationTime', order: OrderInputType.Desc }], |
| | | keywords: '', |
| | | lastApplyTime: [] as unknown as ModelValueType, |
| | | lastPayTime: [] as unknown as ModelValueType, |
| | | orderInput: [{ property: 'id', order: OrderInputType.Desc }], |
| | | }, |
| | | columnsRenderProps: { |
| | | lastApplyTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' }, |
| | |
| | | } |
| | | ); |
| | | |
| | | function goDetail(row: any) { |
| | | function goDetail(row: API.GetParkCustomerManageOutput) { |
| | | router.push({ |
| | | name: 'EnterpriseInfoDetail', |
| | | params: { |
| | |
| | | } |
| | | ); |
| | | |
| | | async function goDetail(row: API.InsureBatchBillDto) { |
| | | async function goDetail(row: API.GetParkCustomerBountyApplyOutput) { |
| | | router.push({ |
| | | name: '', |
| | | name: 'MaterialReviewDetail', |
| | | params: { |
| | | id: row.id, |
| | | }, |
| | | }); |
| | | } |
| | | |
| | |
| | | <ChunkCell title="待处理"> |
| | | <div class="data-board-card-list"> |
| | | <DataBoardCard title="待审核企业" :contentBetween="true"> |
| | | <DataBoardCardPrice :value="20000" :isInline="true" :useThousand="false" unit="家" /> |
| | | <DataBoardCardPrice |
| | | :value="detail?.waitCheckEnterpriseNumber ?? 0" |
| | | :isInline="true" |
| | | :useThousand="false" |
| | | unit="家" |
| | | /> |
| | | <el-button type="primary" link @click="goToAudit">去审核</el-button> |
| | | </DataBoardCard> |
| | | <DataBoardCard title="奖励金待发放" :contentBetween="true"> |
| | | <DataBoardCardPrice :isInline="true" :value="20000" :useThousand="false" unit="家" /> |
| | | <DataBoardCardPrice |
| | | :isInline="true" |
| | | :value="detail?.waitForSettleRewardNumber ?? 0" |
| | | :useThousand="false" |
| | | unit="家" |
| | | /> |
| | | <el-button type="primary" link @click="goToGrant">去发放</el-button> |
| | | </DataBoardCard> |
| | | </div> |
| | |
| | | <ChunkCell title="数据看板"> |
| | | <div class="data-board-card-list"> |
| | | <DataBoardCard title="累计已审核企业"> |
| | | <DataBoardCardPrice :value="20000" :useThousand="false" unit="家" /> |
| | | <DataBoardCardPrice |
| | | :value="detail?.accumulatedCheckEnterpriseNumber ?? 0" |
| | | :useThousand="false" |
| | | unit="家" |
| | | /> |
| | | </DataBoardCard> |
| | | <DataBoardCard title="累计已审核通过企业"> |
| | | <DataBoardCardPrice :value="20000" :useThousand="false" unit="家" /> |
| | | <DataBoardCardPrice |
| | | :value="detail?.accumulatedCheckPassEnterpriseNumber ?? 0" |
| | | :useThousand="false" |
| | | unit="家" |
| | | /> |
| | | </DataBoardCard> |
| | | <DataBoardCard title="累计未审核通过企业"> |
| | | <DataBoardCardPrice :value="20000" :useThousand="false" unit="家" /> |
| | | <DataBoardCardPrice |
| | | :value="detail?.accumulatedCheckRejectEnterpriseNumber ?? 0" |
| | | :useThousand="false" |
| | | unit="家" |
| | | /> |
| | | </DataBoardCard> |
| | | <DataBoardCard title="累计已发放奖励金"> |
| | | <DataBoardCardPrice :value="20000" unit="元" /> |
| | | <DataBoardCardPrice :value="detail?.accumulatedHasSettleRewardAmount ?? 0" unit="元" /> |
| | | </DataBoardCard> |
| | | <DataBoardCard title="累计待发放奖励金"> |
| | | <DataBoardCardPrice :value="20000" unit="元" /> |
| | | <DataBoardCardPrice |
| | | :value="detail?.accumulatedWaitForSettleRewardAmount ?? 0" |
| | | unit="元" |
| | | /> |
| | | </DataBoardCard> |
| | | <DataBoardCard title="累计已使用奖励金"> |
| | | <DataBoardCardPrice :value="20000" unit="元" /> |
| | | <DataBoardCardPrice :value="detail?.accumulatedUsedRewardAmount ?? 0" unit="元" /> |
| | | </DataBoardCard> |
| | | </div> |
| | | </ChunkCell> |
| | |
| | | import { AppContainer, ChunkCell } from '@bole-core/components'; |
| | | import DataBoardCard from '@/components/DataBoardCard/DataBoardCard.vue'; |
| | | import DataBoardCardPrice from '@/components/DataBoardCard/DataBoardCardPrice.vue'; |
| | | import * as parkBountyApplyServices from '@/services/api/ParkBountyApply'; |
| | | import { useQuery, useQueryClient } from '@tanstack/vue-query'; |
| | | |
| | | defineOptions({ |
| | | name: 'Home', |
| | | }); |
| | | |
| | | const router = useRouter(); |
| | | const isLoading = ref(false); |
| | | |
| | | const { data: detail, isLoading } = useQuery({ |
| | | queryKey: ['parkBountyApplyServices/getGoverDataBoard'], |
| | | queryFn: async () => { |
| | | return await parkBountyApplyServices.getGoverDataBoard({ |
| | | showLoading: false, |
| | | }); |
| | | }, |
| | | placeholderData: () => ({} as API.GetGoverDataBoardOutput), |
| | | }); |
| | | |
| | | function goToAudit() { |
| | | router.push({ |
| | | name: 'MaterialReviewList', |
| | |
| | | name: 'RewardGrant', |
| | | }); |
| | | } |
| | | |
| | | const queryClient = useQueryClient(); |
| | | |
| | | onMounted(async () => { |
| | | await queryClient.ensureQueryData({ |
| | | queryKey: ['parkBountyApplyServices/getGoverDataBoard'], |
| | | }); |
| | | }); |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | |
| | | await userStore.loginByUsername({ |
| | | userName: unref(user), |
| | | userPassword: unref(pwd), |
| | | clientId: 'goverend-admin-app-client', |
| | | }); |
| | | loading.value = false; |
| | | router.push({ |
| | |
| | | <AppContainer> |
| | | <ProTableQueryFilterBar @on-reset="reset"> |
| | | <template #query> |
| | | <QueryFilterItem tip-content="最近申报日期"> |
| | | <QueryFilterItem tip-content="申报日期"> |
| | | <FieldDatePicker |
| | | v-model="extraParamState.date" |
| | | v-model="extraParamState.creationTime" |
| | | type="daterange" |
| | | range-separator="~" |
| | | start-placeholder="开始日期" |
| | |
| | | @change="getList()" |
| | | ></FieldDatePicker> |
| | | </QueryFilterItem> |
| | | <QueryFilterItem tip-content="最近发放日期"> |
| | | <QueryFilterItem tip-content="审核日期"> |
| | | <FieldDatePicker |
| | | v-model="extraParamState.date" |
| | | v-model="extraParamState.outCheckTime" |
| | | type="daterange" |
| | | range-separator="~" |
| | | start-placeholder="开始日期" |
| | |
| | | </QueryFilterItem> |
| | | <QueryFilterItem> |
| | | <FieldRadio |
| | | v-model="extraParamState.showStatus" |
| | | :value-enum="DataRangeEnumText" |
| | | v-model="extraParamState.outCheckStatus" |
| | | :value-enum="BountyCheckStatusEnumText" |
| | | buttonStyle |
| | | showAllBtn |
| | | @change="getList()" |
| | |
| | | </QueryFilterItem> |
| | | <QueryFilterItem> |
| | | <SearchInput |
| | | v-model="extraParamState.keyword" |
| | | v-model="extraParamState.batchNo" |
| | | style="width: 200px" |
| | | placeholder="批次号" |
| | | @on-click-search="getList" |
| | |
| | | } from '@bole-core/components'; |
| | | import { OrderInputType } from '@bole-core/core'; |
| | | import { format } from '@/utils'; |
| | | import { DataRangeEnum, DataRangeEnumText } from '@/constants'; |
| | | import * as informationServices from '@/services/api/Information'; |
| | | import { BountyCheckStatusEnum, BountyCheckStatusEnumText, DataRangeEnumText } from '@/constants'; |
| | | import * as parkBountyApplyServices from '@/services/api/ParkBountyApply'; |
| | | import _ from 'lodash'; |
| | | import { ModelValueType } from 'element-plus'; |
| | | import { useGlobalEventContext } from '@/hooks'; |
| | |
| | | const column: API.CustomModuleColumnDto[] = [ |
| | | { |
| | | id: '1', |
| | | enCode: 'changeFlag', |
| | | enCode: 'batchNo', |
| | | name: '申请批次号', |
| | | }, |
| | | { |
| | | id: '2', |
| | | enCode: 'name', |
| | | enCode: 'parkName', |
| | | name: '申请园区', |
| | | }, |
| | | { |
| | | id: '3', |
| | | enCode: 'idNumber', |
| | | enCode: 'parkTypeName', |
| | | name: '园区类型', |
| | | }, |
| | | { |
| | | id: '4', |
| | | enCode: 'workType', |
| | | enCode: 'applyMonth', |
| | | name: '申请奖励金月份', |
| | | }, |
| | | { |
| | | id: '5', |
| | | enCode: 'gender', |
| | | enCode: 'applySumAmount', |
| | | name: '奖励金汇总金额(元)', |
| | | }, |
| | | { |
| | | id: '6', |
| | | enCode: 'age', |
| | | enCode: 'creationTime', |
| | | name: '申报日期', |
| | | }, |
| | | { |
| | | id: '7', |
| | | enCode: 'birthDay', |
| | | enCode: 'outCheckTime', |
| | | name: '审核日期', |
| | | }, |
| | | { |
| | | id: '8', |
| | | enCode: 'phoneNumber', |
| | | enCode: 'outCheckStatus', |
| | | name: '审核状态', |
| | | }, |
| | | ]; |
| | |
| | | }, |
| | | emits: { |
| | | onClick: (role) => goAudit(role), |
| | | }, |
| | | extraProps: { |
| | | hide: (row: API.GetParkBountyApplyListOutput) => |
| | | row.outCheckStatus !== BountyCheckStatusEnum.WaitCheck, |
| | | }, |
| | | }, |
| | | ]); |
| | |
| | | } = useTable( |
| | | async ({ pageIndex, pageSize }, extraParamState) => { |
| | | try { |
| | | let params: API.GetInformationForManageInput = { |
| | | let params: API.GetParkBountyApplyListInput = { |
| | | pageModel: { |
| | | rows: pageSize, |
| | | page: pageIndex, |
| | | orderInput: extraParamState.orderInput, |
| | | }, |
| | | publishStartDate: format(extraParamState.date?.[0] ?? '', 'YYYY-MM-DD 00:00:00'), |
| | | publishEndDate: format(extraParamState.date?.[1] ?? '', 'YYYY-MM-DD 23:59:59'), |
| | | batchNo: extraParamState.batchNo, |
| | | outCheckStatus: extraParamState.outCheckStatus, |
| | | creationTimeBegin: format(extraParamState.creationTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'), |
| | | creationTimeEnd: format(extraParamState.creationTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'), |
| | | outCheckTimeBegin: format(extraParamState.outCheckTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'), |
| | | outCheckTimeEnd: format(extraParamState.outCheckTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'), |
| | | }; |
| | | let res = await informationServices.getInformationForManage(params, { |
| | | let res = await parkBountyApplyServices.getOutcheckParkBountyList(params, { |
| | | showLoading: !state.loading, |
| | | }); |
| | | return res; |
| | |
| | | }, |
| | | { |
| | | defaultExtraParams: { |
| | | keyword: '', |
| | | showStatus: '' as any as DataRangeEnum, |
| | | date: [] as unknown as ModelValueType, |
| | | batchNo: '', |
| | | outCheckStatus: '' as any as BountyCheckStatusEnum, |
| | | creationTime: [] as unknown as ModelValueType, |
| | | outCheckTime: [] 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' }, |
| | | outCheckTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' }, |
| | | applySumAmount: { type: 'money', precision: 2 }, |
| | | outCheckStatus: { type: 'enum', valueEnum: BountyCheckStatusEnumText }, |
| | | }, |
| | | } |
| | | ); |
| | | |
| | | function goDetail(row: any) { |
| | | function goDetail(row: API.GetParkBountyApplyListOutput) { |
| | | router.push({ |
| | | name: 'MaterialReviewDetail', |
| | | params: { |
| | |
| | | }, |
| | | }); |
| | | } |
| | | function goAudit(row: any) { |
| | | function goAudit(row: API.GetParkBountyApplyListOutput) { |
| | | router.push({ |
| | | name: 'MaterialReviewAudit', |
| | | params: { |
| | |
| | | <PageFormLayout title="材料审核"> |
| | | <DetailView :form="form" :has-form="true"> |
| | | <ChunkCellV2 title="申报企业名单" class="chunk-cell-table"> |
| | | <DeclareEnterpriseTableView ref="tableRef"></DeclareEnterpriseTableView> |
| | | <DeclareEnterpriseTableView |
| | | :getList="getList" |
| | | :extra-param-state="extraParamState" |
| | | :pro-table-props="proTableProps" |
| | | :reset="reset" |
| | | ></DeclareEnterpriseTableView> |
| | | </ChunkCellV2> |
| | | <ChunkCell> |
| | | <ProForm :model="form" ref="formRef" label-width="120px"> |
| | |
| | | prop="status" |
| | | :check-rules="[{ message: '请选择审核状态' }]" |
| | | > |
| | | <ProFormRadio v-model="form.status" :value-enum="DataRangeEnumText" /> |
| | | <ProFormRadio |
| | | v-model="form.status" |
| | | :value-enum="BountyCheckStatusEnumTextForAudit" |
| | | /> |
| | | </ProFormItemV2> |
| | | </ProFormColItem> |
| | | </ProFormCol> |
| | | <ProFormCol> |
| | | <ProFormCol v-if="form.status === BountyCheckStatusEnum.CheckReject"> |
| | | <ProFormColItem> |
| | | <ProFormItemV2 label="驳回原因:" prop="remark"> |
| | | <ProFormItemV2 |
| | | label="驳回原因:" |
| | | prop="remark" |
| | | :check-rules="[{ message: '请输入驳回原因' }]" |
| | | > |
| | | <ProFormTextArea |
| | | v-model="form.remark" |
| | | placeholder="请输入" |
| | |
| | | LoadingLayout, |
| | | UploadUserFile, |
| | | PageFormLayout, |
| | | useTable, |
| | | } from '@bole-core/components'; |
| | | import { DataRangeEnum, DataRangeEnumText } from '@/constants'; |
| | | import { |
| | | AuthTypeText, |
| | | BountyCheckStatusEnum, |
| | | BountyCheckStatusEnumTextForAudit, |
| | | } from '@/constants'; |
| | | import ChunkCellV2 from '@/components/Layout/ChunkCellV2.vue'; |
| | | import DetailView from '@/components/commonView/DetailView.vue'; |
| | | import DeclareEnterpriseTableView from '@/components/commonView/DeclareEnterpriseTableView.vue'; |
| | | import { useQuery } from '@tanstack/vue-query'; |
| | | import * as parkBountyApplyServices from '@/services/api/ParkBountyApply'; |
| | | import { convertApi2FormUrlOnlyOne } from '@/utils'; |
| | | import { useRouteView } from '@/hooks'; |
| | | import { convertApi2FormUrlOnlyOne, setOSSLink } from '@/utils'; |
| | | import { useGlobalEventContext, useRouteView } from '@/hooks'; |
| | | import { FormInstance } from 'element-plus'; |
| | | import { Message, OrderInputType } from '@bole-core/core'; |
| | | |
| | | defineOptions({ |
| | | name: 'MaterialReviewAudit', |
| | | }); |
| | | |
| | | const route = useRoute(); |
| | | const eventContext = useGlobalEventContext(); |
| | | const { closeViewPush } = useRouteView(); |
| | | const id = route.params?.id as string; |
| | | const form = reactive({ |
| | |
| | | bountyAssignFileUlr: [] as UploadUserFile[], |
| | | bountyCollectFileUrl: [] as UploadUserFile[], |
| | | |
| | | status: '' as any as DataRangeEnum, |
| | | status: '' as any as BountyCheckStatusEnum, |
| | | remark: '', |
| | | }); |
| | | |
| | | const tableRef = ref<InstanceType<typeof DeclareEnterpriseTableView>>(); |
| | | |
| | | const { data: detail, isLoading } = useQuery({ |
| | | queryKey: ['parkBountyApplyServices/getParkBountyApplyDetail', id], |
| | | queryKey: ['parkBountyApplyServices/getOutCheckParkBountyApplyDetailBaseInfo', id], |
| | | queryFn: async () => { |
| | | return await parkBountyApplyServices.getParkBountyApplyDetailBaseInfo( |
| | | return await parkBountyApplyServices.getOutCheckParkBountyApplyDetailBaseInfo( |
| | | { parkBountyApplyId: id }, |
| | | { |
| | | showLoading: false, |
| | |
| | | form.bountyAssignFileUlr = convertApi2FormUrlOnlyOne(data?.bountyAssignFileUlr); |
| | | form.bountyCollectFileUrl = convertApi2FormUrlOnlyOne(data?.bountyCollectFileUrl); |
| | | |
| | | tableRef.value?.getList(); |
| | | getList(); |
| | | }, |
| | | }); |
| | | |
| | | const { |
| | | getDataSource: getList, |
| | | proTableProps, |
| | | paginationState, |
| | | extraParamState, |
| | | reset, |
| | | } = useTable( |
| | | async ({ pageIndex, pageSize }, extraParamState) => { |
| | | try { |
| | | let params: API.GetParkBountyApplyInfoInput = { |
| | | pageModel: { |
| | | rows: pageSize, |
| | | page: pageIndex, |
| | | orderInput: extraParamState.orderInput, |
| | | }, |
| | | searchKeyWord: extraParamState.searchKeyWord, |
| | | parkBountyApplyId: id, |
| | | }; |
| | | let res = await parkBountyApplyServices.getOutCheckParkBountyApplyDetailList(params); |
| | | return res; |
| | | } catch (error) {} |
| | | }, |
| | | { |
| | | defaultExtraParams: { |
| | | orderInput: [{ property: 'enterpriseId', order: OrderInputType.Desc }], |
| | | searchKeyWord: '', |
| | | }, |
| | | columnsRenderProps: { |
| | | authType: { type: 'enum', valueEnum: AuthTypeText }, |
| | | licenseUrl: { |
| | | type: 'url', |
| | | formatter: (row: API.UserCertificationAuditListDto) => setOSSLink(row.licenseUrl), |
| | | modal: true, |
| | | showDownloadBtn: false, |
| | | }, |
| | | }, |
| | | } |
| | | ); |
| | | |
| | | function handleBack() { |
| | | closeViewPush(route, { |
| | |
| | | }); |
| | | } |
| | | |
| | | function confirm() {} |
| | | async function confirm() { |
| | | try { |
| | | let params: API.OutcheckParkBountyApplyInput = { |
| | | parkBountyApplyId: id, |
| | | outCheckStatus: form.status, |
| | | remark: form.remark, |
| | | }; |
| | | let res = await parkBountyApplyServices.outcheckParkBountyApply(params); |
| | | if (res) { |
| | | Message.successMessage('操作成功'); |
| | | eventContext.emit('materialReviewAudit:audit'); |
| | | handleBack(); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | |
| | | <div class="page-form-layout-title"> |
| | | 申报详情 |
| | | <span class="page-form-layout-title-item status"> |
| | | {{ `审核状态:${form.categoryName}` }} |
| | | {{ `审核状态:${BountyCheckStatusEnumText[form.outCheckStatus]}` }} |
| | | </span> |
| | | <span class="page-form-layout-title-item remark"> |
| | | {{ `审核未通过原因:${form.categoryName}` }} |
| | | <span |
| | | v-if="form.outCheckStatus === BountyCheckStatusEnum.CheckReject" |
| | | class="page-form-layout-title-item remark" |
| | | > |
| | | {{ `审核未通过原因:${form.outCheckRemark ?? ''}` }} |
| | | </span> |
| | | </div> |
| | | </template> |
| | | <DetailView :form="form"> |
| | | <ChunkCellV2 title="申报企业名单"> |
| | | <DeclareEnterpriseTableView ref="tableRef"></DeclareEnterpriseTableView> |
| | | <DeclareEnterpriseTableView |
| | | :getList="getList" |
| | | :extra-param-state="extraParamState" |
| | | :pro-table-props="proTableProps" |
| | | :reset="reset" |
| | | ></DeclareEnterpriseTableView> |
| | | </ChunkCellV2> |
| | | </DetailView> |
| | | <template #footer> |
| | |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import { AppContainer, LoadingLayout, UploadUserFile, PageFormLayout } from '@bole-core/components'; |
| | | import { |
| | | AppContainer, |
| | | LoadingLayout, |
| | | UploadUserFile, |
| | | PageFormLayout, |
| | | useTable, |
| | | } from '@bole-core/components'; |
| | | import ChunkCellV2 from '@/components/Layout/ChunkCellV2.vue'; |
| | | import DetailView from '@/components/commonView/DetailView.vue'; |
| | | import DeclareEnterpriseTableView from '@/components/commonView/DeclareEnterpriseTableView.vue'; |
| | | import { useQuery } from '@tanstack/vue-query'; |
| | | import * as parkBountyApplyServices from '@/services/api/ParkBountyApply'; |
| | | import { convertApi2FormUrlOnlyOne } from '@/utils'; |
| | | import { convertApi2FormUrlOnlyOne, setOSSLink } from '@/utils'; |
| | | import { useRouteView } from '@/hooks'; |
| | | import { OrderInputType } from '@bole-core/core'; |
| | | import { AuthTypeText, BountyCheckStatusEnum, BountyCheckStatusEnumText } from '@/constants'; |
| | | |
| | | defineOptions({ |
| | | name: 'MaterialReviewDetail', |
| | |
| | | bountyAssignFileUlr: [] as UploadUserFile[], |
| | | bountyCollectFileUrl: [] as UploadUserFile[], |
| | | |
| | | categoryName: '', |
| | | outCheckStatus: '' as any as BountyCheckStatusEnum, |
| | | outCheckRemark: '', |
| | | }); |
| | | |
| | | const tableRef = ref<InstanceType<typeof DeclareEnterpriseTableView>>(); |
| | | |
| | | const { data: detail, isLoading } = useQuery({ |
| | | queryKey: ['parkBountyApplyServices/getParkBountyApplyDetail', id], |
| | | queryKey: ['parkBountyApplyServices/getOutCheckParkBountyApplyDetailBaseInfo', id], |
| | | queryFn: async () => { |
| | | return await parkBountyApplyServices.getParkBountyApplyDetailBaseInfo( |
| | | return await parkBountyApplyServices.getOutCheckParkBountyApplyDetailBaseInfo( |
| | | { parkBountyApplyId: id }, |
| | | { |
| | | showLoading: false, |
| | | } |
| | | ); |
| | | }, |
| | | placeholderData: () => ({} as API.ParkBountyApplyBaseInfo), |
| | | placeholderData: () => ({} as API.OutCheckParkBountyApplyBaseInfo), |
| | | onSuccess(data) { |
| | | form.batchNo = data.batchNo; |
| | | form.parkName = data.parkName; |
| | | form.parkTypeName = data.parkTypeName; |
| | | form.applyMonth = data.applyMonth; |
| | | form.applySumAmount = data.applySumAmount; |
| | | form.outCheckStatus = data.outCheckStatus; |
| | | form.outCheckRemark = data.outCheckRemark; |
| | | form.enterpriseTaxSubFileUrl = convertApi2FormUrlOnlyOne(data?.enterpriseTaxSubFileUrl); |
| | | form.enterpriseOperateFileUrl = convertApi2FormUrlOnlyOne(data?.enterpriseOperateFileUrl); |
| | | form.bountyAssignFileUlr = convertApi2FormUrlOnlyOne(data?.bountyAssignFileUlr); |
| | | form.bountyCollectFileUrl = convertApi2FormUrlOnlyOne(data?.bountyCollectFileUrl); |
| | | |
| | | tableRef.value?.getList(); |
| | | getList(); |
| | | }, |
| | | }); |
| | | |
| | | const { |
| | | getDataSource: getList, |
| | | proTableProps, |
| | | paginationState, |
| | | extraParamState, |
| | | reset, |
| | | } = useTable( |
| | | async ({ pageIndex, pageSize }, extraParamState) => { |
| | | try { |
| | | let params: API.GetParkBountyApplyInfoInput = { |
| | | pageModel: { |
| | | rows: pageSize, |
| | | page: pageIndex, |
| | | orderInput: extraParamState.orderInput, |
| | | }, |
| | | searchKeyWord: extraParamState.searchKeyWord, |
| | | parkBountyApplyId: id, |
| | | }; |
| | | let res = await parkBountyApplyServices.getOutCheckParkBountyApplyDetailList(params); |
| | | return res; |
| | | } catch (error) {} |
| | | }, |
| | | { |
| | | defaultExtraParams: { |
| | | orderInput: [{ property: 'enterpriseId', order: OrderInputType.Desc }], |
| | | searchKeyWord: '', |
| | | }, |
| | | columnsRenderProps: { |
| | | authType: { type: 'enum', valueEnum: AuthTypeText }, |
| | | licenseUrl: { |
| | | type: 'url', |
| | | formatter: (row: API.UserCertificationAuditListDto) => setOSSLink(row.licenseUrl), |
| | | modal: true, |
| | | showDownloadBtn: false, |
| | | }, |
| | | }, |
| | | } |
| | | ); |
| | | |
| | | function handleBack() { |
| | | closeViewPush(route, { |
| | | name: 'MaterialReviewList', |