1 |
- {"remainingRequest":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js!E:\\boman-framwork\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!E:\\boman-framwork\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!E:\\boman-framwork\\ruoyi-ui\\src\\views\\system\\role\\fz-index.vue?vue&type=script&lang=js&","dependencies":[{"path":"E:\\boman-framwork\\ruoyi-ui\\src\\views\\system\\role\\fz-index.vue","mtime":1620894992913},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:InVzZSBzdHJpY3QiOwoKdmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKCJFOi9ib21hbi1mcmFtd29yay9ydW95aS11aS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZURlZmF1bHQiKS5kZWZhdWx0OwoKT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgewogIHZhbHVlOiB0cnVlCn0pOwpleHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuZnVuY3Rpb24ubmFtZS5qcyIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5Lm1hcC5qcyIpOwoKdmFyIF9vYmplY3RTcHJlYWQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKCJFOi9ib21hbi1mcmFtd29yay9ydW95aS11aS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RTcHJlYWQyIikpOwoKdmFyIF9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZSgiRTovYm9tYW4tZnJhbXdvcmsvcnVveWktdWkvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIpKTsKCnZhciBfcm9sZSA9IHJlcXVpcmUoIkAvYXBpL3N5c3RlbS9yb2xlIik7Cgp2YXIgX21lbnUgPSByZXF1aXJlKCJAL2FwaS9zeXN0ZW0vbWVudSIpOwoKdmFyIF9kZXB0ID0gcmVxdWlyZSgiQC9hcGkvc3lzdGVtL2RlcHQiKTsKCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCnZhciBfZGVmYXVsdCA9IHsKICBuYW1lOiAiUm9sZSIsCiAgaW5qZWN0OiBbJ3JlbG9hZCddLAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICBtb2RpZnlTdGF0dXM6IGZhbHNlLAogICAgICBzZWFySW5kZXg6ICcnLAogICAgICBkYXRhOiBbXSwKICAgICAgZGVmYXVsdFByb3BzOiB7CiAgICAgICAgY2hpbGRyZW46ICdjaGlsZHJlbicsCiAgICAgICAgbGFiZWw6ICdtZW51TmFtZScKICAgICAgfSwKICAgICAgaW5kZXhzOiAzLAogICAgICBtZW51c0xpc3Q6ICcnLAogICAgICAvLyDpga7nvanlsYIKICAgICAgbG9hZGluZzogdHJ1ZSwKICAgICAgLy8g6YCJ5Lit5pWw57uECiAgICAgIGlkczogW10sCiAgICAgIC8vIOmdnuWNleS4quemgeeUqAogICAgICBzaW5nbGU6IHRydWUsCiAgICAgIC8vIOmdnuWkmuS4quemgeeUqAogICAgICBtdWx0aXBsZTogdHJ1ZSwKICAgICAgLy8g5pi+56S65pCc57Si5p2h5Lu2CiAgICAgIHNob3dTZWFyY2g6IHRydWUsCiAgICAgIC8vIOaAu+adoeaVsAogICAgICB0b3RhbDogMCwKICAgICAgLy8g6KeS6Imy6KGo5qC85pWw5o2uCiAgICAgIHJvbGVMaXN0OiBbXSwKICAgICAgLy8g5by55Ye65bGC5qCH6aKYCiAgICAgIHRpdGxlOiAiIiwKICAgICAgLy8g5piv5ZCm5pi+56S65by55Ye65bGCCiAgICAgIG9wZW46IGZhbHNlLAogICAgICAvLyDmmK/lkKbmmL7npLrlvLnlh7rlsYLvvIjmlbDmja7mnYPpmZDvvIkKICAgICAgb3BlbkRhdGFTY29wZTogZmFsc2UsCiAgICAgIG1lbnVFeHBhbmQ6IGZhbHNlLAogICAgICBtZW51Tm9kZUFsbDogZmFsc2UsCiAgICAgIGRlcHRFeHBhbmQ6IHRydWUsCiAgICAgIGRlcHROb2RlQWxsOiBmYWxzZSwKICAgICAgLy8g5pel5pyf6IyD5Zu0CiAgICAgIGRhdGVSYW5nZTogW10sCiAgICAgIC8vIOeKtuaAgeaVsOaNruWtl+WFuAogICAgICBzdGF0dXNPcHRpb25zOiBbXSwKICAgICAgLy8g5pWw5o2u6IyD5Zu06YCJ6aG5CiAgICAgIGRhdGFTY29wZU9wdGlvbnM6IFt7CiAgICAgICAgdmFsdWU6ICIxIiwKICAgICAgICBsYWJlbDogIuWFqOmDqOaVsOaNruadg+mZkCIKICAgICAgfSwgewogICAgICAgIHZhbHVlOiAiMiIsCiAgICAgICAgbGFiZWw6ICLoh6rlrprmlbDmja7mnYPpmZAiCiAgICAgIH0sIHsKICAgICAgICB2YWx1ZTogIjMiLAogICAgICAgIGxhYmVsOiAi5pys6YOo6Zeo5pWw5o2u5p2D6ZmQIgogICAgICB9LCB7CiAgICAgICAgdmFsdWU6ICI0IiwKICAgICAgICBsYWJlbDogIuacrOmDqOmXqOWPiuS7peS4i+aVsOaNruadg+mZkCIKICAgICAgfSwgewogICAgICAgIHZhbHVlOiAiNSIsCiAgICAgICAgbGFiZWw6ICLku4XmnKzkurrmlbDmja7mnYPpmZAiCiAgICAgIH1dLAogICAgICAvLyDoj5zljZXliJfooagKICAgICAgbWVudU9wdGlvbnM6IFtdLAogICAgICAvLyDpg6jpl6jliJfooagKICAgICAgZGVwdE9wdGlvbnM6IFtdLAogICAgICAvLyDmn6Xor6Llj4LmlbAKICAgICAgcXVlcnlQYXJhbXM6IHsKICAgICAgICBwYWdlTnVtOiAxLAogICAgICAgIHBhZ2VTaXplOiAxMCwKICAgICAgICByb2xlTmFtZTogdW5kZWZpbmVkLAogICAgICAgIHJvbGVLZXk6IHVuZGVmaW5lZCwKICAgICAgICBzdGF0dXM6IHVuZGVmaW5lZAogICAgICB9LAogICAgICByb2xlSWQ6ICcnLAogICAgICAvLyDooajljZXlj4LmlbAKICAgICAgZm9ybToge30sCiAgICAgIC8vIOihqOWNleagoemqjAogICAgICBydWxlczogewogICAgICAgIHJvbGVOYW1lOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAi6KeS6Imy5ZCN56ew5LiN6IO95Li656m6IiwKICAgICAgICAgIHRyaWdnZXI6ICJibHVyIgogICAgICAgIH1dLAogICAgICAgIHJvbGVLZXk6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICLmnYPpmZDlrZfnrKbkuI3og73kuLrnqboiLAogICAgICAgICAgdHJpZ2dlcjogImJsdXIiCiAgICAgICAgfV0sCiAgICAgICAgcm9sZVNvcnQ6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICLop5LoibLpobrluo/kuI3og73kuLrnqboiLAogICAgICAgICAgdHJpZ2dlcjogImJsdXIiCiAgICAgICAgfV0KICAgICAgfQogICAgfTsKICB9LAogIGNyZWF0ZWQ6IGZ1bmN0aW9uIGNyZWF0ZWQoKSB7CiAgICB2YXIgX3RoaXMyID0gdGhpczsKCiAgICB0aGlzLmdldExpc3QoKTsKICAgIHRoaXMuZ2V0RGljdHMoInN5c19ub3JtYWxfZGlzYWJsZSIpLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgIF90aGlzMi5zdGF0dXNPcHRpb25zID0gcmVzcG9uc2UuZGF0YTsKICAgIH0pOwogIH0sCiAgbWV0aG9kczogewogICAgY2hlY2tDaGFuZ2U6IGZ1bmN0aW9uIGNoZWNrQ2hhbmdlKCkgewogICAgICB0aGlzLm1vZGlmeVN0YXR1cyA9IHRydWU7CiAgICB9LAogICAgaGFuZGxlTWVudTogZnVuY3Rpb24gaGFuZGxlTWVudSgpIHsKICAgICAgdmFyIF90aGlzMyA9IHRoaXM7CgogICAgICBpZiAoIXRoaXMubW9kaWZ5U3RhdHVzKSB7CiAgICAgICAgdGhpcy5tc2dJbmZvKCfmsqHmnInkv67mlLnnmoTlhoXlrrnvvIEnKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIHZhciBkYXRhID0gW107CgogICAgICB2YXIgX2l0ZXJhdG9yID0gKDAsIF9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyMi5kZWZhdWx0KSh0aGlzLm1lbnVzTGlzdC5zeXNNZW51cyksCiAgICAgICAgICBfc3RlcDsKCiAgICAgIHRyeSB7CiAgICAgICAgZm9yIChfaXRlcmF0b3IucygpOyAhKF9zdGVwID0gX2l0ZXJhdG9yLm4oKSkuZG9uZTspIHsKICAgICAgICAgIHZhciBpdGVtID0gX3N0ZXAudmFsdWU7CiAgICAgICAgICB2YXIgb2JqID0ge307CiAgICAgICAgICBvYmoucm9sZUlkID0gdGhpcy5yb2xlSWQ7CiAgICAgICAgICBvYmoubWVudUlkID0gaXRlbS5pZDsKICAgICAgICAgIG9iai5oZWFkID0gW107CgogICAgICAgICAgdmFyIF9pdGVyYXRvcjIgPSAoMCwgX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIyLmRlZmF1bHQpKGl0ZW0uY29udGFpbnNIZWFkKSwKICAgICAgICAgICAgICBfc3RlcDI7CgogICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgZm9yIChfaXRlcmF0b3IyLnMoKTsgIShfc3RlcDIgPSBfaXRlcmF0b3IyLm4oKSkuZG9uZTspIHsKICAgICAgICAgICAgICB2YXIgaXRlbUNoaWxkID0gX3N0ZXAyLnZhbHVlOwoKICAgICAgICAgICAgICBpZiAoaXRlbUNoaWxkLnR5cGUgPT09IHRydWUpIHsKICAgICAgICAgICAgICAgIG9iai5oZWFkLnB1c2goaXRlbUNoaWxkLm5hbWUpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSBjYXRjaCAoZXJyKSB7CiAgICAgICAgICAgIF9pdGVyYXRvcjIuZShlcnIpOwogICAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgX2l0ZXJhdG9yMi5mKCk7CiAgICAgICAgICB9CgogICAgICAgICAgZGF0YS5wdXNoKG9iaik7CiAgICAgICAgfQogICAgICB9IGNhdGNoIChlcnIpIHsKICAgICAgICBfaXRlcmF0b3IuZShlcnIpOwogICAgICB9IGZpbmFsbHkgewogICAgICAgIF9pdGVyYXRvci5mKCk7CiAgICAgIH0KCiAgICAgICgwLCBfcm9sZS5zZXRNZW51KShKU09OLnN0cmluZ2lmeShkYXRhKSkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgX3RoaXMzLm1zZ1N1Y2Nlc3MoJ+S/neWtmOaIkOWKnycpOwoKICAgICAgICBfdGhpczMubW9kaWZ5U3RhdHVzID0gZmFsc2U7CiAgICAgIH0pOwogICAgfSwKICAgIHF4TGlzdDogZnVuY3Rpb24gcXhMaXN0KGUpIHsKICAgICAgdmFyIF90aGlzNCA9IHRoaXM7CgogICAgICB2YXIgX3RoaXMgPSB0aGlzOwoKICAgICAgaWYgKHRoaXMubW9kaWZ5U3RhdHVzKSB7CiAgICAgICAgdGhpcy4kY29uZmlybSgn5b2T5YmN6aG16Z2i5a2Y5Zyo5pyq5L+d5a2Y5YaF5a6577yM5piv5ZCm5L+d5a2Y5ZCO5YiH5o2iPycsICLmj5DphpIiLCB7CiAgICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogIueVmeS4iyIsCiAgICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAi5Y+W5raIIiwKICAgICAgICAgIHR5cGU6ICJ3YXJuaW5nIgogICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkge30pLmNhdGNoKGZ1bmN0aW9uICgpIHsKICAgICAgICAgIF90aGlzLm1vZGlmeVN0YXR1cyA9IGZhbHNlOwoKICAgICAgICAgIF90aGlzLnF4TGlzdChlKTsKICAgICAgICB9KTsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIHRoaXMubWVudXNMaXN0ID0ge307CiAgICAgICgwLCBfbWVudS5saXN0TWVudXMpKGUuaWQsIHRoaXMucm9sZUlkKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICB2YXIgZGF0YSA9IHJlcy5kYXRhOwogICAgICAgIF90aGlzNC5tZW51c0xpc3QgPSBkYXRhOwogICAgICB9KTsKICAgIH0sCiAgICByZWZyZXNoRm46IGZ1bmN0aW9uIHJlZnJlc2hGbigpIHsKICAgICAgLy8gdGhpcy5nZXRMaXN0KCkKICAgICAgdGhpcy5yZWxvYWQoKTsgLy8gdGhpcy5kZXB0T3B0aW9ucyA9IFtdCiAgICB9LAogICAgc2VhckJ0bkZuOiBmdW5jdGlvbiBzZWFyQnRuRm4oaXRlbSkgewogICAgICB0aGlzLnJvbGVJZCA9IGl0ZW0uaWQ7CiAgICAgIHRoaXMuaGFuZGxlVXBkYXRlKCk7CiAgICB9LAogICAgaGFuZGxlTm9kZUNsaWNrOiBmdW5jdGlvbiBoYW5kbGVOb2RlQ2xpY2soKSB7CiAgICAgIGNvbnNvbGUubG9nKDIyMSk7CiAgICB9LAoKICAgIC8qKiDmn6Xor6Lop5LoibLliJfooaggKi8KICAgIGdldExpc3Q6IGZ1bmN0aW9uIGdldExpc3QoKSB7CiAgICAgIHZhciBfdGhpczUgPSB0aGlzOwoKICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsKICAgICAgKDAsIF9yb2xlLmxpc3RSb2xlKSh0aGlzLmFkZERhdGVSYW5nZSh0aGlzLnF1ZXJ5UGFyYW1zLCB0aGlzLmRhdGVSYW5nZSkpLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgICAgX3RoaXM1LnJvbGVMaXN0ID0gcmVzcG9uc2Uucm93czsKICAgICAgICBfdGhpczUudG90YWwgPSByZXNwb25zZS50b3RhbDsKICAgICAgICBfdGhpczUubG9hZGluZyA9IGZhbHNlOwogICAgICB9KTsKICAgIH0sCgogICAgLyoqIOafpeivouiPnOWNleagkee7k+aehCAqLwogICAgZ2V0TWVudVRyZWVzZWxlY3Q6IGZ1bmN0aW9uIGdldE1lbnVUcmVlc2VsZWN0KCkgewogICAgICB2YXIgX3RoaXM2ID0gdGhpczsKCiAgICAgICgwLCBfbWVudS50cmVlc2VsZWN0KSgpLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgICAgX3RoaXM2Lm1lbnVPcHRpb25zID0gcmVzcG9uc2UuZGF0YTsKICAgICAgfSk7CiAgICB9LAoKICAgIC8qKiDmn6Xor6Lpg6jpl6jmoJHnu5PmnoQgKi8KICAgIGdldERlcHRUcmVlc2VsZWN0OiBmdW5jdGlvbiBnZXREZXB0VHJlZXNlbGVjdCgpIHsKICAgICAgdmFyIF90aGlzNyA9IHRoaXM7CgogICAgICAoMCwgX2RlcHQudHJlZXNlbGVjdCkoKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICAgIF90aGlzNy5kZXB0T3B0aW9ucyA9IHJlc3BvbnNlLmRhdGE7CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOaJgOacieiPnOWNleiKgueCueaVsOaNrgogICAgZ2V0TWVudUFsbENoZWNrZWRLZXlzOiBmdW5jdGlvbiBnZXRNZW51QWxsQ2hlY2tlZEtleXMoKSB7CiAgICAgIC8vIOebruWJjeiiq+mAieS4reeahOiPnOWNleiKgueCuQogICAgICB2YXIgY2hlY2tlZEtleXMgPSB0aGlzLiRyZWZzLm1lbnUuZ2V0Q2hlY2tlZEtleXMoKTsgLy8g5Y2K6YCJ5Lit55qE6I+c5Y2V6IqC54K5CgogICAgICB2YXIgaGFsZkNoZWNrZWRLZXlzID0gdGhpcy4kcmVmcy5tZW51LmdldEhhbGZDaGVja2VkS2V5cygpOwogICAgICBjaGVja2VkS2V5cy51bnNoaWZ0LmFwcGx5KGNoZWNrZWRLZXlzLCBoYWxmQ2hlY2tlZEtleXMpOwogICAgICByZXR1cm4gY2hlY2tlZEtleXM7CiAgICB9LAogICAgLy8g5omA5pyJ6YOo6Zeo6IqC54K55pWw5o2uCiAgICBnZXREZXB0QWxsQ2hlY2tlZEtleXM6IGZ1bmN0aW9uIGdldERlcHRBbGxDaGVja2VkS2V5cygpIHsKICAgICAgLy8g55uu5YmN6KKr6YCJ5Lit55qE6YOo6Zeo6IqC54K5CiAgICAgIHZhciBjaGVja2VkS2V5cyA9IHRoaXMuJHJlZnMuZGVwdC5nZXRDaGVja2VkS2V5cygpOyAvLyDljYrpgInkuK3nmoTpg6jpl6joioLngrkKCiAgICAgIHZhciBoYWxmQ2hlY2tlZEtleXMgPSB0aGlzLiRyZWZzLmRlcHQuZ2V0SGFsZkNoZWNrZWRLZXlzKCk7CiAgICAgIGNoZWNrZWRLZXlzLnVuc2hpZnQuYXBwbHkoY2hlY2tlZEtleXMsIGhhbGZDaGVja2VkS2V5cyk7CiAgICAgIHJldHVybiBjaGVja2VkS2V5czsKICAgIH0sCgogICAgLyoqIOagueaNruinkuiJsklE5p+l6K+i6I+c5Y2V5qCR57uT5p6EICovCiAgICBnZXRSb2xlTWVudVRyZWVzZWxlY3Q6IGZ1bmN0aW9uIGdldFJvbGVNZW51VHJlZXNlbGVjdChpZCkgewogICAgICB2YXIgX3RoaXM4ID0gdGhpczsKCiAgICAgIHJldHVybiAoMCwgX21lbnUudHJlZU1lbnVOb3RBZGRMZWFmTm9kZSkoaWQpLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgICAgX3RoaXM4Lm1lbnVPcHRpb25zID0gcmVzcG9uc2UuZGF0YTsKICAgICAgICByZXR1cm4gcmVzcG9uc2U7CiAgICAgIH0pOwogICAgfSwKCiAgICAvKiog5qC55o2u6KeS6ImySUTmn6Xor6Lpg6jpl6jmoJHnu5PmnoQgKi8KICAgIGdldFJvbGVEZXB0VHJlZXNlbGVjdDogZnVuY3Rpb24gZ2V0Um9sZURlcHRUcmVlc2VsZWN0KGlkKSB7CiAgICAgIHZhciBfdGhpczkgPSB0aGlzOwoKICAgICAgcmV0dXJuICgwLCBfZGVwdC5yb2xlRGVwdFRyZWVzZWxlY3QpKGlkKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICAgIF90aGlzOS5kZXB0T3B0aW9ucyA9IHJlc3BvbnNlLmRlcHRzOwogICAgICAgIHJldHVybiByZXNwb25zZTsKICAgICAgfSk7CiAgICB9LAogICAgLy8g6KeS6Imy54q25oCB5L+u5pS5CiAgICBoYW5kbGVTdGF0dXNDaGFuZ2U6IGZ1bmN0aW9uIGhhbmRsZVN0YXR1c0NoYW5nZShyb3cpIHsKICAgICAgdmFyIF90aGlzMTAgPSB0aGlzOwoKICAgICAgdmFyIHRleHQgPSByb3cuc3RhdHVzID09PSAiMCIgPyAi5ZCv55SoIiA6ICLlgZznlKgiOwogICAgICB0aGlzLiRjb25maXJtKCfnoa7orqTopoEiJyArIHRleHQgKyAnIiInICsgcm93LnJvbGVOYW1lICsgJyLop5LoibLlkJc/JywgIuitpuWRiiIsIHsKICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogIuehruWumiIsCiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogIuWPlua2iCIsCiAgICAgICAgdHlwZTogIndhcm5pbmciCiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIHJldHVybiAoMCwgX3JvbGUuY2hhbmdlUm9sZVN0YXR1cykocm93LmlkLCByb3cuc3RhdHVzKTsKICAgICAgfSkudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgX3RoaXMxMC5tc2dTdWNjZXNzKHRleHQgKyAi5oiQ5YqfIik7CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uICgpIHsKICAgICAgICByb3cuc3RhdHVzID0gcm93LnN0YXR1cyA9PT0gIjAiID8gIjEiIDogIjAiOwogICAgICB9KTsKICAgIH0sCiAgICAvLyDlj5bmtojmjInpkq4KICAgIGNhbmNlbDogZnVuY3Rpb24gY2FuY2VsKCkgewogICAgICB0aGlzLm9wZW4gPSBmYWxzZTsKICAgICAgdGhpcy5yZXNldCgpOwogICAgfSwKICAgIC8vIOWPlua2iOaMiemSru+8iOaVsOaNruadg+mZkO+8iQogICAgY2FuY2VsRGF0YVNjb3BlOiBmdW5jdGlvbiBjYW5jZWxEYXRhU2NvcGUoKSB7CiAgICAgIHRoaXMub3BlbkRhdGFTY29wZSA9IGZhbHNlOwogICAgICB0aGlzLnJlc2V0KCk7CiAgICB9LAogICAgLy8g6KGo5Y2V6YeN572uCiAgICByZXNldDogZnVuY3Rpb24gcmVzZXQoKSB7CiAgICAgIGlmICh0aGlzLiRyZWZzLm1lbnUgIT0gdW5kZWZpbmVkKSB7CiAgICAgICAgdGhpcy4kcmVmcy5tZW51LnNldENoZWNrZWRLZXlzKFtdKTsKICAgICAgfQoKICAgICAgdGhpcy5tZW51RXhwYW5kID0gZmFsc2UsIHRoaXMubWVudU5vZGVBbGwgPSBmYWxzZSwgdGhpcy5kZXB0RXhwYW5kID0gdHJ1ZSwgdGhpcy5kZXB0Tm9kZUFsbCA9IGZhbHNlLCB0aGlzLmZvcm0gPSB7CiAgICAgICAgaWQ6IHVuZGVmaW5lZCwKICAgICAgICByb2xlTmFtZTogdW5kZWZpbmVkLAogICAgICAgIHJvbGVLZXk6IHVuZGVmaW5lZCwKICAgICAgICByb2xlU29ydDogMCwKICAgICAgICBzdGF0dXM6ICIwIiwKICAgICAgICBtZW51SWRzOiBbXSwKICAgICAgICBkZXB0SWRzOiBbXSwKICAgICAgICBtZW51Q2hlY2tTdHJpY3RseTogdHJ1ZSwKICAgICAgICBkZXB0Q2hlY2tTdHJpY3RseTogdHJ1ZSwKICAgICAgICByZW1hcms6IHVuZGVmaW5lZAogICAgICB9OwogICAgICB0aGlzLnJlc2V0Rm9ybSgiZm9ybSIpOwogICAgfSwKCiAgICAvKiog5pCc57Si5oyJ6ZKu5pON5L2cICovCiAgICBoYW5kbGVRdWVyeTogZnVuY3Rpb24gaGFuZGxlUXVlcnkoKSB7CiAgICAgIHRoaXMucXVlcnlQYXJhbXMucGFnZU51bSA9IDE7CiAgICAgIHRoaXMuZ2V0TGlzdCgpOwogICAgfSwKCiAgICAvKiog6YeN572u5oyJ6ZKu5pON5L2cICovCiAgICByZXNldFF1ZXJ5OiBmdW5jdGlvbiByZXNldFF1ZXJ5KCkgewogICAgICB0aGlzLmRhdGVSYW5nZSA9IFtdOwogICAgICB0aGlzLnJlc2V0Rm9ybSgicXVlcnlGb3JtIik7CiAgICAgIHRoaXMuaGFuZGxlUXVlcnkoKTsKICAgIH0sCiAgICAvLyDlpJrpgInmoYbpgInkuK3mlbDmja4KICAgIGhhbmRsZVNlbGVjdGlvbkNoYW5nZTogZnVuY3Rpb24gaGFuZGxlU2VsZWN0aW9uQ2hhbmdlKHNlbGVjdGlvbikgewogICAgICB0aGlzLmlkcyA9IHNlbGVjdGlvbi5tYXAoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICByZXR1cm4gaXRlbS5pZDsKICAgICAgfSk7CiAgICAgIHRoaXMuc2luZ2xlID0gc2VsZWN0aW9uLmxlbmd0aCAhPSAxOwogICAgICB0aGlzLm11bHRpcGxlID0gIXNlbGVjdGlvbi5sZW5ndGg7CiAgICB9LAogICAgLy8g5qCR5p2D6ZmQ77yI5bGV5byAL+aKmOWPoO+8iQogICAgaGFuZGxlQ2hlY2tlZFRyZWVFeHBhbmQ6IGZ1bmN0aW9uIGhhbmRsZUNoZWNrZWRUcmVlRXhwYW5kKHZhbHVlLCB0eXBlKSB7CiAgICAgIGlmICh0eXBlID09ICdtZW51JykgewogICAgICAgIHZhciB0cmVlTGlzdCA9IHRoaXMubWVudU9wdGlvbnM7CgogICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdHJlZUxpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgIHRoaXMuJHJlZnMubWVudS5zdG9yZS5ub2Rlc01hcFt0cmVlTGlzdFtpXS5pZF0uZXhwYW5kZWQgPSB2YWx1ZTsKICAgICAgICB9CiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PSAnZGVwdCcpIHsKICAgICAgICB2YXIgX3RyZWVMaXN0ID0gdGhpcy5kZXB0T3B0aW9uczsKCiAgICAgICAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IF90cmVlTGlzdC5sZW5ndGg7IF9pKyspIHsKICAgICAgICAgIHRoaXMuJHJlZnMuZGVwdC5zdG9yZS5ub2Rlc01hcFtfdHJlZUxpc3RbX2ldLmlkXS5leHBhbmRlZCA9IHZhbHVlOwogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgIC8vIOagkeadg+mZkO+8iOWFqOmAiS/lhajkuI3pgInvvIkKICAgIGhhbmRsZUNoZWNrZWRUcmVlTm9kZUFsbDogZnVuY3Rpb24gaGFuZGxlQ2hlY2tlZFRyZWVOb2RlQWxsKHZhbHVlLCB0eXBlKSB7CiAgICAgIGlmICh0eXBlID09ICdtZW51JykgewogICAgICAgIHRoaXMuJHJlZnMubWVudS5zZXRDaGVja2VkTm9kZXModmFsdWUgPyB0aGlzLm1lbnVPcHRpb25zIDogW10pOwogICAgICB9IGVsc2UgaWYgKHR5cGUgPT0gJ2RlcHQnKSB7CiAgICAgICAgdGhpcy4kcmVmcy5kZXB0LnNldENoZWNrZWROb2Rlcyh2YWx1ZSA/IHRoaXMuZGVwdE9wdGlvbnMgOiBbXSk7CiAgICAgIH0KICAgIH0sCiAgICAvLyDmoJHmnYPpmZDvvIjniLblrZDogZTliqjvvIkKICAgIGhhbmRsZUNoZWNrZWRUcmVlQ29ubmVjdDogZnVuY3Rpb24gaGFuZGxlQ2hlY2tlZFRyZWVDb25uZWN0KHZhbHVlLCB0eXBlKSB7CiAgICAgIGlmICh0eXBlID09ICdtZW51JykgewogICAgICAgIHRoaXMuZm9ybS5tZW51Q2hlY2tTdHJpY3RseSA9IHZhbHVlID8gdHJ1ZSA6IGZhbHNlOwogICAgICB9IGVsc2UgaWYgKHR5cGUgPT0gJ2RlcHQnKSB7CiAgICAgICAgdGhpcy5mb3JtLmRlcHRDaGVja1N0cmljdGx5ID0gdmFsdWUgPyB0cnVlIDogZmFsc2U7CiAgICAgIH0KICAgIH0sCgogICAgLyoqIOaWsOWinuaMiemSruaTjeS9nCAqLwogICAgaGFuZGxlQWRkOiBmdW5jdGlvbiBoYW5kbGVBZGQoKSB7CiAgICAgIHRoaXMucmVzZXQoKTsKICAgICAgdGhpcy5nZXRNZW51VHJlZXNlbGVjdCgpOwogICAgICB0aGlzLm9wZW4gPSB0cnVlOwogICAgICB0aGlzLnRpdGxlID0gIua3u+WKoOinkuiJsiI7CiAgICB9LAoKICAgIC8qKiDkv67mlLnmjInpkq7mk43kvZwgKi8KICAgIGhhbmRsZVVwZGF0ZTogZnVuY3Rpb24gaGFuZGxlVXBkYXRlKCkgewogICAgICB2YXIgX3RoaXMxMSA9IHRoaXM7CgogICAgICB0aGlzLnJlc2V0KCk7CiAgICAgIHZhciByb2xlTWVudSA9IHRoaXMuZ2V0Um9sZU1lbnVUcmVlc2VsZWN0KHRoaXMucm9sZUlkKTsKICAgICAgcm9sZU1lbnUudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgX3RoaXMxMS5kZXB0T3B0aW9ucyA9IHJlcy5kYXRhOwogICAgICB9KTsKICAgIH0sCgogICAgLyoqIOmAieaLqeinkuiJsuadg+mZkOiMg+WbtOinpuWPkSAqLwogICAgZGF0YVNjb3BlU2VsZWN0Q2hhbmdlOiBmdW5jdGlvbiBkYXRhU2NvcGVTZWxlY3RDaGFuZ2UodmFsdWUpIHsKICAgICAgaWYgKHZhbHVlICE9PSAnMicpIHsKICAgICAgICB0aGlzLiRyZWZzLmRlcHQuc2V0Q2hlY2tlZEtleXMoW10pOwogICAgICB9CiAgICB9LAoKICAgIC8qKiDliIbphY3mlbDmja7mnYPpmZDmk43kvZwgKi8KICAgIGhhbmRsZURhdGFTY29wZTogZnVuY3Rpb24gaGFuZGxlRGF0YVNjb3BlKHJvdykgewogICAgICB2YXIgX3RoaXMxMiA9IHRoaXM7CgogICAgICB0aGlzLnJlc2V0KCk7CiAgICAgIHZhciByb2xlRGVwdFRyZWVzZWxlY3QgPSB0aGlzLmdldFJvbGVEZXB0VHJlZXNlbGVjdChyb3cuaWQpOwogICAgICAoMCwgX3JvbGUuZ2V0Um9sZSkocm93LmlkKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICAgIF90aGlzMTIuZm9ybSA9IHJlc3BvbnNlLmRhdGE7CiAgICAgICAgX3RoaXMxMi5vcGVuRGF0YVNjb3BlID0gdHJ1ZTsKCiAgICAgICAgX3RoaXMxMi4kbmV4dFRpY2soZnVuY3Rpb24gKCkgewogICAgICAgICAgcm9sZURlcHRUcmVlc2VsZWN0LnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgICAgICBfdGhpczEyLiRyZWZzLmRlcHQuc2V0Q2hlY2tlZEtleXMocmVzLmNoZWNrZWRLZXlzKTsKICAgICAgICAgIH0pOwogICAgICAgIH0pOwoKICAgICAgICBfdGhpczEyLnRpdGxlID0gIuWIhumFjeaVsOaNruadg+mZkCI7CiAgICAgIH0pOwogICAgfSwKCiAgICAvKiog5o+Q5Lqk5oyJ6ZKuICovCiAgICBzdWJtaXRGb3JtOiBmdW5jdGlvbiBzdWJtaXRGb3JtKCkgewogICAgICB2YXIgX3RoaXMxMyA9IHRoaXM7CgogICAgICB0aGlzLiRyZWZzWyJmb3JtIl0udmFsaWRhdGUoZnVuY3Rpb24gKHZhbGlkKSB7CiAgICAgICAgaWYgKHZhbGlkKSB7CiAgICAgICAgICBpZiAoX3RoaXMxMy5mb3JtLmlkICE9IHVuZGVmaW5lZCkgewogICAgICAgICAgICAvLyB0aGlzLmZvcm0ubWVudUlkcyA9IHRoaXMuZ2V0TWVudUFsbENoZWNrZWRLZXlzKCk7CiAgICAgICAgICAgICgwLCBfcm9sZS51cGRhdGVSb2xlKShfdGhpczEzLmZvcm0pLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgICAgICAgICAgX3RoaXMxMy5tc2dTdWNjZXNzKCLkv67mlLnmiJDlip8iKTsKCiAgICAgICAgICAgICAgX3RoaXMxMy5vcGVuID0gZmFsc2U7CgogICAgICAgICAgICAgIF90aGlzMTMuZ2V0TGlzdCgpOwogICAgICAgICAgICB9KTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIC8vIHRoaXMuZm9ybS5tZW51SWRzID0gdGhpcy5nZXRNZW51QWxsQ2hlY2tlZEtleXMoKTsKICAgICAgICAgICAgKDAsIF9yb2xlLmFkZFJvbGUpKF90aGlzMTMuZm9ybSkudGhlbihmdW5jdGlvbiAocmVzcG9uc2UpIHsKICAgICAgICAgICAgICBfdGhpczEzLm1zZ1N1Y2Nlc3MoIuaWsOWinuaIkOWKnyIpOwoKICAgICAgICAgICAgICBfdGhpczEzLm9wZW4gPSBmYWxzZTsKCiAgICAgICAgICAgICAgX3RoaXMxMy5nZXRMaXN0KCk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAoKICAgIC8qKiDmj5DkuqTmjInpkq7vvIjmlbDmja7mnYPpmZDvvIkgKi8KICAgIHN1Ym1pdERhdGFTY29wZTogZnVuY3Rpb24gc3VibWl0RGF0YVNjb3BlKCkgewogICAgICB2YXIgX3RoaXMxNCA9IHRoaXM7CgogICAgICBpZiAodGhpcy5mb3JtLmlkICE9IHVuZGVmaW5lZCkgewogICAgICAgIHRoaXMuZm9ybS5kZXB0SWRzID0gdGhpcy5nZXREZXB0QWxsQ2hlY2tlZEtleXMoKTsKICAgICAgICAoMCwgX3JvbGUuZGF0YVNjb3BlKSh0aGlzLmZvcm0pLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgICAgICBfdGhpczE0Lm1zZ1N1Y2Nlc3MoIuS/ruaUueaIkOWKnyIpOwoKICAgICAgICAgIF90aGlzMTQub3BlbkRhdGFTY29wZSA9IGZhbHNlOwoKICAgICAgICAgIF90aGlzMTQuZ2V0TGlzdCgpOwogICAgICAgIH0pOwogICAgICB9CiAgICB9LAoKICAgIC8qKiDliKDpmaTmjInpkq7mk43kvZwgKi8KICAgIGhhbmRsZURlbGV0ZTogZnVuY3Rpb24gaGFuZGxlRGVsZXRlKHJvdykgewogICAgICB2YXIgX3RoaXMxNSA9IHRoaXM7CgogICAgICB2YXIgaWRzID0gcm93LmlkIHx8IHRoaXMuaWRzOwogICAgICB0aGlzLiRjb25maXJtKCfmmK/lkKbnoa7orqTliKDpmaTop5LoibLnvJblj7fkuLoiJyArIGlkcyArICci55qE5pWw5o2u6aG5PycsICLorablkYoiLCB7CiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICLnoa7lrpoiLAogICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICLlj5bmtogiLAogICAgICAgIHR5cGU6ICJ3YXJuaW5nIgogICAgICB9KS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gKDAsIF9yb2xlLmRlbFJvbGUpKGlkcyk7CiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIF90aGlzMTUuZ2V0TGlzdCgpOwoKICAgICAgICBfdGhpczE1LmRlcHRPcHRpb25zID0gW107CgogICAgICAgIF90aGlzMTUubXNnU3VjY2Vzcygi5Yig6Zmk5oiQ5YqfIik7CiAgICAgIH0pOwogICAgfSwKCiAgICAvKiog5a+85Ye65oyJ6ZKu5pON5L2cICovCiAgICBoYW5kbGVFeHBvcnQ6IGZ1bmN0aW9uIGhhbmRsZUV4cG9ydCgpIHsKICAgICAgdGhpcy5kb3dubG9hZCgnc3lzdGVtL3JvbGUvZXhwb3J0JywgKDAsIF9vYmplY3RTcHJlYWQyLmRlZmF1bHQpKHt9LCB0aGlzLnF1ZXJ5UGFyYW1zKSwgInJvbGVfIi5jb25jYXQobmV3IERhdGUoKS5nZXRUaW1lKCksICIueGxzeCIpKTsKICAgIH0KICB9Cn07CmV4cG9ydHMuZGVmYXVsdCA9IF9kZWZhdWx0Ow=="},{"version":3,"sources":["fz-index.vue"],"names":[],"mappings":"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","sourcesContent":["<template>\r\n <div class=\"app-container\">\r\n <el-row class=\"roleBox\">\r\n <el-col :span=\"24\" class=\"roleCol\">\r\n <div class=\"roleH\"></div>\r\n <span>功能权限</span>\r\n </el-col>\r\n <el-col :span=\"24\" class=\"roleBot\">\r\n <el-row :gutter=\"10\">\r\n <el-col :span=\"1.5\">\r\n <el-button type=\"primary\" style=\"background-color: #2AC1CA;color: #fff;border: none;\" plain icon=\"el-icon-plus\"\r\n @click=\"handleAdd\" v-hasPermi=\"['system:role:add']\">新增</el-button>\r\n </el-col>\r\n <el-col :span=\"1.5\">\r\n <el-button type=\"primary\" style=\"background-color: #FF9639;color: #fff;border: none;\" plain icon=\"el-icon-refresh\"\r\n @click=\"refreshFn\" v-hasPermi=\"['system:role:list']\">刷新</el-button>\r\n </el-col>\r\n <el-col :span=\"1.5\">\r\n <el-button type=\"primary\" style=\"background-color: #3C8DBC;color: #fff;border: none;\" plain icon=\"el-icon-my-export\"\r\n @click=\"handleMenu\" v-hasPermi=\"['system:role:edit']\">保存</el-button>\r\n </el-col>\r\n </el-row>\r\n </el-col>\r\n </el-row>\r\n <el-row class=\"roleCont\" style=\"margin-top: 18px;\">\r\n <el-col :span=\"5\" class=\"searBoxs\">\r\n <div class=\"searBox\">\r\n <div class=\"searInput\">\r\n <input type=\"text\" v-model=\"queryParams.roleName\" placeholder=\"请输入角色\">\r\n </div>\r\n <div class=\"searBtn\">\r\n <img src=\"@/assets/images/icon_sr_ss@2x.png\" @click=\"handleQuery\" alt=\"\" class=\"icon\">\r\n </div>\r\n </div>\r\n <div class=\"searList\">\r\n <div class=\"searItem searItemLeft\" v-for=\"item in roleList\"\r\n @click=\"searBtnFn(item)\" :class=\"{'active': item.id == roleId}\" :key=\"item.id\">\r\n <span>\r\n {{item.roleName}}\r\n </span>\r\n <i class=\"el-icon-delete\" @click.stop=\"handleDelete(item)\" v-if=\"item.id == roleId\"></i>\r\n </div>\r\n </div>\r\n <pagination sty v-show=\"total>0\" :total=\"total\" layout=\"prev, pager, next\" :page.sync=\"queryParams.pageNum\"\r\n :limit.sync=\"queryParams.pageSize\" />\r\n </el-col>\r\n <el-col :span=\"19\" class=\"roleContr\">\r\n <div class=\"roleContrBox\">\r\n <el-col :span=\"7\" style=\"height: 100%;\">\r\n <div class=\"searContLeft\">\r\n <el-tree class=\"tree-border\" @node-click=\"qxList\" :data=\"deptOptions\"\r\n default-expand-all ref=\"dept\" node-key=\"id\" :props=\"defaultProps\"></el-tree>\r\n </div>\r\n </el-col>\r\n <el-col :span=\"17\">\r\n <div class=\"searContRight\">\r\n <div class=\"searTitle\">\r\n <div class=\"searName\">\r\n 功能\r\n </div>\r\n <div class=\"searItem\" v-for=\"item in menusList.heads\" :key=\"item\">\r\n {{item.name}}\r\n </div>\r\n </div>\r\n <div class=\"searCont\" v-if=\"menusList.sysMenus.length\" v-for=\"items in menusList.sysMenus\" @click=\"searIndex = items.id\"\r\n :class=\"{'active': searIndex == items.id}\" :key=\"items.id\">\r\n <div class=\"searName\">\r\n {{items.menuName}}\r\n </div>\r\n <div class=\"searItem\" v-for=\"(itemChild,indexChild) in items.containsHead\" :key=\"indexChild\">\r\n <el-checkbox @change=\"checkChange\" :disabled=\"itemChild.type==='0'\" v-model=\"itemChild.type\"></el-checkbox>\r\n </div>\r\n </div>\r\n </div>\r\n </el-col>\r\n </div>\r\n </el-col>\r\n </el-row>\r\n\r\n\r\n <!-- 添加或修改角色配置对话框 -->\r\n <el-dialog :title=\"title\" :visible.sync=\"open\" width=\"500px\" append-to-body>\r\n <el-form ref=\"form\" :model=\"form\" :rules=\"rules\" label-width=\"80px\">\r\n <el-form-item label=\"角色名称\" prop=\"roleName\">\r\n <el-input v-model=\"form.roleName\" placeholder=\"请输入角色名称\" />\r\n </el-form-item>\r\n <el-form-item label=\"权限字符\" prop=\"roleKey\">\r\n <el-input v-model=\"form.roleKey\" placeholder=\"请输入权限字符\" />\r\n </el-form-item>\r\n <el-form-item label=\"角色顺序\" prop=\"roleSort\">\r\n <el-input-number v-model=\"form.roleSort\" controls-position=\"right\" :min=\"0\" />\r\n </el-form-item>\r\n <el-form-item label=\"备注\">\r\n <el-input v-model=\"form.remark\" type=\"textarea\" placeholder=\"请输入内容\"></el-input>\r\n </el-form-item>\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 import {\r\n listRole,\r\n getRole,\r\n delRole,\r\n addRole,\r\n updateRole,\r\n exportRole,\r\n dataScope,\r\n setMenu,\r\n changeRoleStatus\r\n } from \"@/api/system/role\";\r\n import {\r\n treeselect as menuTreeselect,\r\n listMenus,\r\n treeMenuNotAddLeafNode\r\n } from \"@/api/system/menu\";\r\n import {\r\n treeselect as deptTreeselect,\r\n roleDeptTreeselect\r\n } from \"@/api/system/dept\";\r\n\r\n export default {\r\n name: \"Role\",\r\n inject: ['reload'],\r\n data() {\r\n return {\r\n modifyStatus: false,\r\n searIndex: '',\r\n data: [],\r\n defaultProps: {\r\n children: 'children',\r\n label: 'menuName'\r\n },\r\n indexs: 3,\r\n menusList: '',\r\n // 遮罩层\r\n loading: true,\r\n // 选中数组\r\n ids: [],\r\n // 非单个禁用\r\n single: true,\r\n // 非多个禁用\r\n multiple: true,\r\n // 显示搜索条件\r\n showSearch: true,\r\n // 总条数\r\n total: 0,\r\n // 角色表格数据\r\n roleList: [],\r\n // 弹出层标题\r\n title: \"\",\r\n // 是否显示弹出层\r\n open: false,\r\n // 是否显示弹出层(数据权限)\r\n openDataScope: false,\r\n menuExpand: false,\r\n menuNodeAll: false,\r\n deptExpand: true,\r\n deptNodeAll: false,\r\n // 日期范围\r\n dateRange: [],\r\n // 状态数据字典\r\n statusOptions: [],\r\n // 数据范围选项\r\n dataScopeOptions: [{\r\n value: \"1\",\r\n label: \"全部数据权限\"\r\n },\r\n {\r\n value: \"2\",\r\n label: \"自定数据权限\"\r\n },\r\n {\r\n value: \"3\",\r\n label: \"本部门数据权限\"\r\n },\r\n {\r\n value: \"4\",\r\n label: \"本部门及以下数据权限\"\r\n },\r\n {\r\n value: \"5\",\r\n label: \"仅本人数据权限\"\r\n }\r\n ],\r\n // 菜单列表\r\n menuOptions: [],\r\n // 部门列表\r\n deptOptions: [],\r\n // 查询参数\r\n queryParams: {\r\n pageNum: 1,\r\n pageSize: 10,\r\n roleName: undefined,\r\n roleKey: undefined,\r\n status: undefined\r\n },\r\n roleId: '',\r\n // 表单参数\r\n form: {},\r\n // 表单校验\r\n rules: {\r\n roleName: [{\r\n required: true,\r\n message: \"角色名称不能为空\",\r\n trigger: \"blur\"\r\n }],\r\n roleKey: [{\r\n required: true,\r\n message: \"权限字符不能为空\",\r\n trigger: \"blur\"\r\n }],\r\n roleSort: [{\r\n required: true,\r\n message: \"角色顺序不能为空\",\r\n trigger: \"blur\"\r\n }]\r\n }\r\n };\r\n },\r\n created() {\r\n this.getList();\r\n this.getDicts(\"sys_normal_disable\").then(response => {\r\n this.statusOptions = response.data;\r\n });\r\n },\r\n methods: {\r\n checkChange() {\r\n this.modifyStatus = true\r\n },\r\n handleMenu() {\r\n if (!this.modifyStatus) {\r\n this.msgInfo('没有修改的内容!')\r\n return\r\n }\r\n let data = []\r\n for (let item of this.menusList.sysMenus) {\r\n let obj = {}\r\n obj.roleId = this.roleId\r\n obj.menuId = item.id\r\n obj.head = []\r\n for (let itemChild of item.containsHead) {\r\n if (itemChild.type === true) {\r\n obj.head.push(itemChild.name)\r\n }\r\n }\r\n data.push(obj)\r\n }\r\n setMenu(JSON.stringify(data)).then(res => {\r\n this.msgSuccess('保存成功')\r\n this.modifyStatus = false\r\n })\r\n },\r\n qxList(e) {\r\n const _this = this\r\n if (this.modifyStatus) {\r\n this.$confirm('当前页面存在未保存内容,是否保存后切换?', \"提醒\", {\r\n confirmButtonText: \"留下\",\r\n cancelButtonText: \"取消\",\r\n type: \"warning\"\r\n }).then(function() {\r\n\r\n }).catch(function() {\r\n _this.modifyStatus = false\r\n _this.qxList(e)\r\n });\r\n return\r\n }\n this.menusList = {}\r\n listMenus(e.id,this.roleId).then(res => {\r\n let data = res.data\r\n this.menusList = data\r\n })\r\n },\r\n refreshFn() {\r\n // this.getList()\r\n this.reload()\r\n // this.deptOptions = []\r\n },\r\n searBtnFn(item) {\r\n this.roleId = item.id\r\n this.handleUpdate()\r\n },\r\n handleNodeClick() {\r\n console.log(221)\r\n },\r\n /** 查询角色列表 */\r\n getList() {\r\n this.loading = true;\r\n listRole(this.addDateRange(this.queryParams, this.dateRange)).then(\r\n response => {\r\n this.roleList = response.rows;\r\n this.total = response.total;\r\n this.loading = false;\r\n }\r\n );\r\n },\r\n /** 查询菜单树结构 */\r\n getMenuTreeselect() {\r\n menuTreeselect().then(response => {\r\n this.menuOptions = response.data;\n });\r\n },\r\n /** 查询部门树结构 */\r\n getDeptTreeselect() {\r\n deptTreeselect().then(response => {\r\n this.deptOptions = response.data;\n });\r\n },\r\n // 所有菜单节点数据\r\n getMenuAllCheckedKeys() {\r\n // 目前被选中的菜单节点\r\n let checkedKeys = this.$refs.menu.getCheckedKeys();\r\n // 半选中的菜单节点\r\n let halfCheckedKeys = this.$refs.menu.getHalfCheckedKeys();\r\n checkedKeys.unshift.apply(checkedKeys, halfCheckedKeys);\r\n return checkedKeys;\r\n },\r\n // 所有部门节点数据\r\n getDeptAllCheckedKeys() {\r\n // 目前被选中的部门节点\r\n let checkedKeys = this.$refs.dept.getCheckedKeys();\r\n // 半选中的部门节点\r\n let halfCheckedKeys = this.$refs.dept.getHalfCheckedKeys();\r\n checkedKeys.unshift.apply(checkedKeys, halfCheckedKeys);\r\n return checkedKeys;\r\n },\r\n /** 根据角色ID查询菜单树结构 */\r\n getRoleMenuTreeselect(id) {\r\n return treeMenuNotAddLeafNode(id).then(response => {\r\n this.menuOptions = response.data;\r\n return response;\r\n });\r\n },\r\n /** 根据角色ID查询部门树结构 */\r\n getRoleDeptTreeselect(id) {\r\n return roleDeptTreeselect(id).then(response => {\r\n this.deptOptions = response.depts;\r\n return response;\r\n });\r\n },\r\n // 角色状态修改\r\n handleStatusChange(row) {\r\n let text = row.status === \"0\" ? \"启用\" : \"停用\";\r\n this.$confirm('确认要\"' + text + '\"\"' + row.roleName + '\"角色吗?', \"警告\", {\r\n confirmButtonText: \"确定\",\r\n cancelButtonText: \"取消\",\r\n type: \"warning\"\r\n }).then(function() {\r\n return changeRoleStatus(row.id, row.status);\r\n }).then(() => {\r\n this.msgSuccess(text + \"成功\");\r\n }).catch(function() {\r\n row.status = row.status === \"0\" ? \"1\" : \"0\";\r\n });\r\n },\r\n // 取消按钮\r\n cancel() {\r\n this.open = false;\r\n this.reset();\r\n },\r\n // 取消按钮(数据权限)\r\n cancelDataScope() {\r\n this.openDataScope = false;\r\n this.reset();\r\n },\r\n // 表单重置\r\n reset() {\r\n if (this.$refs.menu != undefined) {\r\n this.$refs.menu.setCheckedKeys([]);\r\n }\r\n this.menuExpand = false,\r\n this.menuNodeAll = false,\r\n this.deptExpand = true,\r\n this.deptNodeAll = false,\r\n this.form = {\r\n id: undefined,\r\n roleName: undefined,\r\n roleKey: undefined,\r\n roleSort: 0,\r\n status: \"0\",\r\n menuIds: [],\r\n deptIds: [],\r\n menuCheckStrictly: true,\r\n deptCheckStrictly: true,\r\n remark: undefined\r\n };\r\n this.resetForm(\"form\");\r\n },\r\n /** 搜索按钮操作 */\r\n handleQuery() {\r\n this.queryParams.pageNum = 1;\r\n this.getList();\r\n },\r\n /** 重置按钮操作 */\r\n resetQuery() {\r\n this.dateRange = [];\r\n this.resetForm(\"queryForm\");\r\n this.handleQuery();\r\n },\r\n // 多选框选中数据\r\n handleSelectionChange(selection) {\r\n this.ids = selection.map(item => item.id)\r\n this.single = selection.length != 1\r\n this.multiple = !selection.length\r\n },\r\n // 树权限(展开/折叠)\r\n handleCheckedTreeExpand(value, type) {\r\n if (type == 'menu') {\r\n let treeList = this.menuOptions;\r\n for (let i = 0; i < treeList.length; i++) {\r\n this.$refs.menu.store.nodesMap[treeList[i].id].expanded = value;\r\n }\r\n } else if (type == 'dept') {\r\n let treeList = this.deptOptions;\r\n for (let i = 0; i < treeList.length; i++) {\r\n this.$refs.dept.store.nodesMap[treeList[i].id].expanded = value;\r\n }\r\n }\r\n },\r\n // 树权限(全选/全不选)\r\n handleCheckedTreeNodeAll(value, type) {\r\n if (type == 'menu') {\r\n this.$refs.menu.setCheckedNodes(value ? this.menuOptions : []);\r\n } else if (type == 'dept') {\r\n this.$refs.dept.setCheckedNodes(value ? this.deptOptions : []);\r\n }\r\n },\r\n // 树权限(父子联动)\r\n handleCheckedTreeConnect(value, type) {\r\n if (type == 'menu') {\r\n this.form.menuCheckStrictly = value ? true : false;\r\n } else if (type == 'dept') {\r\n this.form.deptCheckStrictly = value ? true : false;\r\n }\r\n },\r\n /** 新增按钮操作 */\r\n handleAdd() {\r\n this.reset();\r\n this.getMenuTreeselect();\r\n this.open = true;\r\n this.title = \"添加角色\";\r\n },\r\n /** 修改按钮操作 */\r\n handleUpdate() {\r\n this.reset();\r\n const roleMenu = this.getRoleMenuTreeselect(this.roleId);\r\n roleMenu.then(res => {\r\n this.deptOptions = res.data\r\n });\r\n },\r\n /** 选择角色权限范围触发 */\r\n dataScopeSelectChange(value) {\r\n if (value !== '2') {\r\n this.$refs.dept.setCheckedKeys([]);\r\n }\r\n },\r\n /** 分配数据权限操作 */\r\n handleDataScope(row) {\r\n this.reset();\r\n const roleDeptTreeselect = this.getRoleDeptTreeselect(row.id);\r\n getRole(row.id).then(response => {\r\n this.form = response.data;\r\n this.openDataScope = true;\r\n this.$nextTick(() => {\r\n roleDeptTreeselect.then(res => {\r\n this.$refs.dept.setCheckedKeys(res.checkedKeys);\r\n });\r\n });\r\n this.title = \"分配数据权限\";\r\n });\r\n },\r\n /** 提交按钮 */\r\n submitForm: function() {\r\n this.$refs[\"form\"].validate(valid => {\r\n if (valid) {\r\n if (this.form.id != undefined) {\r\n // this.form.menuIds = this.getMenuAllCheckedKeys();\r\n updateRole(this.form).then(response => {\r\n this.msgSuccess(\"修改成功\");\r\n this.open = false;\r\n this.getList();\r\n });\r\n } else {\r\n // this.form.menuIds = this.getMenuAllCheckedKeys();\r\n addRole(this.form).then(response => {\r\n this.msgSuccess(\"新增成功\");\r\n this.open = false;\r\n this.getList();\r\n });\r\n }\r\n }\r\n });\r\n },\r\n /** 提交按钮(数据权限) */\r\n submitDataScope: function() {\r\n if (this.form.id != undefined) {\r\n this.form.deptIds = this.getDeptAllCheckedKeys();\r\n dataScope(this.form).then(response => {\r\n this.msgSuccess(\"修改成功\");\r\n this.openDataScope = false;\r\n this.getList();\r\n });\r\n }\r\n },\r\n /** 删除按钮操作 */\r\n handleDelete(row) {\r\n const ids = row.id || this.ids;\r\n this.$confirm('是否确认删除角色编号为\"' + ids + '\"的数据项?', \"警告\", {\r\n confirmButtonText: \"确定\",\r\n cancelButtonText: \"取消\",\r\n type: \"warning\",\r\n\r\n }).then(function() {\r\n return delRole(ids);\r\n }).then(() => {\r\n this.getList();\r\n this.deptOptions = []\r\n this.msgSuccess(\"删除成功\");\r\n })\r\n },\r\n /** 导出按钮操作 */\r\n handleExport() {\r\n this.download('system/role/export', {\r\n ...this.queryParams\r\n }, `role_${new Date().getTime()}.xlsx`)\r\n }\r\n }\r\n };\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n .searItemLeft {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n }\n .roleCont{\n height: calc(100% - 168px);\n }\r\n\r\n .roleContrBox {\r\n background-color: #fff;\r\n border-radius: 6px;\r\n overflow: hidden;\r\n padding: 23px 0;\r\n height: 100%;\r\n box-sizing: border-box;\r\n }\r\n\r\n .roleContr {\r\n padding-left: 17px;\r\n\t height: 100%;\r\n .searContLeft {\r\n height: 100%;\r\n overflow-y: auto;\r\n box-sizing: border-box;\r\n padding: 23px 17px 23px 23px;\r\n border-right: 2px solid #E5E5E5;\r\n\r\n &::-webkit-scrollbar {\r\n display: none;\r\n }\r\n }\r\n\r\n .searContRight {\r\n padding-left: 18px;\r\n\r\n .searTitle {\r\n display: flex;\r\n padding-left: 11px;\r\n margin-bottom: 26px;\r\n\r\n .searName {\r\n color: #343434;\r\n font-size: 12px;\r\n width: 116px;\r\n }\r\n\r\n .searItem {\r\n flex: 1;\r\n font-size: 12px;\r\n text-align: center;\r\n }\r\n }\r\n\r\n .searCont {\r\n display: flex;\r\n height: 23px;\r\n padding-left: 11px;\r\n align-items: center;\r\n margin-bottom: 4px;\r\n cursor: pointer;\r\n\r\n .searName {\r\n color: #343434;\r\n font-size: 12px;\r\n width: 116px;\r\n }\r\n\r\n .searItem {\r\n flex: 1;\r\n font-size: 12px;\r\n text-align: center;\r\n }\r\n\r\n &:hover {\r\n background-color: rgba(0, 0, 0, .1);\r\n }\r\n }\r\n\r\n .active {\r\n background-color: #CADBE4;\r\n\r\n .searName {\r\n color: #fff;\r\n }\r\n }\r\n }\r\n }\r\n\r\n .searBoxs {\r\n background-color: #fff;\r\n border-radius: 6px;\r\n box-sizing: border-box;\r\n padding: 23px;\n height: 100%;\n\r\n .searBox {\r\n display: flex;\r\n\r\n .searInput {\r\n flex: 1;\r\n height: 32px;\r\n margin-right: 8px;\r\n box-sizing: border-box;\r\n }\r\n\r\n input {\r\n width: 100%;\r\n height: 100%;\r\n background-color: #F7F6F6;\r\n border: none;\r\n padding: 0 7px;\r\n outline: none;\r\n\r\n &::placeholder {\r\n color: #AAAAAA;\r\n font-size: 12px;\r\n }\r\n }\r\n\r\n .searBtn {\r\n width: 30px;\r\n height: 32px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n background-color: #3C8DBC;\r\n cursor: pointer;\r\n\r\n .icon {\r\n width: 18px;\r\n height: 17px;\r\n }\r\n }\r\n }\r\n\r\n .searList {\r\n padding: 10px 0;\r\n\r\n .searItem {\r\n padding: 0 8px;\r\n line-height: 30px;\r\n font-size: 12px;\r\n color: #343434;\r\n cursor: pointer;\r\n text-align: center;\r\n }\r\n\r\n .active {\r\n background-color: #CADBE4;\r\n color: #3C8DBC;\r\n }\r\n }\r\n }\r\n\r\n .app-container {\r\n background-color: #EFF0FF;\r\n height: calc(100vh - 84px);\r\n box-sizing: border-box;\r\n }\r\n\r\n .roleBox {\r\n padding: 0 23px;\r\n background: #fff;\r\n border-radius: 6px;\r\n\r\n .roleCol {\r\n padding: 20px 0;\r\n border-bottom: 1px solid #E5E5E5;\r\n\r\n .roleH {\r\n width: 18px;\r\n height: 8px;\r\n border-radius: 4px;\r\n background-color: #3C8DBC;\r\n margin-bottom: 8px;\r\n }\r\n\r\n span {\r\n font-size: 15px;\r\n color: #3C8DBC;\r\n }\r\n }\r\n\r\n .roleBot {\r\n padding: 22px 0;\r\n\r\n .roleBtn {\r\n height: 32px;\r\n display: flex;\r\n border-radius: 3px;\r\n justify-content: center;\r\n align-items: center;\r\n width: 83px;\r\n margin-right: 18px;\r\n\r\n .icon {\r\n width: 14px;\r\n height: 14px;\r\n margin-right: 7px;\r\n }\r\n\r\n span {\r\n color: #fff;\r\n font-size: 12px;\r\n }\r\n }\r\n }\r\n }\r\n</style>\r\n<style>\r\n .el-icon-my-export {\r\n background: url('~@/assets/images/icon_btn_bc@2x.png') center no-repeat;\r\n background-size: 13px 13px;\r\n /* background-size: cover;*/\r\n }\r\n\r\n .el-icon-my-export:before {\r\n content: \"替\";\r\n font-size: 16px;\r\n visibility: hidden;\r\n }\r\n\r\n\r\n .el-icon-my-export {\r\n font-size: 16px;\r\n }\r\n\r\n .el-icon-my-export:before {\r\n content: \"\\e611\";\r\n }\r\n</style>\n"],"sourceRoot":"src/views/system/role"}]}
|