1 |
- {"remainingRequest":"C:\\Users\\Administrator\\Desktop\\最新\\supervision-ui\\node_modules\\babel-loader\\lib\\index.js!C:\\Users\\Administrator\\Desktop\\最新\\supervision-ui\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!C:\\Users\\Administrator\\Desktop\\最新\\supervision-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\Administrator\\Desktop\\最新\\supervision-ui\\src\\layout\\components\\TagsView\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"C:\\Users\\Administrator\\Desktop\\最新\\supervision-ui\\src\\layout\\components\\TagsView\\index.vue","mtime":1647228900695},{"path":"C:\\Users\\Administrator\\Desktop\\最新\\supervision-ui\\babel.config.js","mtime":1647228883111},{"path":"C:\\Users\\Administrator\\Desktop\\最新\\supervision-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\最新\\supervision-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"C:\\Users\\Administrator\\Desktop\\最新\\supervision-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\最新\\supervision-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:InVzZSBzdHJpY3QiOwoKdmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKCJDOlxcVXNlcnNcXEFkbWluaXN0cmF0b3JcXERlc2t0b3BcXFx1NjcwMFx1NjVCMFxcc3VwZXJ2aXNpb24tdWlcXG5vZGVfbW9kdWxlc1xcQGJhYmVsXFxydW50aW1lXFxoZWxwZXJzXFxpbnRlcm9wUmVxdWlyZURlZmF1bHQuanMiKS5kZWZhdWx0OwoKT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgewogIHZhbHVlOiB0cnVlCn0pOwpleHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7Cgp2YXIgX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKCJDOlxcVXNlcnNcXEFkbWluaXN0cmF0b3JcXERlc2t0b3BcXFx1NjcwMFx1NjVCMFxcc3VwZXJ2aXNpb24tdWlcXG5vZGVfbW9kdWxlc1xcQGJhYmVsXFxydW50aW1lXFxoZWxwZXJzXFxjcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyLmpzIikpOwoKdmFyIF90b0NvbnN1bWFibGVBcnJheTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoIkM6XFxVc2Vyc1xcQWRtaW5pc3RyYXRvclxcRGVza3RvcFxcXHU2NzAwXHU2NUIwXFxzdXBlcnZpc2lvbi11aVxcbm9kZV9tb2R1bGVzXFxAYmFiZWxcXHJ1bnRpbWVcXGhlbHBlcnNcXHRvQ29uc3VtYWJsZUFycmF5LmpzIikpOwoKdmFyIF9vYmplY3RTcHJlYWQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKCJDOlxcVXNlcnNcXEFkbWluaXN0cmF0b3JcXERlc2t0b3BcXFx1NjcwMFx1NjVCMFxcc3VwZXJ2aXNpb24tdWlcXG5vZGVfbW9kdWxlc1xcQGJhYmVsXFxydW50aW1lXFxoZWxwZXJzXFxvYmplY3RTcHJlYWQyLmpzIikpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiKTsKCnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLmZvci1lYWNoLmpzIik7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuZnVuY3Rpb24ubmFtZS5qcyIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmNvbmNhdC5qcyIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC5leGVjLmpzIik7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLnJlcGxhY2UuanMiKTsKCnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5maW5kLmpzIik7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuc2xpY2UuanMiKTsKCnZhciBfU2Nyb2xsUGFuZSA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZSgiLi9TY3JvbGxQYW5lIikpOwoKdmFyIF9wYXRoID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKCJwYXRoIikpOwoKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KdmFyIF9kZWZhdWx0ID0gewogIGNvbXBvbmVudHM6IHsKICAgIFNjcm9sbFBhbmU6IF9TY3JvbGxQYW5lLmRlZmF1bHQKICB9LAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICB2aXNpYmxlOiBmYWxzZSwKICAgICAgdG9wOiAwLAogICAgICBsZWZ0OiAwLAogICAgICBzZWxlY3RlZFRhZzoge30sCiAgICAgIGFmZml4VGFnczogW10KICAgIH07CiAgfSwKICBjb21wdXRlZDogewogICAgdmlzaXRlZFZpZXdzOiBmdW5jdGlvbiB2aXNpdGVkVmlld3MoKSB7CiAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS50YWdzVmlldy52aXNpdGVkVmlld3M7CiAgICB9LAogICAgcm91dGVzOiBmdW5jdGlvbiByb3V0ZXMoKSB7CiAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS5wZXJtaXNzaW9uLnJvdXRlczsKICAgIH0sCiAgICB0aGVtZTogZnVuY3Rpb24gdGhlbWUoKSB7CiAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS5zZXR0aW5ncy50aGVtZTsKICAgIH0KICB9LAogIHdhdGNoOiB7CiAgICAkcm91dGU6IGZ1bmN0aW9uICRyb3V0ZSgpIHsKICAgICAgdGhpcy5hZGRUYWdzKCk7CiAgICAgIHRoaXMubW92ZVRvQ3VycmVudFRhZygpOwogICAgfSwKICAgIHZpc2libGU6IGZ1bmN0aW9uIHZpc2libGUodmFsdWUpIHsKICAgICAgaWYgKHZhbHVlKSB7CiAgICAgICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuY2xvc2VNZW51KTsKICAgICAgfSBlbHNlIHsKICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5jbG9zZU1lbnUpOwogICAgICB9CiAgICB9CiAgfSwKICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkgewogICAgdGhpcy5pbml0VGFncygpOwogICAgdGhpcy5hZGRUYWdzKCk7CiAgICBjb25zb2xlLmxvZygpOwogIH0sCiAgbWV0aG9kczogewogICAgaXNBY3RpdmU6IGZ1bmN0aW9uIGlzQWN0aXZlKHJvdXRlKSB7CiAgICAgIHJldHVybiByb3V0ZS5wYXRoID09PSB0aGlzLiRyb3V0ZS5wYXRoOwogICAgfSwKICAgIGFjdGl2ZVN0eWxlOiBmdW5jdGlvbiBhY3RpdmVTdHlsZSh0YWcpIHsKICAgICAgaWYgKCF0aGlzLmlzQWN0aXZlKHRhZykpIHJldHVybiB7fTsKICAgICAgcmV0dXJuIHsKICAgICAgICAiYmFja2dyb3VuZC1jb2xvciI6IHRoaXMudGhlbWUsCiAgICAgICAgImJvcmRlci1jb2xvciI6IHRoaXMudGhlbWUKICAgICAgfTsKICAgIH0sCiAgICBpc0FmZml4OiBmdW5jdGlvbiBpc0FmZml4KHRhZykgewogICAgICByZXR1cm4gdGFnLm1ldGEgJiYgdGFnLm1ldGEuYWZmaXg7CiAgICB9LAogICAgaXNGaXJzdFZpZXc6IGZ1bmN0aW9uIGlzRmlyc3RWaWV3KCkgewogICAgICB0cnkgewogICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkVGFnLmZ1bGxQYXRoID09PSB0aGlzLnZpc2l0ZWRWaWV3c1sxXS5mdWxsUGF0aCB8fCB0aGlzLnNlbGVjdGVkVGFnLmZ1bGxQYXRoID09PSAnL2luZGV4JzsKICAgICAgfSBjYXRjaCAoZXJyKSB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CiAgICB9LAogICAgaXNMYXN0VmlldzogZnVuY3Rpb24gaXNMYXN0VmlldygpIHsKICAgICAgdHJ5IHsKICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFRhZy5mdWxsUGF0aCA9PT0gdGhpcy52aXNpdGVkVmlld3NbdGhpcy52aXNpdGVkVmlld3MubGVuZ3RoIC0gMV0uZnVsbFBhdGg7CiAgICAgIH0gY2F0Y2ggKGVycikgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQogICAgfSwKICAgIGZpbHRlckFmZml4VGFnczogZnVuY3Rpb24gZmlsdGVyQWZmaXhUYWdzKHJvdXRlcykgewogICAgICB2YXIgX3RoaXMgPSB0aGlzOwoKICAgICAgdmFyIGJhc2VQYXRoID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiAnLyc7CiAgICAgIHZhciB0YWdzID0gW107CiAgICAgIHJvdXRlcy5mb3JFYWNoKGZ1bmN0aW9uIChyb3V0ZSkgewogICAgICAgIGlmIChyb3V0ZS5tZXRhICYmIHJvdXRlLm1ldGEuYWZmaXgpIHsKICAgICAgICAgIHZhciB0YWdQYXRoID0gX3BhdGguZGVmYXVsdC5yZXNvbHZlKGJhc2VQYXRoLCByb3V0ZS5wYXRoKTsKCiAgICAgICAgICB0YWdzLnB1c2goewogICAgICAgICAgICBmdWxsUGF0aDogdGFnUGF0aCwKICAgICAgICAgICAgcGF0aDogdGFnUGF0aCwKICAgICAgICAgICAgbmFtZTogcm91dGUubmFtZSwKICAgICAgICAgICAgbWV0YTogKDAsIF9vYmplY3RTcHJlYWQyLmRlZmF1bHQpKHt9LCByb3V0ZS5tZXRhKQogICAgICAgICAgfSk7CiAgICAgICAgfQoKICAgICAgICBpZiAocm91dGUuY2hpbGRyZW4pIHsKICAgICAgICAgIHZhciB0ZW1wVGFncyA9IF90aGlzLmZpbHRlckFmZml4VGFncyhyb3V0ZS5jaGlsZHJlbiwgcm91dGUucGF0aCk7CgogICAgICAgICAgaWYgKHRlbXBUYWdzLmxlbmd0aCA+PSAxKSB7CiAgICAgICAgICAgIHRhZ3MgPSBbXS5jb25jYXQoKDAsIF90b0NvbnN1bWFibGVBcnJheTIuZGVmYXVsdCkodGFncyksICgwLCBfdG9Db25zdW1hYmxlQXJyYXkyLmRlZmF1bHQpKHRlbXBUYWdzKSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9KTsKICAgICAgcmV0dXJuIHRhZ3M7CiAgICB9LAogICAgaW5pdFRhZ3M6IGZ1bmN0aW9uIGluaXRUYWdzKCkgewogICAgICB2YXIgYWZmaXhUYWdzID0gdGhpcy5hZmZpeFRhZ3MgPSB0aGlzLmZpbHRlckFmZml4VGFncyh0aGlzLnJvdXRlcyk7CgogICAgICB2YXIgX2l0ZXJhdG9yID0gKDAsIF9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyMi5kZWZhdWx0KShhZmZpeFRhZ3MpLAogICAgICAgICAgX3N0ZXA7CgogICAgICB0cnkgewogICAgICAgIGZvciAoX2l0ZXJhdG9yLnMoKTsgIShfc3RlcCA9IF9pdGVyYXRvci5uKCkpLmRvbmU7KSB7CiAgICAgICAgICB2YXIgdGFnID0gX3N0ZXAudmFsdWU7CgogICAgICAgICAgLy8gTXVzdCBoYXZlIHRhZyBuYW1lCiAgICAgICAgICBpZiAodGFnLm5hbWUpIHsKICAgICAgICAgICAgdGhpcy4kc3RvcmUuZGlzcGF0Y2goJ3RhZ3NWaWV3L2FkZFZpc2l0ZWRWaWV3JywgdGFnKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0gY2F0Y2ggKGVycikgewogICAgICAgIF9pdGVyYXRvci5lKGVycik7CiAgICAgIH0gZmluYWxseSB7CiAgICAgICAgX2l0ZXJhdG9yLmYoKTsKICAgICAgfQogICAgfSwKICAgIGFkZFRhZ3M6IGZ1bmN0aW9uIGFkZFRhZ3MoKSB7CiAgICAgIHZhciBuYW1lID0gdGhpcy4kcm91dGUubmFtZTsKCiAgICAgIGlmIChuYW1lKSB7CiAgICAgICAgdGhpcy4kc3RvcmUuZGlzcGF0Y2goJ3RhZ3NWaWV3L2FkZFZpZXcnLCB0aGlzLiRyb3V0ZSk7CiAgICAgIH0KCiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0sCiAgICBtb3ZlVG9DdXJyZW50VGFnOiBmdW5jdGlvbiBtb3ZlVG9DdXJyZW50VGFnKCkgewogICAgICB2YXIgX3RoaXMyID0gdGhpczsKCiAgICAgIHZhciB0YWdzID0gdGhpcy4kcmVmcy50YWc7CiAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgX2l0ZXJhdG9yMiA9ICgwLCBfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlcjIuZGVmYXVsdCkodGFncyksCiAgICAgICAgICAgIF9zdGVwMjsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgIGZvciAoX2l0ZXJhdG9yMi5zKCk7ICEoX3N0ZXAyID0gX2l0ZXJhdG9yMi5uKCkpLmRvbmU7KSB7CiAgICAgICAgICAgIHZhciB0YWcgPSBfc3RlcDIudmFsdWU7CgogICAgICAgICAgICBpZiAodGFnLnRvLnBhdGggPT09IF90aGlzMi4kcm91dGUucGF0aCkgewogICAgICAgICAgICAgIF90aGlzMi4kcmVmcy5zY3JvbGxQYW5lLm1vdmVUb1RhcmdldCh0YWcpOyAvLyB3aGVuIHF1ZXJ5IGlzIGRpZmZlcmVudCB0aGVuIHVwZGF0ZQoKCiAgICAgICAgICAgICAgaWYgKHRhZy50by5mdWxsUGF0aCAhPT0gX3RoaXMyLiRyb3V0ZS5mdWxsUGF0aCkgewogICAgICAgICAgICAgICAgX3RoaXMyLiRzdG9yZS5kaXNwYXRjaCgndGFnc1ZpZXcvdXBkYXRlVmlzaXRlZFZpZXcnLCBfdGhpczIuJHJvdXRlKTsKICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfSBjYXRjaCAoZXJyKSB7CiAgICAgICAgICBfaXRlcmF0b3IyLmUoZXJyKTsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgX2l0ZXJhdG9yMi5mKCk7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCiAgICByZWZyZXNoU2VsZWN0ZWRUYWc6IGZ1bmN0aW9uIHJlZnJlc2hTZWxlY3RlZFRhZyh2aWV3KSB7CiAgICAgIHZhciBfdGhpczMgPSB0aGlzOwoKICAgICAgdGhpcy4kc3RvcmUuZGlzcGF0Y2goJ3RhZ3NWaWV3L2RlbENhY2hlZFZpZXcnLCB2aWV3KS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICAvLyBjb25zdCB7IGZ1bGxQYXRoIH0gPSB2aWV3CiAgICAgICAgX3RoaXMzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7CiAgICAgICAgICBfdGhpczMuJHJvdXRlci5yZXBsYWNlKHsKICAgICAgICAgICAgLy8gcGF0aDogJy9yZWRpcmVjdCcgKyBmdWxsUGF0aAogICAgICAgICAgICBwYXRoOiAnL2luZGV4JwogICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfSwKICAgIGNsb3NlU2VsZWN0ZWRUYWc6IGZ1bmN0aW9uIGNsb3NlU2VsZWN0ZWRUYWcodmlldykgewogICAgICB2YXIgX3RoaXM0ID0gdGhpczsKCiAgICAgIHRoaXMuJHN0b3JlLmRpc3BhdGNoKCd0YWdzVmlldy9kZWxWaWV3JywgdmlldykudGhlbihmdW5jdGlvbiAoX3JlZikgewogICAgICAgIHZhciB2aXNpdGVkVmlld3MgPSBfcmVmLnZpc2l0ZWRWaWV3czsKCiAgICAgICAgaWYgKF90aGlzNC5pc0FjdGl2ZSh2aWV3KSkgewogICAgICAgICAgX3RoaXM0LnRvTGFzdFZpZXcodmlzaXRlZFZpZXdzLCB2aWV3KTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIGNsb3NlUmlnaHRUYWdzOiBmdW5jdGlvbiBjbG9zZVJpZ2h0VGFncygpIHsKICAgICAgdmFyIF90aGlzNSA9IHRoaXM7CgogICAgICB0aGlzLiRzdG9yZS5kaXNwYXRjaCgndGFnc1ZpZXcvZGVsUmlnaHRUYWdzJywgdGhpcy5zZWxlY3RlZFRhZykudGhlbihmdW5jdGlvbiAodmlzaXRlZFZpZXdzKSB7CiAgICAgICAgaWYgKCF2aXNpdGVkVmlld3MuZmluZChmdW5jdGlvbiAoaSkgewogICAgICAgICAgcmV0dXJuIGkuZnVsbFBhdGggPT09IF90aGlzNS4kcm91dGUuZnVsbFBhdGg7CiAgICAgICAgfSkpIHsKICAgICAgICAgIF90aGlzNS50b0xhc3RWaWV3KHZpc2l0ZWRWaWV3cyk7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCiAgICBjbG9zZUxlZnRUYWdzOiBmdW5jdGlvbiBjbG9zZUxlZnRUYWdzKCkgewogICAgICB2YXIgX3RoaXM2ID0gdGhpczsKCiAgICAgIHRoaXMuJHN0b3JlLmRpc3BhdGNoKCd0YWdzVmlldy9kZWxMZWZ0VGFncycsIHRoaXMuc2VsZWN0ZWRUYWcpLnRoZW4oZnVuY3Rpb24gKHZpc2l0ZWRWaWV3cykgewogICAgICAgIGlmICghdmlzaXRlZFZpZXdzLmZpbmQoZnVuY3Rpb24gKGkpIHsKICAgICAgICAgIHJldHVybiBpLmZ1bGxQYXRoID09PSBfdGhpczYuJHJvdXRlLmZ1bGxQYXRoOwogICAgICAgIH0pKSB7CiAgICAgICAgICBfdGhpczYudG9MYXN0Vmlldyh2aXNpdGVkVmlld3MpOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgY2xvc2VPdGhlcnNUYWdzOiBmdW5jdGlvbiBjbG9zZU90aGVyc1RhZ3MoKSB7CiAgICAgIHZhciBfdGhpczcgPSB0aGlzOwoKICAgICAgdGhpcy4kcm91dGVyLnB1c2godGhpcy5zZWxlY3RlZFRhZykuY2F0Y2goZnVuY3Rpb24gKCkge30pOwogICAgICB0aGlzLiRzdG9yZS5kaXNwYXRjaCgndGFnc1ZpZXcvZGVsT3RoZXJzVmlld3MnLCB0aGlzLnNlbGVjdGVkVGFnKS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICBfdGhpczcubW92ZVRvQ3VycmVudFRhZygpOwogICAgICB9KTsKICAgIH0sCiAgICBjbG9zZUFsbFRhZ3M6IGZ1bmN0aW9uIGNsb3NlQWxsVGFncyh2aWV3KSB7CiAgICAgIHZhciBfdGhpczggPSB0aGlzOwoKICAgICAgdGhpcy4kc3RvcmUuZGlzcGF0Y2goJ3RhZ3NWaWV3L2RlbEFsbFZpZXdzJykudGhlbihmdW5jdGlvbiAoX3JlZjIpIHsKICAgICAgICB2YXIgdmlzaXRlZFZpZXdzID0gX3JlZjIudmlzaXRlZFZpZXdzOwoKICAgICAgICBpZiAoX3RoaXM4LmFmZml4VGFncy5zb21lKGZ1bmN0aW9uICh0YWcpIHsKICAgICAgICAgIHJldHVybiB0YWcucGF0aCA9PT0gX3RoaXM4LiRyb3V0ZS5wYXRoOwogICAgICAgIH0pKSB7CiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICBfdGhpczgudG9MYXN0Vmlldyh2aXNpdGVkVmlld3MsIHZpZXcpOwogICAgICB9KTsKICAgIH0sCiAgICB0b0xhc3RWaWV3OiBmdW5jdGlvbiB0b0xhc3RWaWV3KHZpc2l0ZWRWaWV3cywgdmlldykgewogICAgICB2YXIgbGF0ZXN0VmlldyA9IHZpc2l0ZWRWaWV3cy5zbGljZSgtMSlbMF07CgogICAgICBpZiAobGF0ZXN0VmlldykgewogICAgICAgIHRoaXMuJHJvdXRlci5wdXNoKGxhdGVzdFZpZXcuZnVsbFBhdGgpOwogICAgICB9IGVsc2UgewogICAgICAgIC8vIG5vdyB0aGUgZGVmYXVsdCBpcyB0byByZWRpcmVjdCB0byB0aGUgaG9tZSBwYWdlIGlmIHRoZXJlIGlzIG5vIHRhZ3MtdmlldywKICAgICAgICAvLyB5b3UgY2FuIGFkanVzdCBpdCBhY2NvcmRpbmcgdG8geW91ciBuZWVkcy4KICAgICAgICBpZiAodmlldy5uYW1lID09PSAnRGFzaGJvYXJkJykgewogICAgICAgICAgLy8gdG8gcmVsb2FkIGhvbWUgcGFnZQogICAgICAgICAgdGhpcy4kcm91dGVyLnJlcGxhY2UoewogICAgICAgICAgICBwYXRoOiAnL3JlZGlyZWN0JyArIHZpZXcuZnVsbFBhdGgKICAgICAgICAgIH0pOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB0aGlzLiRyb3V0ZXIucHVzaCgnLycpOwogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgIG9wZW5NZW51OiBmdW5jdGlvbiBvcGVuTWVudSh0YWcsIGUpIHsKICAgICAgdmFyIG1lbnVNaW5XaWR0aCA9IDEwNTsKICAgICAgdmFyIG9mZnNldExlZnQgPSB0aGlzLiRlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0OyAvLyBjb250YWluZXIgbWFyZ2luIGxlZnQKCiAgICAgIHZhciBvZmZzZXRXaWR0aCA9IHRoaXMuJGVsLm9mZnNldFdpZHRoOyAvLyBjb250YWluZXIgd2lkdGgKCiAgICAgIHZhciBtYXhMZWZ0ID0gb2Zmc2V0V2lkdGggLSBtZW51TWluV2lkdGg7IC8vIGxlZnQgYm91bmRhcnkKCiAgICAgIHZhciBsZWZ0ID0gZS5jbGllbnRYIC0gb2Zmc2V0TGVmdCArIDE1OyAvLyAxNTogbWFyZ2luIHJpZ2h0CgogICAgICBpZiAobGVmdCA+IG1heExlZnQpIHsKICAgICAgICB0aGlzLmxlZnQgPSBtYXhMZWZ0OwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMubGVmdCA9IGxlZnQ7CiAgICAgIH0KCiAgICAgIHRoaXMudG9wID0gZS5jbGllbnRZOwogICAgICB0aGlzLnZpc2libGUgPSB0cnVlOwogICAgICB0aGlzLnNlbGVjdGVkVGFnID0gdGFnOwogICAgfSwKICAgIGNsb3NlTWVudTogZnVuY3Rpb24gY2xvc2VNZW51KCkgewogICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTsKICAgIH0sCiAgICBoYW5kbGVTY3JvbGw6IGZ1bmN0aW9uIGhhbmRsZVNjcm9sbCgpIHsKICAgICAgdGhpcy5jbG9zZU1lbnUoKTsKICAgIH0KICB9Cn07CmV4cG9ydHMuZGVmYXVsdCA9IF9kZWZhdWx0Ow=="},{"version":3,"sources":["index.vue"],"names":[],"mappings":"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","sourcesContent":["<template>\r\n <div id=\"tags-view-container\" class=\"tags-view-container\">\r\n <scroll-pane ref=\"scrollPane\" class=\"tags-view-wrapper\" @scroll=\"handleScroll\">\r\n <router-link\r\n v-for=\"tag in visitedViews\"\r\n ref=\"tag\"\r\n :key=\"tag.path\"\r\n :class=\"isActive(tag)?'active':''\"\r\n :to=\"{ path: tag.path, query: tag.query, fullPath: tag.fullPath }\"\r\n tag=\"span\"\r\n class=\"tags-view-item\"\r\n :style=\"activeStyle(tag)\"\r\n @click.middle.native=\"!isAffix(tag)?closeSelectedTag(tag):''\"\r\n @contextmenu.prevent.native=\"openMenu(tag,$event)\"\r\n >\r\n {{ tag.title }}\r\n <span v-if=\"!isAffix(tag)\" class=\"el-icon-close\" @click.prevent.stop=\"closeSelectedTag(tag)\" />\r\n </router-link>\r\n </scroll-pane>\r\n <ul v-show=\"visible\" :style=\"{left:left+'px',top:top+'px'}\" class=\"contextmenu\">\r\n <li @click=\"refreshSelectedTag(selectedTag)\"><i class=\"el-icon-refresh-right\"></i> 刷新页面</li>\r\n <li v-if=\"!isAffix(selectedTag)\" @click=\"closeSelectedTag(selectedTag)\"><i class=\"el-icon-close\"></i> 关闭当前</li>\r\n <li @click=\"closeOthersTags\"><i class=\"el-icon-circle-close\"></i> 关闭其他</li>\r\n <li v-if=\"!isFirstView()\" @click=\"closeLeftTags\"><i class=\"el-icon-back\"></i> 关闭左侧</li>\r\n <li v-if=\"!isLastView()\" @click=\"closeRightTags\"><i class=\"el-icon-right\"></i> 关闭右侧</li>\r\n <li @click=\"closeAllTags(selectedTag)\"><i class=\"el-icon-circle-close\"></i> 全部关闭</li>\r\n </ul>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport ScrollPane from './ScrollPane'\r\nimport path from 'path'\r\n\r\nexport default {\r\n components: { ScrollPane },\r\n data() {\r\n return {\r\n visible: false,\r\n top: 0,\r\n left: 0,\r\n selectedTag: {},\r\n affixTags: []\r\n }\r\n },\r\n computed: {\r\n visitedViews() {\r\n return this.$store.state.tagsView.visitedViews\r\n },\r\n routes() {\r\n return this.$store.state.permission.routes\r\n },\r\n theme() {\r\n return this.$store.state.settings.theme;\r\n }\r\n },\r\n watch: {\r\n $route() {\r\n this.addTags()\r\n this.moveToCurrentTag()\r\n },\r\n visible(value) {\r\n if (value) {\r\n document.body.addEventListener('click', this.closeMenu)\r\n } else {\r\n document.body.removeEventListener('click', this.closeMenu)\r\n }\r\n }\r\n },\r\n mounted() {\r\n this.initTags()\r\n this.addTags()\r\n console.log()\r\n },\r\n methods: {\r\n isActive(route) {\r\n return route.path === this.$route.path\r\n },\r\n activeStyle(tag) {\r\n if (!this.isActive(tag)) return {};\r\n return {\r\n \"background-color\": this.theme,\r\n \"border-color\": this.theme\r\n };\r\n },\r\n isAffix(tag) {\r\n return tag.meta && tag.meta.affix\r\n },\r\n isFirstView() {\r\n try {\r\n return this.selectedTag.fullPath === this.visitedViews[1].fullPath || this.selectedTag.fullPath === '/index'\r\n } catch (err) {\r\n return false\r\n }\r\n },\r\n isLastView() {\r\n try {\r\n return this.selectedTag.fullPath === this.visitedViews[this.visitedViews.length - 1].fullPath\r\n } catch (err) {\r\n return false\r\n }\r\n },\r\n filterAffixTags(routes, basePath = '/') {\r\n let tags = []\r\n routes.forEach(route => {\r\n if (route.meta && route.meta.affix) {\r\n const tagPath = path.resolve(basePath, route.path)\r\n tags.push({\r\n fullPath: tagPath,\r\n path: tagPath,\r\n name: route.name,\r\n meta: { ...route.meta }\r\n })\r\n }\r\n if (route.children) {\r\n const tempTags = this.filterAffixTags(route.children, route.path)\r\n if (tempTags.length >= 1) {\r\n tags = [...tags, ...tempTags]\r\n }\r\n }\r\n })\r\n return tags\r\n },\r\n initTags() {\r\n const affixTags = this.affixTags = this.filterAffixTags(this.routes)\r\n for (const tag of affixTags) {\r\n // Must have tag name\r\n if (tag.name) {\r\n this.$store.dispatch('tagsView/addVisitedView', tag)\r\n }\r\n }\r\n },\r\n addTags() {\r\n const { name } = this.$route\r\n if (name) {\r\n this.$store.dispatch('tagsView/addView', this.$route)\r\n }\r\n return false\r\n },\r\n moveToCurrentTag() {\r\n const tags = this.$refs.tag\r\n this.$nextTick(() => {\r\n for (const tag of tags) {\r\n if (tag.to.path === this.$route.path) {\r\n this.$refs.scrollPane.moveToTarget(tag)\r\n // when query is different then update\r\n if (tag.to.fullPath !== this.$route.fullPath) {\r\n this.$store.dispatch('tagsView/updateVisitedView', this.$route)\r\n }\r\n break\r\n }\r\n }\r\n })\r\n },\r\n refreshSelectedTag(view) {\r\n this.$store.dispatch('tagsView/delCachedView', view).then(() => {\r\n // const { fullPath } = view\r\n this.$nextTick(() => {\r\n this.$router.replace({\r\n // path: '/redirect' + fullPath\r\n path: '/index'\r\n })\r\n })\r\n })\r\n },\r\n closeSelectedTag(view) {\r\n this.$store.dispatch('tagsView/delView', view).then(({ visitedViews }) => {\r\n if (this.isActive(view)) {\r\n this.toLastView(visitedViews, view)\r\n }\r\n })\r\n },\r\n closeRightTags() {\r\n this.$store.dispatch('tagsView/delRightTags', this.selectedTag).then(visitedViews => {\r\n if (!visitedViews.find(i => i.fullPath === this.$route.fullPath)) {\r\n this.toLastView(visitedViews)\r\n }\r\n })\r\n },\r\n closeLeftTags() {\r\n this.$store.dispatch('tagsView/delLeftTags', this.selectedTag).then(visitedViews => {\r\n if (!visitedViews.find(i => i.fullPath === this.$route.fullPath)) {\r\n this.toLastView(visitedViews)\r\n }\r\n })\r\n },\r\n closeOthersTags() {\r\n this.$router.push(this.selectedTag).catch(()=>{});\r\n this.$store.dispatch('tagsView/delOthersViews', this.selectedTag).then(() => {\r\n this.moveToCurrentTag()\r\n })\r\n },\r\n closeAllTags(view) {\r\n this.$store.dispatch('tagsView/delAllViews').then(({ visitedViews }) => {\r\n if (this.affixTags.some(tag => tag.path === this.$route.path)) {\r\n return\r\n }\r\n this.toLastView(visitedViews, view)\r\n })\r\n },\r\n toLastView(visitedViews, view) {\r\n const latestView = visitedViews.slice(-1)[0]\r\n if (latestView) {\r\n this.$router.push(latestView.fullPath)\r\n } else {\r\n // now the default is to redirect to the home page if there is no tags-view,\r\n // you can adjust it according to your needs.\r\n if (view.name === 'Dashboard') {\r\n // to reload home page\r\n this.$router.replace({ path: '/redirect' + view.fullPath })\r\n } else {\r\n this.$router.push('/')\r\n }\r\n }\r\n },\r\n openMenu(tag, e) {\r\n const menuMinWidth = 105\r\n const offsetLeft = this.$el.getBoundingClientRect().left // container margin left\r\n const offsetWidth = this.$el.offsetWidth // container width\r\n const maxLeft = offsetWidth - menuMinWidth // left boundary\r\n const left = e.clientX - offsetLeft + 15 // 15: margin right\r\n\r\n if (left > maxLeft) {\r\n this.left = maxLeft\r\n } else {\r\n this.left = left\r\n }\r\n\r\n this.top = e.clientY\r\n this.visible = true\r\n this.selectedTag = tag\r\n },\r\n closeMenu() {\r\n this.visible = false\r\n },\r\n handleScroll() {\r\n this.closeMenu()\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.tags-view-container {\r\n height: 34px;\r\n width: 100%;\r\n background: #fff;\r\n border-bottom: 1px solid #d8dce5;\r\n box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 3px 0 rgba(0, 0, 0, .04);\r\n .tags-view-wrapper {\r\n .tags-view-item {\r\n display: inline-block;\r\n position: relative;\r\n cursor: pointer;\r\n height: 26px;\r\n line-height: 26px;\r\n border: 1px solid #114a80;\r\n color: #fff;\r\n background: #114a80;\r\n padding: 0 8px;\r\n font-size: 12px;\r\n margin-left: 5px;\r\n margin-top: 4px;\r\n &:first-of-type {\r\n margin-left: 15px;\r\n }\r\n &:last-of-type {\r\n margin-right: 15px;\r\n }\r\n // 设置导航栏变色\r\n &.active {\r\n background-color: #022845 !important;\r\n color: #fff;\r\n border-color: #022845 !important;\r\n border-radius: 5px 5px 0px 0px ;\r\n &::before {\r\n content: '';\r\n background: #004d86;\r\n display: inline-block;\r\n width: 8px;\r\n height: 8px;\r\n border-radius: 50%;\r\n position: relative;\r\n margin-right: 2px;\r\n }\r\n }\r\n }\r\n }\r\n .contextmenu {\r\n margin: 0;\r\n background: #fff;\r\n z-index: 3000;\r\n position: absolute;\r\n list-style-type: none;\r\n padding: 5px 0;\r\n border-radius: 4px;\r\n font-size: 12px;\r\n font-weight: 400;\r\n color: #333;\r\n box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3);\r\n li {\r\n margin: 0;\r\n padding: 7px 16px;\r\n cursor: pointer;\r\n &:hover {\r\n background: #eee;\r\n }\r\n }\r\n }\r\n}\r\n</style>\r\n\r\n<style lang=\"scss\">\r\n//reset element css of el-icon-close\r\n.tags-view-wrapper {\r\n .tags-view-item {\r\n .el-icon-close {\r\n width: 16px;\r\n height: 16px;\r\n vertical-align: 2px;\r\n border-radius: 50%;\r\n text-align: center;\r\n transition: all .3s cubic-bezier(.645, .045, .355, 1);\r\n transform-origin: 100% 50%;\r\n &:before {\r\n transform: scale(.6);\r\n display: inline-block;\r\n vertical-align: -3px;\r\n }\r\n &:hover {\r\n background-color: #b4bccc;\r\n color: #fff;\r\n }\r\n }\r\n }\r\n}\r\n</style>\r\n"],"sourceRoot":"src/layout/components/TagsView"}]}
|