import { usePagging } from "@/hook/pagging"; import { FirePaggingRoute, FireStatus, delFire, getFirePagging, } from "@/app/fire/store/fire"; import { computed, watch, watchEffect } from "vue"; import { router } from "@/router"; import { FireRouteName } from "@/app/fire/routeConfig"; import { UN_REQ_NUM } from "@/constant/sys"; export const useFirePagging = () => { const isTeached = computed( () => router.currentRoute.value.name === FireRouteName.teaching ); const isRecycle = computed( () => router.currentRoute.value.name === FireRouteName.recycle ); const pagging = usePagging({ get: getFirePagging, del: async (raw) => { await delFire(raw, isRecycle.value ? 1 : 2); }, mapper: { delMsg: "删除火调项目,相关档案也会一并删除,确定要删除吗?", }, paramsTemlate: { projectSn: "", projectName: "", projectAddress: "", deptId: "", isDelete: 0, accidentDate: "", status: FireStatus.all, projectSiteCode: "", fireReason: UN_REQ_NUM.toString(), organizerUsers: "", } as any, }); watch( () => [pagging.state.query.queryType, isTeached.value, isRecycle.value], () => { console.log(isRecycle.value); if (isRecycle.value) { pagging.state.query.queryType = FirePaggingRoute.fire; pagging.state.query.isDelete = 2; } else { pagging.state.query.isDelete = 0; pagging.state.query.queryType = isTeached.value ? FirePaggingRoute.teached : FirePaggingRoute.fire; } }, { flush: "post", immediate: true } ); const params = [{ ...pagging.state.query }, { ...pagging.state.query }]; watchEffect( () => { pagging.state.query = params[isTeached.value ? 0 : 1]; // pagging.state.query = params[isRecycle.value ? 0 : 1]; }, { flush: "sync" } ); return { pagging, isTeached, isRecycle }; }; export type FirePagging = ReturnType["pagging"];