417249d7107ff31dabc970c80119f11e.json 32 KB

1
  1. {"remainingRequest":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\front\\item\\zyAdmin\\src\\components\\mobileConfigRight\\c_promotion.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\front\\item\\zyAdmin\\src\\components\\mobileConfigRight\\c_promotion.vue","mtime":1761614938968},{"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:DQppbXBvcnQgdnVlZHJhZ2dhYmxlIGZyb20gJ3Z1ZWRyYWdnYWJsZSc7DQppbXBvcnQgc3RvcmVMYWJlbExpc3QgZnJvbSAnQC9jb21wb25lbnRzL3N0b3JlTGFiZWxMaXN0JzsNCmltcG9ydCBnb29kc0xpc3QgZnJvbSAnQC9jb21wb25lbnRzL2dvb2RzTGlzdCc7DQppbXBvcnQgdXBsb2FkUGljdHVyZXMgZnJvbSAnQC9jb21wb25lbnRzL3VwbG9hZFBpY3R1cmVzJzsNCmltcG9ydCB7IGNhc2NhZGVyTGlzdEFwaSB9IGZyb20gJ0AvYXBpL3Byb2R1Y3QnOw0KZXhwb3J0IGRlZmF1bHQgew0KICBuYW1lOiAnY19wcm9tb3Rpb24nLA0KICBwcm9wczogew0KICAgIGNvbmZpZ09iajogew0KICAgICAgdHlwZTogT2JqZWN0LA0KICAgIH0sDQogICAgY29uZmlnTm1lOiB7DQogICAgICB0eXBlOiBTdHJpbmcsDQogICAgfSwNCiAgICBpbmRleDogew0KICAgICAgdHlwZTogbnVsbCwNCiAgICB9LA0KICB9LA0KICBjb21wb25lbnRzOiB7DQogICAgZHJhZ2dhYmxlOiB2dWVkcmFnZ2FibGUsDQogICAgc3RvcmVMYWJlbExpc3QsDQogICAgZ29vZHNMaXN0LA0KICAgIHVwbG9hZFBpY3R1cmVzLA0KICB9LA0KICBkYXRhKCkgew0KICAgIHJldHVybiB7DQogICAgICBwcm9wczogeyBtdWx0aXBsZTogdHJ1ZSwgY2hlY2tTdHJpY3RseTogdHJ1ZSwgZW1pdFBhdGg6IGZhbHNlIH0sDQogICAgICBkZWZhdWx0czoge30sDQogICAgICBjb25maWdEYXRhOiB7fSwNCiAgICAgIGl0ZW1PYmo6IHt9LA0KICAgICAgc3RvcmVMYWJlbFNob3c6IGZhbHNlLA0KICAgICAgbW9kYWxzOiBmYWxzZSwNCiAgICAgIG1vZGFsUGljOiBmYWxzZSwNCiAgICAgIGlzQ2hvaWNlOiAn5Y2V6YCJJywNCiAgICAgIGdyaWRCdG46IHsNCiAgICAgICAgeGw6IDQsDQogICAgICAgIGxnOiA4LA0KICAgICAgICBtZDogOCwNCiAgICAgICAgc206IDgsDQogICAgICAgIHhzOiA4LA0KICAgICAgfSwNCiAgICAgIGdyaWRQaWM6IHsNCiAgICAgICAgeGw6IDYsDQogICAgICAgIGxnOiA4LA0KICAgICAgICBtZDogMTIsDQogICAgICAgIHNtOiAxMiwNCiAgICAgICAgeHM6IDEyLA0KICAgICAgfSwNCiAgICAgIHR5cGVMaXN0OiBbDQogICAgICAgIHsNCiAgICAgICAgICBhY3RpdmVWYWx1ZTogMSwNCiAgICAgICAgICB0aXRsZTogJ+aMh+WumuWVhuWTgScsDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICBhY3RpdmVWYWx1ZTogMywNCiAgICAgICAgICB0aXRsZTogJ+aMh+WumuWIhuexuycsDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICBhY3RpdmVWYWx1ZTogNCwNCiAgICAgICAgICB0aXRsZTogJ+WVhuWTgeagh+etvicsDQogICAgICAgIH0sDQogICAgICBdLA0KICAgICAgYnJhbmREYXRhOiBbXSwNCiAgICAgIHRyZWVTZWxlY3Q6IFtdLA0KICAgICAgdGFiSW5kZXg6IDEsDQogICAgICBzZWxlY3RJZHM6IFtdLA0KICAgIH07DQogIH0sDQogIG1vdW50ZWQoKSB7DQogICAgdGhpcy4kbmV4dFRpY2soKCkgPT4gew0KICAgICAgdGhpcy5kZWZhdWx0cyA9IHRoaXMuY29uZmlnT2JqOw0KICAgICAgdGhpcy5jb25maWdEYXRhID0gdGhpcy5jb25maWdPYmpbdGhpcy5jb25maWdObWVdOw0KICAgICAgdGhpcy5nb29kc0NhdGVnb3J5KCk7DQogICAgfSk7DQogIH0sDQogIHdhdGNoOiB7DQogICAgY29uZmlnT2JqOiB7DQogICAgICBoYW5kbGVyKG5WYWwsIG9WYWwpIHsNCiAgICAgICAgdGhpcy5kZWZhdWx0cyA9IG5WYWw7DQogICAgICAgIHRoaXMuY29uZmlnRGF0YSA9IG5WYWxbdGhpcy5jb25maWdObWVdOw0KICAgICAgICB0aGlzLnRhYkluZGV4ID0gblZhbC5zdHlsZUNvbmZpZy50YWJWYWw7DQogICAgICAgIC8vIHRoaXMuc2VsZWN0SWRzID0gblZhbFt0aGlzLmNvbmZpZ05tZV0uZ29vZHNMaXN0LmlkcyB8fCBbXTsNCiAgICAgIH0sDQogICAgICBkZWVwOiB0cnVlLA0KICAgIH0sDQogIH0sDQogIG1ldGhvZHM6IHsNCiAgICAvLyDngrnlh7vlm77mloflsIHpnaINCiAgICBtb2RhbFBpY1RhcCh0aXRsZSkgew0KICAgICAgdGhpcy5tb2RhbFBpYyA9IHRydWU7DQogICAgfSwNCiAgICBiaW5kUGljRGVsZXRlKCkgew0KICAgICAgdGhpcy5jb25maWdEYXRhLmxpc3RbdGhpcy5jb25maWdEYXRhLnRhYkN1cl0uaW1hZ2UgPSAnJzsNCiAgICB9LA0KICAgIC8vIOiOt+WPluWbvueJh+S/oeaBrw0KICAgIGdldFBpYyhwYykgew0KICAgICAgdGhpcy4kbmV4dFRpY2soKCkgPT4gew0KICAgICAgICB0aGlzLmNvbmZpZ0RhdGEubGlzdFt0aGlzLmNvbmZpZ0RhdGEudGFiQ3VyXS5pbWFnZSA9IHBjLmF0dF9kaXI7DQogICAgICAgIHRoaXMubW9kYWxQaWMgPSBmYWxzZTsNCiAgICAgIH0pOw0KICAgIH0sDQogICAgZ2V0QnJhbmRMaXN0KCkgew0KICAgICAgYnJhbmRMaXN0KCkNCiAgICAgICAgLnRoZW4oKHJlcykgPT4gew0KICAgICAgICAgIHRoaXMuYnJhbmREYXRhID0gcmVzLmRhdGE7DQogICAgICAgIH0pDQogICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7DQogICAgICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcihlcnIubXNnKTsNCiAgICAgICAgfSk7DQogICAgfSwNCiAgICBnb29kc0NhdGVnb3J5KCkgew0KICAgICAgY2FzY2FkZXJMaXN0QXBpKDEpDQogICAgICAgIC50aGVuKChyZXMpID0+IHsNCiAgICAgICAgICB0aGlzLnRyZWVTZWxlY3QgPSByZXMuZGF0YTsNCiAgICAgICAgfSkNCiAgICAgICAgLmNhdGNoKChyZXMpID0+IHsNCiAgICAgICAgICB0aGlzLiRtZXNzYWdlLmVycm9yKHJlcy5tc2cpOw0KICAgICAgICB9KTsNCiAgICB9LA0KICAgIG9wZW5Hb29kcygpIHsNCiAgICAgIHRoaXMubW9kYWxzID0gdHJ1ZTsNCiAgICB9LA0KICAgIC8v5a+56LGh5pWw57uE5Y676YeN77ybDQogICAgdW5pcXVlKGFycikgew0KICAgICAgY29uc3QgcmVzID0gbmV3IE1hcCgpOw0KICAgICAgcmV0dXJuIGFyci5maWx0ZXIoKGFycikgPT4gIXJlcy5oYXMoYXJyLmlkKSAmJiByZXMuc2V0KGFyci5pZCwgMSkpOw0KICAgIH0sDQogICAgZ2V0UHJvZHVjdElkKGRhdGEpIHsNCiAgICAgIHRoaXMubW9kYWxzID0gZmFsc2U7DQogICAgICBsZXQgbGlzdCA9IHRoaXMuY29uZmlnRGF0YS5saXN0W3RoaXMuY29uZmlnRGF0YS50YWJDdXJdLmdvb2RzTGlzdC5saXN0LmNvbmNhdChkYXRhKTsNCiAgICAgIHRoaXMuY29uZmlnRGF0YS5saXN0W3RoaXMuY29uZmlnRGF0YS50YWJDdXJdLmdvb2RzTGlzdC5saXN0ID0gdGhpcy51bmlxdWUobGlzdCk7DQogICAgfSwNCiAgICBjYW5jZWwoKSB7DQogICAgICB0aGlzLm1vZGFscyA9IGZhbHNlOw0KICAgIH0sDQogICAgYmluZEdvb2REZWxldGUoaW5kZXgpIHsNCiAgICAgIHRoaXMuY29uZmlnRGF0YS5saXN0W3RoaXMuY29uZmlnRGF0YS50YWJDdXJdLmdvb2RzTGlzdC5saXN0LnNwbGljZShpbmRleCwgMSk7DQogICAgfSwNCiAgICBvcGVuU3RvcmVMYWJlbChyb3csIGluZGV4KSB7DQogICAgICB0aGlzLnN0b3JlTGFiZWxTaG93ID0gdHJ1ZTsNCiAgICAgIHRoaXMuJG5leHRUaWNrKCgpID0+IHsNCiAgICAgICAgdGhpcy4kcmVmcy5zdG9yZUxhYmVsLnN0b3JlTGFiZWwoSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShyb3cpKSk7DQogICAgICB9KTsNCiAgICB9LA0KICAgIGNsb3NlU3RvcmVMYWJlbChsYWJlbCkgew0KICAgICAgbGV0IGxpc3QgPSB0aGlzLmNvbmZpZ0RhdGEubGlzdFt0aGlzLmNvbmZpZ0RhdGEudGFiQ3VyXS5nb29kc0xhYmVsLmxpc3Q7DQogICAgICBsZXQgaW5kZXggPSBsaXN0LmluZGV4T2YobGlzdC5maWx0ZXIoKGQpID0+IGQuaWQgPT0gbGFiZWwuaWQpWzBdKTsNCiAgICAgIGxpc3Quc3BsaWNlKGluZGV4LCAxKTsNCiAgICAgIHRoaXMuZ2V0TGFiZWxJZChsaXN0KTsNCiAgICB9LA0KICAgIGFjdGl2ZVN0b3JlRGF0YShzdG9yZURhdGFMYWJlbCkgew0KICAgICAgdGhpcy5zdG9yZUxhYmVsU2hvdyA9IGZhbHNlOw0KICAgICAgdGhpcy5jb25maWdEYXRhLmxpc3RbdGhpcy5jb25maWdEYXRhLnRhYkN1cl0uZ29vZHNMYWJlbC5saXN0ID0gc3RvcmVEYXRhTGFiZWw7DQogICAgICB0aGlzLmdldExhYmVsSWQoc3RvcmVEYXRhTGFiZWwpOw0KICAgIH0sDQogICAgZ2V0TGFiZWxJZChzdG9yZURhdGFMYWJlbCkgew0KICAgICAgbGV0IHN0b3JlQWN0aXZlSWRzID0gW107DQogICAgICBzdG9yZURhdGFMYWJlbC5mb3JFYWNoKChpdGVtKSA9PiB7DQogICAgICAgIHN0b3JlQWN0aXZlSWRzLnB1c2goaXRlbS5pZCk7DQogICAgICB9KTsNCiAgICAgIHRoaXMuY29uZmlnRGF0YS5saXN0W3RoaXMuY29uZmlnRGF0YS50YWJDdXJdLmdvb2RzTGFiZWwuYWN0aXZlVmFsdWUgPSBzdG9yZUFjdGl2ZUlkczsNCiAgICAgIHRoaXMuJGVtaXQoJ2dldENvbmZpZycsIHsgbmFtZTogJ2dvb2RzTGFiZWwnIH0pOw0KICAgIH0sDQogICAgLy8g5qCH562+5by556qX5YWz6ZetDQogICAgc3RvcmVMYWJlbENsb3NlKCkgew0KICAgICAgdGhpcy5zdG9yZUxhYmVsU2hvdyA9IGZhbHNlOw0KICAgIH0sDQogICAgYWRkSG90VHh0KCkgew0KICAgICAgaWYgKHRoaXMuY29uZmlnRGF0YS5saXN0Lmxlbmd0aCA9PSAwKSB7DQogICAgICAgIGxldCBzdG9yYWdlID0gd2luZG93LmxvY2FsU3RvcmFnZTsNCiAgICAgICAgdGhpcy5pdGVtT2JqID0gSlNPTi5wYXJzZShzdG9yYWdlLmdldEl0ZW0oJ2l0ZW1PYmonKSk7DQogICAgICAgIGlmICh0aGlzLml0ZW1PYmoubGluaykgew0KICAgICAgICAgIHRoaXMuaXRlbU9iai5saW5rLmFjdGl2ZVZhbCA9IDA7DQogICAgICAgIH0NCiAgICAgICAgdGhpcy5pdGVtT2JqLmNoaWlsZFswXS52YWwgPSAn6aaW5Y+R5paw5ZOBJzsNCiAgICAgICAgdGhpcy5pdGVtT2JqLmNoaWlsZFsxXS52YWwgPSAn5pyA5paw5Ye654KJJzsNCiAgICAgICAgdGhpcy5pdGVtT2JqLnRhYlZhbCA9IDA7DQogICAgICAgIHRoaXMuaXRlbU9iai5zZWxlY3RDb25maWcuYWN0aXZlVmFsdWUgPSBbXTsNCiAgICAgICAgdGhpcy5pdGVtT2JqLmdvb2RzTGFiZWwuYWN0aXZlVmFsdWUgPSBbXTsNCiAgICAgICAgdGhpcy5pdGVtT2JqLmdvb2RzTGFiZWwubGlzdCA9IFtdOw0KICAgICAgICB0aGlzLml0ZW1PYmouZ29vZHNTb3J0ID0gMDsNCiAgICAgICAgdGhpcy5pdGVtT2JqLm51bUNvbmZpZy52YWwgPSA2Ow0KICAgICAgICB0aGlzLml0ZW1PYmouZ29vZHNMaXN0Lmxpc3QgPSBbXTsNCiAgICAgICAgdGhpcy5pdGVtT2JqLnByb2R1Y3RMaXN0Lmxpc3QgPSBbXTsNCiAgICAgICAgdGhpcy5jb25maWdEYXRhLmxpc3QucHVzaCh0aGlzLml0ZW1PYmopOw0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgbGV0IG9iaiA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5jb25maWdEYXRhLmxpc3RbdGhpcy5jb25maWdEYXRhLmxpc3QubGVuZ3RoIC0gMV0pKTsNCiAgICAgICAgaWYgKG9iai5jaGlpbGRbMF0uZW1wdHkpIHsNCiAgICAgICAgICBvYmouY2hpaWxkWzBdLnZhbCA9ICcnOw0KICAgICAgICAgIG9iai5jaGlpbGRbMV0udmFsID0gJyc7DQogICAgICAgIH0NCiAgICAgICAgb2JqLnRhYlZhbCA9IDE7DQogICAgICAgIG9iai5zZWxlY3RDb25maWcuYWN0aXZlVmFsdWUgPSBbXTsNCiAgICAgICAgb2JqLmdvb2RzTGFiZWwuYWN0aXZlVmFsdWUgPSBbXTsNCiAgICAgICAgb2JqLmdvb2RzTGFiZWwubGlzdCA9IFtdOw0KICAgICAgICBvYmouZ29vZHNTb3J0ID0gMDsNCiAgICAgICAgb2JqLm51bUNvbmZpZy52YWwgPSA2Ow0KICAgICAgICBvYmouZ29vZHNMaXN0Lmxpc3QgPSBbXTsNCiAgICAgICAgb2JqLnByb2R1Y3RMaXN0Lmxpc3QgPSBbXTsNCiAgICAgICAgdGhpcy5jb25maWdEYXRhLmxpc3QucHVzaChvYmopOw0KICAgICAgfQ0KICAgIH0sDQogICAgLy8g5Yig6Zmk5pWw57uEDQogICAgYmluZERlbGV0ZShpbmRleCkgew0KICAgICAgaWYgKHRoaXMuY29uZmlnRGF0YS5saXN0Lmxlbmd0aCA9PSAxKSB7DQogICAgICAgIGxldCBpdGVtT2JqID0gdGhpcy5jb25maWdEYXRhLmxpc3RbMF07DQogICAgICAgIHRoaXMuaXRlbU9iaiA9IGl0ZW1PYmo7DQogICAgICAgIGxldCBzdG9yYWdlID0gd2luZG93LmxvY2FsU3RvcmFnZTsNCiAgICAgICAgc3RvcmFnZS5zZXRJdGVtKCdpdGVtT2JqJywgSlNPTi5zdHJpbmdpZnkoaXRlbU9iaikpOw0KICAgICAgfQ0KICAgICAgdGhpcy5jb25maWdEYXRhLmxpc3Quc3BsaWNlKGluZGV4LCAxKTsNCiAgICAgIHRoaXMuY29uZmlnRGF0YS50YWJDdXIgPSAwOw0KICAgICAgdGhpcy4kZW1pdCgnZ2V0Q29uZmlnJywgeyBuYW1lOiAnZGVsZXRlJywgaW5kZXhzOiAwIH0pOw0KICAgIH0sDQogICAgYWN0aXZlQnRuKGluZGV4KSB7DQogICAgICB0aGlzLmNvbmZpZ0RhdGEudGFiQ3VyID0gaW5kZXg7DQogICAgICAvLyB0aGlzLiRlbWl0KCdnZXRDb25maWcnLCB7IG5hbWU6ICdwcm9kdWN0JywgaW5kZXhzOiBpbmRleCB9KQ0KICAgIH0sDQogICAgcmFkaW9DaGFuZ2UoZSkgew0KICAgICAgdGhpcy4kZW1pdCgnZ2V0Q29uZmlnJywgeyBuYW1lOiAncHJvbW90aW9uJywgdmFsdWVzOiBlIH0pOw0KICAgIH0sDQogICAgLy8g5ZOB54mMDQogICAgYnJhbmRDaGFuZ2UoKSB7DQogICAgICB0aGlzLiRlbWl0KCdnZXRDb25maWcnLCB7IG5hbWU6ICdicmFuZHMnIH0pOw0KICAgIH0sDQogICAgLy/llYblk4HliIbnsbsNCiAgICBzbGlkZXJDaGFuZ2UoZSkgew0KICAgICAgdGhpcy5jb25maWdEYXRhLmxpc3RbdGhpcy5jb25maWdEYXRhLnRhYkN1cl0uc2VsZWN0Q29uZmlnLmFjdGl2ZVZhbHVlID0gZTsNCiAgICAgIHRoaXMuJGVtaXQoJ2dldENvbmZpZycsIHsgbmFtZTogJ2Nhc2NhZGVyJywgdmFsdWVzOiBlIH0pOw0KICAgIH0sDQogICAgdGFiQ2hhbmdlKGUpIHsNCiAgICAgIHRoaXMuJGVtaXQoJ2dldENvbmZpZycsIHsgbmFtZTogJ3NlbGVjdFR5cGUnLCB2YWx1ZXM6IGUgfSk7DQogICAgfSwNCiAgfSwNCn07DQo="},{"version":3,"sources":["c_promotion.vue"],"names":[],"mappings":";AAgNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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":"c_promotion.vue","sourceRoot":"src/components/mobileConfigRight","sourcesContent":["<template>\r\n <div class=\"c_product\" v-if=\"configData\">\r\n <div class=\"title\">{{ configData.title }}</div>\r\n <div class=\"list-box\">\r\n <draggable class=\"dragArea list-group\" :list=\"configData.list\" group=\"peoples\" handle=\".move-icon\">\r\n <div class=\"item\" v-for=\"(item, index) in configData.list\" :key=\"index\" @click=\"activeBtn(index)\">\r\n <!-- v-model=\"configData.tabCur\" -->\r\n <div class=\"acea-row\">\r\n <div class=\"move-icon\">\r\n <span class=\"iconfont-diy iconxingzhuangjiehe\"></span>\r\n </div>\r\n <div class=\"content\">\r\n <div class=\"con-item\" v-for=\"(list, key) in item.chiild\" :key=\"key\" v-if=\"key < (tabIndex == 0 ? 2 : 1)\">\r\n <span>{{ list.title }}</span>\r\n <div style=\"width: 100%\">\r\n <el-input v-model=\"list.val\" :placeholder=\"list.pla\" :maxlength=\"list.max\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"acea-row row-right\" v-if=\"configData.tabCur == index\">\r\n <div class=\"conter\">\r\n <div class=\"c_row-item\" v-if=\"tabIndex == 4\">\r\n <div class=\"c_label\">上传图片</div>\r\n <div class=\"color-box\">\r\n <div class=\"box\" @click=\"modalPicTap('单选')\">\r\n <div class=\"pictrue acea-row row-center-wrapper\" v-if=\"item.image\">\r\n <img :src=\"item.image\" alt=\"\" />\r\n <div class=\"iconfont icondel_1\" @click.stop=\"bindPicDelete\"></div>\r\n </div>\r\n <div class=\"upload-box\" v-else><i class=\"el-icon-plus\" /></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"c_row-item\">\r\n <el-col class=\"c_label\"> 选择方式 </el-col>\r\n <el-col class=\"color-box\">\r\n <el-select v-model=\"item.tabVal\" placeholder=\"请选择\" @change=\"tabChange\">\r\n <el-option\r\n v-for=\"(itemn, indexn) in typeList\"\r\n :value=\"itemn.activeValue\"\r\n :key=\"indexn\"\r\n :label=\"itemn.title\"\r\n ></el-option>\r\n </el-select>\r\n </el-col>\r\n </div>\r\n <div class=\"goods-box acea-row\" v-if=\"item.tabVal == 1\">\r\n <div class=\"title\">选择商品</div>\r\n <div class=\"list\">\r\n <draggable class=\"dragArea list-group\" :list=\"item.goodsList.list\" group=\"peoples\">\r\n <div\r\n class=\"items\"\r\n v-for=\"(goods, gIndex) in item.goodsList.list\"\r\n :key=\"gIndex\"\r\n v-if=\"item.goodsList.list.length\"\r\n >\r\n <img :src=\"goods.image\" alt=\"\" />\r\n <span class=\"iconfont-diy icondel_1\" @click.stop=\"bindGoodDelete(gIndex)\"></span>\r\n </div>\r\n <div class=\"add-item items\" @click=\"openGoods(index)\">\r\n <span class=\"iconfont-diy iconaddto\"></span>\r\n </div>\r\n </draggable>\r\n </div>\r\n </div>\r\n <div v-else>\r\n <div class=\"c_row-item\" v-if=\"item.tabVal == 2\">\r\n <el-col class=\"label\" :span=\"4\">品牌名称</el-col>\r\n <el-col :span=\"19\" class=\"slider-box\">\r\n <el-cascader\r\n @change=\"brandChange\"\r\n placeholder=\"请选择品牌\"\r\n size=\"mini\"\r\n v-model=\"item.brandConfig.brandVal\"\r\n :options=\"brandData\"\r\n :props=\"props\"\r\n filterable\r\n clearable\r\n >\r\n </el-cascader>\r\n </el-col>\r\n </div>\r\n <div class=\"c_row-item\" v-else-if=\"item.tabVal == 3\">\r\n <el-col class=\"label\" :span=\"4\">商品分类</el-col>\r\n <el-col :span=\"19\" class=\"slider-box\">\r\n <el-cascader\r\n @change=\"sliderChange\"\r\n placeholder=\"请选择分类\"\r\n size=\"mini\"\r\n v-model=\"item.selectConfig.activeValue\"\r\n :options=\"treeSelect\"\r\n :props=\"props\"\r\n filterable\r\n clearable\r\n >\r\n </el-cascader>\r\n </el-col>\r\n </div>\r\n <div class=\"c_row-item\" v-else>\r\n <el-col class=\"label\" :span=\"4\">商品标签</el-col>\r\n <el-col :span=\"19\" class=\"slider-box\">\r\n <div\r\n class=\"labelInput acea-row row-between-wrapper\"\r\n @click=\"openStoreLabel(item.goodsLabel.list, index)\"\r\n >\r\n <div style=\"width: 90%\">\r\n <div v-if=\"item.goodsLabel.list.length\">\r\n <el-tag\r\n v-for=\"(j, jindex) in item.goodsLabel.list\"\r\n :key=\"jindex\"\r\n @on-close=\"closeStoreLabel(j)\"\r\n >{{ j.label_name }}</el-tag\r\n >\r\n </div>\r\n <span class=\"span\" v-else>选择商品标签</span>\r\n </div>\r\n <div class=\"iconfont iconxiayi\"></div>\r\n </div>\r\n </el-col>\r\n </div>\r\n <div class=\"c_row-item\">\r\n <el-col class=\"label\" :span=\"4\">\r\n <span>商品数量</span>\r\n </el-col>\r\n <el-col :span=\"19\" class=\"slider-box on\">\r\n <!-- sliderChange -->\r\n <el-slider\r\n v-model=\"item.numConfig.val\"\r\n show-input\r\n @change=\"radioChange()\"\r\n :max=\"100\"\r\n :min=\"1\"\r\n :step=\"1\"\r\n ></el-slider>\r\n </el-col>\r\n </div>\r\n <div class=\"c_row-item\">\r\n <el-col class=\"c_label\"> 商品排序 </el-col>\r\n <el-col class=\"color-box\">\r\n <el-radio-group v-model=\"item.goodsSort\" @input=\"radioChange()\">\r\n <el-radio :label=\"0\">\r\n <span>综合</span>\r\n </el-radio>\r\n <el-radio :label=\"1\">\r\n <span>销量</span>\r\n </el-radio>\r\n <el-radio :label=\"2\">\r\n <span>价格</span>\r\n </el-radio>\r\n </el-radio-group>\r\n </el-col>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"delete\" @click.stop=\"bindDelete(index)\">\r\n <i class=\"el-icon-circle-close\" style=\"font-size: 20px\" />\r\n </div>\r\n </div>\r\n </draggable>\r\n </div>\r\n <div v-if=\"configData.list\">\r\n <div class=\"add-btn\" @click=\"addHotTxt\">\r\n <el-button style=\"width: 100%; height: 40px\">+ 添加</el-button>\r\n </div>\r\n </div>\r\n <!-- 商品标签 -->\r\n <el-dialog\r\n :visible.sync=\"storeLabelShow\"\r\n scrollable\r\n title=\"选择商品标签\"\r\n :closable=\"true\"\r\n width=\"540\"\r\n :footer-hide=\"true\"\r\n :mask-closable=\"false\"\r\n >\r\n <storeLabelList\r\n v-if=\"storeLabelShow\"\r\n ref=\"storeLabel\"\r\n @activeData=\"activeStoreData\"\r\n @close=\"storeLabelClose\"\r\n ></storeLabelList>\r\n </el-dialog>\r\n <el-dialog :visible.sync=\"modals\" title=\"商品列表\" class=\"paymentFooter\" width=\"900\">\r\n <goods-list\r\n ref=\"goodslist\"\r\n :ischeckbox=\"true\"\r\n :isdiy=\"true\"\r\n isType\r\n :selectIds=\"selectIds\"\r\n @getProductId=\"getProductId\"\r\n v-if=\"modals\"\r\n ></goods-list>\r\n </el-dialog>\r\n <el-dialog :visible.sync=\"modalPic\" width=\"960px\" :title=\"configData.header ? configData.header : '上传图片'\">\r\n <uploadPictures\r\n :isChoice=\"isChoice\"\r\n @getPic=\"getPic\"\r\n :gridBtn=\"gridBtn\"\r\n :gridPic=\"gridPic\"\r\n v-if=\"modalPic\"\r\n ></uploadPictures>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport vuedraggable from 'vuedraggable';\r\nimport storeLabelList from '@/components/storeLabelList';\r\nimport goodsList from '@/components/goodsList';\r\nimport uploadPictures from '@/components/uploadPictures';\r\nimport { cascaderListApi } from '@/api/product';\r\nexport default {\r\n name: 'c_promotion',\r\n props: {\r\n configObj: {\r\n type: Object,\r\n },\r\n configNme: {\r\n type: String,\r\n },\r\n index: {\r\n type: null,\r\n },\r\n },\r\n components: {\r\n draggable: vuedraggable,\r\n storeLabelList,\r\n goodsList,\r\n uploadPictures,\r\n },\r\n data() {\r\n return {\r\n props: { multiple: true, checkStrictly: true, emitPath: false },\r\n defaults: {},\r\n configData: {},\r\n itemObj: {},\r\n storeLabelShow: false,\r\n modals: false,\r\n modalPic: false,\r\n isChoice: '单选',\r\n gridBtn: {\r\n xl: 4,\r\n lg: 8,\r\n md: 8,\r\n sm: 8,\r\n xs: 8,\r\n },\r\n gridPic: {\r\n xl: 6,\r\n lg: 8,\r\n md: 12,\r\n sm: 12,\r\n xs: 12,\r\n },\r\n typeList: [\r\n {\r\n activeValue: 1,\r\n title: '指定商品',\r\n },\r\n {\r\n activeValue: 3,\r\n title: '指定分类',\r\n },\r\n {\r\n activeValue: 4,\r\n title: '商品标签',\r\n },\r\n ],\r\n brandData: [],\r\n treeSelect: [],\r\n tabIndex: 1,\r\n selectIds: [],\r\n };\r\n },\r\n mounted() {\r\n this.$nextTick(() => {\r\n this.defaults = this.configObj;\r\n this.configData = this.configObj[this.configNme];\r\n this.goodsCategory();\r\n });\r\n },\r\n watch: {\r\n configObj: {\r\n handler(nVal, oVal) {\r\n this.defaults = nVal;\r\n this.configData = nVal[this.configNme];\r\n this.tabIndex = nVal.styleConfig.tabVal;\r\n // this.selectIds = nVal[this.configNme].goodsList.ids || [];\r\n },\r\n deep: true,\r\n },\r\n },\r\n methods: {\r\n // 点击图文封面\r\n modalPicTap(title) {\r\n this.modalPic = true;\r\n },\r\n bindPicDelete() {\r\n this.configData.list[this.configData.tabCur].image = '';\r\n },\r\n // 获取图片信息\r\n getPic(pc) {\r\n this.$nextTick(() => {\r\n this.configData.list[this.configData.tabCur].image = pc.att_dir;\r\n this.modalPic = false;\r\n });\r\n },\r\n getBrandList() {\r\n brandList()\r\n .then((res) => {\r\n this.brandData = res.data;\r\n })\r\n .catch((err) => {\r\n this.$message.error(err.msg);\r\n });\r\n },\r\n goodsCategory() {\r\n cascaderListApi(1)\r\n .then((res) => {\r\n this.treeSelect = res.data;\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n openGoods() {\r\n this.modals = true;\r\n },\r\n //对象数组去重;\r\n unique(arr) {\r\n const res = new Map();\r\n return arr.filter((arr) => !res.has(arr.id) && res.set(arr.id, 1));\r\n },\r\n getProductId(data) {\r\n this.modals = false;\r\n let list = this.configData.list[this.configData.tabCur].goodsList.list.concat(data);\r\n this.configData.list[this.configData.tabCur].goodsList.list = this.unique(list);\r\n },\r\n cancel() {\r\n this.modals = false;\r\n },\r\n bindGoodDelete(index) {\r\n this.configData.list[this.configData.tabCur].goodsList.list.splice(index, 1);\r\n },\r\n openStoreLabel(row, index) {\r\n this.storeLabelShow = true;\r\n this.$nextTick(() => {\r\n this.$refs.storeLabel.storeLabel(JSON.parse(JSON.stringify(row)));\r\n });\r\n },\r\n closeStoreLabel(label) {\r\n let list = this.configData.list[this.configData.tabCur].goodsLabel.list;\r\n let index = list.indexOf(list.filter((d) => d.id == label.id)[0]);\r\n list.splice(index, 1);\r\n this.getLabelId(list);\r\n },\r\n activeStoreData(storeDataLabel) {\r\n this.storeLabelShow = false;\r\n this.configData.list[this.configData.tabCur].goodsLabel.list = storeDataLabel;\r\n this.getLabelId(storeDataLabel);\r\n },\r\n getLabelId(storeDataLabel) {\r\n let storeActiveIds = [];\r\n storeDataLabel.forEach((item) => {\r\n storeActiveIds.push(item.id);\r\n });\r\n this.configData.list[this.configData.tabCur].goodsLabel.activeValue = storeActiveIds;\r\n this.$emit('getConfig', { name: 'goodsLabel' });\r\n },\r\n // 标签弹窗关闭\r\n storeLabelClose() {\r\n this.storeLabelShow = false;\r\n },\r\n addHotTxt() {\r\n if (this.configData.list.length == 0) {\r\n let storage = window.localStorage;\r\n this.itemObj = JSON.parse(storage.getItem('itemObj'));\r\n if (this.itemObj.link) {\r\n this.itemObj.link.activeVal = 0;\r\n }\r\n this.itemObj.chiild[0].val = '首发新品';\r\n this.itemObj.chiild[1].val = '最新出炉';\r\n this.itemObj.tabVal = 0;\r\n this.itemObj.selectConfig.activeValue = [];\r\n this.itemObj.goodsLabel.activeValue = [];\r\n this.itemObj.goodsLabel.list = [];\r\n this.itemObj.goodsSort = 0;\r\n this.itemObj.numConfig.val = 6;\r\n this.itemObj.goodsList.list = [];\r\n this.itemObj.productList.list = [];\r\n this.configData.list.push(this.itemObj);\r\n } else {\r\n let obj = JSON.parse(JSON.stringify(this.configData.list[this.configData.list.length - 1]));\r\n if (obj.chiild[0].empty) {\r\n obj.chiild[0].val = '';\r\n obj.chiild[1].val = '';\r\n }\r\n obj.tabVal = 1;\r\n obj.selectConfig.activeValue = [];\r\n obj.goodsLabel.activeValue = [];\r\n obj.goodsLabel.list = [];\r\n obj.goodsSort = 0;\r\n obj.numConfig.val = 6;\r\n obj.goodsList.list = [];\r\n obj.productList.list = [];\r\n this.configData.list.push(obj);\r\n }\r\n },\r\n // 删除数组\r\n bindDelete(index) {\r\n if (this.configData.list.length == 1) {\r\n let itemObj = this.configData.list[0];\r\n this.itemObj = itemObj;\r\n let storage = window.localStorage;\r\n storage.setItem('itemObj', JSON.stringify(itemObj));\r\n }\r\n this.configData.list.splice(index, 1);\r\n this.configData.tabCur = 0;\r\n this.$emit('getConfig', { name: 'delete', indexs: 0 });\r\n },\r\n activeBtn(index) {\r\n this.configData.tabCur = index;\r\n // this.$emit('getConfig', { name: 'product', indexs: index })\r\n },\r\n radioChange(e) {\r\n this.$emit('getConfig', { name: 'promotion', values: e });\r\n },\r\n // 品牌\r\n brandChange() {\r\n this.$emit('getConfig', { name: 'brands' });\r\n },\r\n //商品分类\r\n sliderChange(e) {\r\n this.configData.list[this.configData.tabCur].selectConfig.activeValue = e;\r\n this.$emit('getConfig', { name: 'cascader', values: e });\r\n },\r\n tabChange(e) {\r\n this.$emit('getConfig', { name: 'selectType', values: e });\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n::v-deep .el-cascader {\r\n width: 100%;\r\n}\r\n\r\n::v-deep .el-cascader__search-input {\r\n margin-left: 8px;\r\n}\r\n\r\n::v-deep .ivu-radio-wrapper {\r\n margin-right: 25px;\r\n}\r\n\r\n.box {\r\n width: 64px;\r\n height: 64px;\r\n position: relative;\r\n border-radius: 3px;\r\n\r\n .pictrue {\r\n background: url(../../assets/images/transparents.jpg) no-repeat;\r\n background-size: 100% 100%;\r\n position: relative;\r\n width: 100%;\r\n height: 100%;\r\n\r\n .iconfont {\r\n position: absolute;\r\n right: -12px;\r\n top: -19px;\r\n font-size: 24px;\r\n color: #cccccc;\r\n }\r\n }\r\n\r\n .upload-box {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 64px;\r\n height: 64px;\r\n border-radius: 3px;\r\n border: 1px solid #eeeeee;\r\n\r\n .ivu-icon {\r\n color: #ccc;\r\n }\r\n }\r\n\r\n img {\r\n width: 100%;\r\n height: 100%;\r\n border-radius: 3px;\r\n }\r\n}\r\n\r\n.goods-box {\r\n .title {\r\n color: #999999;\r\n font-size: 12px;\r\n width: 67px;\r\n margin-top: 23px;\r\n }\r\n\r\n .list {\r\n width: 236px;\r\n }\r\n\r\n .list-group {\r\n display: flex;\r\n flex-wrap: wrap;\r\n }\r\n\r\n .add-item {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n margin-bottom: 10px;\r\n\r\n .iconfont-diy {\r\n font-size: 25px;\r\n color: #d8d8d8;\r\n }\r\n }\r\n\r\n .items {\r\n position: relative;\r\n width: 64px;\r\n height: 64px;\r\n margin-bottom: 16px;\r\n margin-right: 12px;\r\n border: 1px solid #eee;\r\n border-radius: 3px;\r\n\r\n img {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n .icondel_1 {\r\n position: absolute;\r\n right: -10px;\r\n top: -16px;\r\n color: #cccccc;\r\n font-size: 22px;\r\n cursor: pointer;\r\n }\r\n }\r\n}\r\n\r\n.ivu-input-number {\r\n width: 100%;\r\n}\r\n\r\n.labelInput {\r\n border: 1px solid #dcdee2;\r\n width: 100%;\r\n padding: 0 8px;\r\n border-radius: 5px;\r\n min-height: 30px;\r\n background-color: #fff;\r\n cursor: pointer;\r\n\r\n .span {\r\n color: #c7c7c7;\r\n font-size: 12px;\r\n }\r\n\r\n .iconxiayi {\r\n font-size: 12px;\r\n }\r\n}\r\n\r\n.conter {\r\n width: 335px;\r\n background: #f9f9f9;\r\n padding: 20px 15px 4px 15px;\r\n margin-top: 20px;\r\n}\r\n\r\n.txt_tab {\r\n margin-top: 20px;\r\n}\r\n\r\n.c_row-item {\r\n margin-bottom: 20px;\r\n\r\n .slider-box {\r\n padding-left: 3px;\r\n\r\n &.on {\r\n padding-left: 10px;\r\n }\r\n }\r\n\r\n .label {\r\n color: #999999;\r\n font-size: 12px;\r\n }\r\n\r\n .c_label {\r\n color: #999999;\r\n font-size: 12px;\r\n }\r\n\r\n .color-box {\r\n // width: 243px;\r\n }\r\n}\r\n\r\n.row-item {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n}\r\n\r\n.iconfont {\r\n font-size: 18px;\r\n}\r\n\r\n::v-deep .ivu-input {\r\n font-size: 12px !important;\r\n}\r\n\r\n.c_product {\r\n margin-bottom: 20px;\r\n padding: 0 15px;\r\n\r\n .list-box {\r\n .item {\r\n position: relative;\r\n margin-top: 20px;\r\n padding: 20px 15px 20px 0;\r\n border: 1px solid rgba(238, 238, 238, 1);\r\n border-radius: 3px;\r\n\r\n .delete {\r\n position: absolute;\r\n right: -10px;\r\n top: -10px;\r\n color: #ccc;\r\n cursor: pointer;\r\n }\r\n }\r\n\r\n .move-icon {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 40px;\r\n cursor: move;\r\n\r\n .iconxingzhuangjiehe {\r\n color: #ddd;\r\n }\r\n }\r\n\r\n .content {\r\n flex: 1;\r\n\r\n .con-item {\r\n display: flex;\r\n align-items: center;\r\n margin-bottom: 15px;\r\n\r\n &:last-child {\r\n margin-bottom: 0;\r\n }\r\n\r\n span {\r\n width: 45px;\r\n font-size: 12px;\r\n color: #999;\r\n }\r\n }\r\n }\r\n }\r\n\r\n .add-btn {\r\n margin-top: 18px;\r\n }\r\n}\r\n\r\n.title {\r\n font-size: 12px;\r\n color: #bbbbbb;\r\n}\r\n\r\n.icondrag2 {\r\n color: #dddddd;\r\n font-size: 38px;\r\n}\r\n</style>\r\n"]}]}