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\\stock\\OutIn\\outgoingInfo.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\qianger\\7\\jindouyunNewFront\\src\\views\\stock\\OutIn\\outgoingInfo.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:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KaW1wb3J0IENhbGxJbkxvY2F0aW9uIGZyb20gIkAvY29tcG9uZW50L2NvbW1vbi9DYWxsSW5Mb2NhdGlvbiI7CmltcG9ydCBTdG9yYWdlTG9jYXRpb24gZnJvbSAiQC9jb21wb25lbnQvY29tbW9uL1N0b3JhZ2VMb2NhdGlvbiI7CmltcG9ydCB7IHVwZGF0ZVNhbGVPdXRTdGF0dXMsIGdldFNhbGVPdXRJbmZvIH0gZnJvbSAiQC9hcGkvU3RvY2siOwppbXBvcnQgTG9naXN0aWNzRGF0YSBmcm9tICIuLi8uLi9vcmRlci9jb21wb25lbnRzL0xvZ2lzdGljc0RhdGEiOwppbXBvcnQgeyBtYXBHZXR0ZXJzIH0gZnJvbSAidnVleCI7CmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAiT3V0Z29pbmdJbmZvIiwKICBjb21wb25lbnRzOiB7CiAgICBMb2dpc3RpY3NEYXRhLAogICAgLy8gU3RvcmFnZUxvY2F0aW9uLAogICAgQ2FsbEluTG9jYXRpb24KICB9LAogIHByb3BzOiB7CiAgICBvdXRJZDogewogICAgICB0eXBlOiBbU3RyaW5nLCBOdW1iZXJdLAogICAgICBkZWZhdWx0OiAiIgogICAgfQogIH0sCgogIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICBsb2dpc3RpY3M6IHt9LAogICAgICBudW06IGZhbHNlLAogICAgICBsb2dpc3RpY3Nfc2hvdzogZmFsc2UsCiAgICAgIG91dF9pZDogMCwKICAgICAgc2hvd19vdXQ6IGZhbHNlLAogICAgICBsb2FkaW5nOiBmYWxzZSwKICAgICAgb3V0X2RldGFpbDoge30sCiAgICAgIG91dF93YXJlaG91c2VfY29weTogW10sCiAgICAgIG91dF93YXJlaG91c2VfZGF0YTogW10sCiAgICAgIC8vIOWVhuWTgea4heWNle+8jOaMieS7k+W6k+WIhgogICAgICB1bmFzc2lnbmVkX3NrdV9kYXRhOiBbXSwKICAgICAgLy8g5pyq5Ye65bqT5ZWG5ZOBCiAgICAgIHNrdV90b3RhbDoge30sCiAgICAgIHN0b3JhZ2Vfc2hvdzogZmFsc2UsCiAgICAgIHdhcmVob3VzZV9pZDogIiIsCiAgICAgIHNrdUlkOiAiIiwKICAgICAgaXRlbUluZGV4MTogIiIsCiAgICAgIGluZGV4MTogIiIsCiAgICAgIG1hdGVyaWVsSWQ6ICIiLAogICAgICBvdXRfd2FyZWhvdXNlOiB7fSwKICAgICAgYWN0aXZlTmFtZTogIm9uZSIKICAgIH07CiAgfSwKCiAgY29tcHV0ZWQ6IHsgLi4ubWFwR2V0dGVycyh7CiAgICAgIGVuYWJsZUxvY2F0aW9uTWFuYWdlbWVudDogIk1Vc2VyL2VuYWJsZUxvY2F0aW9uTWFuYWdlbWVudCIKICAgIH0pCiAgfSwKCiAgYXN5bmMgbW91bnRlZCgpIHsKICAgIHRoaXMub3V0X2lkID0gdGhpcy5vdXRJZCB8fCB0aGlzLiRyb3V0ZS5wYXJhbXMuaWQ7CiAgICBhd2FpdCB0aGlzLmdldFNhbGVPdXRJbmZvKCk7CiAgfSwKCiAgYXN5bmMgYWN0aXZhdGVkKCkgewogICAgaWYgKHRoaXMuJF9pc0luaXQoKSkgcmV0dXJuOwogICAgdGhpcy5vdXRfaWQgPSB0aGlzLm91dElkIHx8IHRoaXMuJHJvdXRlLnBhcmFtcy5pZDsKICAgIGF3YWl0IHRoaXMuZ2V0U2FsZU91dEluZm8oKTsKICB9LAoKICBtZXRob2RzOiB7CiAgICBsb2dpc3RpY3NDb25maXJtKGRhdGEpIHsKICAgICAgdGhpcy5nZXRTYWxlT3V0SW5mbygpOwogICAgfSwKCiAgICAvLyDmiZPljbAKICAgIG9wZW5VcmwoKSB7CiAgICAgIGxldCByb3V0ZURhdGEgPSB0aGlzLiRyb3V0ZXIucmVzb2x2ZSh7CiAgICAgICAgcGF0aDogYC9PdXRnb2luZ1ByaW50aW5nLyR7dGhpcy5vdXRfZGV0YWlsLmlkfWAKICAgICAgfSk7CiAgICAgIHdpbmRvdy5vcGVuKHJvdXRlRGF0YS5ocmVmLCAiX2JsYW5rIik7CiAgICB9LAoKICAgIC8vIOaPkOS6pOWHuuW6kwogICAgYXN5bmMgc3VibWl0Rm9ybSgpIHsKICAgICAgdGhpcy50aGlzLiRjb25maXJtKCLnoa7lrpropoHmj5DkuqTlh7rlupPlkJfvvJ8iLCAi5o+Q56S6IiwgewogICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAi56Gu5a6aIiwKICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAi5Y+W5raIIiwKICAgICAgICB0eXBlOiAid2FybmluZyIKICAgICAgfSkudGhlbihhc3luYyAoKSA9PiB7CiAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgIGlmICghdGhpcy5vdXRfd2FyZWhvdXNlX2RhdGEgfHwgIXRoaXMub3V0X3dhcmVob3VzZV9kYXRhLmxlbmd0aCkgewogICAgICAgICAgICB0aGlzLiRtZXNzYWdlKHsKICAgICAgICAgICAgICB0eXBlOiAid2FybmluZyIsCiAgICAgICAgICAgICAgbWVzc2FnZTogIuivt+mAieaLqeWHuuW6k+WVhuWTgSIKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgIH0KCiAgICAgICAgICBjb25zdCBvdXRXYXJlaG91c2VEYXRhID0gdGhpcy5vdXRfd2FyZWhvdXNlX2RhdGEuZmlsdGVyKGl0ZW0gPT4gaXRlbS5kZXRhaWxzICYmIGl0ZW0uZGV0YWlscy5sZW5ndGggPiAwKTsKICAgICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB1cGRhdGVTYWxlT3V0U3RhdHVzKHsKICAgICAgICAgICAgaWQ6IHRoaXMub3V0X2RldGFpbC5pZCwKICAgICAgICAgICAgYXVkaXROYW1lOiB0aGlzLnVzZXJOYW1lLAogICAgICAgICAgICBVbmFzc2lnbmVkU2t1RGF0YTogdGhpcy51bmFzc2lnbmVkX3NrdV9kYXRhLAogICAgICAgICAgICBvdXRXYXJlaG91c2VEYXRhOiBvdXRXYXJlaG91c2VEYXRhCiAgICAgICAgICB9KTsKICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOwogICAgICAgICAgdGhpcy4kbWVzc2FnZSh7CiAgICAgICAgICAgIHR5cGU6ICJzdWNjZXNzIiwKICAgICAgICAgICAgbWVzc2FnZTogIuWHuuW6k+aIkOWKnyEiCiAgICAgICAgICB9KTsgLy8g5a6h5qC45oiQ5Yqf5aGr5YaZ6LSn6L2m5L+h5oGvCgogICAgICAgICAgdGhpcy5sb2dpc3RpY3Nfc2hvdyA9IHRydWU7CiAgICAgICAgICBhd2FpdCB0aGlzLmdldFNhbGVPdXRJbmZvKCk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCgogICAgLy8g6I635Y+W6K+m5oOFCiAgICBhc3luYyBnZXRTYWxlT3V0SW5mbygpIHsKICAgICAgY29uc3QgewogICAgICAgIGRhdGEKICAgICAgfSA9IGF3YWl0IGdldFNhbGVPdXRJbmZvKHRoaXMub3V0X2lkKTsKICAgICAgdGhpcy5vdXRfZGV0YWlsID0gZGF0YTsKICAgICAgdGhpcy5vdXRfd2FyZWhvdXNlX2NvcHkgPSB0aGlzLiRfY29tbW9uLmRlZXBDbG9uZShkYXRhLm91dFdhcmVob3VzZURhdGEpOyAvLyDlrZjkuIDkuIvmnKrkv67mlLnnmoTljp/lp4vlh7rlupPmlbDph48KCiAgICAgIGRhdGEub3V0V2FyZWhvdXNlRGF0YS5mb3JFYWNoKGl0ZW0gPT4gewogICAgICAgIGl0ZW0uZGV0YWlscy5mb3JFYWNoKGdvb2RzID0+IHsKICAgICAgICAgIGdvb2RzLm51bUNvcHkgPSBOdW1iZXIoZ29vZHMubnVtKTsgLy8g5oqE5Zib5ZWG5ZOB6buY6K6k5Li656m6CgogICAgICAgICAgaWYgKGdvb2RzLmV4dGVuZCAhPT0gIm51bGwiICYmICEhZ29vZHMuZXh0ZW5kKSB7CiAgICAgICAgICAgIGdvb2RzLmV4dGVuZCA9IEpTT04ucGFyc2UoZ29vZHMuZXh0ZW5kKTsKCiAgICAgICAgICAgIGlmICghTnVtYmVyKGdvb2RzLm90aGVyTnVtKSkgewogICAgICAgICAgICAgIGdvb2RzLm90aGVyTnVtID0gdGhpcy4kTlAuZGl2aWRlKGdvb2RzLm51bUNvcHksIGdvb2RzLmV4dGVuZC5jb252ZXJzaW9uKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZ29vZHMubnVtID0gIiI7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBnb29kcy5udW0gPSBOdW1iZXIoZ29vZHMubnVtKTsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgfSk7CiAgICAgIHRoaXMub3V0X3dhcmVob3VzZV9kYXRhID0gZGF0YS5vdXRXYXJlaG91c2VEYXRhOwogICAgICB0aGlzLnVuYXNzaWduZWRfc2t1X2RhdGEgPSBkYXRhLlVuYXNzaWduZWRTa3VEYXRhOwogICAgICB0aGlzLnNrdV90b3RhbCA9IGRhdGEuc2t1VG90YWw7CgogICAgICBpZiAoZGF0YS5leHRlbmQgJiYgZGF0YS5leHRlbmQubG9naXN0aWNzKSB7CiAgICAgICAgdGhpcy5sb2dpc3RpY3MgPSBkYXRhLmV4dGVuZC5sb2dpc3RpY3M7CiAgICAgIH0KICAgIH0sCgogICAgLy8g5Ye65bqTIOWuoeaguOeKtuaAgQogICAgb3JkZXJBdWRpdENvbmZpcm0oKSB7CiAgICAgIHRoaXMuZ2V0U2FsZU91dEluZm8oKTsKICAgIH0sCgogICAgYXN5bmMgdXBkYXRlU2FsZU91dFN0YXR1cygpIHsKICAgICAgbGV0IGZsYWcgPSBmYWxzZTsKCiAgICAgIGZvciAobGV0IGkgaW4gdGhpcy5vdXRfd2FyZWhvdXNlX2RhdGEpIHsKICAgICAgICBmb3IgKGxldCBqIGluIHRoaXMub3V0X3dhcmVob3VzZV9kYXRhW2ldLmRldGFpbHMpIHsKICAgICAgICAgIGxldCBpdGVtMSA9IHRoaXMub3V0X3dhcmVob3VzZV9kYXRhW2ldLmRldGFpbHNbal07CgogICAgICAgICAgaWYgKCFpdGVtMS5udW0pIHsKICAgICAgICAgICAgZmxhZyA9IHRydWU7CiAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZygi5ZWG5ZOBIiArIGl0ZW0xLm1hdGVyaWVsTmFtZSArICLvvIzop4TmoLwg44CQIiArIGl0ZW0xLnVuaXROYW1lICsgIu+8myIgKyBpdGVtMS5za3VOYW1lICsgIuOAkeeahOWHuuW6k+aVsOmHj+S4jeiDveS4uuepuiIpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KCiAgICAgICAgICBpZiAoaXRlbTEub3RoZXJOdW0gPCAwKSB7CiAgICAgICAgICAgIGZsYWcgPSB0cnVlOwogICAgICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoIuWVhuWTgSIgKyBpdGVtMS5tYXRlcmllbE5hbWUgKyAi77yM6KeE5qC8IOOAkCIgKyBpdGVtMS51bml0TmFtZSArICLvvJsiICsgaXRlbTEuc2t1TmFtZSArICLjgJHnmoTlhbbku5bmlbDph4/kuI3og73lsI/kuo4wIik7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQoKICAgICAgaWYgKGZsYWcpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIGlmICghdGhpcy5vdXRfd2FyZWhvdXNlX2RhdGEgfHwgIXRoaXMub3V0X3dhcmVob3VzZV9kYXRhLmxlbmd0aCkgewogICAgICAgIHRoaXMuJG1lc3NhZ2UoewogICAgICAgICAgdHlwZTogIndhcm5pbmciLAogICAgICAgICAgbWVzc2FnZTogIuivt+mAieaLqeWHuuW6k+WVhuWTgSIKICAgICAgICB9KTsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIGxldCBpc051bSA9IHRydWU7IC8vIOi/h+a7pCDlh7rljrvmsqHmnInllYblk4HnmoQKCiAgICAgIGNvbnN0IG91dFdhcmVob3VzZURhdGEgPSB0aGlzLm91dF93YXJlaG91c2VfZGF0YS5maWx0ZXIoaXRlbSA9PiBpdGVtLmRldGFpbHMgJiYgaXRlbS5kZXRhaWxzLmxlbmd0aCA+IDApOwoKICAgICAgaWYgKCFvdXRXYXJlaG91c2VEYXRhLmxlbmd0aCkgewogICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZygi6K+36YCJ5oup6KaB5Ye65bqT55qE5ZWG5ZOBIik7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBmb3IgKGxldCBpIGluIG91dFdhcmVob3VzZURhdGEpIHsKICAgICAgICBsZXQgaXRlbSA9IHRoaXMub3V0X3dhcmVob3VzZV9kYXRhW2ldOwoKICAgICAgICBmb3IgKGxldCBuIGluIGl0ZW0uZGV0YWlscykgewogICAgICAgICAgbGV0IG50ZW0gPSBpdGVtLmRldGFpbHNbbl07CgogICAgICAgICAgaWYgKG50ZW0ubnVtIDw9IDApIHsKICAgICAgICAgICAgaXNOdW0gPSBmYWxzZTsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CgogICAgICBpZiAoIWlzTnVtKSB7CiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCLplIDllK7ph4/lv4XpobvlpKfkuo4wIik7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICB0aGlzLiRjb25maXJtKCLnoa7lrpropoHlrqHmoLjor6Xlh7rlupPljZXlkJfvvJ8iLCAi5o+Q56S6IiwgewogICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAi56Gu5a6aIiwKICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAi5Y+W5raIIiwKICAgICAgICB0eXBlOiAid2FybmluZyIKICAgICAgfSkudGhlbihhc3luYyAoKSA9PiB7CiAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB1cGRhdGVTYWxlT3V0U3RhdHVzKHsKICAgICAgICAgICAgaWQ6IHRoaXMub3V0X2RldGFpbC5pZCwKICAgICAgICAgICAgYXVkaXROYW1lOiB0aGlzLnVzZXJOYW1lLAogICAgICAgICAgICBVbmFzc2lnbmVkU2t1RGF0YTogdGhpcy51bmFzc2lnbmVkX3NrdV9kYXRhLAogICAgICAgICAgICBvdXRXYXJlaG91c2VEYXRhOiBvdXRXYXJlaG91c2VEYXRhCiAgICAgICAgICB9KTsKICAgICAgICAgIHRoaXMuJG1lc3NhZ2UoewogICAgICAgICAgICB0eXBlOiAic3VjY2VzcyIsCiAgICAgICAgICAgIG1lc3NhZ2U6ICLmk43kvZzmiJDlip8hIgogICAgICAgICAgfSk7IC8vIOWuoeaguOaIkOWKn+Whq+WGmei0p+i9puS/oeaBrwoKICAgICAgICAgIGlmICh0aGlzLm91dF9kZXRhaWwuZGVsaXZlcnlUeXBlID09PSAzKSB7CiAgICAgICAgICAgIHRoaXMubG9naXN0aWNzX3Nob3cgPSB0cnVlOwogICAgICAgICAgfQoKICAgICAgICAgIGF3YWl0IHRoaXMuZ2V0U2FsZU91dEluZm8oKTsKICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOwogICAgICAgIH0gY2F0Y2ggewogICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7CiAgICAgICAgfQogICAgICB9KS5jYXRjaCgoKSA9PiB7CiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7CiAgICAgIH0pOwogICAgfSwKCiAgICBnb090aGVyRGV0YWlsKCkgewogICAgICBzd2l0Y2ggKHRoaXMub3V0X2RldGFpbC50eXBlKSB7CiAgICAgICAgY2FzZSA1OgogICAgICAgICAgLy8g6ZSA5ZSu5Ye65bqTCiAgICAgICAgICB0aGlzLiRyb3V0ZXIucHVzaCgiL29yZGVyL21hbmFnZU8vT3JkZXJEZXRhaWxzLzEvIiArIHRoaXMub3V0X2RldGFpbC5zb3VyY2VJZCk7CiAgICAgICAgICBicmVhazsKCiAgICAgICAgY2FzZSA4OgogICAgICAgICAgLy8g6LCD5ouo5Ye65bqTCiAgICAgICAgICB0aGlzLiRyb3V0ZXIucHVzaCgiL3N0b2NrL1dhcmVob3VzZU1hbmFnZW1lbnQvRGV0YWlsQWxsb2NhdGlvbkZvcm0vIiArIHRoaXMub3V0X2RldGFpbC5zb3VyY2VJZCk7CiAgICAgICAgICBicmVhazsKCiAgICAgICAgY2FzZSAxNDoKICAgICAgICAgIC8vIOmHh+i0remAgOi0pwogICAgICAgICAgdGhpcy4kcm91dGVyLnB1c2goIi9QdXJjaGFzZS9NYW5hZ2VQL1B1cmNoYXNlUmV0dXJuT3JkZXJMb29rLyIgKyB0aGlzLm91dF9kZXRhaWwuc291cmNlSWQpOwogICAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgIH0sCgogICAgd2FyZWhvdXNlQ2hhbmdlKHZhbCwgaW5kZXgsIHJvd0ksIHJvdykgewogICAgICAvLyDmt7Hmi7fotJ3kuIDku73llYblk4HmlbDmja4KICAgICAgY29uc3QgdGFyZ2V0ID0gdGhpcy4kX2NvbW1vbi5kZWVwQ2xvbmUodGhpcy5vdXRfd2FyZWhvdXNlX2RhdGEpOyAvLyDlnKjopoHlh7rlupPnmoTliJfooajkuK3mn6Xmib7lvZPliY3liIfmjaLnmoTku5PlupPmmK/lkKblrZjlnKgKCiAgICAgIGNvbnN0IHdJbmRleCA9IHRhcmdldC5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLndhcmVob3VzZUlkID09PSB2YWwpOwoKICAgICAgaWYgKHdJbmRleCA+IC0xKSB7CiAgICAgICAgLy8g5b2T5YmN5LuT5bqT5a2Y5ZyoCiAgICAgICAgLy8g5p+l5om+5ZWG5ZOB5piv5ZCm5a2Y5ZyoCiAgICAgICAgY29uc3QgZ0luZGV4ID0gdGFyZ2V0W3dJbmRleF0uZGV0YWlscy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLnNrdUlkID09PSByb3cuc2t1SWQpOwoKICAgICAgICBpZiAoZ0luZGV4ID4gLTEpIHsKICAgICAgICAgIC8vIOWVhuWTgeWtmOWcqAogICAgICAgICAgLy8g57Sv5Yqg6ZSA5ZSu6YePCiAgICAgICAgICB0YXJnZXRbd0luZGV4XS5kZXRhaWxzW2dJbmRleF0ubnVtID0gdGhpcy4kTlAucGx1cyh0YXJnZXRbd0luZGV4XS5kZXRhaWxzW2dJbmRleF0ubnVtLCByb3cubnVtKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgLy8g5ZWG5ZOB5LiN5a2Y5Zyo77yM5re75Yqg6K+l5ZWG5ZOBCiAgICAgICAgICB0YXJnZXRbd0luZGV4XS5kZXRhaWxzLnB1c2gocm93KTsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgLy8g5LuT5bqT5LiN5a2Y5Zyo77yM5re75Yqg5LiA6aG55LuT5bqT5pWw5o2uCiAgICAgICAgdGFyZ2V0LnB1c2goewogICAgICAgICAgd2FyZWhvdXNlSWQ6IHZhbCwKICAgICAgICAgIHdhcmVob3VzZU5hbWU6IHJvdy53YXJlaG91c2VTZWxlY3QuZmluZChpdGVtID0+IGl0ZW0ud2FyZWhvdXNlSWQgPT09IHZhbCkud2FyZWhvdXNlTmFtZSwKICAgICAgICAgIGRldGFpbHM6IFtyb3ddCiAgICAgICAgfSk7CiAgICAgIH0gLy8g5oqK5b2T5YmN6L+Z5p2h5ZWG5ZOB5LuO5Y6f5p2l55qE5L2N572u5Yig6ZmkCgoKICAgICAgdGFyZ2V0W2luZGV4XS5kZXRhaWxzLnNwbGljZShyb3dJLCAxKTsgLy8g5pyq5byA5ZCv6LSf5bqT5a2YCgogICAgICBpZiAocm93LmlzUHJlU2FsZSA9PT0gNCkgewogICAgICAgIC8vIOafpeaJvuW9k+WJjeWIh+aNouS7k+W6k+aVsOaNrgogICAgICAgIGNvbnN0IHdhcmVob3VzZURhdGEgPSByb3cud2FyZWhvdXNlU2VsZWN0LmZpbmQoaXRlbSA9PiBpdGVtLndhcmVob3VzZUlkID09PSB2YWwpOyAvLyDmn6Xmib7lvZPliY3ku5PlupPlnKjlh7rlupPliJfooajnmoTmlbDmja4KCiAgICAgICAgY29uc3QgdGFyZ2V0SSA9IHRhcmdldC5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLndhcmVob3VzZUlkID09PSB2YWwpOyAvLyDmn6Xmib7lvZPliY3llYblk4HlnKjor6Xku5PlupPkuIvlh7rlupPliJfooajnmoTmlbDmja4KCiAgICAgICAgY29uc3QgZ29vZHNJID0gdGFyZ2V0W3RhcmdldEldLmRldGFpbHMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5za3VJZCA9PT0gcm93LnNrdUlkKTsgLy8g5aaC5p6c5b2T5YmN5pWw6YeP5aSn5LqO6K+l5LuT5bqT5LiL55qE5bqT5a2Y77yM5o6o5YWl5Yiw5pyq5Ye65bqT5pWw5o2u5LitCgogICAgICAgIGlmICh0YXJnZXRbdGFyZ2V0SV0uZGV0YWlsc1tnb29kc0ldLm51bSA+IHdhcmVob3VzZURhdGEud2FyZWhvdXNlSW52ZW50b3J5TnVtKSB7CiAgICAgICAgICAvLyDmi7fotJ3kuIDku73mnKrlh7rlupPmlbDmja4KICAgICAgICAgIGNvbnN0IHVuYXNzaWduZWREYXRhID0gdGhpcy4kX2NvbW1vbi5kZWVwQ2xvbmUodGhpcy51bmFzc2lnbmVkX3NrdV9kYXRhKTsgLy8g5Yik5pat5b2T5YmN5pyq5Ye65bqT5pWw5o2u5Lit5piv5ZCm5pyJ5b2T5YmN6KeE5qC855qE5ZWG5ZOBCgogICAgICAgICAgY29uc3QgdW5JbmRleCA9IHVuYXNzaWduZWREYXRhLmZpbmRJbmRleCh1bkl0ZW0gPT4gdW5JdGVtLnNrdUlkID09PSByb3cuc2t1SWQpOyAvLyDorr7nva7lvZPliY3mnKrlh7rlupPllYblk4EKCiAgICAgICAgICBjb25zdCBnb29kcyA9IHsgLi4udGFyZ2V0W3RhcmdldEldLmRldGFpbHNbZ29vZHNJXSwKICAgICAgICAgICAgbnVtOiB0aGlzLiROUC5taW51cyh0YXJnZXRbdGFyZ2V0SV0uZGV0YWlsc1tnb29kc0ldLm51bSwgd2FyZWhvdXNlRGF0YS53YXJlaG91c2VJbnZlbnRvcnlOdW0pLAogICAgICAgICAgICB3YXJlaG91c2VJZDogIiIKICAgICAgICAgIH07IC8vIOacquWHuuW6k+WVhuWTgeWIl+ihqOacieivpeWVhuWTge+8jOWImeabv+aNogoKICAgICAgICAgIGlmICh1bkluZGV4ID4gLTEpIHsKICAgICAgICAgICAgdW5hc3NpZ25lZERhdGFbdW5JbmRleF0gPSBnb29kczsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIC8vIOayoeacieivpeWVhuWTgeWImeaOqOWFpQogICAgICAgICAgICB1bmFzc2lnbmVkRGF0YS5wdXNoKGdvb2RzKTsKICAgICAgICAgIH0gLy8g57uZ5pyq5Ye65bqT5ZWG5ZOB5YiX6KGo6YeN5paw6LWL5YC8CgoKICAgICAgICAgIHRoaXMudW5hc3NpZ25lZF9za3VfZGF0YSA9IHVuYXNzaWduZWREYXRhOyAvLyDorr7nva7lvZPliY3llYblk4HplIDllK7ph4/kuLror6Xku5PlupPnmoTmnIDlpKflupPlrZgKCiAgICAgICAgICB0YXJnZXRbdGFyZ2V0SV0uZGV0YWlsc1tnb29kc0ldLm51bSA9IHdhcmVob3VzZURhdGEud2FyZWhvdXNlSW52ZW50b3J5TnVtOwogICAgICAgIH0KICAgICAgfSAvLyDnu5nlh7rlupPmlbDmja7ph43mlrDotYvlgLwKCgogICAgICB0aGlzLm91dF93YXJlaG91c2VfZGF0YSA9IHRhcmdldDsKICAgIH0sCgogICAgLy8g6I635Y+W5b2T5YmN5ZCI6K6h6ZSA5ZSu6YePCiAgICB0b3RhbE51bUNoYW5nZSh0YXJnZXQsIHJvdykgewogICAgICAvLyDorr7nva7lj5jph49udW0KICAgICAgbGV0IG51bSA9IDA7CiAgICAgIHRhcmdldC5mb3JFYWNoKGl0ZW0gPT4gewogICAgICAgIGNvbnN0IGdvb2RzID0gaXRlbS5kZXRhaWxzLmZpbmQoaXRlbSA9PiBpdGVtLnNrdUlkID09PSByb3cuc2t1SWQpOwoKICAgICAgICBpZiAoZ29vZHMpIHsKICAgICAgICAgIC8vIOWKoOS4iuW9k+WJjeWVhuWTgemUgOWUrumHjwogICAgICAgICAgbnVtID0gdGhpcy4kTlAucGx1cyhudW0sIGdvb2RzLm51bSk7CiAgICAgICAgfQogICAgICB9KTsKICAgICAgcmV0dXJuIG51bTsKICAgIH0sCgogICAgLy8g6ZSA5ZSu6YeP5L+u5pS5CiAgICBzYWxlTnVtQmx1cihlLCByb3dJLCBpbmRleCwgcm93KSB7CiAgICAgIGNvbnN0IHZhbCA9IGUudGFyZ2V0LnZhbHVlOyAvLyDmt7Hmi7fotJ3kuIDku73llYblk4HmlbDmja4KCiAgICAgIGNvbnN0IHRhcmdldCA9IHRoaXMuJF9jb21tb24uZGVlcENsb25lKHRoaXMub3V0X3dhcmVob3VzZV9kYXRhKTsKCiAgICAgIGlmICh2YWwgPT09ICIiKSB7CiAgICAgICAgdGhpcy4kbmV4dFRpY2soKCkgPT4gewogICAgICAgICAgdGFyZ2V0W2luZGV4XS5kZXRhaWxzW3Jvd0ldLm51bSA9ICIiOwogICAgICAgIH0pOwogICAgICAgIHRoaXMub3V0X3dhcmVob3VzZV9kYXRhID0gdGFyZ2V0OwogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgaWYgKHRhcmdldFtpbmRleF0uZGV0YWlsc1tyb3dJXS5udW0gPiBOdW1iZXIodGhpcy5za3VfdG90YWxbdGFyZ2V0W2luZGV4XS5kZXRhaWxzW3Jvd0ldLnNrdUlkXSkpIHsKICAgICAgICB0YXJnZXRbaW5kZXhdLmRldGFpbHNbcm93SV0ubnVtID0gTnVtYmVyKHRoaXMuc2t1X3RvdGFsW3RhcmdldFtpbmRleF0uZGV0YWlsc1tyb3dJXS5za3VJZF0pOwogICAgICAgIHRoaXMub3V0X3dhcmVob3VzZV9kYXRhID0gdGFyZ2V0OwogICAgICAgIHJldHVybjsKICAgICAgfSAvLyDkuI3mlK/mjIHotJ/lupPlrZgKCgogICAgICBpZiAocm93LmlzUHJlU2FsZSA9PT0gNCkgewogICAgICAgIGNvbnN0IHdhcmVob3VzZURhdGEgPSByb3cud2FyZWhvdXNlU2VsZWN0LmZpbmQoaXRlbSA9PiBpdGVtLndhcmVob3VzZUlkID09PSByb3cud2FyZWhvdXNlSWQpOyAvLyDovpPlhaXlgLzlpKfkuo7lvZPliY3ku5PlupPlupPlrZjmlbAKCiAgICAgICAgaWYgKE51bWJlcih2YWwpID4gTnVtYmVyKHdhcmVob3VzZURhdGEud2FyZWhvdXNlSW52ZW50b3J5TnVtKSkgewogICAgICAgICAgLy8g5oqK5b2T5YmN5ZWG5ZOB55qE6ZSA5ZSu6YeP6L+Y5Y6fCiAgICAgICAgICB0YXJnZXRbaW5kZXhdLmRldGFpbHNbcm93SV0ubnVtID0gdGFyZ2V0W2luZGV4XS5kZXRhaWxzW3Jvd0ldLm51bUNvcHk7CiAgICAgICAgfQogICAgICB9IC8vIOa3seaLt+i0neS4gOS7veacquWHuuW6k+WVhuWTgeaVsOaNrgoKCiAgICAgIGNvbnN0IHVuYXNzaWduZWREYXRhID0gdGhpcy4kX2NvbW1vbi5kZWVwQ2xvbmUodGhpcy51bmFzc2lnbmVkX3NrdV9kYXRhKTsgLy8g5Yik5pat5b2T5YmN5pyq5Ye65bqT5pWw5o2u5Lit5piv5ZCm5pyJ5b2T5YmN6KeE5qC855qE5ZWG5ZOBCgogICAgICBjb25zdCB1bkluZGV4ID0gdW5hc3NpZ25lZERhdGEuZmluZEluZGV4KHVuSXRlbSA9PiB1bkl0ZW0uc2t1SWQgPT09IHJvdy5za3VJZCk7IC8vIOiuvue9ruWPmOmHj251bSAg6I635Y+W5b2T5YmN5ZCI6K6h6ZSA5ZSu6YePCgogICAgICBsZXQgbnVtID0gdGhpcy50b3RhbE51bUNoYW5nZSh0YXJnZXQsIHJvdyk7IC8vIOWIpOaWreW9k+WJjeS/ruaUueWQjueahOWQiOiuoeWVhuWTgemUgOWUrumHj+aYr+WQpuWkp+S6jui0reS5sOaVsOmHj++8jOWkp+S6juWwseaKiuW9k+WJjeWVhuWTgeeahOmUgOWUrumHj+i/mOWOnwoKICAgICAgaWYgKG51bSA+IHRoaXMuc2t1X3RvdGFsW3Jvdy5za3VJZF0pIHsKICAgICAgICAvLyDkv67mlLnlkI7nmoTlkIjorqHllYblk4HplIDllK7ph4/lpKfkuo7otK3kubDmlbDph4/vvIzmiorlvZPliY3llYblk4HnmoTplIDllK7ph4/ov5jljp8KICAgICAgICB0YXJnZXRbaW5kZXhdLmRldGFpbHNbcm93SV0ubnVtID0gdGFyZ2V0W2luZGV4XS5kZXRhaWxzW3Jvd0ldLm51bUNvcHk7CiAgICAgIH0gZWxzZSBpZiAobnVtID09PSBOdW1iZXIodGhpcy5za3VfdG90YWxbcm93LnNrdUlkXSkpIHsKICAgICAgICAvLyDkv67mlLnlkI7nmoTlkIjorqHllYblk4HplIDllK7ph4/nrYnkuo7otK3kubDmlbDph48KICAgICAgICAvLyDmnKrlh7rlupPllYblk4HliJfooajmnInor6XllYblk4HvvIzliJnliKDpmaQKICAgICAgICBpZiAodW5JbmRleCA+IC0xKSB7CiAgICAgICAgICB1bmFzc2lnbmVkRGF0YS5zcGxpY2UodW5JbmRleCwgMSk7CiAgICAgICAgfQogICAgICB9IGVsc2UgaWYgKHRoaXMuJE5QLm1pbnVzKHRoaXMuc2t1X3RvdGFsW3Jvdy5za3VJZF0sIG51bSkgPiAwKSB7CiAgICAgICAgLy8g5b2T5YmN5pyq5Ye65bqT5bqT5a2Y5aSn5LqOMAogICAgICAgIC8vIOiuvue9ruW9k+WJjeacquWHuuW6k+WVhuWTgQogICAgICAgIGNvbnN0IGdvb2RzID0geyAuLi50aGlzLiRfY29tbW9uLmRlZXBDbG9uZSh0YXJnZXRbaW5kZXhdLmRldGFpbHNbcm93SV0pLAogICAgICAgICAgbnVtOiB0aGlzLiROUC5taW51cyh0aGlzLnNrdV90b3RhbFtyb3cuc2t1SWRdLCBudW0pLAogICAgICAgICAgd2FyZWhvdXNlSWQ6ICIiCiAgICAgICAgfTsgLy8g5pyq5Ye65bqT5ZWG5ZOB5YiX6KGo5pyJ6K+l5ZWG5ZOB77yM5YiZ5pu/5o2iCgogICAgICAgIGlmICh1bkluZGV4ID4gLTEpIHsKICAgICAgICAgIHVuYXNzaWduZWREYXRhW3VuSW5kZXhdID0gZ29vZHM7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIC8vIOayoeacieivpeWVhuWTgeWImeaOqOWFpQogICAgICAgICAgdW5hc3NpZ25lZERhdGEucHVzaChnb29kcyk7CiAgICAgICAgfSAvLyDlpoLmnpzovpPlhaXmlbDph4/kuLowIO+8jOWImeaKiuWvueW6lOWHuuW6k+WVhuWTgea4hemZpAoKCiAgICAgICAgaWYgKG51bSA9PT0gMCkgewogICAgICAgICAgdGFyZ2V0W2luZGV4XS5kZXRhaWxzLnNwbGljZShyb3dJLCAxKTsKICAgICAgICB9CiAgICAgIH0gLy8g57uZ5pyq5Ye65bqT5ZWG5ZOB5YiX6KGo6YeN5paw6LWL5YC8CgoKICAgICAgdGhpcy51bmFzc2lnbmVkX3NrdV9kYXRhID0gdW5hc3NpZ25lZERhdGE7IC8vIOe7meWHuuW6k+WVhuWTgeWIl+ihqOmHjeaWsOi1i+WAvAoKICAgICAgdGhpcy5vdXRfd2FyZWhvdXNlX2RhdGEgPSB0YXJnZXQ7CiAgICB9LAoKICAgIC8vIOacquWHuuW6k+aVsOaNruS7k+W6k+mAieaLqQogICAgdW5XYXJlaG91c2VDaGFuZ2UodmFsLCByb3csIGluZGV4VW4pIHsKICAgICAgLy8g5rex5ou36LSd5LiA5Lu95ZWG5ZOB5pWw5o2uCiAgICAgIGNvbnN0IHRhcmdldCA9IHRoaXMuJF9jb21tb24uZGVlcENsb25lKHRoaXMub3V0X3dhcmVob3VzZV9kYXRhKTsgLy8g5Zyo5Ye65bqT5ZWG5ZOB5pWw5o2u5Lit5p+l5om+6YCJ5oup5LuT5bqTCgogICAgICBjb25zdCBpbmRleCA9IHRhcmdldC5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLndhcmVob3VzZUlkID09PSB2YWwpOyAvLyDlh7rlupPllYblk4HmlbDmja7kuK3mnInor6XpgInmi6nnmoTku5PlupMKCiAgICAgIGlmIChpbmRleCA+IC0xKSB7CiAgICAgICAgLy8g5om+5Yiw5ZWG5ZOB5omA5Zyo5LiL5qCH77yI5L2N572u77yJCiAgICAgICAgY29uc3QgZ29vZHNJID0gdGFyZ2V0W2luZGV4XS5kZXRhaWxzLmZpbmRJbmRleChnb29kcyA9PiBnb29kcy5za3VJZCA9PT0gcm93LnNrdUlkKTsgLy8g6K+l5LuT5bqT5LiL5YyF5ZCr5b2T5YmN5ZWG5ZOBCgogICAgICAgIGlmIChnb29kc0kgPiAtMSkgewogICAgICAgICAgdGFyZ2V0W2luZGV4XS5kZXRhaWxzW2dvb2RzSV0ubnVtID0gdGhpcy4kTlAucGx1cyh0YXJnZXRbaW5kZXhdLmRldGFpbHNbZ29vZHNJXS5udW0sIHJvdy5udW0pOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAvLyDor6Xku5PlupPkuIvkuI3ljIXlkKvlvZPliY3llYblk4HvvIzmiorlvZPliY3llYblk4HmjqjliLDor6Xku5PlupPkuIvpnaIKICAgICAgICAgIHRhcmdldFtpbmRleF0uZGV0YWlscy5wdXNoKHJvdyk7CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIC8vIOWHuuW6k+WVhuWTgeaVsOaNruS4reayoeacieivpemAieaLqeeahOS7k+W6k++8jOa3u+WKoOS4gOmhueS7k+W6k+aVsOaNrgogICAgICAgIHRhcmdldC5wdXNoKHsKICAgICAgICAgIHdhcmVob3VzZUlkOiB2YWwsCiAgICAgICAgICB3YXJlaG91c2VOYW1lOiByb3cud2FyZWhvdXNlU2VsZWN0LmZpbmQoaXRlbSA9PiBpdGVtLndhcmVob3VzZUlkID09PSB2YWwpLndhcmVob3VzZU5hbWUsCiAgICAgICAgICBkZXRhaWxzOiBbcm93XQogICAgICAgIH0pOwogICAgICB9IC8vIOaKiuW9k+WJjei/meadoeWVhuWTgeS7juWOn+adpeeahOS9jee9ruWIoOmZpAoKCiAgICAgIHRoaXMudW5hc3NpZ25lZF9za3VfZGF0YS5zcGxpY2UoaW5kZXhVbiwgMSk7CiAgICAgIHRoaXMub3V0X3dhcmVob3VzZV9kYXRhID0gdGFyZ2V0OwogICAgfSwKCiAgICBzZWxTdG9yYWdlKGUpIHsKICAgICAgY29uc3QgdGFyZ2V0ID0gdGhpcy4kX2NvbW1vbi5kZWVwQ2xvbmUodGhpcy5vdXRfd2FyZWhvdXNlX2RhdGEpOwogICAgICB0YXJnZXRbdGhpcy5pbmRleDFdLmRldGFpbHNbdGhpcy5pdGVtSW5kZXgxXSA9IHsgLi4udGFyZ2V0W3RoaXMuaW5kZXgxXS5kZXRhaWxzW3RoaXMuaXRlbUluZGV4MV0sCiAgICAgICAgYXJlYUlkOiBlWzBdLmFyZWFJZCwKICAgICAgICBhcmVhTmFtZTogZVswXS5hcmVhTmFtZSwKICAgICAgICBhcmVhQ29kZTogZVswXS5hcmVhQ29kZSwKICAgICAgICBzdG9yYWdlTG9jYXRpb25OYW1lOiBlWzBdLnN0b3JhZ2VMb2NhdGlvbk5hbWUsCiAgICAgICAgc3RvcmFnZUxvY2F0aW9uSWQ6IGVbMF0uc3RvcmFnZUxvY2F0aW9uSWQsCiAgICAgICAgc3RvcmFnZUxvY2F0aW9uQ29kZTogZVswXS5zdG9yYWdlTG9jYXRpb25Db2RlCiAgICAgIH07CiAgICAgIHRoaXMub3V0X3dhcmVob3VzZV9kYXRhID0gdGFyZ2V0OwogICAgfSwKCiAgICBzdG9yYWdlU2hvdyhyb3csIGl0ZW1JbmRleDEsIGluZGV4KSB7CiAgICAgIHRoaXMubWF0ZXJpZWxJZCA9IHJvdy5tYXRlcmllbElkOwogICAgICB0aGlzLml0ZW1JbmRleDEgPSBpdGVtSW5kZXgxOwogICAgICB0aGlzLmluZGV4MSA9IGluZGV4OwogICAgICB0aGlzLndhcmVob3VzZV9pZCA9IHJvdy53YXJlaG91c2VJZDsKICAgICAgdGhpcy5za3VJZCA9IHJvdy5za3VJZDsKICAgICAgdGhpcy5zdG9yYWdlX3Nob3cgPSB0cnVlOwogICAgfQoKICB9Cn07"},{"version":3,"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8nBA;AACA;AACA;AACA;AACA;AACA;EACAA,oBADA;EAEAC;IACAC,aADA;IAEA;IACAC;EAHA,CAFA;EAOAC;IACAC;MACAC,sBADA;MAEAC;IAFA;EADA,CAPA;;EAaAC;IACA;MACAC,aADA;MAEAC,UAFA;MAGAC,qBAHA;MAIAC,SAJA;MAKAC,eALA;MAMAC,cANA;MAOAC,cAPA;MAQAC,sBARA;MASAC,sBATA;MASA;MACAC,uBAVA;MAUA;MACAC,aAXA;MAYAC,mBAZA;MAaAC,gBAbA;MAcAC,SAdA;MAeAC,cAfA;MAgBAC,UAhBA;MAiBAC,cAjBA;MAkBAC,iBAlBA;MAmBAC;IAnBA;EAqBA,CAnCA;;EAoCAC,YACA;MACAC;IADA;EADA,CApCA;;EAyCA;IACA;IACA;EACA,CA5CA;;EA6CA;IACA;IACA;IACA;EACA,CAjDA;;EAkDAC;IACAC;MACA;IACA,CAHA;;IAIA;IACAC;MACA;QACAC;MADA;MAGAC;IACA,CAVA;;IAWA;IACA;MACA,UACAC,QADA,CACA,WADA,EACA,IADA,EACA;QACAC,uBADA;QAEAC,sBAFA;QAGA/B;MAHA,CADA,EAMAgC,IANA,CAMA;QACA;;QACA;UACA;YACA;cACAhC,eADA;cAEAiC;YAFA;YAIA;UACA;;UACA,wDACAC,+CADA;UAGA;YACAC,sBADA;YAEAC,wBAFA;YAGAC,2CAHA;YAIAC;UAJA;UAMA;UAEA;YACAtC,eADA;YAEAiC;UAFA,GAnBA,CAuBA;;UACA;UACA;QACA,CA1BA,CA0BA;UACA;QACA;MACA,CArCA;IAsCA,CAnDA;;IAoDA;IACA;MACA;QAAA/B;MAAA;MACA;MACA,kDACAA,qBADA,EAHA,CAMA;;MACAA;QACAgC;UACAK,kCADA,CAEA;;UACA;YACAA;;YACA;cACAA,iCACAA,aADA,EAEAA,uBAFA;YAIA;;YAEAA;UACA,CAVA,MAUA;YACAA;UACA;QACA,CAhBA;MAiBA,CAlBA;MAmBA;MACA;MACA;;MACA;QACA;MACA;IACA,CArFA;;IAsFA;IACAC;MACA;IACA,CAzFA;;IA0FA;MACA;;MACA;QACA;UACA;;UACA;YACAC;YACA,sBACA,OACAC,kBADA,GAEA,OAFA,GAGAA,cAHA,GAIA,GAJA,GAKAA,aALA,GAMA,YAPA;YASA;UACA;;UACA;YACAD;YACA,sBACA,OACAC,kBADA,GAEA,OAFA,GAGAA,cAHA,GAIA,GAJA,GAKAA,aALA,GAMA,aAPA;YASA;UACA;QACA;MACA;;MACA;QACA;MACA;;MACA;QACA;UACA1C,eADA;UAEAiC;QAFA;QAIA;MACA;;MACA,iBA3CA,CA4CA;;MACA,wDACAC,+CADA;;MAGA;QACA;QACA;MACA;;MACA;QACA;;QACA;UACA;;UACA;YACAS;YACA;UACA;QACA;MACA;;MAEA;QACA;QACA;MACA;;MACA;QACAb,uBADA;QAEAC,sBAFA;QAGA/B;MAHA,GAKAgC,IALA,CAKA;QACA;;QACA;UACA;YACAG,sBADA;YAEAC,wBAFA;YAGAC,2CAHA;YAIAC;UAJA;UAOA;YACAtC,eADA;YAEAiC;UAFA,GARA,CAYA;;UACA;YACA;UACA;;UACA;UACA;QACA,CAlBA,CAkBA;UACA;QACA;MACA,CA5BA,EA6BAW,KA7BA,CA6BA;QACA;MACA,CA/BA;IAgCA,CA7LA;;IA8LAC;MACA;QACA;UAAA;UACA,kBACA,2DADA;UAGA;;QACA;UAAA;UACA,kBACA,qDACA,wBAFA;UAIA;;QACA;UAAA;UACA,kBACA,+CACA,wBAFA;UAIA;MAjBA;IAmBA,CAlNA;;IAmNAC;MACA;MACA,gEAFA,CAGA;;MACA;;MACA;QACA;QACA;QACA,gDACAZ,gCADA;;QAGA;UACA;UACA;UACAa,mDACAA,kCADA,EAEAC,OAFA;QAIA,CAPA,MAOA;UACA;UACAD;QACA;MACA,CAjBA,MAiBA;QACA;QACAA;UACAE,gBADA;UAEAC,wCACAhB,gCADA,EAEAgB,aAJA;UAKAC;QALA;MAOA,CA/BA,CAgCA;;;MACAJ,sCAjCA,CAkCA;;MACA;QACA;QACA,+CACAb,gCADA,EAFA,CAKA;;QACA,mEANA,CAOA;;QACA,iDACAA,gCADA,EARA,CAWA;;QACA,IACAa,sCACAK,mCAFA,EAGA;UACA;UACA,+CACA,wBADA,EAFA,CAKA;;UACA,yCACAC,oCADA,EANA,CASA;;UACA,gBACA,kCADA;YAEAjD,oBACA2C,mCADA,EAEAK,mCAFA,CAFA;YAMAH;UANA,EAVA,CAkBA;;UACA;YACAK;UACA,CAFA,MAEA;YACA;YACAA;UACA,CAxBA,CAyBA;;;UACA,0CA1BA,CA2BA;;UACAP,sCACAK,mCADA;QAEA;MACA,CAjFA,CAmFA;;;MACA;IACA,CAxSA;;IAySA;IACAG;MACA;MACA;MACAR;QACA;;QACA;UACA;UACA3C;QACA;MACA,CANA;MAOA;IACA,CArTA;;IAsTA;IACAoD;MACA,2BADA,CAEA;;MACA;;MAEA;QACA;UACAT;QACA,CAFA;QAGA;QACA;MACA;;MACA,IACAA,kCACAU,yDAFA,EAGA;QACAV,yCACA,iDADA;QAGA;QACA;MACA,CArBA,CAsBA;;;MACA;QACA,+CACAb,4CADA,EADA,CAIA;;QACA;UACA;UACAa,kCACAA,mCADA;QAEA;MACA,CAjCA,CAmCA;;;MACA,+CACA,wBADA,EApCA,CAuCA;;MACA,yCACAM,oCADA,EAxCA,CA2CA;;MACA,2CA5CA,CA6CA;;MACA;QACA;QACAN;MACA,CAHA,MAGA;QACA;QACA;QACA;UACAO;QACA;MACA,CANA,MAMA;QACA;QACA;QACA,gBACA,uDADA;UAEAlD,mDAFA;UAGA6C;QAHA,EAHA,CAQA;;QACA;UACAK;QACA,CAFA,MAEA;UACA;UACAA;QACA,CAdA,CAeA;;;QACA;UACAP;QACA;MACA,CA1EA,CA2EA;;;MACA,0CA5EA,CA6EA;;MACA;IACA,CAtYA;;IAuYA;IACAW;MACA;MACA,gEAFA,CAGA;;MACA,iEAJA,CAKA;;MACA;QACA;QACA,+CACAnB,kCADA,EAFA,CAKA;;QACA;UACAQ,kDACAA,iCADA,EAEAC,OAFA;QAIA,CALA,MAKA;UACA;UACAD;QACA;MACA,CAfA,MAeA;QACA;QACAA;UACAE,gBADA;UAEAC,wCACAhB,gCADA,EAEAgB,aAJA;UAKAC;QALA;MAOA,CA9BA,CA+BA;;;MACA;MACA;IACA,CA1aA;;IA2aAQ;MACA;MACAZ,iDACA,+CADA;QAEAa,mBAFA;QAGAC,uBAHA;QAIAC,uBAJA;QAKAC,6CALA;QAMAC,yCANA;QAOAC;MAPA;MASA;IACA,CAvbA;;IAwbAC;MACA;MACA;MACA;MACA;MACA;MACA;IACA;;EA/bA;AAlDA","names":["name","components","LogisticsData","CallInLocation","props","outId","type","default","data","logistics","num","logistics_show","out_id","show_out","loading","out_detail","out_warehouse_copy","out_warehouse_data","unassigned_sku_data","sku_total","storage_show","warehouse_id","skuId","itemIndex1","index1","materielId","out_warehouse","activeName","computed","enableLocationManagement","methods","logisticsConfirm","openUrl","path","window","$confirm","confirmButtonText","cancelButtonText","then","message","item","id","auditName","UnassignedSkuData","outWarehouseData","goods","orderAuditConfirm","flag","item1","isNum","catch","goOtherDetail","warehouseChange","target","row","warehouseId","warehouseName","details","warehouseData","unItem","unassignedData","totalNumChange","saleNumBlur","Number","unWarehouseChange","selStorage","areaId","areaName","areaCode","storageLocationName","storageLocationId","storageLocationCode","storageShow"],"sourceRoot":"src/views/stock/OutIn","sources":["outgoingInfo.vue"],"sourcesContent":["<template>\n <ContainerTit>\n <div class=\"btn-top-div\">\n <el-button\n v-if=\"out_detail.saleOutStatus === 4\"\n type=\"primary\"\n :loading=\"loading\"\n @click=\"submitForm\"\n >\n 提交出库\n </el-button>\n <el-button\n v-if=\"\n $accessCheck($Access.InventoryOutUpdateInventoryOutStatus) &&\n out_detail.auditStatus !== 2\n \"\n type=\"primary\"\n :loading=\"loading\"\n @click=\"updateSaleOutStatus\"\n >\n 出库审核\n </el-button>\n <el-button\n v-if=\"out_detail.typeName === '销售出库'\"\n type=\"primary\"\n @click=\"openUrl\"\n >\n 打印出库单\n </el-button>\n <el-button\n v-if=\"out_detail.deliveryType === 3\"\n type=\"primary\"\n @click=\"logistics_show = true\"\n >\n 设置物流信息\n </el-button>\n </div>\n <div class=\"outgoingInfo\">\n <el-tabs v-model=\"activeName\">\n <el-tab-pane label=\"出库单详情\" name=\"one\">\n <el-row style=\"padding-bottom: 13px\">\n <el-col :span=\"24\">\n <p\n style=\"padding-left: 20px\"\n class=\"order_midden_left_text el-icon-arrow-right\"\n >\n 出库单信息\n </p>\n </el-col>\n <el-col class=\"form\" :span=\"6\">\n <span class=\"form_left\">单据编号</span>\n <span class=\"form_right\">{{ out_detail.no }}</span>\n </el-col>\n <el-col\n v-if=\"out_detail.typeName !== '调拨出库'\"\n class=\"form\"\n :span=\"6\"\n style=\"padding-left: 68px\"\n >\n <span class=\"form_left\">客户</span>\n <span class=\"form_right\">{{ out_detail.customerName }}</span>\n </el-col>\n <el-col\n v-if=\"out_detail.typeName !== '调拨出库'\"\n class=\"form\"\n :span=\"6\"\n >\n <span class=\"form_left\">客户电话</span>\n <span class=\"form_right\">{{ out_detail.customerMobile }}</span>\n </el-col>\n <el-col class=\"form\" :span=\"6\">\n <span class=\"form_left\">来源单号</span>\n <span\n v-if=\"out_detail.typeName === '销售出库'\"\n class=\"form_right click-div\"\n @click=\"\n $router.push({\n path: `/order/manageO/OrderDetails/${out_detail.customerId}/${out_detail.sourceId}`,\n })\n \"\n >\n {{ out_detail.sourceNo }}\n </span>\n <span v-else>{{ out_detail.sourceNo }}</span>\n </el-col>\n <el-col class=\"form\" :span=\"6\">\n <span class=\"form_left\">出库日期</span>\n <span class=\"form_right\">\n {{\n out_detail.auditTime\n ? $_common.formatDate(out_detail.auditTime)\n : \"--\"\n }}\n </span>\n </el-col>\n <el-col class=\"form\" :span=\"6\" style=\"padding-left: 54px\">\n <span class=\"form_left\">操作人</span>\n <span class=\"form_right\">\n {{ out_detail.operatorName }}\n </span>\n </el-col>\n <el-col class=\"form\" :span=\"6\">\n <span class=\"form_left\">制单时间</span>\n <span class=\"form_right\">\n {{\n out_detail.createTime\n ? $_common.formatDate(out_detail.createTime)\n : \"--\"\n }}\n </span>\n </el-col>\n <el-col class=\"form\" :span=\"6\">\n <span class=\"form_left\">出库类型</span>\n <span class=\"form_right\">\n {{ out_detail.typeName }}\n </span>\n </el-col>\n <el-col\n v-if=\"out_detail.typeName === '销售出库'\"\n class=\"form\"\n :span=\"6\"\n >\n <span class=\"form_left\">配送方式</span>\n <span class=\"form_right\">\n {{ out_detail.deliveryName }}\n </span>\n </el-col>\n <el-col class=\"form\" :span=\"6\">\n <span class=\"form_left\">出库状态</span>\n <span class=\"form_right\">\n <span\n v-if=\"out_detail.auditStatus === 2\"\n class=\"success-status\"\n >\n 已出库\n </span>\n <span v-else class=\"info-status\">未出库</span>\n </span>\n </el-col>\n <el-col v-if=\"out_detail.type === 8\" class=\"form\" :span=\"6\">\n <span class=\"form_left\">调出仓库</span>\n <span class=\"form_right\">\n {{ out_detail.outWarehouseName }}\n </span>\n </el-col>\n <el-col v-if=\"out_detail.type === 8\" class=\"form\" :span=\"6\">\n <span class=\"form_left\">调入仓库</span>\n <span class=\"form_right\">\n {{ out_detail.inWarehouseName }}\n </span>\n </el-col>\n <el-col\n v-if=\"out_detail.extend\"\n class=\"form\"\n :span=\"6\"\n style=\"padding-left: 68px\"\n >\n <span class=\"form_left\">司机</span>\n <span class=\"form_right\">\n {{ out_detail.extend.logistics.driverName }}\n </span>\n </el-col>\n <el-col\n v-if=\"out_detail.type === 8 && out_detail.extend\"\n class=\"form\"\n :span=\"6\"\n >\n <span class=\"form_left\">司机电话</span>\n <span class=\"form_right\">\n {{ out_detail.extend.logistics.truckTel }}\n </span>\n </el-col>\n <el-col\n v-if=\"out_detail.extend\"\n class=\"form\"\n :span=\"6\"\n style=\"padding-left: 68px\"\n >\n <span class=\"form_left\">车牌</span>\n <span class=\"form_right\">\n {{ out_detail.extend.logistics.truckName }}\n </span>\n </el-col>\n <el-col class=\"form\" :span=\"24\" style=\"padding-left: 68px\">\n <span class=\"form_left\">备注</span>\n <span class=\"form_right\">\n {{ out_detail.remark }}\n </span>\n </el-col>\n </el-row>\n </el-tab-pane>\n </el-tabs>\n <div v-if=\"out_detail.typeName === '销售出库'\">\n <div v-if=\"out_detail.deliveryType !== 2\" class=\"order_bottom\">\n <p class=\"text\">收货信息</p>\n <el-row v-if=\"JSON.stringify(out_detail.receiveData) !== '[]'\">\n <el-col class=\"form\" :span=\"6\" style=\"padding-left: 54px\">\n <span class=\"form_left\">收货人</span>\n <span class=\"form_right\">\n {{ out_detail.receiveData.realName }}\n </span>\n </el-col>\n <el-col class=\"form\" :span=\"6\">\n <span class=\"form_left\">收货电话</span>\n <span class=\"form_right\">\n {{ out_detail.receiveData.mobile }}\n </span>\n </el-col>\n <el-col class=\"form\" :span=\"6\">\n <span class=\"form_left\">收货地址</span>\n <span class=\"form_right\">\n {{ out_detail.receiveData.area.provinceName }}-{{\n out_detail.receiveData.area.cityName\n }}-{{ out_detail.receiveData.area.districtName }}-{{\n out_detail.receiveData.address\n }}\n </span>\n </el-col>\n </el-row>\n </div>\n <div\n v-if=\"\n out_detail.deliveryType === 2 &&\n JSON.stringify(out_detail.selfRuleData) !== '[]' &&\n out_detail.selfRuleData.name\n \"\n class=\"order_bottom\"\n >\n <p class=\"text\">自提点信息</p>\n <el-row>\n <el-col class=\"form\" :span=\"6\" style=\"padding-left: 54px\">\n <span class=\"form_left\">自提点</span>\n <span class=\"form_right\">\n {{ out_detail.selfRuleData.name }}\n </span>\n </el-col>\n <el-col class=\"form\" :span=\"6\" style=\"padding-left: 26px\">\n <span class=\"form_left\">自提点电话</span>\n <span class=\"form_right\">\n {{ out_detail.selfRuleData.mobile }}\n </span>\n </el-col>\n <el-col class=\"form\" :span=\"6\">\n <span class=\"form_left\">营业时间</span>\n <span class=\"form_right\">\n <span\n v-if=\"\n out_detail.selfRuleData.startTime &&\n out_detail.selfRuleData.endTime\n \"\n >\n {{ out_detail.selfRuleData.startTime }}-{{\n out_detail.selfRuleData.endTime\n }}\n </span>\n <span v-else>全天</span>\n <span style=\"padding-left: 5px\">\n {{ out_detail.selfRuleData.day.join(\",\") }}\n </span>\n </span>\n </el-col>\n <el-col class=\"form\" :span=\"6\" style=\"padding-left: 26px\">\n <span class=\"form_left\">自提点地址</span>\n <span class=\"form_right\">\n {{ out_detail.selfRuleData.provinceName }}-{{\n out_detail.selfRuleData.cityName\n }}-{{ out_detail.selfRuleData.districtName }}-{{\n out_detail.selfRuleData.address\n }}\n </span>\n </el-col>\n </el-row>\n </div>\n </div>\n <!-- 未出库-->\n <div v-show=\"unassigned_sku_data.length\" class=\"order_bottom\">\n <p class=\"text\">未分配仓库</p>\n <el-table size=\"small\" :data=\"unassigned_sku_data\">\n <el-table-column\n v-if=\"out_detail.isDistribution === 5\"\n prop=\"warehouseId\"\n label=\"仓库\"\n min-width=\"160\"\n >\n <template slot-scope=\"scope\">\n <div\n v-if=\"\n scope.row.warehouseSelect && scope.row.warehouseSelect.length\n \"\n >\n <el-select\n v-model=\"scope.row.warehouseId\"\n style=\"width: 100%\"\n placeholder=\"请选择\"\n @change=\"unWarehouseChange($event, scope.row, scope.$index)\"\n >\n <el-option\n v-for=\"(warehouse, a) in scope.row.warehouseSelect\"\n :key=\"a\"\n :label=\"warehouse.warehouseName\"\n :value=\"warehouse.warehouseId\"\n :disabled=\"\n scope.row.isPreSale === 4 &&\n warehouse.warehouseInventoryNum < scope.row.num\n \"\n >\n <div class=\"clearfix\">\n <span class=\"float_left\">\n {{ warehouse.warehouseName }}\n </span>\n <span\n class=\"float_right\"\n style=\"\n color: #8492a6;\n font-size: 12px;\n margin-left: 10px;\n \"\n >\n 库存{{\n $_common.formatNub(warehouse.warehouseInventoryNum)\n }}\n </span>\n </div>\n </el-option>\n </el-select>\n </div>\n <span v-else>无可用仓库</span>\n </template>\n </el-table-column>\n <el-table-column\n prop=\"materielName\"\n label=\"商品名称\"\n min-width=\"160\"\n show-overflow-tooltip\n ></el-table-column>\n <el-table-column\n prop=\"materielCode\"\n label=\"商品编码\"\n min-width=\"130\"\n ></el-table-column>\n <el-table-column prop=\"skuName\" label=\"规格\" min-width=\"140\">\n <template slot-scope=\"scope\">\n {{ scope.row.unitName }};{{ scope.row.skuName }}\n </template>\n </el-table-column>\n <el-table-column prop=\"num\" label=\"销售量\" min-width=\"100\">\n <template slot-scope=\"scope\">\n {{ $_common.formatNub(scope.row.num) }}\n </template>\n </el-table-column>\n <el-table-column\n v-if=\"$accessCheck($Access.moneyshowstockOutMoneyShow)\"\n prop=\"unitPrice\"\n min-width=\"100\"\n label=\"销售单价\"\n >\n <template slot-scope=\"scope\">\n {{ $_common.formattedNumber(scope.row.unitPrice) }}\n </template>\n </el-table-column>\n <el-table-column\n v-if=\"$accessCheck($Access.moneyshowstockOutMoneyShow)\"\n prop=\"originTotalPrice\"\n label=\"销售总金额\"\n min-width=\"100\"\n >\n <template slot-scope=\"scope\">\n ¥{{\n $NP.times(Number(scope.row.unitPrice), Number(scope.row.num))\n }}\n </template>\n </el-table-column>\n </el-table>\n </div>\n <!-- 仓库出库数据-->\n <template v-for=\"(item, index) in out_warehouse_data\">\n <div v-if=\"item.details.length\" :key=\"index\" class=\"order_bottom\">\n <p class=\"text\">{{ item.warehouseName }}</p>\n <el-table size=\"small\" :data=\"item.details\">\n <el-table-column prop=\"warehouseId\" label=\"仓库\" min-width=\"160\">\n <template slot-scope=\"scope\">\n <span v-if=\"out_detail.isDistribution === 4\">\n {{ scope.row.warehouseName }}\n </span>\n <el-select\n v-else\n v-model=\"scope.row.warehouseId\"\n style=\"width: 100%\"\n placeholder=\"请选择仓库\"\n @change=\"\n warehouseChange($event, index, scope.$index, scope.row)\n \"\n >\n <!--不支持负库存的时候,当库存量小于销售量的时候禁用该仓库-->\n <el-option\n v-for=\"(warehouse, a) in scope.row.warehouseSelect\"\n :key=\"a\"\n :label=\"warehouse.warehouseName\"\n :value=\"warehouse.warehouseId\"\n :disabled=\"\n scope.row.isPreSale === 4 &&\n warehouse.warehouseInventoryNum < scope.row.num\n \"\n >\n <div class=\"clearfix\">\n <span class=\"float_left\">\n {{ warehouse.warehouseName }}\n </span>\n <span\n class=\"float_right\"\n style=\"\n color: #8492a6;\n font-size: 12px;\n margin-left: 10px;\n \"\n >\n 库存{{\n $_common.formatNub(warehouse.warehouseInventoryNum)\n }}\n </span>\n </div>\n </el-option>\n </el-select>\n </template>\n </el-table-column>\n <el-table-column\n prop=\"materielName\"\n label=\"商品名称\"\n min-width=\"160\"\n show-overflow-tooltip\n ></el-table-column>\n <el-table-column\n prop=\"materielCode\"\n label=\"商品编码\"\n min-width=\"130\"\n ></el-table-column>\n <el-table-column prop=\"skuName\" label=\"规格\" min-width=\"140\">\n <template slot-scope=\"scope\">\n {{ scope.row.unitName }};{{ scope.row.skuName }}\n </template>\n </el-table-column>\n <el-table-column prop=\"num\" label=\"应出数量\" min-width=\"100\">\n <template slot-scope=\"scope\">\n <span>\n {{ $_common.formatNub(scope.row.total) }}\n </span>\n <span v-if=\"!!scope.row.extend && scope.row.extend !== 'null'\">\n ({{ scope.row.extend.u_1_buy }}{{ scope.row.extend.u_1 }})\n </span>\n </template>\n </el-table-column>\n <el-table-column\n v-if=\"enableLocationManagement === 5\"\n label=\"库区库位\"\n min-width=\"100\"\n >\n <template slot-scope=\"scope\">\n <el-input\n v-model=\"scope.row.storageLocationName\"\n placeholder=\"库区库位\"\n >\n <i\n slot=\"suffix\"\n class=\"el-input__icon el-icon-search\"\n @click=\"storageShow(scope.row, scope.$index, index)\"\n ></i>\n </el-input>\n </template>\n </el-table-column>\n <el-table-column prop=\"num\" min-width=\"100\">\n <template slot=\"header\">\n <span style=\"color: red\">*</span>\n <span>出库数量</span>\n </template>\n <template slot-scope=\"scope\">\n <div>\n <span v-if=\"out_detail.auditStatus === 2\">\n {{ $_common.formatNub(scope.row.outNum) }}\n </span>\n <el-input\n v-else\n v-model=\"scope.row.num\"\n type=\"number\"\n style=\"width: 100%\"\n @blur=\"saleNumBlur($event, scope.$index, index, scope.row)\"\n ></el-input>\n </div>\n <div\n v-if=\"\n (!!scope.row.extend && scope.row.extend !== 'null') ||\n scope.row.isEq === 5\n \"\n style=\"padding-top: 5px\"\n >\n <span style=\"margin-right: 10px\">其他单位:</span>\n <span v-if=\"out_detail.auditStatus === 2\">\n {{ $_common.formatNub(scope.row.otherNum) }}\n </span>\n <vxe-input\n v-else\n v-model=\"scope.row.otherNum\"\n style=\"width: calc(100% - 71px)\"\n type=\"integer\"\n ></vxe-input>\n </div>\n </template>\n </el-table-column>\n </el-table>\n </div>\n </template>\n <div v-if=\"out_detail.type !== 8\" class=\"order_bottom\">\n <p class=\"text\">商品清单</p>\n <el-table size=\"small\" :data=\"out_detail.details\">\n <el-table-column\n prop=\"materielName\"\n label=\"商品名称\"\n min-width=\"160\"\n show-overflow-tooltip\n ></el-table-column>\n <el-table-column\n prop=\"materielCode\"\n label=\"商品编码\"\n min-width=\"140\"\n ></el-table-column>\n <el-table-column prop=\"skuName\" label=\"规格\" min-width=\"140\">\n <template slot-scope=\"scope\">\n {{ scope.row.unitName }};{{ scope.row.skuName }}\n </template>\n </el-table-column>\n <el-table-column\n prop=\"num\"\n :label=\"out_detail.typeName !== '调拨出库' ? '销售量' : '调拨量'\"\n min-width=\"100\"\n >\n <template slot-scope=\"scope\">\n {{ $_common.formatNub(scope.row.total) }}\n <span v-if=\"!!scope.row.u_1_buy\">\n ({{ scope.row.u_1_buy }}{{ scope.row.u_1 }})\n </span>\n </template>\n </el-table-column>\n <el-table-column prop=\"num\" label=\"出库数量\" min-width=\"120\">\n <template slot-scope=\"scope\">\n {{ $_common.formatNub(scope.row.outNum) }}\n <p v-if=\"scope.row.isEq === 5\">\n 其他单位:{{ $_common.formatNub(scope.row.otherNum) }}\n </p>\n </template>\n </el-table-column>\n <el-table-column\n v-if=\"\n $accessCheck($Access.moneyshowstockOutMoneyShow) &&\n out_detail.typeName !== '调拨出库'\n \"\n prop=\"unitPrice\"\n min-width=\"130\"\n label=\"销售单价\"\n >\n <template slot-scope=\"scope\">\n {{ $_common.formattedNumber(scope.row.unitPrice) }}\n </template>\n </el-table-column>\n <el-table-column\n v-if=\"\n $accessCheck($Access.moneyshowstockOutMoneyShow) &&\n out_detail.typeName !== '调拨出库'\n \"\n prop=\"originTotalPrice\"\n label=\"销售总金额\"\n min-width=\"130\"\n >\n <template slot-scope=\"scope\">\n ¥{{\n $NP.times(Number(scope.row.unitPrice), Number(scope.row.outNum))\n }}\n </template>\n </el-table-column>\n <el-table-column\n v-if=\"\n $accessCheck($Access.moneyshowstockOutMoneyShow) &&\n out_detail.typeName !== '调拨出库'\n \"\n prop=\"totalPrice\"\n label=\"销售总金额(优惠后)\"\n min-width=\"130\"\n >\n <template slot-scope=\"scope\">\n {{ $_common.formattedNumber(scope.row.totalPrice) }}\n </template>\n </el-table-column>\n <el-table-column prop=\"skuStorage\" label=\"货架编码\" min-width=\"120\">\n <template slot-scope=\"scope\">\n {{ scope.row.skuStorage || \"--\" }}\n </template>\n </el-table-column>\n <el-table-column prop=\"skuBarCode\" label=\"商品条码\" min-width=\"120\">\n <template slot-scope=\"scope\">\n {{ scope.row.skuBarCode || \"--\" }}\n </template>\n </el-table-column>\n </el-table>\n </div>\n </div>\n <LogisticsData\n v-if=\"logistics_show\"\n :type=\"out_detail.type\"\n :show=\"logistics_show\"\n :num=\"num\"\n :order-id=\"out_detail.sourceId\"\n :out-id=\"out_detail.id\"\n :user-center-id=\"1\"\n :logistics=\"logistics\"\n @cancel=\"logistics_show = false\"\n @confirm=\"logisticsConfirm\"\n ></LogisticsData>\n <!-- 选择库位-->\n <!-- <StorageLocation-->\n <!-- v-if=\"storage_show\"-->\n <!-- :is-check=\"false\"-->\n <!-- :is-show=\"storage_show\"-->\n <!-- :warehouse-id=\"warehouse_id\"-->\n <!-- @confirm=\"selStorage\"-->\n <!-- @cancel=\"storage_show = false\"-->\n <!-- />-->\n <CallInLocation\n v-if=\"storage_show\"\n :is-check=\"false\"\n :is-show=\"storage_show\"\n :warehouse-id=\"warehouse_id\"\n :sku-id=\"skuId\"\n :materiel-id=\"materielId\"\n @confirm=\"selStorage\"\n @cancel=\"storage_show = false\"\n />\n </ContainerTit>\n</template>\n\n<script>\n import CallInLocation from \"@/component/common/CallInLocation\";\n import StorageLocation from \"@/component/common/StorageLocation\";\n import { updateSaleOutStatus, getSaleOutInfo } from \"@/api/Stock\";\n import LogisticsData from \"../../order/components/LogisticsData\";\n import { mapGetters } from \"vuex\";\n export default {\n name: \"OutgoingInfo\",\n components: {\n LogisticsData,\n // StorageLocation,\n CallInLocation,\n },\n props: {\n outId: {\n type: [String, Number],\n default: \"\",\n },\n },\n data() {\n return {\n logistics: {},\n num: false,\n logistics_show: false,\n out_id: 0,\n show_out: false,\n loading: false,\n out_detail: {},\n out_warehouse_copy: [],\n out_warehouse_data: [], // 商品清单,按仓库分\n unassigned_sku_data: [], // 未出库商品\n sku_total: {},\n storage_show: false,\n warehouse_id: \"\",\n skuId: \"\",\n itemIndex1: \"\",\n index1: \"\",\n materielId: \"\",\n out_warehouse: {},\n activeName: \"one\",\n };\n },\n computed: {\n ...mapGetters({\n enableLocationManagement: \"MUser/enableLocationManagement\",\n }),\n },\n async mounted() {\n this.out_id = this.outId || this.$route.params.id;\n await this.getSaleOutInfo();\n },\n async activated() {\n if (this.$_isInit()) return;\n this.out_id = this.outId || this.$route.params.id;\n await this.getSaleOutInfo();\n },\n methods: {\n logisticsConfirm(data) {\n this.getSaleOutInfo();\n },\n // 打印\n openUrl() {\n let routeData = this.$router.resolve({\n path: `/OutgoingPrinting/${this.out_detail.id}`,\n });\n window.open(routeData.href, \"_blank\");\n },\n // 提交出库\n async submitForm() {\n this.this\n .$confirm(\"确定要提交出库吗?\", \"提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\",\n })\n .then(async () => {\n this.loading = true;\n try {\n if (!this.out_warehouse_data || !this.out_warehouse_data.length) {\n this.$message({\n type: \"warning\",\n message: \"请选择出库商品\",\n });\n return;\n }\n const outWarehouseData = this.out_warehouse_data.filter(\n (item) => item.details && item.details.length > 0\n );\n const data = await updateSaleOutStatus({\n id: this.out_detail.id,\n auditName: this.userName,\n UnassignedSkuData: this.unassigned_sku_data,\n outWarehouseData: outWarehouseData,\n });\n this.loading = false;\n\n this.$message({\n type: \"success\",\n message: \"出库成功!\",\n });\n // 审核成功填写货车信息\n this.logistics_show = true;\n await this.getSaleOutInfo();\n } catch (e) {\n this.loading = false;\n }\n });\n },\n // 获取详情\n async getSaleOutInfo() {\n const { data } = await getSaleOutInfo(this.out_id);\n this.out_detail = data;\n this.out_warehouse_copy = this.$_common.deepClone(\n data.outWarehouseData\n );\n // 存一下未修改的原始出库数量\n data.outWarehouseData.forEach((item) => {\n item.details.forEach((goods) => {\n goods.numCopy = Number(goods.num);\n // 抄嘛商品默认为空\n if (goods.extend !== \"null\" && !!goods.extend) {\n goods.extend = JSON.parse(goods.extend);\n if (!Number(goods.otherNum)) {\n goods.otherNum = this.$NP.divide(\n goods.numCopy,\n goods.extend.conversion\n );\n }\n\n goods.num = \"\";\n } else {\n goods.num = Number(goods.num);\n }\n });\n });\n this.out_warehouse_data = data.outWarehouseData;\n this.unassigned_sku_data = data.UnassignedSkuData;\n this.sku_total = data.skuTotal;\n if (data.extend && data.extend.logistics) {\n this.logistics = data.extend.logistics;\n }\n },\n // 出库 审核状态\n orderAuditConfirm() {\n this.getSaleOutInfo();\n },\n async updateSaleOutStatus() {\n let flag = false;\n for (let i in this.out_warehouse_data) {\n for (let j in this.out_warehouse_data[i].details) {\n let item1 = this.out_warehouse_data[i].details[j];\n if (!item1.num) {\n flag = true;\n this.$message.warning(\n \"商品\" +\n item1.materielName +\n \",规格 【\" +\n item1.unitName +\n \";\" +\n item1.skuName +\n \"】的出库数量不能为空\"\n );\n break;\n }\n if (item1.otherNum < 0) {\n flag = true;\n this.$message.warning(\n \"商品\" +\n item1.materielName +\n \",规格 【\" +\n item1.unitName +\n \";\" +\n item1.skuName +\n \"】的其他数量不能小于0\"\n );\n break;\n }\n }\n }\n if (flag) {\n return;\n }\n if (!this.out_warehouse_data || !this.out_warehouse_data.length) {\n this.$message({\n type: \"warning\",\n message: \"请选择出库商品\",\n });\n return;\n }\n let isNum = true;\n // 过滤 出去没有商品的\n const outWarehouseData = this.out_warehouse_data.filter(\n (item) => item.details && item.details.length > 0\n );\n if (!outWarehouseData.length) {\n this.$message.warning(\"请选择要出库的商品\");\n return;\n }\n for (let i in outWarehouseData) {\n let item = this.out_warehouse_data[i];\n for (let n in item.details) {\n let ntem = item.details[n];\n if (ntem.num <= 0) {\n isNum = false;\n break;\n }\n }\n }\n\n if (!isNum) {\n this.$message.warning(\"销售量必须大于0\");\n return;\n }\n this.$confirm(\"确定要审核该出库单吗?\", \"提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\",\n })\n .then(async () => {\n this.loading = true;\n try {\n const data = await updateSaleOutStatus({\n id: this.out_detail.id,\n auditName: this.userName,\n UnassignedSkuData: this.unassigned_sku_data,\n outWarehouseData: outWarehouseData,\n });\n\n this.$message({\n type: \"success\",\n message: \"操作成功!\",\n });\n // 审核成功填写货车信息\n if (this.out_detail.deliveryType === 3) {\n this.logistics_show = true;\n }\n await this.getSaleOutInfo();\n this.loading = false;\n } catch {\n this.loading = false;\n }\n })\n .catch(() => {\n this.loading = false;\n });\n },\n goOtherDetail() {\n switch (this.out_detail.type) {\n case 5: // 销售出库\n this.$router.push(\n \"/order/manageO/OrderDetails/1/\" + this.out_detail.sourceId\n );\n break;\n case 8: // 调拨出库\n this.$router.push(\n \"/stock/WarehouseManagement/DetailAllocationForm/\" +\n this.out_detail.sourceId\n );\n break;\n case 14: // 采购退货\n this.$router.push(\n \"/Purchase/ManageP/PurchaseReturnOrderLook/\" +\n this.out_detail.sourceId\n );\n break;\n }\n },\n warehouseChange(val, index, rowI, row) {\n // 深拷贝一份商品数据\n const target = this.$_common.deepClone(this.out_warehouse_data);\n // 在要出库的列表中查找当前切换的仓库是否存在\n const wIndex = target.findIndex((item) => item.warehouseId === val);\n if (wIndex > -1) {\n // 当前仓库存在\n // 查找商品是否存在\n const gIndex = target[wIndex].details.findIndex(\n (item) => item.skuId === row.skuId\n );\n if (gIndex > -1) {\n // 商品存在\n // 累加销售量\n target[wIndex].details[gIndex].num = this.$NP.plus(\n target[wIndex].details[gIndex].num,\n row.num\n );\n } else {\n // 商品不存在,添加该商品\n target[wIndex].details.push(row);\n }\n } else {\n // 仓库不存在,添加一项仓库数据\n target.push({\n warehouseId: val,\n warehouseName: row.warehouseSelect.find(\n (item) => item.warehouseId === val\n ).warehouseName,\n details: [row],\n });\n }\n // 把当前这条商品从原来的位置删除\n target[index].details.splice(rowI, 1);\n // 未开启负库存\n if (row.isPreSale === 4) {\n // 查找当前切换仓库数据\n const warehouseData = row.warehouseSelect.find(\n (item) => item.warehouseId === val\n );\n // 查找当前仓库在出库列表的数据\n const targetI = target.findIndex((item) => item.warehouseId === val);\n // 查找当前商品在该仓库下出库列表的数据\n const goodsI = target[targetI].details.findIndex(\n (item) => item.skuId === row.skuId\n );\n // 如果当前数量大于该仓库下的库存,推入到未出库数据中\n if (\n target[targetI].details[goodsI].num >\n warehouseData.warehouseInventoryNum\n ) {\n // 拷贝一份未出库数据\n const unassignedData = this.$_common.deepClone(\n this.unassigned_sku_data\n );\n // 判断当前未出库数据中是否有当前规格的商品\n const unIndex = unassignedData.findIndex(\n (unItem) => unItem.skuId === row.skuId\n );\n // 设置当前未出库商品\n const goods = {\n ...target[targetI].details[goodsI],\n num: this.$NP.minus(\n target[targetI].details[goodsI].num,\n warehouseData.warehouseInventoryNum\n ),\n warehouseId: \"\",\n };\n // 未出库商品列表有该商品,则替换\n if (unIndex > -1) {\n unassignedData[unIndex] = goods;\n } else {\n // 没有该商品则推入\n unassignedData.push(goods);\n }\n // 给未出库商品列表重新赋值\n this.unassigned_sku_data = unassignedData;\n // 设置当前商品销售量为该仓库的最大库存\n target[targetI].details[goodsI].num =\n warehouseData.warehouseInventoryNum;\n }\n }\n\n // 给出库数据重新赋值\n this.out_warehouse_data = target;\n },\n // 获取当前合计销售量\n totalNumChange(target, row) {\n // 设置变量num\n let num = 0;\n target.forEach((item) => {\n const goods = item.details.find((item) => item.skuId === row.skuId);\n if (goods) {\n // 加上当前商品销售量\n num = this.$NP.plus(num, goods.num);\n }\n });\n return num;\n },\n // 销售量修改\n saleNumBlur(e, rowI, index, row) {\n const val = e.target.value;\n // 深拷贝一份商品数据\n const target = this.$_common.deepClone(this.out_warehouse_data);\n\n if (val === \"\") {\n this.$nextTick(() => {\n target[index].details[rowI].num = \"\";\n });\n this.out_warehouse_data = target;\n return;\n }\n if (\n target[index].details[rowI].num >\n Number(this.sku_total[target[index].details[rowI].skuId])\n ) {\n target[index].details[rowI].num = Number(\n this.sku_total[target[index].details[rowI].skuId]\n );\n this.out_warehouse_data = target;\n return;\n }\n // 不支持负库存\n if (row.isPreSale === 4) {\n const warehouseData = row.warehouseSelect.find(\n (item) => item.warehouseId === row.warehouseId\n );\n // 输入值大于当前仓库库存数\n if (Number(val) > Number(warehouseData.warehouseInventoryNum)) {\n // 把当前商品的销售量还原\n target[index].details[rowI].num =\n target[index].details[rowI].numCopy;\n }\n }\n\n // 深拷贝一份未出库商品数据\n const unassignedData = this.$_common.deepClone(\n this.unassigned_sku_data\n );\n // 判断当前未出库数据中是否有当前规格的商品\n const unIndex = unassignedData.findIndex(\n (unItem) => unItem.skuId === row.skuId\n );\n // 设置变量num 获取当前合计销售量\n let num = this.totalNumChange(target, row);\n // 判断当前修改后的合计商品销售量是否大于购买数量,大于就把当前商品的销售量还原\n if (num > this.sku_total[row.skuId]) {\n // 修改后的合计商品销售量大于购买数量,把当前商品的销售量还原\n target[index].details[rowI].num = target[index].details[rowI].numCopy;\n } else if (num === Number(this.sku_total[row.skuId])) {\n // 修改后的合计商品销售量等于购买数量\n // 未出库商品列表有该商品,则删除\n if (unIndex > -1) {\n unassignedData.splice(unIndex, 1);\n }\n } else if (this.$NP.minus(this.sku_total[row.skuId], num) > 0) {\n // 当前未出库库存大于0\n // 设置当前未出库商品\n const goods = {\n ...this.$_common.deepClone(target[index].details[rowI]),\n num: this.$NP.minus(this.sku_total[row.skuId], num),\n warehouseId: \"\",\n };\n // 未出库商品列表有该商品,则替换\n if (unIndex > -1) {\n unassignedData[unIndex] = goods;\n } else {\n // 没有该商品则推入\n unassignedData.push(goods);\n }\n // 如果输入数量为0 ,则把对应出库商品清除\n if (num === 0) {\n target[index].details.splice(rowI, 1);\n }\n }\n // 给未出库商品列表重新赋值\n this.unassigned_sku_data = unassignedData;\n // 给出库商品列表重新赋值\n this.out_warehouse_data = target;\n },\n // 未出库数据仓库选择\n unWarehouseChange(val, row, indexUn) {\n // 深拷贝一份商品数据\n const target = this.$_common.deepClone(this.out_warehouse_data);\n // 在出库商品数据中查找选择仓库\n const index = target.findIndex((item) => item.warehouseId === val);\n // 出库商品数据中有该选择的仓库\n if (index > -1) {\n // 找到商品所在下标(位置)\n const goodsI = target[index].details.findIndex(\n (goods) => goods.skuId === row.skuId\n );\n // 该仓库下包含当前商品\n if (goodsI > -1) {\n target[index].details[goodsI].num = this.$NP.plus(\n target[index].details[goodsI].num,\n row.num\n );\n } else {\n // 该仓库下不包含当前商品,把当前商品推到该仓库下面\n target[index].details.push(row);\n }\n } else {\n // 出库商品数据中没有该选择的仓库,添加一项仓库数据\n target.push({\n warehouseId: val,\n warehouseName: row.warehouseSelect.find(\n (item) => item.warehouseId === val\n ).warehouseName,\n details: [row],\n });\n }\n // 把当前这条商品从原来的位置删除\n this.unassigned_sku_data.splice(indexUn, 1);\n this.out_warehouse_data = target;\n },\n selStorage(e) {\n const target = this.$_common.deepClone(this.out_warehouse_data);\n target[this.index1].details[this.itemIndex1] = {\n ...target[this.index1].details[this.itemIndex1],\n areaId: e[0].areaId,\n areaName: e[0].areaName,\n areaCode: e[0].areaCode,\n storageLocationName: e[0].storageLocationName,\n storageLocationId: e[0].storageLocationId,\n storageLocationCode: e[0].storageLocationCode,\n };\n this.out_warehouse_data = target;\n },\n storageShow(row, itemIndex1, index) {\n this.materielId = row.materielId;\n this.itemIndex1 = itemIndex1;\n this.index1 = index;\n this.warehouse_id = row.warehouseId;\n this.skuId = row.skuId;\n this.storage_show = true;\n },\n },\n };\n</script>\n<style scoped lang=\"scss\">\n .btn-top-div {\n position: absolute;\n right: 20px;\n top: 16px;\n z-index: 999;\n }\n .order_bottom {\n border-top: 16px solid #f6f8f9;\n width: 100%;\n background-color: #ffffff;\n border-radius: 3px;\n .text {\n font-size: 16px;\n font-weight: 600;\n color: #2d405e;\n line-height: 64px;\n padding: 0px 24px;\n }\n }\n .order_midden_left_text {\n font-weight: bold;\n font-size: 16px;\n margin: 0 0 27px 0;\n }\n .form {\n padding-left: 40px;\n font-size: 14px;\n margin-bottom: 19px;\n .form_left {\n margin-right: 32px;\n color: #62738e;\n font-weight: 400;\n }\n .form_right {\n color: #2d405e;\n font-weight: 500;\n }\n }\n</style>\n<style>\n .outgoingInfo {\n background-color: #fff;\n }\n .outgoingInfo .el-tabs__item {\n font-size: 16px !important;\n height: 60px !important;\n line-height: 60px !important;\n }\n .outgoingInfo .is-active {\n font-weight: 700;\n color: #000;\n }\n .outgoingInfo .el-tabs__nav {\n margin-left: 24px;\n }\n</style>\n"]}]}
|