1 |
- {"remainingRequest":"D:\\qianger\\7\\jindouyunNewFront\\node_modules\\babel-loader\\lib\\index.js!D:\\qianger\\7\\jindouyunNewFront\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\qianger\\7\\jindouyunNewFront\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\qianger\\7\\jindouyunNewFront\\src\\views\\goods\\sale\\AddGoodsAdjustPrice.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\qianger\\7\\jindouyunNewFront\\src\\views\\goods\\sale\\AddGoodsAdjustPrice.vue","mtime":1655374732000},{"path":"D:\\qianger\\7\\jindouyunNewFront\\babel.config.js","mtime":1655374732000},{"path":"D:\\qianger\\7\\jindouyunNewFront\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\qianger\\7\\jindouyunNewFront\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\qianger\\7\\jindouyunNewFront\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\qianger\\7\\jindouyunNewFront\\node_modules\\vue-loader\\lib\\index.js","mtime":1655715099000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuaW5jbHVkZXMuanMiOwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwovLwppbXBvcnQgR29vZHNDaG9vc2VTaG9wIGZyb20gIkAvY29tcG9uZW50L2dvb2RzL0dvb2RzQ2hvb3NlU2hvcC52dWUiOwppbXBvcnQgQ29uZGl0aW9uU2VsR29vZHMgZnJvbSAiQC9jb21wb25lbnQvY29tbW9uL0NvbmRpdGlvblNlbEdvb2RzIjsKaW1wb3J0IFNlbGVjdFNob3AgZnJvbSAiQC9jb21wb25lbnQvZ29vZHMvU2VsZWN0U2hvcC52dWUiOwppbXBvcnQgeyBnZXRHb29kc0luZm8gfSBmcm9tICJAL2FwaS9nb29kcyI7CmltcG9ydCB7IGFkZFBhdXNlU2F2ZSwgZ2V0UGF1c2VTYXZlLCBkZWxQYXVzZVNhdmUgfSBmcm9tICJAL2FwaS9jb21tb24iOwppbXBvcnQgeyBhZGRBbmRFZmZlY3RpdmUsIFByaWNlQWRqdXN0bWVudEFkZCB9IGZyb20gIkAvYXBpL1ByaWNlIjsKaW1wb3J0IHsgbWFwR2V0dGVycyB9IGZyb20gInZ1ZXgiOwppbXBvcnQgeyBnZXRTdXBwbGllck9mZmVyUHJpY2UgfSBmcm9tICJAL2FwaS9TdXBwbGllciI7CmltcG9ydCB7IGdldFJlbE1hcCB9IGZyb20gIkAvYXBpL2dvb2RzIjsKY29uc3QgbGFkZGVyUHJpY2VEYXRhID0gW3sKICBmcm9tOiAxLAogIHByaWNlOiAwLjAxLAogIHRvOiAyCn0sIHsKICBmcm9tOiAzLAogIHByaWNlOiAwLjAxLAogIHRvOiA0Cn0sIHsKICBmcm9tOiA1LAogIHByaWNlOiAwLjAxLAogIHRvOiA5OTk5OTk5OTkKfV07CmNvbnN0IGdvb2RzSXRlbSA9IHsKICBjcmVhdGVVc2VyTmFtZTogIiIsCiAgZ29vZHNOYW1lOiAiIiwKICBnb29kc0lkOiAiIiwKICBzYWxlVHlwZTogIjEiLAogIHNhbGVQcmljZVR5cGU6ICIxIiwKICBzYWxlUHJpY2VBcmVhVHlwZTogMSwKICBzYWxlUHJpY2U6ICIiLAogIG5vd1ByaWNlOiAiIiwKICB1bml0TmFtZTogIiIsCiAgc2t1SWQ6ICIiLAogIHNob3BJZDogIiIsCiAgc2hvcE5hbWU6ICIiLAogIGxhZGRlclByaWNlOiBsYWRkZXJQcmljZURhdGEsCiAgZW5hYmxlZExhZGRlcjogMAp9OwpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogIkFkZEdvb2RzQWRqdXN0UHJpY2UiLAogIGNvbXBvbmVudHM6IHsKICAgIENvbmRpdGlvblNlbEdvb2RzLAogICAgU2VsZWN0U2hvcAogIH0sCiAgcHJvcHM6IHsKICAgIGdvb2RJZDogewogICAgICB0eXBlOiBbTnVtYmVyLCBTdHJpbmddLAogICAgICBkZWZhdWx0OiAwCiAgICB9CiAgfSwKCiAgZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIHNob3dfZ29vZHM6IGZhbHNlLAogICAgICBsb2FkaW5nOiBmYWxzZSwKICAgICAgc2hvcF9uYW1lOiAiIiwKICAgICAgaXNEcmF3OiBmYWxzZSwKICAgICAgc2hvd19zaG9wOiBmYWxzZSwKICAgICAgbV9pbmRleDogIiIsCiAgICAgIHRhYmxlRGF0YTogW10sCiAgICAgIG1hdGVyaWFsTmFtZTogIiIsCiAgICAgIG1hdGVyaWFsRGF0YToge30sCiAgICAgIHNob3BfaWQ6ICIiLAogICAgICB1c2VyX3Bvd2VyOiB7fSwKICAgICAgcGFnZU5hbWU6ICIiLAogICAgICBnb29kc19pbmRleDogMCwKICAgICAgZ29vZHNfb3B0aW9uczogW10sCiAgICAgIHNlbGVjdF9sb2FkaW5nOiBmYWxzZSwKICAgICAgc3BlY19jaGVjazogW10sCiAgICAgIGdvb2RzSXRlbToge30sCiAgICAgIG1vZGlmeV9saXN0OiBbXSwKICAgICAgcHJpY2VfaWQ6IDAKICAgIH07CiAgfSwKCiAgY29tcHV0ZWQ6IHsgLi4ubWFwR2V0dGVycyh7CiAgICAgIHN0b3JlRGF0YTogIk1Vc2VyL3N0b3JlRGF0YSIKICAgIH0pCiAgfSwKCiAgY3JlYXRlZCgpIHsKICAgIHRoaXMucGFnZU5hbWUgPSB0aGlzLiRyb3V0ZS5uYW1lOyAvLyDllYblk4HliJfooajov5vooYzllYblk4HosIPku7cKCiAgICB0aGlzLmlzRHJhdyA9IHRoaXMuZ29vZElkID4gMDsKCiAgICBpZiAodGhpcy5pc0RyYXcpIHsKICAgICAgdGhpcy5nZXRHb29kc0RldGFpbCgpOwogICAgfSBlbHNlIHsKICAgICAgLy8g5oql5Lu35Y2VCiAgICAgIGlmICh0aGlzLiRyb3V0ZS5xdWVyeS5wcmljZV9pZCkgewogICAgICAgIHRoaXMucHJpY2VfaWQgPSB0aGlzLiRyb3V0ZS5xdWVyeS5wcmljZV9pZDsgLy8gdGhpcy5nZXRTdXBwbGllck9mZmVyUHJpY2UoKTsKCiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBmb3IgKGxldCBpID0gMTsgaSA8PSAxOyBpKyspIHsKICAgICAgICB0aGlzLnRhYmxlRGF0YS5wdXNoKHRoaXMuJF9jb21tb24uZGVlcENsb25lKGdvb2RzSXRlbSkpOwogICAgICB9CgogICAgICB0aGlzLmdldFBhdXNlU2F2ZSgpOwogICAgfQogIH0sCgogIG1vdW50ZWQoKSB7CiAgICBpZiAoWzIsIDNdLmluY2x1ZGVzKHRoaXMuc3lzdGVtVHlwZSkpIHsKICAgICAgdGhpcy5zaG9wX2lkID0gdGhpcy5zdG9yZURhdGEuaWQ7CiAgICAgIHRoaXMuc2hvcF9uYW1lID0gdGhpcy5zdG9yZURhdGEubmFtZTsKICAgIH0KICB9LAoKICBtZXRob2RzOiB7CiAgICBwcmljZUNoYW5nZShpbmRleCkgewogICAgICBsZXQgdGFyZ2V0ID0gdGhpcy4kX2NvbW1vbi5kZWVwQ2xvbmUodGhpcy50YWJsZURhdGEpOwogICAgICBsZXQgc2FsZVByaWNlID0gdGFyZ2V0W2luZGV4XS5zYWxlUHJpY2U7CgogICAgICBpZiAoc2FsZVByaWNlIDwgMCkgewogICAgICAgIHRhcmdldFtpbmRleF0uc2FsZVByaWNlID0gMDsKICAgICAgfQoKICAgICAgdGhpcy50YWJsZURhdGEgPSB0YXJnZXQ7CiAgICB9LAoKICAgIHNob3BEZWZhdWx0KHZhbCwgb2JqKSB7CiAgICAgIHRoaXMuc2hvcF9pZCA9IHZhbDsKICAgICAgdGhpcy5zaG9wX25hbWUgPSBvYmoubmFtZTsKCiAgICAgIGlmICh0aGlzLiRyb3V0ZS5xdWVyeS5wcmljZV9pZCkgewogICAgICAgIHRoaXMuZ2V0U3VwcGxpZXJPZmZlclByaWNlKCk7CiAgICAgIH0KICAgIH0sCgogICAgYXN5bmMgZ2V0UmVsTWFwKG1hdGVyaWVsSWQpIHsKICAgICAgY29uc3QgewogICAgICAgIGRhdGEKICAgICAgfSA9IGF3YWl0IGdldFJlbE1hcCh7CiAgICAgICAgc2hvcElkOiB0aGlzLnNob3BfaWQsCiAgICAgICAgbWF0ZXJpZWxJZHM6IG1hdGVyaWVsSWQKICAgICAgfSk7CiAgICAgIHRoaXMudGFibGVEYXRhID0gdGhpcy50YWJsZURhdGEubWFwKGl0ZW0gPT4gewogICAgICAgIHJldHVybiB7IC4uLml0ZW0sCiAgICAgICAgICBnb29kc0lkOiBkYXRhW2l0ZW0uaWRdIHx8IDAKICAgICAgICB9OwogICAgICB9KTsKICAgIH0sCgogICAgYXN5bmMgZ2V0U3VwcGxpZXJPZmZlclByaWNlKCkgewogICAgICBjb25zdCBkYXRhID0gYXdhaXQgZ2V0U3VwcGxpZXJPZmZlclByaWNlKHRoaXMucHJpY2VfaWQpOwogICAgICBsZXQgZGV0YWlsc19saXN0ID0gW107CiAgICAgIGRhdGEuZGF0YS5kZXRhaWxzLmZvckVhY2goaXRlbSA9PiB7CiAgICAgICAgZm9yIChsZXQgaSBpbiBpdGVtLm9mZmVyUHJpY2UpIHsKICAgICAgICAgIGRldGFpbHNfbGlzdC5wdXNoKHsKICAgICAgICAgICAgZ29vZHNOYW1lOiBpdGVtLm1hdGVyaWVsTmFtZSwKICAgICAgICAgICAgY29kZTogaXRlbS5tYXRlcmllbENvZGUsCiAgICAgICAgICAgIGlkOiBpdGVtLm1hdGVyaWVsSWQsCiAgICAgICAgICAgIHNrdUlkOiBpLAogICAgICAgICAgICAuLi5pdGVtLm9mZmVyUHJpY2VbaV0KICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgfSk7CiAgICAgIGxldCBnb29kc19saXN0ID0gZGV0YWlsc19saXN0Lm1hcChpdGVtUCA9PiB7CiAgICAgICAgY29uc3Qgc3BlY0dyb3BOYW1lID0gaXRlbVAuc3BlY0dyb3VwLm1hcChpdGVtUCA9PiB7CiAgICAgICAgICByZXR1cm4gaXRlbVAuc3BlY0dyb3BOYW1lOwogICAgICAgIH0pOwogICAgICAgIHJldHVybiB7CiAgICAgICAgICBpZDogaXRlbVAuaWQsCiAgICAgICAgICBnb29kc05hbWU6IGl0ZW1QLmdvb2RzTmFtZSwKICAgICAgICAgIHVuaXROYW1lOiBpdGVtUC51bml0TmFtZSwKICAgICAgICAgIHNwZWNHcm9wTmFtZTogc3BlY0dyb3BOYW1lLAogICAgICAgICAgc2t1SWQ6IGl0ZW1QLnNrdUlkLAogICAgICAgICAgbm93UHJpY2U6IGl0ZW1QLmNvc3RQcmljZSwKICAgICAgICAgIGVuYWJsZWRMYWRkZXI6IDAsCiAgICAgICAgICBjcmVhdGVVc2VyTmFtZTogdGhpcy51c2VyTmFtZSwKICAgICAgICAgIGdvb2RzSWQ6IDAsCiAgICAgICAgICBzYWxlVHlwZTogIjEiLAogICAgICAgICAgc2FsZVByaWNlVHlwZTogIjEiLAogICAgICAgICAgc2FsZVByaWNlQXJlYVR5cGU6IDEsCiAgICAgICAgICBzYWxlUHJpY2U6IGl0ZW1QLmNvc3RQcmljZSwKICAgICAgICAgIHNob3BJZDogdGhpcy5zaG9wX2lkLAogICAgICAgICAgc2hvcE5hbWU6IHRoaXMuc2hvcF9uYW1lLAogICAgICAgICAgbGFkZGVyUHJpY2U6IFtdCiAgICAgICAgfTsKICAgICAgfSk7CiAgICAgIHRoaXMudGFibGVEYXRhID0gZ29vZHNfbGlzdDsKICAgICAgY29uc3QgbWF0ZXJpZWxJZCA9IGRldGFpbHNfbGlzdC5tYXAoaXRlbUcgPT4gewogICAgICAgIHJldHVybiBpdGVtRy5pZDsKICAgICAgfSk7CiAgICAgIGF3YWl0IHRoaXMuZ2V0UmVsTWFwKHRoaXMuJF9jb21tb24udW5pcXVlKG1hdGVyaWVsSWQpKTsKICAgIH0sCgogICAgYXN5bmMgZ2V0R29vZHNEZXRhaWwoKSB7CiAgICAgIGNvbnN0IHsKICAgICAgICBkYXRhCiAgICAgIH0gPSBhd2FpdCBnZXRHb29kc0luZm8odGhpcy5nb29kSWQpOwogICAgICB0aGlzLnNob3BfbmFtZSA9IGRhdGEudGl0bGU7CiAgICAgIHRoaXMuZ29vZHNJdGVtID0gZGF0YTsgLy8g5aSa5ZWG5oi35Y+q5bGV56S65Li75Y2V5L2NCgogICAgICBsZXQgc3BlY011bHRpcGxlID0gW107CgogICAgICBpZiAodGhpcy5zeXN0ZW1UeXBlID09PSAzKSB7CiAgICAgICAgc3BlY011bHRpcGxlID0gZGF0YS5zcGVjTXVsdGlwbGUuZmlsdGVyKGl0ZW0gPT4gaXRlbS5pc01hc3RlciA9PT0gNSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgc3BlY011bHRpcGxlID0gZGF0YS5zcGVjTXVsdGlwbGU7CiAgICAgIH0KCiAgICAgIGNvbnNvbGUubG9nKHNwZWNNdWx0aXBsZSk7CgogICAgICBpZiAoZGF0YS5zcGVjVHlwZSA9PT0gMikgewogICAgICAgIHRoaXMudGFibGVEYXRhID0gc3BlY011bHRpcGxlLm1hcChpdGVtID0+IHsKICAgICAgICAgIGNvbnN0IHNwZWNWYWx1ZU5hbWUgPSBpdGVtLnNwZWNHcm91cC5tYXAoaXRlbVMgPT4gewogICAgICAgICAgICByZXR1cm4gaXRlbVMuc3BlY1ZhbHVlTmFtZTsKICAgICAgICAgIH0pLmpvaW4oIl8iKTsKICAgICAgICAgIHJldHVybiB7IC4uLml0ZW0sCiAgICAgICAgICAgIGdvb2RzSWQ6IGRhdGEuaWQsCiAgICAgICAgICAgIHNrdUlkOiBpdGVtLmlkLAogICAgICAgICAgICBzcGVjR3JvcE5hbWU6IHNwZWNWYWx1ZU5hbWUKICAgICAgICAgIH07CiAgICAgICAgfSk7CiAgICAgIH0gZWxzZSBpZiAoZGF0YS5zcGVjVHlwZSA9PT0gMSkgewogICAgICAgIHRoaXMudGFibGVEYXRhID0gc3BlY011bHRpcGxlLm1hcChpdGVtID0+IHsKICAgICAgICAgIHJldHVybiB7IC4uLml0ZW0sCiAgICAgICAgICAgIGdvb2RzSWQ6IGRhdGEuaWQsCiAgICAgICAgICAgIHNrdUlkOiBpdGVtLmlkLAogICAgICAgICAgICBzcGVjR3JvcE5hbWU6ICLml6AiCiAgICAgICAgICB9OwogICAgICAgIH0pOwogICAgICB9CiAgICB9LAoKICAgIGFkZExpc3RHb29kcygpIHsKICAgICAgdGhpcy50YWJsZURhdGEucHVzaCh0aGlzLiRfY29tbW9uLmRlZXBDbG9uZShnb29kc0l0ZW0pKTsKICAgIH0sCgogICAgc2VsZWN0U2VsR29vZHMoaWQpIHsKICAgICAgdGhpcy5zcGVjX2NoZWNrID0gdGhpcy50YWJsZURhdGEuZmlsdGVyKGl0ZW0gPT4gaXRlbS5nb29kc0lkID09PSBpZCkubWFwKGl0ZW0gPT4gewogICAgICAgIHJldHVybiBpdGVtLnNrdUlkOwogICAgICB9KTsKICAgIH0sCgogICAgc3BlY1NlbENvbmZpcm0ocGFyYW1zKSB7CiAgICAgIGxldCB0YXJnZXQgPSB0aGlzLiRfY29tbW9uLmRlZXBDbG9uZSh0aGlzLnRhYmxlRGF0YSk7CiAgICAgIGNvbnN0IGdvb2RzRCA9IHBhcmFtcy5nb29kc0QubWFwKGl0ZW0gPT4gewogICAgICAgIHJldHVybiB7CiAgICAgICAgICAvLyBzcGVjX2NoZWNrX2xpc3Q6IHBhcmFtcy5zcGVjX2NoZWNrX2xpc3QsCiAgICAgICAgICBjcmVhdGVVc2VyTmFtZTogdGhpcy51c2VyTmFtZSwKICAgICAgICAgIGdvb2RzTmFtZTogcGFyYW1zLm5vd19nb29kc19kYXRhLnRpdGxlLAogICAgICAgICAgZ29vZHNJZDogcGFyYW1zLm5vd19nb29kc19kYXRhLmlkLAogICAgICAgICAgc2FsZVR5cGU6ICIxIiwKICAgICAgICAgIHNhbGVQcmljZVR5cGU6ICIxIiwKICAgICAgICAgIHNhbGVQcmljZUFyZWFUeXBlOiAxLAogICAgICAgICAgc2FsZVByaWNlOiBpdGVtLnNwZWMuc2FsZVByaWNlLAogICAgICAgICAgbm93UHJpY2U6IGl0ZW0uc3BlYy5zYWxlUHJpY2UsCiAgICAgICAgICB1bml0TmFtZTogaXRlbS5zcGVjLnVuaXROYW1lLAogICAgICAgICAgc3BlY0dyb3BOYW1lOiBpdGVtLnNwZWMuc3BlY0dyb3BOYW1lLAogICAgICAgICAgc2t1SWQ6IGl0ZW0uc2t1SWQsCiAgICAgICAgICBzaG9wSWQ6IHBhcmFtcy5ub3dfZ29vZHNfZGF0YS5zaG9wSWQsCiAgICAgICAgICBzaG9wTmFtZTogcGFyYW1zLm5vd19nb29kc19kYXRhLnNob3BOYW1lLAogICAgICAgICAgbGFkZGVyUHJpY2U6IGl0ZW0uc3BlYy5sYWRkZXJQcmljZSwKICAgICAgICAgIGVuYWJsZWRMYWRkZXI6IGl0ZW0uc3BlYy5lbmFibGVkTGFkZGVyCiAgICAgICAgfTsKICAgICAgfSk7CgogICAgICBpZiAoIXRhcmdldFt0aGlzLmdvb2RzX2luZGV4XS5za3VJZCkgewogICAgICAgIHRhcmdldC5zcGxpY2UodGhpcy5nb29kc19pbmRleCwgMSk7CiAgICAgIH0KCiAgICAgIGdvb2RzRC5mb3JFYWNoKGl0ZW0gPT4gewogICAgICAgIGNvbnN0IHRhcmdldEQgPSB0YXJnZXQuZmluZChpdGVtRyA9PiBpdGVtRy5za3VJZCA9PT0gaXRlbS5za3VJZCk7CgogICAgICAgIGlmICghdGFyZ2V0RCkgewogICAgICAgICAgdGFyZ2V0LnB1c2goaXRlbSk7CiAgICAgICAgfQogICAgICB9KTsKICAgICAgdGhpcy50YWJsZURhdGEgPSB0YXJnZXQ7CiAgICB9LAoKICAgIHNlbEdvb2RzKGxpc3QpIHsKICAgICAgY29uc3QgZ29vZHNEID0gbGlzdC5tYXAoaXRlbSA9PiB7CiAgICAgICAgbGV0IHNwZWNHcm9wTmFtZSA9IGl0ZW0uc3BlY0dyb3VwLm1hcChpdGVtUyA9PiB7CiAgICAgICAgICByZXR1cm4gaXRlbVMuc3BlY1ZhbHVlTmFtZTsKICAgICAgICB9KS5qb2luKCJfIik7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIGNyZWF0ZVVzZXJOYW1lOiB0aGlzLnVzZXJOYW1lLAogICAgICAgICAgZ29vZHNOYW1lOiBpdGVtLnRpdGxlLAogICAgICAgICAgZ29vZHNJZDogaXRlbS5pZCwKICAgICAgICAgIHNhbGVUeXBlOiAiMSIsCiAgICAgICAgICBzYWxlUHJpY2VUeXBlOiAiMSIsCiAgICAgICAgICBzYWxlUHJpY2VBcmVhVHlwZTogMSwKICAgICAgICAgIHNhbGVQcmljZTogaXRlbS5zYWxlUHJpY2UsCiAgICAgICAgICBub3dQcmljZTogaXRlbS5zYWxlUHJpY2UsCiAgICAgICAgICB1bml0TmFtZTogaXRlbS51bml0TmFtZSwKICAgICAgICAgIHNwZWNHcm9wTmFtZTogc3BlY0dyb3BOYW1lLAogICAgICAgICAgc2t1SWQ6IGl0ZW0uc2t1SWQsCiAgICAgICAgICBzaG9wSWQ6IGl0ZW0uc2hvcElkLAogICAgICAgICAgc2hvcE5hbWU6IGl0ZW0uc2hvcE5hbWUsCiAgICAgICAgICBsYWRkZXJQcmljZTogaXRlbS5sYWRkZXJQcmljZSwKICAgICAgICAgIGVuYWJsZWRMYWRkZXI6IGl0ZW0uZW5hYmxlZExhZGRlcgogICAgICAgIH07CiAgICAgIH0pOwoKICAgICAgaWYgKCF0aGlzLnRhYmxlRGF0YS5sZW5ndGgpIHsKICAgICAgICB0aGlzLnRhYmxlRGF0YSA9IGdvb2RzRDsKICAgICAgfSBlbHNlIHsKICAgICAgICBjb25zdCBhcnIgPSB0aGlzLiRfY29tbW9uLnVuaXF1ZSh0aGlzLnRhYmxlRGF0YS5jb25jYXQoZ29vZHNEKSwgWyJnb29kc0lkIiwgInNrdUlkIl0pLmZpbHRlcihpdGVtID0+IGl0ZW0uZ29vZHNJZCk7CiAgICAgICAgYXJyLnB1c2godGhpcy4kX2NvbW1vbi5kZWVwQ2xvbmUoZ29vZHNJdGVtKSk7CiAgICAgICAgdGhpcy50YWJsZURhdGEgPSBhcnI7CiAgICAgIH0gLy8gdGhpcy50YWJsZURhdGEgPSB0YXJnZXQ7CgogICAgfSwKCiAgICBnb29kc1Zpc2libGVDaGFuZ2UodmlzaWJsZSwgaW5kZXgpIHsKICAgICAgaWYgKHZpc2libGUpIHsKICAgICAgICB0aGlzLmdvb2RzX2luZGV4ID0gaW5kZXg7CiAgICAgIH0KICAgIH0sCgogICAgZW5hYmxlZExhZGRlckNoYW5nZShpbmRleCkgewogICAgICBjb25zdCB0YXJnZXQgPSB0aGlzLiRfY29tbW9uLmRlZXBDbG9uZSh0aGlzLnRhYmxlRGF0YSk7CgogICAgICBpZiAodGFyZ2V0W2luZGV4XS5lbmFibGVkTGFkZGVyICYmIHRhcmdldFtpbmRleF0ubGFkZGVyUHJpY2UubGVuZ3RoID09PSAwKSB7CiAgICAgICAgdGFyZ2V0W2luZGV4XS5sYWRkZXJQcmljZSA9IHRoaXMuJF9jb21tb24uZGVlcENsb25lKGxhZGRlclByaWNlRGF0YSk7CiAgICAgIH0KCiAgICAgIHRoaXMudGFibGVEYXRhID0gdGFyZ2V0OwogICAgfSwKCiAgICAvLyDlj4zlh7vpgInmi6nlupfpk7oKICAgIHNlbFNob3Aocm93KSB7CiAgICAgIHRoaXMuc2hvcF9uYW1lID0gcm93WzBdLm5hbWU7CiAgICAgIHRoaXMuc2hvcF9pZCA9IHJvd1swXS5pZDsKICAgIH0sCgogICAgbGFkZGVyUHJpY2VCbHVyKHZhbCwgaW5kZXgsIHJpbmRleCkgewogICAgICBjb25zdCB0YXJnZXQgPSB0aGlzLiRfY29tbW9uLmRlZXBDbG9uZSh0aGlzLnRhYmxlRGF0YSk7CiAgICAgIHRhcmdldFtyaW5kZXhdLmxhZGRlclByaWNlW2luZGV4ICsgMV0uZnJvbSA9IHZhbCArIDE7CgogICAgICBpZiAoaW5kZXggPT09IDApIHsKICAgICAgICB0YXJnZXRbcmluZGV4XS5sYWRkZXJQcmljZVtpbmRleCArIDFdLnRvID0gdmFsICsgMjsKCiAgICAgICAgaWYgKHRhcmdldFtyaW5kZXhdLmxhZGRlclByaWNlW2luZGV4ICsgMl0pIHsKICAgICAgICAgIHRhcmdldFtyaW5kZXhdLmxhZGRlclByaWNlW2luZGV4ICsgMl0uZnJvbSA9IHZhbCArIDM7CiAgICAgICAgfQogICAgICB9CgogICAgICB0aGlzLnRhYmxlRGF0YSA9IHRhcmdldDsKICAgIH0sCgogICAgLy8g5Yig6Zmk6Zi25qKv5Lu3CiAgICBkZWxMYWRkZXJQcmljZShpbmRleCwgckluZGV4KSB7CiAgICAgIGNvbnN0IHRhcmdldCA9IHRoaXMuJF9jb21tb24uZGVlcENsb25lKHRoaXMudGFibGVEYXRhKTsKICAgICAgdGFyZ2V0W3JJbmRleF0ubGFkZGVyUHJpY2Uuc3BsaWNlKGluZGV4LCAxKTsKICAgICAgdGFyZ2V0W3JJbmRleF0ubGFkZGVyUHJpY2VbMF0uZnJvbSA9IDE7CiAgICAgIHRhcmdldFtySW5kZXhdLmxhZGRlclByaWNlW3RhcmdldFtySW5kZXhdLmxhZGRlclByaWNlLmxlbmd0aCAtIDFdLmZyb20gPSB0YXJnZXRbckluZGV4XS5sYWRkZXJQcmljZVswXS50byArIDE7CiAgICAgIHRoaXMudGFibGVEYXRhID0gdGFyZ2V0OwogICAgfSwKCiAgICAvLyDmlrDlop7kuIDmnaHpmLbmoq/ku7cKICAgIGFkZExhZGRlclByaWNlKHJJbmRleCkgewogICAgICBjb25zdCB0YXJnZXQgPSB0aGlzLiRfY29tbW9uLmRlZXBDbG9uZSh0aGlzLnRhYmxlRGF0YSk7CgogICAgICBpZiAoIXRhcmdldFtySW5kZXhdLmxhZGRlclByaWNlLmxlbmd0aCkgewogICAgICAgIHRhcmdldFtySW5kZXhdLmxhZGRlclByaWNlLnB1c2goewogICAgICAgICAgZnJvbTogMSwKICAgICAgICAgIHByaWNlOiAiIiwKICAgICAgICAgIHRvOiAyCiAgICAgICAgfSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgY29uc3QgdXBMID0gdGFyZ2V0W3JJbmRleF0ubGFkZGVyUHJpY2VbMF07CiAgICAgICAgdGFyZ2V0W3JJbmRleF0ubGFkZGVyUHJpY2Uuc3BsaWNlKDEsICIiLCB7CiAgICAgICAgICBmcm9tOiB1cEwudG8gKyAxLAogICAgICAgICAgcHJpY2U6ICIiLAogICAgICAgICAgdG86IHVwTC50byArIDIKICAgICAgICB9KTsKCiAgICAgICAgaWYgKHRhcmdldFtySW5kZXhdLmxhZGRlclByaWNlLmxlbmd0aCA9PT0gMykgewogICAgICAgICAgdGFyZ2V0W3JJbmRleF0ubGFkZGVyUHJpY2VbdGFyZ2V0W3JJbmRleF0ubGFkZGVyUHJpY2UubGVuZ3RoIC0gMV0uZnJvbSA9IHVwTC50byArIDM7CiAgICAgICAgfQogICAgICB9CgogICAgICB0aGlzLnRhYmxlRGF0YSA9IHRhcmdldDsKICAgIH0sCgogICAgLy8g5Yig6ZmkCiAgICBkZWxEYXRhKGluZGV4KSB7CiAgICAgIHRoaXMudGFibGVEYXRhLnNwbGljZShpbmRleCwgMSk7CiAgICB9LAoKICAgIC8vIOmAieaLqeWkp+WMuuehruWumgogICAgcmVnaW9uQ29uZmlybShwcmljZSkge30sCgogICAgLy8g6LCD5pW05YWo5Zu96ZSA5ZSu5Lu3CiAgICBzdGFuZGFyZENvbmZpcm0ocHJpY2UpIHsKICAgICAgY29uc3QgdGFyZ2V0ID0gdGhpcy4kX2NvbW1vbi5kZWVwQ2xvbmUodGhpcy50YWJsZURhdGEpOwogICAgICB0YXJnZXRbdGhpcy5tX2luZGV4XS5zYWxlUHJpY2VbdGFyZ2V0W3RoaXMubV9pbmRleF0uc2t1SWRdID0geyAuLi5wcmljZSwKICAgICAgICB1bml0TmFtZTogdGFyZ2V0W3RoaXMubV9pbmRleF0udW5pdE5hbWUKICAgICAgfTsKICAgICAgdGhpcy50YWJsZURhdGEgPSB0YXJnZXQ7CiAgICB9LAoKICAgIC8vIOaWsOWinuaaguWtmAogICAgYXN5bmMgQWRkVGVtKCkgewogICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlOwogICAgICBjb25zdCB7CiAgICAgICAgZGF0YQogICAgICB9ID0gYXdhaXQgYWRkUGF1c2VTYXZlKHsKICAgICAgICBrZXk6IHRoaXMucGFnZU5hbWUsCiAgICAgICAgZGF0YTogewogICAgICAgICAgc2hvcElkOiB0aGlzLnNob3BfaWQsCiAgICAgICAgICBzaG9wTmFtZTogdGhpcy5zaG9wX25hbWUsCiAgICAgICAgICBwYXJhbXM6IHRoaXMudGFibGVEYXRhCiAgICAgICAgfQogICAgICB9KTsKICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7CiAgICAgIHRoaXMuJG1lc3NhZ2UoewogICAgICAgIHR5cGU6ICJzdWNjZXNzIiwKICAgICAgICBtZXNzYWdlOiAi5pqC5a2Y5oiQ5YqfIgogICAgICB9KTsKCiAgICAgIGlmICghdGhpcy5pc0RyYXcpIHsKICAgICAgICBpZiAodGhpcy5zeXN0ZW1UeXBlID09PSAyKSB7CiAgICAgICAgICB0aGlzLiRjbG9zZUN1cnJlbnRHb0VkaXQoIi9TaW5nbGVTdG9yZS9nb29kcy9wcmljZUFkanVzdCIpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB0aGlzLiRjbG9zZUN1cnJlbnRHb0VkaXQoIi9nb29kcy9zYWxlL0FkanVzdFByaWNlIik7CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMuJGVtaXQoImhhbmRlbFN1Y2Nlc3MiKTsKICAgICAgfQogICAgfSwKCiAgICAvLyDojrflj5bmmoLlrZjkv6Hmga8KICAgIGFzeW5jIGdldFBhdXNlU2F2ZSgpIHsKICAgICAgY29uc3QgewogICAgICAgIGRhdGEKICAgICAgfSA9IGF3YWl0IGdldFBhdXNlU2F2ZSh7CiAgICAgICAga2V5OiB0aGlzLnBhZ2VOYW1lCiAgICAgIH0pOwogICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoZGF0YSkgPT09ICJ7fSIpIHJldHVybjsKICAgICAgdGhpcy50YWJsZURhdGEgPSBkYXRhLnBhcmFtcyB8fCBbXTsKICAgICAgdGhpcy5zaG9wX25hbWUgPSBkYXRhLnNob3BOYW1lIHx8ICIiOwogICAgICB0aGlzLnNob3BfaWQgPSBkYXRhLnNob3BJZCB8fCAiIjsKICAgIH0sCgogICAgLy8g5qOA5p+l5o+Q5LqkCiAgICBjaGVja1N1YigpIHsKICAgICAgaWYgKCF0aGlzLmlzRHJhdyAmJiAhdGhpcy5zaG9wX2lkKSB7CiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCLor7fpgInmi6nllYbpk7oiKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIGlmICghdGhpcy50YWJsZURhdGFbMF0uZ29vZHNJZCkgewogICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZygi56ys5LiA6aG55ZWG5ZOB5LiN6IO95Li656m6Iik7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBjb25zdCBwcmljZSA9IHRoaXMudGFibGVEYXRhLmZpbHRlcihpdGVtID0+IGl0ZW0uZ29vZHNJZCkubWFwKGl0ZW0gPT4gewogICAgICAgIHJldHVybiB7IC4uLml0ZW0sCiAgICAgICAgICBsYWRkZXJQcmljZTogaXRlbS5lbmFibGVkTGFkZGVyID09PSAwID8gW10gOiBpdGVtLmxhZGRlclByaWNlLAogICAgICAgICAgc2FsZVByaWNlOiBpdGVtLmVuYWJsZWRMYWRkZXIgPT09IDEgPyAwIDogaXRlbS5zYWxlUHJpY2UsCiAgICAgICAgICBzaG9wTmFtZTogdGhpcy5zaG9wX25hbWUKICAgICAgICB9OwogICAgICB9KTsKICAgICAgbGV0IGxhZGRlclByaWNlTGVuZ3RoID0gdHJ1ZTsKICAgICAgbGV0IGlzTGFkZGVyUHJpY2UgPSB0cnVlOwoKICAgICAgZm9yIChsZXQgaSBpbiBwcmljZSkgewogICAgICAgIGNvbnN0IGl0ZW0gPSBwcmljZVtpXTsKCiAgICAgICAgaWYgKGl0ZW0uZW5hYmxlZExhZGRlciA9PT0gMSkgewogICAgICAgICAgaWYgKGl0ZW0ubGFkZGVyUHJpY2UubGVuZ3RoIDwgMikgewogICAgICAgICAgICBsYWRkZXJQcmljZUxlbmd0aCA9IGZhbHNlOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0gZWxzZSBpZiAoIWl0ZW0ubGFkZGVyUHJpY2UuZXZlcnkoaXRlbVAgPT4gaXRlbVAucHJpY2UgPiAwKSkgewogICAgICAgICAgICBpc0xhZGRlclByaWNlID0gZmFsc2U7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBpZiAoIWl0ZW0uc2FsZVByaWNlKSB7CiAgICAgICAgICAgIGlzTGFkZGVyUHJpY2UgPSBmYWxzZTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CgogICAgICBpZiAoIWxhZGRlclByaWNlTGVuZ3RoKSB7CiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCLor7foh7PlsJHorr7nva7kuKTmnaHpmLbmoq/ku7ciKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIGlmICghaXNMYWRkZXJQcmljZSkgewogICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZygi6K+36L6T5YWl5Lu35qC8Iik7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICB0aGlzLnN1Ym1pdERhdGEoKTsKICAgIH0sCgogICAgLy8g5L+d5a2YCiAgICBhc3luYyBzdWJtaXREYXRhKCkgewogICAgICBsZXQgcGFyYW1zID0gW107IC8vIOWVhuWTgeWIl+ihqOiwg+S7twoKICAgICAgaWYgKHRoaXMuaXNEcmF3KSB7CiAgICAgICAgLy8g5Lu35qC8566h55CG6LCD5Lu3CiAgICAgICAgbGV0IHNhbGVQcmljZSA9IHt9OwogICAgICAgIGxldCBtaW4gPSAwOwoKICAgICAgICBpZiAodGhpcy5nb29kc0l0ZW0uZW5hYmxlZExhZGRlciA9PT0gMSkgewogICAgICAgICAgY29uc3QgYXJyID0gdGhpcy5nb29kc0l0ZW0ubGFkZGVyUHJpY2UubWFwKGl0ZW1NID0+IHsKICAgICAgICAgICAgcmV0dXJuIGl0ZW1NLnByaWNlOwogICAgICAgICAgfSk7CiAgICAgICAgICBtaW4gPSBNYXRoLm1pbi5hcHBseShudWxsLCBhcnIpOwogICAgICAgIH0KCiAgICAgICAgZm9yIChsZXQgaSBpbiB0aGlzLnRhYmxlRGF0YSkgewogICAgICAgICAgY29uc3QgaXRlbVMgPSB0aGlzLnRhYmxlRGF0YVtpXTsKCiAgICAgICAgICBpZiAoaXRlbVMubGFkZGVyUHJpY2UubGVuZ3RoKSB7CiAgICAgICAgICAgIGl0ZW1TLmxhZGRlclByaWNlW2l0ZW1TLmxhZGRlclByaWNlLmxlbmd0aCAtIDFdLnRvID0gOTk5OTk5OTk5OTsKICAgICAgICAgIH0KCiAgICAgICAgICBzYWxlUHJpY2VbaXRlbVMuaWRdID0gewogICAgICAgICAgICBtYXJrZXRQcmljZTogaXRlbVMuc2FsZVByaWNlLAogICAgICAgICAgICBzYWxlUHJpY2U6IGl0ZW1TLmVuYWJsZWRMYWRkZXIgPT09IDAgPyBpdGVtUy5zYWxlUHJpY2UgOiBtaW4sCiAgICAgICAgICAgIHVuaXROYW1lOiBpdGVtUy51bml0TmFtZSwKICAgICAgICAgICAgbGFkZGVyUHJpY2U6IGl0ZW1TLmVuYWJsZWRMYWRkZXIgPT09IDAgPyBbXSA6IGl0ZW1TLmxhZGRlclByaWNlLAogICAgICAgICAgICBlbmFibGVkTGFkZGVyOiBpdGVtUy5lbmFibGVkTGFkZGVyCiAgICAgICAgICB9OwogICAgICAgIH0KCiAgICAgICAgcGFyYW1zID0gW3sKICAgICAgICAgIGNyZWF0ZVVzZXJOYW1lOiB0aGlzLnVzZXJOYW1lLAogICAgICAgICAgZ29vZHNOYW1lOiB0aGlzLmdvb2RzSXRlbS50aXRsZSwKICAgICAgICAgIGdvb2RzSWQ6IHRoaXMuZ29vZHNJdGVtLmlkLAogICAgICAgICAgc2FsZVR5cGU6IDEsCiAgICAgICAgICAvLyAx77yM5a6e54mp6ZSA5ZSu77yMMu+8jOiZmueJqemUgOWUrgogICAgICAgICAgc2FsZVByaWNlVHlwZTogMSwKICAgICAgICAgIC8vIDEg6ZSA5ZSu5Lu3IDLvvIznp5LmnYDku7cKICAgICAgICAgIHNhbGVQcmljZUFyZWFUeXBlOiAxLAogICAgICAgICAgLy8g6ZSA5ZSu5Lu35qC85Li65Yy65Z+f5Lu36L+Y5piv5YWo5Zu95Lu3CiAgICAgICAgICBzYWxlUHJpY2U6IHNhbGVQcmljZSwKICAgICAgICAgIHNob3BJZDogdGhpcy5nb29kc0l0ZW0uc2hvcElkLAogICAgICAgICAgc2hvcE5hbWU6IHRoaXMuc2hvcF9uYW1lCiAgICAgICAgfV07CiAgICAgIH0gZWxzZSB7CiAgICAgICAgLy8g5paw5aKe6LCD5Lu35Y2VCiAgICAgICAgY29uc3QgdGFibGVEYXRhID0gdGhpcy50YWJsZURhdGEuZmlsdGVyKGl0ZW0gPT4gaXRlbS5nb29kc0lkKTsKICAgICAgICBwYXJhbXMgPSB0YWJsZURhdGEubWFwKGl0ZW0gPT4gewogICAgICAgICAgaWYgKGl0ZW0ubGFkZGVyUHJpY2UubGVuZ3RoKSB7CiAgICAgICAgICAgIGl0ZW0ubGFkZGVyUHJpY2VbaXRlbS5sYWRkZXJQcmljZS5sZW5ndGggLSAxXS50byA9IDk5OTk5OTk5OTk7CiAgICAgICAgICB9IC8vIOiOt+WPluacgOWwj+eahOS7t+agvAoKCiAgICAgICAgICBsZXQgbWluID0gMDsKCiAgICAgICAgICBpZiAoaXRlbS5lbmFibGVkTGFkZGVyID09PSAxKSB7CiAgICAgICAgICAgIGNvbnN0IGFyciA9IGl0ZW0ubGFkZGVyUHJpY2UubWFwKGl0ZW1NID0+IHsKICAgICAgICAgICAgICByZXR1cm4gaXRlbU0ucHJpY2U7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBtaW4gPSBNYXRoLm1pbi5hcHBseShudWxsLCBhcnIpOwogICAgICAgICAgfQoKICAgICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIGNyZWF0ZVVzZXJOYW1lOiBpdGVtLmNyZWF0ZVVzZXJOYW1lIHx8IHRoaXMudXNlck5hbWUsCiAgICAgICAgICAgIGdvb2RzTmFtZTogaXRlbS5nb29kc05hbWUsCiAgICAgICAgICAgIGdvb2RzSWQ6IGl0ZW0uZ29vZHNJZCwKICAgICAgICAgICAgc2FsZVR5cGU6IGl0ZW0uc2FsZVR5cGUsCiAgICAgICAgICAgIC8vIDHvvIzlrp7nianplIDllK7vvIwy77yM6Jma54mp6ZSA5ZSuCiAgICAgICAgICAgIHNhbGVQcmljZVR5cGU6IGl0ZW0uc2FsZVByaWNlVHlwZSwKICAgICAgICAgICAgLy8gMSDplIDllK7ku7cgMu+8jOenkuadgOS7twogICAgICAgICAgICBzYWxlUHJpY2VBcmVhVHlwZTogaXRlbS5zYWxlUHJpY2VBcmVhVHlwZSwKICAgICAgICAgICAgc2FsZVByaWNlOiB7CiAgICAgICAgICAgICAgW2l0ZW0uc2t1SWRdOiB7CiAgICAgICAgICAgICAgICBzYWxlUHJpY2U6IGl0ZW0uZW5hYmxlZExhZGRlciA9PT0gMCA/IGl0ZW0uc2FsZVByaWNlIDogbWluLAogICAgICAgICAgICAgICAgdW5pdE5hbWU6IGl0ZW0uc3BlY0dyb3BOYW1lLAogICAgICAgICAgICAgICAgbGFkZGVyUHJpY2U6IGl0ZW0uZW5hYmxlZExhZGRlciA9PT0gMCA/IFtdIDogaXRlbS5sYWRkZXJQcmljZSwKICAgICAgICAgICAgICAgIG1hcmtldFByaWNlOiBpdGVtLm5vd1ByaWNlLAogICAgICAgICAgICAgICAgZW5hYmxlZExhZGRlcjogaXRlbS5lbmFibGVkTGFkZGVyCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICBzaG9wSWQ6IGl0ZW0uc2hvcElkLAogICAgICAgICAgICBzaG9wTmFtZTogdGhpcy5zaG9wX25hbWUKICAgICAgICAgIH07CiAgICAgICAgfSk7CiAgICAgIH0KCiAgICAgIGxldCB0YXJnZXQgPSB7fTsKICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsKCiAgICAgIGlmICh0aGlzLmlzRHJhdykgewogICAgICAgIC8vIOiHquWKqOWIm+W7uuiwg+S7t+WNleS4lOiHquWKqOeUn+aViOaOpeWPowogICAgICAgIHRhcmdldCA9IGF3YWl0IGFkZEFuZEVmZmVjdGl2ZShKU09OLnN0cmluZ2lmeShwYXJhbXMpKTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0YXJnZXQgPSBhd2FpdCBQcmljZUFkanVzdG1lbnRBZGQoSlNPTi5zdHJpbmdpZnkocGFyYW1zKSk7CiAgICAgIH0KCiAgICAgIGNvbnN0IGRhdGEgPSB0YXJnZXQ7CiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOwogICAgICB0aGlzLiRtZXNzYWdlKHsKICAgICAgICB0eXBlOiAic3VjY2VzcyIsCiAgICAgICAgbWVzc2FnZTogIuaTjeS9nOaIkOWKnyIKICAgICAgfSk7CiAgICAgIGF3YWl0IHRoaXMuZGVsUGF1c2VTYXZlKCk7CgogICAgICBpZiAoIXRoaXMuaXNEcmF3KSB7CiAgICAgICAgaWYgKHRoaXMuc3lzdGVtVHlwZSA9PT0gMikgewogICAgICAgICAgdGhpcy4kY2xvc2VDdXJyZW50R29FZGl0KCIvU2luZ2xlU3RvcmUvZ29vZHMvcHJpY2VBZGp1c3QiKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgdGhpcy4kY2xvc2VDdXJyZW50R29FZGl0KCIvZ29vZHMvc2FsZS9BZGp1c3RQcmljZSIpOwogICAgICAgIH0KICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLiRlbWl0KCJoYW5kZWxTdWNjZXNzIik7CiAgICAgIH0KICAgIH0sCgogICAgLy8g5riF6Zmk5pqC5a2YCiAgICBhc3luYyBkZWxQYXVzZVNhdmUodHlwZSkgewogICAgICBjb25zdCBkYXRhID0gZGVsUGF1c2VTYXZlKHsKICAgICAgICBrZXk6IHRoaXMucGFnZU5hbWUKICAgICAgfSk7CgogICAgICBpZiAodHlwZSkgewogICAgICAgIHRoaXMuJG1lc3NhZ2UoewogICAgICAgICAgdHlwZTogInN1Y2Nlc3MiLAogICAgICAgICAgbWVzc2FnZTogIua4hemZpOaaguWtmOaIkOWKnyIKICAgICAgICB9KTsKICAgICAgICB0aGlzLiRjbG9zZUN1cnJlbnRHb0VkaXQoIi9nb29kcy9zYWxlL0FkZEdvb2RzQWRqdXN0UHJpY2UiKTsKICAgICAgfQogICAgfQoKICB9Cn07"},{"version":3,"mappings":"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CA,CAFA,MAEA;UACA;QACA;MACA,CANA,MAMA;QACA;MACA;IACA,CA3SA;;IA4SA;IACA;MACA;QAAA3D;MAAA;QACAyD;MADA;MAIA;MACA;MACA;MACA;IACA,CAtTA;;IAuTA;IACAG;MACA;QACA;QACA;MACA;;MACA;QACA;QACA;MACA;;MACA,6BACAnB,MADA,CACAP,oBADA,EAEAE,GAFA,CAEAF;QACA,SACA,OADA;UAEA5C,6DAFA;UAGAN,wDAHA;UAIAK;QAJA;MAMA,CATA;MAUA;MACA;;MACA;QACA;;QACA;UACA;YACAwE;YACA;UACA,CAHA,MAGA;YACAC;YACA;UACA;QACA,CARA,MAQA;UACA;YACAA;YACA;UACA;QACA;MACA;;MACA;QACA;QACA;MACA;;MACA;QACA;QACA;MACA;;MACA;IACA,CAvWA;;IAyWA;IACA;MACA,gBADA,CAEA;;MACA;QACA;QACA;QACA;;QACA;UACA;YACA;UACA,CAFA;UAGAC;QACA;;QACA;UACA;;UACA;YACA1B;UACA;;UACArD;YACAgF,4BADA;YAEAhF,4DAFA;YAGAE,wBAHA;YAIAI,+DAJA;YAKAC;UALA;QAOA;;QACAmE,UACA;UACAhF,6BADA;UAEAC,+BAFA;UAGAC,0BAHA;UAIAC,WAJA;UAIA;UACAC,gBALA;UAKA;UACAC,oBANA;UAMA;UACAC,oBAPA;UAQAI,6BARA;UASAC;QATA,CADA;MAaA,CApCA,MAoCA;QACA;QACA;QACAqE;UACA;YACAxB;UACA,CAHA,CAIA;;;UACA;;UACA;YACA;cACA;YACA,CAFA;YAGA6B;UACA;;UACA;YACArF,oDADA;YAEAC,yBAFA;YAGAC,qBAHA;YAIAC,uBAJA;YAIA;YACAC,iCALA;YAKA;YACAC,yCANA;YAOAC;cACA;gBACAA,0DADA;gBAEAE,2BAFA;gBAGAI,6DAHA;gBAIA0E,0BAJA;gBAKAzE;cALA;YADA,CAPA;YAgBAH,mBAhBA;YAiBAC;UAjBA;QAmBA,CA/BA;MAgCA;;MAEA;MACA;;MACA;QACA;QACAqC;MACA,CAHA,MAGA;QACAA;MACA;;MACA;MACA;MAEA;QACA5B,eADA;QAEA6D;MAFA;MAIA;;MACA;QACA;UACA;QACA,CAFA,MAEA;UACA;QACA;MACA,CANA,MAMA;QACA;MACA;IACA,CA/cA;;IAgdA;IACA;MACA;QACAF;MADA;;MAIA;QACA;UACA3D,eADA;UAEA6D;QAFA;QAIA;MACA;IACA;;EA7dA;AAjEA","names":["from","price","to","createUserName","goodsName","goodsId","saleType","salePriceType","salePriceAreaType","salePrice","nowPrice","unitName","skuId","shopId","shopName","ladderPrice","enabledLadder","name","components","ConditionSelGoods","SelectShop","props","goodId","type","default","data","show_goods","loading","shop_name","isDraw","show_shop","m_index","tableData","materialName","materialData","shop_id","user_power","pageName","goods_index","goods_options","select_loading","spec_check","goodsItem","modify_list","price_id","computed","storeData","created","mounted","methods","priceChange","target","shopDefault","materielIds","details_list","code","id","specGropName","specMultiple","item","console","map","itemS","join","addListGoods","selectSelGoods","filter","specSelConfirm","goodsD","selGoods","unique","arr","goodsVisibleChange","enabledLadderChange","selShop","ladderPriceBlur","delLadderPrice","addLadderPrice","upL","delData","regionConfirm","standardConfirm","key","params","message","checkSub","ladderPriceLength","isLadderPrice","min","marketPrice"],"sourceRoot":"src/views/goods/sale","sources":["AddGoodsAdjustPrice.vue"],"sourcesContent":["<!--新建商品调价单-->\n<template>\n <ContainerTit>\n <span v-if=\"isDraw\" slot=\"pagetit\">商品调价</span>\n <div slot=\"headr\">\n <el-button v-if=\"!isDraw\" :loding=\"loading\" @click=\"delPauseSave(1)\">\n 清除暂存\n </el-button>\n <el-button v-if=\"!isDraw\" :loding=\"loading\" @click=\"AddTem\">\n 暂存\n </el-button>\n <el-button type=\"primary\" :loading=\"loading\" @click=\"checkSub\">\n 保存\n </el-button>\n </div>\n\n <div class=\"detail-tab-main\" style=\"background-color: #fff; padding: 20px\">\n <div v-if=\"!isDraw && systemType === 1\">\n <SelectShop\n v-model=\"shop_id\"\n size=\"small\"\n :is-default=\"true\"\n :clearable=\"false\"\n @change=\"selShop\"\n @default=\"shopDefault\"\n />\n <el-button\n size=\"mini\"\n type=\"text\"\n @click=\"$router.push('/SystemSettings/liansuoguanli/AddShop')\"\n >\n 【新建商铺】\n </el-button>\n </div>\n\n <div style=\"padding-top: 10px\">\n <el-table :data=\"tableData\">\n <el-table-column\n prop=\"skuId\"\n label=\"ID\"\n min-width=\"60\"\n align=\"center\"\n ></el-table-column>\n <el-table-column\n v-if=\"!isDraw\"\n prop=\"goodsName\"\n label=\"商品名称\"\n min-width=\"140\"\n align=\"center\"\n >\n <template slot-scope=\"scope\">\n <ConditionSelGoods\n v-if=\"!!shop_id\"\n v-model=\"scope.row.goodsName\"\n :shop-id=\"shop_id\"\n :spec-check=\"spec_check\"\n @goodsVisibleChange=\"goodsVisibleChange($event, scope.$index)\"\n @specSelConfirm=\"specSelConfirm\"\n @selectSelGoods=\"selectSelGoods\"\n @selGoods=\"selGoods\"\n />\n </template>\n </el-table-column>\n <el-table-column\n prop=\"unitName\"\n label=\"单位\"\n align=\"center\"\n min-width=\"60\"\n ></el-table-column>\n <el-table-column\n prop=\"specGropName\"\n label=\"属性\"\n align=\"center\"\n min-width=\"120\"\n ></el-table-column>\n <el-table-column\n v-if=\"!isDraw\"\n prop=\"nowPrice\"\n label=\"当前价格\"\n align=\"center\"\n min-width=\"80\"\n ></el-table-column>\n <el-table-column\n v-if=\"systemType !== 3\"\n prop=\"enabledLadder\"\n align=\"center\"\n label=\"启用阶梯价\"\n min-width=\"80\"\n >\n <template slot-scope=\"scope\">\n <el-switch\n v-if=\"!!scope.row.goodsId\"\n v-model=\"scope.row.enabledLadder\"\n :inactive-value=\"0\"\n :active-value=\"1\"\n active-color=\"#36B365\"\n inactive-color=\"#ff4949\"\n @change=\"enabledLadderChange(scope.$index)\"\n ></el-switch>\n </template>\n </el-table-column>\n <el-table-column\n prop=\"salePriceAreaType\"\n label=\"调整价格\"\n align=\"center\"\n min-width=\"240\"\n >\n <template slot-scope=\"scope\">\n <div v-if=\"!scope.row.goodsId\">未发布</div>\n <div v-else>\n <el-input-number\n v-if=\"parseInt(scope.row.enabledLadder) === 0\"\n v-model=\"scope.row.salePrice\"\n size=\"mini\"\n :min=\"0.01\"\n ></el-input-number>\n <el-button slot=\"append\" style=\"margin-left: 10px\" size=\"mini\">\n 元\n </el-button>\n <ul v-if=\"parseInt(scope.row.enabledLadder) === 1\">\n <li\n v-for=\"(item, index) in scope.row.ladderPrice\"\n :key=\"index\"\n style=\"padding-bottom: 5px; text-align: left\"\n >\n <el-input-number\n :controls=\"false\"\n size=\"mini\"\n disabled\n :value=\"item.from\"\n style=\"width: 60px\"\n :min=\"0\"\n ></el-input-number>\n --\n <el-input-number\n v-if=\"!(index === scope.row.ladderPrice.length - 1)\"\n v-model=\"item.to\"\n :controls=\"false\"\n size=\"mini\"\n :min=\"item.from + 1\"\n style=\"width: 60px\"\n @blur=\"ladderPriceBlur(item.to, index, scope.$index)\"\n ></el-input-number>\n <el-input-number\n v-else\n size=\"mini\"\n disabled\n value=\"∞\"\n style=\"width: 60px\"\n :min=\"1\"\n ></el-input-number>\n {{ scope.row.unitName }}\n ¥\n <el-input-number\n v-model=\"item.price\"\n :controls=\"false\"\n size=\"mini\"\n style=\"width: 80px\"\n :min=\"0\"\n ></el-input-number>\n <el-button\n v-if=\"!(index === scope.row.ladderPrice.length - 1)\"\n :disabled=\"scope.row.ladderPrice.length === 2\"\n style=\"color: #f56c6c\"\n size=\"mini\"\n icon=\"el-icon-remove\"\n type=\"text\"\n @click=\"delLadderPrice(index, scope.$index)\"\n ></el-button>\n </li>\n <el-button\n :disabled=\"scope.row.ladderPrice.length === 3\"\n size=\"mini\"\n icon=\"el-icon-circle-plus\"\n type=\"text\"\n @click=\"addLadderPrice(scope.$index)\"\n >\n 新增\n </el-button>\n </ul>\n </div>\n </template>\n </el-table-column>\n <el-table-column\n v-if=\"!isDraw\"\n label=\"管理\"\n align=\"center\"\n min-width=\"120\"\n >\n <template slot-scope=\"scope\">\n <el-button\n type=\"text\"\n size=\"mini\"\n :disabled=\"tableData.length === 1\"\n @click=\"delData(scope.$index)\"\n >\n 删除\n </el-button>\n <el-button type=\"text\" size=\"mini\" @click=\"addListGoods\">\n 新增\n </el-button>\n </template>\n </el-table-column>\n </el-table>\n <div\n v-if=\"!!shop_id\"\n style=\"text-align: center; padding-top: 10px\"\n class=\"clearfix\"\n >\n <el-button\n type=\"text\"\n icon=\"el-icon-circle-plus\"\n @click=\"addListGoods\"\n >\n 新增一条\n </el-button>\n </div>\n </div>\n </div>\n <!-- 选择商铺-->\n <!-- <GoodsChooseShop-->\n <!-- v-if=\"show_shop\"-->\n <!-- :dialog-visible=\"show_shop\"-->\n <!-- :is-default=\"true\"-->\n <!-- :is-show-add=\"true\"-->\n <!-- @close=\"show_shop = false\"-->\n <!-- @confirm=\"selShop\"-->\n <!-- ></GoodsChooseShop>-->\n </ContainerTit>\n</template>\n\n<script>\n import GoodsChooseShop from \"@/component/goods/GoodsChooseShop.vue\";\n import ConditionSelGoods from \"@/component/common/ConditionSelGoods\";\n import SelectShop from \"@/component/goods/SelectShop.vue\";\n import { getGoodsInfo } from \"@/api/goods\";\n import { addPauseSave, getPauseSave, delPauseSave } from \"@/api/common\";\n import { addAndEffective, PriceAdjustmentAdd } from \"@/api/Price\";\n import { mapGetters } from \"vuex\";\n import { getSupplierOfferPrice } from \"@/api/Supplier\";\n import { getRelMap } from \"@/api/goods\";\n const ladderPriceData = [\n {\n from: 1,\n price: 0.01,\n to: 2,\n },\n {\n from: 3,\n price: 0.01,\n to: 4,\n },\n {\n from: 5,\n price: 0.01,\n to: 999999999,\n },\n ];\n const goodsItem = {\n createUserName: \"\",\n goodsName: \"\",\n goodsId: \"\",\n saleType: \"1\",\n salePriceType: \"1\",\n salePriceAreaType: 1,\n salePrice: \"\",\n nowPrice: \"\",\n unitName: \"\",\n skuId: \"\",\n shopId: \"\",\n shopName: \"\",\n ladderPrice: ladderPriceData,\n enabledLadder: 0,\n };\n export default {\n name: \"AddGoodsAdjustPrice\",\n components: {\n ConditionSelGoods,\n SelectShop,\n },\n props: {\n goodId: {\n type: [Number, String],\n default: 0,\n },\n },\n data() {\n return {\n show_goods: false,\n loading: false,\n shop_name: \"\",\n isDraw: false,\n show_shop: false,\n m_index: \"\",\n tableData: [],\n materialName: \"\",\n materialData: {},\n shop_id: \"\",\n user_power: {},\n pageName: \"\",\n goods_index: 0,\n goods_options: [],\n select_loading: false,\n spec_check: [],\n goodsItem: {},\n modify_list: [],\n price_id: 0,\n };\n },\n computed: {\n ...mapGetters({\n storeData: \"MUser/storeData\",\n }),\n },\n created() {\n this.pageName = this.$route.name;\n // 商品列表进行商品调价\n this.isDraw = this.goodId > 0;\n if (this.isDraw) {\n this.getGoodsDetail();\n } else {\n // 报价单\n if (this.$route.query.price_id) {\n this.price_id = this.$route.query.price_id;\n // this.getSupplierOfferPrice();\n return;\n }\n for (let i = 1; i <= 1; i++) {\n this.tableData.push(this.$_common.deepClone(goodsItem));\n }\n this.getPauseSave();\n }\n },\n mounted() {\n if ([2, 3].includes(this.systemType)) {\n this.shop_id = this.storeData.id;\n this.shop_name = this.storeData.name;\n }\n },\n methods: {\n priceChange(index) {\n let target = this.$_common.deepClone(this.tableData);\n let salePrice = target[index].salePrice;\n if (salePrice < 0) {\n target[index].salePrice = 0;\n }\n this.tableData = target;\n },\n shopDefault(val, obj) {\n this.shop_id = val;\n this.shop_name = obj.name;\n if (this.$route.query.price_id) {\n this.getSupplierOfferPrice();\n }\n },\n async getRelMap(materielId) {\n const { data } = await getRelMap({\n shopId: this.shop_id,\n materielIds: materielId,\n });\n this.tableData = this.tableData.map((item) => {\n return {\n ...item,\n goodsId: data[item.id] || 0,\n };\n });\n },\n async getSupplierOfferPrice() {\n const data = await getSupplierOfferPrice(this.price_id);\n let details_list = [];\n data.data.details.forEach((item) => {\n for (let i in item.offerPrice) {\n details_list.push({\n goodsName: item.materielName,\n code: item.materielCode,\n id: item.materielId,\n skuId: i,\n ...item.offerPrice[i],\n });\n }\n });\n let goods_list = details_list.map((itemP) => {\n const specGropName = itemP.specGroup.map((itemP) => {\n return itemP.specGropName;\n });\n return {\n id: itemP.id,\n goodsName: itemP.goodsName,\n unitName: itemP.unitName,\n specGropName: specGropName,\n skuId: itemP.skuId,\n nowPrice: itemP.costPrice,\n enabledLadder: 0,\n createUserName: this.userName,\n goodsId: 0,\n saleType: \"1\",\n salePriceType: \"1\",\n salePriceAreaType: 1,\n salePrice: itemP.costPrice,\n shopId: this.shop_id,\n shopName: this.shop_name,\n ladderPrice: [],\n };\n });\n\n this.tableData = goods_list;\n const materielId = details_list.map((itemG) => {\n return itemG.id;\n });\n await this.getRelMap(this.$_common.unique(materielId));\n },\n async getGoodsDetail() {\n const { data } = await getGoodsInfo(this.goodId);\n this.shop_name = data.title;\n this.goodsItem = data;\n // 多商户只展示主单位\n let specMultiple = [];\n if (this.systemType === 3) {\n specMultiple = data.specMultiple.filter(\n (item) => item.isMaster === 5\n );\n } else {\n specMultiple = data.specMultiple;\n }\n console.log(specMultiple);\n if (data.specType === 2) {\n this.tableData = specMultiple.map((item) => {\n const specValueName = item.specGroup\n .map((itemS) => {\n return itemS.specValueName;\n })\n .join(\"_\");\n return {\n ...item,\n goodsId: data.id,\n skuId: item.id,\n specGropName: specValueName,\n };\n });\n } else if (data.specType === 1) {\n this.tableData = specMultiple.map((item) => {\n return {\n ...item,\n goodsId: data.id,\n skuId: item.id,\n specGropName: \"无\",\n };\n });\n }\n },\n addListGoods() {\n this.tableData.push(this.$_common.deepClone(goodsItem));\n },\n selectSelGoods(id) {\n this.spec_check = this.tableData\n .filter((item) => item.goodsId === id)\n .map((item) => {\n return item.skuId;\n });\n },\n specSelConfirm(params) {\n let target = this.$_common.deepClone(this.tableData);\n const goodsD = params.goodsD.map((item) => {\n return {\n // spec_check_list: params.spec_check_list,\n createUserName: this.userName,\n goodsName: params.now_goods_data.title,\n goodsId: params.now_goods_data.id,\n saleType: \"1\",\n salePriceType: \"1\",\n salePriceAreaType: 1,\n salePrice: item.spec.salePrice,\n nowPrice: item.spec.salePrice,\n unitName: item.spec.unitName,\n specGropName: item.spec.specGropName,\n skuId: item.skuId,\n shopId: params.now_goods_data.shopId,\n shopName: params.now_goods_data.shopName,\n ladderPrice: item.spec.ladderPrice,\n enabledLadder: item.spec.enabledLadder,\n };\n });\n if (!target[this.goods_index].skuId) {\n target.splice(this.goods_index, 1);\n }\n\n goodsD.forEach((item) => {\n const targetD = target.find((itemG) => itemG.skuId === item.skuId);\n if (!targetD) {\n target.push(item);\n }\n });\n\n this.tableData = target;\n },\n selGoods(list) {\n const goodsD = list.map((item) => {\n let specGropName = item.specGroup\n .map((itemS) => {\n return itemS.specValueName;\n })\n .join(\"_\");\n return {\n createUserName: this.userName,\n goodsName: item.title,\n goodsId: item.id,\n saleType: \"1\",\n salePriceType: \"1\",\n salePriceAreaType: 1,\n salePrice: item.salePrice,\n nowPrice: item.salePrice,\n unitName: item.unitName,\n specGropName: specGropName,\n skuId: item.skuId,\n shopId: item.shopId,\n shopName: item.shopName,\n ladderPrice: item.ladderPrice,\n enabledLadder: item.enabledLadder,\n };\n });\n\n if (!this.tableData.length) {\n this.tableData = goodsD;\n } else {\n const arr = this.$_common\n .unique(this.tableData.concat(goodsD), [\"goodsId\", \"skuId\"])\n .filter((item) => item.goodsId);\n arr.push(this.$_common.deepClone(goodsItem));\n this.tableData = arr;\n }\n\n // this.tableData = target;\n },\n goodsVisibleChange(visible, index) {\n if (visible) {\n this.goods_index = index;\n }\n },\n enabledLadderChange(index) {\n const target = this.$_common.deepClone(this.tableData);\n if (\n target[index].enabledLadder &&\n target[index].ladderPrice.length === 0\n ) {\n target[index].ladderPrice = this.$_common.deepClone(ladderPriceData);\n }\n this.tableData = target;\n },\n // 双击选择店铺\n selShop(row) {\n this.shop_name = row[0].name;\n this.shop_id = row[0].id;\n },\n ladderPriceBlur(val, index, rindex) {\n const target = this.$_common.deepClone(this.tableData);\n target[rindex].ladderPrice[index + 1].from = val + 1;\n if (index === 0) {\n target[rindex].ladderPrice[index + 1].to = val + 2;\n if (target[rindex].ladderPrice[index + 2]) {\n target[rindex].ladderPrice[index + 2].from = val + 3;\n }\n }\n this.tableData = target;\n },\n // 删除阶梯价\n delLadderPrice(index, rIndex) {\n const target = this.$_common.deepClone(this.tableData);\n target[rIndex].ladderPrice.splice(index, 1);\n target[rIndex].ladderPrice[0].from = 1;\n target[rIndex].ladderPrice[target[rIndex].ladderPrice.length - 1].from =\n target[rIndex].ladderPrice[0].to + 1;\n this.tableData = target;\n },\n // 新增一条阶梯价\n addLadderPrice(rIndex) {\n const target = this.$_common.deepClone(this.tableData);\n if (!target[rIndex].ladderPrice.length) {\n target[rIndex].ladderPrice.push({\n from: 1,\n price: \"\",\n to: 2,\n });\n } else {\n const upL = target[rIndex].ladderPrice[0];\n target[rIndex].ladderPrice.splice(1, \"\", {\n from: upL.to + 1,\n price: \"\",\n to: upL.to + 2,\n });\n if (target[rIndex].ladderPrice.length === 3) {\n target[rIndex].ladderPrice[\n target[rIndex].ladderPrice.length - 1\n ].from = upL.to + 3;\n }\n }\n this.tableData = target;\n },\n // 删除\n delData(index) {\n this.tableData.splice(index, 1);\n },\n // 选择大区确定\n regionConfirm(price) {},\n // 调整全国销售价\n standardConfirm(price) {\n const target = this.$_common.deepClone(this.tableData);\n target[this.m_index].salePrice[target[this.m_index].skuId] = {\n ...price,\n unitName: target[this.m_index].unitName,\n };\n this.tableData = target;\n },\n // 新增暂存\n async AddTem() {\n this.loading = true;\n const { data } = await addPauseSave({\n key: this.pageName,\n data: {\n shopId: this.shop_id,\n shopName: this.shop_name,\n params: this.tableData,\n },\n });\n this.loading = false;\n\n this.$message({\n type: \"success\",\n message: \"暂存成功\",\n });\n if (!this.isDraw) {\n if (this.systemType === 2) {\n this.$closeCurrentGoEdit(\"/SingleStore/goods/priceAdjust\");\n } else {\n this.$closeCurrentGoEdit(\"/goods/sale/AdjustPrice\");\n }\n } else {\n this.$emit(\"handelSuccess\");\n }\n },\n // 获取暂存信息\n async getPauseSave() {\n const { data } = await getPauseSave({\n key: this.pageName,\n });\n\n if (JSON.stringify(data) === \"{}\") return;\n this.tableData = data.params || [];\n this.shop_name = data.shopName || \"\";\n this.shop_id = data.shopId || \"\";\n },\n // 检查提交\n checkSub() {\n if (!this.isDraw && !this.shop_id) {\n this.$message.warning(\"请选择商铺\");\n return;\n }\n if (!this.tableData[0].goodsId) {\n this.$message.warning(\"第一项商品不能为空\");\n return;\n }\n const price = this.tableData\n .filter((item) => item.goodsId)\n .map((item) => {\n return {\n ...item,\n ladderPrice: item.enabledLadder === 0 ? [] : item.ladderPrice,\n salePrice: item.enabledLadder === 1 ? 0 : item.salePrice,\n shopName: this.shop_name,\n };\n });\n let ladderPriceLength = true;\n let isLadderPrice = true;\n for (let i in price) {\n const item = price[i];\n if (item.enabledLadder === 1) {\n if (item.ladderPrice.length < 2) {\n ladderPriceLength = false;\n break;\n } else if (!item.ladderPrice.every((itemP) => itemP.price > 0)) {\n isLadderPrice = false;\n break;\n }\n } else {\n if (!item.salePrice) {\n isLadderPrice = false;\n break;\n }\n }\n }\n if (!ladderPriceLength) {\n this.$message.warning(\"请至少设置两条阶梯价\");\n return;\n }\n if (!isLadderPrice) {\n this.$message.warning(\"请输入价格\");\n return;\n }\n this.submitData();\n },\n\n // 保存\n async submitData() {\n let params = [];\n // 商品列表调价\n if (this.isDraw) {\n // 价格管理调价\n let salePrice = {};\n let min = 0;\n if (this.goodsItem.enabledLadder === 1) {\n const arr = this.goodsItem.ladderPrice.map((itemM) => {\n return itemM.price;\n });\n min = Math.min.apply(null, arr);\n }\n for (let i in this.tableData) {\n const itemS = this.tableData[i];\n if (itemS.ladderPrice.length) {\n itemS.ladderPrice[itemS.ladderPrice.length - 1].to = 9999999999;\n }\n salePrice[itemS.id] = {\n marketPrice: itemS.salePrice,\n salePrice: itemS.enabledLadder === 0 ? itemS.salePrice : min,\n unitName: itemS.unitName,\n ladderPrice: itemS.enabledLadder === 0 ? [] : itemS.ladderPrice,\n enabledLadder: itemS.enabledLadder,\n };\n }\n params = [\n {\n createUserName: this.userName,\n goodsName: this.goodsItem.title,\n goodsId: this.goodsItem.id,\n saleType: 1, // 1,实物销售,2,虚物销售\n salePriceType: 1, // 1 销售价 2,秒杀价\n salePriceAreaType: 1, // 销售价格为区域价还是全国价\n salePrice: salePrice,\n shopId: this.goodsItem.shopId,\n shopName: this.shop_name,\n },\n ];\n } else {\n // 新增调价单\n const tableData = this.tableData.filter((item) => item.goodsId);\n params = tableData.map((item) => {\n if (item.ladderPrice.length) {\n item.ladderPrice[item.ladderPrice.length - 1].to = 9999999999;\n }\n // 获取最小的价格\n let min = 0;\n if (item.enabledLadder === 1) {\n const arr = item.ladderPrice.map((itemM) => {\n return itemM.price;\n });\n min = Math.min.apply(null, arr);\n }\n return {\n createUserName: item.createUserName || this.userName,\n goodsName: item.goodsName,\n goodsId: item.goodsId,\n saleType: item.saleType, // 1,实物销售,2,虚物销售\n salePriceType: item.salePriceType, // 1 销售价 2,秒杀价\n salePriceAreaType: item.salePriceAreaType,\n salePrice: {\n [item.skuId]: {\n salePrice: item.enabledLadder === 0 ? item.salePrice : min,\n unitName: item.specGropName,\n ladderPrice: item.enabledLadder === 0 ? [] : item.ladderPrice,\n marketPrice: item.nowPrice,\n enabledLadder: item.enabledLadder,\n },\n },\n shopId: item.shopId,\n shopName: this.shop_name,\n };\n });\n }\n\n let target = {};\n this.loading = true;\n if (this.isDraw) {\n // 自动创建调价单且自动生效接口\n target = await addAndEffective(JSON.stringify(params));\n } else {\n target = await PriceAdjustmentAdd(JSON.stringify(params));\n }\n const data = target;\n this.loading = false;\n\n this.$message({\n type: \"success\",\n message: \"操作成功\",\n });\n await this.delPauseSave();\n if (!this.isDraw) {\n if (this.systemType === 2) {\n this.$closeCurrentGoEdit(\"/SingleStore/goods/priceAdjust\");\n } else {\n this.$closeCurrentGoEdit(\"/goods/sale/AdjustPrice\");\n }\n } else {\n this.$emit(\"handelSuccess\");\n }\n },\n // 清除暂存\n async delPauseSave(type) {\n const data = delPauseSave({\n key: this.pageName,\n });\n\n if (type) {\n this.$message({\n type: \"success\",\n message: \"清除暂存成功\",\n });\n this.$closeCurrentGoEdit(\"/goods/sale/AddGoodsAdjustPrice\");\n }\n },\n },\n };\n</script>\n\n<style scoped lang=\"scss\">\n .creat-shop {\n color: #1890ff;\n font-size: 12px;\n margin: 5px 0 0 5px;\n }\n</style>\n"]}]}
|