| 1 |
- {"remainingRequest":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\src\\layout\\component\\transverseAside.vue?vue&type=script&lang=js","dependencies":[{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\src\\layout\\component\\transverseAside.vue","mtime":1761185180049},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:DQppbXBvcnQgeyBnZXRNZW51U2lkZXIsIGdldEhlYWRlck5hbWUsIGZpbmRGaXJzdE5vbk51bGxDaGlsZHJlbiB9IGZyb20gJ0AvbGlicy9zeXN0ZW0nOw0KaW1wb3J0IExvZ28gZnJvbSAnQC9sYXlvdXQvbG9nby9pbmRleC52dWUnOw0KDQpleHBvcnQgZGVmYXVsdCB7DQogIG5hbWU6ICdsYXlvdXRDb2x1bW5zQXNpZGUnLA0KICBjb21wb25lbnRzOiB7IExvZ28gfSwNCiAgZGF0YSgpIHsNCiAgICByZXR1cm4gew0KICAgICAgY29sdW1uc0FzaWRlTGlzdDogW10sDQogICAgICBsaUluZGV4OiAwLA0KICAgICAgZGlmZmVyZW5jZTogMCwNCiAgICAgIHJvdXRlU3BsaXQ6IFtdLA0KICAgICAgYWN0aXZlUGF0aDogJycsDQogICAgfTsNCiAgfSwNCiAgY29tcHV0ZWQ6IHsNCiAgICAvLyDorr7nva7liIbmoI/pq5jkuq7po47moLwNCiAgICBzZXRDb2x1bW5zQXNpZGVTdHlsZSgpIHsNCiAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS50aGVtZUNvbmZpZy50aGVtZUNvbmZpZy5jb2x1bW5zQXNpZGVTdHlsZTsNCiAgICB9LA0KICAgIC8vIOiuvue9ruWIhuagj+W4g+WxgOmjjuagvA0KICAgIHNldENvbHVtbnNBc2lkZWxheW91dCgpIHsNCiAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5zdGF0ZS50aGVtZUNvbmZpZy50aGVtZUNvbmZpZy5jb2x1bW5zQXNpZGVMYXlvdXQ7DQogICAgfSwNCiAgICBMYXlvdXQoKSB7DQogICAgICByZXR1cm4gdGhpcy4kc3RvcmUuc3RhdGUudGhlbWVDb25maWcudGhlbWVDb25maWcuTGF5b3V0Ow0KICAgIH0sDQogICAgcm91dGVzTGlzdCgpIHsNCiAgICAgIHRoaXMuJHN0b3JlLnN0YXRlLnJvdXRlc0xpc3Qucm91dGVzTGlzdDsNCiAgICB9LA0KICB9LA0KICBiZWZvcmVEZXN0cm95KCkgew0KICAgIHRoaXMuYnVzLiRvZmYoJ3JvdXRlc0xpc3RDaGFuZ2UnKTsNCiAgfSwNCiAgbW91bnRlZCgpIHsNCiAgICB0aGlzLmJ1cy4kb24oJ3JvdXRlc0xpc3RDaGFuZ2UnLCAoKSA9PiB7DQogICAgICB0aGlzLnNldEZpbHRlclJvdXRlcygpOw0KICAgIH0pOw0KICAgIHRoaXMuc2V0RmlsdGVyUm91dGVzKCk7DQogICAgdGhpcy4kbmV4dFRpY2soKGUpID0+IHsNCiAgICAgIHRoaXMuaW5pdEVsTWVudU9mZnNldExlZnQoKTsNCiAgICB9KTsNCiAgfSwNCiAgbWV0aG9kczogew0KICAgIC8vIOiuvue9ruaoquWQkea7muWKqOadoeWPr+S7pem8oOagh+a7mui9rua7muWKqA0KICAgIG9uRWxNZW51SG9yaXpvbnRhbFNjcm9sbChlKSB7DQogICAgICBjb25zdCBldmVudERlbHRhID0gZS53aGVlbERlbHRhIHx8IC1lLmRlbHRhWSAqIDQwOw0KICAgICAgdGhpcy4kcmVmcy5lbE1lbnVIb3Jpem9udGFsU2Nyb2xsUmVmLiRyZWZzLndyYXAuc2Nyb2xsTGVmdCA9DQogICAgICAgIHRoaXMuJHJlZnMuZWxNZW51SG9yaXpvbnRhbFNjcm9sbFJlZi4kcmVmcy53cmFwLnNjcm9sbExlZnQgKyBldmVudERlbHRhIC8gNDsNCiAgICB9LA0KICAgIC8vIOWIneWni+WMluaVsOaNru+8jOmhtemdouWIt+aWsOaXtu+8jOa7muWKqOadoea7muWKqOWIsOWvueW6lOS9jee9rg0KICAgIGluaXRFbE1lbnVPZmZzZXRMZWZ0KCkgew0KICAgICAgdGhpcy4kbmV4dFRpY2soKCkgPT4gew0KICAgICAgICBsZXQgZWxzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmxheW91dC1jb2x1bW5zLmxheW91dC1jb2x1bW5zLWFjdGl2ZScpOw0KICAgICAgICBpZiAoIWVscykgcmV0dXJuIGZhbHNlOw0KICAgICAgICB0aGlzLiRyZWZzLmVsTWVudUhvcml6b250YWxTY3JvbGxSZWYuJHJlZnMud3JhcC5zY3JvbGxMZWZ0ID0gZWxzLm9mZnNldExlZnQ7DQogICAgICB9KTsNCiAgICB9LA0KICAgIC8vIOiuvue9ruiPnOWNlemrmOS6ruS9jee9ruenu+WKqA0KICAgIHNldENvbHVtbnNBc2lkZU1vdmUoaykgew0KICAgICAgaWYgKGsgPT09IHVuZGVmaW5lZCkgcmV0dXJuIGZhbHNlOw0KICAgICAgY29uc3QgZWxzID0gdGhpcy4kcmVmcy5jb2x1bW5zQXNpZGVPZmZzZXRMZWZ0UmVmczsNCiAgICAgIHRoaXMubGlJbmRleCA9IGs7DQogICAgICB0aGlzLiRyZWZzLmNvbHVtbnNBc2lkZUFjdGl2ZVJlZi5zdHlsZS5sZWZ0ID0gYCR7ZWxzW2tdLm9mZnNldExlZnQgKyB0aGlzLmRpZmZlcmVuY2V9cHhgOw0KICAgIH0sDQogICAgLy8g6I+c5Y2V6auY5Lqu54K55Ye75LqL5Lu2DQogICAgb25Db2x1bW5zQXNpZGVNZW51Q2xpY2sodikgew0KICAgICAgbGV0IHsgcGF0aCwgcmVkaXJlY3QgfSA9IHY7DQogICAgICBpZiAodi5jaGlsZHJlbikgew0KICAgICAgICB0aGlzLiRyb3V0ZXIucHVzaChmaW5kRmlyc3ROb25OdWxsQ2hpbGRyZW4odi5jaGlsZHJlbikucGF0aCk7DQogICAgICB9IGVsc2Ugew0KICAgICAgICB0aGlzLiRyb3V0ZXIucHVzaChwYXRoKTsNCiAgICAgIH0NCiAgICAgIC8vIOS4gOS4qui3r+eUseiuvue9ruiHquWKqOaUtui1t+iPnOWNlQ0KICAgICAgaWYgKCF2LmNoaWxkcmVuIHx8IHYuY2hpbGRyZW4ubGVuZ3RoIDw9IDEpIHRoaXMuJHN0b3JlLnN0YXRlLnRoZW1lQ29uZmlnLnRoZW1lQ29uZmlnLmlzQ29sbGFwc2UgPSB0cnVlOw0KICAgICAgZWxzZSBpZiAodi5jaGlsZHJlbi5sZW5ndGggPiAxKSB0aGlzLiRzdG9yZS5zdGF0ZS50aGVtZUNvbmZpZy50aGVtZUNvbmZpZy5pc0NvbGxhcHNlID0gZmFsc2U7DQogICAgICAvLyB0aGlzLmJ1cy4kZW1pdCgnc2V0U2VuZENvbHVtbnNDaGlsZHJlbicsIGdldE1lbnVTaWRlcih0aGlzLmNvbHVtbnNBc2lkZUxpc3QsIHBhdGgpKTsNCiAgICB9LA0KICAgIC8vIOiuvue9rumrmOS6ruWKqOaAgeS9jee9rg0KICAgIG9uQ29sdW1uc0FzaWRlRG93bihrKSB7DQogICAgICB0aGlzLiRuZXh0VGljaygoKSA9PiB7DQogICAgICAgIHRoaXMuc2V0Q29sdW1uc0FzaWRlTW92ZShrKTsNCiAgICAgIH0pOw0KICAgIH0sDQogICAgLy8g6K6+572uL+i/h+a7pOi3r+eUse+8iOmdnumdmeaAgei3r+eUsS/mmK/lkKbmmL7npLrlnKjoj5zljZXkuK3vvIkNCiAgICBzZXRGaWx0ZXJSb3V0ZXMoKSB7DQogICAgICBpZiAodGhpcy4kc3RvcmUuc3RhdGUucm91dGVzTGlzdC5yb3V0ZXNMaXN0Lmxlbmd0aCA8PSAwKSByZXR1cm4gZmFsc2U7DQogICAgICB0aGlzLmNvbHVtbnNBc2lkZUxpc3QgPSB0aGlzLmZpbHRlclJvdXRlc0Z1bih0aGlzLiRzdG9yZS5zdGF0ZS5yb3V0ZXNMaXN0LnJvdXRlc0xpc3QpOw0KICAgICAgLy8gICBjb25zdCByZXNEYXRhID0gZ2V0SGVhZGVyTmFtZSh0aGlzLiRyb3V0ZS5wYXRoLCB0aGlzLmNvbHVtbnNBc2lkZUxpc3QpOw0KICAgICAgY29uc3QgcmVzRGF0YSA9IHRoaXMuc2V0U2VuZENoaWxkcmVuKGdldEhlYWRlck5hbWUodGhpcy4kcm91dGUsIHRoaXMuY29sdW1uc0FzaWRlTGlzdCkpOw0KICAgICAgaWYgKCFyZXNEYXRhLmNoaWxkcmVuKSB7DQogICAgICAgIHRoaXMuYnVzLiRlbWl0KCdzZXRTZW5kQ29sdW1uc0NoaWxkcmVuJywgW10pOw0KICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoJ21lbnVzL2NoaWxkTWVudUxpc3QnLCBbXSk7DQoNCiAgICAgICAgdGhpcy4kc3RvcmUuc3RhdGUudGhlbWVDb25maWcudGhlbWVDb25maWcuaXNDb2xsYXBzZSA9IHRydWU7DQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgIH0NCiAgICAgIHRoaXMuYnVzLiRlbWl0KCdvbmVDYXROYW1lJywgcmVzRGF0YS5pdGVtWzBdLnRpdGxlKTsNCiAgICAgIHRoaXMub25Db2x1bW5zQXNpZGVEb3duKHJlc0RhdGEuaXRlbVswXS5rKTsNCiAgICAgIC8vIOWIt+aWsOaXtu+8jOWIneWni+WMluS4gOS4qui3r+eUseiuvue9ruiHquWKqOaUtui1t+iPnOWNlQ0KICAgICAgcmVzRGF0YS5jaGlsZHJlbi5sZW5ndGggPiAwDQogICAgICAgID8gKHRoaXMuJHN0b3JlLnN0YXRlLnRoZW1lQ29uZmlnLnRoZW1lQ29uZmlnLmlzQ29sbGFwc2UgPSBmYWxzZSkNCiAgICAgICAgOiAodGhpcy4kc3RvcmUuc3RhdGUudGhlbWVDb25maWcudGhlbWVDb25maWcuaXNDb2xsYXBzZSA9IHRydWUpOw0KICAgICAgdGhpcy5idXMuJGVtaXQoJ3NldFNlbmRDb2x1bW5zQ2hpbGRyZW4nLCByZXNEYXRhPy5jaGlsZHJlbiB8fCBbXSk7DQogICAgICB0aGlzLiRzdG9yZS5jb21taXQoJ21lbnVzL2NoaWxkTWVudUxpc3QnLCByZXNEYXRhPy5jaGlsZHJlbiB8fCBbXSk7DQogICAgfSwNCiAgICAvLyDkvKDpgIHlvZPliY3lrZDnuqfmlbDmja7liLDoj5zljZXkuK0NCiAgICBzZXRTZW5kQ2hpbGRyZW4ocGF0aCkgew0KICAgICAgLy8gY29uc3QgY3VycmVudFBhdGhTcGxpdCA9IHBhdGguc3BsaXQoJy8nKTsNCiAgICAgIGxldCBjdXJyZW50RGF0YSA9IHt9Ow0KICAgICAgdGhpcy5jb2x1bW5zQXNpZGVMaXN0Lm1hcCgodiwgaykgPT4gew0KICAgICAgICB2WydrJ10gPSBrOw0KICAgICAgICBpZiAodi5wYXRoID09PSBwYXRoKSB7DQogICAgICAgICAgY3VycmVudERhdGFbJ2l0ZW0nXSA9IFt7IC4uLnYgfV07DQogICAgICAgICAgLy8gICBjdXJyZW50RGF0YVsnY2hpbGRyZW4nXSA9IFt7IC4uLnYgfV07DQogICAgICAgICAgaWYgKHYuY2hpbGRyZW4pIGN1cnJlbnREYXRhWydjaGlsZHJlbiddID0gdi5jaGlsZHJlbjsNCiAgICAgICAgfQ0KICAgICAgfSk7DQogICAgICByZXR1cm4gY3VycmVudERhdGE7DQogICAgfSwNCiAgICAvLyDot6/nlLHov4fmu6TpgJLlvZLlh73mlbANCiAgICBmaWx0ZXJSb3V0ZXNGdW4oYXJyKSB7DQogICAgICByZXR1cm4gYXJyDQogICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0ucGF0aCkNCiAgICAgICAgLm1hcCgoaXRlbSkgPT4gew0KICAgICAgICAgIGl0ZW0gPSBPYmplY3QuYXNzaWduKHt9LCBpdGVtKTsNCiAgICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbikgaXRlbS5jaGlsZHJlbiA9IHRoaXMuZmlsdGVyUm91dGVzRnVuKGl0ZW0uY2hpbGRyZW4pOw0KICAgICAgICAgIHJldHVybiBpdGVtOw0KICAgICAgICB9KTsNCiAgICB9LA0KICAgIC8vIHRhZ3NWaWV3IOeCueWHu+aXtu+8jOagueaNrui3r+eUseafpeaJvuS4i+aghyBjb2x1bW5zQXNpZGVMaXN077yM5a6e546w5bem5L6n6I+c5Y2V6auY5LquDQogICAgc2V0Q29sdW1uc01lbnVIaWdobGlnaHQocGF0aCkgew0KICAgICAgLy8gdGhpcy5yb3V0ZVNwbGl0ID0gcGF0aC5zcGxpdCgnLycpOw0KICAgICAgLy8gdGhpcy5yb3V0ZVNwbGl0LnNoaWZ0KCk7DQogICAgICAvLyBjb25zdCByb3V0ZUZpcnN0ID0gYC8ke3RoaXMucm91dGVTcGxpdFswXX1gOw0KICAgICAgY29uc3QgY3VycmVudFNwbGl0Um91dGUgPSB0aGlzLmNvbHVtbnNBc2lkZUxpc3QuZmluZCgodikgPT4gdi5wYXRoID09PSBwYXRoKTsNCiAgICAgIGlmICghY3VycmVudFNwbGl0Um91dGUpIHsNCiAgICAgICAgdGhpcy5vbkNvbHVtbnNBc2lkZURvd24oMCk7DQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgIH0NCiAgICAgIC8vIOW7tui/n+aLv+WAvO+8jOmYsuatouWPluS4jeWIsA0KICAgICAgc2V0VGltZW91dCgoKSA9PiB7DQogICAgICAgIHRoaXMub25Db2x1bW5zQXNpZGVEb3duKGN1cnJlbnRTcGxpdFJvdXRlLmspOw0KICAgICAgfSwgMCk7DQogICAgfSwNCiAgfSwNCiAgd2F0Y2g6IHsNCiAgICAvLyDnm5HlkKwgdnVleCDmlbDmja7lj5jljJYNCiAgICAnJHN0b3JlLnN0YXRlJzogew0KICAgICAgaGFuZGxlcih2YWwpIHsNCiAgICAgICAgdmFsLnRoZW1lQ29uZmlnLnRoZW1lQ29uZmlnLmNvbHVtbnNBc2lkZVN0eWxlID09PSAnY29sdW1uc1JvdW5kJw0KICAgICAgICAgID8gKHRoaXMuZGlmZmVyZW5jZSA9IDMpDQogICAgICAgICAgOiAodGhpcy5kaWZmZXJlbmNlID0gMCk7DQogICAgICAgIGlmICh2YWwucm91dGVzTGlzdC5yb3V0ZXNMaXN0Lmxlbmd0aCA9PT0gdGhpcy5jb2x1bW5zQXNpZGVMaXN0Lmxlbmd0aCkgcmV0dXJuIGZhbHNlOw0KICAgICAgfSwNCiAgICAgIGRlZXA6IHRydWUsDQogICAgfSwNCiAgICAvLyDnm5HlkKzot6/nlLHnmoTlj5jljJYNCiAgICAkcm91dGU6IHsNCiAgICAgIGhhbmRsZXIodG8pIHsNCiAgICAgICAgdGhpcy5zZXRDb2x1bW5zTWVudUhpZ2hsaWdodCh0by5wYXRoKTsNCiAgICAgICAgLy8gdGhpcy5zZXRDb2x1bW5zQXNpZGVNb3ZlKCk7DQogICAgICAgIGxldCBIZWFkTmFtZSA9IGdldEhlYWRlck5hbWUodG8sIHRoaXMuY29sdW1uc0FzaWRlTGlzdCk7DQogICAgICAgIGxldCBhc2lkZUxpc3QgPSBnZXRNZW51U2lkZXIodGhpcy5jb2x1bW5zQXNpZGVMaXN0LCBIZWFkTmFtZSlbMF0/LmNoaWxkcmVuOw0KICAgICAgICBjb25zdCByZXNEYXRhID0gdGhpcy5zZXRTZW5kQ2hpbGRyZW4oSGVhZE5hbWUpOw0KICAgICAgICBpZiAocmVzRGF0YS5sZW5ndGggPD0gMCkgcmV0dXJuIGZhbHNlOw0KICAgICAgICB0aGlzLm9uQ29sdW1uc0FzaWRlRG93bihyZXNEYXRhLml0ZW1bMF0uayk7DQogICAgICAgIHRoaXMuYnVzLiRlbWl0KCdvbmVDYXROYW1lJywgcmVzRGF0YS5pdGVtWzBdLnRpdGxlKTsNCiAgICAgICAgdGhpcy5idXMuJGVtaXQoJ3NldFNlbmRDb2x1bW5zQ2hpbGRyZW4nLCBhc2lkZUxpc3QgfHwgW10pOw0KICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoJ21lbnVzL2NoaWxkTWVudUxpc3QnLCBhc2lkZUxpc3QgfHwgW10pOw0KICAgICAgfSwNCiAgICAgIGRlZXA6IHRydWUsDQogICAgfSwNCiAgfSwNCn07DQo="},{"version":3,"sources":["transverseAside.vue"],"names":[],"mappings":";AA2CA;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;;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","file":"transverseAside.vue","sourceRoot":"src/layout/component","sourcesContent":["<template>\r\n <div class=\"layout-columns-tra-aside el-menu-horizontal-warp\">\r\n <el-scrollbar ref=\"elMenuHorizontalScrollRef\" @wheel.native.prevent=\"onElMenuHorizontalScroll\">\r\n <ul>\r\n <li\r\n v-for=\"(v, k) in columnsAsideList\"\r\n :key=\"k\"\r\n @click=\"onColumnsAsideMenuClick(v)\"\r\n ref=\"columnsAsideOffsetLeftRefs\"\r\n class=\"layout-columns\"\r\n :class=\"{ 'layout-columns-active': v.k === liIndex }\"\r\n :title=\"$t(v.title)\"\r\n >\r\n <div :class=\"setColumnsAsidelayout\" v-if=\"!v.isLink || (v.isLink && v.isIframe)\">\r\n <!-- <i :class=\"'el-icon-' + v.icon\"></i> -->\r\n <div class=\"font14\">\r\n {{\r\n $t(v.title) && $t(v.title).length >= 4\r\n ? $t(v.title).substr(0, setColumnsAsidelayout === 'columns-vertical' ? 4 : 3)\r\n : $t(v.title)\r\n }}\r\n </div>\r\n </div>\r\n <div :class=\"setColumnsAsidelayout\" v-else>\r\n <a :href=\"v.isLink\" target=\"_blank\">\r\n <!-- <i :class=\"'el-icon-' + v.icon\"></i> -->\r\n <div class=\"font14\">\r\n {{\r\n $t(v.title) && $t(v.title).length >= 4\r\n ? $t(v.title).substr(0, setColumnsAsidelayout === 'columns-vertical' ? 4 : 3)\r\n : $t(v.title)\r\n }}\r\n </div>\r\n </a>\r\n </div>\r\n </li>\r\n <div ref=\"columnsAsideActiveRef\" :class=\"setColumnsAsideStyle\"></div>\r\n </ul>\r\n </el-scrollbar>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { getMenuSider, getHeaderName, findFirstNonNullChildren } from '@/libs/system';\r\nimport Logo from '@/layout/logo/index.vue';\r\n\r\nexport default {\r\n name: 'layoutColumnsAside',\r\n components: { Logo },\r\n data() {\r\n return {\r\n columnsAsideList: [],\r\n liIndex: 0,\r\n difference: 0,\r\n routeSplit: [],\r\n activePath: '',\r\n };\r\n },\r\n computed: {\r\n // 设置分栏高亮风格\r\n setColumnsAsideStyle() {\r\n return this.$store.state.themeConfig.themeConfig.columnsAsideStyle;\r\n },\r\n // 设置分栏布局风格\r\n setColumnsAsidelayout() {\r\n return this.$store.state.themeConfig.themeConfig.columnsAsideLayout;\r\n },\r\n Layout() {\r\n return this.$store.state.themeConfig.themeConfig.Layout;\r\n },\r\n routesList() {\r\n this.$store.state.routesList.routesList;\r\n },\r\n },\r\n beforeDestroy() {\r\n this.bus.$off('routesListChange');\r\n },\r\n mounted() {\r\n this.bus.$on('routesListChange', () => {\r\n this.setFilterRoutes();\r\n });\r\n this.setFilterRoutes();\r\n this.$nextTick((e) => {\r\n this.initElMenuOffsetLeft();\r\n });\r\n },\r\n methods: {\r\n // 设置横向滚动条可以鼠标滚轮滚动\r\n onElMenuHorizontalScroll(e) {\r\n const eventDelta = e.wheelDelta || -e.deltaY * 40;\r\n this.$refs.elMenuHorizontalScrollRef.$refs.wrap.scrollLeft =\r\n this.$refs.elMenuHorizontalScrollRef.$refs.wrap.scrollLeft + eventDelta / 4;\r\n },\r\n // 初始化数据,页面刷新时,滚动条滚动到对应位置\r\n initElMenuOffsetLeft() {\r\n this.$nextTick(() => {\r\n let els = document.querySelector('.layout-columns.layout-columns-active');\r\n if (!els) return false;\r\n this.$refs.elMenuHorizontalScrollRef.$refs.wrap.scrollLeft = els.offsetLeft;\r\n });\r\n },\r\n // 设置菜单高亮位置移动\r\n setColumnsAsideMove(k) {\r\n if (k === undefined) return false;\r\n const els = this.$refs.columnsAsideOffsetLeftRefs;\r\n this.liIndex = k;\r\n this.$refs.columnsAsideActiveRef.style.left = `${els[k].offsetLeft + this.difference}px`;\r\n },\r\n // 菜单高亮点击事件\r\n onColumnsAsideMenuClick(v) {\r\n let { path, redirect } = v;\r\n if (v.children) {\r\n this.$router.push(findFirstNonNullChildren(v.children).path);\r\n } else {\r\n this.$router.push(path);\r\n }\r\n // 一个路由设置自动收起菜单\r\n if (!v.children || v.children.length <= 1) this.$store.state.themeConfig.themeConfig.isCollapse = true;\r\n else if (v.children.length > 1) this.$store.state.themeConfig.themeConfig.isCollapse = false;\r\n // this.bus.$emit('setSendColumnsChildren', getMenuSider(this.columnsAsideList, path));\r\n },\r\n // 设置高亮动态位置\r\n onColumnsAsideDown(k) {\r\n this.$nextTick(() => {\r\n this.setColumnsAsideMove(k);\r\n });\r\n },\r\n // 设置/过滤路由(非静态路由/是否显示在菜单中)\r\n setFilterRoutes() {\r\n if (this.$store.state.routesList.routesList.length <= 0) return false;\r\n this.columnsAsideList = this.filterRoutesFun(this.$store.state.routesList.routesList);\r\n // const resData = getHeaderName(this.$route.path, this.columnsAsideList);\r\n const resData = this.setSendChildren(getHeaderName(this.$route, this.columnsAsideList));\r\n if (!resData.children) {\r\n this.bus.$emit('setSendColumnsChildren', []);\r\n this.$store.commit('menus/childMenuList', []);\r\n\r\n this.$store.state.themeConfig.themeConfig.isCollapse = true;\r\n return false;\r\n }\r\n this.bus.$emit('oneCatName', resData.item[0].title);\r\n this.onColumnsAsideDown(resData.item[0].k);\r\n // 刷新时,初始化一个路由设置自动收起菜单\r\n resData.children.length > 0\r\n ? (this.$store.state.themeConfig.themeConfig.isCollapse = false)\r\n : (this.$store.state.themeConfig.themeConfig.isCollapse = true);\r\n this.bus.$emit('setSendColumnsChildren', resData?.children || []);\r\n this.$store.commit('menus/childMenuList', resData?.children || []);\r\n },\r\n // 传送当前子级数据到菜单中\r\n setSendChildren(path) {\r\n // const currentPathSplit = path.split('/');\r\n let currentData = {};\r\n this.columnsAsideList.map((v, k) => {\r\n v['k'] = k;\r\n if (v.path === path) {\r\n currentData['item'] = [{ ...v }];\r\n // currentData['children'] = [{ ...v }];\r\n if (v.children) currentData['children'] = v.children;\r\n }\r\n });\r\n return currentData;\r\n },\r\n // 路由过滤递归函数\r\n filterRoutesFun(arr) {\r\n return arr\r\n .filter((item) => item.path)\r\n .map((item) => {\r\n item = Object.assign({}, item);\r\n if (item.children) item.children = this.filterRoutesFun(item.children);\r\n return item;\r\n });\r\n },\r\n // tagsView 点击时,根据路由查找下标 columnsAsideList,实现左侧菜单高亮\r\n setColumnsMenuHighlight(path) {\r\n // this.routeSplit = path.split('/');\r\n // this.routeSplit.shift();\r\n // const routeFirst = `/${this.routeSplit[0]}`;\r\n const currentSplitRoute = this.columnsAsideList.find((v) => v.path === path);\r\n if (!currentSplitRoute) {\r\n this.onColumnsAsideDown(0);\r\n return false;\r\n }\r\n // 延迟拿值,防止取不到\r\n setTimeout(() => {\r\n this.onColumnsAsideDown(currentSplitRoute.k);\r\n }, 0);\r\n },\r\n },\r\n watch: {\r\n // 监听 vuex 数据变化\r\n '$store.state': {\r\n handler(val) {\r\n val.themeConfig.themeConfig.columnsAsideStyle === 'columnsRound'\r\n ? (this.difference = 3)\r\n : (this.difference = 0);\r\n if (val.routesList.routesList.length === this.columnsAsideList.length) return false;\r\n },\r\n deep: true,\r\n },\r\n // 监听路由的变化\r\n $route: {\r\n handler(to) {\r\n this.setColumnsMenuHighlight(to.path);\r\n // this.setColumnsAsideMove();\r\n let HeadName = getHeaderName(to, this.columnsAsideList);\r\n let asideList = getMenuSider(this.columnsAsideList, HeadName)[0]?.children;\r\n const resData = this.setSendChildren(HeadName);\r\n if (resData.length <= 0) return false;\r\n this.onColumnsAsideDown(resData.item[0].k);\r\n this.bus.$emit('oneCatName', resData.item[0].title);\r\n this.bus.$emit('setSendColumnsChildren', asideList || []);\r\n this.$store.commit('menus/childMenuList', asideList || []);\r\n },\r\n deep: true,\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n::v-deep .el-scrollbar__bar.is-horizontal {\r\n height: 0;\r\n}\r\n.el-menu-horizontal-warp {\r\n ::v-deep .el-scrollbar__bar.is-vertical {\r\n display: none;\r\n }\r\n ::v-deep .el-scrollbar__wrap {\r\n overflow-y: hidden !important;\r\n overflow-x: scroll !important;\r\n }\r\n ::v-deepa {\r\n width: 100%;\r\n }\r\n .el-menu.el-menu--horizontal {\r\n display: flex;\r\n height: 100%;\r\n width: 100%;\r\n box-sizing: border-box;\r\n }\r\n}\r\n\r\n.layout-columns-tra-aside {\r\n height: 100%;\r\n background: var(--prev-bg-columnsMenuBar);\r\n // box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08);\r\n overflow-y: hidden;\r\n // flex: 1;\r\n ul {\r\n position: relative;\r\n display: flex;\r\n li {\r\n color: var(--prev-bg-columnsMenuBarColor);\r\n width: 80px;\r\n height: 66px;\r\n text-align: center;\r\n display: flex;\r\n cursor: pointer;\r\n position: relative;\r\n z-index: 1;\r\n .columns-vertical {\r\n margin: auto;\r\n .columns-vertical-title {\r\n // padding-top: 1px;\r\n }\r\n }\r\n .columns-horizontal {\r\n display: flex;\r\n height: 50px;\r\n width: 80px;\r\n align-items: center;\r\n justify-content: center;\r\n padding: 0 5px;\r\n i {\r\n margin-right: 5px;\r\n }\r\n a {\r\n display: flex;\r\n .columns-horizontal-title {\r\n padding-top: 1px;\r\n }\r\n }\r\n }\r\n a {\r\n text-decoration: none;\r\n color: var(--prev-bg-columnsMenuBarColor);\r\n }\r\n }\r\n // li:hover {\r\n // background: var(--prev-bg-menu-hover-ba-color);\r\n // color: var(--prev-bg-columnsMenuBarColor);\r\n // }\r\n .layout-columns {\r\n transition: 0.3s ease-in-out;\r\n }\r\n .layout-columns-active,\r\n .layout-columns-active a {\r\n color: var(--prev-bg-columnsMenuActiveColor);\r\n transition: 0.3s ease-in-out;\r\n }\r\n .columns-round {\r\n background: var(--prev-color-primary);\r\n position: absolute;\r\n left: 0;\r\n height: 4px;\r\n width: 80px;\r\n margin-top: 59px;\r\n transform: translatey(0%);\r\n z-index: 0;\r\n transition: 0.2s ease-in-out;\r\n }\r\n .columns-card {\r\n @extend .columns-round;\r\n top: 0;\r\n height: 4px;\r\n width: 80px;\r\n border-radius: 0;\r\n margin-top: 59px;\r\n }\r\n }\r\n}\r\n::v-deep .el-scrollbar {\r\n height: 66px;\r\n}\r\n::v-deep .el-scrollbar__bar.is-horizontal {\r\n display: none;\r\n}\r\n::v-deep .el-scrollbar__thumb {\r\n display: none;\r\n}\r\n</style>\r\n"]}]}
|