0fcffe480ac46fc0aade79d606f6dc34.json 26 KB

1
  1. {"remainingRequest":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\front\\item\\zyAdmin\\src\\pages\\app\\wechat\\menus\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\front\\item\\zyAdmin\\src\\pages\\app\\wechat\\menus\\index.vue","mtime":1761614939007},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1761614927801},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\babel-loader\\lib\\index.js","mtime":1761614927320},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1761614927801},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js","mtime":1761614937402}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:DQppbXBvcnQgeyB3ZWNoYXRNZW51QXBpLCBNZW51QXBpIH0gZnJvbSAnQC9hcGkvYXBwJzsNCmV4cG9ydCBkZWZhdWx0IHsNCiAgbmFtZTogJ3dlY2hhdE1lbnVzJywNCiAgZGF0YSgpIHsNCiAgICByZXR1cm4gew0KICAgICAgbW9kYWwyOiBmYWxzZSwNCiAgICAgIGZvcm1WYWxpZGF0ZTogew0KICAgICAgICBuYW1lOiAnJywNCiAgICAgICAgdHlwZTogJ2NsaWNrJywNCiAgICAgICAgYXBwaWQ6ICcnLA0KICAgICAgICB1cmw6ICcnLA0KICAgICAgICBrZXk6ICcnLA0KICAgICAgICBwYWdlcGF0aDogJycsDQogICAgICAgIGlkOiAwLA0KICAgICAgfSwNCiAgICAgIHJ1bGVWYWxpZGF0ZTogew0KICAgICAgICBuYW1lOiBbDQogICAgICAgICAgeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogJ+ivt+Whq+WGmeiPnOWNleWQjeensCcsIHRyaWdnZXI6ICdibHVyJyB9LA0KICAgICAgICAgIHsgbWluOiAxLCBtYXg6IDE0LCBtZXNzYWdlOiAn6ZW/5bqm5ZyoIDEg5YiwIDE0IOS4quWtl+espicsIHRyaWdnZXI6ICdibHVyJyB9LA0KICAgICAgICBdLA0KICAgICAgICBrZXk6IFt7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiAn6K+35aGr5YaZ5YWz6ZSu5a2XJywgdHJpZ2dlcjogJ2JsdXInIH1dLA0KICAgICAgICBhcHBpZDogW3sgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6ICfor7floavlhplhcHBpZCcsIHRyaWdnZXI6ICdibHVyJyB9XSwNCiAgICAgICAgcGFnZXBhdGg6IFt7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiAn6K+35aGr5YaZ5aSH55So572R6aG1JywgdHJpZ2dlcjogJ2JsdXInIH1dLA0KICAgICAgICB1cmw6IFt7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiAn6K+35aGr5YaZ6Lez6L2s5Zyw5Z2AJywgdHJpZ2dlcjogJ2JsdXInIH1dLA0KICAgICAgICB0eXBlOiBbeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogJ+ivt+mAieaLqeinhOWImeeKtuaAgScsIHRyaWdnZXI6ICdjaGFuZ2UnIH1dLA0KICAgICAgfSwNCiAgICAgIHBhcmVudE1lbnVJZDogbnVsbCwNCiAgICAgIGxpc3Q6IFtdLA0KICAgICAgY2hlY2tlZE1lbnVJZDogbnVsbCwNCiAgICAgIGlzVHJ1ZTogZmFsc2UsDQogICAgfTsNCiAgfSwNCiAgbW91bnRlZCgpIHsNCiAgICB0aGlzLmdldE1lbnVzKCk7DQogICAgaWYgKHRoaXMubGlzdC5sZW5ndGgpIHsNCiAgICAgIHRoaXMuZm9ybVZhbGlkYXRlID0gdGhpcy5saXN0W3RoaXMuYWN0aXZlQ2xhc3NdOw0KICAgIH0gZWxzZSB7DQogICAgICByZXR1cm4gdGhpcy5mb3JtVmFsaWRhdGU7DQogICAgfQ0KICB9LA0KICBtZXRob2RzOiB7DQogICAgLy8g5re75Yqg5LiA57qn5a2X5q615Ye95pWwDQogICAgZGVmYXVsdE1lbnVzRGF0YSgpIHsNCiAgICAgIHJldHVybiB7DQogICAgICAgIHR5cGU6ICdjbGljaycsDQogICAgICAgIG5hbWU6ICcnLA0KICAgICAgICBzdWJfYnV0dG9uOiBbXSwNCiAgICAgIH07DQogICAgfSwNCiAgICAvLyDmt7vliqDkuoznuqflrZfmrrXlh73mlbANCiAgICBkZWZhdWx0Q2hpbGREYXRhKCkgew0KICAgICAgcmV0dXJuIHsNCiAgICAgICAgdHlwZTogJ2NsaWNrJywNCiAgICAgICAgbmFtZTogJycsDQogICAgICB9Ow0KICAgIH0sDQogICAgLy8g6I635Y+WIOiPnOWNlQ0KICAgIGdldE1lbnVzKCkgew0KICAgICAgd2VjaGF0TWVudUFwaSgpDQogICAgICAgIC50aGVuKGFzeW5jIChyZXMpID0+IHsNCiAgICAgICAgICBsZXQgZGF0YSA9IHJlcy5kYXRhOw0KICAgICAgICAgIHRoaXMubGlzdCA9IGRhdGEubWVudXM7DQogICAgICAgIH0pDQogICAgICAgIC5jYXRjaCgocmVzKSA9PiB7DQogICAgICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcihyZXMubXNnKTsNCiAgICAgICAgfSk7DQogICAgfSwNCiAgICAvLyDngrnlh7vkv53lrZjmj5DkuqQNCiAgICBzdWJtZW51cyhuYW1lKSB7DQogICAgICBpZiAodGhpcy5pc1RydWUgJiYgIXRoaXMuY2hlY2tlZE1lbnVJZCAmJiB0aGlzLmNoZWNrZWRNZW51SWQgIT09IDApIHsNCiAgICAgICAgdGhpcy5wdXREYXRhKCk7DQogICAgICB9IGVsc2Ugew0KICAgICAgICB0aGlzLiRyZWZzW25hbWVdLnZhbGlkYXRlKCh2YWxpZCkgPT4gew0KICAgICAgICAgIGlmICh2YWxpZCkgew0KICAgICAgICAgICAgdGhpcy5wdXREYXRhKCk7DQogICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgIGlmICghdGhpcy5jaGVjaygpKSByZXR1cm4gZmFsc2U7DQogICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgIH0NCiAgICB9LA0KICAgIC8vIOaWsOWinmRhdGENCiAgICBwdXREYXRhKCkgew0KICAgICAgbGV0IGRhdGEgPSB7DQogICAgICAgIGJ1dHRvbjogdGhpcy5saXN0LA0KICAgICAgfTsNCiAgICAgIE1lbnVBcGkoZGF0YSkNCiAgICAgICAgLnRoZW4oYXN5bmMgKHJlcykgPT4gew0KICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uuc3VjY2VzcyhyZXMubXNnKTsNCiAgICAgICAgICB0aGlzLmNoZWNrZWRNZW51SWQgPSBudWxsOw0KICAgICAgICAgIHRoaXMuZm9ybVZhbGlkYXRlID0ge307DQogICAgICAgICAgdGhpcy5pc1RydWUgPSBmYWxzZTsNCiAgICAgICAgfSkNCiAgICAgICAgLmNhdGNoKChyZXMpID0+IHsNCiAgICAgICAgICB0aGlzLiRtZXNzYWdlLmVycm9yKHJlcy5tc2cpOw0KICAgICAgICB9KTsNCiAgICB9LA0KICAgIC8vIOeCueWHu+WFg+e0oA0KICAgIGdldHRlbShpdGVtLCBpbmRleCwgcGlkKSB7DQogICAgICB0aGlzLmNoZWNrZWRNZW51SWQgPSBpbmRleDsNCiAgICAgIHRoaXMuZm9ybVZhbGlkYXRlID0gaXRlbTsNCiAgICAgIHRoaXMucGFyZW50TWVudUlkID0gcGlkOw0KICAgICAgdGhpcy5pc1RydWUgPSB0cnVlOw0KICAgIH0sDQogICAgLy8g5aKe5Yqg5LqM57qnDQogICAgYWRkKGl0ZW0sIGluZGV4KSB7DQogICAgICBpZiAoIXRoaXMuY2hlY2soKSkgcmV0dXJuIGZhbHNlOw0KICAgICAgaWYgKGl0ZW0uc3ViX2J1dHRvbi5sZW5ndGggPCA1KSB7DQogICAgICAgIGxldCBkYXRhID0gdGhpcy5kZWZhdWx0Q2hpbGREYXRhKCk7DQogICAgICAgIGxldCBpZCA9IGl0ZW0uc3ViX2J1dHRvbi5sZW5ndGg7DQogICAgICAgIGl0ZW0uc3ViX2J1dHRvbi5wdXNoKGRhdGEpOw0KICAgICAgICB0aGlzLmZvcm1WYWxpZGF0ZSA9IGRhdGE7DQogICAgICAgIHRoaXMuY2hlY2tlZE1lbnVJZCA9IGlkOw0KICAgICAgICB0aGlzLnBhcmVudE1lbnVJZCA9IGluZGV4Ow0KICAgICAgICB0aGlzLmlzVHJ1ZSA9IHRydWU7DQogICAgICB9IGVsc2Ugew0KICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoJ+S6jOe6p+iPnOWNleacgOWkmuWPquiDvea3u+WKoDXkuKohJyk7DQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgIH0NCiAgICB9LA0KICAgIC8vIOWinuWKoOS4gOe6pw0KICAgIGFkZHRleHQoKSB7DQogICAgICBpZiAoIXRoaXMuY2hlY2soKSkgcmV0dXJuIGZhbHNlOw0KICAgICAgbGV0IGRhdGEgPSB0aGlzLmRlZmF1bHRNZW51c0RhdGEoKTsNCiAgICAgIGxldCBpZCA9IHRoaXMubGlzdC5sZW5ndGg7DQogICAgICB0aGlzLmxpc3QucHVzaChkYXRhKTsNCiAgICAgIHRoaXMuZm9ybVZhbGlkYXRlID0gZGF0YTsNCiAgICAgIHRoaXMuY2hlY2tlZE1lbnVJZCA9IGlkOw0KICAgICAgdGhpcy5wYXJlbnRNZW51SWQgPSBudWxsOw0KICAgICAgdGhpcy5pc1RydWUgPSB0cnVlOw0KICAgIH0sDQogICAgLy8g5Yik5pat5Ye95pWwDQogICAgY2hlY2s6IGZ1bmN0aW9uICgpIHsNCiAgICAgIGxldCByZWcgPSAvW2EtekEtWjAtOV1bLWEtekEtWjAtOV17MCw2Mn0oXC5bYS16QS1aMC05XVstYS16QS1aMC05XXswLDYyfSkrXC4/LzsNCiAgICAgIGlmICh0aGlzLmNoZWNrZWRNZW51SWQgPT09IG51bGwpIHJldHVybiB0cnVlOw0KICAgICAgaWYgKCF0aGlzLmlzVHJ1ZSkgcmV0dXJuIHRydWU7DQogICAgICBpZiAoIXRoaXMuZm9ybVZhbGlkYXRlLm5hbWUpIHsNCiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCfor7fovpPlhaXmjInpkq7lkI3np7AhJyk7DQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgIH0NCiAgICAgIGlmICh0aGlzLmZvcm1WYWxpZGF0ZS50eXBlID09PSAnY2xpY2snICYmICF0aGlzLmZvcm1WYWxpZGF0ZS5rZXkpIHsNCiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCfor7fovpPlhaXlhbPplK7lrZchJyk7DQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgIH0NCiAgICAgIGlmICh0aGlzLmZvcm1WYWxpZGF0ZS50eXBlID09PSAndmlldycgJiYgIXJlZy50ZXN0KHRoaXMuZm9ybVZhbGlkYXRlLnVybCkpIHsNCiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCfor7fovpPlhaXmraPnoa7nmoTot7PovazlnLDlnYAhJyk7DQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgIH0NCiAgICAgIGlmICgNCiAgICAgICAgdGhpcy5mb3JtVmFsaWRhdGUudHlwZSA9PT0gJ21pbmlwcm9ncmFtJyAmJg0KICAgICAgICAoIXRoaXMuZm9ybVZhbGlkYXRlLmFwcGlkIHx8ICF0aGlzLmZvcm1WYWxpZGF0ZS5wYWdlcGF0aCB8fCAhdGhpcy5mb3JtVmFsaWRhdGUudXJsKQ0KICAgICAgKSB7DQogICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZygn6K+35aGr5YaZ5a6M5pW05bCP56iL5bqP6YWN572uIScpOw0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICB9DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9LA0KICAgIC8vIOWIoOmZpA0KICAgIGRlbHRNZW51cygpIHsNCiAgICAgIGlmICh0aGlzLmlzVHJ1ZSkgew0KICAgICAgICB0aGlzLiRjb25maXJtKCfnoa7orqTliKDpmaTmraToj5zljZXlkJc/JywgJ+aPkOekuicsIHsNCiAgICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogJ+ehruWumicsDQogICAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogJ+WPlua2iCcsDQogICAgICAgICAgdHlwZTogJ3dhcm5pbmcnLA0KICAgICAgICAgIGJlZm9yZUNsb3NlKGFjdGlvbiwgaW5zdGFuY2UsIGRvbmUpIHsNCiAgICAgICAgICAgIGlmIChhY3Rpb24gPT0gJ2NvbmZpcm0nKSB7DQogICAgICAgICAgICAgIGluc3RhbmNlLiRyZWZzLmNvbmZpcm0uJGVsLm9uY2xpY2sgPSBhKCk7DQogICAgICAgICAgICAgIGZ1bmN0aW9uIGEoZSkgew0KICAgICAgICAgICAgICAgIGUgPSBlIHx8IHdpbmRvdy5ldmVudDsNCiAgICAgICAgICAgICAgICBpZiAoZS5kZXRhaWwgIT0gMCkgew0KICAgICAgICAgICAgICAgICAgZG9uZSgpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgZG9uZSgpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgIH0sDQogICAgICAgIH0pDQogICAgICAgICAgLnRoZW4oKCkgPT4gew0KICAgICAgICAgICAgdGhpcy5wYXJlbnRNZW51SWQgPT09IG51bGwNCiAgICAgICAgICAgICAgPyB0aGlzLmxpc3Quc3BsaWNlKHRoaXMuY2hlY2tlZE1lbnVJZCwgMSkNCiAgICAgICAgICAgICAgOiB0aGlzLmxpc3RbdGhpcy5wYXJlbnRNZW51SWRdLnN1Yl9idXR0b24uc3BsaWNlKHRoaXMuY2hlY2tlZE1lbnVJZCwgMSk7DQogICAgICAgICAgICB0aGlzLnBhcmVudE1lbnVJZCA9IG51bGw7DQogICAgICAgICAgICB0aGlzLmZvcm1WYWxpZGF0ZSA9IHsNCiAgICAgICAgICAgICAgbmFtZTogJycsDQogICAgICAgICAgICAgIHR5cGU6ICdjbGljaycsDQogICAgICAgICAgICAgIGFwcGlkOiAnJywNCiAgICAgICAgICAgICAgdXJsOiAnJywNCiAgICAgICAgICAgICAga2V5OiAnJywNCiAgICAgICAgICAgICAgcGFnZXBhdGg6ICcnLA0KICAgICAgICAgICAgICBpZDogMCwNCiAgICAgICAgICAgIH07DQogICAgICAgICAgICB0aGlzLmlzVHJ1ZSA9IHRydWU7DQogICAgICAgICAgICB0aGlzLm1vZGFsMiA9IGZhbHNlOw0KICAgICAgICAgICAgdGhpcy5jaGVja2VkTWVudUlkID0gbnVsbDsNCiAgICAgICAgICAgIHRoaXMuJHJlZnNbJ2Zvcm1WYWxpZGF0ZSddLnJlc2V0RmllbGRzKCk7DQogICAgICAgICAgfSkNCiAgICAgICAgICAuY2F0Y2goKCkgPT4ge30pOw0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCfor7fpgInmi6noj5zljZUhJyk7DQogICAgICB9DQogICAgfSwNCiAgICAvLyDnoa7orqTliKDpmaQNCiAgICBkZWwoKSB7DQogICAgICB0aGlzLnBhcmVudE1lbnVJZCA9PT0gbnVsbA0KICAgICAgICA/IHRoaXMubGlzdC5zcGxpY2UodGhpcy5jaGVja2VkTWVudUlkLCAxKQ0KICAgICAgICA6IHRoaXMubGlzdFt0aGlzLnBhcmVudE1lbnVJZF0uc3ViX2J1dHRvbi5zcGxpY2UodGhpcy5jaGVja2VkTWVudUlkLCAxKTsNCiAgICAgIHRoaXMucGFyZW50TWVudUlkID0gbnVsbDsNCiAgICAgIHRoaXMuZm9ybVZhbGlkYXRlID0gew0KICAgICAgICBuYW1lOiAnJywNCiAgICAgICAgdHlwZTogJ2NsaWNrJywNCiAgICAgICAgYXBwaWQ6ICcnLA0KICAgICAgICB1cmw6ICcnLA0KICAgICAgICBrZXk6ICcnLA0KICAgICAgICBwYWdlcGF0aDogJycsDQogICAgICAgIGlkOiAwLA0KICAgICAgfTsNCiAgICAgIHRoaXMuaXNUcnVlID0gdHJ1ZTsNCiAgICAgIHRoaXMubW9kYWwyID0gZmFsc2U7DQogICAgICB0aGlzLmNoZWNrZWRNZW51SWQgPSBudWxsOw0KICAgICAgdGhpcy4kcmVmc1snZm9ybVZhbGlkYXRlJ10ucmVzZXRGaWVsZHMoKTsNCiAgICB9LA0KICB9LA0KfTsNCg=="},{"version":3,"sources":["index.vue"],"names":[],"mappings":";AAqHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"index.vue","sourceRoot":"src/pages/app/wechat/menus","sourcesContent":["<template>\r\n <div class=\"article-manager\">\r\n <!-- <div class=\"i-layout-page-header header-title\">\r\n <span class=\"ivu-page-header-title\">{{ $route.meta.title }}</span>\r\n </div> -->\r\n <pages-header ref=\"pageHeader\" :title=\"$route.meta.title\"></pages-header>\r\n <el-card :bordered=\"false\" shadow=\"never\" class=\"ivu-mt mt16\">\r\n <!-- 公众号设置 -->\r\n <el-row :gutter=\"24\">\r\n <el-col :span=\"24\" class=\"ml40\">\r\n <!-- 预览功能 -->\r\n <el-col :span=\"24\">\r\n <el-col :xl=\"7\" :lg=\"7\" :md=\"22\" :sm=\"22\" :xs=\"22\" class=\"left mb15\">\r\n <img class=\"top\" src=\"../../../../assets/images/mobilehead.png\" />\r\n <img class=\"bottom\" src=\"@/assets/images/mobilefoot.png\" />\r\n <div style=\"background: #f4f5f9; min-height: 438px; position: absolute; top: 63px; width: 320px\"></div>\r\n <div class=\"textbot\">\r\n <div class=\"li\" v-for=\"(item, indx) in list\" :key=\"indx\" :class=\"{ active: item === formValidate }\">\r\n <div>\r\n <div class=\"add\" v-db-click @click=\"add(item, indx)\">\r\n <i class=\"el-icon-plus\"></i>\r\n <div class=\"arrow\"></div>\r\n </div>\r\n <div class=\"tianjia\">\r\n <div\r\n class=\"addadd\"\r\n v-for=\"(j, index) in item.sub_button\"\r\n :key=\"index\"\r\n :class=\"{ active: j === formValidate }\"\r\n v-db-click\r\n @click=\"gettem(j, index, indx)\"\r\n >\r\n {{ j.name || '二级菜单' }}\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"text\" v-db-click @click=\"gettem(item, indx, null)\">{{ item.name || '一级菜单' }}</div>\r\n </div>\r\n <div class=\"li\" v-show=\"list.length < 3\">\r\n <div class=\"text\" v-db-click @click=\"addtext\"><i class=\"el-icon-plus\"></i></div>\r\n </div>\r\n </div>\r\n </el-col>\r\n <el-col :xl=\"11\" :lg=\"12\" :md=\"22\" :sm=\"22\" :xs=\"22\">\r\n <el-tabs value=\"name1\" v-if=\"checkedMenuId !== null\">\r\n <el-tab-pane label=\"菜单信息\" name=\"name1\">\r\n <el-col :span=\"24\" class=\"userAlert\">\r\n <div class=\"box-card right\">\r\n <el-alert type=\"info\" show-icon closable title=\"已添加子菜单,仅可设置菜单名称\"></el-alert>\r\n <el-form\r\n ref=\"formValidate\"\r\n :model=\"formValidate\"\r\n :rules=\"ruleValidate\"\r\n label-width=\"100px\"\r\n class=\"mt20\"\r\n >\r\n <el-form-item label=\"菜单名称\" prop=\"name\">\r\n <el-input v-model=\"formValidate.name\" placeholder=\"请填写菜单名称\" class=\"spwidth\"></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"规则状态\" prop=\"type\">\r\n <el-select v-model=\"formValidate.type\" placeholder=\"请选择规则状态\" class=\"spwidth\">\r\n <el-option value=\"click\" label=\"关键字\"></el-option>\r\n <el-option value=\"view\" label=\"跳转网页\"></el-option>\r\n <el-option value=\"miniprogram\" label=\"小程序\"></el-option>\r\n </el-select>\r\n </el-form-item>\r\n <div v-if=\"formValidate.type === 'click'\">\r\n <el-form-item label=\"关键字\" prop=\"key\">\r\n <el-input v-model=\"formValidate.key\" placeholder=\"请填写关键字\" class=\"spwidth\"></el-input>\r\n </el-form-item>\r\n </div>\r\n <div v-if=\"formValidate.type === 'miniprogram'\">\r\n <el-form-item label=\"appid\" prop=\"appid\">\r\n <el-input v-model=\"formValidate.appid\" placeholder=\"请填写appid\" class=\"spwidth\"></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"小程序路径\" prop=\"pagepath\">\r\n <el-input\r\n v-model=\"formValidate.pagepath\"\r\n placeholder=\"请填写小程序路径\"\r\n class=\"spwidth\"\r\n ></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"备用网页\" prop=\"url\">\r\n <el-input\r\n v-model=\"formValidate.url\"\r\n placeholder=\"请填写备用网页\"\r\n class=\"spwidth\"\r\n ></el-input>\r\n </el-form-item>\r\n </div>\r\n <div v-if=\"formValidate.type === 'view'\">\r\n <el-form-item label=\"跳转地址\" prop=\"url\">\r\n <el-input\r\n v-model=\"formValidate.url\"\r\n placeholder=\"请填写跳转地址\"\r\n class=\"spwidth\"\r\n ></el-input>\r\n </el-form-item>\r\n </div>\r\n </el-form>\r\n </div>\r\n </el-col>\r\n </el-tab-pane>\r\n </el-tabs>\r\n <el-col :span=\"24\" v-if=\"isTrue\">\r\n <el-button size=\"small\" type=\"danger\" v-db-click @click=\"deltMenus\">删除</el-button>\r\n <el-button type=\"primary\" v-db-click @click=\"submenus('formValidate')\">保存并发布</el-button>\r\n </el-col>\r\n </el-col>\r\n </el-col>\r\n </el-col>\r\n </el-row>\r\n </el-card>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { wechatMenuApi, MenuApi } from '@/api/app';\r\nexport default {\r\n name: 'wechatMenus',\r\n data() {\r\n return {\r\n modal2: false,\r\n formValidate: {\r\n name: '',\r\n type: 'click',\r\n appid: '',\r\n url: '',\r\n key: '',\r\n pagepath: '',\r\n id: 0,\r\n },\r\n ruleValidate: {\r\n name: [\r\n { required: true, message: '请填写菜单名称', trigger: 'blur' },\r\n { min: 1, max: 14, message: '长度在 1 到 14 个字符', trigger: 'blur' },\r\n ],\r\n key: [{ required: true, message: '请填写关键字', trigger: 'blur' }],\r\n appid: [{ required: true, message: '请填写appid', trigger: 'blur' }],\r\n pagepath: [{ required: true, message: '请填写备用网页', trigger: 'blur' }],\r\n url: [{ required: true, message: '请填写跳转地址', trigger: 'blur' }],\r\n type: [{ required: true, message: '请选择规则状态', trigger: 'change' }],\r\n },\r\n parentMenuId: null,\r\n list: [],\r\n checkedMenuId: null,\r\n isTrue: false,\r\n };\r\n },\r\n mounted() {\r\n this.getMenus();\r\n if (this.list.length) {\r\n this.formValidate = this.list[this.activeClass];\r\n } else {\r\n return this.formValidate;\r\n }\r\n },\r\n methods: {\r\n // 添加一级字段函数\r\n defaultMenusData() {\r\n return {\r\n type: 'click',\r\n name: '',\r\n sub_button: [],\r\n };\r\n },\r\n // 添加二级字段函数\r\n defaultChildData() {\r\n return {\r\n type: 'click',\r\n name: '',\r\n };\r\n },\r\n // 获取 菜单\r\n getMenus() {\r\n wechatMenuApi()\r\n .then(async (res) => {\r\n let data = res.data;\r\n this.list = data.menus;\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n // 点击保存提交\r\n submenus(name) {\r\n if (this.isTrue && !this.checkedMenuId && this.checkedMenuId !== 0) {\r\n this.putData();\r\n } else {\r\n this.$refs[name].validate((valid) => {\r\n if (valid) {\r\n this.putData();\r\n } else {\r\n if (!this.check()) return false;\r\n }\r\n });\r\n }\r\n },\r\n // 新增data\r\n putData() {\r\n let data = {\r\n button: this.list,\r\n };\r\n MenuApi(data)\r\n .then(async (res) => {\r\n this.$message.success(res.msg);\r\n this.checkedMenuId = null;\r\n this.formValidate = {};\r\n this.isTrue = false;\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n // 点击元素\r\n gettem(item, index, pid) {\r\n this.checkedMenuId = index;\r\n this.formValidate = item;\r\n this.parentMenuId = pid;\r\n this.isTrue = true;\r\n },\r\n // 增加二级\r\n add(item, index) {\r\n if (!this.check()) return false;\r\n if (item.sub_button.length < 5) {\r\n let data = this.defaultChildData();\r\n let id = item.sub_button.length;\r\n item.sub_button.push(data);\r\n this.formValidate = data;\r\n this.checkedMenuId = id;\r\n this.parentMenuId = index;\r\n this.isTrue = true;\r\n } else {\r\n this.$message.warning('二级菜单最多只能添加5个!');\r\n return false;\r\n }\r\n },\r\n // 增加一级\r\n addtext() {\r\n if (!this.check()) return false;\r\n let data = this.defaultMenusData();\r\n let id = this.list.length;\r\n this.list.push(data);\r\n this.formValidate = data;\r\n this.checkedMenuId = id;\r\n this.parentMenuId = null;\r\n this.isTrue = true;\r\n },\r\n // 判断函数\r\n check: function () {\r\n let reg = /[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\\.?/;\r\n if (this.checkedMenuId === null) return true;\r\n if (!this.isTrue) return true;\r\n if (!this.formValidate.name) {\r\n this.$message.warning('请输入按钮名称!');\r\n return false;\r\n }\r\n if (this.formValidate.type === 'click' && !this.formValidate.key) {\r\n this.$message.warning('请输入关键字!');\r\n return false;\r\n }\r\n if (this.formValidate.type === 'view' && !reg.test(this.formValidate.url)) {\r\n this.$message.warning('请输入正确的跳转地址!');\r\n return false;\r\n }\r\n if (\r\n this.formValidate.type === 'miniprogram' &&\r\n (!this.formValidate.appid || !this.formValidate.pagepath || !this.formValidate.url)\r\n ) {\r\n this.$message.warning('请填写完整小程序配置!');\r\n return false;\r\n }\r\n return true;\r\n },\r\n // 删除\r\n deltMenus() {\r\n if (this.isTrue) {\r\n this.$confirm('确认删除此菜单吗?', '提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning',\r\n beforeClose(action, instance, done) {\r\n if (action == 'confirm') {\r\n instance.$refs.confirm.$el.onclick = a();\r\n function a(e) {\r\n e = e || window.event;\r\n if (e.detail != 0) {\r\n done();\r\n }\r\n }\r\n } else {\r\n done();\r\n }\r\n },\r\n })\r\n .then(() => {\r\n this.parentMenuId === null\r\n ? this.list.splice(this.checkedMenuId, 1)\r\n : this.list[this.parentMenuId].sub_button.splice(this.checkedMenuId, 1);\r\n this.parentMenuId = null;\r\n this.formValidate = {\r\n name: '',\r\n type: 'click',\r\n appid: '',\r\n url: '',\r\n key: '',\r\n pagepath: '',\r\n id: 0,\r\n };\r\n this.isTrue = true;\r\n this.modal2 = false;\r\n this.checkedMenuId = null;\r\n this.$refs['formValidate'].resetFields();\r\n })\r\n .catch(() => {});\r\n } else {\r\n this.$message.warning('请选择菜单!');\r\n }\r\n },\r\n // 确认删除\r\n del() {\r\n this.parentMenuId === null\r\n ? this.list.splice(this.checkedMenuId, 1)\r\n : this.list[this.parentMenuId].sub_button.splice(this.checkedMenuId, 1);\r\n this.parentMenuId = null;\r\n this.formValidate = {\r\n name: '',\r\n type: 'click',\r\n appid: '',\r\n url: '',\r\n key: '',\r\n pagepath: '',\r\n id: 0,\r\n };\r\n this.isTrue = true;\r\n this.modal2 = false;\r\n this.checkedMenuId = null;\r\n this.$refs['formValidate'].resetFields();\r\n },\r\n },\r\n};\r\n</script>\r\n<style scoped lang=\"scss\">\r\n* {\r\n -moz-user-select: none; /*火狐*/\r\n -webkit-user-select: none; /*webkit浏览器*/\r\n -ms-user-select: none; /*IE10*/\r\n -khtml-user-select: none; /*早期浏览器*/\r\n user-select: none;\r\n}\r\n\r\n.left {\r\n min-width: 390px;\r\n min-height: 550px;\r\n position: relative;\r\n padding-left: 40px;\r\n}\r\n\r\n.top {\r\n position: absolute;\r\n top: 0px;\r\n}\r\n\r\n.bottom {\r\n position: absolute;\r\n bottom: 0px;\r\n}\r\n\r\n.textbot {\r\n position: absolute;\r\n bottom: 0px;\r\n left: 55px;\r\n width: 100%;\r\n}\r\n.active {\r\n border: 1px solid var(--prev-color-primary) !important;\r\n color: var(--prev-color-primary) !important;\r\n}\r\n.li {\r\n float: left;\r\n width: 92px;\r\n height: 48px;\r\n line-height: 48px;\r\n border-left: 1px solid #e7e7eb;\r\n background: #fafafa;\r\n text-align: center;\r\n cursor: pointer;\r\n color: #999;\r\n position: relative;\r\n}\r\n.text {\r\n height: 50px;\r\n white-space: nowrap;\r\n width: 100%;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n padding: 0 5px;\r\n}\r\n.text:hover {\r\n color: #000;\r\n}\r\n\r\n.add {\r\n position: absolute;\r\n bottom: 65px;\r\n width: 100%;\r\n line-height: 40px;\r\n // border: 1px solid #e7e7eb;\r\n background: #fafafa;\r\n}\r\n.arrow {\r\n position: absolute;\r\n bottom: -16px;\r\n left: 36px;\r\n /* 圆角的位置需要细心调试哦 */\r\n width: 0;\r\n height: 0;\r\n font-size: 0;\r\n border: solid 8px;\r\n border-color: #fafafa #f4f5f9 #f4f5f9 #f4f5f9;\r\n}\r\n.tianjia {\r\n position: absolute;\r\n bottom: 107px;\r\n width: 100%;\r\n line-height: 48px;\r\n background: #fafafa;\r\n :first-child {\r\n border: none;\r\n }\r\n}\r\n.addadd {\r\n width: 100%;\r\n line-height: 40px;\r\n border-top: 1px solid #f0f0f0;\r\n background: #fafafa;\r\n height: 40px;\r\n}\r\n.right {\r\n background: #fff;\r\n min-height: 400px;\r\n}\r\n.spwidth {\r\n width: 100%;\r\n}\r\n.userAlert {\r\n margin-top: 16px !important;\r\n}\r\n</style>\r\n"]}]}