useSystemQuery.ts 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import { reactive, ref, shallowRef } from "vue"
  2. import { SystemLogRequest, SystemLogItem } from "@/types/log/type"
  3. import { DEFAULT_PAGE_SIZE } from "@/types/common/constants"
  4. import { cloneDeep } from "lodash-es"
  5. import { querySystemLogList } from "@/api/system/log"
  6. const defaultLoginLogRequest: SystemLogRequest = {
  7. pageNumber: 1,
  8. pageSize: DEFAULT_PAGE_SIZE,
  9. queryParam: {
  10. eventType: undefined,
  11. startTime: '',
  12. endTime: '',
  13. date: ''
  14. }
  15. }
  16. export default function useSystemLogRequest () {
  17. const requestParams = reactive<SystemLogRequest>(cloneDeep(defaultLoginLogRequest));
  18. const systemLogList = shallowRef<SystemLogItem[]>([]);
  19. const total = ref(0);
  20. const loading = ref(false);
  21. const querySystemLogPage = async () => {
  22. try {
  23. loading.value = true;
  24. const { date } = requestParams.queryParam;
  25. const params = cloneDeep(requestParams);
  26. if (date && date.length > 0) {
  27. params.queryParam.startTime = date[0];
  28. params.queryParam.endTime = date[1];
  29. }
  30. delete params.queryParam.date;
  31. const data = await querySystemLogList(params);
  32. systemLogList.value = data.records;
  33. total.value = data.totalPage;
  34. } catch (error) {
  35. console.log(error)
  36. } finally {
  37. loading.value = false;
  38. }
  39. }
  40. const resetRequestParams = () => {
  41. requestParams.queryParam.startTime = ''
  42. requestParams.queryParam.endTime = ''
  43. Object.assign(requestParams, defaultLoginLogRequest)
  44. }
  45. return {
  46. requestParams,
  47. total,
  48. loading,
  49. systemLogList,
  50. querySystemLogPage,
  51. resetRequestParams
  52. }
  53. }