pagging.ts 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. import { usePagging } from "@/hook/pagging";
  2. import {
  3. FirePaggingRoute,
  4. FireStatus,
  5. delFire,
  6. getFirePagging,
  7. } from "@/app/fire/store/fire";
  8. import { computed, watch, watchEffect } from "vue";
  9. import { router } from "@/router";
  10. import { FireRouteName } from "@/app/fire/routeConfig";
  11. import { UN_REQ_NUM } from "@/constant/sys";
  12. export const useFirePagging = () => {
  13. const isTeached = computed(
  14. () => router.currentRoute.value.name === FireRouteName.teaching
  15. );
  16. const isRecycle = computed(
  17. () => router.currentRoute.value.name === FireRouteName.recycle
  18. );
  19. const pagging = usePagging({
  20. get: getFirePagging,
  21. del: async (raw) => {
  22. await delFire(raw, isRecycle.value ? 1 : 2);
  23. },
  24. mapper: {
  25. delMsg: () =>
  26. isRecycle.value
  27. ? "删除后将无法恢复,确定要删除吗?"
  28. : "删除火调项目,相关档案也会一并删除,确定要删除吗?",
  29. },
  30. paramsTemlate: {
  31. projectSn: "",
  32. projectName: "",
  33. projectAddress: "",
  34. deptId: "",
  35. isDelete: 0,
  36. accidentDate: "",
  37. status: FireStatus.all,
  38. projectSiteCode: "",
  39. fireReason: UN_REQ_NUM.toString(),
  40. organizerUsers: "",
  41. } as any,
  42. });
  43. watch(
  44. () => [pagging.state.query.queryType, isTeached.value, isRecycle.value],
  45. () => {
  46. console.log(isRecycle.value);
  47. if (isRecycle.value) {
  48. pagging.state.query.queryType = FirePaggingRoute.fire;
  49. pagging.state.query.isDelete = 2;
  50. } else {
  51. pagging.state.query.isDelete = 0;
  52. pagging.state.query.queryType = isTeached.value
  53. ? FirePaggingRoute.teached
  54. : FirePaggingRoute.fire;
  55. }
  56. },
  57. { flush: "post", immediate: true }
  58. );
  59. const params = [{ ...pagging.state.query }, { ...pagging.state.query }];
  60. watchEffect(
  61. () => {
  62. pagging.state.query = params[isTeached.value ? 0 : 1];
  63. // pagging.state.query = params[isRecycle.value ? 0 : 1];
  64. },
  65. { flush: "sync" }
  66. );
  67. return { pagging, isTeached, isRecycle };
  68. };
  69. export type FirePagging = ReturnType<typeof useFirePagging>["pagging"];