1 |
- {"remainingRequest":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!E:\\boman-framwork\\ruoyi-ui\\src\\views\\system\\permissions\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"E:\\boman-framwork\\ruoyi-ui\\src\\views\\system\\permissions\\index.vue","mtime":1620872102995},{"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:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCB7IGxpc3RSb2xlLCBnZXRSb2xlLCBkZWxSb2xlLCBhZGRSb2xlLCB1cGRhdGVSb2xlLCBleHBvcnRSb2xlLCBkYXRhU2NvcGUsIGNoYW5nZVJvbGVTdGF0dXMgfSBmcm9tICJAL2FwaS9zeXN0ZW0vcm9sZSI7CmltcG9ydCB7IHRyZWVzZWxlY3QgYXMgbWVudVRyZWVzZWxlY3QsIHJvbGVNZW51VHJlZXNlbGVjdCB9IGZyb20gIkAvYXBpL3N5c3RlbS9tZW51IjsKaW1wb3J0IHsgdHJlZXNlbGVjdCBhcyBkZXB0VHJlZXNlbGVjdCwgcm9sZURlcHRUcmVlc2VsZWN0IH0gZnJvbSAiQC9hcGkvc3lzdGVtL2RlcHQiOwppbXBvcnQgeyBsaXN0UG9zdHBvcmVuLCBhZGRsaXN0UG9zdHBvcmVuLCBnZXRSb2xlcixkZWxlbGlzdFBvc3Rwb3JlbixwaXV0Um9sZXIgfSBmcm9tICJAL2FwaS9zeXN0ZW0vcGVybWlzc3MuanMiOwpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogIlJvbGUiLAogIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICBzZWFySW5kZXg6ICcnLAogICAgICBkZWZhdWx0UHJvcHM6IHsKICAgICAgICBjaGlsZHJlbjogJ2NoaWxkcmVuJywKICAgICAgICBsYWJlbDogJ2xhYmVsJwogICAgICB9LAogICAgICBpbmRleHM6IDMsCiAgICAgIC8vIOmBrue9qeWxggogICAgICBsb2FkaW5nOiB0cnVlLAogICAgICAvLyDpgInkuK3mlbDnu4QKICAgICAgaWRzOiBbXSwKICAgICAgLy8g6Z2e5Y2V5Liq56aB55SoCiAgICAgIHNpbmdsZTogdHJ1ZSwKICAgICAgLy8g6Z2e5aSa5Liq56aB55SoCiAgICAgIG11bHRpcGxlOiB0cnVlLAogICAgICAvLyDmmL7npLrmkJzntKLmnaHku7YKICAgICAgc2hvd1NlYXJjaDogdHJ1ZSwKICAgICAgLy8g5oC75p2h5pWwCiAgICAgIHRvdGFsOiAwLAogICAgICB0b3RhbGU6MCwKICAgICAgLy8g6KeS6Imy6KGo5qC85pWw5o2uCiAgICAgIHJvbGVMaXN0OiBbXSwKICAgICAgLy8g5by55Ye65bGC5qCH6aKYCiAgICAgIHRpdGxlOiAiIiwKICAgICAgLy8g5piv5ZCm5pi+56S65by55Ye65bGCCiAgICAgIG9wZW46IGZhbHNlLAogICAgICAvLyDmmK/lkKbmmL7npLrlvLnlh7rlsYLvvIjmlbDmja7mnYPpmZDvvIkKICAgICAgb3BlbkRhdGFTY29wZTogZmFsc2UsCiAgICAgIG1lbnVFeHBhbmQ6IGZhbHNlLAogICAgICBtZW51Tm9kZUFsbDogZmFsc2UsCiAgICAgIGRlcHRFeHBhbmQ6IHRydWUsCiAgICAgIGRlcHROb2RlQWxsOiBmYWxzZSwKICAgICAgLy8g5pel5pyf6IyD5Zu0CiAgICAgIGRhdGVSYW5nZTogW10sCiAgICAgIC8vIOeKtuaAgeaVsOaNruWtl+WFuAogICAgICBzdGF0dXNPcHRpb25zOiBbXSwKICAgICAgLy8g5pWw5o2u6IyD5Zu06YCJ6aG5CiAgICAgIC8vIOiPnOWNleWIl+ihqAogICAgICBtZW51T3B0aW9uczogW10sCiAgICAgIC8vIOmDqOmXqOWIl+ihqAogICAgICBkZXB0T3B0aW9uczogW10sCiAgICAgIC8vIOafpeivouWPguaVsAogICAgICBxdWVyeVBhcmFtczogewogICAgICAgIHJvbGVOYW1lOiB1bmRlZmluZWQsCiAgICAgICAgcm9sZUlkOiB1bmRlZmluZWQsCiAgICAgICAgc3RhdHVzOiB1bmRlZmluZWQsCiAgICAgICAgcGFnZU51bTogMSwKICAgICAgICBwYWdlU2l6ZTogMTAsCiAgICAgIH0sCiAgICAgIHF1ZXJ5UGFyYW1zdHI6ewogICAgICAgIHBhZ2VOdW06IDEsCiAgICAgICAgcGFnZVNpemU6IDEwLAogICAgICAgIHJvbGVJZDogdW5kZWZpbmVkLAogICAgICB9LAogICAgICAvLyDooajljZXlj4LmlbAKICAgICAgZm9ybToge30sCiAgICAgIC8vIOihqOWNleagoemqjAogICAgICBydWxlczogewogICAgICAgIHJvbGVOYW1lOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAi6KeS6Imy5ZCN56ew5LiN6IO95Li656m6IiwKICAgICAgICAgIHRyaWdnZXI6ICJibHVyIgogICAgICAgIH1dLAogICAgICAgIHJvbGVLZXk6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICLmnYPpmZDlrZfnrKbkuI3og73kuLrnqboiLAogICAgICAgICAgdHJpZ2dlcjogImJsdXIiCiAgICAgICAgfV0sCiAgICAgICAgcm9sZVNvcnQ6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICLop5LoibLpobrluo/kuI3og73kuLrnqboiLAogICAgICAgICAgdHJpZ2dlcjogImJsdXIiCiAgICAgICAgfV0KICAgICAgfSwKICAgICAgY2xvdW1uczpbXSwKICAgICAgcmVsYXRpb25UeXBlOiBbXSwKICAgICAgLy8g6KGo5qC855qE6auY5bqmCiAgICAgIHRhYmxlSGVpZ2h0OiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0IC0gMjQ1ICsgInB4IiwKICAgICAgaWpldWRpZDotMSwKICAgICAgaW5kZXhkdzotMSwKICAgICAgIGlzSW5kZXRlcm1pbmF0ZTogdHJ1ZSwKICAgICAgIGNoZWNrQWxsOiBmYWxzZSwKICAgICAgIGtpZWpmdXI6W10KICAgIH07CiAgfSwKCiAgY3JlYXRlZCgpIHsKICAgIHRoaXMuZ2V0RGljdHMoInJvbGVfZGF0YSIpLnRoZW4ocmVzcG9uc2UgPT4gewogICAgICB0aGlzLnN0YXR1c09wdGlvbnMgPSByZXNwb25zZS5kYXRhOwogICAgICB0aGlzLnJlbGF0aW9uVHlwZSA9IHJlc3BvbnNlLmRhdGEKICAgICAgdGhpcy5nZXREZXB0VHJlZXNlbGVjdCgpCiAgICB9KTsKICAgIHRoaXMuZ2V0TGlzdCgpOwoKICB9LAogIGZpbHRlcnM6IHsKICAgIHJlbGF0aW9uVHlwZUZuKGRhdGEpIHsKICAgICAgdmFyIF90aGlzID0gdGhpcwogICAgICBsZXQgaXMgPSAnJwogICAgICBmb3IgKGxldCBpdGVtIG9mIHRoYXQucmVsYXRpb25UeXBlKSB7CiAgICAgICAgaWYgKGl0ZW0uZGljdFZhbHVlID09IGRhdGEpIHsKICAgICAgICAgIGlzID0gaXRlbS5kaWN0TGFiZWwKICAgICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuIGlzCiAgICB9LAogIH0sCiAgbWV0aG9kczogewogICAgaGFuZGxlTm9kZUNsaWNrKCkgewogICAgfSwKICAgIC8qKiDmn6Xor6Lop5LoibLliJfooaggKi8KICAgIGdldExpc3QoKSB7CiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7CiAgICAgIHRoaXMucm9sZUxpc3QgPSBbXQogICAgICBsaXN0Um9sZSh0aGlzLmFkZERhdGVSYW5nZSh0aGlzLnF1ZXJ5UGFyYW1zLCB0aGlzLmRhdGVSYW5nZSkpLnRoZW4oCiAgICAgICAgcmVzcG9uc2UgPT4gewogICAgICAgICAgaWYocmVzcG9uc2Uucm93cy5sZW5ndGggIT09MCl7CiAgICAgICAgICAgIHRoaXMucm9sZUxpc3QgPSByZXNwb25zZS5yb3dzOwogICAgICAgICAgICB0aGlzLnRvdGFsZSA9IHJlc3BvbnNlLnRvdGFsOwogICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgIHRoaXMucm9sZUxpc3QucHVzaCh7cm9sZU5hbWU6J+aaguaXoOaVsOaNrid9KQogICAgICAgICAgfQoKICAgICAgICAgIC8vIHRoaXMudG90YWwgPSByZXNwb25zZS50b3RhbDsKICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOwogICAgICAgIH0KICAgICAgKTsKICAgIH0sCiAgICAvKiog5p+l6K+i6I+c5Y2V5qCR57uT5p6EICovCiAgICBnZXRNZW51VHJlZXNlbGVjdCgpIHsKICAgICAgbWVudVRyZWVzZWxlY3QoKS50aGVuKHJlc3BvbnNlID0+IHsKICAgICAgICB0aGlzLm1lbnVPcHRpb25zID0gcmVzcG9uc2UuZGF0YTsKICAgICAgfSk7CiAgICB9LAogICAgLyoqIOafpeivouWIl+ihqOaVsOaNriovCiAgICBnZXREZXB0VHJlZXNlbGVjdCgpIHsKICAgICAgbGlzdFBvc3Rwb3Jlbih0aGlzLnF1ZXJ5UGFyYW1zdHIpLnRoZW4ocmVzcG9uc2UgPT4gewogICAgICAgIHRoaXMuY2xvdW1ucyA9IHJlc3BvbnNlLnJvd3M7CiAgICAgICAgdGhpcy50b3RhbCA9IHJlc3BvbnNlLnRvdGFsCiAgICAgICAgLy8gdGhpcy5jbG91bW5zLgogICAgICAgIHRoaXMuY2xvdW1ucy5maWx0ZXIocm91dGUgPT4gewogICAgICAgICAgICBmb3IodmFyIGl0ZW0gaW4gcm91dGUpewogICAgICAgICAgICAgIGlmKGl0ZW0gPT0gJ2RhdGFTY29wZScpewogICAgICAgICAgICAgICAgY29uc29sZS5sb2cocm91dGVbaXRlbV0pCiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLnJlbGF0aW9uVHlwZSkKICAgICAgICAgICAgICAgIHRoaXMucmVsYXRpb25UeXBlLmZpbHRlcihyb3V0ZXIgPT57CiAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHJvdXRlcikKICAgICAgICAgICAgICAgICAgaWYocm91dGVyLmRpY3RWYWx1ZSA9PSByb3V0ZVtpdGVtXSl7CiAgICAgICAgICAgICAgICAgICAgcm91dGVbaXRlbV0gPSByb3V0ZXIuZGljdExhYmVsCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSkKICAgICAgfSk7CiAgICB9LAogICAgLyoqIOagueaNruinkuiJsklE5p+l6K+i6I+c5Y2V5qCR57uT5p6EICovCiAgICBnZXRSb2xlTWVudVRyZWVzZWxlY3QoaWQpIHsKICAgICAgcmV0dXJuIHJvbGVNZW51VHJlZXNlbGVjdChpZCkudGhlbihyZXNwb25zZSA9PiB7CiAgICAgICAgdGhpcy5tZW51T3B0aW9ucyA9IHJlc3BvbnNlLm1lbnVzOwogICAgICAgIHJldHVybiByZXNwb25zZTsKICAgICAgfSk7CiAgICB9LAogICAgLyoqIOagueaNruinkuiJsklE5p+l6K+i6YOo6Zeo5qCR57uT5p6EICovCiAgICBnZXRSb2xlRGVwdFRyZWVzZWxlY3QoaWQpIHsKICAgICAgcmV0dXJuIHJvbGVEZXB0VHJlZXNlbGVjdChpZCkudGhlbihyZXNwb25zZSA9PiB7CiAgICAgICAgdGhpcy5kZXB0T3B0aW9ucyA9IHJlc3BvbnNlLmRlcHRzOwogICAgICAgIHJldHVybiByZXNwb25zZTsKICAgICAgfSk7CiAgICB9LAogICAgLy8g6KeS6Imy54q25oCB5L+u5pS5CiAgICBoYW5kbGVTdGF0dXNDaGFuZ2Uocm93KSB7CiAgICAgIGxldCB0ZXh0ID0gcm93LnN0YXR1cyA9PT0gIjAiID8gIuWQr+eUqCIgOiAi5YGc55SoIjsKICAgICAgdGhpcy4kY29uZmlybSgn56Gu6K6k6KaBIicgKyB0ZXh0ICsgJyIiJyArIHJvdy5yb2xlTmFtZSArICci6KeS6Imy5ZCXPycsICLorablkYoiLCB7CiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICLnoa7lrpoiLAogICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICLlj5bmtogiLAogICAgICAgIHR5cGU6ICJ3YXJuaW5nIgogICAgICB9KS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgIHJldHVybiBjaGFuZ2VSb2xlU3RhdHVzKHJvdy5pZCwgcm93LnN0YXR1cyk7CiAgICAgIH0pLnRoZW4oKCkgPT4gewogICAgICAgIHRoaXMubXNnU3VjY2Vzcyh0ZXh0ICsgIuaIkOWKnyIpOwogICAgICB9KS5jYXRjaChmdW5jdGlvbigpIHsKICAgICAgICByb3cuc3RhdHVzID0gcm93LnN0YXR1cyA9PT0gIjAiID8gIjEiIDogIjAiOwogICAgICB9KTsKICAgIH0sCiAgICAvLyDlj5bmtojmjInpkq4KICAgIGNhbmNlbCgpIHsKICAgICAgdGhpcy5vcGVuID0gZmFsc2U7CiAgICAgIHRoaXMucmVzZXQoKTsKICAgIH0sCiAgICAvLyDlj5bmtojmjInpkq7vvIjmlbDmja7mnYPpmZDvvIkKICAgIGNhbmNlbERhdGFTY29wZSgpIHsKICAgICAgdGhpcy5vcGVuRGF0YVNjb3BlID0gZmFsc2U7CiAgICAgIHRoaXMucmVzZXQoKTsKICAgIH0sCiAgICAvLyDooajljZXph43nva4KICAgIHJlc2V0KCkgewoKICAgICAgICB0aGlzLmZvcm0gPSB7CiAgICAgICAgfTsKICAgICAgdGhpcy5yZXNldEZvcm0oImZvcm0iKTsKICAgIH0sCiAgICAvKiog5pCc57Si5oyJ6ZKu5pON5L2cICovCiAgICBoYW5kbGVRdWVyeSgpIHsKICAgICAgdGhpcy5xdWVyeVBhcmFtcy5wYWdlTnVtID0gMTsKICAgICAgdGhpcy5nZXRMaXN0KCk7CiAgICB9LAogICAgLyoqIOmHjee9ruaMiemSruaTjeS9nCAqLwogICAgcmVzZXRRdWVyeSgpIHsKICAgICAgdGhpcy5kYXRlUmFuZ2UgPSBbXTsKICAgICAgdGhpcy5yZXNldEZvcm0oInF1ZXJ5Rm9ybSIpOwogICAgICB0aGlzLmhhbmRsZVF1ZXJ5KCk7CiAgICB9LAogICAgLy8g5aSa6YCJ5qGG6YCJ5Lit5pWw5o2uCiAgICBoYW5kbGVTZWxlY3Rpb25DaGFuZ2Uoc2VsZWN0aW9uKSB7CiAgICAgIHRoaXMuaWRzID0gc2VsZWN0aW9uLm1hcChpdGVtID0+IGl0ZW0uaWQpCiAgICAgIHRoaXMuc2luZ2xlID0gc2VsZWN0aW9uLmxlbmd0aCAhPSAxCiAgICAgIHRoaXMubXVsdGlwbGUgPSAhc2VsZWN0aW9uLmxlbmd0aAogICAgfSwKICAgIC8qKiDmlrDlop7mjInpkq7mk43kvZwgKi8KICAgIGhhbmRsZUFkZCgpIHsKICAgICAgdGhpcy5yZXNldCgpOwogICAgICAvLyB0aGlzLmdldE1lbnVUcmVlc2VsZWN0KCk7CiAgICAgIHRoaXMub3BlbiA9IHRydWU7CiAgICAgIHRoaXMudGl0bGUgPSAi5re75Yqg5pWw5o2u5p2D6ZmQIjsKICAgIH0sCiAgICAvKiog5L+u5pS55oyJ6ZKu5pON5L2cICovCiAgICBoYW5kbGVVcGRhdGUocm93KSB7CiAgICAgIHRoaXMucmVzZXQoKTsKICAgICAgY29uc3QgaWQgPSByb3cuaWQgfHwgdGhpcy5pZHMKICAgICAgLy8gY29uc3Qgcm9sZU1lbnUgPSB0aGlzLmdldFJvbGVNZW51VHJlZXNlbGVjdChpZCk7CiAgICAgIGdldFJvbGVyKGlkKS50aGVuKHJlc3BvbnNlID0+IHsKICAgICAgICB0aGlzLmZvcm0gPSByZXNwb25zZS5kYXRhOwogICAgICAgIHRoaXMub3BlbiA9IHRydWU7CiAgICAgICAgdGhpcy4kbmV4dFRpY2soKCkgPT4gewogICAgICAgICAgcm9sZU1lbnUudGhlbihyZXMgPT4gewogICAgICAgICAgICBsZXQgY2hlY2tlZEtleXMgPSByZXMuY2hlY2tlZEtleXMKICAgICAgICAgICAgY2hlY2tlZEtleXMuZm9yRWFjaCgodikgPT4gewogICAgICAgICAgICAgIHRoaXMuJG5leHRUaWNrKCgpID0+IHsKICAgICAgICAgICAgICAgIHRoaXMuJHJlZnMubWVudS5zZXRDaGVja2VkKHYsIHRydWUsIGZhbHNlKTsKICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9KQogICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICAgICAgdGhpcy50aXRsZSA9ICLkv67mlLnmlbDmja7mnYPpmZAiOwogICAgICB9KTsKICAgIH0sCiAgICAvKiog6YCJ5oup6KeS6Imy5p2D6ZmQ6IyD5Zu06Kem5Y+RICovCiAgICBkYXRhU2NvcGVTZWxlY3RDaGFuZ2UodmFsdWUpIHsKICAgICAgaWYgKHZhbHVlICE9PSAnMicpIHsKICAgICAgICB0aGlzLiRyZWZzLmRlcHQuc2V0Q2hlY2tlZEtleXMoW10pOwogICAgICB9CiAgICB9LAogICAgLyoqIOWIhumFjeaVsOaNruadg+mZkOaTjeS9nCAqLwogICAgaGFuZGxlRGF0YVNjb3BlKHJvdykgewogICAgICB0aGlzLnJlc2V0KCk7CiAgICAgIGNvbnN0IHJvbGVEZXB0VHJlZXNlbGVjdCA9IHRoaXMuZ2V0Um9sZURlcHRUcmVlc2VsZWN0KHJvdy5pZCk7CiAgICAgIGdldFJvbGUocm93LmlkKS50aGVuKHJlc3BvbnNlID0+IHsKICAgICAgICB0aGlzLmZvcm0gPSByZXNwb25zZS5kYXRhOwogICAgICAgIHRoaXMub3BlbkRhdGFTY29wZSA9IHRydWU7CiAgICAgICAgdGhpcy4kbmV4dFRpY2soKCkgPT4gewogICAgICAgICAgcm9sZURlcHRUcmVlc2VsZWN0LnRoZW4ocmVzID0+IHsKICAgICAgICAgICAgdGhpcy4kcmVmcy5kZXB0LnNldENoZWNrZWRLZXlzKHJlcy5jaGVja2VkS2V5cyk7CiAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgICAgICB0aGlzLnRpdGxlID0gIuWIhumFjeaVsOaNruadg+mZkCI7CiAgICAgIH0pOwogICAgfSwKICAgIC8qKiDmj5DkuqTmjInpkq4gKi8KICAgIHN1Ym1pdEZvcm06IGZ1bmN0aW9uKCkgewogICAgICB0aGlzLiRyZWZzWyJmb3JtIl0udmFsaWRhdGUodmFsaWQgPT4gewogICAgICAgIGlmICh2YWxpZCkgewogICAgICAgICAgaWYgKHRoaXMuZm9ybS5pZCAhPSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgLy8gdGhpcy5mb3JtLm1lbnVJZHMgPSB0aGlzLmdldE1lbnVBbGxDaGVja2VkS2V5cygpOwogICAgICAgICAgICBwaXV0Um9sZXIodGhpcy5mb3JtKS50aGVuKHJlc3BvbnNlID0+IHsKICAgICAgICAgICAgICB0aGlzLm1zZ1N1Y2Nlc3MoIuS/ruaUueaIkOWKnyIpOwogICAgICAgICAgICAgIHRoaXMub3BlbiA9IGZhbHNlOwogICAgICAgICAgICAgIHRoaXMuZ2V0RGVwdFRyZWVzZWxlY3QoKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAvLyB0aGlzLmZvcm0ubWVudUlkcyA9IHRoaXMuZ2V0TWVudUFsbENoZWNrZWRLZXlzKCk7CiAgICAgICAgICAgIHRoaXMuZm9ybS5yb2xlSWQgPSB0aGlzLmlqZXVkaWQKICAgICAgICAgICAgaWYodGhpcy5mb3JtLnJvbGVJZCAhPT0gLTEpewogICAgICAgICAgICAgIGFkZGxpc3RQb3N0cG9yZW4odGhpcy5mb3JtKS50aGVuKHJlc3BvbnNlID0+IHsKICAgICAgICAgICAgICAgIHRoaXMubXNnU3VjY2Vzcygi5paw5aKe5oiQ5YqfIik7CiAgICAgICAgICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTsKICAgICAgICAgICAgICAgIHRoaXMuZ2V0RGVwdFRyZWVzZWxlY3QoKTsKICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgdGhpcy5tc2dTdWNjZXNzKCLor7flhYjpgInmi6nop5LoibLlnKjmt7vliqAiKTsKICAgICAgICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCiAgICAvKiog5o+Q5Lqk5oyJ6ZKu77yI5pWw5o2u5p2D6ZmQ77yJICovCiAgICBzdWJtaXREYXRhU2NvcGU6IGZ1bmN0aW9uKCkgewogICAgICBpZiAodGhpcy5mb3JtLmlkICE9IHVuZGVmaW5lZCkgewogICAgICAgIHRoaXMuZm9ybS5kZXB0SWRzID0gdGhpcy5nZXREZXB0QWxsQ2hlY2tlZEtleXMoKTsKICAgICAgICBkYXRhU2NvcGUodGhpcy5mb3JtKS50aGVuKHJlc3BvbnNlID0+IHsKICAgICAgICAgIHRoaXMubXNnU3VjY2Vzcygi5L+u5pS55oiQ5YqfIik7CiAgICAgICAgICB0aGlzLm9wZW5EYXRhU2NvcGUgPSBmYWxzZTsKICAgICAgICAgIC8vIHRoaXMuZ2V0RGVwdFRyZWVzZWxlY3QoKTsKICAgICAgICB9KTsKICAgICAgfQogICAgfSwKICAgIC8qKiDliKDpmaTmjInpkq7mk43kvZwgKi8KICAgIGhhbmRsZURlbGV0ZShyb3cpIHsKICAgICAgY29uc3QgaWRzID0gcm93LmlkIHx8IHRoaXMuaWRzOwogICAgICB0aGlzLiRjb25maXJtKCfmmK/lkKbnoa7orqTliKDpmaTop5LoibLnvJblj7fkuLoiJyArIGlkcyArICci55qE5pWw5o2u6aG5PycsICLorablkYoiLCB7CiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICLnoa7lrpoiLAogICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICLlj5bmtogiLAogICAgICAgIHR5cGU6ICJ3YXJuaW5nIgogICAgICB9KS50aGVuKGZ1bmN0aW9uKCkgewogICAgICAgIHJldHVybiBkZWxlbGlzdFBvc3Rwb3JlbihpZHMpOwogICAgICB9KS50aGVuKCgpID0+IHsKICAgICAgICB0aGlzLmdldERlcHRUcmVlc2VsZWN0KCk7CiAgICAgICAgdGhpcy5tc2dTdWNjZXNzKCLliKDpmaTmiJDlip8iKTsKICAgICAgfSkKICAgIH0sCiAgICAvKiog5a+85Ye65oyJ6ZKu5pON5L2cICovCiAgICBoYW5kbGVFeHBvcnQoKSB7CiAgICAgIHRoaXMuZG93bmxvYWQoJ3N5c3RlbS9yb2xlL2V4cG9ydCcsIHsKICAgICAgICAuLi50aGlzLnF1ZXJ5UGFyYW1zCiAgICAgIH0sIGByb2xlXyR7bmV3IERhdGUoKS5nZXRUaW1lKCl9Lnhsc3hgKQogICAgfSwKICAgIC8vIOafpeivogogICAgcXVyZWd1KCl7CiAgICAgIHRoaXMuZ2V0TGlzdCgpCiAgICB9LAogICAgLy8g5Yi35pawCiAgICBlZnJlc2goKXsKICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnJvbGVOYW1lID0gdW5kZWZpbmVkCiAgICAgdGhpcy5nZXRMaXN0KCkKICAgICB0aGlzLnF1ZXJ5UGFyYW1zdHIucm9sZUlkID0gdW5kZWZpbmVkCiAgICAgdGhpcy5nZXREZXB0VHJlZXNlbGVjdCgpCiAgICB9LAogICAgLy8g54K55Ye76KeS6ImyaWQKICAgIGppZWVzZShpZCxpbmRleCl7CiAgICAgIHRoaXMuaW5kZXhkdyA9IGluZGV4CiAgICAgIHRoaXMuaWpldWRpZCA9IGlkCiAgICAgIHRoaXMucXVlcnlQYXJhbXN0ci5yb2xlSWQgPSBpZAogICAgICB0aGlzLmdldERlcHRUcmVlc2VsZWN0KCkKICAgIH0sCiAgICBoYW5kbGVDaGVja0FsbENoYW5nZSh2YWwpIHsKICAgICAgICAgICAgaWYodmFsID09IHRydWUpewogICAgICAgICAgICAgIHRoaXMuY2xvdW1ucy5maWx0ZXIocm91dGVyID0+ewogICAgICAgICAgICAgICAgcm91dGVyLmlzVXNlID0gJ1knCiAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgdGhpcy5jbG91bW5zLmZpbHRlcihyb3V0ZXIgPT57CiAgICAgICAgICAgICAgICByb3V0ZXIuaXNVc2UgPSAnTicKICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9CiAgICAgICAgICAgIHRoaXMuaXNJbmRldGVybWluYXRlID0gZmFsc2U7CiAgICB9LAogICAgIGhhbmRsZUNoZWNrZWRDaXRpZXNDaGFuZ2UodmFsdWUpIHsKICAgICB9CiAgfQp9Owo="},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"index.vue","sourceRoot":"src/views/system/permissions","sourcesContent":["<template>\r\n <div class=\"app-container app-containerth\">\r\n <el-row style=\"margin-top: 18px;\" class=\"searBoxstu\" >\r\n <el-col :span=\"5\" class=\"searBoxs\">\r\n <el-row class=\"roleBoxui\" >\r\n <el-col :span=\"24\" class=\"roleBotyu\" style=\"height: 100%;\">\r\n <el-row :gutter=\"10\" class=\"mb8\" style=\"height: 100%;\">\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=\"efresh\" v-hasPermi=\"['system:role:list']\">刷新</el-button>\r\n </el-col>\r\n </el-row>\r\n </el-col>\r\n </el-row>\r\n <div class=\"searBox\">\r\n <div class=\"searInput\">\r\n <input type=\"text\" placeholder=\"请输入角色\" v-model=\"queryParams.roleName\">\r\n </div>\r\n <div class=\"searBtn\" @click=\"quregu\">\r\n <img src=\"@/assets/images/icon_sr_ss@2x.png\" alt=\"\" class=\"icon\">\r\n </div>\r\n </div>\r\n <div class=\"searList\">\r\n <div class=\"searItem\" v-for=\"(item,index) in roleList\" :key=\"item.roleName\" :class=\"[indexdw == index? 'active' : '']\" @click=\"jieese(item.id,index)\">\r\n {{item.roleName}}\r\n </div>\r\n </div>\r\n <pagination sty v-show=\"totale>0\" :total=\"totale\" layout=\"prev, pager, next\" :page.sync=\"queryParams.pageNum\"\r\n :limit.sync=\"queryParams.pageSize\" @pagination=\"getList\" small />\r\n </el-col>\r\n <el-col :span=\"19\" class=\"roleContr\">\r\n <el-row class=\"roleBox\">\r\n <el-col :span=\"24\" class=\"roleBot\">\r\n <el-row :gutter=\"10\" class=\"mb8\">\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-edit\"\r\n @click=\"handleUpdate\" :disabled=\"single\" v-hasPermi=\"['system:role:list']\">修改</el-button>\r\n </el-col>\r\n <el-col :span=\"1.5\">\r\n <el-button type=\"primary\" :disabled=\"multiple\" style=\"background-color: #3C8DBC;color: #fff;border: none;\" plain icon=\"el-icon-delete\"\r\n @click=\"handleDelete\" 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 <div class=\"roleContrBox roleContrBoxthy\">\r\n <el-col :span=\"24\">\r\n <div class=\"searContLeft\">\r\n <el-table v-loading=\"loading\" :data=\"cloumns\" @selection-change=\"handleSelectionChange\" :max-height=\"tableHeight\">\r\n <el-table-column type=\"selection\" width=\"55\" align=\"center\" />\r\n <el-table-column label=\"序号\" align=\"center\" prop=\"id\" />\r\n <el-table-column label=\"用户角色\" align=\"center\" prop=\"roleName\" />\r\n <el-table-column label=\"权限表单\" align=\"center\" prop=\"tableName\" />\r\n <el-table-column label=\"数据过滤\" align=\"center\" prop=\"dataScope\">\r\n <!-- <template slot-scope=\"scope\">\r\n {{scope.row.dataScope | relationTypeFn}}\r\n </template> -->\r\n </el-table-column>\r\n <el-table-column label=\"是否可用\" align=\"center\">\r\n <!-- <template slot=\"header\" slot-scope=\"scope\">\r\n <div><el-checkbox :indeterminate=\"isIndeterminate\" v-model=\"checkAll\" @change=\"handleCheckAllChange\"></el-checkbox>数据过滤4</div>\r\n </template> -->\r\n <template slot-scope=\"scope\">\r\n <el-checkbox true-label=\"Y\" false-label=\"N\" v-model=\"scope.row.isUse\" ></el-checkbox>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </div>\r\n </el-col>\r\n <pagination\r\n v-show=\"total>0\"\r\n :total=\"total\"\r\n :page.sync=\"queryParamstr.pageNum\"\r\n :limit.sync=\"queryParamstr.pageSize\"\r\n @pagination=\"getDeptTreeselect\"\r\n class=\"pajie\"\r\n />\r\n </div>\r\n </el-col>\r\n </el-row>\r\n\r\n <!-- 添加或修改对话框 -->\r\n <el-dialog :close-on-click-modal=\"false\" :title=\"title\" :visible.sync=\"open\" width=\"600px\" append-to-body>\r\n <el-form ref=\"form\" :model=\"form\" :rules=\"rules\" label-width=\"120px\">\r\n <el-form-item label=\"权限表单:\" prop=\"tableName\">\r\n <el-input v-model=\"form.tableName\" placeholder=\"请输入权限表单\" />\r\n </el-form-item>\r\n <el-form-item label=\"权限范围:\" prop=\"dataScope\">\r\n <el-select style=\"width: 100%;\" v-model=\"form.dataScope\" placeholder=\"权限范围\" clearable size=\"small\">\r\n <el-option\r\n v-for=\"dict in statusOptions\"\r\n :key=\"dict.dictValue\"\r\n :label=\"dict.dictLabel\"\r\n :value=\"dict.dictValue\"\r\n />\r\n </el-select>\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 { listRole, getRole, delRole, addRole, updateRole, exportRole, dataScope, changeRoleStatus } from \"@/api/system/role\";\r\n import { treeselect as menuTreeselect, roleMenuTreeselect } from \"@/api/system/menu\";\r\n import { treeselect as deptTreeselect, roleDeptTreeselect } from \"@/api/system/dept\";\r\n import { listPostporen, addlistPostporen, getRoler,delelistPostporen,piutRoler } from \"@/api/system/permisss.js\";\r\n export default {\r\n name: \"Role\",\r\n data() {\r\n return {\r\n searIndex: '',\r\n defaultProps: {\r\n children: 'children',\r\n label: 'label'\r\n },\r\n indexs: 3,\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 totale: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 // 菜单列表\r\n menuOptions: [],\r\n // 部门列表\r\n deptOptions: [],\r\n // 查询参数\r\n queryParams: {\r\n roleName: undefined,\r\n roleId: undefined,\r\n status: undefined,\r\n pageNum: 1,\r\n pageSize: 10,\r\n },\r\n queryParamstr:{\r\n pageNum: 1,\r\n pageSize: 10,\r\n roleId: undefined,\r\n },\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 cloumns:[],\r\n relationType: [],\r\n // 表格的高度\r\n tableHeight: document.documentElement.scrollHeight - 245 + \"px\",\r\n ijeudid:-1,\r\n indexdw:-1,\r\n isIndeterminate: true,\r\n checkAll: false,\r\n kiejfur:[]\r\n };\r\n },\r\n\r\n created() {\r\n this.getDicts(\"role_data\").then(response => {\r\n this.statusOptions = response.data;\r\n this.relationType = response.data\r\n this.getDeptTreeselect()\r\n });\r\n this.getList();\r\n\r\n },\r\n filters: {\r\n relationTypeFn(data) {\r\n var _this = this\r\n let is = ''\r\n for (let item of that.relationType) {\r\n if (item.dictValue == data) {\r\n is = item.dictLabel\r\n }\r\n }\r\n return is\r\n },\r\n },\r\n methods: {\r\n handleNodeClick() {\r\n },\r\n /** 查询角色列表 */\r\n getList() {\r\n this.loading = true;\r\n this.roleList = []\r\n listRole(this.addDateRange(this.queryParams, this.dateRange)).then(\r\n response => {\r\n if(response.rows.length !==0){\r\n this.roleList = response.rows;\r\n this.totale = response.total;\r\n }else{\r\n this.roleList.push({roleName:'暂无数据'})\r\n }\r\n\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;\r\n });\r\n },\r\n /** 查询列表数据*/\r\n getDeptTreeselect() {\r\n listPostporen(this.queryParamstr).then(response => {\r\n this.cloumns = response.rows;\r\n this.total = response.total\r\n // this.cloumns.\r\n this.cloumns.filter(route => {\r\n for(var item in route){\r\n if(item == 'dataScope'){\r\n console.log(route[item])\r\n console.log(this.relationType)\r\n this.relationType.filter(router =>{\r\n console.log(router)\r\n if(router.dictValue == route[item]){\r\n route[item] = router.dictLabel\r\n }\r\n })\r\n }\r\n }\r\n })\r\n });\r\n },\r\n /** 根据角色ID查询菜单树结构 */\r\n getRoleMenuTreeselect(id) {\r\n return roleMenuTreeselect(id).then(response => {\r\n this.menuOptions = response.menus;\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\r\n this.form = {\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 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(row) {\r\n this.reset();\r\n const id = row.id || this.ids\r\n // const roleMenu = this.getRoleMenuTreeselect(id);\r\n getRoler(id).then(response => {\r\n this.form = response.data;\r\n this.open = true;\r\n this.$nextTick(() => {\r\n roleMenu.then(res => {\r\n let checkedKeys = res.checkedKeys\r\n checkedKeys.forEach((v) => {\r\n this.$nextTick(() => {\r\n this.$refs.menu.setChecked(v, true, false);\r\n })\r\n })\r\n });\r\n });\r\n this.title = \"修改数据权限\";\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 piutRoler(this.form).then(response => {\r\n this.msgSuccess(\"修改成功\");\r\n this.open = false;\r\n this.getDeptTreeselect();\r\n });\r\n } else {\r\n // this.form.menuIds = this.getMenuAllCheckedKeys();\r\n this.form.roleId = this.ijeudid\r\n if(this.form.roleId !== -1){\r\n addlistPostporen(this.form).then(response => {\r\n this.msgSuccess(\"新增成功\");\r\n this.open = false;\r\n this.getDeptTreeselect();\r\n });\r\n }else{\r\n this.msgSuccess(\"请先选择角色在添加\");\r\n this.open = false\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.getDeptTreeselect();\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 }).then(function() {\r\n return delelistPostporen(ids);\r\n }).then(() => {\r\n this.getDeptTreeselect();\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 quregu(){\r\n this.getList()\r\n },\r\n // 刷新\r\n efresh(){\r\n this.queryParams.roleName = undefined\r\n this.getList()\r\n this.queryParamstr.roleId = undefined\r\n this.getDeptTreeselect()\r\n },\r\n // 点击角色id\r\n jieese(id,index){\r\n this.indexdw = index\r\n this.ijeudid = id\r\n this.queryParamstr.roleId = id\r\n this.getDeptTreeselect()\r\n },\r\n handleCheckAllChange(val) {\r\n if(val == true){\r\n this.cloumns.filter(router =>{\r\n router.isUse = 'Y'\r\n })\r\n }else{\r\n this.cloumns.filter(router =>{\r\n router.isUse = 'N'\r\n })\r\n }\r\n this.isIndeterminate = false;\r\n },\r\n handleCheckedCitiesChange(value) {\r\n }\r\n }\r\n };\r\n</script>\r\n<style lang=\"scss\">\r\n .roleContrBoxthy{\r\n position: relative;\r\n .pagination-container{\r\n // position: fixed;\r\n position: absolute;\r\n bottom: 10px;\r\n right: 20px;\r\n margin-top: 87px;\r\n }\r\n }\r\n .app-containerth{\r\n .pajie{\r\n bottom: 30px;\r\n }\r\n }\r\n</style>\r\n<style lang=\"scss\" scoped>\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: calc(95vh - 168px);;\r\n }\r\n\r\n .roleContr {\r\n padding-left: 17px;\r\n height: calc(100% - 168px);\r\n .searContLeft {\r\n padding:0 17px 23px 23px;\r\n // border-right: 2px solid #E5E5E5;\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: 156px;\r\n }\r\n\r\n .searItem {\r\n flex: 1;\r\n font-size: 12px;\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: 156px;\r\n }\r\n\r\n .searItem {\r\n flex: 1;\r\n font-size: 12px;\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 !important;\r\n\r\n .searName {\r\n color: #fff;\r\n }\r\n }\r\n }\r\n }\r\n .searBoxstu{\r\n // height: 100vh;\r\n // height: calc(100vh - 70px);\r\n // background-color: #fff;\r\n }\r\n .searBoxs {\r\n background-color: #fff;\r\n border-radius: 6px;\r\n padding: 23px;\r\n height: calc(100vh - 140px); ;\r\n min-height: calc(100vh - 140px);\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 border-radius: 4px;\r\n overflow: hidden;\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 border-radius: 4px;\r\n overflow: hidden;\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 height: 70%;\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 }\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 // min-height: calc(100vh - 70px);\r\n box-sizing: border-box;\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 padding-bottom: 0;\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 .roleBotyu{\r\n padding: 0;\r\n padding-bottom: 22px;\r\n padding-top: 1px;\r\n }\r\n .roleBoxui{\r\n padding-left: 0;\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 .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 .el-icon-my-export:before{\r\n content: \"\\e611\";\r\n }\r\n</style>\r\n"]}]}
|