6e9dc2b56aea99f63b06eea6ea0b7f47.json 29 KB

1
  1. {"remainingRequest":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\front\\item\\zyAdmin\\src\\pages\\marketing\\channelCode\\createCode.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\front\\item\\zyAdmin\\src\\pages\\marketing\\channelCode\\createCode.vue","mtime":1761614939030},{"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:DQppbXBvcnQgeyBtYXBTdGF0ZSB9IGZyb20gJ3Z1ZXgnOw0KaW1wb3J0IHVzZXJMYWJlbCBmcm9tICdAL2NvbXBvbmVudHMvbGFiZWxMaXN0JzsNCg0KaW1wb3J0IGdvb2RzTGlzdCBmcm9tICdAL2NvbXBvbmVudHMvZ29vZHNMaXN0L2luZGV4JzsNCmltcG9ydCBuZXdzQ2F0ZWdvcnkgZnJvbSAnQC9jb21wb25lbnRzL25ld3NDYXRlZ29yeS9pbmRleCc7DQppbXBvcnQgeyBsYWJlbExpc3RBcGkgfSBmcm9tICdAL2FwaS9wcm9kdWN0JzsNCmltcG9ydCB7IHVzZXJMYWJlbEFkZEFwaSB9IGZyb20gJ0AvYXBpL3VzZXInOw0KaW1wb3J0IHsgd2VjaGF0UXJjb2RlU2F2ZUFwaSwgd2VjaGF0UXJjb2RlVHJlZSwgd2VjaGF0UXJjb2RlRGV0YWlsIH0gZnJvbSAnQC9hcGkvc2V0dGluZyc7DQppbXBvcnQgU2V0dGluZyBmcm9tICdAL3NldHRpbmcnOw0KaW1wb3J0IHsgZ2V0Q29va2llcyB9IGZyb20gJ0AvbGlicy91dGlsJzsNCmltcG9ydCBjdXN0b21lckluZm8gZnJvbSAnQC9jb21wb25lbnRzL2N1c3RvbWVySW5mbyc7DQppbXBvcnQgeyBpc1BpY1VwbG9hZCwgaXNWb2ljZVVwbG9hZCB9IGZyb20gJ0AvdXRpbHMnOw0KDQpleHBvcnQgZGVmYXVsdCB7DQogIG5hbWU6ICdjcmVhdGVDb2RlJywNCiAgY29tcG9uZW50czogew0KICAgIGdvb2RzTGlzdCwNCiAgICBuZXdzQ2F0ZWdvcnksDQogICAgY3VzdG9tZXJJbmZvLA0KICAgIHVzZXJMYWJlbCwNCiAgfSwNCiAgZGF0YSgpIHsNCiAgICByZXR1cm4gew0KICAgICAgY3VzdG9tZXJTaG93OiBmYWxzZSwNCiAgICAgIGxhYmVsU2hvdzogZmFsc2UsDQogICAgICBkaXNhYmxlZDogZmFsc2UsDQogICAgICBtYXhDb2xzOiA0LA0KICAgICAgbGFiZWxTZWxlY3Q6IFtdLA0KDQogICAgICBzY3JvbGxlckhlaWdodDogJzYwMCcsDQogICAgICBjb250ZW50VG9wOiAnMTAnLA0KICAgICAgY29udGVudFdpZHRoOiAnOTglJywNCiAgICAgIGZvcm1hdEltZzogWydqcGcnLCAnanBlZycsICdwbmcnLCAnYm1wJywgJ2dpZiddLA0KICAgICAgZm9ybWF0Vm9pY2U6IFsnbXAzJywgJ3dtYScsICd3YXYnLCAnYW1yJ10sDQogICAgICBoZWFkZXI6IHt9LA0KICAgICAgZmlsZVVybDogU2V0dGluZy5hcGlCYXNlVVJMICsgJy9maWxlL3VwbG9hZC8xJywNCg0KICAgICAgZm9ybURhdGE6IHsNCiAgICAgICAgbmFtZTogJycsDQogICAgICAgIHR5cGU6ICd0ZXh0JywNCiAgICAgICAgdGltZTogdW5kZWZpbmVkLA0KICAgICAgICBsYWJlbF9pZDogW10sDQogICAgICAgIGltYWdlOiAnJywNCiAgICAgICAgY2F0ZV9pZDogJycsDQogICAgICAgIGNvbnRlbnQ6IHsNCiAgICAgICAgICBjb250ZW50OiAnJywNCiAgICAgICAgICBzcmM6ICcnLA0KICAgICAgICAgIGxpc3Q6IHt9LA0KICAgICAgICB9LA0KICAgICAgfSwNCiAgICAgIGxhYmVsU29ydDogW10sDQogICAgICBpc1JlY2VpdmVUaW1lOiAwLA0KICAgICAgbW9kYWxzOiBmYWxzZSwNCiAgICAgIHJ1bGVWYWxpZGF0ZTogew0KICAgICAgICBuYW1lOiBbDQogICAgICAgICAgew0KICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgICBtZXNzYWdlOiAn6K+35aGr5YaZ5LqM57u056CB5ZCN56ewJywNCiAgICAgICAgICAgIHRyaWdnZXI6ICdibHVyJywNCiAgICAgICAgICB9LA0KICAgICAgICBdLA0KICAgICAgICBjYXRlX2lkOiBbDQogICAgICAgICAgew0KICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgICBtZXNzYWdlOiAn6K+36YCJ5oup5LqM57u056CB5YiG57uEJywNCiAgICAgICAgICAgIHRyaWdnZXI6ICdjaGFuZ2UnLA0KICAgICAgICAgIH0sDQogICAgICAgIF0sDQogICAgICB9LA0KICAgICAgaWQ6IDAsDQogICAgICBkYXRhTGFiZWw6IFtdLA0KICAgICAgbG9hZGluZzogZmFsc2UsDQogICAgfTsNCiAgfSwNCiAgY29tcHV0ZWQ6IHsNCiAgICAuLi5tYXBTdGF0ZSgnbWVkaWEnLCBbJ2lzTW9iaWxlJ10pLA0KICB9LA0KICBjcmVhdGVkKCkgew0KICAgIHRoaXMuZ2V0VXNlckxhYmVsQWxsKCk7DQogICAgdGhpcy51c2VyTGFiZWwoKTsNCiAgICB0aGlzLmdldFRva2VuKCk7DQogICAgaWYgKHRoaXMuJHJvdXRlLnF1ZXJ5LmlkKSB7DQogICAgICB0aGlzLmlkID0gdGhpcy4kcm91dGUucXVlcnkuaWQ7DQogICAgICB0aGlzLmdldERldGFpbCgpOw0KICAgIH0NCiAgfSwNCiAgbWV0aG9kczogew0KICAgIGJlZm9yZVVwbG9hZChmaWxlKSB7DQogICAgICBpZiAodGhpcy5mb3JtRGF0YS50eXBlID09PSAnaW1hZ2UnKSB7DQogICAgICAgIHJldHVybiBpc1BpY1VwbG9hZChmaWxlKTsNCiAgICAgIH0NCiAgICAgIGlmICh0aGlzLmZvcm1EYXRhLnR5cGUgPT09ICd2b2ljZScpIHsNCiAgICAgICAgcmV0dXJuIGlzVm9pY2VVcGxvYWQoZmlsZSk7DQogICAgICB9DQogICAgfSwNCiAgICBhY3RpdmVEYXRhKGRhdGFMYWJlbCkgew0KICAgICAgdGhpcy5sYWJlbFNob3cgPSBmYWxzZTsNCiAgICAgIHRoaXMuZGF0YUxhYmVsID0gZGF0YUxhYmVsOw0KICAgIH0sDQogICAgLy8g5qCH562+5by556qX5YWz6ZetDQogICAgbGFiZWxDbG9zZSgpIHsNCiAgICAgIHRoaXMubGFiZWxTaG93ID0gZmFsc2U7DQogICAgfSwNCiAgICBvcGVuTGFiZWwocm93KSB7DQogICAgICB0aGlzLmxhYmVsU2hvdyA9IHRydWU7DQogICAgICBpZiAodGhpcy5kYXRhTGFiZWwubGVuZ3RoKSB0aGlzLiRyZWZzLnVzZXJMYWJlbC51c2VyTGFiZWwoSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmRhdGFMYWJlbCkpKTsNCiAgICB9LA0KICAgIGNsb3NlTGFiZWwobGFiZWwpIHsNCiAgICAgIGxldCBpbmRleCA9IHRoaXMuZGF0YUxhYmVsLmluZGV4T2YodGhpcy5kYXRhTGFiZWwuZmlsdGVyKChkKSA9PiBkLmlkID09IGxhYmVsLmlkKVswXSk7DQogICAgICB0aGlzLmRhdGFMYWJlbC5zcGxpY2UoaW5kZXgsIDEpOw0KICAgIH0sDQogICAgZ2V0RGV0YWlsKCkgew0KICAgICAgd2VjaGF0UXJjb2RlRGV0YWlsKHRoaXMuaWQpLnRoZW4oKHJlcykgPT4gew0KICAgICAgICB0aGlzLmZvcm1EYXRhID0gcmVzLmRhdGE7DQogICAgICAgIGlmIChyZXMuZGF0YS50aW1lID4gMCkgew0KICAgICAgICAgIHRoaXMuaXNSZWNlaXZlVGltZSA9IDE7DQogICAgICAgIH0NCiAgICAgICAgaWYgKHJlcy5kYXRhLmxhYmVsX2lkLmxlbmd0aCkgew0KICAgICAgICAgIHRoaXMuZGF0YUxhYmVsID0gcmVzLmRhdGEubGFiZWxfaWQ7DQogICAgICAgIH0NCiAgICAgIH0pOw0KICAgIH0sDQogICAgY3VzdG9tZXIoKSB7DQogICAgICB0aGlzLmN1c3RvbWVyU2hvdyA9IHRydWU7DQogICAgfSwNCiAgICBhZGRMYWJlbCgpIHsNCiAgICAgIHRoaXMuJG1vZGFsRm9ybSh1c2VyTGFiZWxBZGRBcGkoMCkpLnRoZW4oKCkgPT4gdGhpcy51c2VyTGFiZWwoKSk7DQogICAgfSwNCiAgICAvLyDnlKjmiLfmoIfnrb4NCiAgICB1c2VyTGFiZWwoKSB7DQogICAgICBsYWJlbExpc3RBcGkoKQ0KICAgICAgICAudGhlbigocmVzKSA9PiB7DQogICAgICAgICAgdGhpcy5sYWJlbFNlbGVjdCA9IHJlcy5kYXRhLmxpc3Q7DQogICAgICAgIH0pDQogICAgICAgIC5jYXRjaCgocmVzKSA9PiB7DQogICAgICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcihyZXMubXNnKTsNCiAgICAgICAgfSk7DQogICAgfSwNCiAgICBpbWFnZU9iamVjdChlKSB7DQogICAgICB0aGlzLmN1c3RvbWVyU2hvdyA9IGZhbHNlOw0KICAgICAgdGhpcy5mb3JtRGF0YS51aWQgPSBlLnVpZDsNCiAgICAgIHRoaXMuZm9ybURhdGEuYXZhdGFyID0gZS5pbWFnZTsNCiAgICB9LA0KICAgIGdldENlbnRMaXN0KHZhbCkgew0KICAgICAgdGhpcy5mb3JtRGF0YS5jb250ZW50Lmxpc3QgPSB2YWwubmV3WzBdOw0KICAgICAgdGhpcy5tb2RhbHMgPSBmYWxzZTsNCiAgICB9LA0KICAgIGRlbENvbnRlbnQoKSB7DQogICAgICB0aGlzLmZvcm1EYXRhLmNvbnRlbnQubGlzdCA9IHt9Ow0KICAgIH0sDQogICAgLy8g5LiK5Lyg5oiQ5YqfDQogICAgaGFuZGxlU3VjY2VzcyhyZXMsIGZpbGUpIHsNCiAgICAgIGlmIChyZXMuc3RhdHVzID09PSAyMDApIHsNCiAgICAgICAgdGhpcy5mb3JtRGF0YS5jb250ZW50LnNyYyA9IHJlcy5kYXRhLnNyYzsNCiAgICAgICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKHJlcy5tc2cpOw0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcihyZXMubXNnKTsNCiAgICAgIH0NCiAgICB9LA0KICAgIGhhbmRsZUZvcm1hdEVycm9yKGZpbGUpIHsNCiAgICAgIGlmICh0aGlzLmZvcm1EYXRhLnR5cGUgPT09ICdpbWFnZScpIHsNCiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCfor7fkuIrkvKBibXAvcG5nL2pwZWcvanBnL2dpZuagvOW8j+eahOWbvueJhycpOw0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCfor7fkuIrkvKBtcDMvd21hL3dhdi9hbXLmoLzlvI/nmoTor63pn7MnKTsNCiAgICAgIH0NCiAgICB9LA0KICAgIGhhbmRsZU1heFNpemUoZmlsZSkgew0KICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCfor7fkuIrkvKDmlofku7YyTeS7peWGheeahOaWh+S7ticpOw0KICAgIH0sDQogICAgLy8g5LiK5Lyg5aS06YOodG9rZW4NCiAgICBnZXRUb2tlbigpIHsNCiAgICAgIHRoaXMuaGVhZGVyWydBdXRob3JpLXphdGlvbiddID0gJ0JlYXJlciAnICsgZ2V0Q29va2llcygndG9rZW4nKTsNCiAgICB9LA0KICAgIHNlbGVjdE1lbnUobmFtZSkgew0KICAgICAgdGhpcy5mb3JtRGF0YS50eXBlID0gbmFtZTsNCiAgICB9LA0KICAgIC8vIOiOt+WPluWIhuexuw0KICAgIGdldFVzZXJMYWJlbEFsbCgpIHsNCiAgICAgIHdlY2hhdFFyY29kZVRyZWUoKS50aGVuKChyZXMpID0+IHsNCiAgICAgICAgbGV0IGRhdGEgPSByZXMuZGF0YS5kYXRhOw0KICAgICAgICB0aGlzLmxhYmVsU29ydCA9IGRhdGE7DQogICAgICB9KTsNCiAgICB9LA0KICAgIC8vIOWIm+W7ug0KICAgIHNhdmUoKSB7DQogICAgICBpZiAoIXRoaXMuZm9ybURhdGEubmFtZSkgew0KICAgICAgICByZXR1cm4gdGhpcy4kbWVzc2FnZS5lcnJvcign6K+36L6T5YWl5LqM57u056CB5ZCN56ewJyk7DQogICAgICB9DQogICAgICBpZiAoIXRoaXMuZm9ybURhdGEuY2F0ZV9pZCkgew0KICAgICAgICByZXR1cm4gdGhpcy4kbWVzc2FnZS5lcnJvcign6K+36YCJ5oup5YiG57uEJyk7DQogICAgICB9DQogICAgICBpZiAoIXRoaXMuZGF0YUxhYmVsLmxlbmd0aCkgew0KICAgICAgICByZXR1cm4gdGhpcy4kbWVzc2FnZS5lcnJvcign6K+36YCJ5oup55So5oi35qCH562+Jyk7DQogICAgICB9IGVsc2Ugew0KICAgICAgICBsZXQgaWRzID0gW107DQogICAgICAgIHRoaXMuZGF0YUxhYmVsLm1hcCgoaSkgPT4gew0KICAgICAgICAgIGlkcy5wdXNoKGkuaWQpOw0KICAgICAgICB9KTsNCiAgICAgICAgdGhpcy5mb3JtRGF0YS5sYWJlbF9pZCA9IGlkczsNCiAgICAgIH0NCiAgICAgIGlmICghdGhpcy5mb3JtRGF0YS51aWQpIHsNCiAgICAgICAgcmV0dXJuIHRoaXMuJG1lc3NhZ2UuZXJyb3IoJ+ivt+mAieaLqeaOqOW5v+WRmCcpOw0KICAgICAgfQ0KICAgICAgaWYgKHRoaXMuaXNSZWNlaXZlVGltZSkgew0KICAgICAgICBpZiAodGhpcy5mb3JtRGF0YS50aW1lIDwgMSkgew0KICAgICAgICAgIHJldHVybiB0aGlzLiRtZXNzYWdlLmVycm9yKCfkvb/nlKjmnInmlYjmnJ/pmZDkuI3og73lsI/kuo4x5aSpJyk7DQogICAgICAgIH0NCiAgICAgIH0gZWxzZSB7DQogICAgICAgIHRoaXMuZm9ybURhdGEudGltZSA9IDA7DQogICAgICB9DQogICAgICBpZiAodGhpcy5mb3JtRGF0YS50eXBlID09PSAndGV4dCcgfHwgdGhpcy5mb3JtRGF0YS50eXBlID09PSAndXJsJykgew0KICAgICAgICBpZiAoIXRoaXMuZm9ybURhdGEuY29udGVudC5jb250ZW50LnRyaW0oKSkgew0KICAgICAgICAgIHJldHVybiB0aGlzLiRtZXNzYWdlLmVycm9yKCfor7fovpPlhaXlhoXlrrknKTsNCiAgICAgICAgfQ0KICAgICAgfQ0KICAgICAgaWYgKHRoaXMuZm9ybURhdGEudHlwZSA9PT0gJ3ZvaWNlJyB8fCB0aGlzLmZvcm1EYXRhLnR5cGUgPT09ICdpbWFnZScpIHsNCiAgICAgICAgaWYgKCF0aGlzLmZvcm1EYXRhLmNvbnRlbnQuc3JjLnRyaW0oKSkgew0KICAgICAgICAgIHJldHVybiB0aGlzLiRtZXNzYWdlLmVycm9yKCfor7flhYjkuIrkvKDmtojmga8nKTsNCiAgICAgICAgfQ0KICAgICAgfQ0KICAgICAgaWYgKHRoaXMuZm9ybURhdGEudHlwZSA9PT0gJ25ld3MnKSB7DQogICAgICAgIGlmICghdGhpcy5mb3JtRGF0YS5jb250ZW50Lmxpc3QudGl0bGUudHJpbSgpKSB7DQogICAgICAgICAgcmV0dXJuIHRoaXMuJG1lc3NhZ2UuZXJyb3IoJ+ivt+mAieaLqeWbvuaWh+a2iOaBrycpOw0KICAgICAgICB9DQogICAgICB9DQogICAgICB0aGlzLmRpc2FibGVkID0gZmFsc2U7DQogICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlOw0KICAgICAgd2VjaGF0UXJjb2RlU2F2ZUFwaSh0aGlzLmlkLCB0aGlzLmZvcm1EYXRhKQ0KICAgICAgICAudGhlbigocmVzKSA9PiB7DQogICAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHRydWU7DQogICAgICAgICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKHJlcy5tc2cpOw0KICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gew0KICAgICAgICAgICAgdGhpcy4kcm91dGVyLnB1c2goew0KICAgICAgICAgICAgICBwYXRoOiB0aGlzLiRyb3V0ZVByb1N0ciArICcvbWFya2V0aW5nL2NoYW5uZWxfY29kZS9jaGFubmVsQ29kZUluZGV4JywNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgIH0sIDEwMDApOw0KICAgICAgICB9KQ0KICAgICAgICAuY2F0Y2goKGVycikgPT4gew0KICAgICAgICAgIHRoaXMuZGlzYWJsZWQgPSB0cnVlOw0KICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IoZXJyLm1zZyk7DQogICAgICAgIH0pOw0KICAgIH0sDQogIH0sDQp9Ow0K"},{"version":3,"sources":["createCode.vue"],"names":[],"mappings":";AAwKA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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":"createCode.vue","sourceRoot":"src/pages/marketing/channelCode","sourcesContent":["<template>\r\n <div>\r\n <pages-header\r\n ref=\"pageHeader\"\r\n :title=\"$route.meta.title\"\r\n :backUrl=\"$routeProStr + '/marketing/channel_code/channelCodeIndex'\"\r\n ></pages-header>\r\n <el-card :bordered=\"false\" shadow=\"never\" class=\"mt16\">\r\n <el-form :model=\"formData\" label-width=\"100px\" :rules=\"ruleValidate\">\r\n <el-form-item label=\"渠道码名称:\">\r\n <el-input\r\n clearable\r\n v-model=\"formData.name\"\r\n placeholder=\"请输入渠道码名称\"\r\n class=\"content_width\"\r\n maxlength=\"20\"\r\n show-word-limit\r\n ></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"渠道码分组:\">\r\n <el-select clearable v-model=\"formData.cate_id\" class=\"content_width\">\r\n <el-option\r\n :value=\"item.id\"\r\n v-for=\"(item, index) in labelSort\"\r\n :key=\"index\"\r\n :label=\"item.cate_name\"\r\n ></el-option>\r\n </el-select>\r\n </el-form-item>\r\n <el-form-item label=\"用户标签:\">\r\n <div style=\"display: flex\">\r\n <div class=\"labelInput acea-row row-between-wrapper\" v-db-click @click=\"openLabel\">\r\n <div style=\"width: 90%\">\r\n <div v-if=\"dataLabel.length\">\r\n <el-tag closable v-for=\"(item, index) in dataLabel\" @close=\"closeLabel(item)\" :key=\"index\">{{\r\n item.label_name\r\n }}</el-tag>\r\n </div>\r\n <span class=\"span\" v-else>选择用户关联标签</span>\r\n </div>\r\n <div class=\"ivu-icon ivu-icon-ios-arrow-down\"></div>\r\n </div>\r\n <span class=\"addfont\" v-db-click @click=\"addLabel\">新增标签</span>\r\n </div>\r\n </el-form-item>\r\n <el-form-item label=\"关联推广员:\">\r\n <div class=\"picBox\" v-db-click @click=\"customer\">\r\n <div class=\"pictrue\" v-if=\"formData.avatar\">\r\n <img v-lazy=\"formData.avatar\" />\r\n </div>\r\n <div class=\"upLoad acea-row row-center-wrapper\" v-else>\r\n <i class=\"el-icon-user\" style=\"font-size: 24px\"></i>\r\n </div>\r\n </div>\r\n <div class=\"trip\">扫码注册的新用户,将自动成为此推广员的下级,与分销推广功能一致</div>\r\n </el-form-item>\r\n <el-form-item label=\"有效期:\">\r\n <el-radio-group v-model=\"isReceiveTime\">\r\n <el-radio :label=\"0\">永久</el-radio>\r\n <el-radio :label=\"1\">有效期</el-radio>\r\n </el-radio-group>\r\n <div v-show=\"isReceiveTime\">\r\n <el-input-number\r\n :controls=\"false\"\r\n :max=\"10000\"\r\n :precision=\"0\"\r\n v-model=\"formData.time\"\r\n placeholder=\"请输入天数\"\r\n class=\"content_width input-number-unit-class\"\r\n class-unit=\"天\"\r\n ></el-input-number>\r\n </div>\r\n <div class=\"trip\">临时码过期后不能再扫码,永久二维码最大创建数量为10万个</div>\r\n </el-form-item>\r\n <el-form-item label=\"回复内容:\">\r\n <el-radio-group v-model=\"formData.type\">\r\n <el-radio label=\"text\">文字内容</el-radio>\r\n <el-radio label=\"voice\">声音消息</el-radio>\r\n <el-radio label=\"image\">图片消息</el-radio>\r\n <el-radio label=\"news\">图文消息</el-radio>\r\n </el-radio-group>\r\n </el-form-item>\r\n <el-form-item label=\"消息内容:\" prop=\"content\" v-if=\"formData.type === 'text' || formData.type === 'url'\">\r\n <el-input\r\n type=\"textarea\"\r\n rows=\"2\"\r\n clearable\r\n v-model=\"formData.content.content\"\r\n :placeholder=\"formData.type === 'text' ? '请填写消息内容' : '请填写网址链接'\"\r\n class=\"content_width\"\r\n ></el-input>\r\n </el-form-item>\r\n <el-form-item label=\"选取图文:\" v-if=\"formData.type === 'news'\">\r\n <el-button v-db-click @click=\"modals = true\">选择图文消息</el-button>\r\n <div class=\"news-box\" v-if=\"formData.content.list.title\">\r\n <img class=\"news_pic\" :src=\"formData.content.list.image_input[0]\" />\r\n <span>{{ formData.content.list.title }}</span>\r\n <i class=\"el-icon-error del_icon\" v-db-click @click=\"delContent\"></i>\r\n </div>\r\n </el-form-item>\r\n <el-form-item\r\n :label=\"formData.type === 'image' ? '图片地址:' : '语音地址:'\"\r\n prop=\"src\"\r\n v-if=\"formData.type === 'image' || formData.type === 'voice'\"\r\n >\r\n <div class=\"acea-row row-middle\">\r\n <el-input\r\n readonly=\"readonly\"\r\n placeholder=\"请填入链接地址\"\r\n class=\"content_width mr15\"\r\n v-model=\"formData.content.src\"\r\n />\r\n <el-upload\r\n :show-file-list=\"false\"\r\n :action=\"fileUrl\"\r\n :on-success=\"handleSuccess\"\r\n :format=\"formData.type === 'image' ? formatImg : formatVoice\"\r\n :max-size=\"2048\"\r\n :headers=\"header\"\r\n :on-format-error=\"handleFormatError\"\r\n :on-exceeded-size=\"handleMaxSize\"\r\n class=\"mr20\"\r\n style=\"margin-top: 1px\"\r\n accept=\"image/*,.mp3\"\r\n :before-upload=\"beforeUpload\"\r\n >\r\n <el-button type=\"primary\">上传</el-button>\r\n </el-upload>\r\n </div>\r\n <span v-show=\"formData.type === 'image'\">文件最大2Mb,支持bmp/png/jpeg/jpg/gif格式</span>\r\n <span v-show=\"formData.type === 'voice'\">文件最大2Mb,支持mp3格式,播放长度不超过60s</span>\r\n </el-form-item>\r\n <el-form-item>\r\n <el-button class=\"submit\" type=\"primary\" v-db-click @click=\"save\" :loading=\"loading\" :disabled=\"disabled\"\r\n >立即提交</el-button\r\n >\r\n </el-form-item>\r\n </el-form>\r\n </el-card>\r\n <el-dialog :visible.sync=\"customerShow\" title=\"请选择商城用户\" :show-close=\"true\" width=\"1000px\">\r\n <customerInfo v-if=\"customerShow\" @imageObject=\"imageObject\"></customerInfo>\r\n </el-dialog>\r\n <!--图文消息 -->\r\n <el-dialog :visible.sync=\"modals\" title=\"发送消息\" width=\"1200px\" class=\"modelBox\">\r\n <news-category\r\n v-if=\"modals\"\r\n @getCentList=\"getCentList\"\r\n :scrollerHeight=\"scrollerHeight\"\r\n :contentTop=\"contentTop\"\r\n :contentWidth=\"contentWidth\"\r\n :maxCols=\"maxCols\"\r\n ></news-category>\r\n </el-dialog>\r\n <el-dialog\r\n :visible.sync=\"labelShow\"\r\n scrollable\r\n title=\"请选择用户标签\"\r\n :closable=\"false\"\r\n width=\"540px\"\r\n :footer-hide=\"true\"\r\n :mask-closable=\"false\"\r\n >\r\n <userLabel ref=\"userLabel\" @activeData=\"activeData\" @close=\"labelClose\"></userLabel>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { mapState } from 'vuex';\r\nimport userLabel from '@/components/labelList';\r\n\r\nimport goodsList from '@/components/goodsList/index';\r\nimport newsCategory from '@/components/newsCategory/index';\r\nimport { labelListApi } from '@/api/product';\r\nimport { userLabelAddApi } from '@/api/user';\r\nimport { wechatQrcodeSaveApi, wechatQrcodeTree, wechatQrcodeDetail } from '@/api/setting';\r\nimport Setting from '@/setting';\r\nimport { getCookies } from '@/libs/util';\r\nimport customerInfo from '@/components/customerInfo';\r\nimport { isPicUpload, isVoiceUpload } from '@/utils';\r\n\r\nexport default {\r\n name: 'createCode',\r\n components: {\r\n goodsList,\r\n newsCategory,\r\n customerInfo,\r\n userLabel,\r\n },\r\n data() {\r\n return {\r\n customerShow: false,\r\n labelShow: false,\r\n disabled: false,\r\n maxCols: 4,\r\n labelSelect: [],\r\n\r\n scrollerHeight: '600',\r\n contentTop: '10',\r\n contentWidth: '98%',\r\n formatImg: ['jpg', 'jpeg', 'png', 'bmp', 'gif'],\r\n formatVoice: ['mp3', 'wma', 'wav', 'amr'],\r\n header: {},\r\n fileUrl: Setting.apiBaseURL + '/file/upload/1',\r\n\r\n formData: {\r\n name: '',\r\n type: 'text',\r\n time: undefined,\r\n label_id: [],\r\n image: '',\r\n cate_id: '',\r\n content: {\r\n content: '',\r\n src: '',\r\n list: {},\r\n },\r\n },\r\n labelSort: [],\r\n isReceiveTime: 0,\r\n modals: false,\r\n ruleValidate: {\r\n name: [\r\n {\r\n required: true,\r\n message: '请填写二维码名称',\r\n trigger: 'blur',\r\n },\r\n ],\r\n cate_id: [\r\n {\r\n required: true,\r\n message: '请选择二维码分组',\r\n trigger: 'change',\r\n },\r\n ],\r\n },\r\n id: 0,\r\n dataLabel: [],\r\n loading: false,\r\n };\r\n },\r\n computed: {\r\n ...mapState('media', ['isMobile']),\r\n },\r\n created() {\r\n this.getUserLabelAll();\r\n this.userLabel();\r\n this.getToken();\r\n if (this.$route.query.id) {\r\n this.id = this.$route.query.id;\r\n this.getDetail();\r\n }\r\n },\r\n methods: {\r\n beforeUpload(file) {\r\n if (this.formData.type === 'image') {\r\n return isPicUpload(file);\r\n }\r\n if (this.formData.type === 'voice') {\r\n return isVoiceUpload(file);\r\n }\r\n },\r\n activeData(dataLabel) {\r\n this.labelShow = false;\r\n this.dataLabel = dataLabel;\r\n },\r\n // 标签弹窗关闭\r\n labelClose() {\r\n this.labelShow = false;\r\n },\r\n openLabel(row) {\r\n this.labelShow = true;\r\n if (this.dataLabel.length) this.$refs.userLabel.userLabel(JSON.parse(JSON.stringify(this.dataLabel)));\r\n },\r\n closeLabel(label) {\r\n let index = this.dataLabel.indexOf(this.dataLabel.filter((d) => d.id == label.id)[0]);\r\n this.dataLabel.splice(index, 1);\r\n },\r\n getDetail() {\r\n wechatQrcodeDetail(this.id).then((res) => {\r\n this.formData = res.data;\r\n if (res.data.time > 0) {\r\n this.isReceiveTime = 1;\r\n }\r\n if (res.data.label_id.length) {\r\n this.dataLabel = res.data.label_id;\r\n }\r\n });\r\n },\r\n customer() {\r\n this.customerShow = true;\r\n },\r\n addLabel() {\r\n this.$modalForm(userLabelAddApi(0)).then(() => this.userLabel());\r\n },\r\n // 用户标签\r\n userLabel() {\r\n labelListApi()\r\n .then((res) => {\r\n this.labelSelect = res.data.list;\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n imageObject(e) {\r\n this.customerShow = false;\r\n this.formData.uid = e.uid;\r\n this.formData.avatar = e.image;\r\n },\r\n getCentList(val) {\r\n this.formData.content.list = val.new[0];\r\n this.modals = false;\r\n },\r\n delContent() {\r\n this.formData.content.list = {};\r\n },\r\n // 上传成功\r\n handleSuccess(res, file) {\r\n if (res.status === 200) {\r\n this.formData.content.src = res.data.src;\r\n this.$message.success(res.msg);\r\n } else {\r\n this.$message.error(res.msg);\r\n }\r\n },\r\n handleFormatError(file) {\r\n if (this.formData.type === 'image') {\r\n this.$message.warning('请上传bmp/png/jpeg/jpg/gif格式的图片');\r\n } else {\r\n this.$message.warning('请上传mp3/wma/wav/amr格式的语音');\r\n }\r\n },\r\n handleMaxSize(file) {\r\n this.$message.warning('请上传文件2M以内的文件');\r\n },\r\n // 上传头部token\r\n getToken() {\r\n this.header['Authori-zation'] = 'Bearer ' + getCookies('token');\r\n },\r\n selectMenu(name) {\r\n this.formData.type = name;\r\n },\r\n // 获取分类\r\n getUserLabelAll() {\r\n wechatQrcodeTree().then((res) => {\r\n let data = res.data.data;\r\n this.labelSort = data;\r\n });\r\n },\r\n // 创建\r\n save() {\r\n if (!this.formData.name) {\r\n return this.$message.error('请输入二维码名称');\r\n }\r\n if (!this.formData.cate_id) {\r\n return this.$message.error('请选择分组');\r\n }\r\n if (!this.dataLabel.length) {\r\n return this.$message.error('请选择用户标签');\r\n } else {\r\n let ids = [];\r\n this.dataLabel.map((i) => {\r\n ids.push(i.id);\r\n });\r\n this.formData.label_id = ids;\r\n }\r\n if (!this.formData.uid) {\r\n return this.$message.error('请选择推广员');\r\n }\r\n if (this.isReceiveTime) {\r\n if (this.formData.time < 1) {\r\n return this.$message.error('使用有效期限不能小于1天');\r\n }\r\n } else {\r\n this.formData.time = 0;\r\n }\r\n if (this.formData.type === 'text' || this.formData.type === 'url') {\r\n if (!this.formData.content.content.trim()) {\r\n return this.$message.error('请输入内容');\r\n }\r\n }\r\n if (this.formData.type === 'voice' || this.formData.type === 'image') {\r\n if (!this.formData.content.src.trim()) {\r\n return this.$message.error('请先上传消息');\r\n }\r\n }\r\n if (this.formData.type === 'news') {\r\n if (!this.formData.content.list.title.trim()) {\r\n return this.$message.error('请选择图文消息');\r\n }\r\n }\r\n this.disabled = false;\r\n this.loading = true;\r\n wechatQrcodeSaveApi(this.id, this.formData)\r\n .then((res) => {\r\n this.disabled = true;\r\n this.$message.success(res.msg);\r\n setTimeout(() => {\r\n this.$router.push({\r\n path: this.$routeProStr + '/marketing/channel_code/channelCodeIndex',\r\n });\r\n }, 1000);\r\n })\r\n .catch((err) => {\r\n this.disabled = true;\r\n this.$message.error(err.msg);\r\n });\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.content_width {\r\n width: 460px;\r\n}\r\n.info {\r\n color: #888;\r\n font-size: 12px;\r\n}\r\n.ivu-row {\r\n border: 1px solid #f2f2f2;\r\n}\r\n.ivu-form-item {\r\n padding: 10px 0;\r\n max-width: 1100px;\r\n}\r\n.ivu-form ::v-deep .ivu-form-item-label {\r\n font-weight: 700;\r\n font-size: 14px !important;\r\n}\r\n.ivu-input-wrapper {\r\n width: 320px;\r\n}\r\n.ivu-radio-wrapper {\r\n margin-right: 30px;\r\n font-size: 14px !important;\r\n}\r\n.ivu-radio-wrapper ::v-deep .ivu-radio {\r\n margin-right: 10px;\r\n}\r\n.ivu-input-number {\r\n width: 160px;\r\n}\r\n.ivu-date-picker {\r\n width: 320px;\r\n}\r\n.ivu-icon-ios-camera-outline {\r\n width: 58px;\r\n height: 58px;\r\n border: 1px dotted rgba(0, 0, 0, 0.1);\r\n border-radius: 4px;\r\n background-color: rgba(0, 0, 0, 0.02);\r\n line-height: 58px;\r\n cursor: pointer;\r\n vertical-align: middle;\r\n}\r\n.upload-list {\r\n width: 58px;\r\n height: 58px;\r\n border: 1px dotted rgba(0, 0, 0, 0.1);\r\n border-radius: 4px;\r\n margin-right: 15px;\r\n display: inline-block;\r\n position: relative;\r\n cursor: pointer;\r\n vertical-align: middle;\r\n}\r\n::v-deep .el-tag {\r\n margin-right: 5px;\r\n}\r\n.upload-list img {\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n}\r\n.ivu-icon-ios-close-circle {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n transform: translate(50%, -50%);\r\n}\r\n.modelBox ::v-deep .ivu-modal-body {\r\n padding: 0 16px 16px 16px !important;\r\n}\r\n.header-save {\r\n display: flex;\r\n justify-content: space-between;\r\n}\r\n.trip {\r\n font-size: 12px;\r\n color: #ccc;\r\n}\r\n\r\ntextarea {\r\n padding: 0 5px;\r\n border-radius: 3px;\r\n border-color: #c5c8ce;\r\n outline-color: #2d8cf0;\r\n font-size: 14px;\r\n}\r\n.picBox {\r\n display: inline-block;\r\n cursor: pointer;\r\n .upLoad {\r\n width: 58px;\r\n height: 58px;\r\n line-height: 58px;\r\n border: 1px dotted rgba(0, 0, 0, 0.1);\r\n border-radius: 4px;\r\n background: rgba(0, 0, 0, 0.02);\r\n }\r\n .pictrue {\r\n width: 60px;\r\n height: 60px;\r\n border: 1px dotted rgba(0, 0, 0, 0.1);\r\n margin-right: 10px;\r\n\r\n img {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n }\r\n .iconfont {\r\n color: #898989;\r\n }\r\n}\r\n.addfont {\r\n display: inline-block;\r\n font-size: 12px;\r\n font-weight: 400;\r\n color: var(--prev-color-primary);\r\n margin-left: 14px;\r\n cursor: pointer;\r\n margin-left: 10px;\r\n}\r\n.iconxiayi {\r\n font-size: 14px;\r\n}\r\n.ivu-page-header-title {\r\n padding-bottom: 0;\r\n}\r\n.news-box {\r\n width: 200px;\r\n background-color: #f2f2f2;\r\n padding: 10px;\r\n border-radius: 10px;\r\n margin-top: 20px;\r\n position: relative;\r\n .news_pic {\r\n width: 100%;\r\n height: 150px;\r\n }\r\n .del_icon {\r\n position: absolute;\r\n right: -8px;\r\n top: -8px;\r\n cursor: pointer;\r\n }\r\n}\r\n.labelInput {\r\n border: 1px solid #dcdee2;\r\n width: 460px;\r\n padding: 0 15px;\r\n border-radius: 5px;\r\n min-height: 30px;\r\n cursor: pointer;\r\n .span {\r\n font-size: 12px;\r\n color: #c5c8ce;\r\n }\r\n .ivu-icon-ios-arrow-down {\r\n font-size: 14px;\r\n color: #808695;\r\n }\r\n}\r\n</style>\r\n"]}]}