zhengyiming
2025-11-14 b6dbab5e16957d2c75fd99efe1af1e7938bdca36
src/views/MaterialReview/MaterialReReviewList.vue
@@ -16,7 +16,7 @@
          </QueryFilterItem>
          <QueryFilterItem tip-content="审核日期">
            <FieldDatePicker
              v-model="extraParamState.outCheckTime"
              v-model="extraParamState.outReCheckTime"
              type="daterange"
              range-separator="~"
              start-placeholder="开始日期"
@@ -27,7 +27,7 @@
          </QueryFilterItem>
          <QueryFilterItem>
            <FieldRadio
              v-model="extraParamState.outCheckStatus"
              v-model="extraParamState.outReCheckStatus"
              :value-enum="BountyCheckStatusEnumText"
              buttonStyle
              showAllBtn
@@ -71,84 +71,32 @@
import * as parkBountyApplyServices from '@/services/api/ParkBountyApply';
import _ from 'lodash';
import { ModelValueType } from 'element-plus';
import { useGlobalEventContext } from '@/hooks';
import { useAccess, 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: '详情',
    },
const operationBtnMap: Record<string, OperationBtnType> = {
  detailBtn: {
    emits: {
      onClick: (role) => goDetail(role),
    },
  },
  {
    data: {
      enCode: 'auditBtn',
      name: '审核',
    },
  auditBtn: {
    emits: {
      onClick: (role) => goAudit(role),
    },
    extraProps: {
      hide: (row: API.GetParkBountyApplyListOutput) =>
        row.outCheckStatus !== BountyCheckStatusEnum.WaitCheck,
        row.outReCheckStatus !== BountyCheckStatusEnum.WaitCheck,
    },
  },
]);
};
const { checkSubModuleItemShow, column, operationBtns } = useAccess({
  operationBtnMap,
});
const router = useRouter();
const BaseState = {
@@ -184,11 +132,15 @@
          orderInput: extraParamState.orderInput,
        },
        batchNo: extraParamState.batchNo,
        outCheckStatus: extraParamState.outCheckStatus,
        outCheckStatus: BountyCheckStatusEnum.CheckPassed,
        outReCheckStatus: extraParamState.outReCheckStatus,
        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'),
        outReCheckTimeBegin: format(
          extraParamState.outReCheckTime?.[0] ?? '',
          'YYYY-MM-DD 00:00:00'
        ),
        outReCheckTimeEnd: format(extraParamState.outReCheckTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
      };
      let res = await parkBountyApplyServices.getOutcheckParkBountyList(params, {
        showLoading: !state.loading,
@@ -199,17 +151,19 @@
  {
    defaultExtraParams: {
      batchNo: '',
      outCheckStatus: '' as any as BountyCheckStatusEnum,
      outReCheckStatus: '' as any as BountyCheckStatusEnum,
      creationTime: [] as unknown as ModelValueType,
      outCheckTime: [] as unknown as ModelValueType,
      outReCheckTime: [] 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' },
      outReCheckTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' },
      applySumAmount: { type: 'money', precision: 2 },
      outCheckStatus: { type: 'enum', valueEnum: BountyCheckStatusEnumText },
      outReCheckStatus: { type: 'enum', valueEnum: BountyCheckStatusEnumText },
    },
  }
);
@@ -220,11 +174,14 @@
    params: {
      id: row.id,
    },
    query: {
      type: 'reReview',
    },
  });
}
function goAudit(row: API.GetParkBountyApplyListOutput) {
  router.push({
    name: 'MaterialReviewAudit',
    name: 'MaterialReReviewAudit',
    params: {
      id: row.id,
    },