| 1 |
- {"remainingRequest":"/usr/local/develop/php/www/waibao/NN2024071001/NN2024071001/addons/admin/node_modules/babel-loader/lib/index.js!/usr/local/develop/php/www/waibao/NN2024071001/NN2024071001/addons/admin/node_modules/cache-loader/dist/cjs.js??ref--0-0!/usr/local/develop/php/www/waibao/NN2024071001/NN2024071001/addons/admin/node_modules/vue-loader/lib/index.js??vue-loader-options!/usr/local/develop/php/www/waibao/NN2024071001/NN2024071001/addons/admin/src/views/system/menu/index.vue?vue&type=script&lang=js&","dependencies":[{"path":"/usr/local/develop/php/www/waibao/NN2024071001/NN2024071001/addons/admin/src/views/system/menu/index.vue","mtime":1625514688000},{"path":"/usr/local/develop/php/www/waibao/NN2024071001/NN2024071001/addons/admin/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/usr/local/develop/php/www/waibao/NN2024071001/NN2024071001/addons/admin/node_modules/babel-loader/lib/index.js","mtime":499162500000},{"path":"/usr/local/develop/php/www/waibao/NN2024071001/NN2024071001/addons/admin/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/usr/local/develop/php/www/waibao/NN2024071001/NN2024071001/addons/admin/node_modules/vue-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmluZC1pbmRleCI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmZvci1lYWNoIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuc3BsaWNlIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvd2ViLmRvbS1jb2xsZWN0aW9ucy5mb3ItZWFjaCI7CmltcG9ydCBfb2JqZWN0U3ByZWFkIGZyb20gIi91c3IvbG9jYWwvZGV2ZWxvcC9waHAvd3d3L3dhaWJhby9OTjIwMjQwNzEwMDEvTk4yMDI0MDcxMDAxL2FkZG9ucy9hZG1pbi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vb2JqZWN0U3ByZWFkMiI7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCmltcG9ydCBUcmVlc2VsZWN0IGZyb20gJ0ByaW9waGFlL3Z1ZS10cmVlc2VsZWN0JzsgLy8g5LiL5ouJ5qCRCgppbXBvcnQgJ0ByaW9waGFlL3Z1ZS10cmVlc2VsZWN0L2Rpc3QvdnVlLXRyZWVzZWxlY3QuY3NzJzsKaW1wb3J0IHsgbWFwR2V0dGVycyB9IGZyb20gInZ1ZXgiOwpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogIlN5c01lbnUiLAogIGNvbXBvbmVudHM6IHsKICAgIFRyZWVzZWxlY3Q6IFRyZWVzZWxlY3QKICB9LAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICBsb2FkaW5nOiB0cnVlLAogICAgICAvLyDliqDovb3nirbmgIEKICAgICAgZGF0YTogW10sCiAgICAgIC8vIOWIl+ihqOaVsOaNrgogICAgICB3aGVyZToge30sCiAgICAgIC8vIOaQnOe0ouadoeS7tgogICAgICBzaG93RWRpdDogZmFsc2UsCiAgICAgIC8vIOaYr+WQpuaYvuekuuihqOWNleW8ueeqlwogICAgICBmb3JtOiB7fSwKICAgICAgLy8g6KGo5Y2V5pWw5o2uCiAgICAgIHJ1bGVzOiB7CiAgICAgICAgLy8g6KGo5Y2V6aqM6K+B6KeE5YiZCiAgICAgICAgdGl0bGU6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICfor7fovpPlhaXoj5zljZXlkI3np7AnLAogICAgICAgICAgdHJpZ2dlcjogJ2JsdXInCiAgICAgICAgfV0sCiAgICAgICAgc29ydDogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogJ+ivt+i+k+WFpeaOkuW6j+WPtycsCiAgICAgICAgICB0cmlnZ2VyOiAnYmx1cicKICAgICAgICB9XQogICAgICB9LAogICAgICBwZXJtaXNzaW9uTGlzdDogW3sKICAgICAgICBrZXk6IDEsCiAgICAgICAgbGFiZWw6ICJcdTY3RTVcdThCRTIiCiAgICAgIH0sIHsKICAgICAgICBrZXk6IDUsCiAgICAgICAgbGFiZWw6ICJcdTZERkJcdTUyQTAiCiAgICAgIH0sIHsKICAgICAgICBrZXk6IDEwLAogICAgICAgIGxhYmVsOiAiXHU0RkVFXHU2NTM5IgogICAgICB9LCB7CiAgICAgICAga2V5OiAxNSwKICAgICAgICBsYWJlbDogIlx1NTIyMFx1OTY2NCIKICAgICAgfSwgewogICAgICAgIGtleTogMjAsCiAgICAgICAgbGFiZWw6ICJcdTcyQjZcdTYwMDEiCiAgICAgIH0sIHsKICAgICAgICBrZXk6IDI1LAogICAgICAgIGxhYmVsOiAiXHU2Mjc5XHU5MUNGXHU1MjIwXHU5NjY0IgogICAgICB9LCB7CiAgICAgICAga2V5OiAzMCwKICAgICAgICBsYWJlbDogIlx1NTE2OFx1OTBFOFx1NUM1NVx1NUYwMCIKICAgICAgfSwgewogICAgICAgIGtleTogMzUsCiAgICAgICAgbGFiZWw6ICJcdTUxNjhcdTkwRThcdTYyOThcdTUzRTAiCiAgICAgIH0sIHsKICAgICAgICBrZXk6IDQwLAogICAgICAgIGxhYmVsOiAiXHU2REZCXHU1MkEwXHU1QjUwXHU3RUE3IgogICAgICB9LCB7CiAgICAgICAga2V5OiA0NSwKICAgICAgICBsYWJlbDogIlx1NUJGQ1x1NTFGQVx1NjU3MFx1NjM2RSIKICAgICAgfSwgewogICAgICAgIGtleTogNTAsCiAgICAgICAgbGFiZWw6ICJcdTVCRkNcdTUxNjVcdTY1NzBcdTYzNkUiCiAgICAgIH0sIHsKICAgICAgICBrZXk6IDU1LAogICAgICAgIGxhYmVsOiAiXHU1MjA2XHU5MTREXHU2NzQzXHU5NjUwIgogICAgICB9XQogICAgfTsKICB9LAogIGNvbXB1dGVkOiBfb2JqZWN0U3ByZWFkKHt9LCBtYXBHZXR0ZXJzKFsicGVybWlzc2lvbiJdKSksCiAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHsKICAgIHRoaXMucXVlcnkoKTsKICB9LAogIG1ldGhvZHM6IHsKICAgIC8qIOafpeivoiAqLwogICAgcXVlcnk6IGZ1bmN0aW9uIHF1ZXJ5KCkgewogICAgICB2YXIgX3RoaXMgPSB0aGlzOwoKICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsKICAgICAgdGhpcy53aGVyZVsncGlkJ10gPSAwOwogICAgICB0aGlzLiRtZXNzYWdlLmNsb3NlQWxsKCk7CiAgICAgIHRoaXMuJGh0dHAuZ2V0KCcvbWVudS9pbmRleCcsIHsKICAgICAgICBwYXJhbXM6IHRoaXMud2hlcmUKICAgICAgfSkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgX3RoaXMubG9hZGluZyA9IGZhbHNlOwoKICAgICAgICBpZiAocmVzLmRhdGEuY29kZSA9PT0gMCkgewogICAgICAgICAgX3RoaXMuZGF0YSA9IF90aGlzLiR1dGlsLnRvVHJlZURhdGEocmVzLmRhdGEuZGF0YSwgJ2lkJywgJ3BpZCcpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBfdGhpcy4kbWVzc2FnZS5lcnJvcihyZXMuZGF0YS5tc2cgfHwgJ+iOt+WPluaVsOaNruWksei0pScpOwogICAgICAgIH0KICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKGUpIHsKICAgICAgICBfdGhpcy5sb2FkaW5nID0gZmFsc2U7CgogICAgICAgIF90aGlzLiRtZXNzYWdlLmVycm9yKGUubWVzc2FnZSk7CiAgICAgIH0pOwogICAgfSwKCiAgICAvKioNCiAgICAgKiDlvILmraXliqDovb3mlbDmja4NCiAgICAgKi8KICAgIGxvYWQ6IGZ1bmN0aW9uIGxvYWQodHJlZSwgdHJlZU5vZGUsIHJlc29sdmUpIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CgogICAgICB0aGlzLndoZXJlWydwaWQnXSA9IHRyZWUuaWQ7CiAgICAgIHRoaXMuJG1lc3NhZ2UuY2xvc2VBbGwoKTsKICAgICAgdGhpcy4kaHR0cC5nZXQoJy9tZW51L2luZGV4JywgewogICAgICAgIHBhcmFtczogdGhpcy53aGVyZQogICAgICB9KS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBpZiAocmVzLmRhdGEuY29kZSA9PT0gMCkgewogICAgICAgICAgcmVzb2x2ZShyZXMuZGF0YS5kYXRhKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgX3RoaXMyLiRtZXNzYWdlLmVycm9yKHJlcy5kYXRhLm1zZyk7CiAgICAgICAgfQogICAgICB9KS5jYXRjaChmdW5jdGlvbiAoZSkgewogICAgICAgIF90aGlzMi4kbWVzc2FnZS5lcnJvcihlLm1lc3NhZ2UpOwogICAgICB9KTsKICAgIH0sCgogICAgLyog5pi+56S65re75YqgICovCiAgICBhZGQ6IGZ1bmN0aW9uIGFkZChyb3cpIHsKICAgICAgdGhpcy5mb3JtID0gewogICAgICAgIHR5cGU6IDAsCiAgICAgICAgc3RhdHVzOiAxLAogICAgICAgIHBpZDogcm93ID8gcm93LmlkIDogbnVsbCwKICAgICAgICB0YXJnZXQ6ICdfYmxhbmsnCiAgICAgIH07CiAgICAgIHRoaXMuc2hvd0VkaXQgPSB0cnVlOwogICAgfSwKCiAgICAvKiDmmL7npLrnvJbovpEgKi8KICAgIGVkaXQ6IGZ1bmN0aW9uIGVkaXQocm93KSB7CiAgICAgIHZhciBfdGhpczMgPSB0aGlzOwoKICAgICAgdGhpcy4kbWVzc2FnZS5jbG9zZUFsbCgpOwogICAgICB0aGlzLiRodHRwLmdldCgnL21lbnUvaW5mbz9pZD0nICsgcm93LmlkKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBpZiAocmVzLmRhdGEuY29kZSA9PT0gMCkgewogICAgICAgICAgX3RoaXMzLmZvcm0gPSByZXMuZGF0YS5kYXRhOwogICAgICAgICAgX3RoaXMzLnNob3dFZGl0ID0gdHJ1ZTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgX3RoaXMzLiRtZXNzYWdlLmVycm9yKHJlcy5kYXRhLm1zZyk7CiAgICAgICAgfQogICAgICB9KS5jYXRjaChmdW5jdGlvbiAoZSkgewogICAgICAgIF90aGlzMy4kbWVzc2FnZS5lcnJvcihlLm1lc3NhZ2UpOwogICAgICB9KTsKICAgIH0sCgogICAgLyog5L+d5a2Y57yW6L6RICovCiAgICBzYXZlOiBmdW5jdGlvbiBzYXZlKCkgewogICAgICB2YXIgX3RoaXM0ID0gdGhpczsKCiAgICAgIHRoaXMuJG1lc3NhZ2UuY2xvc2VBbGwoKTsKICAgICAgdGhpcy4kcmVmc1snZWRpdEZvcm0nXS52YWxpZGF0ZShmdW5jdGlvbiAodmFsaWQpIHsKICAgICAgICBpZiAodmFsaWQpIHsKICAgICAgICAgIHZhciBsb2FkaW5nID0gX3RoaXM0LiRsb2FkaW5nKHsKICAgICAgICAgICAgbG9jazogdHJ1ZQogICAgICAgICAgfSk7CgogICAgICAgICAgX3RoaXM0LiRodHRwLnBvc3QoJy9tZW51L2VkaXQnLCBPYmplY3QuYXNzaWduKHt9LCBfdGhpczQuZm9ybSwgewogICAgICAgICAgICBwaWQ6IF90aGlzNC5mb3JtLnBpZCB8fCAwCiAgICAgICAgICB9KSkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgICAgIGxvYWRpbmcuY2xvc2UoKTsKCiAgICAgICAgICAgIGlmIChyZXMuZGF0YS5jb2RlID09PSAwKSB7CiAgICAgICAgICAgICAgX3RoaXM0LnNob3dFZGl0ID0gZmFsc2U7CgogICAgICAgICAgICAgIF90aGlzNC4kbWVzc2FnZSh7CiAgICAgICAgICAgICAgICB0eXBlOiAnc3VjY2VzcycsCiAgICAgICAgICAgICAgICBtZXNzYWdlOiByZXMuZGF0YS5tc2cKICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgaWYgKF90aGlzNC5mb3JtLmlkKSB7CiAgICAgICAgICAgICAgICAvLyDmm7TmlrDmlbDmja4KICAgICAgICAgICAgICAgIF90aGlzNC4kdXRpbC5lYWNoVHJlZURhdGEoX3RoaXM0LmRhdGEsIGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICAgICAgICAgIGlmIChpdGVtLmlkID09PSBfdGhpczQuZm9ybS5pZCkgewogICAgICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oaXRlbSwgX3RoaXM0LmZvcm0pOwogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIF90aGlzNC5xdWVyeSgpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBfdGhpczQuJG1lc3NhZ2UuZXJyb3IocmVzLmRhdGEubXNnKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgbG9hZGluZy5jbG9zZSgpOwoKICAgICAgICAgICAgX3RoaXM0LiRtZXNzYWdlLmVycm9yKGUubWVzc2FnZSk7CiAgICAgICAgICB9KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAoKICAgIC8qIOWIoOmZpCAqLwogICAgcmVtb3ZlOiBmdW5jdGlvbiByZW1vdmUocm93KSB7CiAgICAgIHZhciBfdGhpczUgPSB0aGlzOwoKICAgICAgdGhpcy4kbWVzc2FnZS5jbG9zZUFsbCgpOwogICAgICBpZiAocm93LmNoaWxkcmVuICYmIHJvdy5jaGlsZHJlbi5sZW5ndGggPiAwKSByZXR1cm4gdGhpcy4kbWVzc2FnZS5lcnJvcign6K+35YWI5Yig6Zmk5a2Q6IqC54K5Jyk7CiAgICAgIHZhciBsb2FkaW5nID0gdGhpcy4kbG9hZGluZyh7CiAgICAgICAgbG9jazogdHJ1ZQogICAgICB9KTsKICAgICAgdGhpcy4kaHR0cC5wb3N0KCcvbWVudS9kZWxldGUnLCB7CiAgICAgICAgaWQ6IHJvdy5pZAogICAgICB9KS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBsb2FkaW5nLmNsb3NlKCk7CgogICAgICAgIGlmIChyZXMuZGF0YS5jb2RlID09PSAwKSB7CiAgICAgICAgICBfdGhpczUuJG1lc3NhZ2UoewogICAgICAgICAgICB0eXBlOiAnc3VjY2VzcycsCiAgICAgICAgICAgIG1lc3NhZ2U6IHJlcy5kYXRhLm1zZwogICAgICAgICAgfSk7IC8vIOWIoOmZpOaVsOaNrgoKCiAgICAgICAgICBfdGhpczUuJHV0aWwuZWFjaFRyZWVEYXRhKF90aGlzNS5kYXRhLCBmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICBpZiAoaXRlbS5pZCA9PT0gcm93LnBpZCAmJiB0eXBlb2YgaXRlbS5jaGlsZHJlbiAhPSAndW5kZWZpbmVkJykgewogICAgICAgICAgICAgIGl0ZW0uY2hpbGRyZW4uc3BsaWNlKGl0ZW0uY2hpbGRyZW4uZmluZEluZGV4KGZ1bmN0aW9uIChkKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gZC5pZCA9PT0gcm93LmlkOwogICAgICAgICAgICAgIH0pLCAxKTsKICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0pOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBfdGhpczUuJG1lc3NhZ2UuZXJyb3IocmVzLmRhdGEubXNnKTsKICAgICAgICB9CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlKSB7CiAgICAgICAgbG9hZGluZy5jbG9zZSgpOwoKICAgICAgICBfdGhpczUuJG1lc3NhZ2UuZXJyb3IoZS5tZXNzYWdlKTsKICAgICAgfSk7CiAgICB9LAoKICAgIC8qKg0KICAgICAqIOWxleW8gOWFqOmDqA0KICAgICAqLwogICAgZXhwZW5kQWxsOiBmdW5jdGlvbiBleHBlbmRBbGwoKSB7CiAgICAgIHZhciBfdGhpczYgPSB0aGlzOwoKICAgICAgdGhpcy5kYXRhLmZvckVhY2goZnVuY3Rpb24gKGQpIHsKICAgICAgICBfdGhpczYuJHJlZnMudGFibGUudG9nZ2xlUm93RXhwYW5zaW9uKGQsIHRydWUpOwogICAgICB9KTsKICAgIH0sCgogICAgLyoqDQogICAgICog5oqY5Y+g5YWo6YOoDQogICAgICovCiAgICBmb2xkQWxsOiBmdW5jdGlvbiBmb2xkQWxsKCkgewogICAgICB2YXIgX3RoaXM3ID0gdGhpczsKCiAgICAgIHRoaXMuZGF0YS5mb3JFYWNoKGZ1bmN0aW9uIChkKSB7CiAgICAgICAgX3RoaXM3LiRyZWZzLnRhYmxlLnRvZ2dsZVJvd0V4cGFuc2lvbihkLCBmYWxzZSk7CiAgICAgIH0pOwogICAgfQogIH0KfTs="},{"version":3,"sources":["index.vue"],"names":[],"mappings":"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","sourcesContent":["<template>\r\n <div class=\"ele-body\">\r\n <el-card shadow=\"never\">\r\n <!-- 搜索表单 -->\r\n <el-form :model=\"where\" label-width=\"77px\" class=\"ele-form-search\" @keyup.enter.native=\"query\"\r\n @submit.native.prevent>\r\n <el-row :gutter=\"15\">\r\n <el-col :md=\"6\" :sm=\"12\">\r\n <el-form-item label=\"菜单名称:\">\r\n <el-input v-model=\"where.title\" placeholder=\"请输入菜单名称\" clearable/>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :md=\"9\" :sm=\"12\">\r\n <div class=\"ele-form-actions\">\r\n <el-button type=\"primary\" @click=\"query\" icon=\"el-icon-search\" class=\"ele-btn-icon\">查询</el-button>\r\n <el-button @click=\"add()\" type=\"primary\" icon=\"el-icon-plus\" class=\"ele-btn-icon\" v-if=\"permission.includes('sys:menu:add')\">添加</el-button>\r\n <el-button @click=\"expendAll()\" type=\"success\" icon=\"el-icon-_fold\" class=\"ele-btn-icon\" v-if=\"permission.includes('sys:menu:expand')\">展开全部</el-button>\r\n <el-button @click=\"foldAll()\" type=\"warning\" icon=\"el-icon-_unfold\" class=\"ele-btn-icon\" v-if=\"permission.includes('sys:menu:collapse')\">折叠全部</el-button>\r\n </div>\r\n </el-col>\r\n </el-row>\r\n </el-form>\r\n <!-- 数据表格 -->\r\n <el-table ref=\"table\" :data=\"data\" v-loading=\"loading\" row-key=\"id\" default-expand-all border\r\n height=\"calc(100vh - 215px)\" highlight-current-row lazy\r\n :load=\"load\"\r\n :tree-props=\"{children: 'children', hasChildren: 'hasChildren'}\">\r\n <el-table-column label=\"编号\" type=\"index\" width=\"60\" align=\"center\" fixed=\"left\"/>\r\n <el-table-column label=\"菜单名称\" show-overflow-tooltip min-width=\"200\" fixed=\"left\">\r\n <template slot-scope=\"{row}\"><i :class=\"row.icon\"/> {{ row.title }}</template>\r\n </el-table-column>\r\n <el-table-column prop=\"path\" label=\"路由地址\" show-overflow-tooltip min-width=\"150\"/>\r\n <el-table-column prop=\"component\" label=\"组件路径\" show-overflow-tooltip min-width=\"150\"/>\r\n <el-table-column prop=\"permission\" label=\"权限标识\" show-overflow-tooltip min-width=\"150\"/>\r\n <el-table-column prop=\"status\" label=\"状态\" sortable min-width=\"100\">\r\n <template slot-scope=\"{row}\">\r\n <ele-dot :type=\"['danger', 'success'][row.status]\" :ripple=\"row.status===0\"\r\n :text=\"['禁用','正常'][row.status]\"/>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"类型\" width=\"60px\" align=\"center\">\r\n <template slot-scope=\"{row}\">\r\n <el-tag :type=\"['primary','success'][row.type]\" size=\"mini\">{{ ['菜单', '按钮'][row.type] }}</el-tag>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"sort\" label=\"排序\" width=\"60px\" align=\"center\"/>\r\n <el-table-column label=\"创建时间\" show-overflow-tooltip min-width=\"160\" align=\"center\">\r\n <template slot-scope=\"{row}\">{{ row.create_time | toDateString }}</template>\r\n </el-table-column>\r\n <el-table-column label=\"操作\" width=\"190px\" align=\"center\" :resizable=\"false\" fixed=\"right\">\r\n <template slot-scope=\"{row}\">\r\n <el-link @click=\"add(row)\" icon=\"el-icon-plus\" type=\"primary\" :underline=\"false\" v-if=\"permission.includes('sys:menu:addz')\">添加</el-link>\r\n <el-link @click=\"edit(row)\" icon=\"el-icon-edit\" type=\"primary\" :underline=\"false\" v-if=\"permission.includes('sys:menu:edit')\">修改</el-link>\r\n <el-popconfirm title=\"确定要删除此菜单吗?\" @confirm=\"remove(row)\" class=\"ele-action\">\r\n <el-link slot=\"reference\" icon=\"el-icon-delete\" type=\"danger\" :underline=\"false\" v-if=\"permission.includes('sys:menu:delete')\">删除</el-link>\r\n </el-popconfirm>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </el-card>\r\n <!-- 编辑弹窗 -->\r\n <el-dialog :title=\"form.id?'修改菜单':'添加菜单'\" :visible.sync=\"showEdit\" width=\"800px\"\r\n @closed=\"form={}\" :destroy-on-close=\"true\" custom-class=\"ele-dialog-form\" :lock-scroll=\"false\">\r\n <el-form :model=\"form\" ref=\"editForm\" :rules=\"rules\" label-width=\"82px\" @keyup.enter.native=\"save\"\r\n @submit.native.prevent>\r\n <el-row :gutter=\"15\">\r\n <el-col :sm=\"12\">\r\n <el-form-item label=\"菜单名称:\" prop=\"title\">\r\n <el-input v-model=\"form.title\" placeholder=\"请输入菜单名称\" clearable/>\r\n </el-form-item>\r\n <el-form-item label=\"路由地址:\">\r\n <el-input v-model=\"form.path\" placeholder=\"请输入路由地址\" clearable/>\r\n </el-form-item>\r\n <el-form-item label=\"权限标识:\">\r\n <el-input v-model=\"form.permission\" placeholder=\"请输入权限标识\" clearable/>\r\n </el-form-item>\r\n <el-form-item label=\"菜单类型:\">\r\n <el-radio-group v-model=\"form.type\">\r\n <el-radio :label=\"0\">菜单</el-radio>\r\n <el-radio :label=\"1\">按钮</el-radio>\r\n </el-radio-group>\r\n </el-form-item>\r\n <el-form-item label=\"打开方式:\">\r\n <el-radio-group v-model=\"form.target\">\r\n <el-radio :label=\"'_self'\">内部打开</el-radio>\r\n <el-radio :label=\"'_blank'\">外部打开</el-radio>\r\n </el-radio-group>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :sm=\"12\">\r\n <el-form-item label=\"菜单图标:\">\r\n <ele-icon-picker v-model=\"form.icon\" placeholder=\"请选择菜单图标\"/>\r\n </el-form-item>\r\n <el-form-item label=\"组件路径:\">\r\n <el-input v-model=\"form.component\" placeholder=\"请输入组件路径\" clearable/>\r\n </el-form-item>\r\n <el-form-item label=\"上级菜单:\">\r\n <treeselect v-model=\"form.pid\" :options=\"data\" placeholder=\"请选择上级菜单\" :defaultExpandLevel=\"3\"\r\n :normalizer=\"(d)=>{return { id: d.id, label: d.title,children:d.children||undefined }}\"/>\r\n </el-form-item>\r\n <el-form-item label=\"菜单状态:\">\r\n <el-radio-group v-model=\"form.status\">\r\n <el-radio :label=\"1\">正常</el-radio>\r\n <el-radio :label=\"2\">禁用</el-radio>\r\n </el-radio-group>\r\n </el-form-item>\r\n <el-form-item label=\"排序号:\" prop=\"sort\">\r\n <el-input-number v-model=\"form.sort\" controls-position=\"right\" :min=\"0\"\r\n placeholder=\"请输入排序号\" class=\"ele-fluid ele-text-left\"/>\r\n </el-form-item>\r\n </el-col>\r\n </el-row>\r\n <el-form-item label=\"权限节点:\" v-if=\"form.type==0\">\r\n <el-transfer \r\n v-model=\"form.checkedList\" \r\n :data=\"permissionList\" \r\n :titles=\"['全部节点', '已赋予节点']\"\r\n ></el-transfer>\r\n </el-form-item>\r\n <el-form-item label=\"备注:\">\r\n <el-input v-model=\"form.note\" placeholder=\"请输入备注\" :rows=\"3\" type=\"textarea\"/>\r\n </el-form-item>\r\n </el-form>\r\n <div slot=\"footer\">\r\n <el-button @click=\"showEdit=false\">取消</el-button> \r\n <el-button type=\"primary\" @click=\"save\">保存</el-button>\r\n </div>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport Treeselect from '@riophae/vue-treeselect' // 下拉树\r\nimport '@riophae/vue-treeselect/dist/vue-treeselect.css'\r\nimport { mapGetters } from \"vuex\";\r\nexport default {\r\n name: \"SysMenu\",\r\n components: {Treeselect},\r\n data() {\r\n return {\r\n loading: true, // 加载状态\r\n data: [], // 列表数据\r\n where: {}, // 搜索条件\r\n showEdit: false, // 是否显示表单弹窗\r\n form: {}, // 表单数据\r\n rules: { // 表单验证规则\r\n title: [\r\n {required: true, message: '请输入菜单名称', trigger: 'blur'}\r\n ],\r\n sort: [\r\n {required: true, message: '请输入排序号', trigger: 'blur'}\r\n ]\r\n },\r\n permissionList: [\r\n {\r\n key: 1,\r\n label: `查询`,\r\n },\r\n {\r\n key: 5,\r\n label: `添加`,\r\n },\r\n {\r\n key: 10,\r\n label: `修改`,\r\n },\r\n {\r\n key: 15,\r\n label: `删除`,\r\n },\r\n {\r\n key: 20,\r\n label: `状态`,\r\n },\r\n {\r\n key: 25,\r\n label: `批量删除`,\r\n },\r\n {\r\n key: 30,\r\n label: `全部展开`,\r\n },\r\n {\r\n key: 35,\r\n label: `全部折叠`,\r\n },\r\n {\r\n key: 40,\r\n label: `添加子级`,\r\n },\r\n {\r\n key: 45,\r\n label: `导出数据`,\r\n },\r\n {\r\n key: 50,\r\n label: `导入数据`,\r\n },\r\n {\r\n key: 55,\r\n label: `分配权限`,\r\n }\r\n ],\r\n }\r\n },\r\n computed: {\r\n ...mapGetters([\"permission\"]),\r\n },\r\n mounted() {\r\n this.query();\r\n },\r\n methods: {\r\n /* 查询 */\r\n query() {\r\n this.loading = true;\r\n this.where['pid'] = 0;\r\n this.$message.closeAll()\r\n this.$http.get('/menu/index', {params: this.where}).then(res => {\r\n this.loading = false;\r\n if (res.data.code === 0) {\r\n this.data = this.$util.toTreeData(res.data.data, 'id', 'pid');\r\n } else {\r\n this.$message.error(res.data.msg || '获取数据失败');\r\n }\r\n }).catch(e => {\r\n this.loading = false;\r\n this.$message.error(e.message);\r\n });\r\n },\r\n /**\r\n * 异步加载数据\r\n */\r\n load(tree, treeNode, resolve) {\r\n this.where['pid'] = tree.id;\r\n this.$message.closeAll()\r\n this.$http.get('/menu/index', {params: this.where}).then(res => {\r\n if (res.data.code === 0) {\r\n resolve(res.data.data)\r\n } else {\r\n this.$message.error(res.data.msg);\r\n }\r\n }).catch(e => {\r\n this.$message.error(e.message);\r\n });\r\n },\r\n /* 显示添加 */\r\n add(row) {\r\n this.form = {type: 0, status: 1, pid: row ? row.id : null,target:'_blank'};\r\n this.showEdit = true;\r\n },\r\n /* 显示编辑 */\r\n edit(row) {\r\n this.$message.closeAll()\r\n this.$http.get('/menu/info?id=' + row.id).then(res => {\r\n if (res.data.code === 0) {\r\n this.form = res.data.data;\r\n this.showEdit = true;\r\n } else {\r\n this.$message.error(res.data.msg);\r\n }\r\n }).catch(e => {\r\n this.$message.error(e.message);\r\n });\r\n },\r\n /* 保存编辑 */\r\n save() {\r\n this.$message.closeAll()\r\n this.$refs['editForm'].validate((valid) => {\r\n if (valid) {\r\n const loading = this.$loading({lock: true});\r\n this.$http.post('/menu/edit',\r\n Object.assign({}, this.form, {pid: this.form.pid || 0})\r\n ).then(res => {\r\n loading.close();\r\n if (res.data.code === 0) {\r\n this.showEdit = false;\r\n this.$message({type: 'success', message: res.data.msg});\r\n if (this.form.id) {\r\n // 更新数据\r\n this.$util.eachTreeData(this.data, item => {\r\n if (item.id === this.form.id) {\r\n Object.assign(item, this.form);\r\n return false;\r\n }\r\n });\r\n } else {\r\n this.query();\r\n }\r\n } else {\r\n this.$message.error(res.data.msg);\r\n }\r\n }).catch(e => {\r\n loading.close();\r\n this.$message.error(e.message);\r\n });\r\n } else {\r\n return false;\r\n }\r\n });\r\n },\r\n /* 删除 */\r\n remove(row) {\r\n this.$message.closeAll()\r\n if (row.children && row.children.length > 0) return this.$message.error('请先删除子节点');\r\n const loading = this.$loading({lock: true});\r\n this.$http.post('/menu/delete', {id:row.id}).then(res => {\r\n loading.close();\r\n if (res.data.code === 0) {\r\n this.$message({type: 'success', message: res.data.msg});\r\n // 删除数据\r\n this.$util.eachTreeData(this.data, item => {\r\n if (item.id === row.pid && typeof (item.children) != 'undefined') {\r\n item.children.splice(item.children.findIndex(d => d.id === row.id), 1);\r\n return false;\r\n }\r\n });\r\n } else {\r\n this.$message.error(res.data.msg);\r\n }\r\n }).catch(e => {\r\n loading.close();\r\n this.$message.error(e.message);\r\n });\r\n },\r\n /**\r\n * 展开全部\r\n */\r\n expendAll(){\r\n this.data.forEach(d => {\r\n this.$refs.table.toggleRowExpansion(d, true);\r\n });\r\n },\r\n /**\r\n * 折叠全部\r\n */\r\n foldAll(){\r\n this.data.forEach(d => {\r\n this.$refs.table.toggleRowExpansion(d, false);\r\n });\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n\r\n</style>"],"sourceRoot":"src/views/system/menu"}]}
|