1 |
- {"remainingRequest":"D:\\test\\ssi-satoken\\ui\\node_modules\\babel-loader\\lib\\index.js!D:\\test\\ssi-satoken\\ui\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\test\\ssi-satoken\\ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\test\\ssi-satoken\\ui\\src\\views\\sysManager\\sysMenu\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\test\\ssi-satoken\\ui\\src\\views\\sysManager\\sysMenu\\index.vue","mtime":1697789204684},{"path":"D:\\test\\ssi-satoken\\ui\\babel.config.js","mtime":1696909835000},{"path":"D:\\test\\ssi-satoken\\ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1669864538178},{"path":"D:\\test\\ssi-satoken\\ui\\node_modules\\babel-loader\\lib\\index.js","mtime":1669864538095},{"path":"D:\\test\\ssi-satoken\\ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1669864538178},{"path":"D:\\test\\ssi-satoken\\ui\\node_modules\\vue-loader\\lib\\index.js","mtime":1697679531049}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:InVzZSBzdHJpY3QiOwoKdmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKCJEOi90ZXN0L3NzaS1zYXRva2VuL3VpL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2ludGVyb3BSZXF1aXJlRGVmYXVsdC5qcyIpLmRlZmF1bHQ7Ck9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAiX19lc01vZHVsZSIsIHsKICB2YWx1ZTogdHJ1ZQp9KTsKZXhwb3J0cy5kZWZhdWx0ID0gdm9pZCAwOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkucHVzaC5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuam9pbi5qcyIpOwp2YXIgX3JlZ2VuZXJhdG9yUnVudGltZTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoIkQ6L3Rlc3Qvc3NpLXNhdG9rZW4vdWkvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvcmVnZW5lcmF0b3JSdW50aW1lLmpzIikpOwp2YXIgX2FzeW5jVG9HZW5lcmF0b3IyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKCJEOi90ZXN0L3NzaS1zYXRva2VuL3VpL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2FzeW5jVG9HZW5lcmF0b3IuanMiKSk7CnZhciBfdnVlVHJlZXNlbGVjdCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZSgiQHJpb3BoYWUvdnVlLXRyZWVzZWxlY3QiKSk7CnJlcXVpcmUoIkByaW9waGFlL3Z1ZS10cmVlc2VsZWN0L2Rpc3QvdnVlLXRyZWVzZWxlY3QuY3NzIik7CnZhciBfSWNvblNlbGVjdCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZSgiQC9jb21wb25lbnRzL0ljb25TZWxlY3QiKSk7CnZhciBfbG9kYXNoID0gcmVxdWlyZSgibG9kYXNoIik7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCnZhciBfZGVmYXVsdCA9IHsKICBuYW1lOiAiTWVudSIsCiAgZGljdHM6IFsnc3lzX3Nob3dfaGlkZScsICdzeXNfbm9ybWFsX2Rpc2FibGUnXSwKICBjb21wb25lbnRzOiB7CiAgICBUcmVlc2VsZWN0OiBfdnVlVHJlZXNlbGVjdC5kZWZhdWx0LAogICAgSWNvblNlbGVjdDogX0ljb25TZWxlY3QuZGVmYXVsdAogIH0sCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIHBjT3B0aW9uczogW3sKICAgICAgICB2YWx1ZTogJ1hUR0wnLAogICAgICAgIGxhYmVsOiAnWFRHTCcKICAgICAgfSwgewogICAgICAgIHZhbHVlOiAnU0pHTCcsCiAgICAgICAgbGFiZWw6ICdTSkdMJwogICAgICB9LCB7CiAgICAgICAgdmFsdWU6ICdTSEdMJywKICAgICAgICBsYWJlbDogJ1NIR0wnCiAgICAgIH0sIHsKICAgICAgICB2YWx1ZTogJ1lXR0wnLAogICAgICAgIGxhYmVsOiAnWVdHTCcKICAgICAgfSwgewogICAgICAgIHZhbHVlOiAnU0pZVycsCiAgICAgICAgbGFiZWw6ICdTSllXJwogICAgICB9LCB7CiAgICAgICAgdmFsdWU6ICdZV1BaJywKICAgICAgICBsYWJlbDogJ1lXUFonCiAgICAgIH0sIHsKICAgICAgICB2YWx1ZTogJ1lXQ1onLAogICAgICAgIGxhYmVsOiAnWVdDWicKICAgICAgfV0sCiAgICAgIC8vIOmBrue9qeWxggogICAgICBsb2FkaW5nOiB0cnVlLAogICAgICAvLyDmmL7npLrmkJzntKLmnaHku7YKICAgICAgc2hvd1NlYXJjaDogdHJ1ZSwKICAgICAgLy8g6I+c5Y2V6KGo5qC85qCR5pWw5o2uCiAgICAgIG1lbnVMaXN0OiBbXSwKICAgICAgc3lzU2hvdzogW3sKICAgICAgICB2YWx1ZTogJzAnLAogICAgICAgIGxhYmVsOiAn5pi+56S66I+c5Y2VJwogICAgICB9LCB7CiAgICAgICAgdmFsdWU6ICcxJywKICAgICAgICBsYWJlbDogJ+makOiXj+iPnOWNlScKICAgICAgfV0sCiAgICAgIG1lbnVTdGF0dXM6IFt7CiAgICAgICAgdmFsdWU6ICcwJywKICAgICAgICBsYWJlbDogJ+ato+W4uCcKICAgICAgfSwgewogICAgICAgIHZhbHVlOiAnMScsCiAgICAgICAgbGFiZWw6ICflgZznlKgnCiAgICAgIH1dLAogICAgICAvLyDoj5zljZXmoJHpgInpobkKICAgICAgbWVudU9wdGlvbnM6IFtdLAogICAgICAvLyDlvLnlh7rlsYLmoIfpopgKICAgICAgdGl0bGU6ICIiLAogICAgICAvLyDmmK/lkKbmmL7npLrlvLnlh7rlsYIKICAgICAgb3BlbjogZmFsc2UsCiAgICAgIC8vIOaYr+WQpuWxleW8gO+8jOm7mOiupOWFqOmDqOaKmOWPoAogICAgICBpc0V4cGFuZEFsbDogZmFsc2UsCiAgICAgIC8vIOmHjeaWsOa4suafk+ihqOagvOeKtuaAgQogICAgICByZWZyZXNoVGFibGU6IHRydWUsCiAgICAgIC8vIOafpeivouWPguaVsAogICAgICBxdWVyeVBhcmFtczogewogICAgICAgIG1lbnVOYW1lOiB1bmRlZmluZWQsCiAgICAgICAgdmlzaWJsZTogdW5kZWZpbmVkCiAgICAgIH0sCiAgICAgIC8vIOihqOWNleWPguaVsAogICAgICBmb3JtOiB7fSwKICAgICAgLy8g6KGo5Y2V5qCh6aqMCiAgICAgIHJ1bGVzOiB7CiAgICAgICAgbWVudU5hbWU6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICLoj5zljZXlkI3np7DkuI3og73kuLrnqboiLAogICAgICAgICAgdHJpZ2dlcjogImJsdXIiCiAgICAgICAgfV0sCiAgICAgICAgcGM6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICLlrZfnrKbmoIfor4bkuI3og73kuLrnqboiLAogICAgICAgICAgdHJpZ2dlcjogImJsdXIiCiAgICAgICAgfV0sCiAgICAgICAgb3JkZXJOdW06IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICLoj5zljZXpobrluo/kuI3og73kuLrnqboiLAogICAgICAgICAgdHJpZ2dlcjogImJsdXIiCiAgICAgICAgfV0sCiAgICAgICAgcGF0aDogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogIui3r+eUseWcsOWdgOS4jeiDveS4uuepuiIsCiAgICAgICAgICB0cmlnZ2VyOiAiYmx1ciIKICAgICAgICB9XQogICAgICB9CiAgICB9OwogIH0sCiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHsKICAgIHRoaXMuZ2V0TGlzdCgpOwogIH0sCiAgbWV0aG9kczogewogICAgLy8g5YiX6KGo54q25oCB5qC85byP5YyWCiAgICBzdGF0dXNGb3JtYXQ6IGZ1bmN0aW9uIHN0YXR1c0Zvcm1hdChyb3csIGNvbHVtbikgewogICAgICB2YXIgYmVsb25nVG8gPSAn5pyq55+l55qE57G75Z6LJzsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLm1lbnVTdGF0dXMubGVuZ3RoOyBpKyspIHsKICAgICAgICBpZiAocm93LnN0YXR1cyA9PSAiMCIpIHsKICAgICAgICAgIGJlbG9uZ1RvID0gIuato+W4uCI7CiAgICAgICAgfSBlbHNlIGlmIChyb3cuc3RhdHVzID09ICIxIikgewogICAgICAgICAgYmVsb25nVG8gPSAi5YGc55SoIjsKICAgICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuIGJlbG9uZ1RvOwogICAgfSwKICAgIC8vIOmAieaLqeWbvuaghwogICAgc2VsZWN0ZWQ6IGZ1bmN0aW9uIHNlbGVjdGVkKG5hbWUpIHsKICAgICAgdGhpcy5mb3JtLmljb24gPSBuYW1lOwogICAgfSwKICAgIC8qKiDmn6Xor6Loj5zljZXliJfooaggKi9nZXRMaXN0OiBmdW5jdGlvbiBnZXRMaXN0KCkgewogICAgICB2YXIgX3RoaXMgPSB0aGlzOwogICAgICByZXR1cm4gKDAsIF9hc3luY1RvR2VuZXJhdG9yMi5kZWZhdWx0KSggLyojX19QVVJFX18qLygwLCBfcmVnZW5lcmF0b3JSdW50aW1lMi5kZWZhdWx0KSgpLm1hcmsoZnVuY3Rpb24gX2NhbGxlZSgpIHsKICAgICAgICB2YXIgcGFyYW07CiAgICAgICAgcmV0dXJuICgwLCBfcmVnZW5lcmF0b3JSdW50aW1lMi5kZWZhdWx0KSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZSQoX2NvbnRleHQpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0LnByZXYgPSBfY29udGV4dC5uZXh0KSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICBfdGhpcy5sb2FkaW5nID0gdHJ1ZTsKICAgICAgICAgICAgICBwYXJhbSA9IHsKICAgICAgICAgICAgICAgIG1lbnVOYW1lOiBfdGhpcy5xdWVyeVBhcmFtcy5tZW51TmFtZQogICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDQ7CiAgICAgICAgICAgICAgcmV0dXJuIF90aGlzLiRheGlvcy5nZXQoJy9zeXNNZW51Q29udHJvbGxlci9saXN0JywgewogICAgICAgICAgICAgICAgcGFyYW1zOiBwYXJhbQogICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgICAgICAgICAgX3RoaXMubWVudUxpc3QgPSBfdGhpcy5oYW5kbGVUcmVlKHJlcy5kYXRhLCAibWVudUlkIik7CiAgICAgICAgICAgICAgICBfdGhpcy5sb2FkaW5nID0gZmFsc2U7CiAgICAgICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKGVycm9yKSB7CiAgICAgICAgICAgICAgICBfdGhpcy5sb2FkaW5nID0gZmFsc2U7CiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIGNhc2UgNDoKICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQuc3RvcCgpOwogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWUpOwogICAgICB9KSkoKTsKICAgIH0sCiAgICAvKiog6L2s5o2i6I+c5Y2V5pWw5o2u57uT5p6EICovbm9ybWFsaXplcjogZnVuY3Rpb24gbm9ybWFsaXplcihub2RlKSB7CiAgICAgIGlmIChub2RlLmNoaWxkcmVuICYmICFub2RlLmNoaWxkcmVuLmxlbmd0aCkgewogICAgICAgIGRlbGV0ZSBub2RlLmNoaWxkcmVuOwogICAgICB9CiAgICAgIHJldHVybiB7CiAgICAgICAgaWQ6IG5vZGUubWVudUlkLAogICAgICAgIGxhYmVsOiBub2RlLm1lbnVOYW1lLAogICAgICAgIGNoaWxkcmVuOiBub2RlLmNoaWxkcmVuCiAgICAgIH07CiAgICB9LAogICAgLyoqIOafpeivouiPnOWNleS4i+aLieagkee7k+aehCAqL2dldFRyZWVzZWxlY3Q6IGZ1bmN0aW9uIGdldFRyZWVzZWxlY3QoKSB7CiAgICAgIHZhciBfdGhpczIgPSB0aGlzOwogICAgICByZXR1cm4gKDAsIF9hc3luY1RvR2VuZXJhdG9yMi5kZWZhdWx0KSggLyojX19QVVJFX18qLygwLCBfcmVnZW5lcmF0b3JSdW50aW1lMi5kZWZhdWx0KSgpLm1hcmsoZnVuY3Rpb24gX2NhbGxlZTIoKSB7CiAgICAgICAgcmV0dXJuICgwLCBfcmVnZW5lcmF0b3JSdW50aW1lMi5kZWZhdWx0KSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZTIkKF9jb250ZXh0MikgewogICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQyLnByZXYgPSBfY29udGV4dDIubmV4dCkgewogICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgX2NvbnRleHQyLm5leHQgPSAyOwogICAgICAgICAgICAgIHJldHVybiBfdGhpczIuJGF4aW9zLmdldCgnL3N5c01lbnVDb250cm9sbGVyL2xpc3QnKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICAgICAgICAgIF90aGlzMi5tZW51T3B0aW9ucyA9IFtdOwogICAgICAgICAgICAgICAgdmFyIG1lbnUgPSB7CiAgICAgICAgICAgICAgICAgIG1lbnVJZDogMCwKICAgICAgICAgICAgICAgICAgbWVudU5hbWU6ICfkuLvnsbvnm64nLAogICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW10KICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICBtZW51LmNoaWxkcmVuID0gX3RoaXMyLmhhbmRsZVRyZWUocmVzLmRhdGEsICJtZW51SWQiKTsKICAgICAgICAgICAgICAgIF90aGlzMi5tZW51T3B0aW9ucy5wdXNoKG1lbnUpOwogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICBjYXNlIDI6CiAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0Mi5zdG9wKCk7CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZTIpOwogICAgICB9KSkoKTsKICAgIH0sCiAgICAvLyDlj5bmtojmjInpkq4KICAgIGNhbmNlbDogZnVuY3Rpb24gY2FuY2VsKCkgewogICAgICB0aGlzLm9wZW4gPSBmYWxzZTsKICAgICAgdGhpcy5yZXNldCgpOwogICAgfSwKICAgIC8vIOihqOWNlemHjee9rgogICAgcmVzZXQ6IGZ1bmN0aW9uIHJlc2V0KCkgewogICAgICB0aGlzLmZvcm0gPSB7CiAgICAgICAgbWVudUlkOiB1bmRlZmluZWQsCiAgICAgICAgcGFyZW50SWQ6IDAsCiAgICAgICAgbWVudU5hbWU6IHVuZGVmaW5lZCwKICAgICAgICBpY29uOiB1bmRlZmluZWQsCiAgICAgICAgbWVudVR5cGU6ICJNIiwKICAgICAgICBvcmRlck51bTogdW5kZWZpbmVkLAogICAgICAgIGlzRnJhbWU6ICIxIiwKICAgICAgICBpc0NhY2hlOiAiMCIsCiAgICAgICAgdmlzaWJsZTogIjAiLAogICAgICAgIHN0YXR1czogIjAiCiAgICAgIH07CiAgICAgIHRoaXMucmVzZXRGb3JtKCJmb3JtIik7CiAgICB9LAogICAgLyoqIOaQnOe0ouaMiemSruaTjeS9nCAqLwogICAgaGFuZGxlUXVlcnk6ICgwLCBfbG9kYXNoLmRlYm91bmNlKShmdW5jdGlvbiAoKSB7CiAgICAgIHRoaXMuZ2V0TGlzdCgpOwogICAgfSwgMTAwMCksCiAgICAvKiog6YeN572u5oyJ6ZKu5pON5L2cICovcmVzZXRRdWVyeTogZnVuY3Rpb24gcmVzZXRRdWVyeSgpIHsKICAgICAgdGhpcy5yZXNldEZvcm0oInF1ZXJ5Rm9ybSIpOwogICAgfSwKICAgIC8qKiDmlrDlop7mjInpkq7mk43kvZwgKi8KICAgIGhhbmRsZUFkZDogKDAsIF9sb2Rhc2guZGVib3VuY2UpKGZ1bmN0aW9uIChyb3cpIHsKICAgICAgdGhpcy5yZXNldCgpOwogICAgICB0aGlzLmdldFRyZWVzZWxlY3QoKTsKICAgICAgaWYgKHJvdyAhPSBudWxsICYmIHJvdy5tZW51SWQpIHsKICAgICAgICB0aGlzLmZvcm0ucGFyZW50SWQgPSByb3cubWVudUlkOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMuZm9ybS5wYXJlbnRJZCA9IDA7CiAgICAgIH0KICAgICAgdGhpcy5vcGVuID0gdHJ1ZTsKICAgICAgdGhpcy50aXRsZSA9ICLmt7vliqDoj5zljZUiOwogICAgfSwgNTAwKSwKICAgIC8qKiDlsZXlvIAv5oqY5Y+g5pON5L2cICovdG9nZ2xlRXhwYW5kQWxsOiBmdW5jdGlvbiB0b2dnbGVFeHBhbmRBbGwoKSB7CiAgICAgIHZhciBfdGhpczMgPSB0aGlzOwogICAgICB0aGlzLnJlZnJlc2hUYWJsZSA9IGZhbHNlOwogICAgICB0aGlzLmlzRXhwYW5kQWxsID0gIXRoaXMuaXNFeHBhbmRBbGw7CiAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHsKICAgICAgICBfdGhpczMucmVmcmVzaFRhYmxlID0gdHJ1ZTsKICAgICAgfSk7CiAgICB9LAogICAgLyoqIOS/ruaUueaMiemSruaTjeS9nCAqLwogICAgaGFuZGxlVXBkYXRlOiAoMCwgX2xvZGFzaC5kZWJvdW5jZSkoIC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoKSB7CiAgICAgIHZhciBfcmVmID0gKDAsIF9hc3luY1RvR2VuZXJhdG9yMi5kZWZhdWx0KSggLyojX19QVVJFX18qLygwLCBfcmVnZW5lcmF0b3JSdW50aW1lMi5kZWZhdWx0KSgpLm1hcmsoZnVuY3Rpb24gX2NhbGxlZTMocm93KSB7CiAgICAgICAgdmFyIF90aGlzNCA9IHRoaXM7CiAgICAgICAgdmFyIHNlYXJjaFBhcmFtczsKICAgICAgICByZXR1cm4gKDAsIF9yZWdlbmVyYXRvclJ1bnRpbWUyLmRlZmF1bHQpKCkud3JhcChmdW5jdGlvbiBfY2FsbGVlMyQoX2NvbnRleHQzKSB7CiAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dDMucHJldiA9IF9jb250ZXh0My5uZXh0KSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICB0aGlzLnJlc2V0KCk7CiAgICAgICAgICAgICAgdGhpcy5nZXRUcmVlc2VsZWN0KCk7CiAgICAgICAgICAgICAgc2VhcmNoUGFyYW1zID0gewogICAgICAgICAgICAgICAgbWVudUlkOiByb3cubWVudUlkCiAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICBfY29udGV4dDMubmV4dCA9IDU7CiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuJGF4aW9zLmdldCgnL3N5c01lbnVDb250cm9sbGVyL2dldERldGFpbEluZm8nLCB7CiAgICAgICAgICAgICAgICBwYXJhbXM6IHNlYXJjaFBhcmFtcwogICAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgICAgICAgICAgX3RoaXM0LmZvcm0gPSByZXMuZGF0YTsKICAgICAgICAgICAgICAgIGlmIChfdGhpczQuZm9ybS5wYyAhPSBudWxsKSB7CiAgICAgICAgICAgICAgICAgIF90aGlzNC5mb3JtLnBjID0gX3RoaXM0LmZvcm0ucGMuc3BsaXQoIiwiKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIF90aGlzNC5vcGVuID0gdHJ1ZTsKICAgICAgICAgICAgICAgIF90aGlzNC50aXRsZSA9ICLkv67mlLnoj5zljZUiOwogICAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnJvcikgewogICAgICAgICAgICAgICAgLy8gdGhpcy4kbWVzc2FnZS5lcnJvcign6I635Y+W5pWw5o2u5Ye66ZSZJyArIGVycm9yKQogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICBjYXNlIDU6CiAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0My5zdG9wKCk7CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZTMsIHRoaXMpOwogICAgICB9KSk7CiAgICAgIHJldHVybiBmdW5jdGlvbiAoX3gpIHsKICAgICAgICByZXR1cm4gX3JlZi5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwogICAgICB9OwogICAgfSgpLCA1MDApLAogICAgLyoqIOaPkOS6pOaMiemSriAqLwogICAgc3VibWl0Rm9ybTogKDAsIF9sb2Rhc2guZGVib3VuY2UpKGZ1bmN0aW9uICgpIHsKICAgICAgdmFyIF90aGlzNSA9IHRoaXM7CiAgICAgIHRoaXMuJHJlZnNbImZvcm0iXS52YWxpZGF0ZSggLyojX19QVVJFX18qL2Z1bmN0aW9uICgpIHsKICAgICAgICB2YXIgX3JlZjIgPSAoMCwgX2FzeW5jVG9HZW5lcmF0b3IyLmRlZmF1bHQpKCAvKiNfX1BVUkVfXyovKDAsIF9yZWdlbmVyYXRvclJ1bnRpbWUyLmRlZmF1bHQpKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlNCh2YWxpZCkgewogICAgICAgICAgcmV0dXJuICgwLCBfcmVnZW5lcmF0b3JSdW50aW1lMi5kZWZhdWx0KSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZTQkKF9jb250ZXh0NCkgewogICAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dDQucHJldiA9IF9jb250ZXh0NC5uZXh0KSB7CiAgICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgICAgaWYgKCF2YWxpZCkgewogICAgICAgICAgICAgICAgICBfY29udGV4dDQubmV4dCA9IDk7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKF90aGlzNS5mb3JtLnBjICE9IG51bGwpIHsKICAgICAgICAgICAgICAgICAgX3RoaXM1LmZvcm0ucGMgPSBfdGhpczUuZm9ybS5wYy5qb2luKCIsIik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAoIShfdGhpczUuZm9ybS5tZW51SWQgIT0gdW5kZWZpbmVkKSkgewogICAgICAgICAgICAgICAgICBfY29udGV4dDQubmV4dCA9IDc7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgX2NvbnRleHQ0Lm5leHQgPSA1OwogICAgICAgICAgICAgICAgcmV0dXJuIF90aGlzNS4kYXhpb3MucG9zdCgnL3N5c01lbnVDb250cm9sbGVyL3VwZGF0ZU1lbnUnLCBfdGhpczUuZm9ybSkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgICAgICAgICAgIF90aGlzNS4kbWVzc2FnZS5zdWNjZXNzKCfkv67mlLnmiJDlip/vvIEnKTsKICAgICAgICAgICAgICAgICAgX3RoaXM1Lm9wZW4gPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgX3RoaXM1LmdldExpc3QoKTsKICAgICAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnJvcikgewogICAgICAgICAgICAgICAgICAvLyB0aGlzLiRtZXNzYWdlLmVycm9yKGVycm9yKQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgY2FzZSA1OgogICAgICAgICAgICAgICAgX2NvbnRleHQ0Lm5leHQgPSA5OwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgY2FzZSA3OgogICAgICAgICAgICAgICAgX2NvbnRleHQ0Lm5leHQgPSA5OwogICAgICAgICAgICAgICAgcmV0dXJuIF90aGlzNS4kYXhpb3MucG9zdCgnL3N5c01lbnVDb250cm9sbGVyL2FkZE1lbnUnLCBfdGhpczUuZm9ybSkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgICAgICAgICAgIF90aGlzNS4kbWVzc2FnZS5zdWNjZXNzKCfmlrDlop7miJDlip8nKTsKICAgICAgICAgICAgICAgICAgX3RoaXM1Lm9wZW4gPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgX3RoaXM1LmdldExpc3QoKTsKICAgICAgICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnJvcikgewogICAgICAgICAgICAgICAgICAvLyB0aGlzLiRtZXNzYWdlLmVycm9yKGVycm9yKQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgY2FzZSA5OgogICAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQ0LnN0b3AoKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSwgX2NhbGxlZTQpOwogICAgICAgIH0pKTsKICAgICAgICByZXR1cm4gZnVuY3Rpb24gKF94MikgewogICAgICAgICAgcmV0dXJuIF9yZWYyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgICAgICAgfTsKICAgICAgfSgpKTsKICAgIH0sIDEwMDApLAogICAgLyoqIOWIoOmZpOaMiemSruaTjeS9nCAqL2hhbmRsZURlbGV0ZTogZnVuY3Rpb24gaGFuZGxlRGVsZXRlKHJvdykgewogICAgICB2YXIgX3RoaXM2ID0gdGhpczsKICAgICAgdGhpcy4kY29uZmlybSgn5piv5ZCm56Gu6K6k5Yig6Zmk5ZCN56ew5Li6IicgKyByb3cubWVudU5hbWUgKyAnIueahOaVsOaNrumhue+8nycsICfmj5DnpLonLCB7CiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICfnoa7lrponLAogICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICflj5bmtognLAogICAgICAgIHR5cGU6ICd3YXJuaW5nJywKICAgICAgICBiZWZvcmVDbG9zZTogZnVuY3Rpb24gYmVmb3JlQ2xvc2UoYWN0aW9uLCBpbnN0YW5jZSwgZG9uZSkgewogICAgICAgICAgaWYgKGFjdGlvbiA9PT0gImNvbmZpcm0iKSB7CiAgICAgICAgICAgIGluc3RhbmNlLiRyZWZzWyJjb25maXJtIl0uJGVsLm9uY2xpY2sgPSBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAgIGUgPSBlIHx8IHdpbmRvdy5ldmVudDsKICAgICAgICAgICAgICBpZiAoZS5kZXRhaWwgIT0gMCkgewogICAgICAgICAgICAgICAgZG9uZSgpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSgpOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZG9uZSgpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSkudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgX3RoaXM2LmRvRGVsZXRlKHJvdyk7CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uICgpIHt9KTsKICAgIH0sCiAgICAvKioNCiAgICAgKiDliKDpmaTmj5DkuqQNCiAgICAgKi8KICAgIGRvRGVsZXRlOiAoMCwgX2xvZGFzaC5kZWJvdW5jZSkoIC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoKSB7CiAgICAgIHZhciBfcmVmMyA9ICgwLCBfYXN5bmNUb0dlbmVyYXRvcjIuZGVmYXVsdCkoIC8qI19fUFVSRV9fKi8oMCwgX3JlZ2VuZXJhdG9yUnVudGltZTIuZGVmYXVsdCkoKS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWU1KHJvdykgewogICAgICAgIHZhciBfdGhpczcgPSB0aGlzOwogICAgICAgIHZhciBwYXJhbTsKICAgICAgICByZXR1cm4gKDAsIF9yZWdlbmVyYXRvclJ1bnRpbWUyLmRlZmF1bHQpKCkud3JhcChmdW5jdGlvbiBfY2FsbGVlNSQoX2NvbnRleHQ1KSB7CiAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dDUucHJldiA9IF9jb250ZXh0NS5uZXh0KSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICBwYXJhbSA9IHsKICAgICAgICAgICAgICAgIG1lbnVJZDogcm93Lm1lbnVJZAogICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgX2NvbnRleHQ1Lm5leHQgPSAzOwogICAgICAgICAgICAgIHJldHVybiB0aGlzLiRheGlvcy5wb3N0KCcvc3lzTWVudUNvbnRyb2xsZXIvZGVsTWVudScsIHRoaXMuJHFzLnN0cmluZ2lmeShwYXJhbSkpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgICAgICAgICAgX3RoaXM3LiRtZXNzYWdlLnN1Y2Nlc3MoJ+WIoOmZpOaIkOWKn++8gScpOwogICAgICAgICAgICAgICAgX3RoaXM3LmdldExpc3QoKTsKICAgICAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbiAoZXJyb3IpIHt9KTsKICAgICAgICAgICAgY2FzZSAzOgogICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOwogICAgICAgICAgICBjYXNlIDQ6CiAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0NS5zdG9wKCk7CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZTUsIHRoaXMpOwogICAgICB9KSk7CiAgICAgIHJldHVybiBmdW5jdGlvbiAoX3gzKSB7CiAgICAgICAgcmV0dXJuIF9yZWYzLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CiAgICAgIH07CiAgICB9KCksIDEwMDApCiAgfQp9OwpleHBvcnRzLmRlZmF1bHQgPSBfZGVmYXVsdDs="},{"version":3,"names":["_vueTreeselect","_interopRequireDefault","require","_IconSelect","_lodash","name","dicts","components","Treeselect","IconSelect","data","pcOptions","value","label","loading","showSearch","menuList","sysShow","menuStatus","menuOptions","title","open","isExpandAll","refreshTable","queryParams","menuName","undefined","visible","form","rules","required","message","trigger","pc","orderNum","path","created","getList","methods","statusFormat","row","column","belongTo","i","length","status","selected","icon","_this","_asyncToGenerator2","default","_regeneratorRuntime2","mark","_callee","param","wrap","_callee$","_context","prev","next","$axios","get","params","then","res","handleTree","catch","error","stop","normalizer","node","children","id","menuId","getTreeselect","_this2","_callee2","_callee2$","_context2","menu","push","cancel","reset","parentId","menuType","isFrame","isCache","resetForm","handleQuery","debounce","resetQuery","handleAdd","toggleExpandAll","_this3","$nextTick","handleUpdate","_ref","_callee3","_this4","searchParams","_callee3$","_context3","split","_x","apply","arguments","submitForm","_this5","$refs","validate","_ref2","_callee4","valid","_callee4$","_context4","join","post","$message","success","_x2","handleDelete","_this6","$confirm","confirmButtonText","cancelButtonText","type","beforeClose","action","instance","done","$el","onclick","e","window","event","detail","doDelete","_ref3","_callee5","_this7","_callee5$","_context5","$qs","stringify","_x3","exports","_default"],"sources":["src/views/sysManager/sysMenu/index.vue"],"sourcesContent":["<template>\r\n <div class=\"app-container\">\r\n <el-form :model=\"queryParams\" ref=\"queryForm\" size=\"small\" :inline=\"true\" v-show=\"showSearch\">\r\n <el-form-item label=\"菜单名称\" prop=\"menuName\">\r\n <el-input\r\n maxlength=\"50\"\r\n v-model=\"queryParams.menuName\"\r\n placeholder=\"请输入菜单名称\"\r\n clearable\r\n @keyup.enter.native=\"handleQuery\"\r\n />\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button type=\"primary\" icon=\"el-icon-search\" size=\"mini\" @click=\"handleQuery\">搜索</el-button>\r\n <el-button icon=\"el-icon-refresh\" size=\"mini\" @click=\"resetQuery\">重置</el-button>\r\n </el-form-item>\r\n </el-form>\r\n <el-row :gutter=\"10\" class=\"mb8\">\r\n <el-col :span=\"1.5\">\r\n <el-button\r\n type=\"primary\"\r\n plain\r\n icon=\"el-icon-plus\"\r\n size=\"mini\"\r\n @click=\"handleAdd\"\r\n >新增</el-button>\r\n </el-col>\r\n <el-col :span=\"1.5\">\r\n <el-button\r\n type=\"info\"\r\n plain\r\n icon=\"el-icon-sort\"\r\n size=\"mini\"\r\n @click=\"toggleExpandAll\"\r\n >展开/折叠</el-button>\r\n </el-col>\r\n </el-row>\r\n\r\n <el-table\r\n v-if=\"refreshTable\"\r\n v-loading=\"loading\"\r\n :data=\"menuList\"\r\n row-key=\"menuId\"\r\n :default-expand-all=\"isExpandAll\"\r\n :tree-props=\"{children: 'children', hasChildren: 'hasChildren'}\"\r\n >\r\n <el-table-column prop=\"menuName\" label=\"菜单名称\" :show-overflow-tooltip=\"true\" width=\"160\"></el-table-column>\r\n <el-table-column prop=\"icon\" label=\"图标\" align=\"center\" width=\"100\">\r\n <template slot-scope=\"scope\">\r\n <svg-icon :icon-class=\"scope.row.icon\" />\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"pc\" label=\"字符标识\" width=\"200\"></el-table-column>\r\n <el-table-column prop=\"orderNum\" label=\"排序\" width=\"60\"></el-table-column>\r\n <el-table-column prop=\"perms\" label=\"权限标识\" :show-overflow-tooltip=\"true\"></el-table-column>\r\n <el-table-column prop=\"component\" label=\"组件路径\" :show-overflow-tooltip=\"true\"></el-table-column>\r\n<!-- <el-table-column prop=\"status\" label=\"状态\" width=\"80\" :formatter=\"statusFormat\"/>-->\r\n <el-table-column label=\"创建时间\" align=\"center\" prop=\"createTime\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ parseTime(scope.row.createTime) }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"操作\" align=\"center\" class-name=\"small-padding fixed-width\">\r\n <template slot-scope=\"scope\">\r\n <el-button\r\n size=\"mini\"\r\n type=\"text\"\r\n icon=\"el-icon-edit\"\r\n @click=\"handleUpdate(scope.row)\"\r\n >修改</el-button>\r\n <el-button\r\n size=\"mini\"\r\n type=\"text\"\r\n icon=\"el-icon-plus\"\r\n @click=\"handleAdd(scope.row)\"\r\n >新增</el-button>\r\n <el-button\r\n size=\"mini\"\r\n type=\"text\"\r\n icon=\"el-icon-delete\"\r\n @click=\"handleDelete(scope.row)\"\r\n >删除</el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n\r\n <!-- 添加或修改菜单对话框 -->\r\n <el-dialog :title=\"title\" :visible.sync=\"open\" width=\"680px\" append-to-body>\r\n <el-form ref=\"form\" :model=\"form\" :rules=\"rules\" label-width=\"100px\">\r\n <el-row>\r\n <el-col :span=\"24\">\r\n <el-form-item label=\"上级菜单\" prop=\"parentId\">\r\n <treeselect\r\n v-model=\"form.parentId\"\r\n :options=\"menuOptions\"\r\n :normalizer=\"normalizer\"\r\n :show-count=\"true\"\r\n placeholder=\"选择上级菜单\"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"24\">\r\n <el-form-item label=\"菜单类型\" prop=\"menuType\">\r\n <el-radio-group v-model=\"form.menuType\">\r\n <el-radio label=\"M\">目录</el-radio>\r\n <el-radio label=\"C\">菜单</el-radio>\r\n <el-radio label=\"F\">按钮</el-radio>\r\n </el-radio-group>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"24\" v-if=\"form.menuType != 'F'\">\r\n <el-form-item label=\"菜单图标\" prop=\"icon\">\r\n <el-popover\r\n placement=\"bottom-start\"\r\n width=\"460\"\r\n trigger=\"click\"\r\n @show=\"$refs['iconSelect'].reset()\"\r\n >\r\n <IconSelect ref=\"iconSelect\" @selected=\"selected\" />\r\n <el-input slot=\"reference\" v-model=\"form.icon\" placeholder=\"点击选择图标\" readonly>\r\n <svg-icon\r\n v-if=\"form.icon\"\r\n slot=\"prefix\"\r\n :icon-class=\"form.icon\"\r\n class=\"el-input__icon\"\r\n style=\"height: 32px;width: 16px;\"\r\n />\r\n <i v-else slot=\"prefix\" class=\"el-icon-search el-input__icon\" />\r\n </el-input>\r\n </el-popover>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"菜单名称\" prop=\"menuName\">\r\n <el-input v-model=\"form.menuName\" placeholder=\"请输入菜单名称\" maxlength=\"50\"/>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-form-item label=\"显示排序\" prop=\"orderNum\">\r\n <el-input-number v-model=\"form.orderNum\" controls-position=\"right\" :min=\"0\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\" v-if=\"form.menuType != 'F'\">\r\n <el-form-item prop=\"isFrame\">\r\n <span slot=\"label\">\r\n <el-tooltip content=\"选择是外链则路由地址需要以`http(s)://`开头\" placement=\"top\">\r\n <i class=\"el-icon-question\"></i>\r\n </el-tooltip>\r\n 是否外链\r\n </span>\r\n <el-radio-group v-model=\"form.isFrame\">\r\n <el-radio label=\"0\">是</el-radio>\r\n <el-radio label=\"1\">否</el-radio>\r\n </el-radio-group>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\" v-if=\"form.menuType != 'F'\">\r\n <el-form-item prop=\"path\">\r\n <span slot=\"label\">\r\n <el-tooltip content=\"访问的路由地址,如:`user`,如外网地址需内链访问则以`http(s)://`开头\" placement=\"top\">\r\n <i class=\"el-icon-question\"></i>\r\n </el-tooltip>\r\n 路由地址\r\n </span>\r\n <el-input v-model=\"form.path\" placeholder=\"请输入路由地址\" maxlength=\"200\"/>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\" v-if=\"form.menuType == 'C'\">\r\n <el-form-item prop=\"component\">\r\n <span slot=\"label\">\r\n <el-tooltip content=\"访问的组件路径,如:`system/user/index`,默认在`views`目录下\" placement=\"top\">\r\n <i class=\"el-icon-question\"></i>\r\n </el-tooltip>\r\n 组件路径\r\n </span>\r\n <el-input v-model=\"form.component\" placeholder=\"请输入组件路径\" maxlength=\"200\"/>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\" v-if=\"form.menuType != 'M'\">\r\n <el-form-item prop=\"perms\">\r\n <el-input v-model=\"form.perms\" placeholder=\"请输入权限标识\" maxlength=\"100\" />\r\n <span slot=\"label\">\r\n <el-tooltip content=\"控制器中定义的权限字符,如:@PreAuthorize(`@ss.hasPermi('system:user:list')`)\" placement=\"top\">\r\n <i class=\"el-icon-question\"></i>\r\n </el-tooltip>\r\n 权限字符\r\n </span>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\" v-if=\"form.menuType == 'C'\">\r\n <el-form-item prop=\"query\">\r\n <el-input v-model=\"form.query\" placeholder=\"请输入路由参数\" maxlength=\"200\" />\r\n <span slot=\"label\">\r\n <el-tooltip content='访问路由的默认传递参数,如:`{\"id\": 1, \"name\": \"ry\"}`' placement=\"top\">\r\n <i class=\"el-icon-question\"></i>\r\n </el-tooltip>\r\n 路由参数\r\n </span>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\" v-if=\"form.menuType == 'C'\">\r\n <el-form-item prop=\"isCache\">\r\n <span slot=\"label\">\r\n <el-tooltip content=\"选择是则会被`keep-alive`缓存,需要匹配组件的`name`和地址保持一致\" placement=\"top\">\r\n <i class=\"el-icon-question\"></i>\r\n </el-tooltip>\r\n 是否缓存\r\n </span>\r\n <el-radio-group v-model=\"form.isCache\">\r\n <el-radio label=\"0\">缓存</el-radio>\r\n <el-radio label=\"1\">不缓存</el-radio>\r\n </el-radio-group>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\" v-if=\"form.menuType != 'F'\" v-show=\"false\">\r\n <el-form-item prop=\"visible\">\r\n <span slot=\"label\">\r\n <el-tooltip content=\"选择隐藏则路由将不会出现在侧边栏,但仍然可以访问\" placement=\"top\">\r\n <i class=\"el-icon-question\"></i>\r\n </el-tooltip>\r\n 显示状态\r\n </span>\r\n <el-radio-group v-model=\"form.visible\">\r\n <el-radio\r\n v-for=\"dict in sysShow\"\r\n :key=\"dict.value\"\r\n :label=\"dict.value\"\r\n >{{dict.label}}</el-radio>\r\n </el-radio-group>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\" v-if=\"form.menuType != 'F'\" v-show=\"false\">\r\n <el-form-item prop=\"status\" >\r\n <span slot=\"label\">\r\n <el-tooltip content=\"选择停用则路由将不会出现在侧边栏,也不能被访问\" placement=\"top\">\r\n <i class=\"el-icon-question\"></i>\r\n </el-tooltip>\r\n 菜单状态\r\n </span>\r\n <el-radio-group v-model=\"form.status\">\r\n <el-radio\r\n v-for=\"dict in menuStatus\"\r\n :key=\"dict.value\"\r\n :label=\"dict.value\"\r\n >{{dict.label}}</el-radio>\r\n </el-radio-group>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"12\" v-if=\"form.menuType == 'C'\">\r\n <el-form-item label=\"字符标识\" prop=\"pc\">\r\n <el-select\r\n multiple\r\n v-model=\"form.pc\"\r\n placeholder=\"请选择字符标识\"\r\n >\r\n <el-option\r\n v-for=\"item in pcOptions\"\r\n :key=\"item.value\"\r\n :label=\"item.label\"\r\n :value=\"item.value\">\r\n </el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <div slot=\"footer\" class=\"dialog-footer\">\r\n <el-button type=\"primary\" @click=\"submitForm\">确 定</el-button>\r\n <el-button @click=\"cancel\">取 消</el-button>\r\n </div>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n\r\nimport Treeselect from \"@riophae/vue-treeselect\";\r\nimport \"@riophae/vue-treeselect/dist/vue-treeselect.css\";\r\nimport IconSelect from \"@/components/IconSelect\";\r\nimport { debounce } from 'lodash'\r\nexport default {\r\n name: \"Menu\",\r\n dicts: ['sys_show_hide', 'sys_normal_disable'],\r\n components: { Treeselect, IconSelect },\r\n data() {\r\n return {\r\n pcOptions: [\r\n {value: 'XTGL', label: 'XTGL'},\r\n {value: 'SJGL', label: 'SJGL'},\r\n {value: 'SHGL', label: 'SHGL'},\r\n {value: 'YWGL', label: 'YWGL'},\r\n {value: 'SJYW', label: 'SJYW'},\r\n {value: 'YWPZ', label: 'YWPZ'},\r\n {value: 'YWCZ', label: 'YWCZ'}\r\n ],\r\n // 遮罩层\r\n loading: true,\r\n // 显示搜索条件\r\n showSearch: true,\r\n // 菜单表格树数据\r\n menuList: [],\r\n sysShow: [\r\n {value: '0', label: '显示菜单'},\r\n {value: '1', label: '隐藏菜单'}\r\n ],\r\n menuStatus: [\r\n {value: '0', label: '正常'},\r\n {value: '1', label: '停用'}\r\n ],\r\n // 菜单树选项\r\n menuOptions: [],\r\n // 弹出层标题\r\n title: \"\",\r\n // 是否显示弹出层\r\n open: false,\r\n // 是否展开,默认全部折叠\r\n isExpandAll: false,\r\n // 重新渲染表格状态\r\n refreshTable: true,\r\n // 查询参数\r\n queryParams: {\r\n menuName: undefined,\r\n visible: undefined\r\n },\r\n // 表单参数\r\n form: {},\r\n // 表单校验\r\n rules: {\r\n menuName: [\r\n { required: true, message: \"菜单名称不能为空\", trigger: \"blur\" }\r\n ],\r\n pc: [\r\n { required: true, message: \"字符标识不能为空\", trigger: \"blur\" }\r\n ],\r\n orderNum: [\r\n { required: true, message: \"菜单顺序不能为空\", trigger: \"blur\" }\r\n ],\r\n path: [\r\n { required: true, message: \"路由地址不能为空\", trigger: \"blur\" }\r\n ]\r\n }\r\n };\r\n },\r\n created() {\r\n this.getList()\r\n },\r\n methods: {\r\n // 列表状态格式化\r\n statusFormat(row, column) {\r\n let belongTo = '未知的类型'\r\n for (let i = 0; i < this.menuStatus.length; i++) {\r\n if (row.status == \"0\") {\r\n belongTo = \"正常\"\r\n } else if (row.status == \"1\") {\r\n belongTo = \"停用\"\r\n }\r\n }\r\n return belongTo\r\n },\r\n // 选择图标\r\n selected(name) {\r\n this.form.icon = name\r\n },\r\n /** 查询菜单列表 */\r\n async getList(){\r\n this.loading = true;\r\n const param = {\r\n menuName: this.queryParams.menuName\r\n }\r\n await this.$axios.get('/sysMenuController/list',{params: param}).then((res) => {\r\n this.menuList = this.handleTree(res.data, \"menuId\")\r\n this.loading = false;\r\n }).catch((error) => {\r\n this.loading = false;\r\n })\r\n },\r\n /** 转换菜单数据结构 */\r\n normalizer(node) {\r\n if (node.children && !node.children.length) {\r\n delete node.children\r\n }\r\n return {\r\n id: node.menuId,\r\n label: node.menuName,\r\n children: node.children\r\n };\r\n },\r\n /** 查询菜单下拉树结构 */\r\n async getTreeselect() {\r\n await this.$axios.get('/sysMenuController/list').then((res) => {\r\n this.menuOptions = []\r\n const menu = { menuId: 0, menuName: '主类目', children: [] }\r\n menu.children = this.handleTree(res.data, \"menuId\")\r\n this.menuOptions.push(menu)\r\n })\r\n },\r\n // 取消按钮\r\n cancel() {\r\n this.open = false\r\n this.reset()\r\n },\r\n // 表单重置\r\n reset() {\r\n this.form = {\r\n menuId: undefined,\r\n parentId: 0,\r\n menuName: undefined,\r\n icon: undefined,\r\n menuType: \"M\",\r\n orderNum: undefined,\r\n isFrame: \"1\",\r\n isCache: \"0\",\r\n visible: \"0\",\r\n status: \"0\"\r\n };\r\n this.resetForm(\"form\")\r\n },\r\n /** 搜索按钮操作 */\r\n handleQuery:debounce(function(){\r\n this.getList()\r\n },1000),\r\n /** 重置按钮操作 */\r\n resetQuery() {\r\n this.resetForm(\"queryForm\")\r\n },\r\n /** 新增按钮操作 */\r\n handleAdd:debounce(function(row){\r\n this.reset()\r\n this.getTreeselect();\r\n if (row != null && row.menuId) {\r\n this.form.parentId = row.menuId\r\n } else {\r\n this.form.parentId = 0\r\n }\r\n this.open = true\r\n this.title = \"添加菜单\"\r\n },500),\r\n /** 展开/折叠操作 */\r\n toggleExpandAll() {\r\n this.refreshTable = false\r\n this.isExpandAll = !this.isExpandAll\r\n this.$nextTick(() => {\r\n this.refreshTable = true\r\n });\r\n },\r\n /** 修改按钮操作 */\r\n handleUpdate:debounce(async function(row){\r\n this.reset()\r\n this.getTreeselect()\r\n\r\n var searchParams = {\r\n menuId: row.menuId\r\n }\r\n await this.$axios.get('/sysMenuController/getDetailInfo',\r\n {params: searchParams}).then((res) => {\r\n this.form = res.data\r\n if (this.form.pc!=null){\r\n this.form.pc = this.form.pc.split(\",\")\r\n }\r\n\r\n this.open = true\r\n this.title = \"修改菜单\"\r\n }).catch((error) => {\r\n // this.$message.error('获取数据出错' + error)\r\n })\r\n },500),\r\n /** 提交按钮 */\r\n submitForm:debounce(function(){\r\n this.$refs[\"form\"].validate(async valid => {\r\n if (valid) {\r\n if (this.form.pc!=null){\r\n this.form.pc = this.form.pc.join(\",\")\r\n }\r\n if (this.form.menuId != undefined) {\r\n await this.$axios.post('/sysMenuController/updateMenu', this.form).then((res) => {\r\n this.$message.success('修改成功!')\r\n this.open = false;\r\n this.getList();\r\n }).catch((error) => {\r\n // this.$message.error(error)\r\n })\r\n } else {\r\n await this.$axios.post('/sysMenuController/addMenu', this.form).then((res) => {\r\n this.$message.success('新增成功')\r\n this.open = false;\r\n this.getList();\r\n }).catch((error) => {\r\n // this.$message.error(error)\r\n })\r\n }\r\n }\r\n });\r\n },1000),\r\n /** 删除按钮操作 */\r\n handleDelete(row) {\r\n this.$confirm('是否确认删除名称为\"' + row.menuName + '\"的数据项?', '提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning',\r\n beforeClose(action, instance, done) {\r\n if (action === \"confirm\") {\r\n instance.$refs[\"confirm\"].$el.onclick = (function (e) {\r\n e = e || window.event;\r\n if (e.detail != 0) {\r\n done();\r\n }\r\n })();\r\n } else {\r\n done();\r\n }\r\n }\r\n }).then(() => {\r\n this.doDelete(row)\r\n }).catch(() => {\r\n });\r\n },\r\n /**\r\n * 删除提交\r\n */\r\n doDelete:debounce(async function(row){\r\n const param = {\r\n menuId: row.menuId\r\n }\r\n await this.$axios.post('/sysMenuController/delMenu', this.$qs.stringify(param)).then((res) => {\r\n this.$message.success('删除成功!')\r\n this.getList();\r\n }).catch((error) => {\r\n })\r\n this.loading = false\r\n },1000)\r\n }\r\n}\r\n</script>\r\n"],"mappings":"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"}]}
|