import { queryDictPageApi } from '@/api/dict'; import { onMounted, ref } from 'vue'; export const useDataSource = () => { const dataSource = ref[]>([]); const currentPage = ref(1); const pageSize = ref(10); const totalRow = ref(0); const loading = ref(false); const getDataSource = (param?: { currentPage?: number; pageSize?: number }) => { loading.value = true; if (param?.currentPage) { currentPage.value = param.currentPage; } if (param?.pageSize) { pageSize.value = param.pageSize; } queryDictPageApi({ pageNumber: currentPage.value, pageSize: pageSize.value }) .then((res) => { dataSource.value = res.records; totalRow.value = res.totalRow; loading.value = false; }) .finally(() => { loading.value = false; }); }; return { dataSource, currentPage, pageSize, totalRow, loading, getDataSource }; };