7021f2fd创建于 2025年5月14日历史提交
import {useToast} from "wot-design-uni";
import {useRouter} from "@/plugin/uni-mini-router";
import {useParamsStore} from "@/store/page-params";
import {ref} from "vue";
import {http} from "@/utils/http";


export default function usePageList<T = string>(list,params={}) {
  const toast = useToast()
  const router = useRouter()
  const paramsStore = useParamsStore()
  const paging = ref(null)
  const pageNo = ref(1)
  const pageSize = ref(10)
  const pageTotal = ref(1)
  const dataList = ref([])
  const queryParams = () => {
    return {
      pageNo: pageNo.value,
      pageSize: pageSize.value,
      order: 'desc',
      column: 'createTime',
      hasQuery: true,
    }
  }

  const queryList = (_pageNo, _pageSize) => {
    pageNo.value = _pageNo
    pageSize.value = _pageSize
    let allParams = { ...queryParams(),...params };
    http
      .get(list, allParams)
      .then((res: any) => {
        if (res.success) {
          paging.value.complete(res.result?.records ?? [])
        } else {
          toast.warning(res.message)
        }
      })
      .catch((res) => {
        toast.error('加载数据失败~')
      })
  }
  return { toast, router, paging,paramsStore, dataList, queryParams, queryList }
}