forked from liweijie/education
1 line
52 KiB
JSON
1 line
52 KiB
JSON
{"remainingRequest":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\babel-loader\\lib\\index.js!C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\views\\system\\role\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\views\\system\\role\\index.vue","mtime":1787567871666},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\babel-loader\\lib\\index.js","mtime":1787309793142},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\vue-loader\\lib\\index.js","mtime":1787309793790},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\babel.config.js","mtime":1787567871334},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\babel-loader\\lib\\index.js","mtime":1787309793142},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\vue-loader\\lib\\index.js","mtime":1787309793790}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:InVzZSBzdHJpY3QiOwoKdmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKCJDOi9Vc2Vycy9BZG1pbi9EZXNrdG9wL2VkdWNhdGlvbi9mcm9udGVuZC9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZURlZmF1bHQuanMiKS5kZWZhdWx0OwpPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgIl9fZXNNb2R1bGUiLCB7CiAgdmFsdWU6IHRydWUKfSk7CmV4cG9ydHMuZGVmYXVsdCA9IHZvaWQgMDsKdmFyIF9vYmplY3RTcHJlYWQyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKCJDOi9Vc2Vycy9BZG1pbi9EZXNrdG9wL2VkdWNhdGlvbi9mcm9udGVuZC9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9vYmplY3RTcHJlYWQyLmpzIikpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkubWFwLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5wdXNoLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QudG8tc3RyaW5nLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lc25leHQuaXRlcmF0b3IuY29uc3RydWN0b3IuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzbmV4dC5pdGVyYXRvci5mb3ItZWFjaC5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXNuZXh0Lml0ZXJhdG9yLm1hcC5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvd2ViLmRvbS1jb2xsZWN0aW9ucy5mb3ItZWFjaC5qcyIpOwp2YXIgX3JvbGUgPSByZXF1aXJlKCJAL2FwaS9zeXN0ZW0vcm9sZSIpOwp2YXIgX21lbnUgPSByZXF1aXJlKCJAL2FwaS9zeXN0ZW0vbWVudSIpOwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwp2YXIgX2RlZmF1bHQgPSBleHBvcnRzLmRlZmF1bHQgPSB7CiAgbmFtZTogIlJvbGUiLAogIGRpY3RzOiBbJ3N5c19ub3JtYWxfZGlzYWJsZSddLAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICAvLyDpga7nvanlsYIKICAgICAgbG9hZGluZzogdHJ1ZSwKICAgICAgLy8g6KGo5qC86auY5bqmCiAgICAgIHRhYmxlSGVpZ2h0OiB3aW5kb3cuaW5uZXJIZWlnaHQgLSAyNDAsCiAgICAgIC8vIOmAieS4reaVsOe7hAogICAgICBpZHM6IFtdLAogICAgICAvLyDpnZ7ljZXkuKrnpoHnlKgKICAgICAgc2luZ2xlOiB0cnVlLAogICAgICAvLyDpnZ7lpJrkuKrnpoHnlKgKICAgICAgbXVsdGlwbGU6IHRydWUsCiAgICAgIC8vIOaYvuekuuaQnOe0ouadoeS7tgogICAgICBzaG93U2VhcmNoOiB0cnVlLAogICAgICAvLyDmgLvmnaHmlbAKICAgICAgdG90YWw6IDAsCiAgICAgIC8vIOinkuiJsuihqOagvOaVsOaNrgogICAgICByb2xlTGlzdDogW10sCiAgICAgIC8vIOW8ueWHuuWxguagh+mimAogICAgICB0aXRsZTogIiIsCiAgICAgIC8vIOaYr+WQpuaYvuekuuW8ueWHuuWxggogICAgICBvcGVuOiBmYWxzZSwKICAgICAgLy8g5piv5ZCm5pi+56S65by55Ye65bGC77yI5pWw5o2u5p2D6ZmQ77yJCiAgICAgIG9wZW5EYXRhU2NvcGU6IGZhbHNlLAogICAgICBtZW51RXhwYW5kOiBmYWxzZSwKICAgICAgbWVudU5vZGVBbGw6IGZhbHNlLAogICAgICBkZXB0RXhwYW5kOiB0cnVlLAogICAgICBkZXB0Tm9kZUFsbDogZmFsc2UsCiAgICAgIC8vIOaXpeacn+iMg+WbtAogICAgICBkYXRlUmFuZ2U6IFtdLAogICAgICAvLyDmlbDmja7ojIPlm7TpgInpobkKICAgICAgZGF0YVNjb3BlT3B0aW9uczogW3sKICAgICAgICB2YWx1ZTogIjEiLAogICAgICAgIGxhYmVsOiAi5YWo6YOo5pWw5o2u5p2D6ZmQIgogICAgICB9LCB7CiAgICAgICAgdmFsdWU6ICIyIiwKICAgICAgICBsYWJlbDogIuiHquWumuaVsOaNruadg+mZkCIKICAgICAgfSwgewogICAgICAgIHZhbHVlOiAiMyIsCiAgICAgICAgbGFiZWw6ICLmnKzpg6jpl6jmlbDmja7mnYPpmZAiCiAgICAgIH0sIHsKICAgICAgICB2YWx1ZTogIjQiLAogICAgICAgIGxhYmVsOiAi5pys6YOo6Zeo5Y+K5Lul5LiL5pWw5o2u5p2D6ZmQIgogICAgICB9LCB7CiAgICAgICAgdmFsdWU6ICI1IiwKICAgICAgICBsYWJlbDogIuS7heacrOS6uuaVsOaNruadg+mZkCIKICAgICAgfV0sCiAgICAgIC8vIOiPnOWNleWIl+ihqAogICAgICBtZW51T3B0aW9uczogW10sCiAgICAgIC8vIOmDqOmXqOWIl+ihqAogICAgICBkZXB0T3B0aW9uczogW10sCiAgICAgIC8vIOafpeivouWPguaVsAogICAgICBxdWVyeVBhcmFtczogewogICAgICAgIHBhZ2VOdW06IDEsCiAgICAgICAgcGFnZVNpemU6IDEwLAogICAgICAgIHJvbGVOYW1lOiB1bmRlZmluZWQsCiAgICAgICAgcm9sZUtleTogdW5kZWZpbmVkLAogICAgICAgIHN0YXR1czogdW5kZWZpbmVkCiAgICAgIH0sCiAgICAgIC8vIOihqOWNleWPguaVsAogICAgICBmb3JtOiB7fSwKICAgICAgZGVmYXVsdFByb3BzOiB7CiAgICAgICAgY2hpbGRyZW46ICJjaGlsZHJlbiIsCiAgICAgICAgbGFiZWw6ICJsYWJlbCIKICAgICAgfSwKICAgICAgLy8g6KGo5Y2V5qCh6aqMCiAgICAgIHJ1bGVzOiB7CiAgICAgICAgcm9sZU5hbWU6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICLop5LoibLlkI3np7DkuI3og73kuLrnqboiLAogICAgICAgICAgdHJpZ2dlcjogImJsdXIiCiAgICAgICAgfV0sCiAgICAgICAgcm9sZUtleTogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogIuadg+mZkOWtl+espuS4jeiDveS4uuepuiIsCiAgICAgICAgICB0cmlnZ2VyOiAiYmx1ciIKICAgICAgICB9XSwKICAgICAgICByb2xlU29ydDogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogIuinkuiJsumhuuW6j+S4jeiDveS4uuepuiIsCiAgICAgICAgICB0cmlnZ2VyOiAiYmx1ciIKICAgICAgICB9XQogICAgICB9CiAgICB9OwogIH0sCiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHsKICAgIHRoaXMuZ2V0TGlzdCgpOwogIH0sCiAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHsKICAgIHRoaXMuZ2V0VGFibGVIZWlnaHQoKTsKICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLmdldFRhYmxlSGVpZ2h0KTsKICB9LAogIGJlZm9yZURlc3Ryb3k6IGZ1bmN0aW9uIGJlZm9yZURlc3Ryb3koKSB7CiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5nZXRUYWJsZUhlaWdodCk7CiAgfSwKICB3YXRjaDogewogICAgc2hvd1NlYXJjaDogZnVuY3Rpb24gc2hvd1NlYXJjaCgpIHsKICAgICAgdmFyIF90aGlzID0gdGhpczsKICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkgewogICAgICAgIF90aGlzLmdldFRhYmxlSGVpZ2h0KCk7CiAgICAgIH0pOwogICAgfQogIH0sCiAgbWV0aG9kczogewogICAgLyoqIOiOt+WPluihqOagvOmrmOW6piAqL2dldFRhYmxlSGVpZ2h0OiBmdW5jdGlvbiBnZXRUYWJsZUhlaWdodCgpIHsKICAgICAgdmFyIG9mZnNldCA9IHRoaXMuc2hvd1NlYXJjaCA/IDI0MCA6IDE5MDsKICAgICAgdGhpcy50YWJsZUhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodCAtIG9mZnNldDsKICAgIH0sCiAgICAvKiog5p+l6K+i6KeS6Imy5YiX6KGoICovZ2V0TGlzdDogZnVuY3Rpb24gZ2V0TGlzdCgpIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7CiAgICAgICgwLCBfcm9sZS5saXN0Um9sZSkodGhpcy5hZGREYXRlUmFuZ2UodGhpcy5xdWVyeVBhcmFtcywgdGhpcy5kYXRlUmFuZ2UpKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICAgIF90aGlzMi5yb2xlTGlzdCA9IHJlc3BvbnNlLnJvd3M7CiAgICAgICAgX3RoaXMyLnRvdGFsID0gcmVzcG9uc2UudG90YWw7CiAgICAgICAgX3RoaXMyLmxvYWRpbmcgPSBmYWxzZTsKICAgICAgfSk7CiAgICB9LAogICAgLyoqIOafpeivouiPnOWNleagkee7k+aehCAqL2dldE1lbnVUcmVlc2VsZWN0OiBmdW5jdGlvbiBnZXRNZW51VHJlZXNlbGVjdCgpIHsKICAgICAgdmFyIF90aGlzMyA9IHRoaXM7CiAgICAgICgwLCBfbWVudS50cmVlc2VsZWN0KSgpLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgICAgX3RoaXMzLm1lbnVPcHRpb25zID0gcmVzcG9uc2UuZGF0YTsKICAgICAgfSk7CiAgICB9LAogICAgLy8g5omA5pyJ6I+c5Y2V6IqC54K55pWw5o2uCiAgICBnZXRNZW51QWxsQ2hlY2tlZEtleXM6IGZ1bmN0aW9uIGdldE1lbnVBbGxDaGVja2VkS2V5cygpIHsKICAgICAgLy8g55uu5YmN6KKr6YCJ5Lit55qE6I+c5Y2V6IqC54K5CiAgICAgIHZhciBjaGVja2VkS2V5cyA9IHRoaXMuJHJlZnMubWVudS5nZXRDaGVja2VkS2V5cygpOwogICAgICAvLyDljYrpgInkuK3nmoToj5zljZXoioLngrkKICAgICAgdmFyIGhhbGZDaGVja2VkS2V5cyA9IHRoaXMuJHJlZnMubWVudS5nZXRIYWxmQ2hlY2tlZEtleXMoKTsKICAgICAgY2hlY2tlZEtleXMudW5zaGlmdC5hcHBseShjaGVja2VkS2V5cywgaGFsZkNoZWNrZWRLZXlzKTsKICAgICAgcmV0dXJuIGNoZWNrZWRLZXlzOwogICAgfSwKICAgIC8vIOaJgOaciemDqOmXqOiKgueCueaVsOaNrgogICAgZ2V0RGVwdEFsbENoZWNrZWRLZXlzOiBmdW5jdGlvbiBnZXREZXB0QWxsQ2hlY2tlZEtleXMoKSB7CiAgICAgIC8vIOebruWJjeiiq+mAieS4reeahOmDqOmXqOiKgueCuQogICAgICB2YXIgY2hlY2tlZEtleXMgPSB0aGlzLiRyZWZzLmRlcHQuZ2V0Q2hlY2tlZEtleXMoKTsKICAgICAgLy8g5Y2K6YCJ5Lit55qE6YOo6Zeo6IqC54K5CiAgICAgIHZhciBoYWxmQ2hlY2tlZEtleXMgPSB0aGlzLiRyZWZzLmRlcHQuZ2V0SGFsZkNoZWNrZWRLZXlzKCk7CiAgICAgIGNoZWNrZWRLZXlzLnVuc2hpZnQuYXBwbHkoY2hlY2tlZEtleXMsIGhhbGZDaGVja2VkS2V5cyk7CiAgICAgIHJldHVybiBjaGVja2VkS2V5czsKICAgIH0sCiAgICAvKiog5qC55o2u6KeS6ImySUTmn6Xor6Loj5zljZXmoJHnu5PmnoQgKi9nZXRSb2xlTWVudVRyZWVzZWxlY3Q6IGZ1bmN0aW9uIGdldFJvbGVNZW51VHJlZXNlbGVjdChyb2xlSWQpIHsKICAgICAgdmFyIF90aGlzNCA9IHRoaXM7CiAgICAgIHJldHVybiAoMCwgX21lbnUucm9sZU1lbnVUcmVlc2VsZWN0KShyb2xlSWQpLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgICAgX3RoaXM0Lm1lbnVPcHRpb25zID0gcmVzcG9uc2UubWVudXM7CiAgICAgICAgcmV0dXJuIHJlc3BvbnNlOwogICAgICB9KTsKICAgIH0sCiAgICAvKiog5qC55o2u6KeS6ImySUTmn6Xor6Lpg6jpl6jmoJHnu5PmnoQgKi9nZXREZXB0VHJlZTogZnVuY3Rpb24gZ2V0RGVwdFRyZWUocm9sZUlkKSB7CiAgICAgIHZhciBfdGhpczUgPSB0aGlzOwogICAgICByZXR1cm4gKDAsIF9yb2xlLmRlcHRUcmVlU2VsZWN0KShyb2xlSWQpLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgICAgX3RoaXM1LmRlcHRPcHRpb25zID0gcmVzcG9uc2UuZGVwdHM7CiAgICAgICAgcmV0dXJuIHJlc3BvbnNlOwogICAgICB9KTsKICAgIH0sCiAgICAvLyDop5LoibLnirbmgIHkv67mlLkKICAgIGhhbmRsZVN0YXR1c0NoYW5nZTogZnVuY3Rpb24gaGFuZGxlU3RhdHVzQ2hhbmdlKHJvdykgewogICAgICB2YXIgX3RoaXM2ID0gdGhpczsKICAgICAgdmFyIHRleHQgPSByb3cuc3RhdHVzID09PSAiMCIgPyAi5ZCv55SoIiA6ICLlgZznlKgiOwogICAgICB0aGlzLiRtb2RhbC5jb25maXJtKCfnoa7orqTopoEiJyArIHRleHQgKyAnIiInICsgcm93LnJvbGVOYW1lICsgJyLop5LoibLlkJfvvJ8nKS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gKDAsIF9yb2xlLmNoYW5nZVJvbGVTdGF0dXMpKHJvdy5yb2xlSWQsIHJvdy5zdGF0dXMpOwogICAgICB9KS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICBfdGhpczYuJG1vZGFsLm1zZ1N1Y2Nlc3ModGV4dCArICLmiJDlip8iKTsKICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKCkgewogICAgICAgIHJvdy5zdGF0dXMgPSByb3cuc3RhdHVzID09PSAiMCIgPyAiMSIgOiAiMCI7CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOWPlua2iOaMiemSrgogICAgY2FuY2VsOiBmdW5jdGlvbiBjYW5jZWwoKSB7CiAgICAgIHRoaXMub3BlbiA9IGZhbHNlOwogICAgICB0aGlzLnJlc2V0KCk7CiAgICB9LAogICAgLy8g5Y+W5raI5oyJ6ZKu77yI5pWw5o2u5p2D6ZmQ77yJCiAgICBjYW5jZWxEYXRhU2NvcGU6IGZ1bmN0aW9uIGNhbmNlbERhdGFTY29wZSgpIHsKICAgICAgdGhpcy5vcGVuRGF0YVNjb3BlID0gZmFsc2U7CiAgICAgIHRoaXMucmVzZXQoKTsKICAgIH0sCiAgICAvLyDooajljZXph43nva4KICAgIHJlc2V0OiBmdW5jdGlvbiByZXNldCgpIHsKICAgICAgaWYgKHRoaXMuJHJlZnMubWVudSAhPSB1bmRlZmluZWQpIHsKICAgICAgICB0aGlzLiRyZWZzLm1lbnUuc2V0Q2hlY2tlZEtleXMoW10pOwogICAgICB9CiAgICAgIHRoaXMubWVudUV4cGFuZCA9IGZhbHNlLCB0aGlzLm1lbnVOb2RlQWxsID0gZmFsc2UsIHRoaXMuZGVwdEV4cGFuZCA9IHRydWUsIHRoaXMuZGVwdE5vZGVBbGwgPSBmYWxzZSwgdGhpcy5mb3JtID0gewogICAgICAgIHJvbGVJZDogdW5kZWZpbmVkLAogICAgICAgIHJvbGVOYW1lOiB1bmRlZmluZWQsCiAgICAgICAgcm9sZUtleTogdW5kZWZpbmVkLAogICAgICAgIHJvbGVTb3J0OiAwLAogICAgICAgIHN0YXR1czogIjAiLAogICAgICAgIG1lbnVJZHM6IFtdLAogICAgICAgIGRlcHRJZHM6IFtdLAogICAgICAgIG1lbnVDaGVja1N0cmljdGx5OiB0cnVlLAogICAgICAgIGRlcHRDaGVja1N0cmljdGx5OiB0cnVlLAogICAgICAgIHJlbWFyazogdW5kZWZpbmVkCiAgICAgIH07CiAgICAgIHRoaXMucmVzZXRGb3JtKCJmb3JtIik7CiAgICB9LAogICAgLyoqIOaQnOe0ouaMiemSruaTjeS9nCAqL2hhbmRsZVF1ZXJ5OiBmdW5jdGlvbiBoYW5kbGVRdWVyeSgpIHsKICAgICAgdGhpcy5xdWVyeVBhcmFtcy5wYWdlTnVtID0gMTsKICAgICAgdGhpcy5nZXRMaXN0KCk7CiAgICB9LAogICAgLyoqIOmHjee9ruaMiemSruaTjeS9nCAqL3Jlc2V0UXVlcnk6IGZ1bmN0aW9uIHJlc2V0UXVlcnkoKSB7CiAgICAgIHRoaXMuZGF0ZVJhbmdlID0gW107CiAgICAgIHRoaXMucmVzZXRGb3JtKCJxdWVyeUZvcm0iKTsKICAgICAgdGhpcy5oYW5kbGVRdWVyeSgpOwogICAgfSwKICAgIC8vIOWkmumAieahhumAieS4reaVsOaNrgogICAgaGFuZGxlU2VsZWN0aW9uQ2hhbmdlOiBmdW5jdGlvbiBoYW5kbGVTZWxlY3Rpb25DaGFuZ2Uoc2VsZWN0aW9uKSB7CiAgICAgIHRoaXMuaWRzID0gc2VsZWN0aW9uLm1hcChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgIHJldHVybiBpdGVtLnJvbGVJZDsKICAgICAgfSk7CiAgICAgIHRoaXMuc2luZ2xlID0gc2VsZWN0aW9uLmxlbmd0aCAhPSAxOwogICAgICB0aGlzLm11bHRpcGxlID0gIXNlbGVjdGlvbi5sZW5ndGg7CiAgICB9LAogICAgLy8g5pu05aSa5pON5L2c6Kem5Y+RCiAgICBoYW5kbGVDb21tYW5kOiBmdW5jdGlvbiBoYW5kbGVDb21tYW5kKGNvbW1hbmQsIHJvdykgewogICAgICBzd2l0Y2ggKGNvbW1hbmQpIHsKICAgICAgICBjYXNlICJoYW5kbGVEYXRhU2NvcGUiOgogICAgICAgICAgdGhpcy5oYW5kbGVEYXRhU2NvcGUocm93KTsKICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgImhhbmRsZUF1dGhVc2VyIjoKICAgICAgICAgIHRoaXMuaGFuZGxlQXV0aFVzZXIocm93KTsKICAgICAgICAgIGJyZWFrOwogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICBicmVhazsKICAgICAgfQogICAgfSwKICAgIC8vIOagkeadg+mZkO+8iOWxleW8gC/mipjlj6DvvIkKICAgIGhhbmRsZUNoZWNrZWRUcmVlRXhwYW5kOiBmdW5jdGlvbiBoYW5kbGVDaGVja2VkVHJlZUV4cGFuZCh2YWx1ZSwgdHlwZSkgewogICAgICBpZiAodHlwZSA9PSAnbWVudScpIHsKICAgICAgICB2YXIgdHJlZUxpc3QgPSB0aGlzLm1lbnVPcHRpb25zOwogICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdHJlZUxpc3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgIHRoaXMuJHJlZnMubWVudS5zdG9yZS5ub2Rlc01hcFt0cmVlTGlzdFtpXS5pZF0uZXhwYW5kZWQgPSB2YWx1ZTsKICAgICAgICB9CiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PSAnZGVwdCcpIHsKICAgICAgICB2YXIgX3RyZWVMaXN0ID0gdGhpcy5kZXB0T3B0aW9uczsKICAgICAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgX3RyZWVMaXN0Lmxlbmd0aDsgX2krKykgewogICAgICAgICAgdGhpcy4kcmVmcy5kZXB0LnN0b3JlLm5vZGVzTWFwW190cmVlTGlzdFtfaV0uaWRdLmV4cGFuZGVkID0gdmFsdWU7CiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgLy8g5qCR5p2D6ZmQ77yI5YWo6YCJL+WFqOS4jemAie+8iQogICAgaGFuZGxlQ2hlY2tlZFRyZWVOb2RlQWxsOiBmdW5jdGlvbiBoYW5kbGVDaGVja2VkVHJlZU5vZGVBbGwodmFsdWUsIHR5cGUpIHsKICAgICAgaWYgKHR5cGUgPT0gJ21lbnUnKSB7CiAgICAgICAgdGhpcy4kcmVmcy5tZW51LnNldENoZWNrZWROb2Rlcyh2YWx1ZSA/IHRoaXMubWVudU9wdGlvbnMgOiBbXSk7CiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PSAnZGVwdCcpIHsKICAgICAgICB0aGlzLiRyZWZzLmRlcHQuc2V0Q2hlY2tlZE5vZGVzKHZhbHVlID8gdGhpcy5kZXB0T3B0aW9ucyA6IFtdKTsKICAgICAgfQogICAgfSwKICAgIC8vIOagkeadg+mZkO+8iOeItuWtkOiBlOWKqO+8iQogICAgaGFuZGxlQ2hlY2tlZFRyZWVDb25uZWN0OiBmdW5jdGlvbiBoYW5kbGVDaGVja2VkVHJlZUNvbm5lY3QodmFsdWUsIHR5cGUpIHsKICAgICAgaWYgKHR5cGUgPT0gJ21lbnUnKSB7CiAgICAgICAgdGhpcy5mb3JtLm1lbnVDaGVja1N0cmljdGx5ID0gdmFsdWUgPyB0cnVlIDogZmFsc2U7CiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PSAnZGVwdCcpIHsKICAgICAgICB0aGlzLmZvcm0uZGVwdENoZWNrU3RyaWN0bHkgPSB2YWx1ZSA/IHRydWUgOiBmYWxzZTsKICAgICAgfQogICAgfSwKICAgIC8qKiDmlrDlop7mjInpkq7mk43kvZwgKi9oYW5kbGVBZGQ6IGZ1bmN0aW9uIGhhbmRsZUFkZCgpIHsKICAgICAgdGhpcy5yZXNldCgpOwogICAgICB0aGlzLmdldE1lbnVUcmVlc2VsZWN0KCk7CiAgICAgIHRoaXMub3BlbiA9IHRydWU7CiAgICAgIHRoaXMudGl0bGUgPSAi5re75Yqg6KeS6ImyIjsKICAgIH0sCiAgICAvKiog5L+u5pS55oyJ6ZKu5pON5L2cICovaGFuZGxlVXBkYXRlOiBmdW5jdGlvbiBoYW5kbGVVcGRhdGUocm93KSB7CiAgICAgIHZhciBfdGhpczcgPSB0aGlzOwogICAgICB0aGlzLnJlc2V0KCk7CiAgICAgIHZhciByb2xlSWQgPSByb3cucm9sZUlkIHx8IHRoaXMuaWRzOwogICAgICB2YXIgcm9sZU1lbnUgPSB0aGlzLmdldFJvbGVNZW51VHJlZXNlbGVjdChyb2xlSWQpOwogICAgICAoMCwgX3JvbGUuZ2V0Um9sZSkocm9sZUlkKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICAgIF90aGlzNy5mb3JtID0gcmVzcG9uc2UuZGF0YTsKICAgICAgICBfdGhpczcub3BlbiA9IHRydWU7CiAgICAgICAgX3RoaXM3LiRuZXh0VGljayhmdW5jdGlvbiAoKSB7CiAgICAgICAgICByb2xlTWVudS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICAgICAgdmFyIGNoZWNrZWRLZXlzID0gcmVzLmNoZWNrZWRLZXlzOwogICAgICAgICAgICBjaGVja2VkS2V5cy5mb3JFYWNoKGZ1bmN0aW9uICh2KSB7CiAgICAgICAgICAgICAgX3RoaXM3LiRuZXh0VGljayhmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBfdGhpczcuJHJlZnMubWVudS5zZXRDaGVja2VkKHYsIHRydWUsIGZhbHNlKTsKICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgICAgfSk7CiAgICAgIHRoaXMudGl0bGUgPSAi5L+u5pS56KeS6ImyIjsKICAgIH0sCiAgICAvKiog6YCJ5oup6KeS6Imy5p2D6ZmQ6IyD5Zu06Kem5Y+RICovZGF0YVNjb3BlU2VsZWN0Q2hhbmdlOiBmdW5jdGlvbiBkYXRhU2NvcGVTZWxlY3RDaGFuZ2UodmFsdWUpIHsKICAgICAgaWYgKHZhbHVlICE9PSAnMicpIHsKICAgICAgICB0aGlzLiRyZWZzLmRlcHQuc2V0Q2hlY2tlZEtleXMoW10pOwogICAgICB9CiAgICB9LAogICAgLyoqIOWIhumFjeaVsOaNruadg+mZkOaTjeS9nCAqL2hhbmRsZURhdGFTY29wZTogZnVuY3Rpb24gaGFuZGxlRGF0YVNjb3BlKHJvdykgewogICAgICB2YXIgX3RoaXM4ID0gdGhpczsKICAgICAgdGhpcy5yZXNldCgpOwogICAgICB2YXIgZGVwdFRyZWVTZWxlY3QgPSB0aGlzLmdldERlcHRUcmVlKHJvdy5yb2xlSWQpOwogICAgICAoMCwgX3JvbGUuZ2V0Um9sZSkocm93LnJvbGVJZCkudGhlbihmdW5jdGlvbiAocmVzcG9uc2UpIHsKICAgICAgICBfdGhpczguZm9ybSA9IHJlc3BvbnNlLmRhdGE7CiAgICAgICAgX3RoaXM4Lm9wZW5EYXRhU2NvcGUgPSB0cnVlOwogICAgICAgIF90aGlzOC4kbmV4dFRpY2soZnVuY3Rpb24gKCkgewogICAgICAgICAgZGVwdFRyZWVTZWxlY3QudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgICAgIF90aGlzOC4kcmVmcy5kZXB0LnNldENoZWNrZWRLZXlzKHJlcy5jaGVja2VkS2V5cyk7CiAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgICAgfSk7CiAgICAgIHRoaXMudGl0bGUgPSAi5YiG6YWN5pWw5o2u5p2D6ZmQIjsKICAgIH0sCiAgICAvKiog5YiG6YWN55So5oi35pON5L2cICovaGFuZGxlQXV0aFVzZXI6IGZ1bmN0aW9uIGhhbmRsZUF1dGhVc2VyKHJvdykgewogICAgICB2YXIgcm9sZUlkID0gcm93LnJvbGVJZDsKICAgICAgdGhpcy4kcm91dGVyLnB1c2goIi9zeXN0ZW0vcm9sZS1hdXRoL3VzZXIvIiArIHJvbGVJZCk7CiAgICB9LAogICAgLyoqIOaPkOS6pOaMiemSriAqL3N1Ym1pdEZvcm06IGZ1bmN0aW9uIHN1Ym1pdEZvcm0oKSB7CiAgICAgIHZhciBfdGhpczkgPSB0aGlzOwogICAgICB0aGlzLiRyZWZzWyJmb3JtIl0udmFsaWRhdGUoZnVuY3Rpb24gKHZhbGlkKSB7CiAgICAgICAgaWYgKHZhbGlkKSB7CiAgICAgICAgICBpZiAoX3RoaXM5LmZvcm0ucm9sZUlkICE9IHVuZGVmaW5lZCkgewogICAgICAgICAgICBfdGhpczkuZm9ybS5tZW51SWRzID0gX3RoaXM5LmdldE1lbnVBbGxDaGVja2VkS2V5cygpOwogICAgICAgICAgICAoMCwgX3JvbGUudXBkYXRlUm9sZSkoX3RoaXM5LmZvcm0pLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgIF90aGlzOS4kbW9kYWwubXNnU3VjY2Vzcygi5L+u5pS55oiQ5YqfIik7CiAgICAgICAgICAgICAgX3RoaXM5Lm9wZW4gPSBmYWxzZTsKICAgICAgICAgICAgICBfdGhpczkuZ2V0TGlzdCgpOwogICAgICAgICAgICB9KTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIF90aGlzOS5mb3JtLm1lbnVJZHMgPSBfdGhpczkuZ2V0TWVudUFsbENoZWNrZWRLZXlzKCk7CiAgICAgICAgICAgICgwLCBfcm9sZS5hZGRSb2xlKShfdGhpczkuZm9ybSkudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgX3RoaXM5LiRtb2RhbC5tc2dTdWNjZXNzKCLmlrDlop7miJDlip8iKTsKICAgICAgICAgICAgICBfdGhpczkub3BlbiA9IGZhbHNlOwogICAgICAgICAgICAgIF90aGlzOS5nZXRMaXN0KCk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgLyoqIOaPkOS6pOaMiemSru+8iOaVsOaNruadg+mZkO+8iSAqL3N1Ym1pdERhdGFTY29wZTogZnVuY3Rpb24gc3VibWl0RGF0YVNjb3BlKCkgewogICAgICB2YXIgX3RoaXMwID0gdGhpczsKICAgICAgaWYgKHRoaXMuZm9ybS5yb2xlSWQgIT0gdW5kZWZpbmVkKSB7CiAgICAgICAgdGhpcy5mb3JtLmRlcHRJZHMgPSB0aGlzLmdldERlcHRBbGxDaGVja2VkS2V5cygpOwogICAgICAgICgwLCBfcm9sZS5kYXRhU2NvcGUpKHRoaXMuZm9ybSkudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgICBfdGhpczAuJG1vZGFsLm1zZ1N1Y2Nlc3MoIuS/ruaUueaIkOWKnyIpOwogICAgICAgICAgX3RoaXMwLm9wZW5EYXRhU2NvcGUgPSBmYWxzZTsKICAgICAgICAgIF90aGlzMC5nZXRMaXN0KCk7CiAgICAgICAgfSk7CiAgICAgIH0KICAgIH0sCiAgICAvKiog5Yig6Zmk5oyJ6ZKu5pON5L2cICovaGFuZGxlRGVsZXRlOiBmdW5jdGlvbiBoYW5kbGVEZWxldGUocm93KSB7CiAgICAgIHZhciBfdGhpczEgPSB0aGlzOwogICAgICB2YXIgcm9sZUlkcyA9IHJvdy5yb2xlSWQgfHwgdGhpcy5pZHM7CiAgICAgIHRoaXMuJG1vZGFsLmNvbmZpcm0oJ+aYr+WQpuehruiupOWIoOmZpOinkuiJsue8luWPt+S4uiInICsgcm9sZUlkcyArICci55qE5pWw5o2u6aG577yfJykudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuICgwLCBfcm9sZS5kZWxSb2xlKShyb2xlSWRzKTsKICAgICAgfSkudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgX3RoaXMxLmdldExpc3QoKTsKICAgICAgICBfdGhpczEuJG1vZGFsLm1zZ1N1Y2Nlc3MoIuWIoOmZpOaIkOWKnyIpOwogICAgICB9KS5jYXRjaChmdW5jdGlvbiAoKSB7fSk7CiAgICB9LAogICAgLyoqIOWvvOWHuuaMiemSruaTjeS9nCAqL2hhbmRsZUV4cG9ydDogZnVuY3Rpb24gaGFuZGxlRXhwb3J0KCkgewogICAgICB0aGlzLmRvd25sb2FkKCdzeXN0ZW0vcm9sZS9leHBvcnQnLCAoMCwgX29iamVjdFNwcmVhZDIuZGVmYXVsdCkoe30sIHRoaXMucXVlcnlQYXJhbXMpLCAicm9sZV8iLmNvbmNhdChuZXcgRGF0ZSgpLmdldFRpbWUoKSwgIi54bHN4IikpOwogICAgfQogIH0KfTs="},{"version":3,"names":["_role","require","_menu","name","dicts","data","loading","tableHeight","window","innerHeight","ids","single","multiple","showSearch","total","roleList","title","open","openDataScope","menuExpand","menuNodeAll","deptExpand","deptNodeAll","dateRange","dataScopeOptions","value","label","menuOptions","deptOptions","queryParams","pageNum","pageSize","roleName","undefined","roleKey","status","form","defaultProps","children","rules","required","message","trigger","roleSort","created","getList","mounted","getTableHeight","addEventListener","beforeDestroy","removeEventListener","watch","_this","$nextTick","methods","offset","_this2","listRole","addDateRange","then","response","rows","getMenuTreeselect","_this3","menuTreeselect","getMenuAllCheckedKeys","checkedKeys","$refs","menu","getCheckedKeys","halfCheckedKeys","getHalfCheckedKeys","unshift","apply","getDeptAllCheckedKeys","dept","getRoleMenuTreeselect","roleId","_this4","roleMenuTreeselect","menus","getDeptTree","_this5","deptTreeSelect","depts","handleStatusChange","row","_this6","text","$modal","confirm","changeRoleStatus","msgSuccess","catch","cancel","reset","cancelDataScope","setCheckedKeys","menuIds","deptIds","menuCheckStrictly","deptCheckStrictly","remark","resetForm","handleQuery","resetQuery","handleSelectionChange","selection","map","item","length","handleCommand","command","handleDataScope","handleAuthUser","handleCheckedTreeExpand","type","treeList","i","store","nodesMap","id","expanded","handleCheckedTreeNodeAll","setCheckedNodes","handleCheckedTreeConnect","handleAdd","handleUpdate","_this7","roleMenu","getRole","res","forEach","v","setChecked","dataScopeSelectChange","_this8","$router","push","submitForm","_this9","validate","valid","updateRole","addRole","submitDataScope","_this0","dataScope","handleDelete","_this1","roleIds","delRole","handleExport","download","_objectSpread2","default","concat","Date","getTime"],"sources":["src/views/system/role/index.vue"],"sourcesContent":["<template>\r\n <div class=\"app-container system-role\">\r\n <el-form :model=\"queryParams\" ref=\"queryForm\" size=\"small\" :inline=\"true\" v-show=\"showSearch\">\r\n <el-form-item label=\"角色名称\" prop=\"roleName\">\r\n <el-input\r\n v-model=\"queryParams.roleName\"\r\n placeholder=\"请输入角色名称\"\r\n clearable\r\n style=\"width: 240px\"\r\n @keyup.enter.native=\"handleQuery\"\r\n />\r\n </el-form-item>\r\n <el-form-item label=\"权限字符\" prop=\"roleKey\">\r\n <el-input\r\n v-model=\"queryParams.roleKey\"\r\n placeholder=\"请输入权限字符\"\r\n clearable\r\n style=\"width: 240px\"\r\n @keyup.enter.native=\"handleQuery\"\r\n />\r\n </el-form-item>\r\n <el-form-item label=\"状态\" prop=\"status\">\r\n <el-select\r\n v-model=\"queryParams.status\"\r\n placeholder=\"角色状态\"\r\n clearable\r\n style=\"width: 240px\"\r\n >\r\n <el-option\r\n v-for=\"dict in dict.type.sys_normal_disable\"\r\n :key=\"dict.value\"\r\n :label=\"dict.label\"\r\n :value=\"dict.value\"\r\n />\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item label=\"创建时间\">\r\n <el-date-picker\r\n v-model=\"dateRange\"\r\n style=\"width: 240px\"\r\n value-format=\"yyyy-MM-dd\"\r\n type=\"daterange\"\r\n range-separator=\"-\"\r\n start-placeholder=\"开始日期\"\r\n end-placeholder=\"结束日期\"\r\n ></el-date-picker>\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\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 v-hasPermi=\"['system:role:add']\"\r\n >新增</el-button>\r\n </el-col>\r\n <el-col :span=\"1.5\">\r\n <el-button\r\n type=\"success\"\r\n plain\r\n icon=\"el-icon-edit\"\r\n size=\"mini\"\r\n :disabled=\"single\"\r\n @click=\"handleUpdate\"\r\n v-hasPermi=\"['system:role:edit']\"\r\n >修改</el-button>\r\n </el-col>\r\n <el-col :span=\"1.5\">\r\n <el-button\r\n type=\"danger\"\r\n plain\r\n icon=\"el-icon-delete\"\r\n size=\"mini\"\r\n :disabled=\"multiple\"\r\n @click=\"handleDelete\"\r\n v-hasPermi=\"['system:role:remove']\"\r\n >删除</el-button>\r\n </el-col>\r\n <el-col :span=\"1.5\">\r\n <el-button\r\n type=\"warning\"\r\n plain\r\n icon=\"el-icon-download\"\r\n size=\"mini\"\r\n @click=\"handleExport\"\r\n v-hasPermi=\"['system:role:export']\"\r\n >导出</el-button>\r\n </el-col>\r\n <right-toolbar :showSearch.sync=\"showSearch\" @queryTable=\"getList\"></right-toolbar>\r\n </el-row>\r\n\r\n <el-table v-loading=\"loading\" :data=\"roleList\" @selection-change=\"handleSelectionChange\" :height=\"tableHeight\">\r\n <el-table-column type=\"selection\" width=\"55\" align=\"center\" />\r\n <el-table-column label=\"角色编号\" prop=\"roleId\" width=\"120\" />\r\n <el-table-column label=\"角色名称\" prop=\"roleName\" :show-overflow-tooltip=\"true\" width=\"150\" />\r\n <el-table-column label=\"权限字符\" prop=\"roleKey\" :show-overflow-tooltip=\"true\" width=\"150\" />\r\n <el-table-column label=\"显示顺序\" prop=\"roleSort\" width=\"100\" />\r\n <el-table-column label=\"状态\" align=\"center\" width=\"100\">\r\n <template slot-scope=\"scope\">\r\n <el-switch\r\n v-model=\"scope.row.status\"\r\n active-value=\"0\"\r\n inactive-value=\"1\"\r\n @change=\"handleStatusChange(scope.row)\"\r\n ></el-switch>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"创建时间\" align=\"center\" prop=\"createTime\" width=\"180\">\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\" v-if=\"scope.row.roleId !== 1\">\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 v-hasPermi=\"['system:role:edit']\"\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 v-hasPermi=\"['system:role:remove']\"\r\n >删除</el-button>\r\n <el-dropdown size=\"mini\" @command=\"(command) => handleCommand(command, scope.row)\" v-hasPermi=\"['system:role:edit']\">\r\n <el-button size=\"mini\" type=\"text\" icon=\"el-icon-d-arrow-right\">更多</el-button>\r\n <el-dropdown-menu slot=\"dropdown\">\r\n <el-dropdown-item command=\"handleDataScope\" icon=\"el-icon-circle-check\"\r\n v-hasPermi=\"['system:role:edit']\">数据权限</el-dropdown-item>\r\n <el-dropdown-item command=\"handleAuthUser\" icon=\"el-icon-user\"\r\n v-hasPermi=\"['system:role:edit']\">分配用户</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </el-dropdown>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n\r\n <pagination\r\n v-show=\"total>0\"\r\n :total=\"total\"\r\n :page.sync=\"queryParams.pageNum\"\r\n :limit.sync=\"queryParams.pageSize\"\r\n @pagination=\"getList\"\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=\"100px\">\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 prop=\"roleKey\">\r\n <span slot=\"label\">\r\n <el-tooltip content=\"控制器中定义的权限字符,如:@PreAuthorize(`@ss.hasRole('admin')`)\" 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.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-radio-group v-model=\"form.status\">\r\n <el-radio\r\n v-for=\"dict in dict.type.sys_normal_disable\"\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-form-item label=\"菜单权限\">\r\n <el-checkbox v-model=\"menuExpand\" @change=\"handleCheckedTreeExpand($event, 'menu')\">展开/折叠</el-checkbox>\r\n <el-checkbox v-model=\"menuNodeAll\" @change=\"handleCheckedTreeNodeAll($event, 'menu')\">全选/全不选</el-checkbox>\r\n <el-checkbox v-model=\"form.menuCheckStrictly\" @change=\"handleCheckedTreeConnect($event, 'menu')\">父子联动</el-checkbox>\r\n <el-tree\r\n class=\"tree-border\"\r\n :data=\"menuOptions\"\r\n show-checkbox\r\n ref=\"menu\"\r\n node-key=\"id\"\r\n :check-strictly=\"!form.menuCheckStrictly\"\r\n empty-text=\"加载中,请稍候\"\r\n :props=\"defaultProps\"\r\n ></el-tree>\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\r\n <!-- 分配角色数据权限对话框 -->\r\n <el-dialog :title=\"title\" :visible.sync=\"openDataScope\" width=\"500px\" append-to-body>\r\n <el-form :model=\"form\" label-width=\"80px\">\r\n <el-form-item label=\"角色名称\">\r\n <el-input v-model=\"form.roleName\" :disabled=\"true\" />\r\n </el-form-item>\r\n <el-form-item label=\"权限字符\">\r\n <el-input v-model=\"form.roleKey\" :disabled=\"true\" />\r\n </el-form-item>\r\n <el-form-item label=\"权限范围\">\r\n <el-select v-model=\"form.dataScope\" @change=\"dataScopeSelectChange\">\r\n <el-option\r\n v-for=\"item in dataScopeOptions\"\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-form-item label=\"数据权限\" v-show=\"form.dataScope == 2\">\r\n <el-checkbox v-model=\"deptExpand\" @change=\"handleCheckedTreeExpand($event, 'dept')\">展开/折叠</el-checkbox>\r\n <el-checkbox v-model=\"deptNodeAll\" @change=\"handleCheckedTreeNodeAll($event, 'dept')\">全选/全不选</el-checkbox>\r\n <el-checkbox v-model=\"form.deptCheckStrictly\" @change=\"handleCheckedTreeConnect($event, 'dept')\">父子联动</el-checkbox>\r\n <el-tree\r\n class=\"tree-border\"\r\n :data=\"deptOptions\"\r\n show-checkbox\r\n default-expand-all\r\n ref=\"dept\"\r\n node-key=\"id\"\r\n :check-strictly=\"!form.deptCheckStrictly\"\r\n empty-text=\"加载中,请稍候\"\r\n :props=\"defaultProps\"\r\n ></el-tree>\r\n </el-form-item>\r\n </el-form>\r\n <div slot=\"footer\" class=\"dialog-footer\">\r\n <el-button type=\"primary\" @click=\"submitDataScope\">确 定</el-button>\r\n <el-button @click=\"cancelDataScope\">取 消</el-button>\r\n </div>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { listRole, getRole, delRole, addRole, updateRole, dataScope, changeRoleStatus, deptTreeSelect } from \"@/api/system/role\"\r\nimport { treeselect as menuTreeselect, roleMenuTreeselect } from \"@/api/system/menu\"\r\n\r\nexport default {\r\n name: \"Role\",\r\n dicts: ['sys_normal_disable'],\r\n data() {\r\n return {\r\n // 遮罩层\r\n loading: true,\r\n // 表格高度\r\n tableHeight: window.innerHeight - 240,\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 dataScopeOptions: [\r\n {\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 // 表单参数\r\n form: {},\r\n defaultProps: {\r\n children: \"children\",\r\n label: \"label\"\r\n },\r\n // 表单校验\r\n rules: {\r\n roleName: [\r\n { required: true, message: \"角色名称不能为空\", trigger: \"blur\" }\r\n ],\r\n roleKey: [\r\n { required: true, message: \"权限字符不能为空\", trigger: \"blur\" }\r\n ],\r\n roleSort: [\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 mounted() {\r\n this.getTableHeight()\r\n window.addEventListener('resize', this.getTableHeight)\r\n },\r\n beforeDestroy() {\r\n window.removeEventListener('resize', this.getTableHeight)\r\n },\r\n watch: {\r\n showSearch() {\r\n this.$nextTick(() => {\r\n this.getTableHeight()\r\n })\r\n }\r\n },\r\n methods: {\r\n /** 获取表格高度 */\r\n getTableHeight() {\r\n const offset = this.showSearch ? 240 : 190\r\n this.tableHeight = window.innerHeight - offset\r\n },\r\n /** 查询角色列表 */\r\n getList() {\r\n this.loading = true\r\n listRole(this.addDateRange(this.queryParams, this.dateRange)).then(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\r\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(roleId) {\r\n return roleMenuTreeselect(roleId).then(response => {\r\n this.menuOptions = response.menus\r\n return response\r\n })\r\n },\r\n /** 根据角色ID查询部门树结构 */\r\n getDeptTree(roleId) {\r\n return deptTreeSelect(roleId).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.$modal.confirm('确认要\"' + text + '\"\"' + row.roleName + '\"角色吗?').then(function() {\r\n return changeRoleStatus(row.roleId, row.status)\r\n }).then(() => {\r\n this.$modal.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 roleId: 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.roleId)\r\n this.single = selection.length != 1\r\n this.multiple = !selection.length\r\n },\r\n // 更多操作触发\r\n handleCommand(command, row) {\r\n switch (command) {\r\n case \"handleDataScope\":\r\n this.handleDataScope(row)\r\n break\r\n case \"handleAuthUser\":\r\n this.handleAuthUser(row)\r\n break\r\n default:\r\n break\r\n }\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(row) {\r\n this.reset()\r\n const roleId = row.roleId || this.ids\r\n const roleMenu = this.getRoleMenuTreeselect(roleId)\r\n getRole(roleId).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 })\r\n this.title = \"修改角色\"\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 deptTreeSelect = this.getDeptTree(row.roleId)\r\n getRole(row.roleId).then(response => {\r\n this.form = response.data\r\n this.openDataScope = true\r\n this.$nextTick(() => {\r\n deptTreeSelect.then(res => {\r\n this.$refs.dept.setCheckedKeys(res.checkedKeys)\r\n })\r\n })\r\n })\r\n this.title = \"分配数据权限\"\r\n },\r\n /** 分配用户操作 */\r\n handleAuthUser(row) {\r\n const roleId = row.roleId\r\n this.$router.push(\"/system/role-auth/user/\" + roleId)\r\n },\r\n /** 提交按钮 */\r\n submitForm() {\r\n this.$refs[\"form\"].validate(valid => {\r\n if (valid) {\r\n if (this.form.roleId != undefined) {\r\n this.form.menuIds = this.getMenuAllCheckedKeys()\r\n updateRole(this.form).then(() => {\r\n this.$modal.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(() => {\r\n this.$modal.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() {\r\n if (this.form.roleId != undefined) {\r\n this.form.deptIds = this.getDeptAllCheckedKeys()\r\n dataScope(this.form).then(() => {\r\n this.$modal.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 roleIds = row.roleId || this.ids\r\n this.$modal.confirm('是否确认删除角色编号为\"' + roleIds + '\"的数据项?').then(function() {\r\n return delRole(roleIds)\r\n }).then(() => {\r\n this.getList()\r\n this.$modal.msgSuccess(\"删除成功\")\r\n }).catch(() => {})\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 scoped>\r\n.system-role ::v-deep .el-table ::-webkit-scrollbar {\r\n display: none;\r\n}\r\n.system-role ::v-deep .el-table {\r\n scrollbar-width: none;\r\n -ms-overflow-style: none;\r\n}\r\n.system-role ::v-deep .el-table__body-wrapper::-webkit-scrollbar {\r\n display: none;\r\n}\r\n.system-role ::v-deep .el-table__body-wrapper {\r\n scrollbar-width: none;\r\n -ms-overflow-style: none;\r\n}\r\n</style>"],"mappings":"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","ignoreList":[]}]} |