wupengfei
8 小时以前 45383d3d3c35934e1986d89bf695afde04ba7d2d
src/views/EmploymentManage/StandardOrder.vue
@@ -4,14 +4,24 @@
      <ProTableQueryFilterBar @on-reset="reset">
        <template #query>
          <QueryFilterItem tip-content="预约状态">
            <FieldSelect v-model="extraParamState.status" :value-enum="[]" @change="getList()" />
            <FieldSelect
              v-model="extraParamState.appointmentStatus"
              :value-enum="EnumStandardOrderAppointmentStatusText"
              @change="getList()"
              clearable
            />
          </QueryFilterItem>
          <QueryFilterItem tip-content="订单状态">
            <FieldSelect v-model="extraParamState.status" :value-enum="[]" @change="getList()" />
            <FieldSelect
              v-model="extraParamState.payStatus"
              :value-enum="EnumStandardOrderPayStatusText"
              @change="getList()"
              clearable
            />
          </QueryFilterItem>
          <QueryFilterItem tip-content="下单时间">
            <FieldDatePicker
              v-model="extraParamState.time"
              v-model="extraParamState.createdTime"
              type="daterange"
              range-separator="~"
              start-placeholder="开始日期"
@@ -22,7 +32,7 @@
          </QueryFilterItem>
          <QueryFilterItem tip-content="支付时间">
            <FieldDatePicker
              v-model="extraParamState.time"
              v-model="extraParamState.payTime"
              type="daterange"
              range-separator="~"
              start-placeholder="开始日期"
@@ -51,22 +61,20 @@
<script setup lang="ts">
import {
  ProTableQueryFilterBar,
  OperationBtnType,
  ProTableV2,
  SearchInput,
  LoadingLayout,
  AppContainer,
  QueryFilterItem,
  useTable,
  FieldDatePicker,
  FieldSelect,
} from '@bole-core/components';
import { EnumTaskStatusText, EnumTaskReleaseStatusText } from '@/constants';
import { useGlobalEventContext } from '@/hooks';
import * as taskServices from '@/services/api/task';
import { format, OrderUtils } from '@/utils';
import { ModelValueType } from 'element-plus';
import { Message } from '@bole-core/core';
import dayjs from 'dayjs';
import { useAccess } from '@/hooks';
import {
  EnumStandardOrderAppointmentStatusText,
  EnumStandardOrderPayStatusText,
} from '@/constants';
defineOptions({
  name: 'StandardOrder',
@@ -74,13 +82,16 @@
const operationBtnMap: Record<string, OperationBtnType> = {
  detailBtn: {
    emits: {
      onClick: (row: API.GetTaskInfosQueryResultItem) => goDetail(row),
    },
    emits: { onClick: (row: API.GetStandardOrdersQueryResultItem) => goDetail(row, 'detail') },
  },
  confirmBtn: {
    emits: {
      onClick: (row: API.GetTaskInfosQueryResultItem) => goDetail(row),
    emits: { onClick: (row: API.GetStandardOrdersQueryResultItem) => goDetail(row, 'confirm') },
    extraProps: {
      hide: (row: API.GetStandardOrdersQueryResultItem) =>
        !(
          row.appointmentStatus === EnumStandardOrderAppointmentStatus.WaitSure &&
          row.payStatus === EnumStandardOrderPayStatus.Completed
        ),
    },
  },
};
@@ -89,8 +100,13 @@
  operationBtnMap,
});
const router = useRouter();
const eventContext = useGlobalEventContext();
eventContext.addEvent('standardOrder:confirm', () => {
  getList(paginationState.pageIndex);
});
const router = useRouter();
const BaseState = {
  loading: true,
};
@@ -102,57 +118,15 @@
  state.loading = false;
});
const {
  getDataSource: getList,
  proTableProps,
  paginationState,
  extraParamState,
  reset,
} = useTable(
  async ({ pageIndex, pageSize }, extraParamState) => {
    try {
      let params: API.GetTaskInfosQuery = {
        pageModel: {
          rows: pageSize,
          page: pageIndex,
          orderInput: extraParamState.orderInput,
        },
        keywords: extraParamState.keywords,
        status: extraParamState.status,
        releaseStatus: extraParamState.releaseStatus,
        beginTime: format(extraParamState.time?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
        endTime: format(extraParamState.time?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
      };
const { getList, proTableProps, paginationState, extraParamState, reset } = useGetStandardOrders({
  isSettlement: false,
});
      let res = await taskServices.getTaskInfos(params, {
        showLoading: !state.loading,
      });
      return res;
    } catch (error) {
      console.log('error: ', error);
    }
  },
  {
    defaultExtraParams: {
      keywords: '',
      status: '' as any as EnumTaskStatus,
      releaseStatus: '' as any as EnumTaskReleaseStatus,
      time: [] as unknown as ModelValueType,
      orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
    },
    queryKey: ['taskServices/getTaskInfos'],
    columnsRenderProps: {
      endTime: { type: 'date', format: 'YYYY-MM-DD' },
    },
  }
);
function goDetail(row: API.GetTaskInfosQueryResultItem) {
function goDetail(row: API.GetStandardOrdersQueryResultItem, type: string) {
  router.push({
    name: 'StandardOrderDetail',
    params: {
      id: row?.id ?? '',
    },
    params: { id: row?.id ?? '' },
    query: { type: type },
  });
}
</script>