| | |
| | | <template #query> |
| | | <QueryFilterItem tip-content="申报日期"> |
| | | <FieldDatePicker |
| | | v-model="extraParamState.date" |
| | | v-model="extraParamState.creationTime" |
| | | type="daterange" |
| | | range-separator="~" |
| | | start-placeholder="开始日期" |
| | |
| | | </QueryFilterItem> |
| | | <QueryFilterItem tip-content="发放日期"> |
| | | <FieldDatePicker |
| | | v-model="extraParamState.date" |
| | | v-model="extraParamState.settleTime" |
| | | type="daterange" |
| | | range-separator="~" |
| | | start-placeholder="开始日期" |
| | |
| | | </QueryFilterItem> |
| | | <QueryFilterItem> |
| | | <FieldRadio |
| | | v-model="extraParamState.showStatus" |
| | | :value-enum="DataRangeEnumText" |
| | | v-model="extraParamState.settleStatus" |
| | | :value-enum="SettleStatusEnumText" |
| | | buttonStyle |
| | | showAllBtn |
| | | @change="getList()" |
| | |
| | | </QueryFilterItem> |
| | | <QueryFilterItem> |
| | | <SearchInput |
| | | v-model="extraParamState.keyword" |
| | | v-model="extraParamState.batchNo" |
| | | style="width: 200px" |
| | | placeholder="批次号" |
| | | @on-click-search="getList" |
| | |
| | | |
| | | <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns"> |
| | | </ProTableV2> |
| | | |
| | | <RewardGrantDialog v-bind="dialogProps"></RewardGrantDialog> |
| | | </AppContainer> |
| | | </LoadingLayout> |
| | |
| | | FieldDatePicker, |
| | | useFormDialog, |
| | | UploadUserFile, |
| | | bolePreview, |
| | | } from '@bole-core/components'; |
| | | import { OrderInputType } from '@bole-core/core'; |
| | | import { convertApi2FormUrlOnlyOne, format } from '@/utils'; |
| | | import { DataRangeEnum, DataRangeEnumText } from '@/constants'; |
| | | import * as informationServices from '@/services/api/Information'; |
| | | import { SettleStatusEnum, SettleStatusEnumText } from '@/constants'; |
| | | import * as parkBountyApplyServices from '@/services/api/ParkBountyApply'; |
| | | import RewardGrantDialog from './components/RewardGrantDialog.vue'; |
| | | import _ from 'lodash'; |
| | | import { ModelValueType } from 'element-plus'; |
| | |
| | | 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: 'phoneNumber', |
| | | enCode: 'settleStatus', |
| | | name: '发放状态', |
| | | }, |
| | | { |
| | | id: '8', |
| | | enCode: 'phoneNumber', |
| | | enCode: 'settleTime', |
| | | name: '发放日期', |
| | | }, |
| | | ]; |
| | |
| | | } = 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, |
| | | settleStatus: extraParamState.settleStatus, |
| | | creationTimeBegin: format(extraParamState.creationTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'), |
| | | creationTimeEnd: format(extraParamState.creationTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'), |
| | | settleTimeBegin: format(extraParamState.settleTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'), |
| | | settleTimeEnd: format(extraParamState.settleTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'), |
| | | }; |
| | | let res = await informationServices.getInformationForManage(params, { |
| | | let res = await parkBountyApplyServices.getParkBountyApplyList(params, { |
| | | showLoading: !state.loading, |
| | | }); |
| | | return res; |
| | |
| | | }, |
| | | { |
| | | defaultExtraParams: { |
| | | keyword: '', |
| | | showStatus: '' as any as DataRangeEnum, |
| | | date: [] as unknown as ModelValueType, |
| | | batchNo: '', |
| | | settleStatus: '' as any as SettleStatusEnum, |
| | | creationTime: [] as unknown as ModelValueType, |
| | | settleTime: [] as unknown as ModelValueType, |
| | | orderInput: [{ property: 'creationTime', order: OrderInputType.Desc }], |
| | | }, |
| | | columnsRenderProps: { |
| | | creationTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' }, |
| | | settleTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' }, |
| | | applySumAmount: { type: 'money' }, |
| | | settleStatus: { type: 'enum', valueEnum: SettleStatusEnumText }, |
| | | }, |
| | | } |
| | | ); |
| | |
| | | } |
| | | |
| | | const { dialogProps, handleAdd, handleEdit, editForm } = useFormDialog({ |
| | | onConfirm: handleAddOrEdit, |
| | | defaultFormParams: { |
| | | id: '', |
| | | url: [] as UploadUserFile[], |
| | | parkBountyApplyId: '', |
| | | settleFileUrl: [] as UploadUserFile[], |
| | | }, |
| | | }); |
| | | |
| | | function openDialog(row?: API.IncentivePaymentsManageListOutput) { |
| | | function openDialog(row?: API.GetParkBountyApplyListOutput) { |
| | | handleEdit({ |
| | | id: row.enterpriseName, |
| | | url: convertApi2FormUrlOnlyOne(row.issueVouchersUrl), |
| | | parkBountyApplyId: row.id, |
| | | settleFileUrl: [] as UploadUserFile[], |
| | | }); |
| | | } |
| | | |
| | | function handlePreview(row?: API.IncentivePaymentsManageListOutput) {} |
| | | async function handleAddOrEdit() { |
| | | try { |
| | | let params: API.ParkBountyApplySettleInput = { |
| | | parkBountyApplyId: editForm.parkBountyApplyId, |
| | | settleFileUrl: editForm.settleFileUrl[0].path, |
| | | }; |
| | | let res = await parkBountyApplyServices.parkBountyApplySettle(params); |
| | | } catch (error) {} |
| | | } |
| | | |
| | | function handlePreview(row?: API.GetParkBountyApplyListOutput) { |
| | | bolePreview({ |
| | | fileUrl: row.parkName, |
| | | }); |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |