| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 | import store from "@/store";import router from "@/router";export default {  // 刷新当前tab页签  refreshPage(obj) {    const { path, query, matched } = router.currentRoute;    if (obj === undefined) {      matched.forEach((m) => {        if (m.components && m.components.default && m.components.default.name) {          if (!["Layout", "ParentView"].includes(m.components.default.name)) {            obj = { name: m.components.default.name, path: path, query: query };          }        }      });    }    return store.dispatch("tagsView/delCachedView", obj).then(() => {      const { path, query } = obj;      router.replace({        path: "/redirect" + path,        query: query,      });    });  },  // 关闭当前tab页签,打开新页签  closeOpenPage(obj) {    store.dispatch("tagsView/delView", router.currentRoute);    if (obj !== undefined) {      return router.push(obj);    }  },  // 关闭指定tab页签  closePage(obj) {    if (obj === undefined) {      return store        .dispatch("tagsView/delView", router.currentRoute)        .then(({ visitedViews }) => {          const latestView = visitedViews.slice(-1)[0];          if (latestView) {            return router.push(latestView.fullPath);          }          return router.push("/");        });    }    return store.dispatch("tagsView/delView", obj);  },  closePageAndPushPrev(obj) {    if (obj === undefined) {      obj = router.currentRoute;    }    return store.dispatch("tagsView/delView", obj).then(({ visitedViews }) => {      //因为首页一直会存在      if (visitedViews.length === 1) {        return router.push("/");      }      router.go(-1);    });  },  setPageTitle(title){        let  obj = router.currentRoute;    if(obj){      return store.dispatch("tagsView/setPageTitle",{        view:obj,        title      });    }  },  // 关闭所有tab页签  closeAllPage() {    return store.dispatch("tagsView/delAllViews");  },  // 关闭左侧tab页签  closeLeftPage(obj) {    return store.dispatch("tagsView/delLeftTags", obj || router.currentRoute);  },  // 关闭右侧tab页签  closeRightPage(obj) {    return store.dispatch("tagsView/delRightTags", obj || router.currentRoute);  },  // 关闭其他tab页签  closeOtherPage(obj) {    return store.dispatch(      "tagsView/delOthersViews",      obj || router.currentRoute    );  },  // 添加tab页签  openPage(title, url, params) {    var obj = { path: url, meta: { title: title } };    store.dispatch("tagsView/addView", obj);    return router.push({ path: url, query: params });  },  // 修改tab页签  updatePage(obj) {    return store.dispatch("tagsView/updateVisitedView", obj);  },  getCurrentTabName(){    let route= router.currentRoute;    if(route){      return route.meta.title;    }else{      return "";    }      }};
 |