You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 line
30 KiB

{"remainingRequest":"G:\\bishe\\2024\\springboot\\143_论文\\039_springboot流浪天使乐园管理系统设计与实现\\vue\\admin\\node_modules\\babel-loader\\lib\\index.js!G:\\bishe\\2024\\springboot\\143_论文\\039_springboot流浪天使乐园管理系统设计与实现\\vue\\admin\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!G:\\bishe\\2024\\springboot\\143_论文\\039_springboot流浪天使乐园管理系统设计与实现\\vue\\admin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!G:\\bishe\\2024\\springboot\\143_论文\\039_springboot流浪天使乐园管理系统设计与实现\\vue\\admin\\src\\components\\index\\TagsView\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"G:\\bishe\\2024\\springboot\\143_论文\\039_springboot流浪天使乐园管理系统设计与实现\\vue\\admin\\src\\components\\index\\TagsView\\index.vue","mtime":1703907409000},{"path":"G:\\bishe\\2024\\springboot\\143_论文\\039_springboot流浪天使乐园管理系统设计与实现\\vue\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"G:\\bishe\\2024\\springboot\\143_论文\\039_springboot流浪天使乐园管理系统设计与实现\\vue\\admin\\node_modules\\babel-loader\\lib\\index.js","mtime":499162500000},{"path":"G:\\bishe\\2024\\springboot\\143_论文\\039_springboot流浪天使乐园管理系统设计与实现\\vue\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"G:\\bishe\\2024\\springboot\\143_论文\\039_springboot流浪天使乐园管理系统设计与实现\\vue\\admin\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuc3ltYm9sIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuc3ltYm9sLmRlc2NyaXB0aW9uIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuc3ltYm9sLml0ZXJhdG9yIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuY29uY2F0IjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmlsdGVyIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZm9yLWVhY2giOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5zbGljZSI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnNvbWUiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5mdW5jdGlvbi5uYW1lIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LmdldC1vd24tcHJvcGVydHktZGVzY3JpcHRvciI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC5nZXQtb3duLXByb3BlcnR5LWRlc2NyaXB0b3JzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LmtleXMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QudG8tc3RyaW5nIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMucmVnZXhwLmV4ZWMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuaXRlcmF0b3IiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcucmVwbGFjZSI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL3dlYi5kb20tY29sbGVjdGlvbnMuZm9yLWVhY2giOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLml0ZXJhdG9yIjsKaW1wb3J0IF90b0NvbnN1bWFibGVBcnJheSBmcm9tICJHOlxcYmlzaGVcXDIwMjRcXHNwcmluZ2Jvb3RcXDE0M19cdThCQkFcdTY1ODdcXDAzOV9zcHJpbmdib290XHU2RDQxXHU2RDZBXHU1OTI5XHU0RjdGXHU0RTUwXHU1NkVEXHU3QkExXHU3NDA2XHU3Q0ZCXHU3RURGXHU4QkJFXHU4QkExXHU0RTBFXHU1QjlFXHU3M0IwXFx2dWVcXGFkbWluXFxub2RlX21vZHVsZXNcXEBiYWJlbFxccnVudGltZS9oZWxwZXJzL2VzbS90b0NvbnN1bWFibGVBcnJheSI7CmltcG9ydCBfZGVmaW5lUHJvcGVydHkgZnJvbSAiRzpcXGJpc2hlXFwyMDI0XFxzcHJpbmdib290XFwxNDNfXHU4QkJBXHU2NTg3XFwwMzlfc3ByaW5nYm9vdFx1NkQ0MVx1NkQ2QVx1NTkyOVx1NEY3Rlx1NEU1MFx1NTZFRFx1N0JBMVx1NzQwNlx1N0NGQlx1N0VERlx1OEJCRVx1OEJBMVx1NEUwRVx1NUI5RVx1NzNCMFxcdnVlXFxhZG1pblxcbm9kZV9tb2R1bGVzXFxAYmFiZWxcXHJ1bnRpbWUvaGVscGVycy9lc20vZGVmaW5lUHJvcGVydHkiOwoKZnVuY3Rpb24gb3duS2V5cyhvYmplY3QsIGVudW1lcmFibGVPbmx5KSB7IHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTsgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHsgdmFyIHN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKG9iamVjdCk7IGlmIChlbnVtZXJhYmxlT25seSkgc3ltYm9scyA9IHN5bWJvbHMuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHsgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBzeW0pLmVudW1lcmFibGU7IH0pOyBrZXlzLnB1c2guYXBwbHkoa2V5cywgc3ltYm9scyk7IH0gcmV0dXJuIGtleXM7IH0KCmZ1bmN0aW9uIF9vYmplY3RTcHJlYWQodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV0gIT0gbnVsbCA/IGFyZ3VtZW50c1tpXSA6IHt9OyBpZiAoaSAlIDIpIHsgb3duS2V5cyhPYmplY3Qoc291cmNlKSwgdHJ1ZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pOyB9KTsgfSBlbHNlIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycykgeyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHNvdXJjZSkpOyB9IGVsc2UgeyBvd25LZXlzKE9iamVjdChzb3VyY2UpKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfQoKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KaW1wb3J0IFNjcm9sbFBhbmUgZnJvbSAnLi9TY3JvbGxQYW5lJzsKaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7CmltcG9ydCB7IGdlbmVyYXRlVGl0bGUgfSBmcm9tICdAL3V0aWxzL2kxOG4nOwppbXBvcnQgbWVudSBmcm9tICdAL3V0aWxzL21lbnUnOwppbXBvcnQgeyByb3V0ZXMgfSBmcm9tICdAL3JvdXRlci9yb3V0ZXItc3RhdGljLmpzJzsKZXhwb3J0IGRlZmF1bHQgewogIGNvbXBvbmVudHM6IHsKICAgIFNjcm9sbFBhbmU6IFNjcm9sbFBhbmUKICB9LAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICB2aXNpYmxlOiBmYWxzZSwKICAgICAgdG9wOiAwLAogICAgICBsZWZ0OiAwLAogICAgICBzZWxlY3RlZFRhZzoge30sCiAgICAgIGFmZml4VGFnczogW10sCiAgICAgIHJvdXRlczogW10KICAgIH07CiAgfSwKICBjb21wdXRlZDogewogICAgdmlzaXRlZFZpZXdzOiBmdW5jdGlvbiB2aXNpdGVkVmlld3MoKSB7CiAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS50YWdzVmlldy52aXNpdGVkVmlld3M7CiAgICB9IC8vIHJvdXRlcygpIHsKICAgIC8vICAgcmV0dXJuIHRoaXMuJHN0b3JlLnN0YXRlLm1lbnUucm91dGVzCiAgICAvLyB9CgogIH0sCiAgd2F0Y2g6IHsKICAgICRyb3V0ZTogZnVuY3Rpb24gJHJvdXRlKCkgewogICAgICB0aGlzLmFkZFRhZ3MoKTsKICAgICAgdGhpcy5tb3ZlVG9DdXJyZW50VGFnKCk7CiAgICB9LAogICAgdmlzaWJsZTogZnVuY3Rpb24gdmlzaWJsZSh2YWx1ZSkgewogICAgICBpZiAodmFsdWUpIHsKICAgICAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5jbG9zZU1lbnUpOwogICAgICB9IGVsc2UgewogICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmNsb3NlTWVudSk7CiAgICAgIH0KICAgIH0KICB9LAogIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7CiAgICB0aGlzLmluaXRUYWdzKCk7CiAgICB0aGlzLmFkZFRhZ3MoKTsKICB9LAogIGNyZWF0ZWQ6IGZ1bmN0aW9uIGNyZWF0ZWQoKSB7CiAgICB2YXIgX3RoaXMgPSB0aGlzOwoKICAgIHRoaXMucm91dGVzID0gbWVudTsKICAgIHZhciBtZW51TGlzdCA9IFtdOwogICAgdmFyIG1lbnVzID0gbWVudS5saXN0KCk7CgogICAgaWYgKG1lbnVzKSB7CiAgICAgIG1lbnVMaXN0ID0gbWVudXM7CiAgICB9IGVsc2UgewogICAgICB2YXIgcGFyYW1zID0gewogICAgICAgIHBhZ2U6IDEsCiAgICAgICAgbGltaXQ6IDEsCiAgICAgICAgc29ydDogJ2lkJwogICAgICB9OwogICAgICB0aGlzLiRodHRwKHsKICAgICAgICB1cmw6ICJtZW51L2xpc3QiLAogICAgICAgIG1ldGhvZDogImdldCIsCiAgICAgICAgcGFyYW1zOiBwYXJhbXMKICAgICAgfSkudGhlbihmdW5jdGlvbiAoX3JlZikgewogICAgICAgIHZhciBkYXRhID0gX3JlZi5kYXRhOwoKICAgICAgICBpZiAoZGF0YSAmJiBkYXRhLmNvZGUgPT09IDApIHsKICAgICAgICAgIG1lbnVMaXN0ID0gSlNPTi5wYXJzZShkYXRhLmRhdGEubGlzdFswXS5tZW51anNvbik7CgogICAgICAgICAgX3RoaXMuJHN0b3JhZ2Uuc2V0KCJtZW51cyIsIG1lbnVMaXN0KTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfQoKICAgIHRoaXMucm9sZSA9IHRoaXMuJHN0b3JhZ2UuZ2V0KCdyb2xlJyk7CgogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtZW51TGlzdC5sZW5ndGg7IGkrKykgewogICAgICBpZiAobWVudUxpc3RbaV0ucm9sZU5hbWUgPT0gdGhpcy5yb2xlKSB7CiAgICAgICAgdGhpcy5yb3V0ZXMgPSBtZW51TGlzdFtpXS5iYWNrTWVudTsKICAgICAgICBicmVhazsKICAgICAgfQogICAgfQoKICAgIHRoaXMucm91dGVzID0gcm91dGVzLmNvbmNhdCh0aGlzLnJvdXRlcyk7IC8vIGNvbnNvbGUubG9nKHRoaXMudmlzaXRlZFZpZXdzKQogICAgLy8gY29uc29sZS5sb2codGhpcy5yb3V0ZXMpCiAgICAvLyB0aGlzLmluaXRUYWdzKCkKICAgIC8vIHRoaXMuYWRkVGFncygpCiAgfSwKICBtZXRob2RzOiB7CiAgICBpc0FjdGl2ZTogZnVuY3Rpb24gaXNBY3RpdmUocm91dGUpIHsKICAgICAgcmV0dXJuIHJvdXRlLnBhdGggPT09IHRoaXMuJHJvdXRlLnBhdGg7CiAgICB9LAogICAgZmlsdGVyQWZmaXhUYWdzOiBmdW5jdGlvbiBmaWx0ZXJBZmZpeFRhZ3Mocm91dGVzKSB7CiAgICAgIHZhciBfdGhpczIgPSB0aGlzOwoKICAgICAgdmFyIGJhc2VQYXRoID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiAnLyc7CiAgICAgIHZhciB0YWdzID0gW107CiAgICAgIHJvdXRlcy5mb3JFYWNoKGZ1bmN0aW9uIChyb3V0ZSkgewogICAgICAgIGlmIChyb3V0ZS5tZXRhICYmIHJvdXRlLm1ldGEuYWZmaXgpIHsKICAgICAgICAgIHZhciB0YWdQYXRoID0gcGF0aC5yZXNvbHZlKGJhc2VQYXRoLCByb3V0ZS5wYXRoKTsKICAgICAgICAgIHRhZ3MucHVzaCh7CiAgICAgICAgICAgIGZ1bGxQYXRoOiB0YWdQYXRoLAogICAgICAgICAgICBwYXRoOiB0YWdQYXRoLAogICAgICAgICAgICBuYW1lOiByb3V0ZS5uYW1lLAogICAgICAgICAgICBtZXRhOiBfb2JqZWN0U3ByZWFkKHt9LCByb3V0ZS5tZXRhKQogICAgICAgICAgfSk7CiAgICAgICAgfQoKICAgICAgICBpZiAocm91dGUuY2hpbGRyZW4pIHsKICAgICAgICAgIHZhciB0ZW1wVGFncyA9IF90aGlzMi5maWx0ZXJBZmZpeFRhZ3Mocm91dGUuY2hpbGRyZW4sIHJvdXRlLnBhdGgpOwoKICAgICAgICAgIGlmICh0ZW1wVGFncy5sZW5ndGggPj0gMSkgewogICAgICAgICAgICB0YWdzID0gW10uY29uY2F0KF90b0NvbnN1bWFibGVBcnJheSh0YWdzKSwgX3RvQ29uc3VtYWJsZUFycmF5KHRlbXBUYWdzKSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9KTsKICAgICAgcmV0dXJuIHRhZ3M7CiAgICB9LAogICAgZ2VuZXJhdGVUaXRsZTogZ2VuZXJhdGVUaXRsZSwKICAgIGluaXRUYWdzOiBmdW5jdGlvbiBpbml0VGFncygpIHsKICAgICAgdmFyIGFmZml4VGFncyA9IHRoaXMuYWZmaXhUYWdzID0gdGhpcy5maWx0ZXJBZmZpeFRhZ3ModGhpcy5yb3V0ZXMpOwogICAgICB2YXIgX2l0ZXJhdG9yTm9ybWFsQ29tcGxldGlvbiA9IHRydWU7CiAgICAgIHZhciBfZGlkSXRlcmF0b3JFcnJvciA9IGZhbHNlOwogICAgICB2YXIgX2l0ZXJhdG9yRXJyb3IgPSB1bmRlZmluZWQ7CgogICAgICB0cnkgewogICAgICAgIGZvciAodmFyIF9pdGVyYXRvciA9IGFmZml4VGFnc1tTeW1ib2wuaXRlcmF0b3JdKCksIF9zdGVwOyAhKF9pdGVyYXRvck5vcm1hbENvbXBsZXRpb24gPSAoX3N0ZXAgPSBfaXRlcmF0b3IubmV4dCgpKS5kb25lKTsgX2l0ZXJhdG9yTm9ybWFsQ29tcGxldGlvbiA9IHRydWUpIHsKICAgICAgICAgIHZhciB0YWcgPSBfc3RlcC52YWx1ZTsKCiAgICAgICAgICAvLyBNdXN0IGhhdmUgdGFnIG5hbWUKICAgICAgICAgIGlmICh0YWcubmFtZSkgewogICAgICAgICAgICB0aGlzLiRzdG9yZS5kaXNwYXRjaCgndGFnc1ZpZXcvYWRkVmlzaXRlZFZpZXcnLCB0YWcpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSBjYXRjaCAoZXJyKSB7CiAgICAgICAgX2RpZEl0ZXJhdG9yRXJyb3IgPSB0cnVlOwogICAgICAgIF9pdGVyYXRvckVycm9yID0gZXJyOwogICAgICB9IGZpbmFsbHkgewogICAgICAgIHRyeSB7CiAgICAgICAgICBpZiAoIV9pdGVyYXRvck5vcm1hbENvbXBsZXRpb24gJiYgX2l0ZXJhdG9yLnJldHVybiAhPSBudWxsKSB7CiAgICAgICAgICAgIF9pdGVyYXRvci5yZXR1cm4oKTsKICAgICAgICAgIH0KICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgaWYgKF9kaWRJdGVyYXRvckVycm9yKSB7CiAgICAgICAgICAgIHRocm93IF9pdGVyYXRvckVycm9yOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgIGFkZFRhZ3M6IGZ1bmN0aW9uIGFkZFRhZ3MoKSB7CiAgICAgIHZhciBuYW1lID0gdGhpcy4kcm91dGUubmFtZTsKCiAgICAgIGlmIChuYW1lKSB7CiAgICAgICAgdGhpcy4kc3RvcmUuZGlzcGF0Y2goJ3RhZ3NWaWV3L2FkZFZpZXcnLCB0aGlzLiRyb3V0ZSk7CiAgICAgIH0KCiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0sCiAgICBtb3ZlVG9DdXJyZW50VGFnOiBmdW5jdGlvbiBtb3ZlVG9DdXJyZW50VGFnKCkgewogICAgICB2YXIgX3RoaXMzID0gdGhpczsKCiAgICAgIHZhciB0YWdzID0gdGhpcy4kcmVmcy50YWc7CiAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgX2l0ZXJhdG9yTm9ybWFsQ29tcGxldGlvbjIgPSB0cnVlOwogICAgICAgIHZhciBfZGlkSXRlcmF0b3JFcnJvcjIgPSBmYWxzZTsKICAgICAgICB2YXIgX2l0ZXJhdG9yRXJyb3IyID0gdW5kZWZpbmVkOwoKICAgICAgICB0cnkgewogICAgICAgICAgZm9yICh2YXIgX2l0ZXJhdG9yMiA9IHRhZ3NbU3ltYm9sLml0ZXJhdG9yXSgpLCBfc3RlcDI7ICEoX2l0ZXJhdG9yTm9ybWFsQ29tcGxldGlvbjIgPSAoX3N0ZXAyID0gX2l0ZXJhdG9yMi5uZXh0KCkpLmRvbmUpOyBfaXRlcmF0b3JOb3JtYWxDb21wbGV0aW9uMiA9IHRydWUpIHsKICAgICAgICAgICAgdmFyIHRhZyA9IF9zdGVwMi52YWx1ZTsKCiAgICAgICAgICAgIGlmICh0YWcudG8ucGF0aCA9PT0gX3RoaXMzLiRyb3V0ZS5wYXRoKSB7CiAgICAgICAgICAgICAgX3RoaXMzLiRyZWZzLnNjcm9sbFBhbmUubW92ZVRvVGFyZ2V0KHRhZyk7IC8vIHdoZW4gcXVlcnkgaXMgZGlmZmVyZW50IHRoZW4gdXBkYXRlCgoKICAgICAgICAgICAgICBpZiAodGFnLnRvLmZ1bGxQYXRoICE9PSBfdGhpczMuJHJvdXRlLmZ1bGxQYXRoKSB7CiAgICAgICAgICAgICAgICBfdGhpczMuJHN0b3JlLmRpc3BhdGNoKCd0YWdzVmlldy91cGRhdGVWaXNpdGVkVmlldycsIF90aGlzMy4kcm91dGUpOwogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9IGNhdGNoIChlcnIpIHsKICAgICAgICAgIF9kaWRJdGVyYXRvckVycm9yMiA9IHRydWU7CiAgICAgICAgICBfaXRlcmF0b3JFcnJvcjIgPSBlcnI7CiAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgIGlmICghX2l0ZXJhdG9yTm9ybWFsQ29tcGxldGlvbjIgJiYgX2l0ZXJhdG9yMi5yZXR1cm4gIT0gbnVsbCkgewogICAgICAgICAgICAgIF9pdGVyYXRvcjIucmV0dXJuKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGlmIChfZGlkSXRlcmF0b3JFcnJvcjIpIHsKICAgICAgICAgICAgICB0aHJvdyBfaXRlcmF0b3JFcnJvcjI7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIHJlZnJlc2hTZWxlY3RlZFRhZzogZnVuY3Rpb24gcmVmcmVzaFNlbGVjdGVkVGFnKHZpZXcpIHsKICAgICAgdmFyIF90aGlzNCA9IHRoaXM7CgogICAgICB0aGlzLiRzdG9yZS5kaXNwYXRjaCgndGFnc1ZpZXcvZGVsQ2FjaGVkVmlldycsIHZpZXcpLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIHZhciBmdWxsUGF0aCA9IHZpZXcuZnVsbFBhdGg7CgogICAgICAgIF90aGlzNC4kbmV4dFRpY2soZnVuY3Rpb24gKCkgewogICAgICAgICAgX3RoaXM0LiRyb3V0ZXIucmVwbGFjZSh7CiAgICAgICAgICAgIHBhdGg6ICcvcmVkaXJlY3QnICsgZnVsbFBhdGgKICAgICAgICAgIH0pOwogICAgICAgIH0pOwogICAgICB9KTsKICAgIH0sCiAgICBjbG9zZVNlbGVjdGVkVGFnOiBmdW5jdGlvbiBjbG9zZVNlbGVjdGVkVGFnKHZpZXcpIHsKICAgICAgdmFyIF90aGlzNSA9IHRoaXM7CgogICAgICB0aGlzLiRzdG9yZS5kaXNwYXRjaCgndGFnc1ZpZXcvZGVsVmlldycsIHZpZXcpLnRoZW4oZnVuY3Rpb24gKF9yZWYyKSB7CiAgICAgICAgdmFyIHZpc2l0ZWRWaWV3cyA9IF9yZWYyLnZpc2l0ZWRWaWV3czsKCiAgICAgICAgaWYgKF90aGlzNS5pc0FjdGl2ZSh2aWV3KSkgewogICAgICAgICAgX3RoaXM1LnRvTGFzdFZpZXcodmlzaXRlZFZpZXdzLCB2aWV3KTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIGNsb3NlT3RoZXJzVGFnczogZnVuY3Rpb24gY2xvc2VPdGhlcnNUYWdzKCkgewogICAgICB2YXIgX3RoaXM2ID0gdGhpczsKCiAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHRoaXMuc2VsZWN0ZWRUYWcpOwogICAgICB0aGlzLiRzdG9yZS5kaXNwYXRjaCgndGFnc1ZpZXcvZGVsT3RoZXJzVmlld3MnLCB0aGlzLnNlbGVjdGVkVGFnKS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICBfdGhpczYubW92ZVRvQ3VycmVudFRhZygpOwogICAgICB9KTsKICAgIH0sCiAgICBjbG9zZUFsbFRhZ3M6IGZ1bmN0aW9uIGNsb3NlQWxsVGFncyh2aWV3KSB7CiAgICAgIHZhciBfdGhpczcgPSB0aGlzOwoKICAgICAgdGhpcy4kc3RvcmUuZGlzcGF0Y2goJ3RhZ3NWaWV3L2RlbEFsbFZpZXdzJykudGhlbihmdW5jdGlvbiAoX3JlZjMpIHsKICAgICAgICB2YXIgdmlzaXRlZFZpZXdzID0gX3JlZjMudmlzaXRlZFZpZXdzOwoKICAgICAgICBpZiAoX3RoaXM3LmFmZml4VGFncy5zb21lKGZ1bmN0aW9uICh0YWcpIHsKICAgICAgICAgIHJldHVybiB0YWcucGF0aCA9PT0gdmlldy5wYXRoOwogICAgICAgIH0pKSB7CiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICBfdGhpczcudG9MYXN0Vmlldyh2aXNpdGVkVmlld3MsIHZpZXcpOwogICAgICB9KTsKICAgIH0sCiAgICB0b0xhc3RWaWV3OiBmdW5jdGlvbiB0b0xhc3RWaWV3KHZpc2l0ZWRWaWV3cywgdmlldykgewogICAgICB2YXIgbGF0ZXN0VmlldyA9IHZpc2l0ZWRWaWV3cy5zbGljZSgtMSlbMF07CgogICAgICBpZiAobGF0ZXN0VmlldykgewogICAgICAgIHRoaXMuJHJvdXRlci5wdXNoKGxhdGVzdFZpZXcpOwogICAgICB9IGVsc2UgewogICAgICAgIC8vIG5vdyB0aGUgZGVmYXVsdCBpcyB0byByZWRpcmVjdCB0byB0aGUgaG9tZSBwYWdlIGlmIHRoZXJlIGlzIG5vIHRhZ3MtdmlldywKICAgICAgICAvLyB5b3UgY2FuIGFkanVzdCBpdCBhY2NvcmRpbmcgdG8geW91ciBuZWVkcy4KICAgICAgICBpZiAodmlldy5uYW1lID09PSAnRGFzaGJvYXJkJykgewogICAgICAgICAgLy8gdG8gcmVsb2FkIGhvbWUgcGFnZQogICAgICAgICAgdGhpcy4kcm91dGVyLnJlcGxhY2UoewogICAgICAgICAgICBwYXRoOiAnL3JlZGlyZWN0JyArIHZpZXcuZnVsbFBhdGgKICAgICAgICAgIH0pOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB0aGlzLiRyb3V0ZXIucHVzaCgnLycpOwogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgIG9wZW5NZW51OiBmdW5jdGlvbiBvcGVuTWVudSh0YWcsIGUpIHsKICAgICAgdmFyIG1lbnVNaW5XaWR0aCA9IDEwNTsKICAgICAgdmFyIG9mZnNldExlZnQgPSB0aGlzLiRlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0OyAvLyBjb250YWluZXIgbWFyZ2luIGxlZnQKCiAgICAgIHZhciBvZmZzZXRXaWR0aCA9IHRoaXMuJGVsLm9mZnNldFdpZHRoOyAvLyBjb250YWluZXIgd2lkdGgKCiAgICAgIHZhciBtYXhMZWZ0ID0gb2Zmc2V0V2lkdGggLSBtZW51TWluV2lkdGg7IC8vIGxlZnQgYm91bmRhcnkKCiAgICAgIHZhciBsZWZ0ID0gZS5jbGllbnRYIC0gb2Zmc2V0TGVmdCArIDE1OyAvLyAxNTogbWFyZ2luIHJpZ2h0CgogICAgICBpZiAobGVmdCA+IG1heExlZnQpIHsKICAgICAgICB0aGlzLmxlZnQgPSBtYXhMZWZ0OwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMubGVmdCA9IGxlZnQ7CiAgICAgIH0KCiAgICAgIHRoaXMudG9wID0gZS5jbGllbnRZOwogICAgICB0aGlzLnZpc2libGUgPSB0cnVlOwogICAgICB0aGlzLnNlbGVjdGVkVGFnID0gdGFnOwogICAgfSwKICAgIGNsb3NlTWVudTogZnVuY3Rpb24gY2xvc2VNZW51KCkgewogICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTsKICAgIH0KICB9Cn07"},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,OAAA,UAAA,MAAA,cAAA;AACA,OAAA,IAAA,MAAA,MAAA;AACA,SACA,aADA,QAEA,cAFA;AAGA,OAAA,IAAA,MAAA,cAAA;AACA,SAAA,MAAA,QAAA,2BAAA;AAEA,eAAA;AACA,EAAA,UAAA,EAAA;AACA,IAAA,UAAA,EAAA;AADA,GADA;AAIA,EAAA,IAJA,kBAIA;AACA,WAAA;AACA,MAAA,OAAA,EAAA,KADA;AAEA,MAAA,GAAA,EAAA,CAFA;AAGA,MAAA,IAAA,EAAA,CAHA;AAIA,MAAA,WAAA,EAAA,EAJA;AAKA,MAAA,SAAA,EAAA,EALA;AAMA,MAAA,MAAA,EAAA;AANA,KAAA;AAQA,GAbA;AAcA,EAAA,QAAA,EAAA;AACA,IAAA,YADA,0BACA;AACA,aAAA,KAAA,MAAA,CAAA,KAAA,CAAA,QAAA,CAAA,YAAA;AACA,KAHA,CAIA;AACA;AACA;;AANA,GAdA;AAsBA,EAAA,KAAA,EAAA;AACA,IAAA,MADA,oBACA;AACA,WAAA,OAAA;AACA,WAAA,gBAAA;AACA,KAJA;AAKA,IAAA,OALA,mBAKA,KALA,EAKA;AACA,UAAA,KAAA,EAAA;AACA,QAAA,QAAA,CAAA,IAAA,CAAA,gBAAA,CAAA,OAAA,EAAA,KAAA,SAAA;AACA,OAFA,MAEA;AACA,QAAA,QAAA,CAAA,IAAA,CAAA,mBAAA,CAAA,OAAA,EAAA,KAAA,SAAA;AACA;AACA;AAXA,GAtBA;AAmCA,EAAA,OAnCA,qBAmCA;AACA,SAAA,QAAA;AACA,SAAA,OAAA;AACA,GAtCA;AAuCA,EAAA,OAvCA,qBAuCA;AAAA;;AACA,SAAA,MAAA,GAAA,IAAA;AAEA,QAAA,QAAA,GAAA,EAAA;AACA,QAAA,KAAA,GAAA,IAAA,CAAA,IAAA,EAAA;;AACA,QAAA,KAAA,EAAA;AACA,MAAA,QAAA,GAAA,KAAA;AACA,KAFA,MAEA;AACA,UAAA,MAAA,GAAA;AACA,QAAA,IAAA,EAAA,CADA;AAEA,QAAA,KAAA,EAAA,CAFA;AAGA,QAAA,IAAA,EAAA;AAHA,OAAA;AAMA,WAAA,KAAA,CAAA;AACA,QAAA,GAAA,EAAA,WADA;AAEA,QAAA,MAAA,EAAA,KAFA;AAGA,QAAA,MAAA,EAAA;AAHA,OAAA,EAIA,IAJA,CAIA,gBAEA;AAAA,YADA,IACA,QADA,IACA;;AACA,YAAA,IAAA,IAAA,IAAA,CAAA,IAAA,KAAA,CAAA,EAAA;AACA,UAAA,QAAA,GAAA,IAAA,CAAA,KAAA,CAAA,IAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA,EAAA,QAAA,CAAA;;AACA,UAAA,KAAA,CAAA,QAAA,CAAA,GAAA,CAAA,OAAA,EAAA,QAAA;AACA;AACA,OAXA;AAYA;;AACA,SAAA,IAAA,GAAA,KAAA,QAAA,CAAA,GAAA,CAAA,MAAA,CAAA;;AAEA,SAAA,IAAA,CAAA,GAAA,CAAA,EAAA,CAAA,GAAA,QAAA,CAAA,MAAA,EAAA,CAAA,EAAA,EAAA;AACA,UAAA,QAAA,CAAA,CAAA,CAAA,CAAA,QAAA,IAAA,KAAA,IAAA,EAAA;AACA,aAAA,MAAA,GAAA,QAAA,CAAA,CAAA,CAAA,CAAA,QAAA;AACA;AACA;AACA;;AACA,SAAA,MAAA,GAAA,MAAA,CAAA,MAAA,CAAA,KAAA,MAAA,CAAA,CAnCA,CAoCA;AACA;AACA;AACA;AACA,GA/EA;AAgFA,EAAA,OAAA,EAAA;AACA,IAAA,QADA,oBACA,KADA,EACA;AACA,aAAA,KAAA,CAAA,IAAA,KAAA,KAAA,MAAA,CAAA,IAAA;AACA,KAHA;AAIA,IAAA,eAJA,2BAIA,MAJA,EAIA;AAAA;;AAAA,UAAA,QAAA,uEAAA,GAAA;AACA,UAAA,IAAA,GAAA,EAAA;AACA,MAAA,MAAA,CAAA,OAAA,CAAA,UAAA,KAAA,EAAA;AACA,YAAA,KAAA,CAAA,IAAA,IAAA,KAAA,CAAA,IAAA,CAAA,KAAA,EAAA;AACA,cAAA,OAAA,GAAA,IAAA,CAAA,OAAA,CAAA,QAAA,EAAA,KAAA,CAAA,IAAA,CAAA;AACA,UAAA,IAAA,CAAA,IAAA,CAAA;AACA,YAAA,QAAA,EAAA,OADA;AAEA,YAAA,IAAA,EAAA,OAFA;AAGA,YAAA,IAAA,EAAA,KAAA,CAAA,IAHA;AAIA,YAAA,IAAA,oBACA,KAAA,CAAA,IADA;AAJA,WAAA;AAQA;;AACA,YAAA,KAAA,CAAA,QAAA,EAAA;AACA,cAAA,QAAA,GAAA,MAAA,CAAA,eAAA,CAAA,KAAA,CAAA,QAAA,EAAA,KAAA,CAAA,IAAA,CAAA;;AACA,cAAA,QAAA,CAAA,MAAA,IAAA,CAAA,EAAA;AACA,YAAA,IAAA,gCAAA,IAAA,sBAAA,QAAA,EAAA;AACA;AACA;AACA,OAlBA;AAmBA,aAAA,IAAA;AACA,KA1BA;AA2BA,IAAA,aAAA,EAAA,aA3BA;AA4BA,IAAA,QA5BA,sBA4BA;AACA,UAAA,SAAA,GAAA,KAAA,SAAA,GAAA,KAAA,eAAA,CAAA,KAAA,MAAA,CAAA;AADA;AAAA;AAAA;;AAAA;AAEA,6BAAA,SAAA,8HAAA;AAAA,cAAA,GAAA;;AACA;AACA,cAAA,GAAA,CAAA,IAAA,EAAA;AACA,iBAAA,MAAA,CAAA,QAAA,CAAA,yBAAA,EAAA,GAAA;AACA;AACA;AAPA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,KApCA;AAqCA,IAAA,OArCA,qBAqCA;AAAA,UAEA,IAFA,GAGA,KAAA,MAHA,CAEA,IAFA;;AAIA,UAAA,IAAA,EAAA;AACA,aAAA,MAAA,CAAA,QAAA,CAAA,kBAAA,EAAA,KAAA,MAAA;AACA;;AACA,aAAA,KAAA;AACA,KA7CA;AA8CA,IAAA,gBA9CA,8BA8CA;AAAA;;AACA,UAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA;AACA,WAAA,SAAA,CAAA,YAAA;AAAA;AAAA;AAAA;;AAAA;AACA,gCAAA,IAAA,mIAAA;AAAA,gBAAA,GAAA;;AACA,gBAAA,GAAA,CAAA,EAAA,CAAA,IAAA,KAAA,MAAA,CAAA,MAAA,CAAA,IAAA,EAAA;AACA,cAAA,MAAA,CAAA,KAAA,CAAA,UAAA,CAAA,YAAA,CAAA,GAAA,EADA,CAEA;;;AACA,kBAAA,GAAA,CAAA,EAAA,CAAA,QAAA,KAAA,MAAA,CAAA,MAAA,CAAA,QAAA,EAAA;AACA,gBAAA,MAAA,CAAA,MAAA,CAAA,QAAA,CAAA,4BAAA,EAAA,MAAA,CAAA,MAAA;AACA;;AACA;AACA;AACA;AAVA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWA,OAXA;AAYA,KA5DA;AA6DA,IAAA,kBA7DA,8BA6DA,IA7DA,EA6DA;AAAA;;AACA,WAAA,MAAA,CAAA,QAAA,CAAA,wBAAA,EAAA,IAAA,EAAA,IAAA,CAAA,YAAA;AAAA,YAEA,QAFA,GAGA,IAHA,CAEA,QAFA;;AAIA,QAAA,MAAA,CAAA,SAAA,CAAA,YAAA;AACA,UAAA,MAAA,CAAA,OAAA,CAAA,OAAA,CAAA;AACA,YAAA,IAAA,EAAA,cAAA;AADA,WAAA;AAGA,SAJA;AAKA,OATA;AAUA,KAxEA;AAyEA,IAAA,gBAzEA,4BAyEA,IAzEA,EAyEA;AAAA;;AACA,WAAA,MAAA,CAAA,QAAA,CAAA,kBAAA,EAAA,IAAA,EAAA,IAAA,CAAA,iBAEA;AAAA,YADA,YACA,SADA,YACA;;AACA,YAAA,MAAA,CAAA,QAAA,CAAA,IAAA,CAAA,EAAA;AACA,UAAA,MAAA,CAAA,UAAA,CAAA,YAAA,EAAA,IAAA;AACA;AACA,OANA;AAOA,KAjFA;AAkFA,IAAA,eAlFA,6BAkFA;AAAA;;AACA,WAAA,OAAA,CAAA,IAAA,CAAA,KAAA,WAAA;AACA,WAAA,MAAA,CAAA,QAAA,CAAA,yBAAA,EAAA,KAAA,WAAA,EAAA,IAAA,CAAA,YAAA;AACA,QAAA,MAAA,CAAA,gBAAA;AACA,OAFA;AAGA,KAvFA;AAwFA,IAAA,YAxFA,wBAwFA,IAxFA,EAwFA;AAAA;;AACA,WAAA,MAAA,CAAA,QAAA,CAAA,sBAAA,EAAA,IAAA,CAAA,iBAEA;AAAA,YADA,YACA,SADA,YACA;;AACA,YAAA,MAAA,CAAA,SAAA,CAAA,IAAA,CAAA,UAAA,GAAA;AAAA,iBAAA,GAAA,CAAA,IAAA,KAAA,IAAA,CAAA,IAAA;AAAA,SAAA,CAAA,EAAA;AACA;AACA;;AACA,QAAA,MAAA,CAAA,UAAA,CAAA,YAAA,EAAA,IAAA;AACA,OAPA;AAQA,KAjGA;AAkGA,IAAA,UAlGA,sBAkGA,YAlGA,EAkGA,IAlGA,EAkGA;AACA,UAAA,UAAA,GAAA,YAAA,CAAA,KAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;;AACA,UAAA,UAAA,EAAA;AACA,aAAA,OAAA,CAAA,IAAA,CAAA,UAAA;AACA,OAFA,MAEA;AACA;AACA;AACA,YAAA,IAAA,CAAA,IAAA,KAAA,WAAA,EAAA;AACA;AACA,eAAA,OAAA,CAAA,OAAA,CAAA;AACA,YAAA,IAAA,EAAA,cAAA,IAAA,CAAA;AADA,WAAA;AAGA,SALA,MAKA;AACA,eAAA,OAAA,CAAA,IAAA,CAAA,GAAA;AACA;AACA;AACA,KAlHA;AAmHA,IAAA,QAnHA,oBAmHA,GAnHA,EAmHA,CAnHA,EAmHA;AACA,UAAA,YAAA,GAAA,GAAA;AACA,UAAA,UAAA,GAAA,KAAA,GAAA,CAAA,qBAAA,GAAA,IAAA,CAFA,CAEA;;AACA,UAAA,WAAA,GAAA,KAAA,GAAA,CAAA,WAAA,CAHA,CAGA;;AACA,UAAA,OAAA,GAAA,WAAA,GAAA,YAAA,CAJA,CAIA;;AACA,UAAA,IAAA,GAAA,CAAA,CAAA,OAAA,GAAA,UAAA,GAAA,EAAA,CALA,CAKA;;AAEA,UAAA,IAAA,GAAA,OAAA,EAAA;AACA,aAAA,IAAA,GAAA,OAAA;AACA,OAFA,MAEA;AACA,aAAA,IAAA,GAAA,IAAA;AACA;;AAEA,WAAA,GAAA,GAAA,CAAA,CAAA,OAAA;AACA,WAAA,OAAA,GAAA,IAAA;AACA,WAAA,WAAA,GAAA,GAAA;AACA,KAnIA;AAoIA,IAAA,SApIA,uBAoIA;AACA,WAAA,OAAA,GAAA,KAAA;AACA;AAtIA;AAhFA,CAAA","sourcesContent":["<template>\r\n\t<div id=\"tags-view-container\" class=\"tags-view-container\" :style='{\"padding\":\"4px 30px\",\"margin\":\"10px 0\",\"borderColor\":\"#d8dce5\",\"background\":\"#fff\",\"borderWidth\":\"0 0 1px\",\"width\":\"100%\",\"borderStyle\":\"solid\",\"height\":\"34px\"}'>\r\n\t\t<scroll-pane ref=\"scrollPane\" class=\"tags-view-wrapper\">\r\n\t\t\t<div class=\"tags-view-box\" :style='{\"width\":\"100%\",\"whiteSpace\":\"nowrap\",\"position\":\"relative\",\"background\":\"#fff\"}'>\r\n\t\t\t\t<router-link v-for=\"tag in visitedViews\" ref=\"tag\" :key=\"tag.path\" :class=\"isActive(tag)?'active':''\"\r\n\t\t\t\t\t:to=\"{ path: tag.path, query: tag.query, fullPath: tag.fullPath }\" tag=\"span\" class=\"tags-view-item\"\r\n\t\t\t\t\t@click.middle.native=\"closeSelectedTag(tag)\" @contextmenu.prevent.native=\"openMenu(tag,$event)\">\r\n\t\t\t\t\t<span class=\"text\">{{ tag.name }}</span>\r\n\t\t\t\t\t<span v-if=\"!tag.meta.affix\" class=\"el-icon-close\" @click.prevent.stop=\"closeSelectedTag(tag)\" />\r\n\t\t\t\t</router-link>\r\n\t\t\t</div>\r\n\t\t</scroll-pane>\r\n\t\t<ul v-show=\"visible\" :style=\"{left:left+'px',top:top+'px'}\" class=\"contextmenu\">\r\n\t\t\t<li v-if=\"!(selectedTag.meta&&selectedTag.meta.affix)\" @click=\"closeSelectedTag(selectedTag)\">Close</li>\r\n\t\t\t<li @click=\"closeAllTags(selectedTag)\">Close All</li>\r\n\t\t</ul>\r\n\t</div>\r\n</template>\r\n\r\n<script>\r\n\timport ScrollPane from './ScrollPane'\r\n\timport path from 'path'\r\n\timport {\r\n\t\tgenerateTitle\r\n\t} from '@/utils/i18n'\r\n\timport menu from '@/utils/menu'\r\n\timport { routes } from '@/router/router-static.js'\r\n\t\r\n\texport default {\r\n\t\tcomponents: {\r\n\t\t\tScrollPane\r\n\t\t},\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tvisible: false,\r\n\t\t\t\ttop: 0,\r\n\t\t\t\tleft: 0,\r\n\t\t\t\tselectedTag: {},\r\n\t\t\t\taffixTags: [],\r\n\t\t\t\troutes: []\r\n\t\t\t}\r\n\t\t},\r\n\t\tcomputed: {\r\n\t\t\tvisitedViews() {\r\n\t\t\t\treturn this.$store.state.tagsView.visitedViews\r\n\t\t\t},\r\n\t\t\t// routes() {\r\n\t\t\t// return this.$store.state.menu.routes\r\n\t\t\t// }\r\n\t\t},\r\n\t\twatch: {\r\n\t\t\t$route() {\r\n\t\t\t\tthis.addTags()\r\n\t\t\t\tthis.moveToCurrentTag()\r\n\t\t\t},\r\n\t\t\tvisible(value) {\r\n\t\t\t\tif (value) {\r\n\t\t\t\t\tdocument.body.addEventListener('click', this.closeMenu)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdocument.body.removeEventListener('click', this.closeMenu)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\tmounted() {\r\n\t\t\tthis.initTags()\r\n\t\t\tthis.addTags()\r\n\t\t},\r\n\t\tcreated() {\r\n\t\t\tthis.routes = menu\r\n\t\t\t\r\n\t\t\tlet menuList = []\r\n\t\t\tconst menus = menu.list()\r\n\t\t\tif (menus) {\r\n\t\t\t\tmenuList = menus\r\n\t\t\t} else {\r\n\t\t\t\tlet params = {\r\n\t\t\t\t\tpage: 1,\r\n\t\t\t\t\tlimit: 1,\r\n\t\t\t\t\tsort: 'id',\r\n\t\t\t\t}\r\n\t\t\t\r\n\t\t\t\tthis.$http({\r\n\t\t\t\t\turl: \"menu/list\",\r\n\t\t\t\t\tmethod: \"get\",\r\n\t\t\t\t\tparams: params\r\n\t\t\t\t}).then(({\r\n\t\t\t\t\tdata\r\n\t\t\t\t}) => {\r\n\t\t\t\t\tif (data && data.code === 0) {\r\n\t\t\t\t\t\tmenuList = JSON.parse(data.data.list[0].menujson);\r\n\t\t\t\t\t\tthis.$storage.set(\"menus\", menuList);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\tthis.role = this.$storage.get('role')\r\n\t\t\t\r\n\t\t\tfor (let i = 0; i < menuList.length; i++) {\r\n\t\t\t\tif (menuList[i].roleName == this.role) {\r\n\t\t\t\t\tthis.routes = menuList[i].backMenu;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.routes = routes.concat(this.routes);\r\n\t\t\t// console.log(this.visitedViews)\r\n\t\t\t// console.log(this.routes)\r\n\t\t\t// this.initTags()\r\n\t\t\t// this.addTags()\r\n\t\t},\r\n\t\tmethods: {\r\n\t\t\tisActive(route) {\r\n\t\t\t\treturn route.path === this.$route.path\r\n\t\t\t},\r\n\t\t\tfilterAffixTags(routes, basePath = '/') {\r\n\t\t\t\tlet tags = []\r\n\t\t\t\troutes.forEach(route => {\r\n\t\t\t\t\tif (route.meta && route.meta.affix) {\r\n\t\t\t\t\t\tconst tagPath = path.resolve(basePath, route.path)\r\n\t\t\t\t\t\ttags.push({\r\n\t\t\t\t\t\t\tfullPath: tagPath,\r\n\t\t\t\t\t\t\tpath: tagPath,\r\n\t\t\t\t\t\t\tname: route.name,\r\n\t\t\t\t\t\t\tmeta: {\r\n\t\t\t\t\t\t\t\t...route.meta\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (route.children) {\r\n\t\t\t\t\t\tconst tempTags = this.filterAffixTags(route.children, route.path)\r\n\t\t\t\t\t\tif (tempTags.length >= 1) {\r\n\t\t\t\t\t\t\ttags = [...tags, ...tempTags]\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\treturn tags\r\n\t\t\t},\r\n\t\t\tgenerateTitle,\r\n\t\t\tinitTags() {\r\n\t\t\t\tconst affixTags = this.affixTags = this.filterAffixTags(this.routes)\r\n\t\t\t\tfor (const tag of affixTags) {\r\n\t\t\t\t\t// Must have tag name\r\n\t\t\t\t\tif (tag.name) {\r\n\t\t\t\t\t\tthis.$store.dispatch('tagsView/addVisitedView', tag)\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\taddTags() {\r\n\t\t\t\tconst {\r\n\t\t\t\t\tname\r\n\t\t\t\t} = this.$route\r\n\t\t\t\tif (name) {\r\n\t\t\t\t\tthis.$store.dispatch('tagsView/addView', this.$route)\r\n\t\t\t\t}\r\n\t\t\t\treturn false\r\n\t\t\t},\r\n\t\t\tmoveToCurrentTag() {\r\n\t\t\t\tconst tags = this.$refs.tag\r\n\t\t\t\tthis.$nextTick(() => {\r\n\t\t\t\t\tfor (const tag of tags) {\r\n\t\t\t\t\t\tif (tag.to.path === this.$route.path) {\r\n\t\t\t\t\t\t\tthis.$refs.scrollPane.moveToTarget(tag)\r\n\t\t\t\t\t\t\t// when query is different then update\r\n\t\t\t\t\t\t\tif (tag.to.fullPath !== this.$route.fullPath) {\r\n\t\t\t\t\t\t\t\tthis.$store.dispatch('tagsView/updateVisitedView', this.$route)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tbreak\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\trefreshSelectedTag(view) {\r\n\t\t\t\tthis.$store.dispatch('tagsView/delCachedView', view).then(() => {\r\n\t\t\t\t\tconst {\r\n\t\t\t\t\t\tfullPath\r\n\t\t\t\t\t} = view\r\n\t\t\t\t\tthis.$nextTick(() => {\r\n\t\t\t\t\t\tthis.$router.replace({\r\n\t\t\t\t\t\t\tpath: '/redirect' + fullPath\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t})\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\tcloseSelectedTag(view) {\r\n\t\t\t\tthis.$store.dispatch('tagsView/delView', view).then(({\r\n\t\t\t\t\tvisitedViews\r\n\t\t\t\t}) => {\r\n\t\t\t\t\tif (this.isActive(view)) {\r\n\t\t\t\t\t\tthis.toLastView(visitedViews, view)\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\tcloseOthersTags() {\r\n\t\t\t\tthis.$router.push(this.selectedTag)\r\n\t\t\t\tthis.$store.dispatch('tagsView/delOthersViews', this.selectedTag).then(() => {\r\n\t\t\t\t\tthis.moveToCurrentTag()\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\tcloseAllTags(view) {\r\n\t\t\t\tthis.$store.dispatch('tagsView/delAllViews').then(({\r\n\t\t\t\t\tvisitedViews\r\n\t\t\t\t}) => {\r\n\t\t\t\t\tif (this.affixTags.some(tag => tag.path === view.path)) {\r\n\t\t\t\t\t\treturn\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.toLastView(visitedViews, view)\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\ttoLastView(visitedViews, view) {\r\n\t\t\t\tconst latestView = visitedViews.slice(-1)[0]\r\n\t\t\t\tif (latestView) {\r\n\t\t\t\t\tthis.$router.push(latestView)\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// now the default is to redirect to the home page if there is no tags-view,\r\n\t\t\t\t\t// you can adjust it according to your needs.\r\n\t\t\t\t\tif (view.name === 'Dashboard') {\r\n\t\t\t\t\t\t// to reload home page\r\n\t\t\t\t\t\tthis.$router.replace({\r\n\t\t\t\t\t\t\tpath: '/redirect' + view.fullPath\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.$router.push('/')\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\topenMenu(tag, e) {\r\n\t\t\t\tconst menuMinWidth = 105\r\n\t\t\t\tconst offsetLeft = this.$el.getBoundingClientRect().left // container margin left\r\n\t\t\t\tconst offsetWidth = this.$el.offsetWidth // container width\r\n\t\t\t\tconst maxLeft = offsetWidth - menuMinWidth // left boundary\r\n\t\t\t\tconst left = e.clientX - offsetLeft + 15 // 15: margin right\r\n\r\n\t\t\t\tif (left > maxLeft) {\r\n\t\t\t\t\tthis.left = maxLeft\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.left = left\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.top = e.clientY\r\n\t\t\t\tthis.visible = true\r\n\t\t\t\tthis.selectedTag = tag\r\n\t\t\t},\r\n\t\t\tcloseMenu() {\r\n\t\t\t\tthis.visible = false\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n\t.tags-view-container {\r\n\t\theight: 34px;\r\n\t\twidth: 100%;\r\n\t\tbackground: #fff;\r\n\t\tborder-bottom: 1px solid #d8dce5;\r\n\t\tbox-shadow: 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 3px 0 rgba(0, 0, 0, .04);\r\n\r\n\t\t.contextmenu {\r\n\t\t\tmargin: 0;\r\n\t\t\tbackground: #fff;\r\n\t\t\tz-index: 3000;\r\n\t\t\tposition: absolute;\r\n\t\t\tlist-style-type: none;\r\n\t\t\tpadding: 5px 0;\r\n\t\t\tborder-radius: 4px;\r\n\t\t\tfont-size: 12px;\r\n\t\t\tfont-weight: 400;\r\n\t\t\tcolor: #333;\r\n\t\t\tbox-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3);\r\n\r\n\t\t\tli {\r\n\t\t\t\tmargin: 0;\r\n\t\t\t\tpadding: 7px 16px;\r\n\t\t\t\tcursor: pointer;\r\n\r\n\t\t\t\t&:hover {\r\n\t\t\t\t\tbackground: #eee;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t\r\n\t.tags-view-container .tags-view-wrapper .tags-view-item {\r\n\t\t\t\tcursor: pointer;\r\n\t\t\t\tpadding: 0 8px;\r\n\t\t\t\tmargin: 0 5px 0 0;\r\n\t\t\t\tcolor: #333;\r\n\t\t\t\tdisplay: inline-block;\r\n\t\t\t\tfont-size: 12px;\r\n\t\t\t\tborder-color: #d8dce5;\r\n\t\t\t\tline-height: 25px;\r\n\t\t\t\tbackground: #fff;\r\n\t\t\t\twidth: auto;\r\n\t\t\t\tborder-width: 1px 1px 0 1px;\r\n\t\t\t\tborder-style: solid;\r\n\t\t\t\theight: 25px;\r\n\t\t\t}\r\n\t\r\n\t.tags-view-container .tags-view-wrapper .tags-view-item:hover {\r\n\t\t\t\tbackground: rgba(44, 55, 66,0.1);\r\n\t\t\t}\r\n\t\r\n\t.tags-view-container .tags-view-wrapper .tags-view-item.active {\r\n\t\t\t\tcolor: #fff;\r\n\t\t\t\tbackground: rgba(44, 55, 66,0.8);\r\n\t\t\t}\r\n\t\r\n\t.tags-view-container .tags-view-wrapper .tags-view-item .text {\r\n\t\t\t\tcolor: inherit;\r\n\t\t\t\tfont-size: inherit;\r\n\t\t\t}\r\n\t\r\n\t.tags-view-container .tags-view-wrapper .tags-view-item .el-icon-close {\r\n\t\t\t\tcolor: inherit;\r\n\t\t\t\tfont-size: inherit;\r\n\t\t\t}\r\n</style>"],"sourceRoot":"src/components/index/TagsView"}]}