useSystemQuery.ts 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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. if (date && date.length > 0) {
  26. requestParams.queryParam.startTime = date[0] + ' 00:00:00';
  27. requestParams.queryParam.endTime = date[1] + ' 23:59:59';
  28. }
  29. const data = await querySystemLogList(requestParams);
  30. systemLogList.value = data.records;
  31. total.value = data.totalRow;
  32. } catch (error) {
  33. console.log(error)
  34. } finally {
  35. loading.value = false;
  36. }
  37. }
  38. const resetRequestParams = () => {
  39. requestParams.queryParam.startTime = ''
  40. requestParams.queryParam.endTime = ''
  41. Object.assign(requestParams, defaultLoginLogRequest)
  42. }
  43. return {
  44. requestParams,
  45. total,
  46. loading,
  47. systemLogList,
  48. querySystemLogPage,
  49. resetRequestParams
  50. }
  51. }