zhang_12370
2025-07-02 1a5d32ee47a086247dec5cd7f3fde28700c6b187
src/hooks/usePaginationApi.jsx
@@ -1,8 +1,8 @@
import { ref, reactive, watchEffect, unref } from "vue";
import useFormData from "./useFormData.js";
// import { message } from "@/utils/message";
import useFormData from "@/hooks/useFormData";
import { deepClone, isEqual } from "@/utils/index.js"
import { ElMessage } from 'element-plus'
import { clone, isEqual } from "lodash";
/**
 * 分页api
 * @param api 接口
@@ -20,7 +20,7 @@
) {
  const dataList = ref([]);
  const { form: filters, resetForm } = useFormData(initalFilters);
  let lastFilters = clone(initalFilters);
  let lastFilters = deepClone(initalFilters);
  const sorter = reactive(sorters || {});
  const others = ref({});
  const loading = ref(true);
@@ -79,14 +79,14 @@
    // 如果这次和上次的filter不同,那么就重置页码
    if (!isEqual(unref(filters), lastFilters)) {
      pagination.currentPage = 1;
      lastFilters = clone(unref(filters));
      lastFilters = deepClone(unref(filters));
    }
    loading.value = true;
    api({
      ...getFinalParams(),
      current: pagination.currentPage,
      size: pagination.pageSize
    }).then(({ code, data, ...rest }) => {
    }).then(({ code, data, msg, ...rest }) => {
      if (code == 200) {
        // pagination.currentPage = meta.current_page;
        // pagination.pageSize = meta.per_page;
@@ -97,7 +97,7 @@
        loading.value = false;
      } else {
        loading.value = false;
        // message(data.msg, { type: "error" });
        ElMessage({ message: msg, type: "error" });
      }
    });
  }
@@ -120,7 +120,7 @@
  }
  watchEffect(() => {
    pagination.align = paginationAlign.value;
    pagination.align = paginationAlign.value
  });
  // onMounted(() => {