1 |
- {"remainingRequest":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\babel-loader\\lib\\index.js!E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\src\\views\\Merchants\\MerchartsShop.vue?vue&type=script&lang=js&","dependencies":[{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\src\\views\\Merchants\\MerchartsShop.vue","mtime":1655374732000},{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\babel.config.js","mtime":1655374732000},{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\vue-loader\\lib\\index.js","mtime":1655715099000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KaW1wb3J0IEdvb2RzQ2F0ZWdvcnkgZnJvbSAiQC9jb21wb25lbnQvY29tbW9uL0dvb2RzQ2F0ZWdvcnkudnVlIjsKaW1wb3J0IEJyYW5kU2VsTW9kZWwgZnJvbSAiQC9jb21wb25lbnQvZ29vZHMvQnJhbmRTZWxNb2RlbC52dWUiOwppbXBvcnQgRWRpdEdvb2RzIGZyb20gIkAvdmlld3MvZ29vZHMvc2FsZS9BZGRHb29kcyI7CmltcG9ydCBTZWxlY3RTaG9wIGZyb20gIkAvY29tcG9uZW50L2dvb2RzL1NlbGVjdFNob3AudnVlIjsKaW1wb3J0IHsgc2V0U2FsZXNOdW0sIGdldEdvb2RzSW5mbywgQmF0Y2hVbmxvYWRpbmcsIGdldEFsbEdvb2RzLCBleHBvcnRHZXRBbGxHb29kcywgc2VhcmNoR29vZCwgZXhwb3J0U2VhcmNoR29vZCwgZGVsR29vZHMsIHNldFRvcCwgR29vZHNVcGRhdGVFbmFibGVTdGF0dXMsIGJhdGNoR29vZHNFeHByZXNzLCBzZXRTYWxlc051bUJhdGNoLCBzZXRCcmFuZCwgdXBkYXRlQ2F0ZWdvcnkgfSBmcm9tICJAL2FwaS9nb29kcyI7CmltcG9ydCB7IGdldEFsbEV4cHJlc3NSdWxlIH0gZnJvbSAiQC9hcGkvU3lzdGVtIjsKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICJQdWJsaXNoR29vZHMiLAogIGNvbXBvbmVudHM6IHsKICAgIEdvb2RzQ2F0ZWdvcnksCiAgICBFZGl0R29vZHMsCiAgICBCcmFuZFNlbE1vZGVsLAogICAgU2VsZWN0U2hvcAogIH0sCgogIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICB2aXJ0dWFsX3NhbGVzX251bTogMCwKICAgICAgc2V0X2dvb2RzX2lkOiAwLAogICAgICBzYWxlX251bV9mb3JtOiB7CiAgICAgICAgaWRzOiBbXSwKICAgICAgICBtaW5WYWw6ICIiLAogICAgICAgIG1heFZhbDogIiIKICAgICAgfSwKICAgICAgYWN0aXZlTmFtZTogImFsbCIsCiAgICAgIGdvb2RzX3NrdV9saXN0OiBbXSwKICAgICAgY2hlY2tlZEFsbDogZmFsc2UsCiAgICAgIGlzX3ByaWNlOiBmYWxzZSwKICAgICAgc2t1X3Zpc2libGU6IGZhbHNlLAogICAgICBza3VfZ29vZHNfbmFtZTogIiIsCiAgICAgIGdvb2RzX25hbWU6ICIiLAogICAgICBrZXl3b3JkOiAiIiwKICAgICAgYnJhbmRJZDogIiIsCiAgICAgIGNhdGVnb3J5SWQ6ICIiLAogICAgICBlbmFibGVTdGF0dXM6ICIiLAogICAgICBzaG9wSWQ6ICIiLAogICAgICBzZWxfYnJhbmQ6IGZhbHNlLAogICAgICB0b3RhbDogMCwKICAgICAgcGFnZTogMSwKICAgICAgcGFnZVNpemU6IDEwLAogICAgICBnb29kc19kYXRhOiBbXSwKICAgICAgLy8gdGFibGUg5pWw5o2uCiAgICAgIGNob29zZV9kYXRhOiBbXSwKICAgICAgZm9ybTogewogICAgICAgIGNhdGVnb3J5UGF0aDogW10sCiAgICAgICAgc2VhcmNoX2tleTogIiIsCiAgICAgICAgYnJhbmQ6ICIiLAogICAgICAgIHNob3A6ICIiLAogICAgICAgIGVuYWJsZVN0YXR1czogIiIKICAgICAgfSwKICAgICAgcHJpY2VfZ29vZHNfZGV0YWlsOiB7fSwKICAgICAgaW5TYWxlczogMCwKICAgICAgaW5TdG9jazogMCwKICAgICAgc3BlY19sb2FkaW5nOiBmYWxzZSwKICAgICAgc2V0X2Zvcm06IHsKICAgICAgICBtYXN0ZXJVbml0SWQ6ICIiLAogICAgICAgIHNob3BOYW1lOiAiIiwKICAgICAgICBicmFuZE5hbWU6ICIiLAogICAgICAgIGNhdGVnb3J5OiBbXSwKICAgICAgICBicmFuY2hVbml0OiBbXSwKICAgICAgICBkZWxpdmVyeVN1cElkczogWyIxIiwgIjIiXSwKICAgICAgICAvLyDnianmtYHmlK/mjIEg5Zu65a6a5YC8IDEg5b+r6YCSIDIg6Ieq5o+QIOS8oOWPguagvOW8j++8mjEsMgogICAgICAgIGV4cHJlc3NUeXBlOiAxLAogICAgICAgIC8vIOW/q+mAkui/kOi0uSAxIOWMhemCriAyIOi/kOi0ueaooeeJiCAzIOWbuuWumui0ueeUqAogICAgICAgIGV4cHJlc3NGZWU6ICIiLAogICAgICAgIC8vIOWbuuWumui0ueeUqAogICAgICAgIHNob3dFeHByZXNzOiA1LAogICAgICAgIC8vIOaYr+WQpuWxleekuuW/q+mAkiA15bGV56S6IDTkuI3lsZXnpLoKICAgICAgICBydWxlSWQ6ICIiIC8vIOi/kOi0ueaooeeJiGlkCgogICAgICB9LAogICAgICBleHByZXNzX2xpc3Q6IFtdLAogICAgICBhc3Npc3RGb3JtOiB7fSwKICAgICAgbW9yZV9zdWJfYnRuOiBmYWxzZSwKICAgICAgdW5pdF9zaG93OiBmYWxzZSwKICAgICAgaXNfc2V0OiBmYWxzZSwKICAgICAgc2V0X3RpdDogIiIsCiAgICAgIGNoZWNrTGlzdDogWyLllYblk4HliIbnsbsiLCAi6KeE5qC8IiwgIuWfuuacrOWNleS9jSIsICLmgLvlupPlrZgiLCAvLyAi6Jma5ouf6ZSA6YePIiwKICAgICAgIuecn+WunumUgOmHjyIsICLlvZPliY3nirbmgIEiLCAi6ZSA5ZSu5bqX6ZO6IiwgIuWIm+W7uuaXtumXtCJdLAogICAgICBjb2x1bW5zOiBbewogICAgICAgIGxhYmVsOiAi5ZWG5ZOB5YiG57G7IgogICAgICB9LCB7CiAgICAgICAgbGFiZWw6ICLop4TmoLwiCiAgICAgIH0sIHsKICAgICAgICBsYWJlbDogIuWfuuacrOWNleS9jSIKICAgICAgfSwgewogICAgICAgIGxhYmVsOiAi5oC75bqT5a2YIgogICAgICB9LCAvLyB7CiAgICAgIC8vICAgbGFiZWw6ICLomZrmi5/plIDph48iLAogICAgICAvLyB9LAogICAgICB7CiAgICAgICAgbGFiZWw6ICLnnJ/lrp7plIDph48iCiAgICAgIH0sIHsKICAgICAgICBsYWJlbDogIuW9k+WJjeeKtuaAgSIKICAgICAgfSwgewogICAgICAgIGxhYmVsOiAi6ZSA5ZSu5bqX6ZO6IgogICAgICB9LCB7CiAgICAgICAgbGFiZWw6ICLliJvlu7rml7bpl7QiCiAgICAgIH1dLAogICAgICBjbGFzc2lmeUZsYWc6IHRydWUsCiAgICAgIHNwZWNpZmljYXRpb25GbGFnOiB0cnVlLAogICAgICB1bml0RmxhZzogdHJ1ZSwKICAgICAgaW52ZW50b3J5RmxhZzogdHJ1ZSwKICAgICAgdmlydHVhbEZsYWc6IHRydWUsCiAgICAgIHRydWVGbGFnOiB0cnVlLAogICAgICBjdXJyZW50U3RhdGVGbGFnOiB0cnVlLAogICAgICByZXRhaWxTdG9yZXNGbGFnOiB0cnVlLAogICAgICB0aW1lRmxhZzogdHJ1ZQogICAgfTsKICB9LAoKICBjcmVhdGVkKCkgewogICAgaWYgKHRoaXMuJHJvdXRlLm5hbWUgPT09ICJHb29kc1NhbGUiKSB7CiAgICAgIHRoaXMuaW5TYWxlcyA9IDU7CiAgICB9IGVsc2UgaWYgKHRoaXMuJHJvdXRlLm5hbWUgPT09ICJTb2xkT3V0IikgewogICAgICB0aGlzLmluU3RvY2sgPSA0OwogICAgfSBlbHNlIGlmICh0aGlzLiRyb3V0ZS5uYW1lID09PSAiSW5XYXJlaG91c2UiKSB7CiAgICAgIHRoaXMuaW5TdG9jayA9IDU7CiAgICB9CgogICAgdGhpcy5nZXRBbGxHb29kcygpOwogICAgdGhpcy5nZXRBbGxFeHByZXNzUnVsZSgpOwogIH0sCgogIGFjdGl2YXRlZCgpIHsKICAgIGlmICh0aGlzLiRfaXNJbml0KCkpIHJldHVybjsKICAgIHRoaXMuZ2V0RGF0YSgpOwogIH0sCgogIG1ldGhvZHM6IHsKICAgIC8vIOiOt+WPlui/kOi0ueaooeeJiAogICAgYXN5bmMgZ2V0QWxsRXhwcmVzc1J1bGUoKSB7CiAgICAgIGNvbnN0IHsKICAgICAgICBkYXRhCiAgICAgIH0gPSBhd2FpdCBnZXRBbGxFeHByZXNzUnVsZSgpOwogICAgICB0aGlzLmV4cHJlc3NfbGlzdCA9IGRhdGE7CiAgICB9LAoKICAgIGFzeW5jIHNldFNhbGVzTnVtKGluZGV4KSB7CiAgICAgIGlmICh0aGlzLnZpcnR1YWxfc2FsZXNfbnVtIDw9IDApIHsKICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoIuivt+i+k+WFpeWkp+S6jjDnmoTlgLwiKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBzZXRTYWxlc051bSh7CiAgICAgICAgaWQ6IHRoaXMuZ29vZHNfZGF0YVtpbmRleF0uaWQsCiAgICAgICAgdmFsOiB0aGlzLnZpcnR1YWxfc2FsZXNfbnVtCiAgICAgIH0pOwogICAgICB0aGlzLmdvb2RzX2RhdGFbaW5kZXhdLnNhbGVfZmFsc2VfdmlzaWJsZSA9IGZhbHNlOwogICAgICB0aGlzLmdldERhdGEoKTsKICAgIH0sCgogICAgc2hvd1NldFNhbGVOdW0oaW5kZXgpIHsKICAgICAgdGhpcy52aXJ0dWFsX3NhbGVzX251bSA9IHRoaXMuZ29vZHNfZGF0YVtpbmRleF0udmlydHVhbFNhbGVzTnVtOwogICAgICB0aGlzLmdvb2RzX2RhdGFbaW5kZXhdLnNhbGVfZmFsc2VfdmlzaWJsZSA9IHRydWU7CiAgICB9LAoKICAgIG9wZW5BZGRHb29kcygpIHsKICAgICAgaWYgKHBhcnNlSW50KHRoaXMuJHN0b3JlLmdldHRlcnNbIk1Vc2VyL2VudGVycHJpc2VTY29wZSJdKSA9PT0gNCkgewogICAgICAgIHRoaXMuJHJvdXRlci5wdXNoKCIvZ29vZHMvc2FsZS9BZGRHb29kc09uZVN0b3JlIik7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy4kcm91dGVyLnB1c2goIi9nb29kcy9zYWxlL0FkZEdvb2RzIik7CiAgICAgIH0KICAgIH0sCgogICAgdGFiQ2hhbmdlKCkgewogICAgICBzd2l0Y2ggKHRoaXMuYWN0aXZlTmFtZSkgewogICAgICAgIGNhc2UgImFsbCI6CiAgICAgICAgICB0aGlzLmluU2FsZXMgPSAwOwogICAgICAgICAgdGhpcy5pblN0b2NrID0gMDsKICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICJHb29kc1NhbGUiOgogICAgICAgICAgdGhpcy5pblNhbGVzID0gNTsKICAgICAgICAgIHRoaXMuaW5TdG9jayA9IDA7CiAgICAgICAgICBicmVhazsKCiAgICAgICAgY2FzZSAiU29sZE91dCI6CiAgICAgICAgICB0aGlzLmluU2FsZXMgPSAwOwogICAgICAgICAgdGhpcy5pblN0b2NrID0gNDsKICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICJJbldhcmVob3VzZSI6CiAgICAgICAgICB0aGlzLmluU2FsZXMgPSAwOwogICAgICAgICAgdGhpcy5pblN0b2NrID0gNTsKICAgICAgICAgIGJyZWFrOwogICAgICB9CgogICAgICB0aGlzLnBhZ2VDaGFuZ2UoMSk7CiAgICB9LAoKICAgIGFzeW5jIHNob3dTcGVjKGluZGV4KSB7CiAgICAgIGxldCB0YXJnZXQgPSB0aGlzLiRfY29tbW9uLmRlZXBDbG9uZSh0aGlzLmdvb2RzX2RhdGEpOwoKICAgICAgaWYgKCF0YXJnZXRbaW5kZXhdLmdvb2RzX3NrdV9saXN0KSB7CiAgICAgICAgdGhpcy5zcGVjX2xvYWRpbmcgPSB0cnVlOwogICAgICAgIGNvbnN0IHsKICAgICAgICAgIGRhdGEKICAgICAgICB9ID0gYXdhaXQgZ2V0R29vZHNJbmZvKHRhcmdldFtpbmRleF0uaWQpOwogICAgICAgIHRoaXMuc3BlY19sb2FkaW5nID0gZmFsc2U7CgogICAgICAgIGlmIChkYXRhLnNwZWNUeXBlID09PSAyKSB7CiAgICAgICAgICB0aGlzLmdvb2RzX2RhdGFbaW5kZXhdLmdvb2RzX3NrdV9saXN0ID0gZGF0YS5zcGVjTXVsdGlwbGUubWFwKGl0ZW0gPT4gewogICAgICAgICAgICBjb25zdCBzcGVjVmFsdWVOYW1lID0gaXRlbS5zcGVjR3JvdXAubWFwKGl0ZW1TID0+IHsKICAgICAgICAgICAgICByZXR1cm4gaXRlbVMuc3BlY1ZhbHVlTmFtZTsKICAgICAgICAgICAgfSkuam9pbigiXyIpOwogICAgICAgICAgICByZXR1cm4geyAuLi5pdGVtLAogICAgICAgICAgICAgIHNwZWNWYWx1ZU5hbWU6IHNwZWNWYWx1ZU5hbWUKICAgICAgICAgICAgfTsKICAgICAgICAgIH0pOwogICAgICAgIH0gZWxzZSBpZiAoZGF0YS5zcGVjVHlwZSA9PT0gMSkgewogICAgICAgICAgdGhpcy5nb29kc19kYXRhW2luZGV4XS5nb29kc19za3VfbGlzdCA9IGRhdGEuc3BlY011bHRpcGxlLm1hcChpdGVtID0+IHsKICAgICAgICAgICAgcmV0dXJuIHsgLi4uaXRlbSwKICAgICAgICAgICAgICBzcGVjVmFsdWVOYW1lOiAi5pegIgogICAgICAgICAgICB9OwogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICB9IC8vIHRoaXMuZ29vZHNfZGF0YSA9IHRhcmdldAoKICAgIH0sCgogICAgZGVsQnJhbmQoKSB7CiAgICAgIHRoaXMuZm9ybS5icmFuZCA9ICIiOwogICAgICB0aGlzLmJyYW5kSWQgPSAiIjsKICAgICAgdGhpcy5wYWdlQ2hhbmdlKDEpOwogICAgfSwKCiAgICBkZWxTaG9wKCkgewogICAgICB0aGlzLmZvcm0uc2hvcCA9ICIiOwogICAgICB0aGlzLnNob3BJZCA9ICIiOwogICAgICB0aGlzLnBhZ2VDaGFuZ2UoMSk7CiAgICB9LAoKICAgIC8vIOaJuemHj+mAieaLqQogICAgc2VsZWN0aW9uQ2hhbmdlKHZhbCkgewogICAgICB0aGlzLmNoZWNrZWRBbGwgPSB2YWwubGVuZ3RoID09PSB0aGlzLmdvb2RzX2RhdGEubGVuZ3RoOwogICAgICB0aGlzLmNob29zZV9kYXRhID0gdmFsOwogICAgfSwKCiAgICAvLyDnvJbovpHlrozmiJDlm57osIMKICAgIGVkaXRzdWJEYXRhKCkgewogICAgICB0aGlzLmdldERhdGEoKTsKICAgIH0sCgogICAgLy8g6LCD5pW05Lu35qC8IOe8lui+keafpeeciwogICAgb3BlblByaWNlTW9kZWwocm93KSB7CiAgICAgIGlmIChwYXJzZUludCh0aGlzLiRzdG9yZS5nZXR0ZXJzWyJNVXNlci9lbnRlcnByaXNlU2NvcGUiXSkgPT09IDUpIHsKICAgICAgICB0aGlzLmlzX3ByaWNlID0gdHJ1ZTsKICAgICAgICB0aGlzLmdvb2RzX25hbWUgPSByb3cudGl0bGU7CiAgICAgICAgdGhpcy5wcmljZV9nb29kc19kZXRhaWwgPSByb3c7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy4kcm91dGVyLnB1c2goYC9nb29kcy9zYWxlL0VkaXRHb29kc09uZVN0b3JlLyR7cm93LmlkfWApOwogICAgICB9CiAgICB9LAoKICAgIC8vICDmibnph4/kuIrkuIvmnrYKICAgIGFzeW5jIEJhdGNoVW5sb2FkaW5nKGVuYWJsZVN0YXR1cykgewogICAgICBsZXQgdGl0bGUgPSBlbmFibGVTdGF0dXMgPT09IDQgPyAi56Gu5a6a6KaB5om56YeP5LiL5p626L+Z5Lqb5ZWG5ZOB5ZCX77yfIiA6ICLnoa7lrpropoHmibnph4/kuIrmnrbov5nkupvllYblk4HlkJfvvJ8iOwoKICAgICAgaWYgKCF0aGlzLmNob29zZV9kYXRhLmxlbmd0aCkgewogICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZygi6K+36YCJ5oup6KaB5pON5L2c55qE5ZWG5ZOBIik7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICB0aGlzLiRjb25maXJtKHRpdGxlLCAi5o+Q56S6IiwgewogICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAi56Gu5a6aIiwKICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAi5Y+W5raIIiwKICAgICAgICB0eXBlOiAid2FybmluZyIKICAgICAgfSkudGhlbihhc3luYyAoKSA9PiB7CiAgICAgICAgaWYgKCF0aGlzLmNob29zZV9kYXRhLmxlbmd0aCkgewogICAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCLor7fpgInmi6nopoHmk43kvZznmoTllYblk4EiKTsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIGNvbnN0IGlkRGF0YSA9IHRoaXMuY2hvb3NlX2RhdGEubWFwKGl0ZW0gPT4gewogICAgICAgICAgcmV0dXJuIGl0ZW0uaWQ7CiAgICAgICAgfSk7CiAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IEJhdGNoVW5sb2FkaW5nKHsKICAgICAgICAgIGlkOiBpZERhdGEsCiAgICAgICAgICBlbmFibGVTdGF0dXM6IGVuYWJsZVN0YXR1cwogICAgICAgIH0pOwogICAgICAgIHRoaXMuJG1lc3NhZ2UoewogICAgICAgICAgdHlwZTogInN1Y2Nlc3MiLAogICAgICAgICAgbWVzc2FnZTogIuaTjeS9nOaIkOWKnyEiCiAgICAgICAgfSk7CiAgICAgICAgdGhpcy5nZXREYXRhKCk7CiAgICAgIH0pOwogICAgfSwKCiAgICAvLyDojrflj5bliJfooagKICAgIGFzeW5jIGdldEFsbEdvb2RzKGV4cG9ydHMpIHsKICAgICAgbGV0IHBhcmFtcyA9IHsKICAgICAgICBwYWdlOiB0aGlzLnBhZ2UsCiAgICAgICAgcGFnZVNpemU6IHRoaXMucGFnZVNpemUKICAgICAgfTsKCiAgICAgIGlmICh0aGlzLmluU2FsZXMpIHsKICAgICAgICBwYXJhbXMuaW5TYWxlcyA9IHRoaXMuaW5TYWxlczsKICAgICAgfQoKICAgICAgaWYgKHRoaXMuaW5TdG9jaykgewogICAgICAgIHBhcmFtcy5pblN0b2NrID0gdGhpcy5pblN0b2NrOwogICAgICB9CgogICAgICBpZiAoZXhwb3J0cykgewogICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBleHBvcnRHZXRBbGxHb29kcyh7IC4uLnBhcmFtcywKICAgICAgICAgIGV4cG9ydDogMQogICAgICAgIH0pOwogICAgICB9IGVsc2UgewogICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBnZXRBbGxHb29kcyhwYXJhbXMpOwogICAgICAgIHRoaXMuZ29vZHNfZGF0YSA9IGRhdGEuZGF0YS5tYXAoaXRlbSA9PiB7CiAgICAgICAgICByZXR1cm4geyAuLi5pdGVtLAogICAgICAgICAgICBzYWxlX2ZhbHNlX3Zpc2libGU6IGZhbHNlCiAgICAgICAgICB9OwogICAgICAgIH0pOwogICAgICAgIHRoaXMudG90YWwgPSBkYXRhLnBhZ2VUb3RhbDsKICAgICAgfQogICAgfSwKCiAgICAvLyAg5pCc57Si5ZWG5ZOBIHNlYXJjaEdvb2QKICAgIGFzeW5jIHNlYXJjaEdvb2QoZXhwb3J0cykgewogICAgICBsZXQgcGFyYW1zID0gewogICAgICAgIGtleXdvcmQ6IHRoaXMua2V5d29yZCwKICAgICAgICBicmFuZElkOiB0aGlzLmJyYW5kSWQsCiAgICAgICAgY2F0ZWdvcnlQYXRoOiB0aGlzLmZvcm0uY2F0ZWdvcnlQYXRoLmpvaW4oIiwiKSwKICAgICAgICBlbmFibGVTdGF0dXM6IHRoaXMuZW5hYmxlU3RhdHVzLAogICAgICAgIHNob3BJZDogdGhpcy5zaG9wSWQsCiAgICAgICAgcGFnZTogdGhpcy5wYWdlLAogICAgICAgIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplCiAgICAgIH07CgogICAgICBpZiAodGhpcy5pblNhbGVzKSB7CiAgICAgICAgcGFyYW1zLmluU2FsZXMgPSB0aGlzLmluU2FsZXM7CiAgICAgIH0KCiAgICAgIGlmICh0aGlzLmluU3RvY2spIHsKICAgICAgICBwYXJhbXMuaW5TdG9jayA9IHRoaXMuaW5TdG9jazsKICAgICAgfQoKICAgICAgaWYgKGV4cG9ydHMpIHsKICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgZXhwb3J0U2VhcmNoR29vZCh7IC4uLnBhcmFtcywKICAgICAgICAgIGV4cG9ydDogMQogICAgICAgIH0pOwogICAgICB9IGVsc2UgewogICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBzZWFyY2hHb29kKHBhcmFtcyk7CiAgICAgICAgdGhpcy5nb29kc19kYXRhID0gZGF0YS5kYXRhLm1hcChpdGVtID0+IHsKICAgICAgICAgIHJldHVybiB7IC4uLml0ZW0sCiAgICAgICAgICAgIHNhbGVfZmFsc2VfdmlzaWJsZTogZmFsc2UKICAgICAgICAgIH07CiAgICAgICAgfSk7CiAgICAgICAgdGhpcy50b3RhbCA9IGRhdGEucGFnZVRvdGFsOwogICAgICB9CiAgICB9LAoKICAgIC8vIOWIpOaWreW9k+WJjeS9v+eUqOaWueazleS4uuWIl+ihqOaOpeWPo+i/mOaYr+aQnOe0ouW8leaTjuaOpeWPoyDojrflj5bliJfooajmlbDmja4KICAgIGdldERhdGEoZXhwb3J0cykgewogICAgICAvLyDmkJzntKLlj4LmlbDop4TmlbQKICAgICAgY29uc3Qgb2JqID0gewogICAgICAgIGtleXdvcmQ6IHRoaXMua2V5d29yZCwKICAgICAgICBicmFuZElkOiB0aGlzLmJyYW5kSWQsCiAgICAgICAgY2F0ZWdvcnlQYXRoOiB0aGlzLmZvcm0uY2F0ZWdvcnlQYXRoLmpvaW4oIiwiKSwKICAgICAgICBlbmFibGVTdGF0dXM6IHRoaXMuZW5hYmxlU3RhdHVzLAogICAgICAgIHNob3BJZDogdGhpcy5zaG9wSWQKICAgICAgfTsKICAgICAgY29uc3QgaXNLZXkgPSB0aGlzLiRfY29tbW9uLmlzU2VyY2gob2JqKTsKCiAgICAgIGlmIChpc0tleSkgewogICAgICAgIHRoaXMuc2VhcmNoR29vZChleHBvcnRzKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLmdldEFsbEdvb2RzKGV4cG9ydHMpOwogICAgICB9CiAgICB9LAoKICAgIC8vIOWIhuexu+aQnOe0ogogICAgZ29vZHNDaGFuZSh2YWwpIHsKICAgICAgdGhpcy5wYWdlQ2hhbmdlKDEpOwogICAgfSwKCiAgICAvLyDlk4HniYzmkJzntKIKICAgIGJyYW5kQ29uZmlybShyb3cpIHsKICAgICAgdGhpcy5mb3JtLmJyYW5kID0gcm93WzBdLnRpdGxlOwogICAgICB0aGlzLmJyYW5kSWQgPSByb3dbMF0uaWQ7CiAgICAgIHRoaXMucGFnZUNoYW5nZSgxKTsKICAgIH0sCgogICAgLy8g5ZWG6ZO65pCc57SiCiAgICBzaG9wQ29uZmlybSh2YWwsIHJvdykgewogICAgICB0aGlzLnNob3BJZCA9IHJvd1swXS5pZDsKICAgICAgdGhpcy5mb3JtLnNob3AgPSByb3dbMF0ubmFtZTsKICAgICAgdGhpcy5wYWdlQ2hhbmdlKDEpOwogICAgfSwKCiAgICAvLyDliKDpmaTllYblk4EKICAgIGFzeW5jIGRlbERhdGEoaWQpIHsKICAgICAgdGhpcy4kY29uZmlybSgi56Gu5a6a6KaB5Yig6Zmk6K+l5p2h5ZWG5ZOB5ZCXPyIsICLmj5DnpLoiLCB7CiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICLnoa7lrpoiLAogICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICLlj5bmtogiLAogICAgICAgIHR5cGU6ICJ3YXJuaW5nIgogICAgICB9KS50aGVuKGFzeW5jICgpID0+IHsKICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgZGVsR29vZHMoaWQpOwogICAgICAgIHRoaXMuJG1lc3NhZ2UoewogICAgICAgICAgdHlwZTogInN1Y2Nlc3MiLAogICAgICAgICAgbWVzc2FnZTogIuWIoOmZpOaIkOWKnyEiCiAgICAgICAgfSk7CiAgICAgICAgdGhpcy5nZXREYXRhKCk7CiAgICAgIH0pOwogICAgfSwKCiAgICAvLyDliKDpmaTllYblk4EKICAgIGFzeW5jIHNldFRvcChpZCkgewogICAgICB0aGlzLiRjb25maXJtKCLmmK/lkKbopoHlsIbor6XllYblk4Hnva7pobY/IiwgIuaPkOekuiIsIHsKICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogIuehruWumiIsCiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogIuWPlua2iCIsCiAgICAgICAgdHlwZTogIndhcm5pbmciCiAgICAgIH0pLnRoZW4oYXN5bmMgKCkgPT4gewogICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBzZXRUb3AoaWQpOwogICAgICAgIHRoaXMuJG1lc3NhZ2UoewogICAgICAgICAgdHlwZTogInN1Y2Nlc3MiLAogICAgICAgICAgbWVzc2FnZTogIuaTjeS9nOaIkOWKnyEiCiAgICAgICAgfSk7CiAgICAgICAgdGhpcy5nZXREYXRhKCk7CiAgICAgIH0pOwogICAgfSwKCiAgICAvLyDllYblk4HkuIrkuIvmnrYKICAgIGFzeW5jIGNoYW5nZUdvb2RzU3RhdHVzKHZhbCwgcm93KSB7CiAgICAgIHRyeSB7CiAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IEdvb2RzVXBkYXRlRW5hYmxlU3RhdHVzKHsKICAgICAgICAgIGlkOiByb3cuaWQsCiAgICAgICAgICBlbmFibGVTdGF0dXM6IHZhbAogICAgICAgIH0pOwogICAgICAgIHRoaXMuJG1lc3NhZ2UoewogICAgICAgICAgdHlwZTogInN1Y2Nlc3MiLAogICAgICAgICAgbWVzc2FnZTogIuaTjeS9nOaIkOWKnyEiCiAgICAgICAgfSk7CiAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICB0aGlzLmdldERhdGEoKTsKICAgICAgfQogICAgfSwKCiAgICAvLyDliIfpobUKICAgIHBhZ2VDaGFuZ2UodmFsKSB7CiAgICAgIHRoaXMucGFnZSA9IHZhbDsKICAgICAgdGhpcy5nZXREYXRhKCk7CiAgICB9LAoKICAgIC8vIOavj+mhteaVsOaNruWkp+Wwj+aUueWPmAogICAgc2l6ZUNoYW5nZSh2YWwpIHsKICAgICAgdGhpcy5wYWdlU2l6ZSA9IHZhbDsKICAgICAgdGhpcy5wYWdlQ2hhbmdlKDEpOwogICAgfSwKCiAgICBjaGVja0FsbENoYW5nZSgpIHsKICAgICAgdGhpcy4kcmVmcy5nb29kc1RhYmxlLnRvZ2dsZUFsbFNlbGVjdGlvbigpOwogICAgfSwKCiAgICAvLyDmiZPlvIDmibnph4/orr7nva7lvLnnqpcKICAgIG9wZW5TZXQodGl0KSB7CiAgICAgIHRoaXMuaXNfc2V0ID0gdHJ1ZTsKICAgICAgdGhpcy5zZXRfdGl0ID0gdGl0OwogICAgfSwKCiAgICAvLyDmibnph4/mj5DkuqQKICAgIG1vcmVTdWJEYXRhKCkgewogICAgICBpZiAodGhpcy5zZXRfdGl0ID09PSAi6L2s56e75YiG57G7IikgewogICAgICAgIHRoaXMudXBkYXRlQ2F0ZWdvcnkoKTsKICAgICAgfQoKICAgICAgaWYgKHRoaXMuc2V0X3RpdCA9PT0gIuiuvue9ruWTgeeJjCIpIHsKICAgICAgICB0aGlzLnNldEJyYW5kKCk7CiAgICAgIH0KCiAgICAgIGlmICh0aGlzLnNldF90aXQgPT09ICLomZrmi5/plIDph48iKSB7CiAgICAgICAgdGhpcy5zZXRTYWxlc051bUJhdGNoKCk7CiAgICAgIH0KCiAgICAgIGlmICh0aGlzLnNldF90aXQgPT09ICLnianmtYHorr7nva4iKSB7CiAgICAgICAgdGhpcy5iYXRjaEdvb2RzRXhwcmVzcygpOwogICAgICB9CiAgICB9LAoKICAgIC8vIOaJuemHj+iuvue9rui/kOi0uQogICAgYXN5bmMgYmF0Y2hHb29kc0V4cHJlc3MoKSB7CiAgICAgIGlmICghdGhpcy5jaG9vc2VfZGF0YS5sZW5ndGgpIHsKICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoIuivt+mAieaLqeimgeaTjeS9nOeahOWVhuWTgSIpOwogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgY29uc3QgaWREYXRhID0gdGhpcy5jaG9vc2VfZGF0YS5tYXAoaXRlbSA9PiB7CiAgICAgICAgcmV0dXJuIGl0ZW0uaWQ7CiAgICAgIH0pOwogICAgICB0aGlzLm1vcmVfc3ViX2J0biA9IHRydWU7CiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBiYXRjaEdvb2RzRXhwcmVzcyh7CiAgICAgICAgZXhwcmVzc1R5cGU6IHRoaXMuc2V0X2Zvcm0uZXhwcmVzc1R5cGUsCiAgICAgICAgcnVsZUlkOiB0aGlzLnNldF9mb3JtLnJ1bGVJZCwKICAgICAgICBleHByZXNzRmVlOiB0aGlzLnNldF9mb3JtLmV4cHJlc3NGZWUsCiAgICAgICAgaWRzOiBpZERhdGEKICAgICAgfSk7CiAgICAgIHRoaXMubW9yZV9zdWJfYnRuID0gZmFsc2U7CiAgICAgIHRoaXMuaXNfc2V0ID0gZmFsc2U7CiAgICAgIHRoaXMuJG1lc3NhZ2Uuc3VjY2Vzcygi5pON5L2c5oiQ5YqfIik7CiAgICAgIHRoaXMuZ2V0RGF0YSgpOwogICAgfSwKCiAgICAvLyDorr7nva7omZrmi5/plIDph48KICAgIGFzeW5jIHNldFNhbGVzTnVtQmF0Y2goKSB7CiAgICAgIGlmICghdGhpcy5jaG9vc2VfZGF0YS5sZW5ndGgpIHsKICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoIuivt+mAieaLqeimgeaTjeS9nOeahOWVhuWTgSIpOwogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgaWYgKCF0aGlzLnNhbGVfbnVtX2Zvcm0ubWluVmFsKSB7CiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCLomZrmi5/plIDph4/ljLrpl7TmnIDlsI/lgLzkuI3og73kuLowIik7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBpZiAoIXRoaXMuc2FsZV9udW1fZm9ybS5tYXhWYWwpIHsKICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoIuiZmuaLn+mUgOmHj+WMuumXtOacgOWkp+WAvOS4jeiDveS4ujAiKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIGlmICh0aGlzLnNhbGVfbnVtX2Zvcm0ubWF4VmFsIDw9IHRoaXMuc2FsZV9udW1fZm9ybS5taW5WYWwpIHsKICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoIuiZmuaLn+mUgOmHj+WMuumXtOacgOWkp+WAvOW/hemhu+Wkp+S6juacgOWwj+WAvCIpOwogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgY29uc3QgaWREYXRhID0gdGhpcy5jaG9vc2VfZGF0YS5tYXAoaXRlbSA9PiB7CiAgICAgICAgcmV0dXJuIGl0ZW0uaWQ7CiAgICAgIH0pOwogICAgICB0aGlzLm1vcmVfc3ViX2J0biA9IHRydWU7CiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBzZXRTYWxlc051bUJhdGNoKHsgLi4udGhpcy5zYWxlX251bV9mb3JtLAogICAgICAgIGlkczogaWREYXRhCiAgICAgIH0pOwogICAgICB0aGlzLm1vcmVfc3ViX2J0biA9IGZhbHNlOwogICAgICB0aGlzLmlzX3NldCA9IGZhbHNlOwogICAgICB0aGlzLiRtZXNzYWdlLnN1Y2Nlc3MoIuaTjeS9nOaIkOWKnyIpOwogICAgICB0aGlzLmdldERhdGEoKTsKICAgIH0sCgogICAgLy8gIOiuvue9ruWTgeeJjAogICAgYXN5bmMgc2V0QnJhbmQoKSB7CiAgICAgIGlmICghdGhpcy5jaG9vc2VfZGF0YS5sZW5ndGgpIHsKICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoIuivt+mAieaLqeimgeaTjeS9nOeahOWVhuWTgSIpOwogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgaWYgKCF0aGlzLmJyYW5kSWQpIHsKICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoIuivt+mAieaLqeimgeaTjeS9nOeahOWTgeeJjCIpOwogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgY29uc3QgaWREYXRhID0gdGhpcy5jaG9vc2VfZGF0YS5tYXAoaXRlbSA9PiB7CiAgICAgICAgcmV0dXJuIGl0ZW0uYmFzaWNHb29kc0lkOwogICAgICB9KTsKICAgICAgdGhpcy5tb3JlX3N1Yl9idG4gPSB0cnVlOwogICAgICBjb25zdCBkYXRhID0gYXdhaXQgc2V0QnJhbmQoewogICAgICAgIGlkOiBpZERhdGEsCiAgICAgICAgYnJhbmRJZDogdGhpcy5icmFuZElkCiAgICAgIH0pOwogICAgICB0aGlzLm1vcmVfc3ViX2J0biA9IGZhbHNlOwogICAgICB0aGlzLmlzX3NldCA9IGZhbHNlOwogICAgICB0aGlzLiRtZXNzYWdlLnN1Y2Nlc3MoIuaTjeS9nOaIkOWKnyIpOwogICAgICB0aGlzLmdldERhdGEoKTsKICAgIH0sCgogICAgLy8g6L2s56e75YiG57G7CiAgICBhc3luYyB1cGRhdGVDYXRlZ29yeSgpIHsKICAgICAgaWYgKCF0aGlzLmNob29zZV9kYXRhLmxlbmd0aCkgewogICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZygi6K+36YCJ5oup6KaB5pON5L2c55qE5ZWG5ZOBIik7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBpZiAoIXRoaXMuc2V0X2Zvcm0uY2F0ZWdvcnkpIHsKICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoIuivt+mAieaLqeimgei9rOenu+eahOWIhuexuyIpOwogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgY29uc3QgaWREYXRhID0gdGhpcy5jaG9vc2VfZGF0YS5tYXAoaXRlbSA9PiB7CiAgICAgICAgcmV0dXJuIGl0ZW0uYmFzaWNHb29kc0lkOwogICAgICB9KTsKICAgICAgdGhpcy5tb3JlX3N1Yl9idG4gPSB0cnVlOwogICAgICBjb25zdCBkYXRhID0gYXdhaXQgdXBkYXRlQ2F0ZWdvcnkoewogICAgICAgIGlkOiBpZERhdGEsCiAgICAgICAgLy8g6KaB56e75Yqo55qE5Z+656GA5ZWG5ZOBaWQKICAgICAgICBjYXRlZ29yeUlkOiB0aGlzLnNldF9mb3JtLmNhdGVnb3J5W3RoaXMuc2V0X2Zvcm0uY2F0ZWdvcnkubGVuZ3RoIC0gMV0sCiAgICAgICAgLy8g56e75Yqo6Iez5ZWG5ZOB5YiG57G7aWQKICAgICAgICBjYXRlZ29yeVBhdGg6IHRoaXMuc2V0X2Zvcm0uY2F0ZWdvcnkuam9pbigiLCIpIC8vIOaWsOeahOWVhuWTgeWIhuexu+i3r+W+hAoKICAgICAgfSk7CiAgICAgIHRoaXMubW9yZV9zdWJfYnRuID0gZmFsc2U7CiAgICAgIHRoaXMuaXNfc2V0ID0gZmFsc2U7CiAgICAgIHRoaXMuJG1lc3NhZ2Uuc3VjY2Vzcygi5pON5L2c5oiQ5YqfIik7CiAgICAgIHRoaXMuZ2V0RGF0YSgpOwogICAgfSwKCiAgICBjaGFuZ2UoKSB7CiAgICAgIHRoaXMuY2xhc3NpZnlGbGFnID0gdGhpcy5jaGVja0xpc3Quc29tZShpdGVtID0+IGl0ZW0gPT09ICLllYblk4HliIbnsbsiKTsKICAgICAgdGhpcy5zcGVjaWZpY2F0aW9uRmxhZyA9IHRoaXMuY2hlY2tMaXN0LnNvbWUoaXRlbSA9PiBpdGVtID09PSAi6KeE5qC8Iik7CiAgICAgIHRoaXMudW5pdEZsYWcgPSB0aGlzLmNoZWNrTGlzdC5zb21lKGl0ZW0gPT4gaXRlbSA9PT0gIuWfuuacrOWNleS9jSIpOwogICAgICB0aGlzLmludmVudG9yeUZsYWcgPSB0aGlzLmNoZWNrTGlzdC5zb21lKGl0ZW0gPT4gaXRlbSA9PT0gIuaAu+W6k+WtmCIpOyAvLyB0aGlzLnZpcnR1YWxGbGFnID0gdGhpcy5jaGVja0xpc3Quc29tZSgoaXRlbSkgPT4gaXRlbSA9PT0gIuiZmuaLn+mUgOmHjyIpOwoKICAgICAgdGhpcy50cnVlRmxhZyA9IHRoaXMuY2hlY2tMaXN0LnNvbWUoaXRlbSA9PiBpdGVtID09PSAi55yf5a6e6ZSA6YePIik7CiAgICAgIHRoaXMuY3VycmVudFN0YXRlRmxhZyA9IHRoaXMuY2hlY2tMaXN0LnNvbWUoaXRlbSA9PiBpdGVtID09PSAi5b2T5YmN54q25oCBIik7CiAgICAgIHRoaXMucmV0YWlsU3RvcmVzRmxhZyA9IHRoaXMuY2hlY2tMaXN0LnNvbWUoaXRlbSA9PiBpdGVtID09PSAi6ZSA5ZSu5bqX6ZO6Iik7CiAgICAgIHRoaXMudGltZUZsYWcgPSB0aGlzLmNoZWNrTGlzdC5zb21lKGl0ZW0gPT4gaXRlbSA9PT0gIuWIm+W7uuaXtumXtCIpOwogICAgfQoKICB9Cn07"},{"version":3,"mappings":"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MAkBA;IACA,CAlDA;;IAmDA;MACA;;MACA;QACA;QACA;UAAAtE;QAAA;QACA;;QAEA;UACA,8DACAuE;YACA,qCACAC,GADA,CACAC;cACA;YACA,CAHA,EAIAC,IAJA,CAIA,GAJA;YAKA,SACA,OADA;cAEAC;YAFA;UAIA,CAXA;QAaA,CAdA,MAcA;UACA,8DACAJ;YACA,SACA,OADA;cAEAI;YAFA;UAIA,CANA;QAQA;MACA,CA/BA,CAgCA;;IACA,CApFA;;IAqFAC;MACA;MACA;MACA;IACA,CAzFA;;IA0FAC;MACA;MACA;MACA;IACA,CA9FA;;IA+FA;IACAC;MACA;MACA;IACA,CAnGA;;IAoGA;IACAC;MACA;IACA,CAvGA;;IAwGA;IACAC;MACA;QACA;QACA;QACA;MACA,CAJA,MAIA;QACA;MACA;IACA,CAjHA;;IAmHA;IACA;MACA,YACA/D,qBACA,eADA,GAEA,eAHA;;MAIA;QACA;QACA;MACA;;MACA;QACAgE,uBADA;QAEAC,sBAFA;QAGAC;MAHA,GAIAC,IAJA,CAIA;QACA;UACA;UACA;QACA;;QACA;UACA;QACA,CAFA;QAGA;UACAlB,UADA;UAEAjD;QAFA;QAIA;UACAkE,eADA;UAEAE;QAFA;QAIA;MACA,CArBA;IAsBA,CAnJA;;IAoJA;IACA;MACA;QACAhE,eADA;QAEAC;MAFA;;MAIA;QACAgE;MACA;;MACA;QACAA;MACA;;MACA;QACA,uCACA,SADA;UAEAC;QAFA;MAIA,CALA,MAKA;QACA;QAEA;UACA,SACA,OADA;YAEAC;UAFA;QAIA,CALA;QAMA;MACA;IACA,CAhLA;;IAiLA;IACA;MACA;QACA1E,qBADA;QAEAC,qBAFA;QAGAW,8CAHA;QAIAT,+BAJA;QAKAC,mBALA;QAMAG,eANA;QAOAC;MAPA;;MASA;QACAgE;MACA;;MACA;QACAA;MACA;;MACA;QACA,sCACA,SADA;UAEAC;QAFA;MAIA,CALA,MAKA;QACA;QAEA;UACA,SACA,OADA;YAEAC;UAFA;QAIA,CALA;QAMA;MACA;IACA,CAlNA;;IAmNA;IACAC;MACA;MACA;QACA3E,qBADA;QAEAC,qBAFA;QAGAW,8CAHA;QAIAT,+BAJA;QAKAC;MALA;MAOA;;MACA;QACA;MACA,CAFA,MAEA;QACA;MACA;IACA,CAnOA;;IAoOA;IACAwE;MACA;IACA,CAvOA;;IAwOA;IACAC;MACA;MACA;MACA;IACA,CA7OA;;IA8OA;IACAC;MACA;MACA;MACA;IACA,CAnPA;;IAoPA;IACA;MACA;QACAX,uBADA;QAEAC,sBAFA;QAGAC;MAHA,GAIAC,IAJA,CAIA;QACA;QAEA;UACAD,eADA;UAEAE;QAFA;QAIA;MACA,CAZA;IAaA,CAnQA;;IAoQA;IACA;MACA;QACAJ,uBADA;QAEAC,sBAFA;QAGAC;MAHA,GAIAC,IAJA,CAIA;QACA;QAEA;UACAD,eADA;UAEAE;QAFA;QAIA;MACA,CAZA;IAaA,CAnRA;;IAoRA;IACA;MACA;QACA;UACAnB,UADA;UAEAjD;QAFA;QAIA;UACAkE,eADA;UAEAE;QAFA;MAIA,CATA,CASA;QACA;MACA;IACA,CAlSA;;IAmSA;IACAQ;MACA;MACA;IACA,CAvSA;;IAwSA;IACAC;MACA;MACA;IACA,CA5SA;;IA6SAC;MACA;IACA,CA/SA;;IAgTA;IACAC;MACA;MACA;IACA,CApTA;;IAqTA;IACAC;MACA;QACA;MACA;;MACA;QACA;MACA;;MACA;QACA;MACA;;MACA;QACA;MACA;IACA,CAnUA;;IAoUA;IACA;MACA;QACA;QACA;MACA;;MACA;QACA;MACA,CAFA;MAGA;MACA;QACAxD,sCADA;QAEAG,4BAFA;QAGAF,oCAHA;QAIAtC;MAJA;MAMA;MAEA;MACA;MACA;IACA,CAzVA;;IA0VA;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,CAzXA;;IA0XA;IACA;MACA;QACA;QACA;MACA;;MACA;QACA;QACA;MACA;;MACA;QACA;MACA,CAFA;MAGA;MACA;QACA8D,UADA;QAEAnD;MAFA;MAIA;MAEA;MACA;MACA;IACA,CAjZA;;IAmZA;IACA;MACA;QACA;QACA;MACA;;MACA;QACA;QACA;MACA;;MACA;QACA;MACA,CAFA;MAGA;MACA;QACAmD,UADA;QACA;QACAlD,qEAFA;QAEA;QACAU,8CAHA,CAGA;;MAHA;MAKA;MAEA;MACA;MACA;IACA,CA3aA;;IA4aAwE;MACA;MACA;MACA;MACA,iEAJA,CAKA;;MACA;MACA,4CACA3B,uBADA;MAGA,4CACAA,uBADA;MAGA;IACA;;EA1bA;AAlIA","names":["setSalesNum","getGoodsInfo","BatchUnloading","getAllGoods","exportGetAllGoods","searchGood","exportSearchGood","delGoods","setTop","GoodsUpdateEnableStatus","batchGoodsExpress","setSalesNumBatch","setBrand","updateCategory","name","components","GoodsCategory","EditGoods","BrandSelModel","SelectShop","data","virtual_sales_num","set_goods_id","sale_num_form","ids","minVal","maxVal","activeName","goods_sku_list","checkedAll","is_price","sku_visible","sku_goods_name","goods_name","keyword","brandId","categoryId","enableStatus","shopId","sel_brand","total","page","pageSize","goods_data","choose_data","form","categoryPath","search_key","brand","shop","price_goods_detail","inSales","inStock","spec_loading","set_form","masterUnitId","shopName","brandName","category","branchUnit","deliverySupIds","expressType","expressFee","showExpress","ruleId","express_list","assistForm","more_sub_btn","unit_show","is_set","set_tit","checkList","columns","label","classifyFlag","specificationFlag","unitFlag","inventoryFlag","virtualFlag","trueFlag","currentStateFlag","retailStoresFlag","timeFlag","created","activated","methods","id","val","showSetSaleNum","openAddGoods","tabChange","item","map","itemS","join","specValueName","delBrand","delShop","selectionChange","editsubData","openPriceModel","confirmButtonText","cancelButtonText","type","then","message","params","export","sale_false_visible","getData","goodsChane","brandConfirm","shopConfirm","pageChange","sizeChange","checkAllChange","openSet","moreSubData","change"],"sourceRoot":"src/views/Merchants","sources":["MerchartsShop.vue"],"sourcesContent":["<template>\n <ContainerQuery>\n <div 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=\"150\"\n check-strictly\n placeholder=\"商品分类\"\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: 150px\"\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: 150px\"\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-item>\n <SelectShop\n v-model=\"shopId\"\n width=\"150\"\n placeholder=\"销售店铺\"\n @change=\"shopConfirm\"\n @clear=\"delShop\"\n />\n </el-form-item>\n </el-form>\n </div>\n <div slot=\"left\">\n <el-dropdown\n v-if=\"$accessCheck($Access.MerchartsGoodsAddMerchartsGoods)\"\n split-button\n type=\"primary\"\n @click=\"openAddGoods\"\n >\n 发布商品\n <el-dropdown-menu slot=\"dropdown\">\n <el-dropdown-item>\n <div class=\"dropdown-div\" @click=\"getData(1)\">导出</div>\n </el-dropdown-item>\n </el-dropdown-menu>\n </el-dropdown>\n <el-button v-else size=\"small\" type=\"primary\" plain @click=\"getData(1)\">\n 导出\n </el-button>\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=\"GoodsSale\"></el-tab-pane>\n <el-tab-pane label=\"已售罄\" name=\"SoldOut\"></el-tab-pane>\n <el-tab-pane label=\"仓库中\" name=\"InWarehouse\"></el-tab-pane>\n </el-tabs>\n <el-table\n ref=\"goodsTable\"\n :data=\"goods_data\"\n @selection-change=\"selectionChange\"\n >\n <el-table-column\n type=\"selection\"\n width=\"55\"\n fixed=\"left\"\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 v-if=\"classifyFlag\"\n prop=\"categoryName\"\n label=\"商品分类\"\n align=\"left\"\n min-width=\"120\"\n ></el-table-column>\n <el-table-column\n v-if=\"specificationFlag\"\n label=\"规格\"\n align=\"left\"\n min-width=\"100\"\n >\n <template slot-scope=\"scope\">\n <el-popover\n placement=\"right\"\n width=\"1000\"\n trigger=\"hover\"\n @show=\"showSpec(scope.$index)\"\n >\n <el-table\n v-loading=\"spec_loading\"\n :height=\"500\"\n :data=\"scope.row.goods_sku_list\"\n size=\"small\"\n border\n >\n <el-table-column\n property=\"unitName\"\n label=\"单位\"\n min-width=\"60px\"\n ></el-table-column>\n <el-table-column\n property=\"specValueName\"\n label=\"属性\"\n min-width=\"120px\"\n ></el-table-column>\n <el-table-column\n property=\"enabledLadder\"\n label=\"阶梯价\"\n min-width=\"70px\"\n >\n <template slot-scope=\"props\">\n <el-tag v-if=\"props.row.enabledLadder === 1\" type=\"success\">\n 是\n </el-tag>\n <el-tag v-else type=\"info\">否</el-tag>\n </template>\n </el-table-column>\n <el-table-column\n property=\"salePrice\"\n label=\"销售价(元)\"\n min-width=\"160px\"\n >\n <template slot-scope=\"props\">\n <span\n v-if=\"props.row.enabledLadder === 0\"\n style=\"color: #ff4040\"\n >\n ¥{{ props.row.salePrice }}\n </span>\n <div v-else>\n <p\n v-for=\"(item, index) in props.row.ladderPrice\"\n :key=\"index\"\n >\n <span>\n 数量:\n <span style=\"color: #ff4040\">\n {{ item.from }}-{{\n index === props.row.ladderPrice.length - 1\n ? \"∞\"\n : item.to\n }}\n </span>\n ,\n </span>\n <span>\n 价格:\n <span style=\"color: #ff4040\">¥{{ item.price }}</span>\n ;\n </span>\n </p>\n </div>\n </template>\n </el-table-column>\n <el-table-column\n property=\"marketPrice\"\n label=\"市场价(元)\"\n min-width=\"100px\"\n ></el-table-column>\n <el-table-column\n property=\"setNum\"\n label=\"起订数量\"\n min-width=\"100px\"\n ></el-table-column>\n <el-table-column\n property=\"inventory\"\n label=\"可用库存\"\n min-width=\"100px\"\n >\n <template slot-scope=\"props\">\n {{ props.row.inventory - 0 }}\n </template>\n </el-table-column>\n <el-table-column\n property=\"salesNum\"\n label=\"销量\"\n min-width=\"100px\"\n ></el-table-column>\n <el-table-column\n property=\"barCode\"\n label=\"条形码\"\n min-width=\"100px\"\n ></el-table-column>\n </el-table>\n <el-button slot=\"reference\" size=\"mini\" plain type=\"primary\">\n {{ scope.row.specTotal }}\n 种规格\n </el-button>\n </el-popover>\n </template>\n </el-table-column>\n <el-table-column\n v-if=\"unitFlag\"\n prop=\"unitNameMaster\"\n label=\"基本单位\"\n align=\"left\"\n min-width=\"80\"\n ></el-table-column>\n <el-table-column\n v-if=\"inventoryFlag\"\n prop=\"masterInventory\"\n label=\"总库存\"\n align=\"left\"\n min-width=\"100\"\n >\n <template slot-scope=\"scope\">\n {{ $_common.formatNub(scope.row.inventorTotal) }}\n </template>\n </el-table-column>\n <!--<el-table-column\n v-if=\"virtualFlag\"\n prop=\"virtualSalesNum\"\n label=\"虚拟销量\"\n align=\"left\"\n min-width=\"100\"\n >\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 v-if=\"trueFlag\"\n prop=\"salesNum\"\n label=\"真实销量\"\n align=\"left\"\n min-width=\"100\"\n ></el-table-column>\n <el-table-column\n v-if=\"currentStateFlag\"\n prop=\"enableStatus\"\n label=\"当前状态\"\n align=\"left\"\n min-width=\"100\"\n >\n <template slot-scope=\"scope\">\n <el-switch\n v-if=\"$accessCheck($Access.MerchartsGoodsUpMerchartsGoods)\"\n v-model=\"scope.row.enableStatus\"\n class=\"switchStyle\"\n active-color=\"#36B365\"\n :active-value=\"5\"\n :inactive-value=\"4\"\n active-text=\"上架\"\n inactive-text=\"下架\"\n @change=\"changeGoodsStatus($event, scope.row)\"\n ></el-switch>\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 v-if=\"retailStoresFlag\"\n prop=\"shopName\"\n label=\"销售店铺\"\n align=\"left\"\n min-width=\"100\"\n :show-overflow-tooltip=\"true\"\n ></el-table-column>\n <el-table-column\n v-if=\"timeFlag\"\n prop=\"createTime\"\n label=\"创建时间\"\n align=\"left\"\n width=\"160\"\n >\n <template slot-scope=\"scope\">\n {{ $_common.formatDate(scope.row.createTime) }}\n </template>\n </el-table-column>\n <el-table-column align=\"left\" fixed=\"right\" width=\"180\">\n <template slot=\"header\" slot-scope=\"scope\">\n <span v-if=\"false\">{{ scope.$index }}</span>\n <span>操作</span>\n <el-popover popper-class=\"custom-table-checkbox\" trigger=\"click\">\n <el-checkbox-group v-model=\"checkList\">\n <el-checkbox\n v-for=\"(item, index) in columns\"\n :key=\"index\"\n :label=\"item.label\"\n @change=\"change\"\n ></el-checkbox>\n </el-checkbox-group>\n <el-button\n slot=\"reference\"\n icon=\"el-icon-setting\"\n type=\"text\"\n ></el-button>\n </el-popover>\n </template>\n <template slot-scope=\"scope\">\n <el-button\n v-if=\"$accessCheck($Access.MerchartsGoodsEditMerchartsGoods)\"\n type=\"text\"\n @click=\"openPriceModel(scope.row)\"\n >\n 编辑\n </el-button>\n <el-button\n v-if=\"$accessCheck($Access.MerchartsGoodsDelMerchartsGoods)\"\n type=\"text\"\n @click=\"delData(scope.row.id)\"\n >\n 删除\n </el-button>\n <el-button\n v-if=\"$accessCheck($Access.MerchartsGoodsTopMerchartsGoods)\"\n type=\"text\"\n @click=\"setTop(scope.row.id)\"\n >\n {{ scope.row.topTime !== 0 ? \"取消置顶\" : \"置顶\" }}\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 <el-dropdown\n v-if=\"\n $accessCheck($Access.PublishGoodssetSalesNumBatch) ||\n $accessCheck($Access.PublishGoodsbatchGoodsExpress)\n \"\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 v-if=\"$accessCheck($Access.PublishGoodssetSalesNumBatch)\"\n >\n <div class=\"dropdown-div\" @click=\"openSet('虚拟销量')\">\n 设置虚拟销量\n </div>\n </el-dropdown-item>-->\n <el-dropdown-item\n v-if=\"$accessCheck($Access.PublishGoodsbatchGoodsExpress)\"\n >\n <div class=\"dropdown-div\" @click=\"openSet('物流设置')\">\n 批量设置物流\n </div>\n </el-dropdown-item>\n </el-dropdown-menu>\n </el-dropdown>\n <el-dropdown\n v-if=\"\n $accessCheck($Access.BaseDataListUpdateCategory) ||\n $accessCheck($Access.BaseDataListSetBrand)\n \"\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\n v-if=\"$accessCheck($Access.BaseDataListUpdateCategory)\"\n class=\"dropdown-div\"\n @click=\"openSet('转移分类')\"\n >\n 转移分类\n </div>\n </el-dropdown-item>\n <el-dropdown-item>\n <div\n v-if=\"$accessCheck($Access.BaseDataListSetBrand)\"\n class=\"dropdown-div\"\n @click=\"openSet('设置品牌')\"\n >\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 GoodsCategory from \"@/component/common/GoodsCategory.vue\";\n import BrandSelModel from \"@/component/goods/BrandSelModel.vue\";\n import EditGoods from \"@/views/goods/sale/AddGoods\";\n import SelectShop from \"@/component/goods/SelectShop.vue\";\n\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 updateCategory,\n } from \"@/api/goods\";\n import { getAllExpressRule } from \"@/api/System\";\n export default {\n name: \"PublishGoods\",\n components: {\n GoodsCategory,\n EditGoods,\n BrandSelModel,\n SelectShop,\n },\n data() {\n return {\n virtual_sales_num: 0,\n set_goods_id: 0,\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 sku_visible: false,\n sku_goods_name: \"\",\n goods_name: \"\",\n keyword: \"\",\n brandId: \"\",\n categoryId: \"\",\n enableStatus: \"\",\n shopId: \"\",\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 inSales: 0,\n inStock: 0,\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 assistForm: {},\n more_sub_btn: false,\n unit_show: false,\n is_set: false,\n set_tit: \"\",\n checkList: [\n \"商品分类\",\n \"规格\",\n \"基本单位\",\n \"总库存\",\n // \"虚拟销量\",\n \"真实销量\",\n \"当前状态\",\n \"销售店铺\",\n \"创建时间\",\n ],\n columns: [\n {\n label: \"商品分类\",\n },\n {\n label: \"规格\",\n },\n {\n label: \"基本单位\",\n },\n {\n label: \"总库存\",\n },\n // {\n // label: \"虚拟销量\",\n // },\n {\n label: \"真实销量\",\n },\n {\n label: \"当前状态\",\n },\n {\n label: \"销售店铺\",\n },\n {\n label: \"创建时间\",\n },\n ],\n classifyFlag: true,\n specificationFlag: true,\n unitFlag: true,\n inventoryFlag: true,\n virtualFlag: true,\n trueFlag: true,\n currentStateFlag: true,\n retailStoresFlag: true,\n timeFlag: true,\n };\n },\n created() {\n if (this.$route.name === \"GoodsSale\") {\n this.inSales = 5;\n } else if (this.$route.name === \"SoldOut\") {\n this.inStock = 4;\n } else if (this.$route.name === \"InWarehouse\") {\n this.inStock = 5;\n }\n this.getAllGoods();\n this.getAllExpressRule();\n },\n activated() {\n if (this.$_isInit()) return;\n this.getData();\n },\n methods: {\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 this.getData();\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 if (parseInt(this.$store.getters[\"MUser/enterpriseScope\"]) === 4) {\n this.$router.push(\"/goods/sale/AddGoodsOneStore\");\n } else {\n this.$router.push(\"/goods/sale/AddGoods\");\n }\n },\n tabChange() {\n switch (this.activeName) {\n case \"all\":\n this.inSales = 0;\n this.inStock = 0;\n break;\n case \"GoodsSale\":\n this.inSales = 5;\n this.inStock = 0;\n break;\n case \"SoldOut\":\n this.inSales = 0;\n this.inStock = 4;\n break;\n case \"InWarehouse\":\n this.inSales = 0;\n this.inStock = 5;\n break;\n }\n this.pageChange(1);\n },\n async showSpec(index) {\n let target = this.$_common.deepClone(this.goods_data);\n if (!target[index].goods_sku_list) {\n this.spec_loading = true;\n const { data } = await getGoodsInfo(target[index].id);\n this.spec_loading = false;\n\n if (data.specType === 2) {\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 } else if (data.specType === 1) {\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 // this.goods_data = target\n },\n delBrand() {\n this.form.brand = \"\";\n this.brandId = \"\";\n this.pageChange(1);\n },\n delShop() {\n this.form.shop = \"\";\n this.shopId = \"\";\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.getData();\n },\n // 调整价格 编辑查看\n openPriceModel(row) {\n if (parseInt(this.$store.getters[\"MUser/enterpriseScope\"]) === 5) {\n this.is_price = true;\n this.goods_name = row.title;\n this.price_goods_detail = row;\n } else {\n this.$router.push(`/goods/sale/EditGoodsOneStore/${row.id}`);\n }\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 this.getData();\n });\n },\n // 获取列表\n async getAllGoods(exports) {\n let params = {\n page: this.page,\n pageSize: this.pageSize,\n };\n if (this.inSales) {\n params.inSales = this.inSales;\n }\n if (this.inStock) {\n params.inStock = this.inStock;\n }\n if (exports) {\n const data = await exportGetAllGoods({\n ...params,\n export: 1,\n });\n } else {\n const data = await getAllGoods(params);\n\n this.goods_data = data.data.map((item) => {\n return {\n ...item,\n sale_false_visible: false,\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 shopId: this.shopId,\n page: this.page,\n pageSize: this.pageSize,\n };\n if (this.inSales) {\n params.inSales = this.inSales;\n }\n if (this.inStock) {\n params.inStock = this.inStock;\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 };\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 shopId: this.shopId,\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 shopConfirm(val, row) {\n this.shopId = row[0].id;\n this.form.shop = row[0].name;\n this.pageChange(1);\n },\n // 删除商品\n async delData(id) {\n this.$confirm(\"确定要删除该条商品吗?\", \"提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\",\n }).then(async () => {\n const data = await delGoods(id);\n\n this.$message({\n type: \"success\",\n message: \"删除成功!\",\n });\n this.getData();\n });\n },\n // 删除商品\n async setTop(id) {\n this.$confirm(\"是否要将该商品置顶?\", \"提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\",\n }).then(async () => {\n const data = await setTop(id);\n\n this.$message({\n type: \"success\",\n message: \"操作成功!\",\n });\n this.getData();\n });\n },\n // 商品上下架\n async changeGoodsStatus(val, row) {\n try {\n const data = await GoodsUpdateEnableStatus({\n id: row.id,\n enableStatus: val,\n });\n this.$message({\n type: \"success\",\n message: \"操作成功!\",\n });\n } catch (e) {\n this.getData();\n }\n },\n // 切页\n pageChange(val) {\n this.page = val;\n this.getData();\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.updateCategory();\n }\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.getData();\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.getData();\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.getData();\n },\n\n // 转移分类\n async updateCategory() {\n if (!this.choose_data.length) {\n this.$message.warning(\"请选择要操作的商品\");\n return;\n }\n if (!this.set_form.category) {\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 updateCategory({\n id: idData, // 要移动的基础商品id\n categoryId: this.set_form.category[this.set_form.category.length - 1], // 移动至商品分类id\n categoryPath: this.set_form.category.join(\",\"), // 新的商品分类路径\n });\n this.more_sub_btn = false;\n\n this.is_set = false;\n this.$message.success(\"操作成功\");\n this.getData();\n },\n change() {\n this.classifyFlag = this.checkList.some((item) => item === \"商品分类\");\n this.specificationFlag = this.checkList.some((item) => item === \"规格\");\n this.unitFlag = this.checkList.some((item) => item === \"基本单位\");\n this.inventoryFlag = this.checkList.some((item) => item === \"总库存\");\n // this.virtualFlag = this.checkList.some((item) => item === \"虚拟销量\");\n this.trueFlag = this.checkList.some((item) => item === \"真实销量\");\n this.currentStateFlag = this.checkList.some(\n (item) => item === \"当前状态\"\n );\n this.retailStoresFlag = this.checkList.some(\n (item) => item === \"销售店铺\"\n );\n this.timeFlag = this.checkList.some((item) => item === \"创建时间\");\n },\n },\n };\n</script>\n<style scoped lang=\"scss\">\n .open-span,\n .disabled-span {\n cursor: pointer;\n }\n .open-span:hover,\n .disabled-span:hover {\n color: #1c8fef;\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 .custom-table-checkbox {\n .el-checkbox {\n display: block !important;\n margin: 0 0 $base-padding/4 0;\n }\n }\n</style>\n<style>\n .demo-table-expand {\n font-size: 0;\n }\n .demo-table-expand label {\n width: 90px;\n color: #99a9bf;\n }\n .demo-table-expand .el-form-item {\n margin-right: 0;\n margin-bottom: 0;\n width: 50%;\n }\n</style>\n"]}]}
|