9753324e9f856c8fbd4a0cd56875ddc5.json 52 KB

1
  1. {"remainingRequest":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\front\\item\\zyAdmin\\src\\pages\\product\\productList\\taoBao.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\front\\item\\zyAdmin\\src\\pages\\product\\productList\\taoBao.vue","mtime":1761614939051},{"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:DQppbXBvcnQgeyBjcmF3bEZyb21BcGksIGNhc2NhZGVyTGlzdEFwaSwgY3Jhd2xTYXZlQXBpLCBwcm9kdWN0R2V0VGVtcGxhdGVBcGksIGNvcHlDb25maWdBcGkgfSBmcm9tICdAL2FwaS9wcm9kdWN0JzsNCmltcG9ydCB1cGxvYWRQaWN0dXJlcyBmcm9tICdAL2NvbXBvbmVudHMvdXBsb2FkUGljdHVyZXMnOw0KaW1wb3J0IFdhbmdFZGl0b3IgZnJvbSAnQC9jb21wb25lbnRzL3dhbmdFZGl0b3IvaW5kZXgudnVlJzsNCg0KZXhwb3J0IGRlZmF1bHQgew0KICBuYW1lOiAndGFvQmFvJywNCiAgZGF0YSgpIHsNCiAgICByZXR1cm4gew0KICAgICAgLy8g5om56YeP6K6+572u6KGo5qC8ZGF0YQ0KICAgICAgb25lRm9ybUJhdGNoOiBbDQogICAgICAgIHsNCiAgICAgICAgICBwaWM6ICcnLA0KICAgICAgICAgIHByaWNlOiAwLA0KICAgICAgICAgIGNvc3Q6IDAsDQogICAgICAgICAgb3RfcHJpY2U6IDAsDQogICAgICAgICAgc3RvY2s6IDAsDQogICAgICAgICAgYmFyX2NvZGU6ICcnLA0KICAgICAgICAgIHdlaWdodDogMCwNCiAgICAgICAgICB2b2x1bWU6IDAsDQogICAgICAgIH0sDQogICAgICBdLA0KICAgICAgY29sdW1uc0JhdGNoOiBbDQogICAgICAgIHsNCiAgICAgICAgICB0aXRsZTogJ+WbvueJhycsDQogICAgICAgICAgc2xvdDogJ3BpYycsDQogICAgICAgICAgYWxpZ246ICdjZW50ZXInLA0KICAgICAgICAgIG1pbldpZHRoOiA4MCwNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIHRpdGxlOiAn5ZSu5Lu3JywNCiAgICAgICAgICBzbG90OiAncHJpY2UnLA0KICAgICAgICAgIGFsaWduOiAnY2VudGVyJywNCiAgICAgICAgICBtaW5XaWR0aDogOTUsDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICB0aXRsZTogJ+aIkOacrOS7tycsDQogICAgICAgICAgc2xvdDogJ2Nvc3QnLA0KICAgICAgICAgIGFsaWduOiAnY2VudGVyJywNCiAgICAgICAgICBtaW5XaWR0aDogOTUsDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICB0aXRsZTogJ+WOn+S7tycsDQogICAgICAgICAgc2xvdDogJ290X3ByaWNlJywNCiAgICAgICAgICBhbGlnbjogJ2NlbnRlcicsDQogICAgICAgICAgbWluV2lkdGg6IDk1LA0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgdGl0bGU6ICflupPlrZgnLA0KICAgICAgICAgIHNsb3Q6ICdzdG9jaycsDQogICAgICAgICAgYWxpZ246ICdjZW50ZXInLA0KICAgICAgICAgIG1pbldpZHRoOiA5NSwNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIHRpdGxlOiAn5ZWG5ZOB57yW56CBJywNCiAgICAgICAgICBzbG90OiAnYmFyX2NvZGUnLA0KICAgICAgICAgIGFsaWduOiAnY2VudGVyJywNCiAgICAgICAgICBtaW5XaWR0aDogMTIwLA0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgdGl0bGU6ICfph43ph4/vvIhLR++8iScsDQogICAgICAgICAgc2xvdDogJ3dlaWdodCcsDQogICAgICAgICAgYWxpZ246ICdjZW50ZXInLA0KICAgICAgICAgIG1pbldpZHRoOiA5NSwNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIHRpdGxlOiAn5L2T56evKG3CsyknLA0KICAgICAgICAgIHNsb3Q6ICd2b2x1bWUnLA0KICAgICAgICAgIGFsaWduOiAnY2VudGVyJywNCiAgICAgICAgICBtaW5XaWR0aDogOTUsDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICB0aXRsZTogJ+aTjeS9nCcsDQogICAgICAgICAgc2xvdDogJ2FjdGlvbicsDQogICAgICAgICAgYWxpZ246ICdjZW50ZXInLA0KICAgICAgICAgIG1pbldpZHRoOiAxNDAsDQogICAgICAgIH0sDQogICAgICBdLA0KICAgICAgbW9kYWxfbG9hZGluZzogZmFsc2UsDQogICAgICBpbWFnZXM6ICcnLA0KICAgICAgc291cmVfbGluazogJycsDQogICAgICBtb2RhbFBpYzogZmFsc2UsDQogICAgICBpc0Nob2ljZTogJycsDQogICAgICBzcGluU2hvdzogZmFsc2UsDQogICAgICBncmlkUGljOiB7DQogICAgICAgIHhsOiA2LA0KICAgICAgICBsZzogOCwNCiAgICAgICAgbWQ6IDEyLA0KICAgICAgICBzbTogMTIsDQogICAgICAgIHhzOiAxMiwNCiAgICAgIH0sDQogICAgICBncmlkQnRuOiB7DQogICAgICAgIHhsOiA0LA0KICAgICAgICBsZzogOCwNCiAgICAgICAgbWQ6IDgsDQogICAgICAgIHNtOiA4LA0KICAgICAgICB4czogOCwNCiAgICAgIH0sDQogICAgICBjb2x1bW5zOiBbXSwNCiAgICAgIHRyZWVTZWxlY3Q6IFtdLA0KICAgICAgcnVsZUlubGluZTogew0KICAgICAgICBjYXRlX2lkOiBbDQogICAgICAgICAgew0KICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgICBtZXNzYWdlOiAn6K+36YCJ5oup5ZWG5ZOB5YiG57G7JywNCiAgICAgICAgICAgIHRyaWdnZXI6ICdjaGFuZ2UnLA0KICAgICAgICAgICAgdHlwZTogJ2FycmF5JywNCiAgICAgICAgICAgIG1pbjogJzEnLA0KICAgICAgICAgIH0sDQogICAgICAgIF0sDQogICAgICAgIHRlbXBfaWQ6IFsNCiAgICAgICAgICB7DQogICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwNCiAgICAgICAgICAgIG1lc3NhZ2U6ICfor7fpgInmi6nov5DotLnmqKHmnb8nLA0KICAgICAgICAgICAgdHJpZ2dlcjogJ2NoYW5nZScsDQogICAgICAgICAgICB0eXBlOiAnbnVtYmVyJywNCiAgICAgICAgICB9LA0KICAgICAgICBdLA0KICAgICAgfSwNCiAgICAgIGdyaWQ6IHsNCiAgICAgICAgeGw6IDgsDQogICAgICAgIGxnOiA4LA0KICAgICAgICBtZDogMTIsDQogICAgICAgIHNtOiAyNCwNCiAgICAgICAgeHM6IDI0LA0KICAgICAgfSwNCiAgICAgIGdyaWQyOiB7DQogICAgICAgIHhsOiAxMiwNCiAgICAgICAgbGc6IDEyLA0KICAgICAgICBtZDogMTIsDQogICAgICAgIHNtOiAyNCwNCiAgICAgICAgeHM6IDI0LA0KICAgICAgfSwNCiAgICAgIGZvcm1WYWxpZGF0ZTogew0KICAgICAgICBzdG9yZV9uYW1lOiAnJywNCiAgICAgICAgY2F0ZV9pZDogW10sDQogICAgICAgIHRlbXBfaWQ6ICcnLA0KICAgICAgICBrZXl3b3JkOiAnJywNCiAgICAgICAgdW5pdF9uYW1lOiAnJywNCiAgICAgICAgc3RvcmVfaW5mbzogJycsDQogICAgICAgIGltYWdlOiAnJywNCiAgICAgICAgc2xpZGVyX2ltYWdlOiBbXSwNCiAgICAgICAgZGVzY3JpcHRpb246ICcnLA0KICAgICAgICBmaWN0aTogMCwNCiAgICAgICAgZ2l2ZV9pbnRlZ3JhbDogMCwNCiAgICAgICAgaXNfc2hvdzogMCwNCiAgICAgICAgcHJpY2U6IDAsDQogICAgICAgIGNvc3Q6IDAsDQogICAgICAgIG90X3ByaWNlOiAwLA0KICAgICAgICBzdG9jazogMCwNCiAgICAgICAgc291cmVfbGluazogJycsDQogICAgICAgIGRlc2NyaXB0aW9uX2ltYWdlczogJycsDQogICAgICAgIHBvc3RhZ2U6IDAsDQogICAgICAgIGF0dHJzOiBbXSwNCiAgICAgICAgaXRlbXM6IFtdLA0KICAgICAgfSwNCiAgICAgIGl0ZW1zOiBbDQogICAgICAgIHsNCiAgICAgICAgICBwaWM6ICcnLA0KICAgICAgICAgIHByaWNlOiAwLA0KICAgICAgICAgIGNvc3Q6IDAsDQogICAgICAgICAgb3RfcHJpY2U6IDAsDQogICAgICAgICAgc3RvY2s6IDAsDQogICAgICAgICAgYmFyX2NvZGU6ICcnLA0KICAgICAgICAgIHdlaWdodDogMCwNCiAgICAgICAgICB2b2x1bWU6IDAsDQogICAgICAgIH0sDQogICAgICBdLA0KICAgICAgdGVtcGxhdGVMaXN0OiBbXSwNCiAgICAgIGNvcHlDb25maWc6IHsNCiAgICAgICAgY29weV90eXBlOiAyLA0KICAgICAgICBjb3B5X251bTogMCwNCiAgICAgIH0sDQogICAgICBpc0RhdGE6IGZhbHNlLA0KICAgICAgYXJ0RnJvbTogew0KICAgICAgICB0eXBlOiAndGFvYmFvJywNCiAgICAgICAgdXJsOiAnJywNCiAgICAgIH0sDQogICAgICB0YWJsZUluZGV4OiAwLA0KICAgICAgY29udGVudDogJycsDQogICAgfTsNCiAgfSwNCiAgY29tcG9uZW50czogeyBXYW5nRWRpdG9yLCB1cGxvYWRQaWN0dXJlcyB9LA0KICBjb21wdXRlZDoge30sDQoNCiAgY3JlYXRlZCgpIHsNCiAgICB0aGlzLmdvb2RzQ2F0ZWdvcnkoKTsNCiAgfSwNCiAgbW91bnRlZCgpIHsNCiAgICB0aGlzLnByb2R1Y3RHZXRUZW1wbGF0ZSgpOw0KICAgIHRoaXMuZ2V0Q29weUNvbmZpZygpOw0KICB9LA0KICBtZXRob2RzOiB7DQogICAgbWVhbFBheSh2YWwpIHsNCiAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHsNCiAgICAgICAgcGF0aDogdGhpcy4kcm91dGVQcm9TdHIgKyAnL3NldHRpbmcvc21zL3Ntc19wYXkvaW5kZXgnLA0KICAgICAgICBxdWVyeTogeyB0eXBlOiB2YWwgfSwNCiAgICAgIH0pOw0KICAgIH0sDQogICAgYmF0Y2hEZWwoKSB7DQogICAgICB0aGlzLm9uZUZvcm1CYXRjaCA9IFsNCiAgICAgICAgew0KICAgICAgICAgIHBpYzogJycsDQogICAgICAgICAgcHJpY2U6IDAsDQogICAgICAgICAgY29zdDogMCwNCiAgICAgICAgICBvdF9wcmljZTogMCwNCiAgICAgICAgICBzdG9jazogMCwNCiAgICAgICAgICBiYXJfY29kZTogJycsDQogICAgICAgICAgd2VpZ2h0OiAwLA0KICAgICAgICAgIHZvbHVtZTogMCwNCiAgICAgICAgfSwNCiAgICAgIF07DQogICAgfSwNCiAgICBiYXRjaEFkZCgpIHsNCiAgICAgIGxldCBmb3JtQmF0Y2ggPSB0aGlzLm9uZUZvcm1CYXRjaFswXTsNCiAgICAgIHRoaXMuJHNldCgNCiAgICAgICAgdGhpcy5mb3JtVmFsaWRhdGUsDQogICAgICAgICdhdHRycycsDQogICAgICAgIHRoaXMuZm9ybVZhbGlkYXRlLmF0dHJzLm1hcCgoaXRlbSkgPT4gew0KICAgICAgICAgIGlmIChmb3JtQmF0Y2gucGljKSB7DQogICAgICAgICAgICBpdGVtLnBpYyA9IGZvcm1CYXRjaC5waWM7DQogICAgICAgICAgfQ0KICAgICAgICAgIGlmIChmb3JtQmF0Y2gucHJpY2UgPiAwKSB7DQogICAgICAgICAgICBpdGVtLnByaWNlID0gZm9ybUJhdGNoLnByaWNlOw0KICAgICAgICAgIH0NCiAgICAgICAgICBpZiAoZm9ybUJhdGNoLmNvc3QgPiAwKSB7DQogICAgICAgICAgICBpdGVtLmNvc3QgPSBmb3JtQmF0Y2guY29zdDsNCiAgICAgICAgICB9DQogICAgICAgICAgaWYgKGZvcm1CYXRjaC5vdF9wcmljZSA+IDApIHsNCiAgICAgICAgICAgIGl0ZW0ub3RfcHJpY2UgPSBmb3JtQmF0Y2gub3RfcHJpY2U7DQogICAgICAgICAgfQ0KICAgICAgICAgIGlmIChmb3JtQmF0Y2guc3RvY2sgPiAwKSB7DQogICAgICAgICAgICBpdGVtLnN0b2NrID0gZm9ybUJhdGNoLnN0b2NrOw0KICAgICAgICAgIH0NCiAgICAgICAgICBpZiAoZm9ybUJhdGNoLmJhcl9jb2RlKSB7DQogICAgICAgICAgICBpdGVtLmJhcl9jb2RlID0gZm9ybUJhdGNoLmJhcl9jb2RlOw0KICAgICAgICAgIH0NCiAgICAgICAgICBpZiAoZm9ybUJhdGNoLndlaWdodCkgew0KICAgICAgICAgICAgaXRlbS53ZWlnaHQgPSBmb3JtQmF0Y2gud2VpZ2h0Ow0KICAgICAgICAgIH0NCiAgICAgICAgICBpZiAoZm9ybUJhdGNoLnZvbHVtZSkgew0KICAgICAgICAgICAgaXRlbS53ZWlnaHQgPSBmb3JtQmF0Y2gudm9sdW1lOw0KICAgICAgICAgIH0NCiAgICAgICAgICByZXR1cm4gaXRlbTsNCiAgICAgICAgfSksDQogICAgICApOw0KICAgIH0sDQogICAgZ2V0RWRpdG9yQ29udGVudChkYXRhKSB7DQogICAgICB0aGlzLmNvbnRlbnQgPSBkYXRhOw0KICAgIH0sDQogICAgLy8g5Yig6Zmk6KGo5qC85Lit55qE5bGe5oCnDQogICAgZGVsQXR0clRhYmxlKGluZGV4KSB7DQogICAgICB0aGlzLml0ZW1zLnNwbGljZShpbmRleCwgMSk7DQogICAgfSwNCiAgICAvLyDojrflj5bov5DotLnmqKHmnb/vvJsNCiAgICBwcm9kdWN0R2V0VGVtcGxhdGUoKSB7DQogICAgICBwcm9kdWN0R2V0VGVtcGxhdGVBcGkoKS50aGVuKChyZXMpID0+IHsNCiAgICAgICAgdGhpcy50ZW1wbGF0ZUxpc3QgPSByZXMuZGF0YTsNCiAgICAgIH0pOw0KICAgIH0sDQogICAgZ2V0Q29weUNvbmZpZygpIHsNCiAgICAgIGNvcHlDb25maWdBcGkoKS50aGVuKChyZXMpID0+IHsNCiAgICAgICAgdGhpcy5jb3B5Q29uZmlnLmNvcHlfdHlwZSA9IHJlcy5kYXRhLmNvcHlfdHlwZTsNCiAgICAgICAgdGhpcy5jb3B5Q29uZmlnLmNvcHlfbnVtID0gcmVzLmRhdGEuY29weV9udW07DQogICAgICB9KTsNCiAgICB9LA0KICAgIC8vIOWIoOmZpOWbvueJhw0KICAgIGhhbmRsZVJlbW92ZShpKSB7DQogICAgICB0aGlzLmZvcm1WYWxpZGF0ZS5zbGlkZXJfaW1hZ2Uuc3BsaWNlKGksIDEpOw0KICAgIH0sDQogICAgLy8g6YCJ5oup5Li75Zu+DQogICAgY2hlY2tlZChpdGVtLCBpbmRleCkgew0KICAgICAgdGhpcy5mb3JtVmFsaWRhdGUuaW1hZ2UgPSBpdGVtOw0KICAgIH0sDQogICAgLy8g5ZWG5ZOB5YiG57G777ybDQogICAgZ29vZHNDYXRlZ29yeSgpIHsNCiAgICAgIGNhc2NhZGVyTGlzdEFwaSgxKQ0KICAgICAgICAudGhlbigocmVzKSA9PiB7DQogICAgICAgICAgdGhpcy50cmVlU2VsZWN0ID0gcmVzLmRhdGE7DQogICAgICAgIH0pDQogICAgICAgIC5jYXRjaCgocmVzKSA9PiB7DQogICAgICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcihyZXMubXNnKTsNCiAgICAgICAgfSk7DQogICAgfSwNCiAgICAvLyDnlJ/miJDooajljZUNCiAgICBhZGQoKSB7DQogICAgICBpZiAodGhpcy5zb3VyZV9saW5rKSB7DQogICAgICAgIHZhciByZWcgPSAvKGh0dHB8ZnRwfGh0dHBzKTpcL1wvW1x3XC1fXSsoXC5bXHdcLV9dKykrKFtcd1wtXC4sQD9ePSUmOi9+XCsjXSpbXHdcLVxAP149JSYvflwrI10pPy87DQogICAgICAgIGlmICghcmVnLnRlc3QodGhpcy5zb3VyZV9saW5rKSkgew0KICAgICAgICAgIHJldHVybiB0aGlzLiRtZXNzYWdlLndhcm5pbmcoJ+ivt+i+k+WFpeS7pWh0dHDlvIDlpLTnmoTlnLDlnYDvvIEnKTsNCiAgICAgICAgfQ0KICAgICAgICB0aGlzLnNwaW5TaG93ID0gdHJ1ZTsNCiAgICAgICAgdGhpcy5hcnRGcm9tLnVybCA9IHRoaXMuc291cmVfbGluazsNCiAgICAgICAgY3Jhd2xGcm9tQXBpKHRoaXMuYXJ0RnJvbSkNCiAgICAgICAgICAudGhlbigocmVzKSA9PiB7DQogICAgICAgICAgICBsZXQgaW5mbyA9IHJlcy5kYXRhLmluZm87DQogICAgICAgICAgICB0aGlzLmNvbHVtbnMgPSBpbmZvLmluZm8uaGVhZGVyOw0KICAgICAgICAgICAgdGhpcy5mb3JtVmFsaWRhdGUgPSBpbmZvOw0KICAgICAgICAgICAgdGhpcy5mb3JtVmFsaWRhdGUuc291cmVfbGluayA9IHRoaXMuc291cmVfbGluazsNCiAgICAgICAgICAgIHRoaXMuZm9ybVZhbGlkYXRlLmF0dHJzID0gaW5mby5pbmZvLnZhbHVlOw0KICAgICAgICAgICAgaWYgKHRoaXMuZm9ybVZhbGlkYXRlLmltYWdlKSB7DQogICAgICAgICAgICAgIHRoaXMub25lRm9ybUJhdGNoWzBdLnBpYyA9IHRoaXMuZm9ybVZhbGlkYXRlLmltYWdlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuZm9ybVZhbGlkYXRlLmF0dHJzOw0KICAgICAgICAgICAgdGhpcy5pc0RhdGEgPSB0cnVlOw0KICAgICAgICAgICAgdGhpcy5zcGluU2hvdyA9IGZhbHNlOw0KICAgICAgICAgIH0pDQogICAgICAgICAgLmNhdGNoKChyZXMpID0+IHsNCiAgICAgICAgICAgIHRoaXMuc3BpblNob3cgPSBmYWxzZTsNCiAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IocmVzLm1zZyk7DQogICAgICAgICAgfSk7DQogICAgICB9IGVsc2Ugew0KICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoJ+ivt+i+k+WFpemTvuaOpeWcsOWdgO+8gScpOw0KICAgICAgfQ0KICAgIH0sDQogICAgLy8g5o+Q5LqkDQogICAgaGFuZGxlU3VibWl0KG5hbWUpIHsNCiAgICAgIHRoaXMuZm9ybVZhbGlkYXRlLmRlc2NyaXB0aW9uID0gdGhpcy5jb250ZW50Ow0KICAgICAgdGhpcy4kcmVmc1tuYW1lXS52YWxpZGF0ZSgodmFsaWQpID0+IHsNCiAgICAgICAgaWYgKHZhbGlkKSB7DQogICAgICAgICAgdGhpcy5tb2RhbF9sb2FkaW5nID0gdHJ1ZTsNCiAgICAgICAgICAvLyB0aGlzLmZvcm1WYWxpZGF0ZS5hdHRycyA9IFsNCiAgICAgICAgICAvLyAgICAgew0KICAgICAgICAgIC8vICAgICAgICAgcGljOiB0aGlzLmltYWdlcywNCiAgICAgICAgICAvLyAgICAgICAgIHByaWNlOiB0aGlzLmZvcm1WYWxpZGF0ZS5wcmljZSwNCiAgICAgICAgICAvLyAgICAgICAgIGNvc3Q6IHRoaXMuZm9ybVZhbGlkYXRlLmNvc3QsDQogICAgICAgICAgLy8gICAgICAgICBvdF9wcmljZTogdGhpcy5mb3JtVmFsaWRhdGUub3RfcHJpY2UsDQogICAgICAgICAgLy8gICAgICAgICBzdG9jazogdGhpcy5mb3JtVmFsaWRhdGUuc3RvY2ssDQogICAgICAgICAgLy8gICAgICAgICBiYXJfY29kZTogdGhpcy5mb3JtVmFsaWRhdGUuYmFyX2NvZGUsDQogICAgICAgICAgLy8gICAgICAgICB3ZWlnaHQ6IHRoaXMuZm9ybVZhbGlkYXRlLndlaWdodCwNCiAgICAgICAgICAvLyAgICAgICAgIHZvbHVtZTogdGhpcy5mb3JtVmFsaWRhdGUudm9sdW1lDQogICAgICAgICAgLy8gICAgIH0NCiAgICAgICAgICAvLyBdOw0KICAgICAgICAgIC8vIHRoaXMuZm9ybVZhbGlkYXRlLml0ZW1zID0gW107DQogICAgICAgICAgY3Jhd2xTYXZlQXBpKHRoaXMuZm9ybVZhbGlkYXRlKQ0KICAgICAgICAgICAgLnRoZW4oKHJlcykgPT4gew0KICAgICAgICAgICAgICB0aGlzLiRtZXNzYWdlLnN1Y2Nlc3MoJ+WVhuWTgem7mOiupOS4uuS4jeS4iuaetueKtuaAgeivt+aJi+WKqOS4iuaetuWVhuWTgSEnKTsNCiAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7DQogICAgICAgICAgICAgICAgdGhpcy5tb2RhbF9sb2FkaW5nID0gZmFsc2U7DQogICAgICAgICAgICAgIH0sIDUwMCk7DQogICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gew0KICAgICAgICAgICAgICAgIHRoaXMuJGVtaXQoJ29uLWNsb3NlJyk7DQogICAgICAgICAgICAgIH0sIDYwMCk7DQogICAgICAgICAgICB9KQ0KICAgICAgICAgICAgLmNhdGNoKChyZXMpID0+IHsNCiAgICAgICAgICAgICAgdGhpcy5tb2RhbF9sb2FkaW5nID0gZmFsc2U7DQogICAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IocmVzLm1zZyk7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICBpZiAoIXRoaXMuZm9ybVZhbGlkYXRlLmNhdGVfaWQpIHsNCiAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZygn6K+35aGr5YaZ5ZWG5ZOB5YiG57G777yBJyk7DQogICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICB9KTsNCiAgICB9LA0KICAgIC8vIOeCueWHu+WVhuWTgeWbvg0KICAgIG1vZGFsUGljVGFwKHRpdCwgaW5kZXgpIHsNCiAgICAgIHRoaXMubW9kYWxQaWMgPSB0cnVlOw0KICAgICAgdGhpcy5pc0Nob2ljZSA9IHRpdCA9PT0gJ2RhbicgPyAn5Y2V6YCJJyA6ICflpJrpgIknOw0KICAgICAgdGhpcy50YWJsZUluZGV4ID0gaW5kZXg7DQogICAgfSwNCiAgICAvLyDojrflj5bljZXlvKDlm77niYfkv6Hmga8NCiAgICBnZXRQaWMocGMpIHsNCiAgICAgIGlmICh0aGlzLnRhYmxlSW5kZXggPT09ICdkdW9waScpIHsNCiAgICAgICAgdGhpcy5vbmVGb3JtQmF0Y2hbMF0ucGljID0gcGMuYXR0X2RpcjsNCiAgICAgIH0gZWxzZSB7DQogICAgICAgIHRoaXMuZm9ybVZhbGlkYXRlLmF0dHJzW3RoaXMudGFibGVJbmRleF0ucGljID0gcGMuYXR0X2RpcjsNCiAgICAgIH0NCiAgICAgIHRoaXMubW9kYWxQaWMgPSBmYWxzZTsNCiAgICB9LA0KICAgIGhhbmRsZURyYWdTdGFydChlLCBpdGVtKSB7DQogICAgICB0aGlzLmRyYWdnaW5nID0gaXRlbTsNCiAgICB9LA0KICAgIGhhbmRsZURyYWdFbmQoZSwgaXRlbSkgew0KICAgICAgdGhpcy5kcmFnZ2luZyA9IG51bGw7DQogICAgfSwNCiAgICAvLyDpppblhYjmiopkaXblj5jmiJDlj6/ku6XmlL7nva7nmoTlhYPntKDvvIzljbPph43lhplkcmFnZW50ZXIvZHJhZ292ZXINCiAgICBoYW5kbGVEcmFnT3ZlcihlKSB7DQogICAgICAvLyBlLmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0PSJtb3ZlIjsvL+WcqGRyYWdlbnRlcuS4remSiOWvueaUvue9ruebruagh+adpeiuvue9riENCiAgICAgIGUuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgPSAnbW92ZSc7DQogICAgfSwNCiAgICBoYW5kbGVEcmFnRW50ZXIoZSwgaXRlbSkgew0KICAgICAgLy8g5Li66ZyA6KaB56e75Yqo55qE5YWD57Sg6K6+572uZHJhZ3N0YXJ05LqL5Lu2DQogICAgICBlLmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkID0gJ21vdmUnOw0KICAgICAgaWYgKGl0ZW0gPT09IHRoaXMuZHJhZ2dpbmcpIHsNCiAgICAgICAgcmV0dXJuOw0KICAgICAgfQ0KICAgICAgY29uc3QgbmV3SXRlbXMgPSBbLi4udGhpcy5mb3JtVmFsaWRhdGUuc2xpZGVyX2ltYWdlXTsNCiAgICAgIGNvbnN0IHNyYyA9IG5ld0l0ZW1zLmluZGV4T2YodGhpcy5kcmFnZ2luZyk7DQogICAgICBjb25zdCBkc3QgPSBuZXdJdGVtcy5pbmRleE9mKGl0ZW0pOw0KICAgICAgbmV3SXRlbXMuc3BsaWNlKGRzdCwgMCwgLi4ubmV3SXRlbXMuc3BsaWNlKHNyYywgMSkpOw0KICAgICAgdGhpcy5mb3JtVmFsaWRhdGUuc2xpZGVyX2ltYWdlID0gbmV3SXRlbXM7DQogICAgfSwNCiAgICAvLyDmt7vliqDoh6rlrprkuYnlvLnnqpcNCiAgICBhZGRDdXN0b21EaWFsb2coZWRpdG9ySWQpIHsNCiAgICAgIHdpbmRvdy5VRS5yZWdpc3RlclVJKA0KICAgICAgICAndGVzdC1kaWFsb2cnLA0KICAgICAgICBmdW5jdGlvbiAoZWRpdG9yLCB1aU5hbWUpIHsNCiAgICAgICAgICAvLyDliJvlu7ogZGlhbG9nDQogICAgICAgICAgbGV0IGRpYWxvZyA9IG5ldyB3aW5kb3cuVUUudWkuRGlhbG9nKHsNCiAgICAgICAgICAgIGlmcmFtZVVybDogdGhpcy4kcm91dGVQcm9TdHIgKyAnL3dpZGdldC5pbWFnZXMvaW5kZXguaHRtbD9mb2RkZXI9ZGlhbG9nJywNCiAgICAgICAgICAgIGVkaXRvcjogZWRpdG9yLA0KICAgICAgICAgICAgbmFtZTogdWlOYW1lLA0KICAgICAgICAgICAgdGl0bGU6ICfkuIrkvKDlm77niYcnLA0KICAgICAgICAgICAgY3NzUnVsZXM6ICd3aWR0aDo5NjBweDtoZWlnaHQ6NTUwcHg7cGFkZGluZzoyMHB4OycsDQogICAgICAgICAgfSk7DQogICAgICAgICAgdGhpcy5kaWFsb2cgPSBkaWFsb2c7DQogICAgICAgICAgbGV0IGJ0biA9IG5ldyB3aW5kb3cuVUUudWkuQnV0dG9uKHsNCiAgICAgICAgICAgIG5hbWU6ICdkaWFsb2ctYnV0dG9uJywNCiAgICAgICAgICAgIHRpdGxlOiAn5LiK5Lyg5Zu+54mHJywNCiAgICAgICAgICAgIGNzc1J1bGVzOiBgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uLy4uL2Fzc2V0cy9pbWFnZXMvaWNvbnMucG5nKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzI2cHggLTc3cHg7YCwNCiAgICAgICAgICAgIG9uY2xpY2s6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgLy8g5riy5p+TZGlhbG9nDQogICAgICAgICAgICAgIGRpYWxvZy5yZW5kZXIoKTsNCiAgICAgICAgICAgICAgZGlhbG9nLm9wZW4oKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgfSk7DQogICAgICAgICAgcmV0dXJuIGJ0bjsNCiAgICAgICAgfSwNCiAgICAgICAgMzcsDQogICAgICApOw0KICAgICAgLy8gd2luZG93LlVFLnJlZ2lzdGVyVUkoJ3Rlc3QtZGlhbG9nJywgZnVuY3Rpb24gKGVkaXRvciwgdWlOYW1lKSB7DQogICAgICAvLyAgICAgbGV0IGRpYWxvZyA9IG5ldyB3aW5kb3cuVUUudWkuRGlhbG9nKHsNCiAgICAgIC8vICAgICAgICAgaWZyYW1lVXJsOiAnL2FkbWluL3dpZGdldC5pbWFnZXMvaW5kZXguaHRtbD9mb2RkZXI9ZGlhbG9nJywNCiAgICAgIC8vICAgICAgICAgZWRpdG9yOiBlZGl0b3IsDQogICAgICAvLyAgICAgICAgIG5hbWU6IHVpTmFtZSwNCiAgICAgIC8vICAgICAgICAgdGl0bGU6ICfkuIrkvKDlm77niYcnLA0KICAgICAgLy8gICAgICAgICBjc3NSdWxlczogJ3dpZHRoOjk2MHB4O2hlaWdodDo1NTBweDtwYWRkaW5nOjIwcHg7Jw0KICAgICAgLy8gICAgIH0pDQogICAgICAvLyAgICAgdGhpcy5kaWFsb2cgPSBkaWFsb2cNCiAgICAgIC8vICAgICB2YXIgYnRuID0gbmV3IHdpbmRvdy5VRS51aS5CdXR0b24oew0KICAgICAgLy8gICAgICAgICBuYW1lOiAnZGlhbG9nLWJ1dHRvbicsDQogICAgICAvLyAgICAgICAgIHRpdGxlOiAn5LiK5Lyg5Zu+54mHJywNCiAgICAgIC8vICAgICAgICAgY3NzUnVsZXM6IGBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy9pY29ucy5wbmcpO2JhY2tncm91bmQtcG9zaXRpb246IC03MjZweCAtNzdweDtgLA0KICAgICAgLy8gICAgICAgICBvbmNsaWNrOiBmdW5jdGlvbiAoKSB7DQogICAgICAvLyAgICAgICAgICAgICBkaWFsb2cucmVuZGVyKCkNCiAgICAgIC8vICAgICAgICAgICAgIGRpYWxvZy5vcGVuKCkNCiAgICAgIC8vICAgICAgICAgfQ0KICAgICAgLy8gICAgIH0pDQogICAgICAvLyAgICAgcmV0dXJuIGJ0bg0KICAgICAgLy8gfSwgMzcpDQogICAgfSwNCiAgfSwNCn07DQo="},{"version":3,"sources":["taoBao.vue"],"names":[],"mappings":";AA+XA;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;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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":"taoBao.vue","sourceRoot":"src/pages/product/productList","sourcesContent":["<template>\r\n <div class=\"Box\" v-loading=\"spinShow\">\r\n <div>\r\n <div>\r\n 生成的商品默认是没有上架的,请手动上架商品!\r\n <a href=\"https://doc.crmeb.com/single/v5/7785\" v-if=\"copyConfig.copy_type == 2\" target=\"_blank\">如何配置密钥</a>\r\n <span v-else\r\n >您当前剩余{{ copyConfig.copy_num }}条采集次数,<a class=\"add\" v-db-click @click=\"mealPay('copy')\"\r\n >增加采集次数</a\r\n ></span\r\n >\r\n </div>\r\n <div>商品采集设置:设置 > 系统设置 > 第三方接口设置 > 采集商品配置</div>\r\n </div>\r\n <el-form\r\n class=\"formValidate mt20\"\r\n ref=\"formValidate\"\r\n :model=\"formValidate\"\r\n :rules=\"ruleInline\"\r\n label-width=\"120px\"\r\n label-position=\"right\"\r\n @submit.native.prevent\r\n >\r\n <el-row :gutter=\"24\">\r\n <!--<el-col :span=\"24\">-->\r\n <!--<el-form-item label=\"\" label-for=\"\">-->\r\n <!--<el-radio-group v-model=\"artFrom.type\">-->\r\n <!--<el-radio label=\"taobao\">淘宝</el-radio>-->\r\n <!--<el-radio label=\"tmall\">天猫</el-radio>-->\r\n <!--<el-radio label=\"jd\">京东</el-radio>-->\r\n <!--<el-radio label=\"pdd\">拼多多</el-radio>-->\r\n <!--<el-radio label=\"suning\">苏宁</el-radio>-->\r\n <!--<el-radio label=\"1688\">1688</el-radio>-->\r\n <!--</el-radio-group>-->\r\n <!--</el-form-item>-->\r\n <!--</el-col>-->\r\n <el-col span=\"15\">\r\n <el-form-item label=\"链接地址:\">\r\n <el-input\r\n search\r\n enter-button=\"确定\"\r\n v-model=\"soure_link\"\r\n placeholder=\"请输入链接地址\"\r\n class=\"numPut\"\r\n @on-search=\"add\"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <div>\r\n <div v-if=\"isData\">\r\n <el-col :span=\"24\" class=\"\">\r\n <el-form-item label=\"商品名称:\" prop=\"store_name\">\r\n <el-input v-model=\"formValidate.store_name\" placeholder=\"请输入商品名称\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"24\">\r\n <el-form-item label=\"商品简介:\" prop=\"store_info\" label-for=\"store_info\">\r\n <el-input v-model=\"formValidate.store_info\" type=\"textarea\" :rows=\"3\" placeholder=\"请输入商品简介\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"24\">\r\n <el-form-item label=\"商品分类:\" prop=\"cate_id\">\r\n <!-- <el-select v-model=\"formValidate.cate_id\" multiple>\r\n <el-option v-for=\"item in treeSelect\" :disabled=\"item.pid === 0\" :value=\"item.id\" :key=\"item.id\">{{\r\n item.html + item.cate_name\r\n }}</el-option>\r\n </el-select> -->\r\n <el-cascader\r\n v-model=\"formValidate.cate_id\"\r\n size=\"small\"\r\n :options=\"treeSelect\"\r\n :props=\"{ multiple: true, emitPath: false, checkStrictly: true }\"\r\n filterable\r\n clearable\r\n ></el-cascader>\r\n </el-form-item>\r\n </el-col>\r\n <el-col v-bind=\"grid\">\r\n <el-form-item label=\"商品关键字:\" prop=\"keyword\" label-for=\"keyword\">\r\n <el-input v-model=\"formValidate.keyword\" placeholder=\"请输入商品关键字\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col v-bind=\"grid\">\r\n <el-form-item label=\"单位:\" prop=\"unit_name\" label-for=\"unit_name\">\r\n <el-input v-model=\"formValidate.unit_name\" placeholder=\"请输入单位\" />\r\n </el-form-item>\r\n </el-col>\r\n <el-col v-bind=\"grid\">\r\n <el-form-item label=\"虚拟销量:\" label-for=\"ficti\">\r\n <el-input-number\r\n :controls=\"false\"\r\n class=\"perW100\"\r\n v-model=\"formValidate.ficti\"\r\n placeholder=\"请输入虚拟销量\"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col v-bind=\"grid\">\r\n <el-form-item label=\"积分:\" label-for=\"give_integral\">\r\n <el-input-number\r\n :controls=\"false\"\r\n class=\"perW100\"\r\n v-model=\"formValidate.give_integral\"\r\n placeholder=\"请输入积分\"\r\n />\r\n </el-form-item>\r\n </el-col>\r\n <el-col v-bind=\"grid\">\r\n <el-form-item label=\"运费模板:\" prop=\"temp_id\">\r\n <el-select v-model=\"formValidate.temp_id\" clearable>\r\n <el-option\r\n v-for=\"(item, index) in templateList\"\r\n :value=\"item.id\"\r\n :key=\"index\"\r\n :label=\"item.name\"\r\n ></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </el-col>\r\n <!--<el-col v-bind=\"grid\">-->\r\n <!--<el-form-item label=\"邮费:\" label-for=\"postage\">-->\r\n <!--<el-input-number controls-position=\"right\" v-model=\"formValidate.postage\" placeholder=\"请输入邮费\" />-->\r\n <!--</el-form-item>-->\r\n <!--</el-col>-->\r\n <el-col :span=\"24\">\r\n <el-form-item label=\"商品图:\">\r\n <div class=\"pictrueBox\">\r\n <div class=\"pictrue\" v-if=\"formValidate.image\" v-viewer>\r\n <img v-lazy=\"formValidate.image\" />\r\n </div>\r\n </div>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"24\">\r\n <el-form-item label=\"商品轮播图:\">\r\n <div class=\"acea-row\" v-viewer>\r\n <div\r\n class=\"lunBox mr15\"\r\n v-for=\"(item, index) in formValidate.slider_image\"\r\n :key=\"index\"\r\n draggable=\"true\"\r\n @dragstart=\"handleDragStart($event, item)\"\r\n @dragover.prevent=\"handleDragOver($event, item)\"\r\n @dragenter=\"handleDragEnter($event, item)\"\r\n @dragend=\"handleDragEnd($event, item)\"\r\n >\r\n <div class=\"pictrue\"><img v-lazy=\"item\" /></div>\r\n <ButtonGroup size=\"small\">\r\n <el-button v-db-click @click.native=\"checked(item, index)\">主图</el-button>\r\n <el-button v-db-click @click.native=\"handleRemove(index)\">移除</el-button>\r\n </ButtonGroup>\r\n </div>\r\n </div>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"24\">\r\n <el-form-item label=\"批量设置:\" class=\"labeltop\" v-if=\"formValidate.attrs\">\r\n <el-col :xl=\"23\" :lg=\"24\" :md=\"24\" :sm=\"24\" :xs=\"24\">\r\n <el-form-item>\r\n <el-table :data=\"oneFormBatch\" border>\r\n <el-table-column\r\n :label=\"item.title\"\r\n :min-width=\"item.minWidth\"\r\n v-for=\"(item, index) in columns\"\r\n :key=\"index\"\r\n >\r\n <template slot-scope=\"scope\">\r\n <template v-if=\"item.key\">\r\n <div>\r\n <span>{{ scope.row[item.key] }}</span>\r\n </div>\r\n </template>\r\n <template v-else-if=\"item.slot === 'pic'\">\r\n <div\r\n class=\"acea-row row-middle row-center-wrapper\"\r\n v-db-click\r\n @click=\"modalPicTap('dan', 'duopi', scope.$index)\"\r\n >\r\n <div class=\"pictrue pictrueTab\" v-if=\"oneFormBatch[0].pic\">\r\n <img v-lazy=\"oneFormBatch[0].pic\" />\r\n </div>\r\n <div class=\"upLoad pictrueTab acea-row row-center-wrapper\" v-else>\r\n <i class=\"el-icon-picture-outline\" style=\"font-size: 24px\"></i>\r\n </div>\r\n </div>\r\n </template>\r\n <template v-else-if=\"item.slot === 'price'\">\r\n <el-input-number\r\n :controls=\"false\"\r\n v-model=\"oneFormBatch[0].price\"\r\n :min=\"0\"\r\n class=\"priceBox\"\r\n ></el-input-number>\r\n </template>\r\n <template v-else-if=\"item.slot === 'cost'\">\r\n <el-input-number\r\n :controls=\"false\"\r\n v-model=\"oneFormBatch[0].cost\"\r\n class=\"priceBox\"\r\n ></el-input-number>\r\n </template>\r\n <template v-else-if=\"item.slot === 'ot_price'\">\r\n <el-input-number\r\n :controls=\"false\"\r\n v-model=\"oneFormBatch[0].ot_price\"\r\n class=\"priceBox\"\r\n ></el-input-number>\r\n </template>\r\n <template v-else-if=\"item.slot === 'stock'\">\r\n <el-input-number\r\n :controls=\"false\"\r\n v-model=\"oneFormBatch[0].stock\"\r\n class=\"priceBox\"\r\n ></el-input-number>\r\n </template>\r\n <template v-else-if=\"item.slot === 'bar_code'\">\r\n <el-input v-model=\"oneFormBatch[0].bar_code\"></el-input>\r\n </template>\r\n <template v-else-if=\"item.slot === 'weight'\">\r\n <el-input-number\r\n :controls=\"false\"\r\n v-model=\"oneFormBatch[0].weight\"\r\n :min=\"0\"\r\n class=\"priceBox\"\r\n ></el-input-number>\r\n </template>\r\n <template v-else-if=\"item.slot === 'volume'\">\r\n <el-input-number\r\n :controls=\"false\"\r\n v-model=\"oneFormBatch[0].volume\"\r\n :min=\"0\"\r\n class=\"priceBox\"\r\n ></el-input-number>\r\n </template>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"操作\" fixed=\"right\" width=\"170\">\r\n <template slot-scope=\"\">\r\n <a v-db-click @click=\"batchAdd\">添加</a>\r\n <el-divider direction=\"vertical\"></el-divider>\r\n <a v-db-click @click=\"batchDel\">清空</a>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </el-form-item>\r\n </el-col>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"24\">\r\n <el-form-item label=\"商品规格:\" props=\"spec_type\" label-for=\"spec_type\">\r\n <!-- 单规格表格-->\r\n <el-col :xl=\"23\" :lg=\"24\" :md=\"24\" :sm=\"24\" :xs=\"24\">\r\n <el-form-item>\r\n <el-table :data=\"items\" border>\r\n <el-table-column\r\n :label=\"item.title\"\r\n :min-width=\"item.minWidth\"\r\n v-for=\"(item, index) in columns\"\r\n :key=\"index\"\r\n >\r\n <template slot-scope=\"scope\">\r\n <template v-if=\"item.key\">\r\n <div>\r\n <span>{{ scope.row[item.key] }}</span>\r\n </div>\r\n </template>\r\n <template v-else-if=\"item.slot === 'pic'\">\r\n <div\r\n class=\"acea-row row-middle row-center-wrapper\"\r\n v-db-click\r\n @click=\"modalPicTap('dan', scope.$index)\"\r\n >\r\n <div class=\"pictrue pictrueTab\" v-if=\"formValidate.attrs[scope.$index].pic\">\r\n <img v-lazy=\"formValidate.attrs[scope.$index].pic\" />\r\n </div>\r\n <div class=\"upLoad upLoadTab acea-row row-center-wrapper\" v-else>\r\n <i class=\"el-icon-picture-outline\" style=\"font-size: 24px\"></i>\r\n </div>\r\n </div>\r\n </template>\r\n <template v-else-if=\"item.slot === 'price'\">\r\n <el-input-number\r\n :controls=\"false\"\r\n v-model=\"formValidate.attrs[scope.$index].price\"\r\n class=\"priceBox\"\r\n ></el-input-number>\r\n </template>\r\n <template v-else-if=\"item.slot === 'cost'\">\r\n <el-input-number\r\n :controls=\"false\"\r\n v-model=\"formValidate.attrs[scope.$index].cost\"\r\n class=\"priceBox\"\r\n ></el-input-number>\r\n </template>\r\n <template v-else-if=\"item.slot === 'ot_price'\">\r\n <el-input-number\r\n :controls=\"false\"\r\n v-model=\"formValidate.attrs[scope.$index].ot_price\"\r\n class=\"priceBox\"\r\n ></el-input-number>\r\n </template>\r\n <template v-else-if=\"item.slot === 'stock'\">\r\n <el-input-number\r\n :controls=\"false\"\r\n v-model=\"formValidate.attrs[scope.$index].stock\"\r\n class=\"priceBox\"\r\n ></el-input-number>\r\n </template>\r\n <template v-else-if=\"item.slot === 'bar_code'\">\r\n <el-input v-model=\"formValidate.attrs[scope.$index].bar_code\"></el-input>\r\n </template>\r\n <template v-else-if=\"item.slot === 'weight'\">\r\n <el-input-number\r\n :controls=\"false\"\r\n v-model=\"formValidate.attrs[scope.$index].weight\"\r\n :min=\"0\"\r\n class=\"priceBox\"\r\n ></el-input-number>\r\n </template>\r\n <template v-else-if=\"item.slot === 'volume'\">\r\n <el-input-number\r\n :controls=\"false\"\r\n v-model=\"formValidate.attrs[scope.$index].volume\"\r\n :min=\"0\"\r\n class=\"priceBox\"\r\n ></el-input-number>\r\n </template>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"操作\" fixed=\"right\" width=\"170\">\r\n <template slot-scope=\"scope\">\r\n <a v-db-click @click=\"delAttrTable(scope.$index)\">删除</a>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </el-form-item>\r\n </el-col>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"24\">\r\n <el-form-item label=\"商品详情:\">\r\n <WangEditor\r\n style=\"width: 100%\"\r\n :content=\"formValidate.description\"\r\n @editorContent=\"getEditorContent\"\r\n ></WangEditor>\r\n </el-form-item>\r\n </el-col>\r\n <el-col :span=\"24\">\r\n <el-form-item>\r\n <el-button\r\n type=\"primary\"\r\n :loading=\"modal_loading\"\r\n class=\"submission\"\r\n v-db-click\r\n @click=\"handleSubmit('formValidate')\"\r\n >提交</el-button\r\n >\r\n </el-form-item>\r\n </el-col>\r\n </div>\r\n </div>\r\n </el-row>\r\n </el-form>\r\n <el-dialog\r\n :visible.sync=\"modalPic\"\r\n width=\"950px\"\r\n title=\"上传商品图\"\r\n :mask-closable=\"false\"\r\n :close-on-click-modal=\"false\"\r\n >\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 { crawlFromApi, cascaderListApi, crawlSaveApi, productGetTemplateApi, copyConfigApi } from '@/api/product';\r\nimport uploadPictures from '@/components/uploadPictures';\r\nimport WangEditor from '@/components/wangEditor/index.vue';\r\n\r\nexport default {\r\n name: 'taoBao',\r\n data() {\r\n return {\r\n // 批量设置表格data\r\n oneFormBatch: [\r\n {\r\n pic: '',\r\n price: 0,\r\n cost: 0,\r\n ot_price: 0,\r\n stock: 0,\r\n bar_code: '',\r\n weight: 0,\r\n volume: 0,\r\n },\r\n ],\r\n columnsBatch: [\r\n {\r\n title: '图片',\r\n slot: 'pic',\r\n align: 'center',\r\n minWidth: 80,\r\n },\r\n {\r\n title: '售价',\r\n slot: 'price',\r\n align: 'center',\r\n minWidth: 95,\r\n },\r\n {\r\n title: '成本价',\r\n slot: 'cost',\r\n align: 'center',\r\n minWidth: 95,\r\n },\r\n {\r\n title: '原价',\r\n slot: 'ot_price',\r\n align: 'center',\r\n minWidth: 95,\r\n },\r\n {\r\n title: '库存',\r\n slot: 'stock',\r\n align: 'center',\r\n minWidth: 95,\r\n },\r\n {\r\n title: '商品编码',\r\n slot: 'bar_code',\r\n align: 'center',\r\n minWidth: 120,\r\n },\r\n {\r\n title: '重量(KG)',\r\n slot: 'weight',\r\n align: 'center',\r\n minWidth: 95,\r\n },\r\n {\r\n title: '体积(m³)',\r\n slot: 'volume',\r\n align: 'center',\r\n minWidth: 95,\r\n },\r\n {\r\n title: '操作',\r\n slot: 'action',\r\n align: 'center',\r\n minWidth: 140,\r\n },\r\n ],\r\n modal_loading: false,\r\n images: '',\r\n soure_link: '',\r\n modalPic: false,\r\n isChoice: '',\r\n spinShow: false,\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 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 columns: [],\r\n treeSelect: [],\r\n ruleInline: {\r\n cate_id: [\r\n {\r\n required: true,\r\n message: '请选择商品分类',\r\n trigger: 'change',\r\n type: 'array',\r\n min: '1',\r\n },\r\n ],\r\n temp_id: [\r\n {\r\n required: true,\r\n message: '请选择运费模板',\r\n trigger: 'change',\r\n type: 'number',\r\n },\r\n ],\r\n },\r\n grid: {\r\n xl: 8,\r\n lg: 8,\r\n md: 12,\r\n sm: 24,\r\n xs: 24,\r\n },\r\n grid2: {\r\n xl: 12,\r\n lg: 12,\r\n md: 12,\r\n sm: 24,\r\n xs: 24,\r\n },\r\n formValidate: {\r\n store_name: '',\r\n cate_id: [],\r\n temp_id: '',\r\n keyword: '',\r\n unit_name: '',\r\n store_info: '',\r\n image: '',\r\n slider_image: [],\r\n description: '',\r\n ficti: 0,\r\n give_integral: 0,\r\n is_show: 0,\r\n price: 0,\r\n cost: 0,\r\n ot_price: 0,\r\n stock: 0,\r\n soure_link: '',\r\n description_images: '',\r\n postage: 0,\r\n attrs: [],\r\n items: [],\r\n },\r\n items: [\r\n {\r\n pic: '',\r\n price: 0,\r\n cost: 0,\r\n ot_price: 0,\r\n stock: 0,\r\n bar_code: '',\r\n weight: 0,\r\n volume: 0,\r\n },\r\n ],\r\n templateList: [],\r\n copyConfig: {\r\n copy_type: 2,\r\n copy_num: 0,\r\n },\r\n isData: false,\r\n artFrom: {\r\n type: 'taobao',\r\n url: '',\r\n },\r\n tableIndex: 0,\r\n content: '',\r\n };\r\n },\r\n components: { WangEditor, uploadPictures },\r\n computed: {},\r\n\r\n created() {\r\n this.goodsCategory();\r\n },\r\n mounted() {\r\n this.productGetTemplate();\r\n this.getCopyConfig();\r\n },\r\n methods: {\r\n mealPay(val) {\r\n this.$router.push({\r\n path: this.$routeProStr + '/setting/sms/sms_pay/index',\r\n query: { type: val },\r\n });\r\n },\r\n batchDel() {\r\n this.oneFormBatch = [\r\n {\r\n pic: '',\r\n price: 0,\r\n cost: 0,\r\n ot_price: 0,\r\n stock: 0,\r\n bar_code: '',\r\n weight: 0,\r\n volume: 0,\r\n },\r\n ];\r\n },\r\n batchAdd() {\r\n let formBatch = this.oneFormBatch[0];\r\n this.$set(\r\n this.formValidate,\r\n 'attrs',\r\n this.formValidate.attrs.map((item) => {\r\n if (formBatch.pic) {\r\n item.pic = formBatch.pic;\r\n }\r\n if (formBatch.price > 0) {\r\n item.price = formBatch.price;\r\n }\r\n if (formBatch.cost > 0) {\r\n item.cost = formBatch.cost;\r\n }\r\n if (formBatch.ot_price > 0) {\r\n item.ot_price = formBatch.ot_price;\r\n }\r\n if (formBatch.stock > 0) {\r\n item.stock = formBatch.stock;\r\n }\r\n if (formBatch.bar_code) {\r\n item.bar_code = formBatch.bar_code;\r\n }\r\n if (formBatch.weight) {\r\n item.weight = formBatch.weight;\r\n }\r\n if (formBatch.volume) {\r\n item.weight = formBatch.volume;\r\n }\r\n return item;\r\n }),\r\n );\r\n },\r\n getEditorContent(data) {\r\n this.content = data;\r\n },\r\n // 删除表格中的属性\r\n delAttrTable(index) {\r\n this.items.splice(index, 1);\r\n },\r\n // 获取运费模板;\r\n productGetTemplate() {\r\n productGetTemplateApi().then((res) => {\r\n this.templateList = res.data;\r\n });\r\n },\r\n getCopyConfig() {\r\n copyConfigApi().then((res) => {\r\n this.copyConfig.copy_type = res.data.copy_type;\r\n this.copyConfig.copy_num = res.data.copy_num;\r\n });\r\n },\r\n // 删除图片\r\n handleRemove(i) {\r\n this.formValidate.slider_image.splice(i, 1);\r\n },\r\n // 选择主图\r\n checked(item, index) {\r\n this.formValidate.image = item;\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 // 生成表单\r\n add() {\r\n if (this.soure_link) {\r\n var reg = /(http|ftp|https):\\/\\/[\\w\\-_]+(\\.[\\w\\-_]+)+([\\w\\-\\.,@?^=%&:/~\\+#]*[\\w\\-\\@?^=%&/~\\+#])?/;\r\n if (!reg.test(this.soure_link)) {\r\n return this.$message.warning('请输入以http开头的地址!');\r\n }\r\n this.spinShow = true;\r\n this.artFrom.url = this.soure_link;\r\n crawlFromApi(this.artFrom)\r\n .then((res) => {\r\n let info = res.data.info;\r\n this.columns = info.info.header;\r\n this.formValidate = info;\r\n this.formValidate.soure_link = this.soure_link;\r\n this.formValidate.attrs = info.info.value;\r\n if (this.formValidate.image) {\r\n this.oneFormBatch[0].pic = this.formValidate.image;\r\n }\r\n this.items = this.formValidate.attrs;\r\n this.isData = true;\r\n this.spinShow = false;\r\n })\r\n .catch((res) => {\r\n this.spinShow = false;\r\n this.$message.error(res.msg);\r\n });\r\n } else {\r\n this.$message.warning('请输入链接地址!');\r\n }\r\n },\r\n // 提交\r\n handleSubmit(name) {\r\n this.formValidate.description = this.content;\r\n this.$refs[name].validate((valid) => {\r\n if (valid) {\r\n this.modal_loading = true;\r\n // this.formValidate.attrs = [\r\n // {\r\n // pic: this.images,\r\n // price: this.formValidate.price,\r\n // cost: this.formValidate.cost,\r\n // ot_price: this.formValidate.ot_price,\r\n // stock: this.formValidate.stock,\r\n // bar_code: this.formValidate.bar_code,\r\n // weight: this.formValidate.weight,\r\n // volume: this.formValidate.volume\r\n // }\r\n // ];\r\n // this.formValidate.items = [];\r\n crawlSaveApi(this.formValidate)\r\n .then((res) => {\r\n this.$message.success('商品默认为不上架状态请手动上架商品!');\r\n setTimeout(() => {\r\n this.modal_loading = false;\r\n }, 500);\r\n setTimeout(() => {\r\n this.$emit('on-close');\r\n }, 600);\r\n })\r\n .catch((res) => {\r\n this.modal_loading = false;\r\n this.$message.error(res.msg);\r\n });\r\n } else {\r\n if (!this.formValidate.cate_id) {\r\n this.$message.warning('请填写商品分类!');\r\n }\r\n }\r\n });\r\n },\r\n // 点击商品图\r\n modalPicTap(tit, index) {\r\n this.modalPic = true;\r\n this.isChoice = tit === 'dan' ? '单选' : '多选';\r\n this.tableIndex = index;\r\n },\r\n // 获取单张图片信息\r\n getPic(pc) {\r\n if (this.tableIndex === 'duopi') {\r\n this.oneFormBatch[0].pic = pc.att_dir;\r\n } else {\r\n this.formValidate.attrs[this.tableIndex].pic = pc.att_dir;\r\n }\r\n this.modalPic = false;\r\n },\r\n handleDragStart(e, item) {\r\n this.dragging = item;\r\n },\r\n handleDragEnd(e, item) {\r\n this.dragging = null;\r\n },\r\n // 首先把div变成可以放置的元素,即重写dragenter/dragover\r\n handleDragOver(e) {\r\n // e.dataTransfer.dropEffect=\"move\";//在dragenter中针对放置目标来设置!\r\n e.dataTransfer.dropEffect = 'move';\r\n },\r\n handleDragEnter(e, item) {\r\n // 为需要移动的元素设置dragstart事件\r\n e.dataTransfer.effectAllowed = 'move';\r\n if (item === this.dragging) {\r\n return;\r\n }\r\n const newItems = [...this.formValidate.slider_image];\r\n const src = newItems.indexOf(this.dragging);\r\n const dst = newItems.indexOf(item);\r\n newItems.splice(dst, 0, ...newItems.splice(src, 1));\r\n this.formValidate.slider_image = newItems;\r\n },\r\n // 添加自定义弹窗\r\n addCustomDialog(editorId) {\r\n window.UE.registerUI(\r\n 'test-dialog',\r\n function (editor, uiName) {\r\n // 创建 dialog\r\n let dialog = new window.UE.ui.Dialog({\r\n iframeUrl: this.$routeProStr + '/widget.images/index.html?fodder=dialog',\r\n editor: editor,\r\n name: uiName,\r\n title: '上传图片',\r\n cssRules: 'width:960px;height:550px;padding:20px;',\r\n });\r\n this.dialog = dialog;\r\n let btn = new window.UE.ui.Button({\r\n name: 'dialog-button',\r\n title: '上传图片',\r\n cssRules: `background-image: url(../../../assets/images/icons.png);background-position: -726px -77px;`,\r\n onclick: function () {\r\n // 渲染dialog\r\n dialog.render();\r\n dialog.open();\r\n },\r\n });\r\n return btn;\r\n },\r\n 37,\r\n );\r\n // window.UE.registerUI('test-dialog', function (editor, uiName) {\r\n // let dialog = new window.UE.ui.Dialog({\r\n // iframeUrl: '/admin/widget.images/index.html?fodder=dialog',\r\n // editor: editor,\r\n // name: uiName,\r\n // title: '上传图片',\r\n // cssRules: 'width:960px;height:550px;padding:20px;'\r\n // })\r\n // this.dialog = dialog\r\n // var btn = new window.UE.ui.Button({\r\n // name: 'dialog-button',\r\n // title: '上传图片',\r\n // cssRules: `background-image: url(../../../assets/images/icons.png);background-position: -726px -77px;`,\r\n // onclick: function () {\r\n // dialog.render()\r\n // dialog.open()\r\n // }\r\n // })\r\n // return btn\r\n // }, 37)\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n::v-deep .ivu-form-item-content {\r\n line-height: unset !important;\r\n}\r\n.Box .ivu-radio-wrapper {\r\n margin-right: 25px;\r\n}\r\n.Box .numPut {\r\n width: 100% !important;\r\n}\r\n.add {\r\n color: #2d8cf0;\r\n cursor: pointer;\r\n}\r\n.lunBox {\r\n /* width 80px */\r\n display: flex;\r\n flex-direction: column;\r\n border: 1px solid #0bb20c;\r\n}\r\n.pictrueBox {\r\n display: inline-block;\r\n}\r\n.pictrue {\r\n width: 85px;\r\n height: 85px;\r\n border: 1px dotted rgba(0, 0, 0, 0.1);\r\n display: inline-block;\r\n position: relative;\r\n cursor: pointer;\r\n\r\n img {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n}\r\n.pictrueTab {\r\n width: 40px !important;\r\n height: 40px !important;\r\n}\r\n.upLoad {\r\n width: 40px;\r\n height: 40px;\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 cursor: pointer;\r\n}\r\n.ivu-table-wrapper {\r\n border-left: 1px solid #dcdee2;\r\n border-top: 1px solid #dcdee2;\r\n}\r\n.ft {\r\n color: red;\r\n}\r\n</style>\r\n"]}]}