| | |
| | | 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 接口 |
| | |
| | | ) { |
| | | 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); |
| | |
| | | // 如果这次和上次的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; |
| | |
| | | loading.value = false; |
| | | } else { |
| | | loading.value = false; |
| | | // message(data.msg, { type: "error" }); |
| | | ElMessage({ message: msg, type: "error" }); |
| | | } |
| | | }); |
| | | } |
| | |
| | | } |
| | | |
| | | watchEffect(() => { |
| | | pagination.align = paginationAlign.value; |
| | | pagination.align = paginationAlign.value |
| | | }); |
| | | |
| | | // onMounted(() => { |