c93467e6bac8395d938c70cb478eec3f.json 59 KB

1
  1. {"remainingRequest":"D:\\wnmp\\www\\vue\\seaBlueAdmin\\node_modules\\babel-loader\\lib\\index.js!D:\\wnmp\\www\\vue\\seaBlueAdmin\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\wnmp\\www\\vue\\seaBlueAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\wnmp\\www\\vue\\seaBlueAdmin\\src\\viewsMerch\\goods\\GoodsList.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\wnmp\\www\\vue\\seaBlueAdmin\\src\\viewsMerch\\goods\\GoodsList.vue","mtime":1678954023650},{"path":"D:\\wnmp\\www\\vue\\seaBlueAdmin\\babel.config.js","mtime":1681371897685},{"path":"D:\\wnmp\\www\\vue\\seaBlueAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1681371913603},{"path":"D:\\wnmp\\www\\vue\\seaBlueAdmin\\node_modules\\babel-loader\\lib\\index.js","mtime":1681371912860},{"path":"D:\\wnmp\\www\\vue\\seaBlueAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1681371913603},{"path":"D:\\wnmp\\www\\vue\\seaBlueAdmin\\node_modules\\vue-loader\\lib\\index.js","mtime":1681371925849}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KaW1wb3J0IHsgZ2V0U2hvcEJ5U3RhZmYgfSBmcm9tICJAL2FwaS9TaG9wIjsKaW1wb3J0IEdvb2RzQ2F0ZWdvcnkgZnJvbSAiQC9jb21wb25lbnQvY29tbW9uL0dvb2RzQ2F0ZWdvcnkudnVlIjsKaW1wb3J0IEJyYW5kU2VsTW9kZWwgZnJvbSAiQC9jb21wb25lbnQvZ29vZHMvQnJhbmRTZWxNb2RlbC52dWUiOwppbXBvcnQgRWRpdEdvb2RzIGZyb20gIkAvdmlld3MvZ29vZHMvc2FsZS9BZGRHb29kcyI7CmltcG9ydCB7IHNldFNhbGVzTnVtLCBnZXRHb29kc0luZm8sIEJhdGNoVW5sb2FkaW5nLCBnZXRBbGxHb29kcywgZXhwb3J0R2V0QWxsR29vZHMsIHNlYXJjaEdvb2QsIGV4cG9ydFNlYXJjaEdvb2QsIGRlbEdvb2RzLCBzZXRUb3AsIEdvb2RzVXBkYXRlRW5hYmxlU3RhdHVzLCBiYXRjaEdvb2RzRXhwcmVzcywgc2V0U2FsZXNOdW1CYXRjaCwgc2V0QnJhbmQsIGF1ZGl0R29vZHMsIGdldEFsbEdvb2RzTGlzdCwgZXhwb3J0R2V0QWxsR29vZHNMaXN0IH0gZnJvbSAiQC9hcGkvZ29vZHMiOwppbXBvcnQgeyBnZXRBbGxFeHByZXNzUnVsZSB9IGZyb20gIkAvYXBpL1N5c3RlbSI7CmltcG9ydCB7IG1hcEdldHRlcnMgfSBmcm9tICJ2dWV4IjsKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICJNZXJjaGFudHNHb29kcyIsCiAgY29tcG9uZW50czogewogICAgR29vZHNDYXRlZ29yeSwKICAgIEVkaXRHb29kcywKICAgIEJyYW5kU2VsTW9kZWwKICB9LAoKICBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgbWVyY2hhbnRJZDogIiIsCiAgICAgIGlmTWVyY2hhbnQ6IDUsCiAgICAgIHZpcnR1YWxfc2FsZXNfbnVtOiAwLAogICAgICBzZXRfZ29vZHNfaWQ6IDAsCiAgICAgIC8vIOiZmuaLn+mUgOmHj+WMuumXtAogICAgICBzYWxlX251bV9mb3JtOiB7CiAgICAgICAgaWRzOiBbXSwKICAgICAgICBtaW5WYWw6ICIiLAogICAgICAgIG1heFZhbDogIiIKICAgICAgfSwKICAgICAgYWN0aXZlTmFtZTogImFsbCIsCiAgICAgIGdvb2RzX3NrdV9saXN0OiBbXSwKICAgICAgY2hlY2tlZEFsbDogZmFsc2UsCiAgICAgIC8vIOWVhuWTgeWIl+ihqOWFqOmAiQogICAgICBpc19wcmljZTogZmFsc2UsCiAgICAgIC8vIOe8lui+keWVhuWTgQogICAgICBnb29kc19uYW1lOiAiIiwKICAgICAga2V5d29yZDogIiIsCiAgICAgIGJyYW5kSWQ6ICIiLAogICAgICBjYXRlZ29yeUlkOiAiIiwKICAgICAgZW5hYmxlU3RhdHVzOiAiIiwKICAgICAgc2VsX2JyYW5kOiBmYWxzZSwKICAgICAgdG90YWw6IDAsCiAgICAgIHBhZ2U6IDEsCiAgICAgIHBhZ2VTaXplOiAxMCwKICAgICAgZ29vZHNfZGF0YTogW10sCiAgICAgIC8vIHRhYmxlIOaVsOaNrgogICAgICBjaG9vc2VfZGF0YTogW10sCiAgICAgIGZvcm06IHsKICAgICAgICBjYXRlZ29yeVBhdGg6IFtdLAogICAgICAgIHNlYXJjaF9rZXk6ICIiLAogICAgICAgIGJyYW5kOiAiIiwKICAgICAgICBzaG9wOiAiIiwKICAgICAgICBlbmFibGVTdGF0dXM6ICIiCiAgICAgIH0sCiAgICAgIHByaWNlX2dvb2RzX2RldGFpbDoge30sCiAgICAgIHNwZWNfbG9hZGluZzogZmFsc2UsCiAgICAgIHNldF9mb3JtOiB7CiAgICAgICAgbWFzdGVyVW5pdElkOiAiIiwKICAgICAgICBzaG9wTmFtZTogIiIsCiAgICAgICAgYnJhbmROYW1lOiAiIiwKICAgICAgICBjYXRlZ29yeTogW10sCiAgICAgICAgYnJhbmNoVW5pdDogW10sCiAgICAgICAgZGVsaXZlcnlTdXBJZHM6IFsiMSIsICIyIl0sCiAgICAgICAgLy8g54mp5rWB5pSv5oyBIOWbuuWumuWAvCAxIOW/q+mAkiAyIOiHquaPkCDkvKDlj4LmoLzlvI/vvJoxLDIKICAgICAgICBleHByZXNzVHlwZTogMSwKICAgICAgICAvLyDlv6vpgJLov5DotLkgMSDljIXpgq4gMiDov5DotLnmqKHniYggMyDlm7rlrprotLnnlKgKICAgICAgICBleHByZXNzRmVlOiAiIiwKICAgICAgICAvLyDlm7rlrprotLnnlKgKICAgICAgICBzaG93RXhwcmVzczogNSwKICAgICAgICAvLyDmmK/lkKblsZXnpLrlv6vpgJIgNeWxleekuiA05LiN5bGV56S6CiAgICAgICAgcnVsZUlkOiAiIiAvLyDov5DotLnmqKHniYhpZAoKICAgICAgfSwKICAgICAgZXhwcmVzc19saXN0OiBbXSwKICAgICAgbW9yZV9zdWJfYnRuOiBmYWxzZSwKICAgICAgLy8g5om56YeP6K6+572u6L+Q6LS5bG9hZGluZwogICAgICBpc19zZXQ6IGZhbHNlLAogICAgICBzZXRfdGl0OiAiIiwKICAgICAgYXVkaXRTdGF0dXM6IDIsCiAgICAgIC8vIOWuoeaguOeKtuaAgQogICAgICBpc09wdGlvbjogIiIgLy8g5piv5ZCm5piv6Ieq6YCJ5ZWG5ZOBCgogICAgfTsKICB9LAoKICBjb21wdXRlZDogeyAuLi5tYXBHZXR0ZXJzKHsKICAgICAgc3RvcmVEYXRhOiAiTVVzZXIvc3RvcmVEYXRhIgogICAgfSkKICB9LAoKICBjcmVhdGVkKCkgewogICAgaWYgKHRoaXMuc3lzdGVtVHlwZSA9PT0gMykgewogICAgICB0aGlzLm1lcmNoYW50SWQgPSB0aGlzLnN0b3JlRGF0YS5tZXJjaGFudERhdGEuaWQ7CiAgICB9IC8vIHRoaXMuZ2V0QWxsR29vZHMoKTsKCgogICAgdGhpcy5nZXRBbGxHb29kc0xpc3QoKTsKICAgIHRoaXMuZ2V0QWxsRXhwcmVzc1J1bGUoKTsKICB9LAoKICBhY3RpdmF0ZWQoKSB7CiAgICBpZiAodGhpcy4kX2lzSW5pdCgpKSByZXR1cm47CiAgICB0aGlzLmdldEFsbEdvb2RzTGlzdCgpOwogIH0sCgogIG1ldGhvZHM6IHsKICAgIGFzeW5jIGdldFNob3BCeVN0YWZmKCkgewogICAgICBjb25zdCByZXMgPSBhd2FpdCBnZXRTaG9wQnlTdGFmZih7CiAgICAgICAgcGFnZTogdGhpcy5wYWdlLAogICAgICAgIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplCiAgICAgIH0pOwogICAgICB0aGlzLm1lcmNoYW50SWQgPSByZXMuZGF0YVswXS5tZXJjaGFudElkOwogICAgICBjb25zb2xlLmxvZyh0aGlzLm1lcmNoYW50SWQpOwogICAgfSwKCiAgICAvLyDojrflj5bov5DotLnmqKHniYgKICAgIGFzeW5jIGdldEFsbEV4cHJlc3NSdWxlKCkgewogICAgICBjb25zdCB7CiAgICAgICAgZGF0YQogICAgICB9ID0gYXdhaXQgZ2V0QWxsRXhwcmVzc1J1bGUoKTsKICAgICAgdGhpcy5leHByZXNzX2xpc3QgPSBkYXRhOwogICAgfSwKCiAgICBhc3luYyBzZXRTYWxlc051bShpbmRleCkgewogICAgICBpZiAodGhpcy52aXJ0dWFsX3NhbGVzX251bSA8PSAwKSB7CiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCLor7fovpPlhaXlpKfkuo4w55qE5YC8Iik7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBjb25zdCBkYXRhID0gYXdhaXQgc2V0U2FsZXNOdW0oewogICAgICAgIGlkOiB0aGlzLmdvb2RzX2RhdGFbaW5kZXhdLmlkLAogICAgICAgIHZhbDogdGhpcy52aXJ0dWFsX3NhbGVzX251bQogICAgICB9KTsKICAgICAgdGhpcy5nb29kc19kYXRhW2luZGV4XS5zYWxlX2ZhbHNlX3Zpc2libGUgPSBmYWxzZTsKICAgICAgYXdhaXQgdGhpcy5nZXRBbGxHb29kc0xpc3QoKTsKICAgIH0sCgogICAgc2hvd1NldFNhbGVOdW0oaW5kZXgpIHsKICAgICAgdGhpcy52aXJ0dWFsX3NhbGVzX251bSA9IHRoaXMuZ29vZHNfZGF0YVtpbmRleF0udmlydHVhbFNhbGVzTnVtOwogICAgICB0aGlzLmdvb2RzX2RhdGFbaW5kZXhdLnNhbGVfZmFsc2VfdmlzaWJsZSA9IHRydWU7CiAgICB9LAoKICAgIG9wZW5BZGRHb29kcygpIHsKICAgICAgdGhpcy4kcm91dGVyLnB1c2goIi9nb29kcy9zYWxlL0FkZEdvb2RzT25lU3RvcmUiKTsKICAgIH0sCgogICAgdGFiQ2hhbmdlKCkgewogICAgICBzd2l0Y2ggKHRoaXMuYWN0aXZlTmFtZSkgewogICAgICAgIGNhc2UgImFsbCI6CiAgICAgICAgICB0aGlzLmF1ZGl0U3RhdHVzID0gMjsKICAgICAgICAgIHRoaXMuaXNPcHRpb24gPSAiIjsKICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICJzZWxmR29vZHMiOgogICAgICAgICAgdGhpcy5hdWRpdFN0YXR1cyA9IDI7CiAgICAgICAgICB0aGlzLmlzT3B0aW9uID0gNTsKICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICJhdWRpdEdvb2RzIjoKICAgICAgICAgIHRoaXMuaXNPcHRpb24gPSAiIjsKICAgICAgICAgIHRoaXMuYXVkaXRTdGF0dXMgPSAxOwogICAgICAgICAgYnJlYWs7CiAgICAgIH0KCiAgICAgIHRoaXMucGFnZUNoYW5nZSgxKTsKICAgIH0sCgogICAgLy8g55So5LqO5Y+v5bGV5byA6KGo5qC85LiO5qCR5b2i6KGo5qC877yM5YiH5o2i5p+Q5LiA6KGM55qE5bGV5byA54q25oCB77yM5aaC5p6c5L2/55So5LqG56ys5LqM5Liq5Y+C5pWw77yM5YiZ5piv6K6+572u6L+Z5LiA6KGM5bGV5byA5LiO5ZCm77yIZXhwYW5kZWQg5Li6IHRydWUg5YiZ5bGV5byA77yJCiAgICB0b2dnbGVSb3dFeHBhbnNpb24ocm93KSB7CiAgICAgIHRoaXMuJHJlZnMuZ29vZHNUYWJsZS50b2dnbGVSb3dFeHBhbnNpb24ocm93KTsKICAgICAgdGhpcy5zaG93U3BlYyhyb3cpOwogICAgfSwKCiAgICBhc3luYyBzaG93U3BlYyhyb3cpIHsKICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmdvb2RzX2RhdGEuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5pZCA9PT0gcm93LmlkKTsKCiAgICAgIGlmICghdGhpcy5nb29kc19kYXRhW2luZGV4XS5nb29kc19za3VfbGlzdC5sZW5ndGgpIHsKICAgICAgICBjb25zdCB7CiAgICAgICAgICBkYXRhCiAgICAgICAgfSA9IGF3YWl0IGdldEdvb2RzSW5mbyhyb3cuaWQpOwoKICAgICAgICBpZiAoZGF0YS5zcGVjVHlwZSA9PT0gMikgewogICAgICAgICAgdGhpcy4kbmV4dFRpY2soKCkgPT4gewogICAgICAgICAgICB0aGlzLmdvb2RzX2RhdGFbaW5kZXhdLmdvb2RzX3NrdV9saXN0ID0gZGF0YS5zcGVjTXVsdGlwbGUubWFwKGl0ZW0gPT4gewogICAgICAgICAgICAgIGNvbnN0IHNwZWNWYWx1ZU5hbWUgPSBpdGVtLnNwZWNHcm91cC5tYXAoaXRlbVMgPT4gewogICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW1TLnNwZWNWYWx1ZU5hbWU7CiAgICAgICAgICAgICAgfSkuam9pbigiOyIpOwogICAgICAgICAgICAgIHJldHVybiB7IC4uLml0ZW0sCiAgICAgICAgICAgICAgICBzcGVjVmFsdWVOYW1lOiBzcGVjVmFsdWVOYW1lCiAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICB9KTsKICAgICAgICB9IGVsc2UgaWYgKGRhdGEuc3BlY1R5cGUgPT09IDEpIHsKICAgICAgICAgIHRoaXMuJG5leHRUaWNrKCgpID0+IHsKICAgICAgICAgICAgdGhpcy5nb29kc19kYXRhW2luZGV4XS5nb29kc19za3VfbGlzdCA9IGRhdGEuc3BlY011bHRpcGxlLm1hcChpdGVtID0+IHsKICAgICAgICAgICAgICByZXR1cm4geyAuLi5pdGVtLAogICAgICAgICAgICAgICAgc3BlY1ZhbHVlTmFtZTogIiIKICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9KTsKICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgfSAvLyB0aGlzLmdvb2RzX2RhdGEgPSB0YXJnZXQKCiAgICB9LAoKICAgIC8vIOWTgeeJjOaQnOe0oua4heepugogICAgZGVsQnJhbmQoKSB7CiAgICAgIHRoaXMuZm9ybS5icmFuZCA9ICIiOwogICAgICB0aGlzLmJyYW5kSWQgPSAiIjsKICAgICAgdGhpcy5wYWdlQ2hhbmdlKDEpOwogICAgfSwKCiAgICAvLyDmibnph4/pgInmi6kKICAgIHNlbGVjdGlvbkNoYW5nZSh2YWwpIHsKICAgICAgdGhpcy5jaGVja2VkQWxsID0gdmFsLmxlbmd0aCA9PT0gdGhpcy5nb29kc19kYXRhLmxlbmd0aDsKICAgICAgdGhpcy5jaG9vc2VfZGF0YSA9IHZhbDsKICAgIH0sCgogICAgLy8g57yW6L6R5a6M5oiQ5Zue6LCDCiAgICBlZGl0c3ViRGF0YSgpIHsKICAgICAgdGhpcy5nZXRBbGxHb29kc0xpc3QoKTsKICAgIH0sCgogICAgLy8g6LCD5pW05Lu35qC8IOe8lui+keafpeeciwogICAgb3BlblByaWNlTW9kZWwocm93KSB7CiAgICAgIHRoaXMuJHJvdXRlci5wdXNoKGAvZ29vZHMvc2FsZS9FZGl0R29vZHNPbmVTdG9yZS8ke3Jvdy5pZH1gKTsKICAgIH0sCgogICAgLy8gIOaJuemHj+S4iuS4i+aetgogICAgYXN5bmMgQmF0Y2hVbmxvYWRpbmcoZW5hYmxlU3RhdHVzKSB7CiAgICAgIGxldCB0aXRsZSA9IGVuYWJsZVN0YXR1cyA9PT0gNCA/ICLnoa7lrpropoHmibnph4/kuIvmnrbov5nkupvllYblk4HlkJfvvJ8iIDogIuehruWumuimgeaJuemHj+S4iuaetui/meS6m+WVhuWTgeWQl++8nyI7CgogICAgICBpZiAoIXRoaXMuY2hvb3NlX2RhdGEubGVuZ3RoKSB7CiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCLor7fpgInmi6nopoHmk43kvZznmoTllYblk4EiKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIHRoaXMuJGNvbmZpcm0odGl0bGUsICLmj5DnpLoiLCB7CiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICLnoa7lrpoiLAogICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICLlj5bmtogiLAogICAgICAgIHR5cGU6ICJ3YXJuaW5nIgogICAgICB9KS50aGVuKGFzeW5jICgpID0+IHsKICAgICAgICBpZiAoIXRoaXMuY2hvb3NlX2RhdGEubGVuZ3RoKSB7CiAgICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoIuivt+mAieaLqeimgeaTjeS9nOeahOWVhuWTgSIpOwogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgY29uc3QgaWREYXRhID0gdGhpcy5jaG9vc2VfZGF0YS5tYXAoaXRlbSA9PiB7CiAgICAgICAgICByZXR1cm4gaXRlbS5pZDsKICAgICAgICB9KTsKICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgQmF0Y2hVbmxvYWRpbmcoewogICAgICAgICAgaWQ6IGlkRGF0YSwKICAgICAgICAgIGVuYWJsZVN0YXR1czogZW5hYmxlU3RhdHVzCiAgICAgICAgfSk7CiAgICAgICAgdGhpcy4kbWVzc2FnZSh7CiAgICAgICAgICB0eXBlOiAic3VjY2VzcyIsCiAgICAgICAgICBtZXNzYWdlOiAi5pON5L2c5oiQ5YqfISIKICAgICAgICB9KTsKICAgICAgICBhd2FpdCB0aGlzLmdldEFsbEdvb2RzTGlzdCgpOwogICAgICB9KTsKICAgIH0sCgogICAgLy8g6I635Y+W5YiX6KGoCiAgICBhc3luYyBnZXRBbGxHb29kcyhleHBvcnRzKSB7CiAgICAgIGxldCBwYXJhbXMgPSB7CiAgICAgICAgcGFnZTogdGhpcy5wYWdlLAogICAgICAgIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLAogICAgICAgIGF1ZGl0U3RhdHVzOiB0aGlzLmF1ZGl0U3RhdHVzLAogICAgICAgIGlmTWVyY2hhbnQ6IHRoaXMuaWZNZXJjaGFudAogICAgICB9OwoKICAgICAgaWYgKHRoaXMuaXNPcHRpb24pIHsKICAgICAgICBwYXJhbXMuaXNPcHRpb24gPSB0aGlzLmlzT3B0aW9uOwogICAgICB9CgogICAgICBpZiAodGhpcy5tZXJjaGFudElkKSB7CiAgICAgICAgcGFyYW1zLm1lcmNoYW50SWQgPSB0aGlzLm1lcmNoYW50SWQ7CiAgICAgIH0KCiAgICAgIGlmIChleHBvcnRzKSB7CiAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IGV4cG9ydEdldEFsbEdvb2RzKHsgLi4ucGFyYW1zLAogICAgICAgICAgZXhwb3J0OiAxCiAgICAgICAgfSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IGdldEFsbEdvb2RzKHBhcmFtcyk7CiAgICAgICAgdGhpcy5nb29kc19kYXRhID0gZGF0YS5kYXRhLm1hcChpdGVtID0+IHsKICAgICAgICAgIHJldHVybiB7IC4uLml0ZW0sCiAgICAgICAgICAgIHNhbGVfZmFsc2VfdmlzaWJsZTogZmFsc2UsCiAgICAgICAgICAgIGdvb2RzX3NrdV9saXN0OiBbXQogICAgICAgICAgfTsKICAgICAgICB9KTsKICAgICAgICB0aGlzLnRvdGFsID0gZGF0YS5wYWdlVG90YWw7CiAgICAgIH0KICAgIH0sCgogICAgLy8g6I635Y+W5YiX6KGo77yI5LyY5YyW77yJCiAgICBhc3luYyBnZXRBbGxHb29kc0xpc3QoZXhwb3J0cykgewogICAgICBsZXQgcGFyYW1zID0gewogICAgICAgIHBhZ2U6IHRoaXMucGFnZSwKICAgICAgICBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSwKICAgICAgICBrZXl3b3JkOiB0aGlzLmtleXdvcmQsCiAgICAgICAgY2F0ZWdvcnlQYXRoOiB0aGlzLmZvcm0uY2F0ZWdvcnlQYXRoLmpvaW4oIiwiKSwKICAgICAgICBicmFuZElkOiB0aGlzLmJyYW5kSWQsCiAgICAgICAgZW5hYmxlU3RhdHVzOiB0aGlzLmVuYWJsZVN0YXR1cwogICAgICB9OwoKICAgICAgaWYgKHRoaXMubWVyY2hhbnRJZCkgewogICAgICAgIHBhcmFtcy5tZXJjaGFudElkID0gdGhpcy5tZXJjaGFudElkOwogICAgICB9CgogICAgICBpZiAoZXhwb3J0cykgewogICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBleHBvcnRHZXRBbGxHb29kc0xpc3QoeyAuLi5wYXJhbXMsCiAgICAgICAgICBleHBvcnQ6IDEKICAgICAgICB9KTsKICAgICAgfSBlbHNlIHsKICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgZ2V0QWxsR29vZHNMaXN0KHBhcmFtcyk7CiAgICAgICAgdGhpcy5nb29kc19kYXRhID0gZGF0YS5kYXRhLm1hcChpdGVtID0+IHsKICAgICAgICAgIHJldHVybiB7IC4uLml0ZW0sCiAgICAgICAgICAgIHNhbGVfZmFsc2VfdmlzaWJsZTogZmFsc2UsCiAgICAgICAgICAgIGdvb2RzX3NrdV9saXN0OiBbXQogICAgICAgICAgfTsKICAgICAgICB9KTsKICAgICAgICB0aGlzLnRvdGFsID0gZGF0YS5wYWdlVG90YWw7CiAgICAgIH0KICAgIH0sCgogICAgLy8gIOaQnOe0ouWVhuWTgSBzZWFyY2hHb29kCiAgICAvLyBhc3luYyBzZWFyY2hHb29kKGV4cG9ydHMpIHsKICAgIC8vICAgbGV0IHBhcmFtcyA9IHsKICAgIC8vICAgICBrZXl3b3JkOiB0aGlzLmtleXdvcmQsCiAgICAvLyAgICAgYnJhbmRJZDogdGhpcy5icmFuZElkLAogICAgLy8gICAgIGNhdGVnb3J5UGF0aDogdGhpcy5mb3JtLmNhdGVnb3J5UGF0aC5qb2luKCIsIiksCiAgICAvLyAgICAgZW5hYmxlU3RhdHVzOiB0aGlzLmVuYWJsZVN0YXR1cywKICAgIC8vICAgICBwYWdlOiB0aGlzLnBhZ2UsCiAgICAvLyAgICAgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsCiAgICAvLyAgICAgYXVkaXRTdGF0dXM6IHRoaXMuYXVkaXRTdGF0dXMsCiAgICAvLyAgICAgaWZNZXJjaGFudDogNSwKICAgIC8vICAgfTsKICAgIC8vICAgaWYgKHRoaXMuaXNPcHRpb24pIHsKICAgIC8vICAgICBwYXJhbXMuaXNPcHRpb24gPSB0aGlzLmlzT3B0aW9uOwogICAgLy8gICB9CiAgICAvLyAgIGlmICh0aGlzLm1lcmNoYW50SWQpIHsKICAgIC8vICAgICBwYXJhbXMubWVyY2hhbnRJZCA9IHRoaXMubWVyY2hhbnRJZDsKICAgIC8vICAgfQogICAgLy8gICBpZiAoZXhwb3J0cykgewogICAgLy8gICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBleHBvcnRTZWFyY2hHb29kKHsKICAgIC8vICAgICAgIC4uLnBhcmFtcywKICAgIC8vICAgICAgIGV4cG9ydDogMSwKICAgIC8vICAgICB9KTsKICAgIC8vICAgfSBlbHNlIHsKICAgIC8vICAgICBjb25zdCBkYXRhID0gYXdhaXQgc2VhcmNoR29vZChwYXJhbXMpOwogICAgLy8KICAgIC8vICAgICB0aGlzLmdvb2RzX2RhdGEgPSBkYXRhLmRhdGEubWFwKChpdGVtKSA9PiB7CiAgICAvLyAgICAgICByZXR1cm4gewogICAgLy8gICAgICAgICAuLi5pdGVtLAogICAgLy8gICAgICAgICBzYWxlX2ZhbHNlX3Zpc2libGU6IGZhbHNlLAogICAgLy8gICAgICAgICBnb29kc19za3VfbGlzdDogW10sCiAgICAvLyAgICAgICB9OwogICAgLy8gICAgIH0pOwogICAgLy8gICAgIHRoaXMudG90YWwgPSBkYXRhLnBhZ2VUb3RhbDsKICAgIC8vICAgfQogICAgLy8gfSwKICAgIC8vIOWIpOaWreW9k+WJjeS9v+eUqOaWueazleS4uuWIl+ihqOaOpeWPo+i/mOaYr+aQnOe0ouW8leaTjuaOpeWPoyDojrflj5bliJfooajmlbDmja4KICAgIC8vIGdldERhdGEoZXhwb3J0cykgewogICAgLy8gICAvLyDmkJzntKLlj4LmlbDop4TmlbQKICAgIC8vICAgY29uc3Qgb2JqID0gewogICAgLy8gICAgIGtleXdvcmQ6IHRoaXMua2V5d29yZCwKICAgIC8vICAgICBicmFuZElkOiB0aGlzLmJyYW5kSWQsCiAgICAvLyAgICAgY2F0ZWdvcnlQYXRoOiB0aGlzLmZvcm0uY2F0ZWdvcnlQYXRoLmpvaW4oIiwiKSwKICAgIC8vICAgICBlbmFibGVTdGF0dXM6IHRoaXMuZW5hYmxlU3RhdHVzLAogICAgLy8gICB9OwogICAgLy8gICBjb25zdCBpc0tleSA9IHRoaXMuJF9jb21tb24uaXNTZXJjaChvYmopOwogICAgLy8gICBpZiAoaXNLZXkpIHsKICAgIC8vICAgICB0aGlzLnNlYXJjaEdvb2QoZXhwb3J0cyk7CiAgICAvLyAgIH0gZWxzZSB7CiAgICAvLyAgICAgdGhpcy5nZXRBbGxHb29kcyhleHBvcnRzKTsKICAgIC8vICAgfQogICAgLy8gfSwKICAgIC8vIOWIhuexu+aQnOe0ogogICAgZ29vZHNDaGFuZSh2YWwpIHsKICAgICAgdGhpcy5wYWdlQ2hhbmdlKDEpOwogICAgfSwKCiAgICAvLyDlk4HniYzmkJzntKIKICAgIGJyYW5kQ29uZmlybShyb3cpIHsKICAgICAgdGhpcy5mb3JtLmJyYW5kID0gcm93WzBdLnRpdGxlOwogICAgICB0aGlzLmJyYW5kSWQgPSByb3dbMF0uaWQ7CiAgICAgIHRoaXMucGFnZUNoYW5nZSgxKTsKICAgIH0sCgogICAgLy8g5ZWG5ZOB5LiK5LiL5p62CiAgICBjaGFuZ2VHb29kc1N0YXR1cyhyb3cpIHsKICAgICAgY29uc3QgdGl0ID0gcm93LmVuYWJsZVN0YXR1cyA9PT0gNSA/ICLmmK/lkKbopoHkuIvmnrbor6XllYblk4HvvJ8iIDogIuaYr+WQpuimgeWwhuivpeWVhuWTgeS4iuaetu+8nyI7CiAgICAgIHRoaXMuJGNvbmZpcm0odGl0LCAi5o+Q56S6IiwgewogICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAi56Gu5a6aIiwKICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAi5Y+W5raIIiwKICAgICAgICB0eXBlOiAid2FybmluZyIKICAgICAgfSkudGhlbihhc3luYyAoKSA9PiB7CiAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IEdvb2RzVXBkYXRlRW5hYmxlU3RhdHVzKHsKICAgICAgICAgIGlkOiByb3cuaWQsCiAgICAgICAgICBlbmFibGVTdGF0dXM6IHJvdy5lbmFibGVTdGF0dXMgPT09IDQgPyA1IDogNAogICAgICAgIH0pOwogICAgICAgIHRoaXMuJG1lc3NhZ2UoewogICAgICAgICAgdHlwZTogInN1Y2Nlc3MiLAogICAgICAgICAgbWVzc2FnZTogIuaTjeS9nOaIkOWKnyEiCiAgICAgICAgfSk7CiAgICAgICAgdGhpcy5nZXRBbGxHb29kc0xpc3QoKTsKICAgICAgfSk7CiAgICB9LAoKICAgIC8vIOWIh+mhtQogICAgcGFnZUNoYW5nZSh2YWwpIHsKICAgICAgdGhpcy5wYWdlID0gdmFsOwogICAgICB0aGlzLmdldEFsbEdvb2RzTGlzdCgpOwogICAgfSwKCiAgICAvLyDmr4/pobXmlbDmja7lpKflsI/mlLnlj5gKICAgIHNpemVDaGFuZ2UodmFsKSB7CiAgICAgIHRoaXMucGFnZVNpemUgPSB2YWw7CiAgICAgIHRoaXMucGFnZUNoYW5nZSgxKTsKICAgIH0sCgogICAgY2hlY2tBbGxDaGFuZ2UoKSB7CiAgICAgIHRoaXMuJHJlZnMuZ29vZHNUYWJsZS50b2dnbGVBbGxTZWxlY3Rpb24oKTsKICAgIH0sCgogICAgLy8g5omT5byA5om56YeP6K6+572u5by556qXCiAgICBvcGVuU2V0KHRpdCkgewogICAgICB0aGlzLmlzX3NldCA9IHRydWU7CiAgICAgIHRoaXMuc2V0X3RpdCA9IHRpdDsKICAgIH0sCgogICAgLy8g5om56YeP5o+Q5LqkCiAgICBtb3JlU3ViRGF0YSgpIHsKICAgICAgaWYgKHRoaXMuc2V0X3RpdCA9PT0gIuiuvue9ruWTgeeJjCIpIHsKICAgICAgICB0aGlzLnNldEJyYW5kKCk7CiAgICAgIH0KCiAgICAgIGlmICh0aGlzLnNldF90aXQgPT09ICLomZrmi5/plIDph48iKSB7CiAgICAgICAgdGhpcy5zZXRTYWxlc051bUJhdGNoKCk7CiAgICAgIH0KCiAgICAgIGlmICh0aGlzLnNldF90aXQgPT09ICLnianmtYHorr7nva4iKSB7CiAgICAgICAgdGhpcy5iYXRjaEdvb2RzRXhwcmVzcygpOwogICAgICB9CiAgICB9LAoKICAgIC8vIOaJuemHj+iuvue9rui/kOi0uQogICAgYXN5bmMgYmF0Y2hHb29kc0V4cHJlc3MoKSB7CiAgICAgIGlmICghdGhpcy5jaG9vc2VfZGF0YS5sZW5ndGgpIHsKICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoIuivt+mAieaLqeimgeaTjeS9nOeahOWVhuWTgSIpOwogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgY29uc3QgaWREYXRhID0gdGhpcy5jaG9vc2VfZGF0YS5tYXAoaXRlbSA9PiB7CiAgICAgICAgcmV0dXJuIGl0ZW0uaWQ7CiAgICAgIH0pOwogICAgICB0aGlzLm1vcmVfc3ViX2J0biA9IHRydWU7CiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBiYXRjaEdvb2RzRXhwcmVzcyh7CiAgICAgICAgZXhwcmVzc1R5cGU6IHRoaXMuc2V0X2Zvcm0uZXhwcmVzc1R5cGUsCiAgICAgICAgcnVsZUlkOiB0aGlzLnNldF9mb3JtLnJ1bGVJZCwKICAgICAgICBleHByZXNzRmVlOiB0aGlzLnNldF9mb3JtLmV4cHJlc3NGZWUsCiAgICAgICAgaWRzOiBpZERhdGEKICAgICAgfSk7CiAgICAgIHRoaXMubW9yZV9zdWJfYnRuID0gZmFsc2U7CiAgICAgIHRoaXMuaXNfc2V0ID0gZmFsc2U7CiAgICAgIHRoaXMuJG1lc3NhZ2Uuc3VjY2Vzcygi5pON5L2c5oiQ5YqfIik7CiAgICAgIHRoaXMuZ2V0QWxsR29vZHNMaXN0KCk7CiAgICB9LAoKICAgIC8vIOiuvue9ruiZmuaLn+mUgOmHjwogICAgYXN5bmMgc2V0U2FsZXNOdW1CYXRjaCgpIHsKICAgICAgaWYgKCF0aGlzLmNob29zZV9kYXRhLmxlbmd0aCkgewogICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZygi6K+36YCJ5oup6KaB5pON5L2c55qE5ZWG5ZOBIik7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBpZiAoIXRoaXMuc2FsZV9udW1fZm9ybS5taW5WYWwpIHsKICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoIuiZmuaLn+mUgOmHj+WMuumXtOacgOWwj+WAvOS4jeiDveS4ujAiKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIGlmICghdGhpcy5zYWxlX251bV9mb3JtLm1heFZhbCkgewogICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZygi6Jma5ouf6ZSA6YeP5Yy66Ze05pyA5aSn5YC85LiN6IO95Li6MCIpOwogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgaWYgKHRoaXMuc2FsZV9udW1fZm9ybS5tYXhWYWwgPD0gdGhpcy5zYWxlX251bV9mb3JtLm1pblZhbCkgewogICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZygi6Jma5ouf6ZSA6YeP5Yy66Ze05pyA5aSn5YC85b+F6aG75aSn5LqO5pyA5bCP5YC8Iik7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBjb25zdCBpZERhdGEgPSB0aGlzLmNob29zZV9kYXRhLm1hcChpdGVtID0+IHsKICAgICAgICByZXR1cm4gaXRlbS5pZDsKICAgICAgfSk7CiAgICAgIHRoaXMubW9yZV9zdWJfYnRuID0gdHJ1ZTsKICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHNldFNhbGVzTnVtQmF0Y2goeyAuLi50aGlzLnNhbGVfbnVtX2Zvcm0sCiAgICAgICAgaWRzOiBpZERhdGEKICAgICAgfSk7CiAgICAgIHRoaXMubW9yZV9zdWJfYnRuID0gZmFsc2U7CiAgICAgIHRoaXMuaXNfc2V0ID0gZmFsc2U7CiAgICAgIHRoaXMuJG1lc3NhZ2Uuc3VjY2Vzcygi5pON5L2c5oiQ5YqfIik7CiAgICAgIHRoaXMuZ2V0QWxsR29vZHNMaXN0KCk7CiAgICB9LAoKICAgIC8vICDorr7nva7lk4HniYwKICAgIGFzeW5jIHNldEJyYW5kKCkgewogICAgICBpZiAoIXRoaXMuY2hvb3NlX2RhdGEubGVuZ3RoKSB7CiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCLor7fpgInmi6nopoHmk43kvZznmoTllYblk4EiKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIGlmICghdGhpcy5icmFuZElkKSB7CiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCLor7fpgInmi6nopoHmk43kvZznmoTlk4HniYwiKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIGNvbnN0IGlkRGF0YSA9IHRoaXMuY2hvb3NlX2RhdGEubWFwKGl0ZW0gPT4gewogICAgICAgIHJldHVybiBpdGVtLmJhc2ljR29vZHNJZDsKICAgICAgfSk7CiAgICAgIHRoaXMubW9yZV9zdWJfYnRuID0gdHJ1ZTsKICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHNldEJyYW5kKHsKICAgICAgICBpZDogaWREYXRhLAogICAgICAgIGJyYW5kSWQ6IHRoaXMuYnJhbmRJZAogICAgICB9KTsKICAgICAgdGhpcy5tb3JlX3N1Yl9idG4gPSBmYWxzZTsKICAgICAgdGhpcy5pc19zZXQgPSBmYWxzZTsKICAgICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKCLmk43kvZzmiJDlip8iKTsKICAgICAgdGhpcy5nZXRBbGxHb29kc0xpc3QoKTsKICAgIH0sCgogICAgLy8g5a6h5qC45ZWG5ZOBCiAgICBhc3luYyBhdWRpdEdvb2RzKGlkKSB7CiAgICAgIHRoaXMuJGNvbmZpcm0oIuehruWumuimgeWuoeaguOmAmui/h+ivpeWVhuWTgeWQlz8iLCAi5o+Q56S6IiwgewogICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAi56Gu5a6aIiwKICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAi5Y+W5raIIiwKICAgICAgICB0eXBlOiAid2FybmluZyIKICAgICAgfSkudGhlbihhc3luYyAoKSA9PiB7CiAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IGF1ZGl0R29vZHMoaWQpOwogICAgICAgIHRoaXMuJG1lc3NhZ2Uuc3VjY2Vzcygi5pON5L2c5oiQ5YqfIik7CiAgICAgICAgYXdhaXQgdGhpcy5nZXRBbGxHb29kc0xpc3QoKTsKICAgICAgfSk7CiAgICB9CgogIH0KfTs="},{"version":3,"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoaA;AACA;AACA;AACA;AACA,SACAA,WADA,EAEAC,YAFA,EAGAC,cAHA,EAIAC,WAJA,EAKAC,iBALA,EAMAC,UANA,EAOAC,gBAPA,EAQAC,QARA,EASAC,MATA,EAUAC,uBAVA,EAWAC,iBAXA,EAYAC,gBAZA,EAaAC,QAbA,EAcAC,UAdA,EAeAC,eAfA,EAgBAC,qBAhBA,QAiBA,aAjBA;AAkBA;AACA;AACA;EACAC,sBADA;EAEAC;IACAC,aADA;IAEAC,SAFA;IAGAC;EAHA,CAFA;;EAOAC;IACA;MACAC,cADA;MAEAC,aAFA;MAGAC,oBAHA;MAIAC,eAJA;MAKA;MACAC;QACAC,OADA;QAEAC,UAFA;QAGAC;MAHA,CANA;MAWAC,iBAXA;MAYAC,kBAZA;MAaAC,iBAbA;MAaA;MACAC,eAdA;MAcA;MACAC,cAfA;MAgBAC,WAhBA;MAiBAC,WAjBA;MAkBAC,cAlBA;MAmBAC,gBAnBA;MAoBAC,gBApBA;MAqBAC,QArBA;MAsBAC,OAtBA;MAuBAC,YAvBA;MAwBAC,cAxBA;MAwBA;MACAC,eAzBA;MA0BAC;QACAC,gBADA;QAEAC,cAFA;QAGAC,SAHA;QAIAC,QAJA;QAKAX;MALA,CA1BA;MAiCAY,sBAjCA;MAkCAC,mBAlCA;MAmCAC;QACAC,gBADA;QAEAC,YAFA;QAGAC,aAHA;QAIAC,YAJA;QAKAC,cALA;QAMAC,0BANA;QAMA;QACAC,cAPA;QAOA;QACAC,cARA;QAQA;QACAC,cATA;QASA;QACAC,UAVA,CAUA;;MAVA,CAnCA;MA+CAC,gBA/CA;MAgDAC,mBAhDA;MAgDA;MACAC,aAjDA;MAkDAC,WAlDA;MAmDAC,cAnDA;MAmDA;MACAC,YApDA,CAoDA;;IApDA;EAsDA,CA9DA;;EA+DAC,YACA;MAAAC;IAAA;EADA,CA/DA;;EAkEAC;IACA;MACA;IACA,CAHA,CAIA;;;IACA;IACA;EACA,CAzEA;;EA0EAC;IACA;IACA;EACA,CA7EA;;EA8EAC;IACA;MACA;QACAhC,eADA;QAEAC;MAFA;MAIA;MACAgC;IACA,CARA;;IASA;IACA;MACA;QAAArD;MAAA;MACA;IACA,CAbA;;IAcA;MACA;QACA;QACA;MACA;;MACA;QACAsD,6BADA;QAEAC;MAFA;MAKA;MACA;IACA,CA1BA;;IA2BAC;MACA;MACA;IACA,CA9BA;;IA+BAC;MACA;IACA,CAjCA;;IAkCAC;MACA;QACA;UACA;UACA;UACA;;QACA;UACA;UACA;UACA;;QACA;UACA;UACA;UACA;MAZA;;MAcA;IACA,CAlDA;;IAmDA;IACAC;MACA;MACA;IACA,CAvDA;;IAwDA;MACA;;MACA;QACA;UAAA3D;QAAA;;QACA;UACA;YACA,8DACA4D;cACA,qCACAC,GADA,CACAC;gBACA;cACA,CAHA,EAIAC,IAJA,CAIA,GAJA;cAKA,SACA,OADA;gBAEAC;cAFA;YAIA,CAXA;UAaA,CAdA;QAeA,CAhBA,MAgBA;UACA;YACA,8DACAJ;cACA,SACA,OADA;gBAEAI;cAFA;YAIA,CANA;UAQA,CATA;QAUA;MACA,CAhCA,CAiCA;;IACA,CA1FA;;IA2FA;IACAC;MACA;MACA;MACA;IACA,CAhGA;;IAiGA;IACAC;MACA;MACA;IACA,CArGA;;IAsGA;IACAC;MACA;IACA,CAzGA;;IA0GA;IACAC;MACA;IACA,CA7GA;;IA+GA;IACA;MACA,YACAnD,qBACA,eADA,GAEA,eAHA;;MAIA;QACA;QACA;MACA;;MACA;QACAoD,uBADA;QAEAC,sBAFA;QAGAC;MAHA,GAIAC,IAJA,CAIA;QACA;UACA;UACA;QACA;;QACA;UACA;QACA,CAFA;QAGA;UACAlB,UADA;UAEArC;QAFA;QAIA;UACAsD,eADA;UAEAE;QAFA;QAIA;MACA,CArBA;IAsBA,CA/IA;;IAgJA;IACA;MACA;QACArD,eADA;QAEAC,uBAFA;QAGAyB,6BAHA;QAIA5C;MAJA;;MAMA;QACAwE;MACA;;MACA;QACAA;MACA;;MACA;QACA,uCACA,SADA;UAEAC;QAFA;MAIA,CALA,MAKA;QACA;QACA;UACA,SACA,OADA;YAEAC,yBAFA;YAGAlE;UAHA;QAKA,CANA;QAOA;MACA;IACA,CA9KA;;IA+KA;IACA;MACA;QACAU,eADA;QAEAC,uBAFA;QAGAP,qBAHA;QAIAW,8CAJA;QAKAV,qBALA;QAMAE;MANA;;MAQA;QACAyD;MACA;;MACA;QACA,2CACA,SADA;UAEAC;QAFA;MAIA,CALA,MAKA;QACA;QACA;UACA,SACA,OADA;YAEAC,yBAFA;YAGAlE;UAHA;QAKA,CANA;QAOA;MACA;IACA,CA5MA;;IA6MA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACAmE;MACA;IACA,CApQA;;IAqQA;IACAC;MACA;MACA;MACA;IACA,CA1QA;;IA2QA;IACAC;MACA,YACAC,yBACA,WADA,GAEA,YAHA;MAIA;QACAX,uBADA;QAEAC,sBAFA;QAGAC;MAHA,GAIAC,IAJA,CAIA;QACA;UACAlB,UADA;UAEArC;QAFA;QAKA;UACAsD,eADA;UAEAE;QAFA;QAIA;MACA,CAfA;IAgBA,CAjSA;;IAkSA;IACAQ;MACA;MACA;IACA,CAtSA;;IAuSA;IACAC;MACA;MACA;IACA,CA3SA;;IA4SAC;MACA;IACA,CA9SA;;IA+SA;IACAC;MACA;MACA;IACA,CAnTA;;IAoTA;IACAC;MACA;QACA;MACA;;MACA;QACA;MACA;;MACA;QACA;MACA;IACA,CA/TA;;IAgUA;IACA;MACA;QACA;QACA;MACA;;MACA;QACA;MACA,CAFA;MAGA;MACA;QACA/C,sCADA;QAEAG,4BAFA;QAGAF,oCAHA;QAIAjC;MAJA;MAMA;MAEA;MACA;MACA;IACA,CArVA;;IAsVA;IACA;MACA;QACA;QACA;MACA;;MACA;QACA;QACA;MACA;;MACA;QACA;QACA;MACA;;MACA;QACA;QACA;MACA;;MACA;QACA;MACA,CAFA;MAGA;MACA,sCACA,qBADA;QAEAA;MAFA;MAIA;MAEA;MACA;MACA;IACA,CArXA;;IAsXA;IACA;MACA;QACA;QACA;MACA;;MACA;QACA;QACA;MACA;;MACA;QACA;MACA,CAFA;MAGA;MACA;QACAgD,UADA;QAEAvC;MAFA;MAIA;MAEA;MACA;MACA;IACA,CA7YA;;IA+YA;IACA;MACA;QACAsD,uBADA;QAEAC,sBAFA;QAGAC;MAHA,GAIAC,IAJA,CAIA;QACA;QACA;QACA;MACA,CARA;IASA;;EA1ZA;AA9EA","names":["setSalesNum","getGoodsInfo","BatchUnloading","getAllGoods","exportGetAllGoods","searchGood","exportSearchGood","delGoods","setTop","GoodsUpdateEnableStatus","batchGoodsExpress","setSalesNumBatch","setBrand","auditGoods","getAllGoodsList","exportGetAllGoodsList","name","components","GoodsCategory","EditGoods","BrandSelModel","data","merchantId","ifMerchant","virtual_sales_num","set_goods_id","sale_num_form","ids","minVal","maxVal","activeName","goods_sku_list","checkedAll","is_price","goods_name","keyword","brandId","categoryId","enableStatus","sel_brand","total","page","pageSize","goods_data","choose_data","form","categoryPath","search_key","brand","shop","price_goods_detail","spec_loading","set_form","masterUnitId","shopName","brandName","category","branchUnit","deliverySupIds","expressType","expressFee","showExpress","ruleId","express_list","more_sub_btn","is_set","set_tit","auditStatus","isOption","computed","storeData","created","activated","methods","console","id","val","showSetSaleNum","openAddGoods","tabChange","toggleRowExpansion","item","map","itemS","join","specValueName","delBrand","selectionChange","editsubData","openPriceModel","confirmButtonText","cancelButtonText","type","then","message","params","export","sale_false_visible","goodsChane","brandConfirm","changeGoodsStatus","row","pageChange","sizeChange","checkAllChange","openSet","moreSubData"],"sourceRoot":"src/viewsMerch/goods","sources":["GoodsList.vue"],"sourcesContent":["<template>\n <ContainerQuery>\n <div v-if=\"$accessCheck($Access.PublishGoodsSearch)\" slot=\"more\">\n <el-form :inline=\"true\" size=\"small\">\n <el-form-item>\n <el-input\n v-model=\"keyword\"\n style=\"width: 220px\"\n placeholder=\"商品名称/编码/条码\"\n clearable\n @keyup.enter.native=\"pageChange(1)\"\n @clear=\"pageChange(1)\"\n >\n <el-button slot=\"append\" @click=\"pageChange(1)\">\n <i class=\"el-icon-search\"></i>\n </el-button>\n </el-input>\n </el-form-item>\n <el-form-item>\n <GoodsCategory\n v-model=\"form.categoryPath\"\n :width=\"160\"\n check-strictly\n clearable\n size=\"small\"\n @change=\"goodsChane\"\n />\n </el-form-item>\n <el-form-item>\n <el-input\n v-model=\"form.brand\"\n style=\"width: 140px\"\n placeholder=\"商品品牌\"\n clearable\n @clear=\"delBrand\"\n >\n <i\n slot=\"suffix\"\n class=\"el-input__icon el-icon-search\"\n @click=\"sel_brand = true\"\n ></i>\n </el-input>\n </el-form-item>\n\n <el-form-item>\n <el-select\n v-model=\"enableStatus\"\n placeholder=\"销售状态\"\n style=\"width: 100px\"\n clearable\n @change=\"pageChange(1)\"\n >\n <el-option label=\"上架\" :value=\"5\"></el-option>\n <el-option label=\"下架\" :value=\"4\"></el-option>\n </el-select>\n </el-form-item>\n </el-form>\n </div>\n <div v-if=\"!merchantId\" slot=\"left\">\n <el-dropdown split-button type=\"primary\" @click=\"openAddGoods\">\n 发布商品\n <el-dropdown-menu slot=\"dropdown\">\n <el-dropdown-item>\n <div class=\"dropdown-div\" @click=\"getAllGoodsList(1)\">导出</div>\n </el-dropdown-item>\n </el-dropdown-menu>\n </el-dropdown>\n </div>\n <!-- <el-tabs v-model=\"activeName\" type=\"card\" @tab-click=\"tabChange\">\n <el-tab-pane label=\"商品列表\" name=\"all\"></el-tab-pane>\n <el-tab-pane label=\"自选商品\" name=\"selfGoods\"></el-tab-pane>\n <el-tab-pane label=\"待审核商品\" name=\"auditGoods\"></el-tab-pane>\n </el-tabs>-->\n <el-table\n ref=\"goodsTable\"\n :data=\"goods_data\"\n @expand-change=\"showSpec\"\n @selection-change=\"selectionChange\"\n >\n <el-table-column\n type=\"selection\"\n width=\"50\"\n fixed=\"left\"\n ></el-table-column>\n <el-table-column\n prop=\"id\"\n label=\"ID\"\n fixed=\"left\"\n min-width=\"70\"\n ></el-table-column>\n <el-table-column\n prop=\"materialName\"\n label=\"商品\"\n fixed=\"left\"\n min-width=\"220\"\n >\n <template slot-scope=\"scope\">\n <div class=\"clearfix\">\n <div class=\"float_left\">\n <el-image fit=\"cover\" :src=\"scope.row.images[0]\"></el-image>\n </div>\n <div class=\"float_left goods-name-view\" style=\"margin-left: 10px\">\n <div class=\"goods-title\">\n {{ scope.row.title }}\n </div>\n <div class=\"goods-no\">\n {{ scope.row.code }}\n </div>\n </div>\n </div>\n </template>\n </el-table-column>\n <el-table-column\n prop=\"categoryName\"\n label=\"商品分类\"\n min-width=\"120\"\n ></el-table-column>\n <el-table-column label=\"规格\" width=\"100\">\n <template slot-scope=\"scope\">\n <div class=\"sku-btn\" @click=\"toggleRowExpansion(scope.row)\">\n {{ scope.row.specTotal }}种规格\n </div>\n </template>\n </el-table-column>\n <el-table-column label=\"\" width=\"40\" type=\"expand\">\n <template slot-scope=\"scope\">\n <ul class=\"sku-ul\">\n <li\n v-for=\"(item, index) in scope.row.goods_sku_list\"\n :key=\"index\"\n class=\"sku-li\"\n >\n <div class=\"clearfix\">\n <div class=\"float_left\">\n <img\n class=\"sku-img\"\n :src=\"item.specImage || scope.row.images[0]\"\n alt=\"\"\n />\n </div>\n <div class=\"sku-info float_left\">\n <p>\n <span class=\"label\">规格:</span>\n {{ item.unitName }};{{ item.specValueName }}\n </p>\n <p>\n <span class=\"label\">库存:</span>\n {{ $_common.formatNub(item.inventory) }};\n <span class=\"label\">销量:</span>\n {{ $_common.formatNub(item.salesNum) }}\n </p>\n <p>\n <span class=\"label\">起订量:</span>\n {{ $_common.formatNub(item.setNum) }};\n <span class=\"label\">市场价:</span>\n {{ $_common.formattedNumber(item.marketPrice) }}\n </p>\n <p>\n <span class=\"label\">阶梯价:</span>\n {{ item.enabledLadder === 1 ? \"是\" : \"否\" }};\n <span v-if=\"!item.enabledLadder\">\n <span class=\"label\">销售价:</span>\n {{ $_common.formattedNumber(item.salePrice) }}\n </span>\n </p>\n </div>\n </div>\n <div v-if=\"item.enabledLadder\" class=\"clearfix\">\n <div class=\"float_left\" style=\"width: 50px; margin-right: 10px\">\n 销售价:\n </div>\n <div class=\"float_left\">\n <p v-for=\"(price, indexP) in item.ladderPrice\" :key=\"indexP\">\n <span>\n 数量:\n <span style=\"color: #ff4040\">\n {{ price.from }}-{{\n indexP === item.ladderPrice.length - 1\n ? \"∞\"\n : price.to\n }}\n </span>\n ,\n </span>\n <span>\n 价格:\n <span style=\"color: #ff4040\">\n {{ $_common.formattedNumber(price.price) }}\n </span>\n ;\n </span>\n </p>\n </div>\n </div>\n </li>\n </ul>\n </template>\n </el-table-column>\n <el-table-column\n prop=\"unitNameMaster\"\n label=\"基本单位\"\n min-width=\"80\"\n ></el-table-column>\n <el-table-column prop=\"masterInventory\" label=\"总库存\" min-width=\"100\">\n <template slot-scope=\"scope\">\n {{ scope.row.inventorTotal - 0 }}\n </template>\n </el-table-column>\n <!--<el-table-column prop=\"virtualSalesNum\" label=\"虚拟销量\" min-width=\"100\">\n <template slot-scope=\"scope\">\n <el-input-number\n v-if=\"scope.row.sale_false_visible\"\n v-model=\"virtual_sales_num\"\n style=\"width: 100%\"\n :controls=\"false\"\n size=\"small\"\n @keyup.enter.native=\"setSalesNum(scope.$index)\"\n @blur=\"setSalesNum(scope.$index)\"\n ></el-input-number>\n <div v-else class=\"click-div\" @click=\"showSetSaleNum(scope.$index)\">\n {{ scope.row.virtualSalesNum }}\n <el-button\n v-if=\"$accessCheck($Access.PublishGoodssetSalesNum)\"\n type=\"text\"\n icon=\"el-icon-edit\"\n ></el-button>\n </div>\n </template>\n </el-table-column>-->\n <el-table-column\n prop=\"salesNum\"\n label=\"真实销量\"\n min-width=\"100\"\n ></el-table-column>\n <el-table-column prop=\"enableStatus\" label=\"商品状态\" min-width=\"100\">\n <template slot-scope=\"scope\">\n <span v-if=\"scope.row.auditStatus === 1\" class=\"warning-status\">\n 待审核\n </span>\n <div v-else>\n <span v-if=\"scope.row.enableStatus === 5\" class=\"success-status\">\n 上架\n </span>\n <span v-else class=\"info-status\">下架</span>\n </div>\n </template>\n </el-table-column>\n <el-table-column\n prop=\"shopName\"\n label=\"销售店铺\"\n show-overflow-tooltip\n min-width=\"100\"\n ></el-table-column>\n <el-table-column prop=\"createTime\" label=\"创建时间\" width=\"160\">\n <template slot-scope=\"scope\">\n {{ $_common.formatDate(scope.row.createTime) }}\n </template>\n </el-table-column>\n <el-table-column label=\"操作\" fixed=\"right\" min-width=\"100\">\n <template slot-scope=\"scope\">\n <el-button\n v-if=\"\n $accessCheck($Access.PublishGoodsUpdateEnableStatus) &&\n scope.row.auditStatus === 2\n \"\n type=\"text\"\n @click=\"changeGoodsStatus(scope.row)\"\n >\n {{ scope.row.enableStatus === 5 ? \"下架\" : \"上架\" }}\n </el-button>\n </template>\n </el-table-column>\n </el-table>\n <el-drawer\n class=\"edit-drawer\"\n :title=\"goods_name\"\n :visible.sync=\"is_price\"\n direction=\"rtl\"\n size=\"50%\"\n >\n <EditGoods\n v-if=\"is_price\"\n :goods-id=\"price_goods_detail.id\"\n @subData=\"editsubData\"\n />\n </el-drawer>\n <FooterPage\n :page-size=\"pageSize\"\n :total-page.sync=\"total\"\n :current-page.sync=\"page\"\n @pageChange=\"pageChange\"\n @sizeChange=\"sizeChange\"\n >\n <div slot=\"btn-div\" class=\"foot-btn-div\">\n <el-checkbox\n v-model=\"checkedAll\"\n @change=\"checkAllChange\"\n ></el-checkbox>\n <el-dropdown\n v-if=\"$accessCheck($Access.PublishGoodsUpdateEnableStatus)\"\n >\n <el-button size=\"mini\">\n 批量上下架\n <i class=\"el-icon-caret-top\"></i>\n </el-button>\n <el-dropdown-menu slot=\"dropdown\">\n <el-dropdown-item>\n <div class=\"dropdown-div\" @click=\"BatchUnloading(5)\">\n 批量上架\n </div>\n </el-dropdown-item>\n <el-dropdown-item>\n <div class=\"dropdown-div\" @click=\"BatchUnloading(4)\">\n 批量下架\n </div>\n </el-dropdown-item>\n </el-dropdown-menu>\n </el-dropdown>\n </div>\n </FooterPage>\n <BrandSelModel\n v-if=\"sel_brand\"\n :is-check=\"false\"\n :dialog-visible=\"sel_brand\"\n @close=\"sel_brand = false\"\n @confirm=\"brandConfirm\"\n />\n <el-dialog\n :close-on-press-escape=\"false\"\n :close-on-click-modal=\"false\"\n :title=\"set_tit\"\n :visible.sync=\"is_set\"\n width=\"30%\"\n >\n <el-form ref=\"set_form\" :model=\"set_form\" label-width=\"100px\">\n <el-form-item v-if=\"set_tit === '虚拟销量'\" label=\"销量区间:\">\n <el-input-number\n v-model=\"sale_num_form.minVal\"\n :controls=\"false\"\n ></el-input-number>\n -\n <el-input-number\n v-model=\"sale_num_form.maxVal\"\n :controls=\"false\"\n ></el-input-number>\n <p class=\"form-tip\">虚拟总销量等于销量区间内产生的随机数</p>\n </el-form-item>\n <el-form-item v-if=\"set_tit === '转移分类'\" label=\"转移分类:\">\n <GoodsCategory v-model=\"set_form.category\" check-strictly />\n </el-form-item>\n <el-form-item v-if=\"set_tit === '设置品牌'\" label=\"设置品牌:\">\n <el-input\n v-model=\"set_form.brandName\"\n readonly\n style=\"width: 240px\"\n placeholder=\"请选择品牌\"\n >\n <i\n slot=\"suffix\"\n class=\"el-input__icon el-icon-search\"\n @click=\"sel_brand = true\"\n ></i>\n </el-input>\n </el-form-item>\n <div v-if=\"set_tit === '物流设置'\">\n <el-form-item v-if=\"false\" label=\"物流支持:\" prop=\"deliverySupIds\">\n <el-checkbox-group v-model=\"set_form.deliverySupIds\">\n <el-checkbox label=\"1\">快递</el-checkbox>\n <el-checkbox label=\"2\">自提</el-checkbox>\n </el-checkbox-group>\n </el-form-item>\n <br />\n <el-form-item label=\"快递运费:\">\n <el-radio-group v-model=\"set_form.expressType\">\n <el-radio :label=\"1\">包邮</el-radio>\n <el-radio :label=\"2\">运费模版</el-radio>\n <el-radio :label=\"3\">统一运费</el-radio>\n </el-radio-group>\n </el-form-item>\n <br />\n <div v-if=\"set_form.expressType === 2\">\n <el-form-item label=\"运费模板:\" prop=\"ruleId\">\n <el-select v-model=\"set_form.ruleId\" placeholder=\"请选择\">\n <el-option\n v-for=\"(item, index) in express_list\"\n :key=\"index\"\n :label=\"item.title\"\n :value=\"item.id\"\n ></el-option>\n </el-select>\n </el-form-item>\n </div>\n <div v-if=\"set_form.expressType === 3\">\n <el-form-item label=\"统一运费:\" prop=\"expressFee\">\n <el-input-number\n v-model=\"set_form.expressFee\"\n :controls=\"false\"\n ></el-input-number>\n <span>元</span>\n </el-form-item>\n </div>\n <el-form-item v-if=\"false\" label=\"是否展示快递:\">\n <el-radio-group v-model=\"set_form.showExpress\">\n <el-radio :label=\"4\">不展示</el-radio>\n <el-radio :label=\"5\">展示</el-radio>\n </el-radio-group>\n </el-form-item>\n </div>\n </el-form>\n <span slot=\"footer\" class=\"dialog-footer\">\n <el-button @click=\"is_set = false\">取 消</el-button>\n <el-button :loading=\"more_sub_btn\" type=\"primary\" @click=\"moreSubData\">\n 确 定\n </el-button>\n </span>\n </el-dialog>\n </ContainerQuery>\n</template>\n\n<script>\n import { getShopByStaff } from \"@/api/Shop\";\n import GoodsCategory from \"@/component/common/GoodsCategory.vue\";\n import BrandSelModel from \"@/component/goods/BrandSelModel.vue\";\n import EditGoods from \"@/views/goods/sale/AddGoods\";\n import {\n setSalesNum,\n getGoodsInfo,\n BatchUnloading,\n getAllGoods,\n exportGetAllGoods,\n searchGood,\n exportSearchGood,\n delGoods,\n setTop,\n GoodsUpdateEnableStatus,\n batchGoodsExpress,\n setSalesNumBatch,\n setBrand,\n auditGoods,\n getAllGoodsList,\n exportGetAllGoodsList,\n } from \"@/api/goods\";\n import { getAllExpressRule } from \"@/api/System\";\n import { mapGetters } from \"vuex\";\n export default {\n name: \"MerchantsGoods\",\n components: {\n GoodsCategory,\n EditGoods,\n BrandSelModel,\n },\n data() {\n return {\n merchantId: \"\",\n ifMerchant: 5,\n virtual_sales_num: 0,\n set_goods_id: 0,\n // 虚拟销量区间\n sale_num_form: {\n ids: [],\n minVal: \"\",\n maxVal: \"\",\n },\n activeName: \"all\",\n goods_sku_list: [],\n checkedAll: false, // 商品列表全选\n is_price: false, // 编辑商品\n goods_name: \"\",\n keyword: \"\",\n brandId: \"\",\n categoryId: \"\",\n enableStatus: \"\",\n sel_brand: false,\n total: 0,\n page: 1,\n pageSize: 10,\n goods_data: [], // table 数据\n choose_data: [],\n form: {\n categoryPath: [],\n search_key: \"\",\n brand: \"\",\n shop: \"\",\n enableStatus: \"\",\n },\n price_goods_detail: {},\n spec_loading: false,\n set_form: {\n masterUnitId: \"\",\n shopName: \"\",\n brandName: \"\",\n category: [],\n branchUnit: [],\n deliverySupIds: [\"1\", \"2\"], // 物流支持 固定值 1 快递 2 自提 传参格式:1,2\n expressType: 1, // 快递运费 1 包邮 2 运费模版 3 固定费用\n expressFee: \"\", // 固定费用\n showExpress: 5, // 是否展示快递 5展示 4不展示\n ruleId: \"\", // 运费模版id\n },\n express_list: [],\n more_sub_btn: false, // 批量设置运费loading\n is_set: false,\n set_tit: \"\",\n auditStatus: 2, // 审核状态\n isOption: \"\", // 是否是自选商品\n };\n },\n computed: {\n ...mapGetters({ storeData: \"MUser/storeData\" }),\n },\n created() {\n if (this.systemType === 3) {\n this.merchantId = this.storeData.merchantData.id;\n }\n // this.getAllGoods();\n this.getAllGoodsList();\n this.getAllExpressRule();\n },\n activated() {\n if (this.$_isInit()) return;\n this.getAllGoodsList();\n },\n methods: {\n async getShopByStaff() {\n const res = await getShopByStaff({\n page: this.page,\n pageSize: this.pageSize,\n });\n this.merchantId = res.data[0].merchantId;\n console.log(this.merchantId);\n },\n // 获取运费模版\n async getAllExpressRule() {\n const { data } = await getAllExpressRule();\n this.express_list = data;\n },\n async setSalesNum(index) {\n if (this.virtual_sales_num <= 0) {\n this.$message.warning(\"请输入大于0的值\");\n return;\n }\n const data = await setSalesNum({\n id: this.goods_data[index].id,\n val: this.virtual_sales_num,\n });\n\n this.goods_data[index].sale_false_visible = false;\n await this.getAllGoodsList();\n },\n showSetSaleNum(index) {\n this.virtual_sales_num = this.goods_data[index].virtualSalesNum;\n this.goods_data[index].sale_false_visible = true;\n },\n openAddGoods() {\n this.$router.push(\"/goods/sale/AddGoodsOneStore\");\n },\n tabChange() {\n switch (this.activeName) {\n case \"all\":\n this.auditStatus = 2;\n this.isOption = \"\";\n break;\n case \"selfGoods\":\n this.auditStatus = 2;\n this.isOption = 5;\n break;\n case \"auditGoods\":\n this.isOption = \"\";\n this.auditStatus = 1;\n break;\n }\n this.pageChange(1);\n },\n // 用于可展开表格与树形表格,切换某一行的展开状态,如果使用了第二个参数,则是设置这一行展开与否(expanded 为 true 则展开)\n toggleRowExpansion(row) {\n this.$refs.goodsTable.toggleRowExpansion(row);\n this.showSpec(row);\n },\n async showSpec(row) {\n const index = this.goods_data.findIndex((item) => item.id === row.id);\n if (!this.goods_data[index].goods_sku_list.length) {\n const { data } = await getGoodsInfo(row.id);\n if (data.specType === 2) {\n this.$nextTick(() => {\n this.goods_data[index].goods_sku_list = data.specMultiple.map(\n (item) => {\n const specValueName = item.specGroup\n .map((itemS) => {\n return itemS.specValueName;\n })\n .join(\";\");\n return {\n ...item,\n specValueName: specValueName,\n };\n }\n );\n });\n } else if (data.specType === 1) {\n this.$nextTick(() => {\n this.goods_data[index].goods_sku_list = data.specMultiple.map(\n (item) => {\n return {\n ...item,\n specValueName: \"\",\n };\n }\n );\n });\n }\n }\n // this.goods_data = target\n },\n // 品牌搜索清空\n delBrand() {\n this.form.brand = \"\";\n this.brandId = \"\";\n this.pageChange(1);\n },\n // 批量选择\n selectionChange(val) {\n this.checkedAll = val.length === this.goods_data.length;\n this.choose_data = val;\n },\n // 编辑完成回调\n editsubData() {\n this.getAllGoodsList();\n },\n // 调整价格 编辑查看\n openPriceModel(row) {\n this.$router.push(`/goods/sale/EditGoodsOneStore/${row.id}`);\n },\n\n // 批量上下架\n async BatchUnloading(enableStatus) {\n let title =\n enableStatus === 4\n ? \"确定要批量下架这些商品吗?\"\n : \"确定要批量上架这些商品吗?\";\n if (!this.choose_data.length) {\n this.$message.warning(\"请选择要操作的商品\");\n return;\n }\n this.$confirm(title, \"提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\",\n }).then(async () => {\n if (!this.choose_data.length) {\n this.$message.warning(\"请选择要操作的商品\");\n return;\n }\n const idData = this.choose_data.map((item) => {\n return item.id;\n });\n const data = await BatchUnloading({\n id: idData,\n enableStatus: enableStatus,\n });\n this.$message({\n type: \"success\",\n message: \"操作成功!\",\n });\n await this.getAllGoodsList();\n });\n },\n // 获取列表\n async getAllGoods(exports) {\n let params = {\n page: this.page,\n pageSize: this.pageSize,\n auditStatus: this.auditStatus,\n ifMerchant: this.ifMerchant,\n };\n if (this.isOption) {\n params.isOption = this.isOption;\n }\n if (this.merchantId) {\n params.merchantId = this.merchantId;\n }\n if (exports) {\n const data = await exportGetAllGoods({\n ...params,\n export: 1,\n });\n } else {\n const data = await getAllGoods(params);\n this.goods_data = data.data.map((item) => {\n return {\n ...item,\n sale_false_visible: false,\n goods_sku_list: [],\n };\n });\n this.total = data.pageTotal;\n }\n },\n // 获取列表(优化)\n async getAllGoodsList(exports) {\n let params = {\n page: this.page,\n pageSize: this.pageSize,\n keyword: this.keyword,\n categoryPath: this.form.categoryPath.join(\",\"),\n brandId: this.brandId,\n enableStatus: this.enableStatus,\n };\n if (this.merchantId) {\n params.merchantId = this.merchantId;\n }\n if (exports) {\n const data = await exportGetAllGoodsList({\n ...params,\n export: 1,\n });\n } else {\n const data = await getAllGoodsList(params);\n this.goods_data = data.data.map((item) => {\n return {\n ...item,\n sale_false_visible: false,\n goods_sku_list: [],\n };\n });\n this.total = data.pageTotal;\n }\n },\n // 搜索商品 searchGood\n // async searchGood(exports) {\n // let params = {\n // keyword: this.keyword,\n // brandId: this.brandId,\n // categoryPath: this.form.categoryPath.join(\",\"),\n // enableStatus: this.enableStatus,\n // page: this.page,\n // pageSize: this.pageSize,\n // auditStatus: this.auditStatus,\n // ifMerchant: 5,\n // };\n // if (this.isOption) {\n // params.isOption = this.isOption;\n // }\n // if (this.merchantId) {\n // params.merchantId = this.merchantId;\n // }\n // if (exports) {\n // const data = await exportSearchGood({\n // ...params,\n // export: 1,\n // });\n // } else {\n // const data = await searchGood(params);\n //\n // this.goods_data = data.data.map((item) => {\n // return {\n // ...item,\n // sale_false_visible: false,\n // goods_sku_list: [],\n // };\n // });\n // this.total = data.pageTotal;\n // }\n // },\n // 判断当前使用方法为列表接口还是搜索引擎接口 获取列表数据\n // getData(exports) {\n // // 搜索参数规整\n // const obj = {\n // keyword: this.keyword,\n // brandId: this.brandId,\n // categoryPath: this.form.categoryPath.join(\",\"),\n // enableStatus: this.enableStatus,\n // };\n // const isKey = this.$_common.isSerch(obj);\n // if (isKey) {\n // this.searchGood(exports);\n // } else {\n // this.getAllGoods(exports);\n // }\n // },\n // 分类搜索\n goodsChane(val) {\n this.pageChange(1);\n },\n // 品牌搜索\n brandConfirm(row) {\n this.form.brand = row[0].title;\n this.brandId = row[0].id;\n this.pageChange(1);\n },\n // 商品上下架\n changeGoodsStatus(row) {\n const tit =\n row.enableStatus === 5\n ? \"是否要下架该商品?\"\n : \"是否要将该商品上架?\";\n this.$confirm(tit, \"提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\",\n }).then(async () => {\n const data = await GoodsUpdateEnableStatus({\n id: row.id,\n enableStatus: row.enableStatus === 4 ? 5 : 4,\n });\n\n this.$message({\n type: \"success\",\n message: \"操作成功!\",\n });\n this.getAllGoodsList();\n });\n },\n // 切页\n pageChange(val) {\n this.page = val;\n this.getAllGoodsList();\n },\n // 每页数据大小改变\n sizeChange(val) {\n this.pageSize = val;\n this.pageChange(1);\n },\n checkAllChange() {\n this.$refs.goodsTable.toggleAllSelection();\n },\n // 打开批量设置弹窗\n openSet(tit) {\n this.is_set = true;\n this.set_tit = tit;\n },\n // 批量提交\n moreSubData() {\n if (this.set_tit === \"设置品牌\") {\n this.setBrand();\n }\n if (this.set_tit === \"虚拟销量\") {\n this.setSalesNumBatch();\n }\n if (this.set_tit === \"物流设置\") {\n this.batchGoodsExpress();\n }\n },\n // 批量设置运费\n async batchGoodsExpress() {\n if (!this.choose_data.length) {\n this.$message.warning(\"请选择要操作的商品\");\n return;\n }\n const idData = this.choose_data.map((item) => {\n return item.id;\n });\n this.more_sub_btn = true;\n const data = await batchGoodsExpress({\n expressType: this.set_form.expressType,\n ruleId: this.set_form.ruleId,\n expressFee: this.set_form.expressFee,\n ids: idData,\n });\n this.more_sub_btn = false;\n\n this.is_set = false;\n this.$message.success(\"操作成功\");\n this.getAllGoodsList();\n },\n // 设置虚拟销量\n async setSalesNumBatch() {\n if (!this.choose_data.length) {\n this.$message.warning(\"请选择要操作的商品\");\n return;\n }\n if (!this.sale_num_form.minVal) {\n this.$message.warning(\"虚拟销量区间最小值不能为0\");\n return;\n }\n if (!this.sale_num_form.maxVal) {\n this.$message.warning(\"虚拟销量区间最大值不能为0\");\n return;\n }\n if (this.sale_num_form.maxVal <= this.sale_num_form.minVal) {\n this.$message.warning(\"虚拟销量区间最大值必须大于最小值\");\n return;\n }\n const idData = this.choose_data.map((item) => {\n return item.id;\n });\n this.more_sub_btn = true;\n const data = await setSalesNumBatch({\n ...this.sale_num_form,\n ids: idData,\n });\n this.more_sub_btn = false;\n\n this.is_set = false;\n this.$message.success(\"操作成功\");\n this.getAllGoodsList();\n },\n // 设置品牌\n async setBrand() {\n if (!this.choose_data.length) {\n this.$message.warning(\"请选择要操作的商品\");\n return;\n }\n if (!this.brandId) {\n this.$message.warning(\"请选择要操作的品牌\");\n return;\n }\n const idData = this.choose_data.map((item) => {\n return item.basicGoodsId;\n });\n this.more_sub_btn = true;\n const data = await setBrand({\n id: idData,\n brandId: this.brandId,\n });\n this.more_sub_btn = false;\n\n this.is_set = false;\n this.$message.success(\"操作成功\");\n this.getAllGoodsList();\n },\n\n // 审核商品\n async auditGoods(id) {\n this.$confirm(\"确定要审核通过该商品吗?\", \"提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\",\n }).then(async () => {\n const data = await auditGoods(id);\n this.$message.success(\"操作成功\");\n await this.getAllGoodsList();\n });\n },\n },\n };\n</script>\n<style scoped lang=\"scss\">\n .sku-btn {\n width: 71px;\n height: 22px;\n line-height: 22px;\n background: #f5f5f5;\n border-radius: 4px;\n border: 1px solid #cad0d7;\n text-align: center;\n font-size: 12px;\n cursor: pointer;\n }\n .goods-name-view {\n width: calc(100% - 76px);\n }\n .goods-title {\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n }\n .sku-ul {\n .sku-li {\n display: inline-block;\n margin-right: 10px;\n border: 1px solid #ebeef5;\n padding: 10px;\n width: 294px;\n vertical-align: middle;\n .sku-img {\n width: 50px;\n margin-right: 8px;\n }\n .sku-info {\n line-height: 23px;\n color: #111111;\n .label {\n display: inline-block;\n width: 50px;\n color: #666666;\n text-align: right;\n }\n }\n }\n }\n</style>\n"]}]}