useCommonIce104.ts 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /*
  2. * @Author: vera_min vera_min@163.com
  3. * @Date: 2023-10-24 11:43:07
  4. * @LastEditors: vera_min vera_min@163.com
  5. * @LastEditTime: 2023-10-25 08:56:08
  6. * @FilePath: /sagoo-admin-ui/src/hooks/useCommonIce104.ts
  7. * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  8. */
  9. import { reactive, ref } from 'vue'
  10. export default function () {
  11. const statusParams = reactive({
  12. status: 1
  13. })
  14. return { statusParams }
  15. }
  16. export function useSearch<T>(api: any, resKey: string, expandParams?: any) {
  17. // <pagination v-if="params.total" :total="params.total" v-model:page="params.pageNum" v-model:limit="params.pageSize" @pagination="getList()" />
  18. // import api from '/@/api/system';
  19. // import { ApiRow } from '/@/api/model/system/menu';
  20. // import { useSearch } from '/@/hooks/useCommon';
  21. // const { params, tableData, getList } = useSearch<ApiRow[]>(api.api.getList, 'Info', { name: '', address: '' });
  22. // getList() // 获取列表数据
  23. interface SearchParams {
  24. status: -1 | 0 | 1,
  25. pageNum: number;
  26. pageSize: number;
  27. total: number;
  28. [key: string]: any;
  29. }
  30. const params = reactive<SearchParams>({
  31. status: -1,
  32. pageNum: 1,
  33. pageSize: 10,
  34. total: 0,
  35. ...expandParams
  36. })
  37. const loading = ref(false)
  38. const tableData = ref<T[] | any[]>([])
  39. const getList = async (pageNum?: number) => {
  40. pageNum && (params.pageNum = pageNum);
  41. tableData.value = [];
  42. loading.value = true;
  43. params.total = 0;
  44. let res = await api(params).finally(() => loading.value = false)
  45. console.log(res)
  46. tableData.value = (resKey ? (res[resKey]) : (res)) || [];
  47. console.log(tableData.value)
  48. params.total = res.total;
  49. };
  50. return { params, tableData, getList, loading }
  51. }