liusuyi
2024-10-10 38f29e38fcc668171dc05c53d40a36b895c86102
1
{"remainingRequest":"D:\\Workspaces\\ard\\RuoYi-Vue-master-pg\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js!D:\\Workspaces\\ard\\RuoYi-Vue-master-pg\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\Workspaces\\ard\\RuoYi-Vue-master-pg\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Workspaces\\ard\\RuoYi-Vue-master-pg\\RuoYi-Vue-master\\ruoyi-ui\\src\\components\\Breadcrumb\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\Workspaces\\ard\\RuoYi-Vue-master-pg\\RuoYi-Vue-master\\ruoyi-ui\\src\\components\\Breadcrumb\\index.vue","mtime":1675221397090},{"path":"D:\\Workspaces\\ard\\RuoYi-Vue-master-pg\\RuoYi-Vue-master\\ruoyi-ui\\babel.config.js","mtime":1675221397043},{"path":"D:\\Workspaces\\ard\\RuoYi-Vue-master-pg\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1678842086999},{"path":"D:\\Workspaces\\ard\\RuoYi-Vue-master-pg\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":1678842088721},{"path":"D:\\Workspaces\\ard\\RuoYi-Vue-master-pg\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1678842086999},{"path":"D:\\Workspaces\\ard\\RuoYi-Vue-master-pg\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":1678842089772}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:InVzZSBzdHJpY3QiOwoKT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgewogIHZhbHVlOiB0cnVlCn0pOwpleHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuc3RhcnRzLXdpdGguanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmZpbHRlci5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuY29uY2F0LmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5mdW5jdGlvbi5uYW1lLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcudHJpbS5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkucHVzaC5qcyIpOwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwp2YXIgX2RlZmF1bHQgPSB7CiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIGxldmVsTGlzdDogbnVsbAogICAgfTsKICB9LAogIHdhdGNoOiB7CiAgICAkcm91dGU6IGZ1bmN0aW9uICRyb3V0ZShyb3V0ZSkgewogICAgICAvLyBpZiB5b3UgZ28gdG8gdGhlIHJlZGlyZWN0IHBhZ2UsIGRvIG5vdCB1cGRhdGUgdGhlIGJyZWFkY3J1bWJzCiAgICAgIGlmIChyb3V0ZS5wYXRoLnN0YXJ0c1dpdGgoJy9yZWRpcmVjdC8nKSkgewogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICB0aGlzLmdldEJyZWFkY3J1bWIoKTsKICAgIH0KICB9LAogIGNyZWF0ZWQ6IGZ1bmN0aW9uIGNyZWF0ZWQoKSB7CiAgICB0aGlzLmdldEJyZWFkY3J1bWIoKTsKICB9LAogIG1ldGhvZHM6IHsKICAgIGdldEJyZWFkY3J1bWI6IGZ1bmN0aW9uIGdldEJyZWFkY3J1bWIoKSB7CiAgICAgIC8vIG9ubHkgc2hvdyByb3V0ZXMgd2l0aCBtZXRhLnRpdGxlCiAgICAgIHZhciBtYXRjaGVkID0gdGhpcy4kcm91dGUubWF0Y2hlZC5maWx0ZXIoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICByZXR1cm4gaXRlbS5tZXRhICYmIGl0ZW0ubWV0YS50aXRsZTsKICAgICAgfSk7CiAgICAgIHZhciBmaXJzdCA9IG1hdGNoZWRbMF07CiAgICAgIGlmICghdGhpcy5pc0Rhc2hib2FyZChmaXJzdCkpIHsKICAgICAgICBtYXRjaGVkID0gW3sKICAgICAgICAgIHBhdGg6ICcvaW5kZXgnLAogICAgICAgICAgbWV0YTogewogICAgICAgICAgICB0aXRsZTogJ+mmlumhtScKICAgICAgICAgIH0KICAgICAgICB9XS5jb25jYXQobWF0Y2hlZCk7CiAgICAgIH0KICAgICAgdGhpcy5sZXZlbExpc3QgPSBtYXRjaGVkLmZpbHRlcihmdW5jdGlvbiAoaXRlbSkgewogICAgICAgIHJldHVybiBpdGVtLm1ldGEgJiYgaXRlbS5tZXRhLnRpdGxlICYmIGl0ZW0ubWV0YS5icmVhZGNydW1iICE9PSBmYWxzZTsKICAgICAgfSk7CiAgICB9LAogICAgaXNEYXNoYm9hcmQ6IGZ1bmN0aW9uIGlzRGFzaGJvYXJkKHJvdXRlKSB7CiAgICAgIHZhciBuYW1lID0gcm91dGUgJiYgcm91dGUubmFtZTsKICAgICAgaWYgKCFuYW1lKSB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICAgIHJldHVybiBuYW1lLnRyaW0oKSA9PT0gJ0luZGV4JzsKICAgIH0sCiAgICBoYW5kbGVMaW5rOiBmdW5jdGlvbiBoYW5kbGVMaW5rKGl0ZW0pIHsKICAgICAgdmFyIHJlZGlyZWN0ID0gaXRlbS5yZWRpcmVjdCwKICAgICAgICBwYXRoID0gaXRlbS5wYXRoOwogICAgICBpZiAocmVkaXJlY3QpIHsKICAgICAgICB0aGlzLiRyb3V0ZXIucHVzaChyZWRpcmVjdCk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CiAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHBhdGgpOwogICAgfQogIH0KfTsKZXhwb3J0cy5kZWZhdWx0ID0gX2RlZmF1bHQ7"},{"version":3,"mappings":";;;;;;;;;;;;;;;;;;;;;;;;eAYA;EACAA;IACA;MACAC;IACA;EACA;EACAC;IACAC;MACA;MACA;QACA;MACA;MACA;IACA;EACA;EACAC;IACA;EACA;EACAC;IACAC;MACA;MACA;QAAA;MAAA;MACA;MAEA;QACAC;UAAAC;UAAAC;YAAAC;UAAA;QAAA;MACA;MAEA;QAAA;MAAA;IACA;IACAC;MACA;MACA;QACA;MACA;MACA;IACA;IACAC;MACA;QAAAJ;MACA;QACA;QACA;MACA;MACA;IACA;EACA;AACA;AAAA","names":["data","levelList","watch","$route","created","methods","getBreadcrumb","matched","path","meta","title","isDashboard","handleLink"],"sourceRoot":"src/components/Breadcrumb","sources":["index.vue"],"sourcesContent":["<template>\r\n  <el-breadcrumb class=\"app-breadcrumb\" separator=\"/\">\r\n    <transition-group name=\"breadcrumb\">\r\n      <el-breadcrumb-item v-for=\"(item,index) in levelList\" :key=\"item.path\">\r\n        <span v-if=\"item.redirect === 'noRedirect' || index == levelList.length - 1\" class=\"no-redirect\">{{ item.meta.title }}</span>\r\n        <a v-else @click.prevent=\"handleLink(item)\">{{ item.meta.title }}</a>\r\n      </el-breadcrumb-item>\r\n    </transition-group>\r\n  </el-breadcrumb>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n  data() {\r\n    return {\r\n      levelList: null\r\n    }\r\n  },\r\n  watch: {\r\n    $route(route) {\r\n      // if you go to the redirect page, do not update the breadcrumbs\r\n      if (route.path.startsWith('/redirect/')) {\r\n        return\r\n      }\r\n      this.getBreadcrumb()\r\n    }\r\n  },\r\n  created() {\r\n    this.getBreadcrumb()\r\n  },\r\n  methods: {\r\n    getBreadcrumb() {\r\n      // only show routes with meta.title\r\n      let matched = this.$route.matched.filter(item => item.meta && item.meta.title)\r\n      const first = matched[0]\r\n\r\n      if (!this.isDashboard(first)) {\r\n        matched = [{ path: '/index', meta: { title: '首页' }}].concat(matched)\r\n      }\r\n\r\n      this.levelList = matched.filter(item => item.meta && item.meta.title && item.meta.breadcrumb !== false)\r\n    },\r\n    isDashboard(route) {\r\n      const name = route && route.name\r\n      if (!name) {\r\n        return false\r\n      }\r\n      return name.trim() === 'Index'\r\n    },\r\n    handleLink(item) {\r\n      const { redirect, path } = item\r\n      if (redirect) {\r\n        this.$router.push(redirect)\r\n        return\r\n      }\r\n      this.$router.push(path)\r\n    }\r\n  }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.app-breadcrumb.el-breadcrumb {\r\n  display: inline-block;\r\n  font-size: 14px;\r\n  line-height: 50px;\r\n  margin-left: 8px;\r\n\r\n  .no-redirect {\r\n    color: #97a8be;\r\n    cursor: text;\r\n  }\r\n}\r\n</style>\r\n"]}]}