pagging.ts 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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. },
  27. paramsTemlate: {
  28. projectSn: "",
  29. projectName: "",
  30. projectAddress: "",
  31. deptId: "",
  32. isDelete: 0,
  33. accidentDate: "",
  34. status: FireStatus.all,
  35. projectSiteCode: "",
  36. fireReason: UN_REQ_NUM.toString(),
  37. organizerUsers: "",
  38. } as any,
  39. });
  40. watch(
  41. () => [pagging.state.query.queryType, isTeached.value, isRecycle.value],
  42. () => {
  43. console.log(isRecycle.value);
  44. if (isRecycle.value) {
  45. pagging.state.query.queryType = FirePaggingRoute.fire;
  46. pagging.state.query.isDelete = 2;
  47. } else {
  48. pagging.state.query.isDelete = 0;
  49. pagging.state.query.queryType = isTeached.value
  50. ? FirePaggingRoute.teached
  51. : FirePaggingRoute.fire;
  52. }
  53. },
  54. { flush: "post", immediate: true }
  55. );
  56. const params = [{ ...pagging.state.query }, { ...pagging.state.query }];
  57. watchEffect(
  58. () => {
  59. pagging.state.query = params[isTeached.value ? 0 : 1];
  60. // pagging.state.query = params[isRecycle.value ? 0 : 1];
  61. },
  62. { flush: "sync" }
  63. );
  64. return { pagging, isTeached, isRecycle };
  65. };
  66. export type FirePagging = ReturnType<typeof useFirePagging>["pagging"];