| | |
| | | component: () => import('@/views/MaterialReview/MaterialReview.vue'), |
| | | meta: { |
| | | rank: 10021, |
| | | title: '材料审核', |
| | | title: '材料初审', |
| | | // rootMenu: true, |
| | | icon: 'home', |
| | | }, |
| | |
| | | rootMenu: false, |
| | | }, |
| | | }, |
| | | { |
| | | path: '/MaterialReReviewList', |
| | | name: 'MaterialReReviewList', |
| | | hidden: false, |
| | | alwaysShow: true, |
| | | component: () => import('@/views/MaterialReview/MaterialReReviewList.vue'), |
| | | meta: { |
| | | rank: 10021, |
| | | title: '材料复审', |
| | | // rootMenu: true, |
| | | icon: 'home', |
| | | }, |
| | | }, |
| | | ], |
| | | }, |
| | | |
| | |
| | | ); |
| | | } |
| | | |
| | | /** 根据月份查询是否存在提交记录 GET /api/EnterpriseApplyFile/GetCustomerUploadFileRecord */ |
| | | /** 根据月份查询是否存在提交记录 POST /api/EnterpriseApplyFile/GetCustomerUploadFileRecord */ |
| | | export async function getCustomerUploadFileRecord( |
| | | // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) |
| | | params: API.APIgetCustomerUploadFileRecordParams, |
| | | body: API.GetCustomerUploadFileRecordInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<API.GetCustomerUploadFileRecordOutput>( |
| | | '/api/EnterpriseApplyFile/GetCustomerUploadFileRecord', |
| | | { |
| | | method: 'GET', |
| | | params: { |
| | | ...params, |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | } |
| | | ); |
| | |
| | | }); |
| | | } |
| | | |
| | | /** 政务端-材料审核-外部复审核 POST /api/ParkBountyApply/OutReCheckParkBountyApply */ |
| | | export async function outReCheckParkBountyApply( |
| | | body: API.OutReCheckParkBountyApplyInput, |
| | | options?: API.RequestConfig |
| | | ) { |
| | | return request<number>('/api/ParkBountyApply/OutReCheckParkBountyApply', { |
| | | method: 'POST', |
| | | headers: { |
| | | 'Content-Type': 'application/json', |
| | | }, |
| | | data: body, |
| | | ...(options || {}), |
| | | }); |
| | | } |
| | | |
| | | /** 批量财政入账 POST /api/ParkBountyApply/ParkBountyApplyBatchFinance */ |
| | | export async function parkBountyApplyBatchFinance( |
| | | body: API.ParkBountyApplyBatchFinanceInput, |
| | |
| | | templateId?: string; |
| | | } |
| | | |
| | | interface APIgetCustomerUploadFileRecordParams { |
| | | withMonth?: string; |
| | | } |
| | | |
| | | interface APIgetDefaultConnectionStringParams { |
| | | id?: string; |
| | | } |
| | |
| | | parkName?: string; |
| | | /** 附件 */ |
| | | items?: GetCustomerUploadApplyFilesOutput[]; |
| | | } |
| | | |
| | | interface GetCustomerUploadFileRecordInput { |
| | | withMonth?: string; |
| | | userId?: string; |
| | | } |
| | | |
| | | interface GetCustomerUploadFileRecordOutput { |
| | |
| | | extraListFiles?: CustomerUploadMonthApplyFileTypeDto[]; |
| | | } |
| | | |
| | | interface OutReCheckParkBountyApplyInput { |
| | | parkBountyApplyId?: string; |
| | | outReCheckStatus?: BountyCheckStatusEnum; |
| | | /** 备注 */ |
| | | remark?: string; |
| | | /** 总的额外补充材料 */ |
| | | extraListFiles?: CustomerUploadMonthApplyFileTypeDto[]; |
| | | } |
| | | |
| | | interface PagedListQueryPageModel { |
| | | /** 行数 */ |
| | | rows?: number; |
| New file |
| | |
| | | <template> |
| | | <LoadingLayout :loading="state.loading"> |
| | | <AppContainer> |
| | | <ProTableQueryFilterBar @on-reset="reset"> |
| | | <template #query> |
| | | <QueryFilterItem tip-content="申报日期"> |
| | | <FieldDatePicker |
| | | v-model="extraParamState.creationTime" |
| | | type="daterange" |
| | | range-separator="~" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | clearable |
| | | @change="getList()" |
| | | ></FieldDatePicker> |
| | | </QueryFilterItem> |
| | | <QueryFilterItem tip-content="审核日期"> |
| | | <FieldDatePicker |
| | | v-model="extraParamState.outCheckTime" |
| | | type="daterange" |
| | | range-separator="~" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | clearable |
| | | @change="getList()" |
| | | ></FieldDatePicker> |
| | | </QueryFilterItem> |
| | | <QueryFilterItem> |
| | | <FieldRadio |
| | | v-model="extraParamState.outCheckStatus" |
| | | :value-enum="BountyCheckStatusEnumText" |
| | | buttonStyle |
| | | showAllBtn |
| | | @change="getList()" |
| | | /> |
| | | </QueryFilterItem> |
| | | <QueryFilterItem> |
| | | <SearchInput |
| | | v-model="extraParamState.batchNo" |
| | | style="width: 200px" |
| | | placeholder="批次号" |
| | | @on-click-search="getList" |
| | | > |
| | | </SearchInput> |
| | | </QueryFilterItem> |
| | | </template> |
| | | </ProTableQueryFilterBar> |
| | | |
| | | <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns"> |
| | | </ProTableV2> |
| | | </AppContainer> |
| | | </LoadingLayout> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import { |
| | | LoadingLayout, |
| | | AppContainer, |
| | | useTable, |
| | | ProTableQueryFilterBar, |
| | | ProTableV2, |
| | | defineOperationBtns, |
| | | SearchInput, |
| | | FieldRadio, |
| | | QueryFilterItem, |
| | | FieldDatePicker, |
| | | } from '@bole-core/components'; |
| | | import { OrderInputType } from '@bole-core/core'; |
| | | import { format } from '@/utils'; |
| | | 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'; |
| | | |
| | | defineOptions({ |
| | | name: 'MaterialReviewList', |
| | | }); |
| | | |
| | | const column: API.CustomModuleColumnDto[] = [ |
| | | { |
| | | id: '1', |
| | | enCode: 'batchNo', |
| | | name: '申请批次号', |
| | | }, |
| | | { |
| | | id: '2', |
| | | enCode: 'parkName', |
| | | name: '申请园区', |
| | | }, |
| | | { |
| | | id: '3', |
| | | enCode: 'parkTypeName', |
| | | name: '园区类型', |
| | | }, |
| | | { |
| | | id: '4', |
| | | enCode: 'applyMonth', |
| | | name: '申请奖励金月份', |
| | | }, |
| | | { |
| | | id: '5', |
| | | enCode: 'applySumAmount', |
| | | name: '奖励金汇总金额(元)', |
| | | }, |
| | | { |
| | | id: '6', |
| | | enCode: 'creationTime', |
| | | name: '申报日期', |
| | | }, |
| | | { |
| | | id: '7', |
| | | enCode: 'outCheckAuditOperator', |
| | | name: '审核人', |
| | | }, |
| | | { |
| | | id: '8', |
| | | enCode: 'outCheckTime', |
| | | name: '审核日期', |
| | | }, |
| | | { |
| | | id: '9', |
| | | enCode: 'outCheckStatus', |
| | | name: '审核状态', |
| | | }, |
| | | ]; |
| | | |
| | | const operationBtns = defineOperationBtns([ |
| | | { |
| | | data: { |
| | | enCode: 'detailBtn', |
| | | name: '详情', |
| | | }, |
| | | emits: { |
| | | onClick: (role) => goDetail(role), |
| | | }, |
| | | }, |
| | | { |
| | | data: { |
| | | enCode: 'auditBtn', |
| | | name: '审核', |
| | | }, |
| | | emits: { |
| | | onClick: (role) => goAudit(role), |
| | | }, |
| | | extraProps: { |
| | | hide: (row: API.GetParkBountyApplyListOutput) => |
| | | row.outCheckStatus !== BountyCheckStatusEnum.WaitCheck, |
| | | }, |
| | | }, |
| | | ]); |
| | | |
| | | const router = useRouter(); |
| | | const BaseState = { |
| | | loading: true, |
| | | }; |
| | | |
| | | const state = reactive({ ...BaseState }); |
| | | |
| | | const eventContext = useGlobalEventContext(); |
| | | |
| | | eventContext.addEvent('materialReviewAudit:audit', () => { |
| | | getList(paginationState.pageIndex); |
| | | }); |
| | | |
| | | onMounted(async () => { |
| | | await getList(); |
| | | state.loading = false; |
| | | }); |
| | | |
| | | const { |
| | | getDataSource: getList, |
| | | proTableProps, |
| | | paginationState, |
| | | extraParamState, |
| | | reset, |
| | | } = useTable( |
| | | async ({ pageIndex, pageSize }, extraParamState) => { |
| | | try { |
| | | let params: API.GetParkBountyApplyListInput = { |
| | | pageModel: { |
| | | rows: pageSize, |
| | | page: pageIndex, |
| | | orderInput: extraParamState.orderInput, |
| | | }, |
| | | 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 parkBountyApplyServices.getOutcheckParkBountyList(params, { |
| | | showLoading: !state.loading, |
| | | }); |
| | | return res; |
| | | } catch (error) {} |
| | | }, |
| | | { |
| | | defaultExtraParams: { |
| | | 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: API.GetParkBountyApplyListOutput) { |
| | | router.push({ |
| | | name: 'MaterialReviewDetail', |
| | | params: { |
| | | id: row.id, |
| | | }, |
| | | }); |
| | | } |
| | | function goAudit(row: API.GetParkBountyApplyListOutput) { |
| | | router.push({ |
| | | name: 'MaterialReviewAudit', |
| | | params: { |
| | | id: row.id, |
| | | }, |
| | | }); |
| | | } |
| | | </script> |