17100f179065bba64ea72f95dbc86874.json 31 KB

1
  1. {"remainingRequest":"/usr/local/develop/php/www/waibao/project/NN2022060801/addons/admin/node_modules/babel-loader/lib/index.js!/usr/local/develop/php/www/waibao/project/NN2022060801/addons/admin/node_modules/cache-loader/dist/cjs.js??ref--0-0!/usr/local/develop/php/www/waibao/project/NN2022060801/addons/admin/node_modules/vue-loader/lib/index.js??vue-loader-options!/usr/local/develop/php/www/waibao/project/NN2022060801/addons/admin/src/views/system/menu/index.vue?vue&type=script&lang=js&","dependencies":[{"path":"/usr/local/develop/php/www/waibao/project/NN2022060801/addons/admin/src/views/system/menu/index.vue","mtime":1625514688900},{"path":"/usr/local/develop/php/www/waibao/project/NN2022060801/addons/admin/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/usr/local/develop/php/www/waibao/project/NN2022060801/addons/admin/node_modules/babel-loader/lib/index.js","mtime":499162500000},{"path":"/usr/local/develop/php/www/waibao/project/NN2022060801/addons/admin/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/usr/local/develop/php/www/waibao/project/NN2022060801/addons/admin/node_modules/vue-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmluZC1pbmRleCI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmZvci1lYWNoIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuc3BsaWNlIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvd2ViLmRvbS1jb2xsZWN0aW9ucy5mb3ItZWFjaCI7CmltcG9ydCBfb2JqZWN0U3ByZWFkIGZyb20gIi91c3IvbG9jYWwvZGV2ZWxvcC9waHAvd3d3L3dhaWJhby9wcm9qZWN0L05OMjAyMjA2MDgwMS9hZGRvbnMvYWRtaW4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL29iamVjdFNwcmVhZDIiOwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwppbXBvcnQgVHJlZXNlbGVjdCBmcm9tICdAcmlvcGhhZS92dWUtdHJlZXNlbGVjdCc7IC8vIOS4i+aLieagkQoKaW1wb3J0ICdAcmlvcGhhZS92dWUtdHJlZXNlbGVjdC9kaXN0L3Z1ZS10cmVlc2VsZWN0LmNzcyc7CmltcG9ydCB7IG1hcEdldHRlcnMgfSBmcm9tICJ2dWV4IjsKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICJTeXNNZW51IiwKICBjb21wb25lbnRzOiB7CiAgICBUcmVlc2VsZWN0OiBUcmVlc2VsZWN0CiAgfSwKICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgbG9hZGluZzogdHJ1ZSwKICAgICAgLy8g5Yqg6L2954q25oCBCiAgICAgIGRhdGE6IFtdLAogICAgICAvLyDliJfooajmlbDmja4KICAgICAgd2hlcmU6IHt9LAogICAgICAvLyDmkJzntKLmnaHku7YKICAgICAgc2hvd0VkaXQ6IGZhbHNlLAogICAgICAvLyDmmK/lkKbmmL7npLrooajljZXlvLnnqpcKICAgICAgZm9ybToge30sCiAgICAgIC8vIOihqOWNleaVsOaNrgogICAgICBydWxlczogewogICAgICAgIC8vIOihqOWNlemqjOivgeinhOWImQogICAgICAgIHRpdGxlOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn6K+36L6T5YWl6I+c5Y2V5ZCN56ewJywKICAgICAgICAgIHRyaWdnZXI6ICdibHVyJwogICAgICAgIH1dLAogICAgICAgIHNvcnQ6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICfor7fovpPlhaXmjpLluo/lj7cnLAogICAgICAgICAgdHJpZ2dlcjogJ2JsdXInCiAgICAgICAgfV0KICAgICAgfSwKICAgICAgcGVybWlzc2lvbkxpc3Q6IFt7CiAgICAgICAga2V5OiAxLAogICAgICAgIGxhYmVsOiAiXHU2N0U1XHU4QkUyIgogICAgICB9LCB7CiAgICAgICAga2V5OiA1LAogICAgICAgIGxhYmVsOiAiXHU2REZCXHU1MkEwIgogICAgICB9LCB7CiAgICAgICAga2V5OiAxMCwKICAgICAgICBsYWJlbDogIlx1NEZFRVx1NjUzOSIKICAgICAgfSwgewogICAgICAgIGtleTogMTUsCiAgICAgICAgbGFiZWw6ICJcdTUyMjBcdTk2NjQiCiAgICAgIH0sIHsKICAgICAgICBrZXk6IDIwLAogICAgICAgIGxhYmVsOiAiXHU3MkI2XHU2MDAxIgogICAgICB9LCB7CiAgICAgICAga2V5OiAyNSwKICAgICAgICBsYWJlbDogIlx1NjI3OVx1OTFDRlx1NTIyMFx1OTY2NCIKICAgICAgfSwgewogICAgICAgIGtleTogMzAsCiAgICAgICAgbGFiZWw6ICJcdTUxNjhcdTkwRThcdTVDNTVcdTVGMDAiCiAgICAgIH0sIHsKICAgICAgICBrZXk6IDM1LAogICAgICAgIGxhYmVsOiAiXHU1MTY4XHU5MEU4XHU2Mjk4XHU1M0UwIgogICAgICB9LCB7CiAgICAgICAga2V5OiA0MCwKICAgICAgICBsYWJlbDogIlx1NkRGQlx1NTJBMFx1NUI1MFx1N0VBNyIKICAgICAgfSwgewogICAgICAgIGtleTogNDUsCiAgICAgICAgbGFiZWw6ICJcdTVCRkNcdTUxRkFcdTY1NzBcdTYzNkUiCiAgICAgIH0sIHsKICAgICAgICBrZXk6IDUwLAogICAgICAgIGxhYmVsOiAiXHU1QkZDXHU1MTY1XHU2NTcwXHU2MzZFIgogICAgICB9LCB7CiAgICAgICAga2V5OiA1NSwKICAgICAgICBsYWJlbDogIlx1NTIwNlx1OTE0RFx1Njc0M1x1OTY1MCIKICAgICAgfV0KICAgIH07CiAgfSwKICBjb21wdXRlZDogX29iamVjdFNwcmVhZCh7fSwgbWFwR2V0dGVycyhbInBlcm1pc3Npb24iXSkpLAogIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7CiAgICB0aGlzLnF1ZXJ5KCk7CiAgfSwKICBtZXRob2RzOiB7CiAgICAvKiDmn6Xor6IgKi8KICAgIHF1ZXJ5OiBmdW5jdGlvbiBxdWVyeSgpIHsKICAgICAgdmFyIF90aGlzID0gdGhpczsKCiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7CiAgICAgIHRoaXMud2hlcmVbJ3BpZCddID0gMDsKICAgICAgdGhpcy4kbWVzc2FnZS5jbG9zZUFsbCgpOwogICAgICB0aGlzLiRodHRwLmdldCgnL21lbnUvaW5kZXgnLCB7CiAgICAgICAgcGFyYW1zOiB0aGlzLndoZXJlCiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgIF90aGlzLmxvYWRpbmcgPSBmYWxzZTsKCiAgICAgICAgaWYgKHJlcy5kYXRhLmNvZGUgPT09IDApIHsKICAgICAgICAgIF90aGlzLmRhdGEgPSBfdGhpcy4kdXRpbC50b1RyZWVEYXRhKHJlcy5kYXRhLmRhdGEsICdpZCcsICdwaWQnKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgX3RoaXMuJG1lc3NhZ2UuZXJyb3IocmVzLmRhdGEubXNnIHx8ICfojrflj5bmlbDmja7lpLHotKUnKTsKICAgICAgICB9CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlKSB7CiAgICAgICAgX3RoaXMubG9hZGluZyA9IGZhbHNlOwoKICAgICAgICBfdGhpcy4kbWVzc2FnZS5lcnJvcihlLm1lc3NhZ2UpOwogICAgICB9KTsKICAgIH0sCgogICAgLyoqDQogICAgICog5byC5q2l5Yqg6L295pWw5o2uDQogICAgICovCiAgICBsb2FkOiBmdW5jdGlvbiBsb2FkKHRyZWUsIHRyZWVOb2RlLCByZXNvbHZlKSB7CiAgICAgIHZhciBfdGhpczIgPSB0aGlzOwoKICAgICAgdGhpcy53aGVyZVsncGlkJ10gPSB0cmVlLmlkOwogICAgICB0aGlzLiRtZXNzYWdlLmNsb3NlQWxsKCk7CiAgICAgIHRoaXMuJGh0dHAuZ2V0KCcvbWVudS9pbmRleCcsIHsKICAgICAgICBwYXJhbXM6IHRoaXMud2hlcmUKICAgICAgfSkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgaWYgKHJlcy5kYXRhLmNvZGUgPT09IDApIHsKICAgICAgICAgIHJlc29sdmUocmVzLmRhdGEuZGF0YSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIF90aGlzMi4kbWVzc2FnZS5lcnJvcihyZXMuZGF0YS5tc2cpOwogICAgICAgIH0KICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKGUpIHsKICAgICAgICBfdGhpczIuJG1lc3NhZ2UuZXJyb3IoZS5tZXNzYWdlKTsKICAgICAgfSk7CiAgICB9LAoKICAgIC8qIOaYvuekuua3u+WKoCAqLwogICAgYWRkOiBmdW5jdGlvbiBhZGQocm93KSB7CiAgICAgIHRoaXMuZm9ybSA9IHsKICAgICAgICB0eXBlOiAwLAogICAgICAgIHN0YXR1czogMSwKICAgICAgICBwaWQ6IHJvdyA/IHJvdy5pZCA6IG51bGwsCiAgICAgICAgdGFyZ2V0OiAnX2JsYW5rJwogICAgICB9OwogICAgICB0aGlzLnNob3dFZGl0ID0gdHJ1ZTsKICAgIH0sCgogICAgLyog5pi+56S657yW6L6RICovCiAgICBlZGl0OiBmdW5jdGlvbiBlZGl0KHJvdykgewogICAgICB2YXIgX3RoaXMzID0gdGhpczsKCiAgICAgIHRoaXMuJG1lc3NhZ2UuY2xvc2VBbGwoKTsKICAgICAgdGhpcy4kaHR0cC5nZXQoJy9tZW51L2luZm8/aWQ9JyArIHJvdy5pZCkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgaWYgKHJlcy5kYXRhLmNvZGUgPT09IDApIHsKICAgICAgICAgIF90aGlzMy5mb3JtID0gcmVzLmRhdGEuZGF0YTsKICAgICAgICAgIF90aGlzMy5zaG93RWRpdCA9IHRydWU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIF90aGlzMy4kbWVzc2FnZS5lcnJvcihyZXMuZGF0YS5tc2cpOwogICAgICAgIH0KICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKGUpIHsKICAgICAgICBfdGhpczMuJG1lc3NhZ2UuZXJyb3IoZS5tZXNzYWdlKTsKICAgICAgfSk7CiAgICB9LAoKICAgIC8qIOS/neWtmOe8lui+kSAqLwogICAgc2F2ZTogZnVuY3Rpb24gc2F2ZSgpIHsKICAgICAgdmFyIF90aGlzNCA9IHRoaXM7CgogICAgICB0aGlzLiRtZXNzYWdlLmNsb3NlQWxsKCk7CiAgICAgIHRoaXMuJHJlZnNbJ2VkaXRGb3JtJ10udmFsaWRhdGUoZnVuY3Rpb24gKHZhbGlkKSB7CiAgICAgICAgaWYgKHZhbGlkKSB7CiAgICAgICAgICB2YXIgbG9hZGluZyA9IF90aGlzNC4kbG9hZGluZyh7CiAgICAgICAgICAgIGxvY2s6IHRydWUKICAgICAgICAgIH0pOwoKICAgICAgICAgIF90aGlzNC4kaHR0cC5wb3N0KCcvbWVudS9lZGl0JywgT2JqZWN0LmFzc2lnbih7fSwgX3RoaXM0LmZvcm0sIHsKICAgICAgICAgICAgcGlkOiBfdGhpczQuZm9ybS5waWQgfHwgMAogICAgICAgICAgfSkpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgICAgICBsb2FkaW5nLmNsb3NlKCk7CgogICAgICAgICAgICBpZiAocmVzLmRhdGEuY29kZSA9PT0gMCkgewogICAgICAgICAgICAgIF90aGlzNC5zaG93RWRpdCA9IGZhbHNlOwoKICAgICAgICAgICAgICBfdGhpczQuJG1lc3NhZ2UoewogICAgICAgICAgICAgICAgdHlwZTogJ3N1Y2Nlc3MnLAogICAgICAgICAgICAgICAgbWVzc2FnZTogcmVzLmRhdGEubXNnCiAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgIGlmIChfdGhpczQuZm9ybS5pZCkgewogICAgICAgICAgICAgICAgLy8g5pu05paw5pWw5o2uCiAgICAgICAgICAgICAgICBfdGhpczQuJHV0aWwuZWFjaFRyZWVEYXRhKF90aGlzNC5kYXRhLCBmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICAgICAgICBpZiAoaXRlbS5pZCA9PT0gX3RoaXM0LmZvcm0uaWQpIHsKICAgICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKGl0ZW0sIF90aGlzNC5mb3JtKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBfdGhpczQucXVlcnkoKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgX3RoaXM0LiRtZXNzYWdlLmVycm9yKHJlcy5kYXRhLm1zZyk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgIGxvYWRpbmcuY2xvc2UoKTsKCiAgICAgICAgICAgIF90aGlzNC4kbWVzc2FnZS5lcnJvcihlLm1lc3NhZ2UpOwogICAgICAgICAgfSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKCiAgICAvKiDliKDpmaQgKi8KICAgIHJlbW92ZTogZnVuY3Rpb24gcmVtb3ZlKHJvdykgewogICAgICB2YXIgX3RoaXM1ID0gdGhpczsKCiAgICAgIHRoaXMuJG1lc3NhZ2UuY2xvc2VBbGwoKTsKICAgICAgaWYgKHJvdy5jaGlsZHJlbiAmJiByb3cuY2hpbGRyZW4ubGVuZ3RoID4gMCkgcmV0dXJuIHRoaXMuJG1lc3NhZ2UuZXJyb3IoJ+ivt+WFiOWIoOmZpOWtkOiKgueCuScpOwogICAgICB2YXIgbG9hZGluZyA9IHRoaXMuJGxvYWRpbmcoewogICAgICAgIGxvY2s6IHRydWUKICAgICAgfSk7CiAgICAgIHRoaXMuJGh0dHAucG9zdCgnL21lbnUvZGVsZXRlJywgewogICAgICAgIGlkOiByb3cuaWQKICAgICAgfSkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgbG9hZGluZy5jbG9zZSgpOwoKICAgICAgICBpZiAocmVzLmRhdGEuY29kZSA9PT0gMCkgewogICAgICAgICAgX3RoaXM1LiRtZXNzYWdlKHsKICAgICAgICAgICAgdHlwZTogJ3N1Y2Nlc3MnLAogICAgICAgICAgICBtZXNzYWdlOiByZXMuZGF0YS5tc2cKICAgICAgICAgIH0pOyAvLyDliKDpmaTmlbDmja4KCgogICAgICAgICAgX3RoaXM1LiR1dGlsLmVhY2hUcmVlRGF0YShfdGhpczUuZGF0YSwgZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgICAgaWYgKGl0ZW0uaWQgPT09IHJvdy5waWQgJiYgdHlwZW9mIGl0ZW0uY2hpbGRyZW4gIT0gJ3VuZGVmaW5lZCcpIHsKICAgICAgICAgICAgICBpdGVtLmNoaWxkcmVuLnNwbGljZShpdGVtLmNoaWxkcmVuLmZpbmRJbmRleChmdW5jdGlvbiAoZCkgewogICAgICAgICAgICAgICAgcmV0dXJuIGQuaWQgPT09IHJvdy5pZDsKICAgICAgICAgICAgICB9KSwgMSk7CiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgICB9KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgX3RoaXM1LiRtZXNzYWdlLmVycm9yKHJlcy5kYXRhLm1zZyk7CiAgICAgICAgfQogICAgICB9KS5jYXRjaChmdW5jdGlvbiAoZSkgewogICAgICAgIGxvYWRpbmcuY2xvc2UoKTsKCiAgICAgICAgX3RoaXM1LiRtZXNzYWdlLmVycm9yKGUubWVzc2FnZSk7CiAgICAgIH0pOwogICAgfSwKCiAgICAvKioNCiAgICAgKiDlsZXlvIDlhajpg6gNCiAgICAgKi8KICAgIGV4cGVuZEFsbDogZnVuY3Rpb24gZXhwZW5kQWxsKCkgewogICAgICB2YXIgX3RoaXM2ID0gdGhpczsKCiAgICAgIHRoaXMuZGF0YS5mb3JFYWNoKGZ1bmN0aW9uIChkKSB7CiAgICAgICAgX3RoaXM2LiRyZWZzLnRhYmxlLnRvZ2dsZVJvd0V4cGFuc2lvbihkLCB0cnVlKTsKICAgICAgfSk7CiAgICB9LAoKICAgIC8qKg0KICAgICAqIOaKmOWPoOWFqOmDqA0KICAgICAqLwogICAgZm9sZEFsbDogZnVuY3Rpb24gZm9sZEFsbCgpIHsKICAgICAgdmFyIF90aGlzNyA9IHRoaXM7CgogICAgICB0aGlzLmRhdGEuZm9yRWFjaChmdW5jdGlvbiAoZCkgewogICAgICAgIF90aGlzNy4kcmVmcy50YWJsZS50b2dnbGVSb3dFeHBhbnNpb24oZCwgZmFsc2UpOwogICAgICB9KTsKICAgIH0KICB9Cn07"},{"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>&nbsp;\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"}]}