405b4ede7d5a4407a7b092c98d0d93fc.json 51 KB

1
  1. {"remainingRequest":"E:\\item\\newItem\\admin\\node_modules\\babel-loader\\lib\\index.js!E:\\item\\newItem\\admin\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!E:\\item\\newItem\\admin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!E:\\item\\newItem\\admin\\node_modules\\iview-loader\\index.js??ref--0-2!E:\\item\\newItem\\admin\\src\\pages\\product\\productList\\taoBao.vue?vue&type=script&lang=js&","dependencies":[{"path":"E:\\item\\newItem\\admin\\src\\pages\\product\\productList\\taoBao.vue","mtime":1678166934289},{"path":"E:\\item\\newItem\\admin\\babel.config.js","mtime":1677828270071},{"path":"E:\\item\\newItem\\admin\\.babelrc","mtime":1677828270070},{"path":"E:\\item\\newItem\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\item\\newItem\\admin\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"E:\\item\\newItem\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\item\\newItem\\admin\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000},{"path":"E:\\item\\newItem\\admin\\node_modules\\iview-loader\\index.js","mtime":1570440814000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF90b0NvbnN1bWFibGVBcnJheSBmcm9tICJFOi9pdGVtL25ld0l0ZW0vYWRtaW4vbm9kZV9tb2R1bGVzL0B2dWUvYmFiZWwtcHJlc2V0LWFwcC9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vdG9Db25zdW1hYmxlQXJyYXkuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5tYXAuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5zcGxpY2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5yZWdleHAuZXhlYy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC50ZXN0LmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuc3ltYm9sLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuc3ltYm9sLmRlc2NyaXB0aW9uLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuY29uY2F0LmpzIjsKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KaW1wb3J0IHsgY3Jhd2xGcm9tQXBpLCB0cmVlTGlzdEFwaSwgY3Jhd2xTYXZlQXBpLCBwcm9kdWN0R2V0VGVtcGxhdGVBcGksIGNvcHlDb25maWdBcGkgfSBmcm9tICdAL2FwaS9wcm9kdWN0JzsKaW1wb3J0IHVwbG9hZFBpY3R1cmVzIGZyb20gJ0AvY29tcG9uZW50cy91cGxvYWRQaWN0dXJlcyc7CmltcG9ydCBXYW5nRWRpdG9yIGZyb20gJ0AvY29tcG9uZW50cy93YW5nRWRpdG9yL2luZGV4LnZ1ZSc7CmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAndGFvQmFvJywKICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgLy8g5om56YeP6K6+572u6KGo5qC8ZGF0YQogICAgICBvbmVGb3JtQmF0Y2g6IFt7CiAgICAgICAgcGljOiAnJywKICAgICAgICBwcmljZTogMCwKICAgICAgICBjb3N0OiAwLAogICAgICAgIG90X3ByaWNlOiAwLAogICAgICAgIHN0b2NrOiAwLAogICAgICAgIGJhcl9jb2RlOiAnJywKICAgICAgICB3ZWlnaHQ6IDAsCiAgICAgICAgdm9sdW1lOiAwCiAgICAgIH1dLAogICAgICBjb2x1bW5zQmF0Y2g6IFt7CiAgICAgICAgdGl0bGU6ICflm77niYcnLAogICAgICAgIHNsb3Q6ICdwaWMnLAogICAgICAgIGFsaWduOiAnY2VudGVyJywKICAgICAgICBtaW5XaWR0aDogODAKICAgICAgfSwgewogICAgICAgIHRpdGxlOiAn5ZSu5Lu3JywKICAgICAgICBzbG90OiAncHJpY2UnLAogICAgICAgIGFsaWduOiAnY2VudGVyJywKICAgICAgICBtaW5XaWR0aDogOTUKICAgICAgfSwgewogICAgICAgIHRpdGxlOiAn5oiQ5pys5Lu3JywKICAgICAgICBzbG90OiAnY29zdCcsCiAgICAgICAgYWxpZ246ICdjZW50ZXInLAogICAgICAgIG1pbldpZHRoOiA5NQogICAgICB9LCB7CiAgICAgICAgdGl0bGU6ICfljp/ku7cnLAogICAgICAgIHNsb3Q6ICdvdF9wcmljZScsCiAgICAgICAgYWxpZ246ICdjZW50ZXInLAogICAgICAgIG1pbldpZHRoOiA5NQogICAgICB9LCB7CiAgICAgICAgdGl0bGU6ICflupPlrZgnLAogICAgICAgIHNsb3Q6ICdzdG9jaycsCiAgICAgICAgYWxpZ246ICdjZW50ZXInLAogICAgICAgIG1pbldpZHRoOiA5NQogICAgICB9LCB7CiAgICAgICAgdGl0bGU6ICfllYblk4HnvJblj7cnLAogICAgICAgIHNsb3Q6ICdiYXJfY29kZScsCiAgICAgICAgYWxpZ246ICdjZW50ZXInLAogICAgICAgIG1pbldpZHRoOiAxMjAKICAgICAgfSwgewogICAgICAgIHRpdGxlOiAn6YeN6YeP77yIS0fvvIknLAogICAgICAgIHNsb3Q6ICd3ZWlnaHQnLAogICAgICAgIGFsaWduOiAnY2VudGVyJywKICAgICAgICBtaW5XaWR0aDogOTUKICAgICAgfSwgewogICAgICAgIHRpdGxlOiAn5L2T56evKG3CsyknLAogICAgICAgIHNsb3Q6ICd2b2x1bWUnLAogICAgICAgIGFsaWduOiAnY2VudGVyJywKICAgICAgICBtaW5XaWR0aDogOTUKICAgICAgfSwgewogICAgICAgIHRpdGxlOiAn5pON5L2cJywKICAgICAgICBzbG90OiAnYWN0aW9uJywKICAgICAgICBhbGlnbjogJ2NlbnRlcicsCiAgICAgICAgbWluV2lkdGg6IDE0MAogICAgICB9XSwKICAgICAgbW9kYWxfbG9hZGluZzogZmFsc2UsCiAgICAgIGltYWdlczogJycsCiAgICAgIHNvdXJlX2xpbms6ICcnLAogICAgICBtb2RhbFBpYzogZmFsc2UsCiAgICAgIGlzQ2hvaWNlOiAnJywKICAgICAgc3BpblNob3c6IGZhbHNlLAogICAgICBncmlkUGljOiB7CiAgICAgICAgeGw6IDYsCiAgICAgICAgbGc6IDgsCiAgICAgICAgbWQ6IDEyLAogICAgICAgIHNtOiAxMiwKICAgICAgICB4czogMTIKICAgICAgfSwKICAgICAgZ3JpZEJ0bjogewogICAgICAgIHhsOiA0LAogICAgICAgIGxnOiA4LAogICAgICAgIG1kOiA4LAogICAgICAgIHNtOiA4LAogICAgICAgIHhzOiA4CiAgICAgIH0sCiAgICAgIGNvbHVtbnM6IFtdLAogICAgICB0cmVlU2VsZWN0OiBbXSwKICAgICAgcnVsZUlubGluZTogewogICAgICAgIGNhdGVfaWQ6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICfor7fpgInmi6nllYblk4HliIbnsbsnLAogICAgICAgICAgdHJpZ2dlcjogJ2NoYW5nZScsCiAgICAgICAgICB0eXBlOiAnYXJyYXknLAogICAgICAgICAgbWluOiAnMScKICAgICAgICB9XSwKICAgICAgICB0ZW1wX2lkOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAn6K+36YCJ5oup6L+Q6LS55qih5p2/JywKICAgICAgICAgIHRyaWdnZXI6ICdjaGFuZ2UnLAogICAgICAgICAgdHlwZTogJ251bWJlcicKICAgICAgICB9XQogICAgICB9LAogICAgICBncmlkOiB7CiAgICAgICAgeGw6IDgsCiAgICAgICAgbGc6IDgsCiAgICAgICAgbWQ6IDEyLAogICAgICAgIHNtOiAyNCwKICAgICAgICB4czogMjQKICAgICAgfSwKICAgICAgZ3JpZDI6IHsKICAgICAgICB4bDogMTIsCiAgICAgICAgbGc6IDEyLAogICAgICAgIG1kOiAxMiwKICAgICAgICBzbTogMjQsCiAgICAgICAgeHM6IDI0CiAgICAgIH0sCiAgICAgIGZvcm1WYWxpZGF0ZTogewogICAgICAgIHN0b3JlX25hbWU6ICcnLAogICAgICAgIGNhdGVfaWQ6IFtdLAogICAgICAgIHRlbXBfaWQ6ICcnLAogICAgICAgIGtleXdvcmQ6ICcnLAogICAgICAgIHVuaXRfbmFtZTogJycsCiAgICAgICAgc3RvcmVfaW5mbzogJycsCiAgICAgICAgaW1hZ2U6ICcnLAogICAgICAgIHNsaWRlcl9pbWFnZTogW10sCiAgICAgICAgZGVzY3JpcHRpb246ICcnLAogICAgICAgIGZpY3RpOiAwLAogICAgICAgIGdpdmVfaW50ZWdyYWw6IDAsCiAgICAgICAgaXNfc2hvdzogMCwKICAgICAgICBwcmljZTogMCwKICAgICAgICBjb3N0OiAwLAogICAgICAgIG90X3ByaWNlOiAwLAogICAgICAgIHN0b2NrOiAwLAogICAgICAgIHNvdXJlX2xpbms6ICcnLAogICAgICAgIGRlc2NyaXB0aW9uX2ltYWdlczogJycsCiAgICAgICAgcG9zdGFnZTogMCwKICAgICAgICBhdHRyczogW10sCiAgICAgICAgaXRlbXM6IFtdCiAgICAgIH0sCiAgICAgIGl0ZW1zOiBbewogICAgICAgIHBpYzogJycsCiAgICAgICAgcHJpY2U6IDAsCiAgICAgICAgY29zdDogMCwKICAgICAgICBvdF9wcmljZTogMCwKICAgICAgICBzdG9jazogMCwKICAgICAgICBiYXJfY29kZTogJycsCiAgICAgICAgd2VpZ2h0OiAwLAogICAgICAgIHZvbHVtZTogMAogICAgICB9XSwKICAgICAgdGVtcGxhdGVMaXN0OiBbXSwKICAgICAgY29weUNvbmZpZzogewogICAgICAgIGNvcHlfdHlwZTogMiwKICAgICAgICBjb3B5X251bTogMAogICAgICB9LAogICAgICBpc0RhdGE6IGZhbHNlLAogICAgICBhcnRGcm9tOiB7CiAgICAgICAgdHlwZTogJ3Rhb2JhbycsCiAgICAgICAgdXJsOiAnJwogICAgICB9LAogICAgICB0YWJsZUluZGV4OiAwLAogICAgICBjb250ZW50OiAnJwogICAgfTsKICB9LAogIGNvbXBvbmVudHM6IHsKICAgIFdhbmdFZGl0b3I6IFdhbmdFZGl0b3IsCiAgICB1cGxvYWRQaWN0dXJlczogdXBsb2FkUGljdHVyZXMKICB9LAogIGNvbXB1dGVkOiB7fSwKICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkgewogICAgdGhpcy5nb29kc0NhdGVnb3J5KCk7CiAgfSwKICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkgewogICAgdGhpcy5wcm9kdWN0R2V0VGVtcGxhdGUoKTsKICAgIHRoaXMuZ2V0Q29weUNvbmZpZygpOwogIH0sCiAgbWV0aG9kczogewogICAgbWVhbFBheTogZnVuY3Rpb24gbWVhbFBheSh2YWwpIHsKICAgICAgdGhpcy4kcm91dGVyLnB1c2goewogICAgICAgIHBhdGg6ICcvYWRtaW4vc2V0dGluZy9zbXMvc21zX3BheS9pbmRleCcsCiAgICAgICAgcXVlcnk6IHsKICAgICAgICAgIHR5cGU6IHZhbAogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgYmF0Y2hEZWw6IGZ1bmN0aW9uIGJhdGNoRGVsKCkgewogICAgICB0aGlzLm9uZUZvcm1CYXRjaCA9IFt7CiAgICAgICAgcGljOiAnJywKICAgICAgICBwcmljZTogMCwKICAgICAgICBjb3N0OiAwLAogICAgICAgIG90X3ByaWNlOiAwLAogICAgICAgIHN0b2NrOiAwLAogICAgICAgIGJhcl9jb2RlOiAnJywKICAgICAgICB3ZWlnaHQ6IDAsCiAgICAgICAgdm9sdW1lOiAwCiAgICAgIH1dOwogICAgfSwKICAgIGJhdGNoQWRkOiBmdW5jdGlvbiBiYXRjaEFkZCgpIHsKICAgICAgdmFyIGZvcm1CYXRjaCA9IHRoaXMub25lRm9ybUJhdGNoWzBdOwogICAgICB0aGlzLiRzZXQodGhpcy5mb3JtVmFsaWRhdGUsICdhdHRycycsIHRoaXMuZm9ybVZhbGlkYXRlLmF0dHJzLm1hcChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgIGlmIChmb3JtQmF0Y2gucGljKSB7CiAgICAgICAgICBpdGVtLnBpYyA9IGZvcm1CYXRjaC5waWM7CiAgICAgICAgfQoKICAgICAgICBpZiAoZm9ybUJhdGNoLnByaWNlID4gMCkgewogICAgICAgICAgaXRlbS5wcmljZSA9IGZvcm1CYXRjaC5wcmljZTsKICAgICAgICB9CgogICAgICAgIGlmIChmb3JtQmF0Y2guY29zdCA+IDApIHsKICAgICAgICAgIGl0ZW0uY29zdCA9IGZvcm1CYXRjaC5jb3N0OwogICAgICAgIH0KCiAgICAgICAgaWYgKGZvcm1CYXRjaC5vdF9wcmljZSA+IDApIHsKICAgICAgICAgIGl0ZW0ub3RfcHJpY2UgPSBmb3JtQmF0Y2gub3RfcHJpY2U7CiAgICAgICAgfQoKICAgICAgICBpZiAoZm9ybUJhdGNoLnN0b2NrID4gMCkgewogICAgICAgICAgaXRlbS5zdG9jayA9IGZvcm1CYXRjaC5zdG9jazsKICAgICAgICB9CgogICAgICAgIGlmIChmb3JtQmF0Y2guYmFyX2NvZGUpIHsKICAgICAgICAgIGl0ZW0uYmFyX2NvZGUgPSBmb3JtQmF0Y2guYmFyX2NvZGU7CiAgICAgICAgfQoKICAgICAgICBpZiAoZm9ybUJhdGNoLndlaWdodCkgewogICAgICAgICAgaXRlbS53ZWlnaHQgPSBmb3JtQmF0Y2gud2VpZ2h0OwogICAgICAgIH0KCiAgICAgICAgaWYgKGZvcm1CYXRjaC52b2x1bWUpIHsKICAgICAgICAgIGl0ZW0ud2VpZ2h0ID0gZm9ybUJhdGNoLnZvbHVtZTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBpdGVtOwogICAgICB9KSk7CiAgICB9LAogICAgZ2V0RWRpdG9yQ29udGVudDogZnVuY3Rpb24gZ2V0RWRpdG9yQ29udGVudChkYXRhKSB7CiAgICAgIHRoaXMuY29udGVudCA9IGRhdGE7CiAgICB9LAogICAgLy8g5Yig6Zmk6KGo5qC85Lit55qE5bGe5oCnCiAgICBkZWxBdHRyVGFibGU6IGZ1bmN0aW9uIGRlbEF0dHJUYWJsZShpbmRleCkgewogICAgICB0aGlzLml0ZW1zLnNwbGljZShpbmRleCwgMSk7CiAgICB9LAogICAgLy8g6I635Y+W6L+Q6LS55qih5p2/77ybCiAgICBwcm9kdWN0R2V0VGVtcGxhdGU6IGZ1bmN0aW9uIHByb2R1Y3RHZXRUZW1wbGF0ZSgpIHsKICAgICAgdmFyIF90aGlzID0gdGhpczsKCiAgICAgIHByb2R1Y3RHZXRUZW1wbGF0ZUFwaSgpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgIF90aGlzLnRlbXBsYXRlTGlzdCA9IHJlcy5kYXRhOwogICAgICB9KTsKICAgIH0sCiAgICBnZXRDb3B5Q29uZmlnOiBmdW5jdGlvbiBnZXRDb3B5Q29uZmlnKCkgewogICAgICB2YXIgX3RoaXMyID0gdGhpczsKCiAgICAgIGNvcHlDb25maWdBcGkoKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBfdGhpczIuY29weUNvbmZpZy5jb3B5X3R5cGUgPSByZXMuZGF0YS5jb3B5X3R5cGU7CiAgICAgICAgX3RoaXMyLmNvcHlDb25maWcuY29weV9udW0gPSByZXMuZGF0YS5jb3B5X251bTsKICAgICAgfSk7CiAgICB9LAogICAgLy8g5Yig6Zmk5Zu+54mHCiAgICBoYW5kbGVSZW1vdmU6IGZ1bmN0aW9uIGhhbmRsZVJlbW92ZShpKSB7CiAgICAgIHRoaXMuZm9ybVZhbGlkYXRlLnNsaWRlcl9pbWFnZS5zcGxpY2UoaSwgMSk7CiAgICB9LAogICAgLy8g6YCJ5oup5Li75Zu+CiAgICBjaGVja2VkOiBmdW5jdGlvbiBjaGVja2VkKGl0ZW0sIGluZGV4KSB7CiAgICAgIHRoaXMuZm9ybVZhbGlkYXRlLmltYWdlID0gaXRlbTsKICAgIH0sCiAgICAvLyDllYblk4HliIbnsbvvvJsKICAgIGdvb2RzQ2F0ZWdvcnk6IGZ1bmN0aW9uIGdvb2RzQ2F0ZWdvcnkoKSB7CiAgICAgIHZhciBfdGhpczMgPSB0aGlzOwoKICAgICAgdHJlZUxpc3RBcGkoMSkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgX3RoaXMzLnRyZWVTZWxlY3QgPSByZXMuZGF0YTsKICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKHJlcykgewogICAgICAgIF90aGlzMy4kTWVzc2FnZS5lcnJvcihyZXMubXNnKTsKICAgICAgfSk7CiAgICB9LAogICAgLy8g55Sf5oiQ6KGo5Y2VCiAgICBhZGQ6IGZ1bmN0aW9uIGFkZCgpIHsKICAgICAgdmFyIF90aGlzNCA9IHRoaXM7CgogICAgICBpZiAodGhpcy5zb3VyZV9saW5rKSB7CiAgICAgICAgdmFyIHJlZyA9IC8oaHR0cHxmdHB8aHR0cHMpOlwvXC9bXHdcLV9dKyhcLltcd1wtX10rKSsoW1x3XC1cLixAP149JSY6L35cKyNdKltcd1wtXEA/Xj0lJi9+XCsjXSk/LzsKCiAgICAgICAgaWYgKCFyZWcudGVzdCh0aGlzLnNvdXJlX2xpbmspKSB7CiAgICAgICAgICByZXR1cm4gdGhpcy4kTWVzc2FnZS53YXJuaW5nKCfor7fovpPlhaXku6VodHRw5byA5aS055qE5Zyw5Z2A77yBJyk7CiAgICAgICAgfQoKICAgICAgICB0aGlzLnNwaW5TaG93ID0gdHJ1ZTsKICAgICAgICB0aGlzLmFydEZyb20udXJsID0gdGhpcy5zb3VyZV9saW5rOwogICAgICAgIGNyYXdsRnJvbUFwaSh0aGlzLmFydEZyb20pLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgICAgdmFyIGluZm8gPSByZXMuZGF0YS5pbmZvOwogICAgICAgICAgX3RoaXM0LmNvbHVtbnMgPSBpbmZvLmluZm8uaGVhZGVyOwogICAgICAgICAgX3RoaXM0LmZvcm1WYWxpZGF0ZSA9IGluZm87CiAgICAgICAgICBfdGhpczQuZm9ybVZhbGlkYXRlLnNvdXJlX2xpbmsgPSBfdGhpczQuc291cmVfbGluazsKICAgICAgICAgIF90aGlzNC5mb3JtVmFsaWRhdGUuYXR0cnMgPSBpbmZvLmluZm8udmFsdWU7CgogICAgICAgICAgaWYgKF90aGlzNC5mb3JtVmFsaWRhdGUuaW1hZ2UpIHsKICAgICAgICAgICAgX3RoaXM0Lm9uZUZvcm1CYXRjaFswXS5waWMgPSBfdGhpczQuZm9ybVZhbGlkYXRlLmltYWdlOwogICAgICAgICAgfQoKICAgICAgICAgIF90aGlzNC5pdGVtcyA9IF90aGlzNC5mb3JtVmFsaWRhdGUuYXR0cnM7CiAgICAgICAgICBfdGhpczQuaXNEYXRhID0gdHJ1ZTsKICAgICAgICAgIF90aGlzNC5zcGluU2hvdyA9IGZhbHNlOwogICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICAgIF90aGlzNC5zcGluU2hvdyA9IGZhbHNlOwoKICAgICAgICAgIF90aGlzNC4kTWVzc2FnZS5lcnJvcihyZXMubXNnKTsKICAgICAgICB9KTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLiRNZXNzYWdlLndhcm5pbmcoJ+ivt+i+k+WFpemTvuaOpeWcsOWdgO+8gScpOwogICAgICB9CiAgICB9LAogICAgLy8g5o+Q5LqkCiAgICBoYW5kbGVTdWJtaXQ6IGZ1bmN0aW9uIGhhbmRsZVN1Ym1pdChuYW1lKSB7CiAgICAgIHZhciBfdGhpczUgPSB0aGlzOwoKICAgICAgdGhpcy5mb3JtVmFsaWRhdGUuZGVzY3JpcHRpb24gPSB0aGlzLmNvbnRlbnQ7CiAgICAgIHRoaXMuJHJlZnNbbmFtZV0udmFsaWRhdGUoZnVuY3Rpb24gKHZhbGlkKSB7CiAgICAgICAgaWYgKHZhbGlkKSB7CiAgICAgICAgICBfdGhpczUubW9kYWxfbG9hZGluZyA9IHRydWU7IC8vIHRoaXMuZm9ybVZhbGlkYXRlLmF0dHJzID0gWwogICAgICAgICAgLy8gICAgIHsKICAgICAgICAgIC8vICAgICAgICAgcGljOiB0aGlzLmltYWdlcywKICAgICAgICAgIC8vICAgICAgICAgcHJpY2U6IHRoaXMuZm9ybVZhbGlkYXRlLnByaWNlLAogICAgICAgICAgLy8gICAgICAgICBjb3N0OiB0aGlzLmZvcm1WYWxpZGF0ZS5jb3N0LAogICAgICAgICAgLy8gICAgICAgICBvdF9wcmljZTogdGhpcy5mb3JtVmFsaWRhdGUub3RfcHJpY2UsCiAgICAgICAgICAvLyAgICAgICAgIHN0b2NrOiB0aGlzLmZvcm1WYWxpZGF0ZS5zdG9jaywKICAgICAgICAgIC8vICAgICAgICAgYmFyX2NvZGU6IHRoaXMuZm9ybVZhbGlkYXRlLmJhcl9jb2RlLAogICAgICAgICAgLy8gICAgICAgICB3ZWlnaHQ6IHRoaXMuZm9ybVZhbGlkYXRlLndlaWdodCwKICAgICAgICAgIC8vICAgICAgICAgdm9sdW1lOiB0aGlzLmZvcm1WYWxpZGF0ZS52b2x1bWUKICAgICAgICAgIC8vICAgICB9CiAgICAgICAgICAvLyBdOwogICAgICAgICAgLy8gdGhpcy5mb3JtVmFsaWRhdGUuaXRlbXMgPSBbXTsKCiAgICAgICAgICBjcmF3bFNhdmVBcGkoX3RoaXM1LmZvcm1WYWxpZGF0ZSkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgICAgIF90aGlzNS4kTWVzc2FnZS5zdWNjZXNzKCfllYblk4Hpu5jorqTkuLrkuI3kuIrmnrbnirbmgIHor7fmiYvliqjkuIrmnrbllYblk4EhJyk7CgogICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICBfdGhpczUubW9kYWxfbG9hZGluZyA9IGZhbHNlOwogICAgICAgICAgICB9LCA1MDApOwogICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICBfdGhpczUuJGVtaXQoJ29uLWNsb3NlJyk7CiAgICAgICAgICAgIH0sIDYwMCk7CiAgICAgICAgICB9KS5jYXRjaChmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgICAgIF90aGlzNS5tb2RhbF9sb2FkaW5nID0gZmFsc2U7CgogICAgICAgICAgICBfdGhpczUuJE1lc3NhZ2UuZXJyb3IocmVzLm1zZyk7CiAgICAgICAgICB9KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgaWYgKCFfdGhpczUuZm9ybVZhbGlkYXRlLmNhdGVfaWQpIHsKICAgICAgICAgICAgX3RoaXM1LiRNZXNzYWdlLndhcm5pbmcoJ+ivt+Whq+WGmeWVhuWTgeWIhuexu++8gScpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgLy8g54K55Ye75ZWG5ZOB5Zu+CiAgICBtb2RhbFBpY1RhcDogZnVuY3Rpb24gbW9kYWxQaWNUYXAodGl0LCBpbmRleCkgewogICAgICB0aGlzLm1vZGFsUGljID0gdHJ1ZTsKICAgICAgdGhpcy5pc0Nob2ljZSA9IHRpdCA9PT0gJ2RhbicgPyAn5Y2V6YCJJyA6ICflpJrpgIknOwogICAgICB0aGlzLnRhYmxlSW5kZXggPSBpbmRleDsKICAgIH0sCiAgICAvLyDojrflj5bljZXlvKDlm77niYfkv6Hmga8KICAgIGdldFBpYzogZnVuY3Rpb24gZ2V0UGljKHBjKSB7CiAgICAgIGlmICh0aGlzLnRhYmxlSW5kZXggPT09ICdkdW9waScpIHsKICAgICAgICB0aGlzLm9uZUZvcm1CYXRjaFswXS5waWMgPSBwYy5hdHRfZGlyOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMuZm9ybVZhbGlkYXRlLmF0dHJzW3RoaXMudGFibGVJbmRleF0ucGljID0gcGMuYXR0X2RpcjsKICAgICAgfQoKICAgICAgdGhpcy5tb2RhbFBpYyA9IGZhbHNlOwogICAgfSwKICAgIGhhbmRsZURyYWdTdGFydDogZnVuY3Rpb24gaGFuZGxlRHJhZ1N0YXJ0KGUsIGl0ZW0pIHsKICAgICAgdGhpcy5kcmFnZ2luZyA9IGl0ZW07CiAgICB9LAogICAgaGFuZGxlRHJhZ0VuZDogZnVuY3Rpb24gaGFuZGxlRHJhZ0VuZChlLCBpdGVtKSB7CiAgICAgIHRoaXMuZHJhZ2dpbmcgPSBudWxsOwogICAgfSwKICAgIC8vIOmmluWFiOaKimRpduWPmOaIkOWPr+S7peaUvue9rueahOWFg+e0oO+8jOWNs+mHjeWGmWRyYWdlbnRlci9kcmFnb3ZlcgogICAgaGFuZGxlRHJhZ092ZXI6IGZ1bmN0aW9uIGhhbmRsZURyYWdPdmVyKGUpIHsKICAgICAgLy8gZS5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdD0ibW92ZSI7Ly/lnKhkcmFnZW50ZXLkuK3pkojlr7nmlL7nva7nm67moIfmnaXorr7nva4hCiAgICAgIGUuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgPSAnbW92ZSc7CiAgICB9LAogICAgaGFuZGxlRHJhZ0VudGVyOiBmdW5jdGlvbiBoYW5kbGVEcmFnRW50ZXIoZSwgaXRlbSkgewogICAgICAvLyDkuLrpnIDopoHnp7vliqjnmoTlhYPntKDorr7nva5kcmFnc3RhcnTkuovku7YKICAgICAgZS5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCA9ICdtb3ZlJzsKCiAgICAgIGlmIChpdGVtID09PSB0aGlzLmRyYWdnaW5nKSB7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICB2YXIgbmV3SXRlbXMgPSBfdG9Db25zdW1hYmxlQXJyYXkodGhpcy5mb3JtVmFsaWRhdGUuc2xpZGVyX2ltYWdlKTsKCiAgICAgIHZhciBzcmMgPSBuZXdJdGVtcy5pbmRleE9mKHRoaXMuZHJhZ2dpbmcpOwogICAgICB2YXIgZHN0ID0gbmV3SXRlbXMuaW5kZXhPZihpdGVtKTsKICAgICAgbmV3SXRlbXMuc3BsaWNlLmFwcGx5KG5ld0l0ZW1zLCBbZHN0LCAwXS5jb25jYXQoX3RvQ29uc3VtYWJsZUFycmF5KG5ld0l0ZW1zLnNwbGljZShzcmMsIDEpKSkpOwogICAgICB0aGlzLmZvcm1WYWxpZGF0ZS5zbGlkZXJfaW1hZ2UgPSBuZXdJdGVtczsKICAgIH0sCiAgICAvLyDmt7vliqDoh6rlrprkuYnlvLnnqpcKICAgIGFkZEN1c3RvbURpYWxvZzogZnVuY3Rpb24gYWRkQ3VzdG9tRGlhbG9nKGVkaXRvcklkKSB7CiAgICAgIHdpbmRvdy5VRS5yZWdpc3RlclVJKCd0ZXN0LWRpYWxvZycsIGZ1bmN0aW9uIChlZGl0b3IsIHVpTmFtZSkgewogICAgICAgIC8vIOWIm+W7uiBkaWFsb2cKICAgICAgICB2YXIgZGlhbG9nID0gbmV3IHdpbmRvdy5VRS51aS5EaWFsb2coewogICAgICAgICAgaWZyYW1lVXJsOiAnL2FkbWluL3dpZGdldC5pbWFnZXMvaW5kZXguaHRtbD9mb2RkZXI9ZGlhbG9nJywKICAgICAgICAgIGVkaXRvcjogZWRpdG9yLAogICAgICAgICAgbmFtZTogdWlOYW1lLAogICAgICAgICAgdGl0bGU6ICfkuIrkvKDlm77niYcnLAogICAgICAgICAgY3NzUnVsZXM6ICd3aWR0aDo5NjBweDtoZWlnaHQ6NTUwcHg7cGFkZGluZzoyMHB4OycKICAgICAgICB9KTsKICAgICAgICB0aGlzLmRpYWxvZyA9IGRpYWxvZzsKICAgICAgICB2YXIgYnRuID0gbmV3IHdpbmRvdy5VRS51aS5CdXR0b24oewogICAgICAgICAgbmFtZTogJ2RpYWxvZy1idXR0b24nLAogICAgICAgICAgdGl0bGU6ICfkuIrkvKDlm77niYcnLAogICAgICAgICAgY3NzUnVsZXM6ICJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy9pY29ucy5wbmcpO2JhY2tncm91bmQtcG9zaXRpb246IC03MjZweCAtNzdweDsiLAogICAgICAgICAgb25jbGljazogZnVuY3Rpb24gb25jbGljaygpIHsKICAgICAgICAgICAgLy8g5riy5p+TZGlhbG9nCiAgICAgICAgICAgIGRpYWxvZy5yZW5kZXIoKTsKICAgICAgICAgICAgZGlhbG9nLm9wZW4oKTsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgICByZXR1cm4gYnRuOwogICAgICB9LCAzNyk7IC8vIHdpbmRvdy5VRS5yZWdpc3RlclVJKCd0ZXN0LWRpYWxvZycsIGZ1bmN0aW9uIChlZGl0b3IsIHVpTmFtZSkgewogICAgICAvLyAgICAgbGV0IGRpYWxvZyA9IG5ldyB3aW5kb3cuVUUudWkuRGlhbG9nKHsKICAgICAgLy8gICAgICAgICBpZnJhbWVVcmw6ICcvYWRtaW4vd2lkZ2V0LmltYWdlcy9pbmRleC5odG1sP2ZvZGRlcj1kaWFsb2cnLAogICAgICAvLyAgICAgICAgIGVkaXRvcjogZWRpdG9yLAogICAgICAvLyAgICAgICAgIG5hbWU6IHVpTmFtZSwKICAgICAgLy8gICAgICAgICB0aXRsZTogJ+S4iuS8oOWbvueJhycsCiAgICAgIC8vICAgICAgICAgY3NzUnVsZXM6ICd3aWR0aDo5NjBweDtoZWlnaHQ6NTUwcHg7cGFkZGluZzoyMHB4OycKICAgICAgLy8gICAgIH0pCiAgICAgIC8vICAgICB0aGlzLmRpYWxvZyA9IGRpYWxvZwogICAgICAvLyAgICAgdmFyIGJ0biA9IG5ldyB3aW5kb3cuVUUudWkuQnV0dG9uKHsKICAgICAgLy8gICAgICAgICBuYW1lOiAnZGlhbG9nLWJ1dHRvbicsCiAgICAgIC8vICAgICAgICAgdGl0bGU6ICfkuIrkvKDlm77niYcnLAogICAgICAvLyAgICAgICAgIGNzc1J1bGVzOiBgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uLy4uL2Fzc2V0cy9pbWFnZXMvaWNvbnMucG5nKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzI2cHggLTc3cHg7YCwKICAgICAgLy8gICAgICAgICBvbmNsaWNrOiBmdW5jdGlvbiAoKSB7CiAgICAgIC8vICAgICAgICAgICAgIGRpYWxvZy5yZW5kZXIoKQogICAgICAvLyAgICAgICAgICAgICBkaWFsb2cub3BlbigpCiAgICAgIC8vICAgICAgICAgfQogICAgICAvLyAgICAgfSkKICAgICAgLy8gICAgIHJldHVybiBidG4KICAgICAgLy8gfSwgMzcpCiAgICB9CiAgfQp9Ow=="},{"version":3,"mappings":"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;UACAC;QACA;;QACA;UACAA;QACA;;QACA;UACAA;QACA;;QACA;UACAA;QACA;;QACA;UACAA;QACA;;QACA;UACAA;QACA;;QACA;UACAA;QACA;;QACA;UACAA;QACA;;QACA;MACA,CA1BA,CAHA;IA+BA,CAtDA;IAuDAC,gBAvDA,4BAuDA9E,IAvDA,EAuDA;MACA;IACA,CAzDA;IA0DA;IACA+E,YA3DA,wBA2DAC,KA3DA,EA2DA;MACA;IACA,CA7DA;IA8DA;IACAC,kBA/DA,gCA+DA;MAAA;;MACAC;QACA;MACA,CAFA;IAGA,CAnEA;IAoEAC,aApEA,2BAoEA;MAAA;;MACAC;QACA;QACA;MACA,CAHA;IAIA,CAzEA;IA0EA;IACAC,YA3EA,wBA2EAC,CA3EA,EA2EA;MACA;IACA,CA7EA;IA8EA;IACAC,OA/EA,mBA+EAV,IA/EA,EA+EAG,KA/EA,EA+EA;MACA;IACA,CAjFA;IAkFA;IACAQ,aAnFA,2BAmFA;MAAA;;MACAC,eACAC,IADA,CACA;QACA;MACA,CAHA,EAIAC,KAJA,CAIA;QACA;MACA,CANA;IAOA,CA3FA;IA4FA;IACAC,GA7FA,iBA6FA;MAAA;;MACA;QACA;;QACA;UACA;QACA;;QACA;QACA;QACAC,2BACAH,IADA,CACA;UACA;UACA;UACA;UACA;UACA;;UACA;YACA;UACA;;UACA;UACA;UACA;QACA,CAbA,EAcAC,KAdA,CAcA;UACA;;UACA;QACA,CAjBA;MAkBA,CAzBA,MAyBA;QACA;MACA;IACA,CA1HA;IA2HA;IACAG,YA5HA,wBA4HA/F,IA5HA,EA4HA;MAAA;;MACA;MACA;QACA;UACA,4BADA,CAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UACAgG,kCACAL,IADA,CACA;YACA;;YACAM;cACA;YACA,CAFA,EAEA,GAFA;YAGAA;cACA;YACA,CAFA,EAEA,GAFA;UAGA,CATA,EAUAL,KAVA,CAUA;YACA;;YACA;UACA,CAbA;QAcA,CA7BA,MA6BA;UACA;YACA;UACA;QACA;MACA,CAnCA;IAoCA,CAlKA;IAmKA;IACAM,WApKA,uBAoKAC,GApKA,EAoKAlB,KApKA,EAoKA;MACA;MACA;MACA;IACA,CAxKA;IAyKA;IACAmB,MA1KA,kBA0KAC,EA1KA,EA0KA;MACA;QACA;MACA,CAFA,MAEA;QACA;MACA;;MACA;IACA,CAjLA;IAkLAC,eAlLA,2BAkLAC,CAlLA,EAkLAzB,IAlLA,EAkLA;MACA;IACA,CApLA;IAqLA0B,aArLA,yBAqLAD,CArLA,EAqLAzB,IArLA,EAqLA;MACA;IACA,CAvLA;IAwLA;IACA2B,cAzLA,0BAyLAF,CAzLA,EAyLA;MACA;MACAA;IACA,CA5LA;IA6LAG,eA7LA,2BA6LAH,CA7LA,EA6LAzB,IA7LA,EA6LA;MACA;MACAyB;;MACA;QACA;MACA;;MACA;;MACA;MACA;MACAI;MACA;IACA,CAxMA;IAyMA;IACAC,eA1MA,2BA0MAC,QA1MA,EA0MA;MACAC,qBACA,aADA,EAEA;QACA;QACA;UACAC,0DADA;UAEAC,cAFA;UAGAhH,YAHA;UAIAY,aAJA;UAKAqG;QALA;QAOA;QACA;UACAjH,qBADA;UAEAY,aAFA;UAGAqG,sGAHA;UAIAC;YACA;YACAC;YACAA;UACA;QARA;QAUA;MACA,CAvBA,EAwBA,EAxBA,EADA,CA2BA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;IACA;EAzPA;AA3LA","names":["name","data","oneFormBatch","pic","price","cost","ot_price","stock","bar_code","weight","volume","columnsBatch","title","slot","align","minWidth","modal_loading","images","soure_link","modalPic","isChoice","spinShow","gridPic","xl","lg","md","sm","xs","gridBtn","columns","treeSelect","ruleInline","cate_id","required","message","trigger","type","min","temp_id","grid","grid2","formValidate","store_name","keyword","unit_name","store_info","image","slider_image","description","ficti","give_integral","is_show","description_images","postage","attrs","items","templateList","copyConfig","copy_type","copy_num","isData","artFrom","url","tableIndex","content","components","WangEditor","uploadPictures","computed","created","mounted","methods","mealPay","val","path","query","batchDel","batchAdd","item","getEditorContent","delAttrTable","index","productGetTemplate","productGetTemplateApi","getCopyConfig","copyConfigApi","handleRemove","i","checked","goodsCategory","treeListApi","then","catch","add","crawlFromApi","handleSubmit","crawlSaveApi","setTimeout","modalPicTap","tit","getPic","pc","handleDragStart","e","handleDragEnd","handleDragOver","handleDragEnter","newItems","addCustomDialog","editorId","window","iframeUrl","editor","cssRules","onclick","dialog"],"sourceRoot":"src/pages/product/productList","sources":["taoBao.vue"],"sourcesContent":["<template>\r\n <div class=\"Box\">\r\n <!-- <Card>\r\n <div>\r\n 生成的商品默认是没有上架的,请手动上架商品!\r\n <a href=\"http://help.crmeb.net/crmeb-v4/1863579\" v-if=\"copyConfig.copy_type == 2\" target=\"_blank\"\r\n >如何配置密钥</a\r\n >\r\n <span v-else\r\n >您当前剩余{{ copyConfig.copy_num }}条采集次数,<a href=\"#\" @click=\"mealPay('copy')\">增加采集次数</a></span\r\n >\r\n </div>\r\n <div>商品采集设置:设置 > 系统设置 > 第三方接口设置 > 采集商品配置</div>\r\n </Card> -->\r\n <Form\r\n class=\"formValidate mt20\"\r\n ref=\"formValidate\"\r\n :model=\"formValidate\"\r\n :rules=\"ruleInline\"\r\n :label-width=\"120\"\r\n label-position=\"right\"\r\n @submit.native.prevent\r\n >\r\n <Row :gutter=\"24\" type=\"flex\">\r\n <!--<Col span=\"24\">-->\r\n <!--<FormItem label=\"\" label-for=\"\">-->\r\n <!--<RadioGroup v-model=\"artFrom.type\">-->\r\n <!--<Radio label=\"taobao\">淘宝</Radio>-->\r\n <!--<Radio label=\"tmall\">天猫</Radio>-->\r\n <!--<Radio label=\"jd\">京东</Radio>-->\r\n <!--<Radio label=\"pdd\">拼多多</Radio>-->\r\n <!--<Radio label=\"suning\">苏宁</Radio>-->\r\n <!--<Radio label=\"1688\">1688</Radio>-->\r\n <!--</RadioGroup>-->\r\n <!--</FormItem>-->\r\n <!--</Col>-->\r\n <Col span=\"15\">\r\n <FormItem label=\"链接地址:\">\r\n <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 </FormItem>\r\n </Col>\r\n <div>\r\n <div v-if=\"isData\">\r\n <Col span=\"24\" class=\"\">\r\n <FormItem label=\"商品名称:\" prop=\"store_name\">\r\n <Input v-model=\"formValidate.store_name\" placeholder=\"请输入商品名称\" />\r\n </FormItem>\r\n </Col>\r\n <Col span=\"24\">\r\n <FormItem label=\"商品简介:\" prop=\"store_info\" label-for=\"store_info\">\r\n <Input v-model=\"formValidate.store_info\" type=\"textarea\" :rows=\"3\" placeholder=\"请输入商品简介\" />\r\n </FormItem>\r\n </Col>\r\n <Col span=\"24\">\r\n <FormItem label=\"商品分类:\" prop=\"cate_id\">\r\n <Select v-model=\"formValidate.cate_id\" multiple>\r\n <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 }}</Option>\r\n </Select>\r\n </FormItem>\r\n </Col>\r\n <Col v-bind=\"grid\">\r\n <FormItem label=\"商品关键字:\" prop=\"keyword\" label-for=\"keyword\">\r\n <Input v-model=\"formValidate.keyword\" placeholder=\"请输入商品关键字\" />\r\n </FormItem>\r\n </Col>\r\n <Col v-bind=\"grid\">\r\n <FormItem label=\"单位:\" prop=\"unit_name\" label-for=\"unit_name\">\r\n <Input v-model=\"formValidate.unit_name\" placeholder=\"请输入单位\" />\r\n </FormItem>\r\n </Col>\r\n <Col v-bind=\"grid\">\r\n <FormItem label=\"虚拟销量:\" label-for=\"ficti\">\r\n <InputNumber class=\"perW100\" v-model=\"formValidate.ficti\" placeholder=\"请输入虚拟销量\" />\r\n </FormItem>\r\n </Col>\r\n <Col v-bind=\"grid\">\r\n <FormItem label=\"积分:\" label-for=\"give_integral\">\r\n <InputNumber class=\"perW100\" v-model=\"formValidate.give_integral\" placeholder=\"请输入积分\" />\r\n </FormItem>\r\n </Col>\r\n <Col v-bind=\"grid\">\r\n <FormItem label=\"运费模板:\" prop=\"temp_id\">\r\n <Select v-model=\"formValidate.temp_id\" clearable>\r\n <Option v-for=\"(item, index) in templateList\" :value=\"item.id\" :key=\"index\">{{ item.name }}</Option>\r\n </Select>\r\n </FormItem>\r\n </Col>\r\n <!--<Col v-bind=\"grid\">-->\r\n <!--<FormItem label=\"邮费:\" label-for=\"postage\">-->\r\n <!--<InputNumber v-model=\"formValidate.postage\" placeholder=\"请输入邮费\" />-->\r\n <!--</FormItem>-->\r\n <!--</Col>-->\r\n <Col span=\"24\">\r\n <FormItem 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 </FormItem>\r\n </Col>\r\n <Col span=\"24\">\r\n <FormItem 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 <Button @click.native=\"checked(item, index)\">主图</Button>\r\n <Button @click.native=\"handleRemove(index)\">移除</Button>\r\n </ButtonGroup>\r\n </div>\r\n </div>\r\n </FormItem>\r\n </Col>\r\n <Col span=\"24\">\r\n <FormItem label=\"批量设置:\" class=\"labeltop\" v-if=\"formValidate.attrs\">\r\n <Col :xl=\"23\" :lg=\"24\" :md=\"24\" :sm=\"24\" :xs=\"24\">\r\n <FormItem>\r\n <Table :data=\"oneFormBatch\" :columns=\"columnsBatch\" border>\r\n <template slot-scope=\"{ row, index }\" slot=\"pic\">\r\n <div class=\"acea-row row-middle row-center-wrapper\" @click=\"modalPicTap('dan', 'duopi', index)\">\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 <Icon type=\"ios-camera-outline\" size=\"21\" class=\"iconfont\" />\r\n </div>\r\n </div>\r\n </template>\r\n <template slot-scope=\"{ row, index }\" slot=\"price\">\r\n <InputNumber v-model=\"oneFormBatch[0].price\" :min=\"0\" class=\"priceBox\"></InputNumber>\r\n </template>\r\n <template slot-scope=\"{ row, index }\" slot=\"cost\">\r\n <InputNumber v-model=\"oneFormBatch[0].cost\" :min=\"0\" class=\"priceBox\"></InputNumber>\r\n </template>\r\n <template slot-scope=\"{ row, index }\" slot=\"ot_price\">\r\n <InputNumber v-model=\"oneFormBatch[0].ot_price\" :min=\"0\" class=\"priceBox\"></InputNumber>\r\n </template>\r\n <template slot-scope=\"{ row, index }\" slot=\"stock\">\r\n <InputNumber v-model=\"oneFormBatch[0].stock\" :min=\"0\" class=\"priceBox\"></InputNumber>\r\n </template>\r\n <template slot-scope=\"{ row, index }\" slot=\"bar_code\">\r\n <Input v-model=\"oneFormBatch[0].bar_code\"></Input>\r\n </template>\r\n <template slot-scope=\"{ row, index }\" slot=\"weight\">\r\n <InputNumber v-model=\"oneFormBatch[0].weight\" :min=\"0\" class=\"priceBox\"></InputNumber>\r\n </template>\r\n <template slot-scope=\"{ row, index }\" slot=\"volume\">\r\n <InputNumber v-model=\"oneFormBatch[0].volume\" :min=\"0\" class=\"priceBox\"></InputNumber>\r\n </template>\r\n <template slot-scope=\"{ row, index }\" slot=\"action\">\r\n <a @click=\"batchAdd\">添加</a>\r\n <Divider type=\"vertical\" />\r\n <a @click=\"batchDel\">清空</a>\r\n </template>\r\n </Table>\r\n </FormItem>\r\n </Col>\r\n </FormItem>\r\n </Col>\r\n <Col span=\"24\">\r\n <FormItem label=\"商品规格:\" props=\"spec_type\" label-for=\"spec_type\">\r\n <!-- 单规格表格-->\r\n <Col :xl=\"23\" :lg=\"24\" :md=\"24\" :sm=\"24\" :xs=\"24\">\r\n <FormItem>\r\n <Table :data=\"items\" :columns=\"columns\" border>\r\n <template slot-scope=\"{ row, index }\" slot=\"pic\">\r\n <div class=\"acea-row row-middle row-center-wrapper\" @click=\"modalPicTap('dan', index)\">\r\n <div class=\"pictrue pictrueTab\" v-if=\"formValidate.attrs[index].pic\">\r\n <img v-lazy=\"formValidate.attrs[index].pic\" />\r\n </div>\r\n <div class=\"upLoad upLoadTab acea-row row-center-wrapper\" v-else>\r\n <Icon type=\"ios-camera-outline\" size=\"26\" class=\"iconfont\" />\r\n </div>\r\n </div>\r\n </template>\r\n <template slot-scope=\"{ row, index }\" slot=\"price\">\r\n <InputNumber v-model=\"formValidate.attrs[index].price\" class=\"priceBox\"></InputNumber>\r\n </template>\r\n <template slot-scope=\"{ row, index }\" slot=\"cost\">\r\n <InputNumber v-model=\"formValidate.attrs[index].cost\" class=\"priceBox\"></InputNumber>\r\n </template>\r\n <template slot-scope=\"{ row, index }\" slot=\"ot_price\">\r\n <InputNumber v-model=\"formValidate.attrs[index].ot_price\" class=\"priceBox\"></InputNumber>\r\n </template>\r\n <template slot-scope=\"{ row, index }\" slot=\"stock\">\r\n <InputNumber v-model=\"formValidate.attrs[index].stock\" class=\"priceBox\"></InputNumber>\r\n </template>\r\n <template slot-scope=\"{ row, index }\" slot=\"bar_code\">\r\n <Input v-model=\"formValidate.attrs[index].bar_code\"></Input>\r\n </template>\r\n <template slot-scope=\"{ row, index }\" slot=\"weight\">\r\n <InputNumber v-model=\"formValidate.attrs[index].weight\" :min=\"0\" class=\"priceBox\"></InputNumber>\r\n </template>\r\n <template slot-scope=\"{ row, index }\" slot=\"volume\">\r\n <InputNumber v-model=\"formValidate.attrs[index].volume\" :min=\"0\" class=\"priceBox\"></InputNumber>\r\n </template>\r\n <template slot-scope=\"{ row, index }\" slot=\"action\">\r\n <a @click=\"delAttrTable(index)\">删除</a>\r\n </template>\r\n </Table>\r\n </FormItem>\r\n </Col>\r\n </FormItem>\r\n </Col>\r\n <Col span=\"24\">\r\n <FormItem label=\"商品详情:\">\r\n <WangEditor\r\n style=\"width: 100%\"\r\n :content=\"formValidate.description\"\r\n @editorContent=\"getEditorContent\"\r\n ></WangEditor>\r\n </FormItem>\r\n </Col>\r\n <Col span=\"24\">\r\n <FormItem>\r\n <Button type=\"primary\" :loading=\"modal_loading\" class=\"submission\" @click=\"handleSubmit('formValidate')\"\r\n >提交</Button\r\n >\r\n </FormItem>\r\n </Col>\r\n </div>\r\n <Spin size=\"large\" fix v-if=\"spinShow\"></Spin>\r\n </div>\r\n </Row>\r\n </Form>\r\n <Modal\r\n v-model=\"modalPic\"\r\n width=\"950px\"\r\n scrollable\r\n footer-hide\r\n closable\r\n title=\"上传商品图\"\r\n :mask-closable=\"false\"\r\n :z-index=\"9999\"\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 </Modal>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { crawlFromApi, treeListApi, 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: '/admin/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 treeListApi(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: '/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 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 scoped lang=\"stylus\">\r\n/deep/.ivu-form-item-content {\r\n line-height: unset !important;\r\n}\r\n\r\n.Box .ivu-radio-wrapper {\r\n margin-right: 25px;\r\n}\r\n\r\n.Box .numPut {\r\n width: 100% !important;\r\n}\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\r\n.pictrueBox {\r\n display: inline-block;\r\n}\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\r\n.pictrueTab {\r\n width: 40px !important;\r\n height: 40px !important;\r\n}\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\r\n.ivu-table-wrapper {\r\n border-left: 1px solid #dcdee2;\r\n border-top: 1px solid #dcdee2;\r\n}\r\n\r\n.ft {\r\n color: red;\r\n}\r\n</style>\r\n"]}]}