534ce87ddd36243e7a87a1e3929a40a1.json 71 KB

1
  1. {"remainingRequest":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\babel-loader\\lib\\index.js!E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\src\\views\\Finance\\Receivable\\AddReceipt.vue?vue&type=script&lang=js&","dependencies":[{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\src\\views\\Finance\\Receivable\\AddReceipt.vue","mtime":1655374732000},{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\babel.config.js","mtime":1655374732000},{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\item\\千鸟\\千鸟云商前端源代码\\源点计划\\jindouyunNewFront\\node_modules\\vue-loader\\lib\\index.js","mtime":1655715099000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KaW1wb3J0IFJlY2VpdmFibGUgZnJvbSAiQC9jb21wb25lbnQvRmluYW5jZS9SZWNlaXZhYmxlIjsKaW1wb3J0IEFjY291bnRUeXBlIGZyb20gIi4uL0FjY291bnRUeXBlIjsKaW1wb3J0IHsgZ2V0QWxsUGF5bWVudCB9IGZyb20gIkAvYXBpL1N5c3RlbSI7CmltcG9ydCB7IGdldEN1c3RvbWVySW5mbyB9IGZyb20gIkAvYXBpL0N1c3RvbWVyIjsKaW1wb3J0IHsgYWRkRmluYW5jZVR5cGUsIGVkaXRGaW5hbmNlVHlwZSwgZ2V0UmVjZWl2ZWRJbmZvLCBhZGRSZWNlaXZlZCwgZWRpdFJlY2VpdmVkLCBnZXRUZW1wUmVjZWl2ZWREYXRhLCBnZXRBbGxGaW5hbmNlVHlwZU5vUGFnZSwgZ2V0UmVjZWl2ZUluZm8sIGdldEFsbFJlY2VpdmUsIGVkaXRQYWlkLCBhZGRQYWlkIH0gZnJvbSAiQC9hcGkvRmluYW5jZSI7CmltcG9ydCBTZWxlY3RTaG9wIGZyb20gIkAvY29tcG9uZW50L2dvb2RzL1NlbGVjdFNob3AudnVlIjsKaW1wb3J0IFNlbGVjdEN1c3RvbWVyIGZyb20gIkAvY29tcG9uZW50L2NvbW1vbi9TZWxlY3RDdXN0b21lci52dWUiOwpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogIkFkZFJlY2VpcHQiLAogIGNvbXBvbmVudHM6IHsKICAgIFJlY2VpdmFibGUsCiAgICBBY2NvdW50VHlwZSwKICAgIFNlbGVjdEN1c3RvbWVyLAogICAgU2VsZWN0U2hvcAogIH0sCgogIGRhdGEoKSB7CiAgICBjb25zdCB2YWxpZGF0ZU5hbWUgPSAocnVsZSwgdmFsdWUsIGNhbGxiYWNrKSA9PiB7CiAgICAgIGlmICghdmFsdWUpIHsKICAgICAgICBjYWxsYmFjayhuZXcgRXJyb3IoIuivt+mAieaLqeaUtuasvuWNleS9jSIpKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBjYWxsYmFjaygpOwogICAgICB9CiAgICB9OwoKICAgIGNvbnN0IHZhbGlkYXRlTm8gPSAocnVsZSwgdmFsdWUsIGNhbGxiYWNrKSA9PiB7CiAgICAgIGlmICghdmFsdWUpIHsKICAgICAgICBjYWxsYmFjayhuZXcgRXJyb3IoIuivt+mAieaLqeWOn+WNleaNruWPtyIpKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBjYWxsYmFjaygpOwogICAgICB9CiAgICB9OwoKICAgIGNvbnN0IHZhbGlkYXRlU2hvcE5hbWUgPSAocnVsZSwgdmFsdWUsIGNhbGxiYWNrKSA9PiB7CiAgICAgIGlmICghdmFsdWUpIHsKICAgICAgICBjYWxsYmFjayhuZXcgRXJyb3IoIuivt+mAieaLqeW6l+mTuiIpKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBjYWxsYmFjaygpOwogICAgICB9CiAgICB9OwoKICAgIHJldHVybiB7CiAgICAgIHRhYmxlRGF0YTogW10sCiAgICAgIC8vIOaWsOWinui0ouWKoeexu+WeiwogICAgICBmb3JtX3R5cGU6IFt7CiAgICAgICAgbGFiZWw6ICLlupTmlLbljZUiLAogICAgICAgIHZhbHVlOiAxCiAgICAgIH0sIHsKICAgICAgICBsYWJlbDogIuW6lOS7mOWNlSIsCiAgICAgICAgdmFsdWU6IDIKICAgICAgfV0sCiAgICAgIHNob3dfbW9kZWw6IGZhbHNlLAogICAgICBhZGRfZm9ybTogewogICAgICAgIG5hbWU6ICIiLAogICAgICAgIGxpbms6ICIiLAogICAgICAgIGlzRGVmYXVsdDogNCwKICAgICAgICBlbmFibGVTdGF0dXM6IDUKICAgICAgfSwKICAgICAgYWRkX3J1bGU6IHsKICAgICAgICBuYW1lOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICBtZXNzYWdlOiAi6K+36L6T5YWl57G75Z6L5ZCN56ewIgogICAgICAgIH1dLAogICAgICAgIGxpbms6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICLor7fpgInmi6nlvZLlsZ7ljZXmja4iCiAgICAgICAgfV0KICAgICAgfSwKICAgICAgbG9hZGluZzogZmFsc2UsCiAgICAgIGFjY291bnRfaW5kZXg6IDAsCiAgICAgIGZpbmFuY2VUeXBlTGlzdDogW10sCiAgICAgIHBheV90eXBlX2xpc3Q6IFtdLAogICAgICBjb2RlOiAiIiwKICAgICAgYWNjb3VudF9zaG93OiBmYWxzZSwKICAgICAgcmVjZWl2YWJsZV9zaG93OiBmYWxzZSwKICAgICAgbm86ICIiLAogICAgICBmb3JtOiB7CiAgICAgICAgY3VzdG9tZXJJZDogIiIsCiAgICAgICAgY3VzdG9tZXJOYW1lOiAiIiwKICAgICAgICBzb3VyY2VObzogIiIsCiAgICAgICAgc291cmNlTm9Nb25leTogIiIsCiAgICAgICAgY3VycmVudEFjY291bnROYW1lOiAiIiwKICAgICAgICBmaW5hbmNlVHlwZTogIiIsCiAgICAgICAgZmluYW5jZVR5cGVJZDogIiIsCiAgICAgICAgc2hvcElkOiAiIiwKICAgICAgICBtb25leTogIiIsCiAgICAgICAgc2hvcE5hbWU6ICIiLAogICAgICAgIHJlY2VpcHRUaW1lOiAiIiwKICAgICAgICBjcmVhdGVUaW1lOiAiIiwKICAgICAgICBhY2NvdW50TGlzdDogW3sKICAgICAgICAgIGFjY291bnRJZDogIiIsCiAgICAgICAgICBhY2NvdW50TnVtYmVyOiAiIiwKICAgICAgICAgIGFjY291bnROYW1lOiAiIiwKICAgICAgICAgIG1vbmV5OiAiIiwKICAgICAgICAgIGRpc2NvdW50TW9uZXk6ICIiLAogICAgICAgICAgZmluYWxNb25leTogIiIsCiAgICAgICAgICBwYXlXYXk6ICIiLAogICAgICAgICAgcmVtYXJrOiAiIgogICAgICAgIH1dCiAgICAgIH0sCiAgICAgIHJ1bGVzOiB7CiAgICAgICAgY3VzdG9tZXJOYW1lOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICB2YWxpZGF0b3I6IHZhbGlkYXRlTmFtZQogICAgICAgIH1dLAogICAgICAgIHNvdXJjZU5vOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICB2YWxpZGF0b3I6IHZhbGlkYXRlTm8KICAgICAgICB9XSwKICAgICAgICBzaG9wTmFtZTogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgdmFsaWRhdG9yOiB2YWxpZGF0ZVNob3BOYW1lCiAgICAgICAgfV0KICAgICAgfSwKICAgICAgYWNjb3VudF9pZDogIiIsCiAgICAgIGlzTG9vazogZmFsc2UsCiAgICAgIGlzRWRpdDogZmFsc2UsCiAgICAgIHNob3dfc2hvcDogZmFsc2UsCiAgICAgIGNob29zZV9kYXRhOiBbXSwKICAgICAgY2hlY2tfbW9uZXk6IDAsCiAgICAgIC8vIOWLvumAieWQjuWQiOiuoQogICAgICBpZDogIiIsCiAgICAgIHRpbWU6ICIiLAogICAgICBkZWxBY2NvdW50TGlzdDogW10sCiAgICAgIGZsYWc6IGZhbHNlLAogICAgICBhY3RpdmVOYW1lOiAib25lIgogICAgfTsKICB9LAoKICBjb21wdXRlZDogewogICAgLy8g5qC46ZSA5oC76YeR6aKdCiAgICB0b3RhbCgpIHsKICAgICAgaWYgKCF0aGlzLmZvcm0uYWNjb3VudExpc3QubGVuZ3RoKSB7CiAgICAgICAgcmV0dXJuIDA7CiAgICAgIH0gZWxzZSBpZiAodGhpcy5mb3JtLmFjY291bnRMaXN0Lmxlbmd0aCA9PT0gMSkgewogICAgICAgIHJldHVybiBOdW1iZXIodGhpcy5mb3JtLmFjY291bnRMaXN0WzBdLm1vbmV5KTsKICAgICAgfSBlbHNlIHsKICAgICAgICBsZXQgc3VtID0gMDsKICAgICAgICB0aGlzLmZvcm0uYWNjb3VudExpc3QuZm9yRWFjaChpdGVtID0+IHsKICAgICAgICAgIHN1bSA9IHRoaXMuJE5QLnBsdXMoc3VtLCBOdW1iZXIoaXRlbS5tb25leSkpOwogICAgICAgIH0pOwogICAgICAgIHJldHVybiBzdW07CiAgICAgIH0KICAgIH0sCgogICAgLy8g5pS25qy+5oC76YeR6aKdCiAgICBtb25leVRvdGFsKCkgewogICAgICBpZiAoIXRoaXMuZm9ybS5hY2NvdW50TGlzdC5sZW5ndGgpIHsKICAgICAgICByZXR1cm4gMDsKICAgICAgfSBlbHNlIGlmICh0aGlzLmZvcm0uYWNjb3VudExpc3QubGVuZ3RoID09PSAxKSB7CiAgICAgICAgcmV0dXJuIHRoaXMuJE5QLm1pbnVzKE51bWJlcih0aGlzLmZvcm0uYWNjb3VudExpc3RbMF0ubW9uZXkpLCBOdW1iZXIodGhpcy5mb3JtLmFjY291bnRMaXN0WzBdLmRpc2NvdW50TW9uZXkpKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBsZXQgc3VtID0gMDsKICAgICAgICB0aGlzLmZvcm0uYWNjb3VudExpc3QuZm9yRWFjaChpdGVtID0+IHsKICAgICAgICAgIGNvbnN0IG1vbmV5ID0gdGhpcy4kTlAubWludXMoTnVtYmVyKGl0ZW0ubW9uZXkpLCBOdW1iZXIoaXRlbS5kaXNjb3VudE1vbmV5KSk7CiAgICAgICAgICBzdW0gPSB0aGlzLiROUC5wbHVzKHN1bSwgbW9uZXkpOwogICAgICAgIH0pOwogICAgICAgIHJldHVybiBzdW07CiAgICAgIH0KICAgIH0sCgogICAgLy8g5qC46ZSA5oC76YeR6aKdCiAgICBvZmZTZXRUb3RhbCgpIHsKICAgICAgaWYgKCF0aGlzLmNob29zZV9kYXRhLmxlbmd0aCkgewogICAgICAgIHJldHVybiAwOwogICAgICB9IGVsc2UgaWYgKHRoaXMuY2hvb3NlX2RhdGEubGVuZ3RoID09PSAxKSB7CiAgICAgICAgcmV0dXJuIE51bWJlcih0aGlzLmNob29zZV9kYXRhWzBdLm9mZnNldE1vbmV5KTsKICAgICAgfSBlbHNlIHsKICAgICAgICBsZXQgc3VtID0gMDsKICAgICAgICB0aGlzLmNob29zZV9kYXRhLmZvckVhY2goaXRlbSA9PiB7CiAgICAgICAgICBzdW0gPSB0aGlzLiROUC5wbHVzKHN1bSwgTnVtYmVyKGl0ZW0ub2Zmc2V0TW9uZXkpKTsKICAgICAgICB9KTsKICAgICAgICByZXR1cm4gc3VtOwogICAgICB9CiAgICB9LAoKICAgIC8vIOacquaguOmUgOaAu+mHkeminQogICAgb2ZmU2V0Tm90VG90YWwoKSB7CiAgICAgIGlmICghdGhpcy50YWJsZURhdGEubGVuZ3RoKSB7CiAgICAgICAgcmV0dXJuIDA7CiAgICAgIH0gZWxzZSBpZiAodGhpcy50YWJsZURhdGEubGVuZ3RoID09PSAxKSB7CiAgICAgICAgcmV0dXJuIE51bWJlcih0aGlzLnRhYmxlRGF0YVswXS5vZmZzZXRNb25leSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgbGV0IHN1bSA9IDA7CiAgICAgICAgdGhpcy50YWJsZURhdGEuZm9yRWFjaChpdGVtID0+IHsKICAgICAgICAgIHN1bSA9IHRoaXMuJE5QLnBsdXMoc3VtLCBOdW1iZXIoaXRlbS5vZmZzZXRNb25leSkpOwogICAgICAgIH0pOwogICAgICAgIHJldHVybiBzdW07CiAgICAgIH0KICAgIH0KCiAgfSwKCiAgY3JlYXRlZCgpIHsKICAgIHRoaXMuaW5pdGlhbCgpOwogIH0sCgogIGFjdGl2YXRlZCgpIHsKICAgIGlmICh0aGlzLiRfaXNJbml0KCkpIHJldHVybjsKICAgIHRoaXMuaW5pdGlhbCgpOwogIH0sCgogIG1ldGhvZHM6IHsKICAgIC8vIOWIneWni+WMlgogICAgYXN5bmMgaW5pdGlhbCgpIHsKICAgICAgYXdhaXQgdGhpcy5nZXRBbGxGaW5hbmNlVHlwZSgpOwogICAgICBhd2FpdCB0aGlzLmdldEFsbFBheW1lbnQoKTsKICAgICAgdGhpcy5pc0xvb2sgPSB0aGlzLiRyb3V0ZS5wYXRoLmluZGV4T2YoIkxvb2tSZWNlaXB0IikgPiAtMTsKICAgICAgdGhpcy5pc0VkaXQgPSB0aGlzLiRyb3V0ZS5wYXRoLmluZGV4T2YoImVkaXRSZWNlaXB0IikgPiAtMTsgLy8g5pS25qy+5Lq66buY6K6k5b2T5YmN6LSm5oi3CgogICAgICB0aGlzLmZvcm0uY3VycmVudEFjY291bnROYW1lID0gdGhpcy51c2VyTmFtZTsKCiAgICAgIGlmICh0aGlzLiRyb3V0ZS5wYXJhbXMuY3JlYXRlVGltZSkgewogICAgICAgIHRoaXMuZm9ybS5jcmVhdGVUaW1lID0gdGhpcy4kcm91dGUucGFyYW1zLmNyZWF0ZVRpbWU7CiAgICAgIH0KCiAgICAgIGlmICh0aGlzLiRyb3V0ZS5wYXJhbXMuaWQpIHsKICAgICAgICAvLyDnvJbovpHmlLbmrL7ljZUKICAgICAgICB0aGlzLmFjY291bnRfaWQgPSB0aGlzLiRyb3V0ZS5wYXJhbXMuaWQ7IC8vICDojrflj5bor6bmg4Ug5pS25qy+5Y2V6K+m5oOFCgogICAgICAgIGF3YWl0IHRoaXMuZ2V0UmVjZWl2ZWRJbmZvKCk7CiAgICAgIH0gZWxzZSBpZiAodGhpcy4kcm91dGUucXVlcnkuaWQpIHsKICAgICAgICAvLyDku47lupTmlLbljZXngrnlh7vmlLbmrL7mjInpkq7ov5vmnaUg5paw5aKe5pS25qy+5Y2VCiAgICAgICAgLy8gIOiOt+WPluW6lOaUtuWNleivpuaDhQogICAgICAgIHRoaXMuaWQgPSB0aGlzLiRyb3V0ZS5xdWVyeS5pZDsKICAgICAgICB0aGlzLnRpbWUgPSB0aGlzLiRyb3V0ZS5xdWVyeS5jcmVhdGVUaW1lOwogICAgICAgIGF3YWl0IHRoaXMuZ2V0UmVjZWl2ZUluZm8oKTsKICAgICAgfSBlbHNlIHsKICAgICAgICAvLyDmlrDlop7mlLbmrL7ljZUKICAgICAgICBhd2FpdCB0aGlzLmdldFRlbXBSZWNlaXZlZERhdGEoKTsgLy8g6I635Y+W5pqC5a2Y5pWw5o2uCiAgICAgIH0KCiAgICAgIGlmICh0aGlzLiRyb3V0ZS5xdWVyeS5jdXN0b21lcklkKSB7CiAgICAgICAgYXdhaXQgdGhpcy5nZXRDdXN0b21lckluZm8odGhpcy4kcm91dGUucXVlcnkuY3VzdG9tZXJJZCk7CiAgICAgIH0KCiAgICAgIHRoaXMuZm9ybS5yZWNlaXB0VGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpOwogICAgfSwKCiAgICBnb090aGVyRGV0YWlsKG9yZGVySWQpIHsKICAgICAgdGhpcy4kcm91dGVyLnB1c2goIi9vcmRlci9tYW5hZ2VPL09yZGVyRGV0YWlscy8xLyIgKyBvcmRlcklkKTsKICAgIH0sCgogICAgLy8g5om56YeP6YCJ5oupCiAgICBzZWxlY3Rpb25DaGFuZ2UodmFsKSB7CiAgICAgIHRoaXMuY2hvb3NlX2RhdGEgPSB2YWw7CiAgICAgIGxldCBudW0gPSAwOwogICAgICB0aGlzLmNob29zZV9kYXRhLmZvckVhY2goaXRlbSA9PiB7CiAgICAgICAgbnVtICs9IE51bWJlcihpdGVtLm9mZnNldE1vbmV5KTsKICAgICAgfSk7IC8vIGNvbnNvbGUubG9nKCLli77pgInkvZnpop0iLCBudW0pOwoKICAgICAgdGhpcy5jaGVja19tb25leSA9IG51bTsKICAgIH0sCgogICAgLy8g6I635Y+W5bqU5pS25Y2V6K+m5oOFCiAgICBhc3luYyBnZXRSZWNlaXZlSW5mbyhvYmopIHsKICAgICAgY29uc3QgewogICAgICAgIGRhdGEKICAgICAgfSA9IGF3YWl0IGdldFJlY2VpdmVJbmZvKHsKICAgICAgICBpZDogdGhpcy5pZCwKICAgICAgICBjcmVhdGVUaW1lOiB0aGlzLnRpbWUKICAgICAgfSk7CiAgICAgIHRoaXMuaWQgPSBkYXRhLmlkOwogICAgICB0aGlzLmZvcm0uY3VzdG9tZXJJZCA9IGRhdGEuY3VzdG9tZXJJZDsKICAgICAgdGhpcy5mb3JtLmN1c3RvbWVyTmFtZSA9IGRhdGEuY3VzdG9tZXJOYW1lOwogICAgICB0aGlzLmZvcm0uc291cmNlTm8gPSBkYXRhLm5vOwogICAgICB0aGlzLmZvcm0uc291cmNlTm9Nb25leSA9IGRhdGEucmVjZWl2ZU1vbmV5OwogICAgICB0aGlzLmZvcm0uc2hvcE5hbWUgPSBkYXRhLnNob3BOYW1lOwogICAgICB0aGlzLmZvcm0uc2hvcElkID0gZGF0YS5zaG9wSWQ7CgogICAgICBpZiAoZGF0YS5yZWNlaXB0VHlwZUlkID09PSA2KSB7CiAgICAgICAgY29uc3QgZmluYW5jZSA9IHRoaXMuZmluYW5jZVR5cGVMaXN0LmZpbmQoaXRlbSA9PiB7CiAgICAgICAgICByZXR1cm4gaXRlbS5uYW1lID09PSAi6ZSA5ZSu6YCA6LSn6YCA5qy+IjsKICAgICAgICB9KTsKICAgICAgICB0aGlzLmZvcm0uZmluYW5jZVR5cGVJZCA9IGZpbmFuY2UuaWQ7CiAgICAgICAgdGhpcy5mb3JtLmZpbmFuY2VUeXBlID0gZmluYW5jZS5uYW1lOwogICAgICB9CgogICAgICB0aGlzLmZvcm0uYWNjb3VudExpc3QgPSBbewogICAgICAgIGFjY291bnRJZDogMCwKICAgICAgICBhY2NvdW50TnVtYmVyOiAiIiwKICAgICAgICBhY2NvdW50TmFtZTogIiIsCiAgICAgICAgbW9uZXk6IGRhdGEucmVjZWl2ZU1vbmV5LAogICAgICAgIGRpc2NvdW50TW9uZXk6ICIiLAogICAgICAgIGZpbmFsTW9uZXk6ICIiLAogICAgICAgIHBheVdheTogIiIsCiAgICAgICAgcmVtYXJrOiAiIgogICAgICB9XTsKICAgICAgdGhpcy50YWJsZURhdGEgPSBbeyAuLi5kYXRhLAogICAgICAgIG9mZnNldE1vbmV5OiBOdW1iZXIoZGF0YS5ub3RPZmZzZXRNb25leSkKICAgICAgfV07IC8vIOWcqOW6lOaUtuWNleWIl+ihqOeCueWHu+aUtuasvuaMiemSruaJk+W8gOeahOaWsOWinuaUtuasvuWNlemhtemdou+8jOaguOmUgOaYjue7huiHquWKqOaguOmUgOOAggoKICAgICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgdGhpcy5vZmZzZXRHZXQoKTsKICAgICAgfSwgMjAwKTsgLy8gYXdhaXQgdGhpcy5nZXRDdXN0b21lckluZm8oZGF0YS5jdXN0b21lcklkKTsKICAgIH0sCgogICAgLy8g6I635Y+W5a6i5oi36K+m5oOFCiAgICBhc3luYyBnZXRDdXN0b21lckluZm8oaWQpIHsKICAgICAgY29uc3QgewogICAgICAgIGRhdGEKICAgICAgfSA9IGF3YWl0IGdldEN1c3RvbWVySW5mbyhpZCk7CiAgICAgIHRoaXMuZm9ybS5tb25leSA9IGRhdGEubW9uZXkgfHwgMDsKICAgICAgdGhpcy5mb3JtLmN1c3RvbWVySWQgPSBkYXRhLmlkOwogICAgICB0aGlzLmZvcm0uY3VzdG9tZXJOYW1lID0gZGF0YS5uYW1lOwogICAgICBhd2FpdCB0aGlzLmdldEFsbFJlY2VpdmUoKTsKICAgIH0sCgogICAgLy8gIOW6lOaUtuWNleWIl+ihqAogICAgYXN5bmMgZ2V0QWxsUmVjZWl2ZSgpIHsKICAgICAgbGV0IHBhcmFtcyA9IHsKICAgICAgICBwYWdlOiAxLAogICAgICAgIHBhZ2VTaXplOiA5OTksCiAgICAgICAgY3VzdG9tZXJJZDogdGhpcy5mb3JtLmN1c3RvbWVySWQsCiAgICAgICAgb2Zmc2V0U3RhdHVzOiBbMywgNF0sCiAgICAgICAgbW9uZXlUeXBlOiAxIC8vIGF1ZGl0U3RhdHVzOiAyLAogICAgICAgIC8vIGZpbmFuY2VUeXBlSWQ6IHRoaXMuZm9ybS5maW5hbmNlVHlwZUlkLAoKICAgICAgfTsKICAgICAgY29uc3QgewogICAgICAgIGRhdGEKICAgICAgfSA9IGF3YWl0IGdldEFsbFJlY2VpdmUocGFyYW1zKTsKICAgICAgdGhpcy50YWJsZURhdGEgPSBkYXRhLm1hcChpdGVtID0+IHsKICAgICAgICByZXR1cm4geyAuLi5pdGVtLAogICAgICAgICAgb2Zmc2V0TW9uZXk6IE51bWJlcihpdGVtLm5vdE9mZnNldE1vbmV5KQogICAgICAgIH07CiAgICAgIH0pOwogICAgfSwKCiAgICAvLyDmlrDlop7otKLliqHnsbvlnosKICAgIGFzeW5jIGFkZFR5cGUoKSB7CiAgICAgIHRoaXMuJHJlZnNbImZvcm0iXS52YWxpZGF0ZShhc3luYyB2YWxpZCA9PiB7CiAgICAgICAgaWYgKHZhbGlkKSB7CiAgICAgICAgICBsZXQgdGFyZ2V0ID0ge307CgogICAgICAgICAgaWYgKCF0aGlzLmlzX2VkaXQpIHsKICAgICAgICAgICAgdGFyZ2V0ID0gYXdhaXQgYWRkRmluYW5jZVR5cGUoeyAuLi50aGlzLmFkZF9mb3JtCiAgICAgICAgICAgIH0pOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdGFyZ2V0ID0gYXdhaXQgZWRpdEZpbmFuY2VUeXBlKHRoaXMucGF5X2lkLCB7IC4uLnRoaXMuYWRkX2Zvcm0KICAgICAgICAgICAgfSk7CiAgICAgICAgICB9CgogICAgICAgICAgY29uc3QgZGF0YSA9IHRhcmdldDsKICAgICAgICAgIHRoaXMuc2hvd19tb2RlbCA9IGZhbHNlOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAoKICAgIC8vIOmAieaLqeWVhumTugogICAgc2VsU2hvcCh2YWwsIHJvdykgewogICAgICB0aGlzLmZvcm0uc2hvcE5hbWUgPSByb3dbMF0ubmFtZTsgLy8gdGhpcy5mb3JtLnNob3BJZCA9IHJvd1swXS5pZAogICAgfSwKCiAgICByZWNlaXZhYmxlc2VsKHZhbCkgewogICAgICB0aGlzLmZvcm0uc291cmNlTm8gPSB2YWxbMF0ubm87CiAgICAgIHRoaXMuZm9ybS5zb3VyY2VOb01vbmV5ID0gdmFsWzBdLnJlY2VpdmVNb25leTsKICAgICAgdGhpcy5mb3JtLnNob3BOYW1lID0gdmFsWzBdLnNob3BOYW1lOwogICAgICB0aGlzLmZvcm0uc2hvcElkID0gdmFsWzBdLnNob3BJZDsKICAgIH0sCgogICAgLy8gIOaUtuasvuWNleivpuaDhQogICAgYXN5bmMgZ2V0UmVjZWl2ZWRJbmZvKCkgewogICAgICBjb25zdCB7CiAgICAgICAgZGF0YQogICAgICB9ID0gYXdhaXQgZ2V0UmVjZWl2ZWRJbmZvKHsKICAgICAgICBpZDogdGhpcy5hY2NvdW50X2lkLAogICAgICAgIGNyZWF0ZVRpbWU6IHRoaXMuZm9ybS5jcmVhdGVUaW1lCiAgICAgIH0pOwogICAgICB0aGlzLmZvcm0gPSB7IC4uLmRhdGEsCiAgICAgICAgcmVjZWlwdFRpbWU6IGRhdGEucmVjZWlwdFRpbWUgKiAxMDAwLAogICAgICAgIGFjY291bnRMaXN0OiBkYXRhLmFjY291bnRMaXN0CiAgICAgIH07CgogICAgICBpZiAoZGF0YS5vZmZzZXREYXRlKSB7CiAgICAgICAgdGhpcy50YWJsZURhdGEgPSBkYXRhLm9mZnNldERhdGU7CiAgICAgICAgdGhpcy5jaG9vc2VfZGF0YSA9IGRhdGEub2Zmc2V0RGF0ZTsKICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsKICAgICAgICAgIHRoaXMudGFibGVEYXRhLmZvckVhY2goaXRlbSA9PiB7CiAgICAgICAgICAgIGlmIChpdGVtLm9mZnNldE1vbmV5ID4gMCkgewogICAgICAgICAgICAgIHRoaXMuJHJlZnMubXVsdGlwbGVUYWJsZS50b2dnbGVSb3dTZWxlY3Rpb24oaXRlbSk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0pOwogICAgICAgIH0sIDIwMCk7CiAgICAgIH0KICAgIH0sCgogICAgLy8g5pqC5a2Y5pWw5o2uCiAgICBhc3luYyB0ZW1EYXRhKHRlbXBTYXZlKSB7CiAgICAgIGxldCByZWNlaXB0T2Zmc2V0RGF0YSA9IHRoaXMuY2hvb3NlX2RhdGEubWFwKGl0ZW0gPT4gewogICAgICAgIHJldHVybiB7CiAgICAgICAgICByZWNlaXZlUmVjZWlwdElkOiBpdGVtLmlkLAogICAgICAgICAgb2Zmc2V0TW9uZXk6IGl0ZW0ub2Zmc2V0TW9uZXkKICAgICAgICB9OwogICAgICB9KTsKICAgICAgY29uc3QgcGFyYW1zID0geyAuLi50aGlzLmZvcm0sCiAgICAgICAgcmVjZWlwdFRpbWU6IHBhcnNlSW50KHRoaXMuZm9ybS5yZWNlaXB0VGltZSAvIDEwMDApLAogICAgICAgIHRlbXBTYXZlOiB0ZW1wU2F2ZSwKICAgICAgICByZWNlaXB0T2Zmc2V0RGF0YTogcmVjZWlwdE9mZnNldERhdGEKICAgICAgfTsKICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsKICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IGFkZFJlY2VpdmVkKHBhcmFtcyk7CiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOwogICAgICB0aGlzLiRtZXNzYWdlKHsKICAgICAgICBtZXNzYWdlOiAi5pqC5a2Y5oiQ5YqfIiwKICAgICAgICB0eXBlOiAic3VjY2VzcyIKICAgICAgfSk7CiAgICAgIHRoaXMuJGNsb3NlQ3VycmVudEdvRWRpdCgiL0ZpbmFuY2UvUmVjZWl2YWJsZS9SZWNlaXB0TGlzdCIpOwogICAgfSwKCiAgICAvLyAg5re75YqgCiAgICBhc3luYyBhZGREYXRhKHRlbXBTYXZlKSB7CiAgICAgIHRoaXMuJHJlZnNbImJhc2VfZm9ybSJdLnZhbGlkYXRlKGFzeW5jIHZhbGlkID0+IHsKICAgICAgICBpZiAodmFsaWQpIHsKICAgICAgICAgIGlmICghdGVtcFNhdmUpIHsKICAgICAgICAgICAgaWYgKHRoaXMuZmxhZykgewogICAgICAgICAgICAgIHRoaXMuZm9ybS5hY2NvdW50TGlzdCA9IFsuLi50aGlzLmZvcm0uYWNjb3VudExpc3QsIC4uLnRoaXMuZGVsQWNjb3VudExpc3RdOwogICAgICAgICAgICB9CgogICAgICAgICAgICBsZXQgaXNTdWIgPSB0cnVlOwoKICAgICAgICAgICAgZm9yIChsZXQgaSBpbiB0aGlzLmZvcm0uYWNjb3VudExpc3QpIHsKICAgICAgICAgICAgICBsZXQgaXRlbSA9IHRoaXMuZm9ybS5hY2NvdW50TGlzdFtpXTsKCiAgICAgICAgICAgICAgaWYgKCFpdGVtLmFjY291bnRJZCkgewogICAgICAgICAgICAgICAgaXNTdWIgPSBmYWxzZTsKICAgICAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZygi6K+36YCJ5oup57uT566X6LSm5oi3Iik7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgIGlmICghaXRlbS5tb25leSkgewogICAgICAgICAgICAgICAgaXNTdWIgPSBmYWxzZTsKICAgICAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZygi6K+36L6T5YWl5pS25qy+6YeR6aKdIik7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgLyogaWYgKCFpdGVtLnBheVdheSkgewogICAgICAgICAgICAgICAgaXNTdWIgPSBmYWxzZTsKICAgICAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZygi6K+36YCJ5oup57uT566X5pa55byPIik7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9Ki8KCgogICAgICAgICAgICAgIGlmICh0aGlzLm9mZlNldFRvdGFsID4gdGhpcy50b3RhbCkgewogICAgICAgICAgICAgICAgaXNTdWIgPSBmYWxzZTsKICAgICAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZygi5qC46ZSA6YeR6aKd5LiN6IO95aSn5LqO5pS25qy+6YeR6aKdIik7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICghaXNTdWIpIHsKICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KCiAgICAgICAgICBpZiAodGhpcy5jaG9vc2VfZGF0YS5sZW5ndGgpIHsKICAgICAgICAgICAgbGV0IHJlY2VpcHRPZmZzZXREYXRhID0gdGhpcy5jaG9vc2VfZGF0YS5tYXAoaXRlbSA9PiB7CiAgICAgICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICAgIHJlY2VpdmVSZWNlaXB0SWQ6IGl0ZW0uaWQsCiAgICAgICAgICAgICAgICBvZmZzZXRNb25leTogaXRlbS5vZmZzZXRNb25leSwKICAgICAgICAgICAgICAgIHJlY2VpdmVDcmVhdGVUaW1lOiBpdGVtLmNyZWF0ZVRpbWUKICAgICAgICAgICAgICB9OwogICAgICAgICAgICB9KTsKICAgICAgICAgICAgY29uc3QgcGFyYW1zID0geyAuLi50aGlzLmZvcm0sCiAgICAgICAgICAgICAgcmVjZWlwdFRpbWU6IHBhcnNlSW50KHRoaXMuZm9ybS5yZWNlaXB0VGltZSAvIDEwMDApLAogICAgICAgICAgICAgIHRlbXBTYXZlOiB0ZW1wU2F2ZSwKICAgICAgICAgICAgICByZWNlaXB0T2Zmc2V0RGF0YTogcmVjZWlwdE9mZnNldERhdGEsCiAgICAgICAgICAgICAgc291cmNlSWQ6IHRoaXMuaWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsKCiAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgaWYgKHRoaXMuYWNjb3VudF9pZCkgewogICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IGVkaXRSZWNlaXZlZCh0aGlzLmFjY291bnRfaWQsIHBhcmFtcyk7CiAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBhZGRSZWNlaXZlZChwYXJhbXMpOwogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7CiAgICAgICAgICAgICAgdGhpcy4kbWVzc2FnZSh7CiAgICAgICAgICAgICAgICB0eXBlOiAic3VjY2VzcyIsCiAgICAgICAgICAgICAgICBtZXNzYWdlOiAi5pON5L2c5oiQ5YqfISIKICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICB0aGlzLiRjbG9zZUN1cnJlbnRHb0VkaXQoIi9GaW5hbmNlL1JlY2VpdmFibGUvUmVjZWlwdExpc3QiKTsKICAgICAgICAgICAgfSBjYXRjaCB7CiAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlmICh0aGlzLmZvcm0uZmluYW5jZVR5cGVJZCA9PT0gMSkgewogICAgICAgICAgICAgIHRoaXMuZm9ybS5maW5hbmNlVHlwZSA9ICLplIDllK7pgIDotKfpgIDmrL4iOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAodGhpcy5mb3JtLmZpbmFuY2VUeXBlSWQgPT09IDIpIHsKICAgICAgICAgICAgICB0aGlzLmZvcm0uZmluYW5jZVR5cGUgPSAi6ZSA5ZSu5pS25qy+IjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKHRoaXMuZm9ybS5maW5hbmNlVHlwZUlkID09PSAzKSB7CiAgICAgICAgICAgICAgdGhpcy5mb3JtLmZpbmFuY2VUeXBlID0gIumihOWtmOaUtuasviI7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGNvbnN0IGZvcm0gPSB0aGlzLiRfY29tbW9uLmRlZXBDbG9uZSh0aGlzLmZvcm0pOwogICAgICAgICAgICBkZWxldGUgZm9ybS5zb3VyY2VObzsKICAgICAgICAgICAgY29uc3QgcGFyYW1zID0geyAuLi5mb3JtLAogICAgICAgICAgICAgIHJlY2VpcHRUaW1lOiBwYXJzZUludCh0aGlzLmZvcm0ucmVjZWlwdFRpbWUgLyAxMDAwKSwKICAgICAgICAgICAgICB0ZW1wU2F2ZTogdGVtcFNhdmUsCiAgICAgICAgICAgICAgZmluYW5jZVR5cGVJZDogdGhpcy5mb3JtLmZpbmFuY2VUeXBlSWQsCiAgICAgICAgICAgICAgZmluYW5jZVR5cGU6IHRoaXMuZm9ybS5maW5hbmNlVHlwZQogICAgICAgICAgICB9OwogICAgICAgICAgICB0aGlzLiRjb25maXJtKCLnoa7lrpropoHlsIbor6XljZXmja7kvZzkuLrpooTmlLbmrL7lkJfvvJ8iLCAi5o+Q56S6IiwgewogICAgICAgICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAi56Gu5a6aIiwKICAgICAgICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAi5Y+W5raIIiwKICAgICAgICAgICAgICB0eXBlOiAid2FybmluZyIKICAgICAgICAgICAgfSkudGhlbihhc3luYyAoKSA9PiB7CiAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsKCiAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIGlmICh0aGlzLmFjY291bnRfaWQpIHsKICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IGVkaXRSZWNlaXZlZCh0aGlzLmFjY291bnRfaWQsIHBhcmFtcyk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgYWRkUmVjZWl2ZWQocGFyYW1zKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTsKICAgICAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2UoewogICAgICAgICAgICAgICAgICB0eXBlOiAic3VjY2VzcyIsCiAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICLmk43kvZzmiJDlip8hIgogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB0aGlzLiRjbG9zZUN1cnJlbnRHb0VkaXQoIi9GaW5hbmNlL1JlY2VpdmFibGUvUmVjZWlwdExpc3QiKTsKICAgICAgICAgICAgICB9IGNhdGNoIHsKICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSkuY2F0Y2goKCkgPT4gewogICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOwogICAgICAgICAgICB9KTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKCiAgICAvLyAg6I635Y+W5pqC5a2Y5pWw5o2uCiAgICBhc3luYyBnZXRUZW1wUmVjZWl2ZWREYXRhKCkgewogICAgICBjb25zdCB7CiAgICAgICAgZGF0YQogICAgICB9ID0gYXdhaXQgZ2V0VGVtcFJlY2VpdmVkRGF0YSgpOwogICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoZGF0YSkgPT09ICJ7fSIpIHJldHVybjsKICAgICAgdGhpcy5mb3JtID0geyAuLi5kYXRhLAogICAgICAgIHJlY2VpcHRUaW1lOiBkYXRhLnJlY2VpcHRUaW1lICogMTAwMCwKICAgICAgICBhY2NvdW50TGlzdDogZGF0YS5hY2NvdW50TGlzdC5tYXAoaXRlbSA9PiB7CiAgICAgICAgICByZXR1cm4geyAuLi5pdGVtLAogICAgICAgICAgICBwYXlXYXk6IHBhcnNlSW50KGl0ZW0ucGF5V2F5KQogICAgICAgICAgfTsKICAgICAgICB9KQogICAgICB9OwoKICAgICAgaWYgKGRhdGEub2Zmc2V0RGF0ZSkgewogICAgICAgIHRoaXMudGFibGVEYXRhID0gZGF0YS5vZmZzZXREYXRlOwogICAgICAgIHRoaXMuY2hvb3NlX2RhdGEgPSBkYXRhLm9mZnNldERhdGU7CiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgICB0aGlzLnRhYmxlRGF0YS5mb3JFYWNoKGl0ZW0gPT4gewogICAgICAgICAgICB0aGlzLiRyZWZzLm11bHRpcGxlVGFibGUudG9nZ2xlUm93U2VsZWN0aW9uKGl0ZW0pOwogICAgICAgICAgfSk7CiAgICAgICAgfSwgMjAwKTsKICAgICAgfQogICAgfSwKCiAgICBvcGVuQWNjb3VudChpbmRleCkgewogICAgICB0aGlzLmFjY291bnRfaW5kZXggPSBpbmRleDsKCiAgICAgIGlmICh0aGlzLmZvcm0uc2hvcElkKSB7CiAgICAgICAgdGhpcy5hY2NvdW50X3Nob3cgPSB0cnVlOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZygi6K+36YCJ5oup5omA5bGe5bqX6ZO6Iik7CiAgICAgIH0KICAgIH0sCgogICAgLy8g57uT566X6LSm5oi3CiAgICBhY2NvdW50c2VsKHZhbCkgewogICAgICB0aGlzLmZvcm0uYWNjb3VudExpc3RbdGhpcy5hY2NvdW50X2luZGV4XS5hY2NvdW50SWQgPSB2YWxbMF0uaWQ7CiAgICAgIHRoaXMuZm9ybS5hY2NvdW50TGlzdFt0aGlzLmFjY291bnRfaW5kZXhdLmFjY291bnROdW1iZXIgPSB2YWxbMF0uYWNjb3VudE51bWJlcjsKICAgICAgdGhpcy5mb3JtLmFjY291bnRMaXN0W3RoaXMuYWNjb3VudF9pbmRleF0uYWNjb3VudE5hbWUgPSB2YWxbMF0ubmFtZTsKICAgIH0sCgogICAgLy8g57G75Z6LCiAgICB0eXBlQ2hhbmdlKHZhbCkgewogICAgICBjb25zdCB0YXJnZXQgPSB0aGlzLmZpbmFuY2VUeXBlTGlzdC5maW5kKGl0ZW0gPT4gewogICAgICAgIHJldHVybiBpdGVtLmlkID09PSB2YWw7CiAgICAgIH0pOwogICAgICB0aGlzLmZvcm0uZmluYW5jZVR5cGUgPSB0YXJnZXQubmFtZTsKICAgIH0sCgogICAgLy8gIOiOt+WPlui0ouWKoeexu+WeiwogICAgYXN5bmMgZ2V0QWxsRmluYW5jZVR5cGUoKSB7CiAgICAgIGNvbnN0IHsKICAgICAgICBkYXRhCiAgICAgIH0gPSBhd2FpdCBnZXRBbGxGaW5hbmNlVHlwZU5vUGFnZSgxKTsKICAgICAgdGhpcy5maW5hbmNlVHlwZUxpc3QgPSBkYXRhOwogICAgICBjb25zdCBmaW5hbmNlID0gZGF0YS5maW5kKGl0ZW0gPT4gewogICAgICAgIHJldHVybiBpdGVtLm5hbWUgPT09ICLplIDllK7mlLbmrL4iOwogICAgICB9KTsKICAgICAgdGhpcy5mb3JtLmZpbmFuY2VUeXBlSWQgPSBmaW5hbmNlLmlkOwogICAgICB0aGlzLmZvcm0uZmluYW5jZVR5cGUgPSBmaW5hbmNlLm5hbWU7CiAgICB9LAoKICAgIGFkZEFjY291bnQoKSB7CiAgICAgIHRoaXMuZm9ybS5hY2NvdW50TGlzdC5wdXNoKHsKICAgICAgICBhY2NvdW50SWQ6ICIiLAogICAgICAgIGFjY291bnROdW1iZXI6ICIiLAogICAgICAgIGFjY291bnROYW1lOiAiIiwKICAgICAgICBtb25leTogIiIsCiAgICAgICAgZGlzY291bnRNb25leTogIiIsCiAgICAgICAgZmluYWxNb25leTogIiIsCiAgICAgICAgcGF5V2F5OiAiIiwKICAgICAgICByZW1hcms6ICIiCiAgICAgIH0pOwogICAgfSwKCiAgICBkZWxBY2NvdW50KGluZGV4KSB7CiAgICAgIGlmICh0aGlzLmFjY291bnRfaWQpIHsKICAgICAgICB0aGlzLmZsYWcgPSB0cnVlOwoKICAgICAgICBpZiAodGhpcy5mb3JtLmFjY291bnRMaXN0W2luZGV4XS5hY2NvdW50SWQgJiYgdGhpcy5mb3JtLmFjY291bnRMaXN0W2luZGV4XS5tb25leSkgewogICAgICAgICAgdGhpcy5mb3JtLmFjY291bnRMaXN0W2luZGV4XS5kZWxldGVTdGF0dXMgPSA0OwogICAgICAgICAgdGhpcy5kZWxBY2NvdW50TGlzdC5wdXNoKHRoaXMuZm9ybS5hY2NvdW50TGlzdFtpbmRleF0pOwogICAgICAgIH0KICAgICAgfQoKICAgICAgY29uc29sZS5sb2codGhpcy5kZWxBY2NvdW50TGlzdCk7CiAgICAgIHRoaXMuZm9ybS5hY2NvdW50TGlzdC5zcGxpY2UoaW5kZXgsIDEpOwogICAgfSwKCiAgICAvLyDojrflj5bmlK/ku5jmlrnlvI8KICAgIGFzeW5jIGdldEFsbFBheW1lbnQoKSB7CiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBnZXRBbGxQYXltZW50KHsKICAgICAgICBwYWdlOiAxLAogICAgICAgIHBhZ2VTaXplOiA5OQogICAgICB9KTsKICAgICAgdGhpcy5wYXlfdHlwZV9saXN0ID0gZGF0YS5kYXRhOwogICAgfSwKCiAgICAvLyAg5a6i5oi36YCJ5oupCiAgICBjdXN0b21lclNlbCh2YWwsIHJvdykgewogICAgICB0aGlzLmZvcm0uY3VzdG9tZXJJZCA9IHJvd1swXS5pZDsKICAgICAgdGhpcy5mb3JtLm1vbmV5ID0gcm93WzBdLm1vbmV5OwogICAgICB0aGlzLmZvcm0uc291cmNlTm8gPSAiIjsKICAgICAgdGhpcy5mb3JtLnNob3BOYW1lID0gcm93WzBdLnNob3BOYW1lOwogICAgICB0aGlzLmZvcm0uc2hvcElkID0gcm93WzBdLnNob3BJZCB8fCAiIjsKICAgICAgdGhpcy5nZXRBbGxSZWNlaXZlKCk7CiAgICB9LAoKICAgIC8vIOiHquWKqOaguOmUgAogICAgb2Zmc2V0R2V0KCkgewogICAgICBsZXQgdG90YWwgPSAwOwoKICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnRhYmxlRGF0YS5sZW5ndGg7IGkrKykgewogICAgICAgIGxldCBpdGVtID0gdGhpcy50YWJsZURhdGFbaV07IC8vIOaKiuacrOasoeaguOmUgOmHkemineebuOWKoAoKICAgICAgICB0b3RhbCArPSBOdW1iZXIoaXRlbS5vZmZzZXRNb25leSk7IC8vIOWLvumAieWPr+S7peaguOmUgOeahOaVsOaNrgoKICAgICAgICB0aGlzLiRyZWZzLm11bHRpcGxlVGFibGUudG9nZ2xlUm93U2VsZWN0aW9uKGl0ZW0pOyAvLyDlpoLmnpzlkIjorqHmoLjplIDph5Hpop3lpKfkuo7mlLbmrL7mgLvph5Hpop3vvIzlgZzmraLlvqrnjq/vvIzlubbmiorlgZzmraLlvqrnjq/liY3nmoTkuIDmnaHmoLjplIDmlbDmja7kv67mlLnkuLrlt67lgLwKCiAgICAgICAgaWYgKHRvdGFsID4gdGhpcy5tb25leVRvdGFsIHx8IHRvdGFsID09PSB0aGlzLm1vbmV5VG90YWwpIHsKICAgICAgICAgIGl0ZW0ub2Zmc2V0TW9uZXkgPSB0aGlzLm1vbmV5VG90YWwgLSAodG90YWwgLSBpdGVtLm9mZnNldE1vbmV5KTsKICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgfQogICAgfSwKCiAgICAvLyDmlLbmrL7ph5Hpop3lpLHljrvnhKbngrkKICAgIG1vbmV5Qmx1cigpIHsKICAgICAgLy8g5pS25qy+6YeR6aKd5aSx5Y6754Sm54K55ZCO6Ieq5Yqo5qC46ZSACiAgICAgIHRoaXMub2Zmc2V0R2V0KCk7IC8vIOaUtuasvumHkemineWkseWOu+eEpueCueWQjumHjeaWsOaguOmUgAogICAgICAvLyB0aGlzLiRyZWZzLm11bHRpcGxlVGFibGUuY2xlYXJTZWxlY3Rpb24oKTsKICAgIH0KCiAgfQp9Ow=="},{"version":3,"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuaA;AACA;AAEA;AACA;AAEA,SACAA,cADA,EAEAC,eAFA,EAGAC,eAHA,EAIAC,WAJA,EAKAC,YALA,EAMAC,mBANA,EAOAC,uBAPA,EAQAC,cARA,EASAC,aATA,EAUAC,QAVA,EAWAC,OAXA,QAYA,eAZA;AAaA;AACA;AACA;EACAC,kBADA;EAEAC;IACAC,UADA;IAEAC,WAFA;IAGAC,cAHA;IAIAC;EAJA,CAFA;;EAQAC;IACA;MACA;QACAC;MACA,CAFA,MAEA;QACAA;MACA;IACA,CANA;;IAOA;MACA;QACAA;MACA,CAFA,MAEA;QACAA;MACA;IACA,CANA;;IAOA;MACA;QACAA;MACA,CAFA,MAEA;QACAA;MACA;IACA,CANA;;IAOA;MACAC,aADA;MAEA;MACAC,YACA;QACAC,YADA;QAEAC;MAFA,CADA,EAKA;QACAD,YADA;QAEAC;MAFA,CALA,CAHA;MAaAC,iBAbA;MAcAC;QACAb,QADA;QAEAc,QAFA;QAGAC,YAHA;QAIAC;MAJA,CAdA;MAoBAC;QACAjB;UAAAkB;UAAAC;QAAA,EADA;QAEAL;UAAAI;UAAAC;QAAA;MAFA,CApBA;MAwBAC,cAxBA;MAyBAC,gBAzBA;MA0BAC,mBA1BA;MA2BAC,iBA3BA;MA4BAC,QA5BA;MA6BAC,mBA7BA;MA8BAC,sBA9BA;MA+BAC,MA/BA;MAgCAC;QACAC,cADA;QAEAC,gBAFA;QAGAC,YAHA;QAIAC,iBAJA;QAKAC,sBALA;QAMAC,eANA;QAOAC,iBAPA;QAQAC,UARA;QASAC,SATA;QAUAC,YAVA;QAWAC,eAXA;QAYAC,cAZA;QAaAC,cACA;UACAC,aADA;UAEAC,iBAFA;UAGAC,eAHA;UAIAP,SAJA;UAKAQ,iBALA;UAMAC,cANA;UAOAC,UAPA;UAQAC;QARA,CADA;MAbA,CAhCA;MA0DAC;QACAnB;UAAAZ;UAAAgC;QAAA,EADA;QAEAnB;UAAAb;UAAAgC;QAAA,EAFA;QAGAZ;UAAApB;UAAAgC;QAAA;MAHA,CA1DA;MA+DAC,cA/DA;MAgEAC,aAhEA;MAiEAC,aAjEA;MAkEAC,gBAlEA;MAmEAC,eAnEA;MAoEAC,cApEA;MAoEA;MACAC,MArEA;MAsEAC,QAtEA;MAuEAC,kBAvEA;MAwEAC,WAxEA;MAyEAC;IAzEA;EA2EA,CAzGA;;EA0GAC;IACA;IACAC;MACA;QACA;MACA,CAFA,MAEA;QACA;MACA,CAFA,MAEA;QACA;QACA;UACAC;QACA,CAFA;QAGA;MACA;IACA,CAdA;;IAeA;IACAC;MACA;QACA;MACA,CAFA,MAEA;QACA,sBACAC,sCADA,EAEAA,8CAFA;MAIA,CALA,MAKA;QACA;QACA;UACA,6BACAA,kBADA,EAEAA,0BAFA;UAIAF;QACA,CANA;QAOA;MACA;IACA,CAnCA;;IAoCA;IACAG;MACA;QACA;MACA,CAFA,MAEA;QACA;MACA,CAFA,MAEA;QACA;QACA;UACAH;QACA,CAFA;QAGA;MACA;IACA,CAjDA;;IAkDA;IACAI;MACA;QACA;MACA,CAFA,MAEA;QACA;MACA,CAFA,MAEA;QACA;QACA;UACAJ;QACA,CAFA;QAGA;MACA;IACA;;EA/DA,CA1GA;;EA2KAK;IACA;EACA,CA7KA;;EA8KAC;IACA;IACA;EACA,CAjLA;;EAkLAC;IACA;IACA;MACA;MACA;MACA;MACA,2DAJA,CAKA;;MACA;;MACA;QACA;MACA;;MACA;QACA;QACA,wCAFA,CAGA;;QACA;MACA,CALA,MAKA;QACA;QACA;QACA;QACA;QACA;MACA,CANA,MAMA;QACA;QACA,iCAFA,CAEA;MACA;;MAEA;QACA;MACA;;MACA;IACA,CAhCA;;IAiCAC;MACA;IACA,CAnCA;;IAoCA;IACAC;MACA;MACA;MACA;QACAC;MACA,CAFA,EAHA,CAMA;;MACA;IACA,CA7CA;;IA8CA;IACA;MACA;QAAApE;MAAA;QACAmD,WADA;QAEAjB;MAFA;MAIA;MACA;MACA;MAEA;MACA;MAEA;MACA;;MACA;QACA;UACA;QACA,CAFA;QAGA;QACA;MACA;;MACA,yBACA;QACAE,YADA;QAEAC,iBAFA;QAGAC,eAHA;QAIAP,wBAJA;QAKAQ,iBALA;QAMAC,cANA;QAOAC,UAPA;QAQAC;MARA,CADA;MAYA,kBACA,EACA,OADA;QAEA2B;MAFA,CADA,EAjCA,CAuCA;;MACAC;QACA;MACA,CAFA,EAEA,GAFA,EAxCA,CA2CA;IACA,CA3FA;;IA4FA;IACA;MACA;QAAAtE;MAAA;MACA;MACA;MAEA;MACA;IACA,CApGA;;IAqGA;IACA;MACA;QACAuE,OADA;QAEAC,aAFA;QAGAjD,gCAHA;QAIAkD,oBAJA;QAKAC,YALA,CAMA;QACA;;MAPA;MASA;QAAA1E;MAAA;MACA;QACA;UAAAqE;QAAA;MACA,CAFA;IAGA,CApHA;;IAqHA;IACA;MACA;QACA;UACA;;UACA;YACAM,gCACA;YADA;UAGA,CAJA,MAIA;YACAA,8CACA;YADA;UAGA;;UACA;UAEA;QACA;MACA,CAhBA;IAiBA,CAxIA;;IAyIA;IACAC;MACA,iCADA,CAEA;IACA,CA7IA;;IA8IAC;MACA;MACA;MACA;MACA;IACA,CAnJA;;IAoJA;IACA;MACA;QAAA7E;MAAA;QACAmD,mBADA;QAEAjB;MAFA;MAKA,cACA,OADA;QAEAD,oCAFA;QAGAE;MAHA;;MAKA;QACA;QACA;QACAmC;UACA;YACA;cACA;YACA;UACA,CAJA;QAKA,CANA,EAMA,GANA;MAOA;IACA,CA3KA;;IA4KA;IACA;MACA;QACA;UACAQ,yBADA;UAEAT;QAFA;MAIA,CALA;MAMA,iBACA,YADA;QAEApC,mDAFA;QAGA8C,kBAHA;QAIAC;MAJA;MAMA;MACA;MACA;MAEA;QACAnE,eADA;QAEAoE;MAFA;MAIA;IACA,CAnMA;;IAoMA;IACA;MACA;QACA;UACA;YACA;cACA,yBACA,wBADA,EAEA,sBAFA;YAIA;;YACA;;YACA;cACA;;cACA;gBACAC;gBACA;gBACA;cACA;;cACA;gBACAA;gBACA;gBACA;cACA;cACA;AACA;AACA;AACA;AACA;;;cACA;gBACAA;gBACA;gBACA;cACA;YACA;;YACA;cACA;YACA;UACA;;UACA;YACA;cACA;gBACAJ,yBADA;gBAEAT,6BAFA;gBAGAc;cAHA;YAKA,CANA;YAOA,iBACA,YADA;cAEAlD,mDAFA;cAGA8C,kBAHA;cAIAC,oCAJA;cAKAI;YALA;YAOA;;YACA;cACA;gBACA;cACA,CAFA,MAEA;gBACA;cACA;;cACA;cACA;gBACAH,eADA;gBAEApE;cAFA;cAIA;YACA,CAZA,CAYA;cACA;YACA;UACA,CA/BA,MA+BA;YACA;cACA;YACA;;YACA;cACA;YACA;;YACA;cACA;YACA;;YACA;YACA;YACA,iBACA,OADA;cAEAoB,mDAFA;cAGA8C,kBAHA;cAIAlD,sCAJA;cAKAD;YALA;YAOA;cACAyD,uBADA;cAEAC,sBAFA;cAGAL;YAHA,GAKAM,IALA,CAKA;cACA;;cACA;gBACA;kBACA;gBACA,CAFA,MAEA;kBACA;gBACA;;gBACA;gBACA;kBACAN,eADA;kBAEApE;gBAFA;gBAIA;cACA,CAZA,CAYA;gBACA;cACA;YACA,CAtBA,EAuBA2E,KAvBA,CAuBA;cACA;YACA,CAzBA;UA0BA;QACA;MACA,CAnHA;IAoHA,CA1TA;;IA2TA;IACA;MACA;QAAAxF;MAAA;MAEA;MACA,cACA,OADA;QAEAiC,oCAFA;QAGAE;UACA,SACA,OADA;YAEAM;UAFA;QAIA,CALA;MAHA;;MAUA;QACA;QACA;QACA6B;UACA;YACA;UACA,CAFA;QAGA,CAJA,EAIA,GAJA;MAKA;IACA,CAnVA;;IAoVAmB;MACA;;MACA;QACA;MACA,CAFA,MAEA;QACA;MACA;IACA,CA3VA;;IA4VA;IACAC;MACA;MACA,0DACAC,oBADA;MAEA;IACA,CAlWA;;IAmWA;IACAC;MACA;QACA;MACA,CAFA;MAGA;IACA,CAzWA;;IA0WA;IACA;MACA;QAAA5F;MAAA;MAEA;MACA;QACA;MACA,CAFA;MAGA;MACA;IACA,CApXA;;IAqXA6F;MACA;QACAzD,aADA;QAEAC,iBAFA;QAGAC,eAHA;QAIAP,SAJA;QAKAQ,iBALA;QAMAC,cANA;QAOAC,UAPA;QAQAC;MARA;IAUA,CAhYA;;IAiYAoD;MACA;QACA;;QACA,IACA,0CACA,kCAFA,EAGA;UACA;UACA;QACA;MACA;;MACAC;MACA;IACA,CA9YA;;IA+YA;IACA;MACA;QACAxB,OADA;QAEAC;MAFA;MAKA;IACA,CAvZA;;IAwZA;IACAwB;MACA;MACA;MACA;MACA;MACA;MACA;IACA,CAhaA;;IAiaA;IACAC;MACA;;MACA;QACA,6BADA,CAEA;;QACAxC,kCAHA,CAIA;;QACA,kDALA,CAMA;;QACA;UACAyC;UACA;QACA;MACA;IACA,CAhbA;;IAibA;IACAC;MACA;MACA,iBAFA,CAGA;MACA;IACA;;EAvbA;AAlLA","names":["addFinanceType","editFinanceType","getReceivedInfo","addReceived","editReceived","getTempReceivedData","getAllFinanceTypeNoPage","getReceiveInfo","getAllReceive","editPaid","addPaid","name","components","Receivable","AccountType","SelectCustomer","SelectShop","data","callback","tableData","form_type","label","value","show_model","add_form","link","isDefault","enableStatus","add_rule","required","message","loading","account_index","financeTypeList","pay_type_list","code","account_show","receivable_show","no","form","customerId","customerName","sourceNo","sourceNoMoney","currentAccountName","financeType","financeTypeId","shopId","money","shopName","receiptTime","createTime","accountList","accountId","accountNumber","accountName","discountMoney","finalMoney","payWay","remark","rules","validator","account_id","isLook","isEdit","show_shop","choose_data","check_money","id","time","delAccountList","flag","activeName","computed","total","sum","moneyTotal","Number","offSetTotal","offSetNotTotal","created","activated","methods","goOtherDetail","selectionChange","num","offsetMoney","setTimeout","page","pageSize","offsetStatus","moneyType","target","selShop","receivablesel","receiveReceiptId","tempSave","receiptOffsetData","type","isSub","receiveCreateTime","sourceId","confirmButtonText","cancelButtonText","then","catch","openAccount","accountsel","val","typeChange","addAccount","delAccount","console","customerSel","offsetGet","item","moneyBlur"],"sourceRoot":"src/views/Finance/Receivable","sources":["AddReceipt.vue"],"sourcesContent":["<!--新增收款单-->\n<template>\n <ContainerTit class=\"AddReceipt\">\n <div class=\"page-tip-div\" style=\"margin: 0; position: relative\">\n 温馨提示:1、退款时在金额输入框输入负数即可!2、收款时,在金额输入框输入正数即可!3、客户给商家预付货款时,在新增选择单据类型为预存收款后不用选择原单据号即可创建!\n <div class=\"btn-top-div\">\n <el-button\n v-if=\"$accessCheck($Access.ReceiptListGetTempReceivedData)\"\n :loading=\"loading\"\n :disabled=\"isLook || isEdit\"\n @click=\"temData(true)\"\n >\n 暂存\n </el-button>\n <el-button\n v-if=\"!isLook\"\n type=\"primary\"\n :loading=\"loading\"\n @click=\"addData(false)\"\n >\n 保存并提交\n </el-button>\n </div>\n </div>\n <el-form\n ref=\"base_form\"\n label-width=\"120px\"\n :model=\"form\"\n size=\"small\"\n :rules=\"rules\"\n :disabled=\"isLook\"\n >\n <el-tabs v-model=\"activeName\">\n <el-tab-pane label=\"基础信息\" name=\"one\" style=\"position: relative\">\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 <el-form-item\n label=\"收款单位\"\n prop=\"customerName\"\n style=\"min-width: 400px\"\n >\n <SelectCustomer\n v-model=\"form.customerName\"\n :clearable=\"false\"\n width=\"150\"\n @change=\"customerSel\"\n />\n <el-button\n size=\"mini\"\n type=\"text\"\n @click=\"$router.push('/Customer/CustomerAdmin/AddCustomer')\"\n >\n 【新建客户】\n </el-button>\n </el-form-item>\n </el-col>\n <el-col class=\"form\" :span=\"6\">\n <el-form-item label=\"单据日期\" prop=\"brandId\">\n <template>\n <div class=\"block\">\n <el-date-picker\n v-model=\"form.receiptTime\"\n style=\"width: 210px\"\n type=\"date\"\n placeholder=\"选择日期\"\n value-format=\"timestamp\"\n ></el-date-picker>\n </div>\n </template>\n </el-form-item>\n </el-col>\n <el-col class=\"form\" :span=\"6\">\n <el-form-item\n label=\"所属店铺\"\n prop=\"shopName\"\n style=\"min-width: 400px\"\n >\n <SelectShop\n v-model=\"form.shopId\"\n width=\"160\"\n :clearable=\"false\"\n placeholder=\"选择商铺\"\n @change=\"selShop\"\n />\n <el-button\n size=\"mini\"\n type=\"text\"\n @click=\"$router.push('/SystemSettings/liansuoguanli/AddShop')\"\n >\n 【新建商铺】\n </el-button>\n </el-form-item>\n </el-col>\n <el-col class=\"form\" :span=\"6\">\n <el-form-item label=\"当前应收\" prop=\"money\">\n <el-input\n v-model=\"form.money\"\n disabled\n style=\"width: 210px\"\n placeholder=\"不可编辑\"\n ></el-input>\n </el-form-item>\n </el-col>\n <el-col class=\"form\" :span=\"6\">\n <el-form-item label=\"业务类型\">\n <el-select\n v-model=\"form.financeTypeId\"\n style=\"width: 180px\"\n clearable\n placeholder=\"选择类型\"\n @change=\"typeChange\"\n >\n <el-option\n v-for=\"(item, index) in financeTypeList\"\n :key=\"index\"\n :label=\"item.name\"\n :value=\"item.id\"\n ></el-option>\n </el-select>\n <el-button\n v-if=\"financeTypeList.length === 0\"\n size=\"mini\"\n type=\"text\"\n @click=\"getAllFinanceType\"\n >\n 【刷新】\n </el-button>\n <el-button\n v-if=\"financeTypeList.length === 0\"\n size=\"mini\"\n type=\"text\"\n @click=\"show_model = true\"\n >\n 【新建类型】\n </el-button>\n </el-form-item>\n </el-col>\n <el-col class=\"form\" :span=\"6\">\n <el-form-item label=\"收款人\">\n {{ form.currentAccountName }}\n </el-form-item>\n </el-col>\n </el-row>\n </el-tab-pane>\n </el-tabs>\n <div class=\"order_bottom\">\n <p class=\"text\">收款单明细</p>\n <el-table :data=\"form.accountList\">\n <el-table-column prop=\"accountId\" label=\"结算账户\" min-width=\"160\">\n <template slot-scope=\"scope\">\n <el-input\n v-model=\"scope.row.accountName\"\n readonly\n style=\"width: 100%\"\n size=\"small\"\n placeholder=\"结算账户\"\n >\n <i\n slot=\"suffix\"\n class=\"el-input__icon el-icon-search\"\n @click=\"openAccount(scope.$index)\"\n ></i>\n </el-input>\n </template>\n </el-table-column>\n <el-table-column prop=\"money\" label=\"收款金额\" min-width=\"120\">\n <template slot-scope=\"scope\">\n <el-input-number\n v-model=\"scope.row.money\"\n :controls=\"false\"\n placeholder=\"收款金额\"\n size=\"small\"\n style=\"width: 100%\"\n :min=\"0\"\n @blur=\"moneyBlur\"\n ></el-input-number>\n </template>\n </el-table-column>\n <el-table-column label=\"优惠金额\" min-width=\"120\">\n <template slot-scope=\"scope\">\n <el-input-number\n v-model=\"scope.row.discountMoney\"\n :controls=\"false\"\n placeholder=\"优惠金额\"\n style=\"width: 100%\"\n size=\"small\"\n :max=\"Number(scope.row.money)\"\n :min=\"0\"\n ></el-input-number>\n </template>\n </el-table-column>\n <el-table-column label=\"实际收款金额\" min-width=\"120\" align=\"center\">\n <template slot-scope=\"scope\">\n {{\n $NP.minus(scope.row.money || 0, scope.row.discountMoney || 0)\n }}\n </template>\n </el-table-column>\n <el-table-column label=\"备注\" min-width=\"200\">\n <template slot-scope=\"scope\">\n <el-input\n v-model=\"scope.row.remark\"\n style=\"width: 100%\"\n size=\"small\"\n placeholder=\"备注\"\n ></el-input>\n </template>\n </el-table-column>\n <el-table-column\n prop=\"remark\"\n label=\"操作\"\n width=\"140\"\n align=\"center\"\n >\n <template slot-scope=\"scope\">\n <el-button\n :disabled=\"form.accountList.length === 1\"\n size=\"mini\"\n type=\"text\"\n @click=\"delAccount(scope.$index)\"\n >\n 删除\n </el-button>\n <!-- <el-button size=\"mini\" type=\"text\" @click=\"addAccount\">-->\n <!-- 新增-->\n <!-- </el-button>-->\n </template>\n </el-table-column>\n </el-table>\n <div class=\"table-b-div\">\n <div class=\"table-b-div-cont\" @click=\"addAccount\">\n <el-button type=\"text\" size=\"mini\" @click=\"addAccount\">\n <i class=\"el-icon-plus\"></i>\n 新增\n </el-button>\n </div>\n </div>\n </div>\n <div class=\"order_bottom\">\n <p class=\"text\">核销明细</p>\n <div class=\"Enunciate\">\n <div class=\"Enunciate_cont clearfix\">\n <div class=\"float_left\">\n <span>\n 未核销金额:{{ $_common.formattedNumber(offSetNotTotal) }}\n </span>\n <span style=\"margin: 0 20px\">\n 本次核销金额:{{ $_common.formattedNumber(offSetTotal) }}\n </span>\n <span>\n 核销差额:{{\n $_common.formattedNumber(offSetTotal - moneyTotal)\n }}\n </span>\n </div>\n <div class=\"float_right\">\n <el-button size=\"mini\" @click=\"offsetGet\">自动核销</el-button>\n </div>\n </div>\n </div>\n <el-table\n ref=\"multipleTable\"\n :data=\"tableData\"\n style=\"width: 100%\"\n @selection-change=\"selectionChange\"\n >\n <el-table-column\n type=\"selection\"\n width=\"55\"\n align=\"center\"\n fixed=\"left\"\n ></el-table-column>\n <el-table-column\n prop=\"receiptTypeId\"\n label=\"单据类型\"\n min-width=\"100\"\n >\n <template slot-scope=\"scope\">\n {{\n scope.row.receiptTypeId === 6\n ? \"销售退货单\"\n : scope.row.receiptTypeId === 1\n ? \"销售订单\"\n : \"\"\n }}\n </template>\n </el-table-column>\n <el-table-column\n prop=\"no\"\n label=\"单据编号\"\n min-width=\"140\"\n ></el-table-column>\n <el-table-column prop=\"address\" label=\"单据日期\" min-width=\"120\">\n <template slot-scope=\"scope\">\n {{ $_common.formatDate(scope.row.createTime) }}\n </template>\n </el-table-column>\n <el-table-column label=\"金额\" min-width=\"100\">\n <template slot-scope=\"scope\">\n {{ $_common.formattedNumber(scope.row.receiveMoney) }}\n </template>\n </el-table-column>\n <el-table-column prop=\"address\" label=\"未核销金额\" min-width=\"100\">\n <template slot-scope=\"scope\">\n {{ $_common.formattedNumber(scope.row.notOffsetMoney) }}\n </template>\n </el-table-column>\n <el-table-column prop=\"address\" label=\"本次核销金额\" min-width=\"100\">\n <template slot-scope=\"scope\">\n <el-input-number\n v-model=\"scope.row.offsetMoney\"\n :controls=\"false\"\n placeholder=\"本次核销金额\"\n :max=\"Number(scope.row.notOffsetMoney)\"\n style=\"width: 100%\"\n size=\"small\"\n ></el-input-number>\n </template>\n </el-table-column>\n <el-table-column\n show-overflow-tooltip\n prop=\"originNo\"\n label=\"销售订单号\"\n min-width=\"100\"\n >\n <template slot-scope=\"scope\">\n <span\n class=\"click-div\"\n @click=\"goOtherDetail(scope.row.originId)\"\n >\n {{ scope.row.originNo }}\n </span>\n </template>\n </el-table-column>\n <el-table-column\n prop=\"customerName\"\n label=\"往来单位名称\"\n min-width=\"100\"\n ></el-table-column>\n </el-table>\n </div>\n </el-form>\n <AccountType\n v-if=\"account_show\"\n :shop-id=\"form.shopId\"\n :is-check=\"false\"\n :is-show=\"account_show\"\n @cancel=\"account_show = false\"\n @confirm=\"accountsel\"\n />\n <Receivable\n v-if=\"receivable_show\"\n :id=\"form.customerId\"\n :is-check=\"false\"\n :is-show=\"receivable_show\"\n @cancel=\"receivable_show = false\"\n @confirm=\"receivablesel\"\n />\n <!-- 新增财务类型-->\n <el-dialog\n :close-on-press-escape=\"false\"\n :close-on-click-modal=\"false\"\n name=\"新增财务类型\"\n :visible.sync=\"show_model\"\n width=\"40%\"\n @close=\"show_model = false\"\n >\n <el-form\n ref=\"form\"\n :model=\"add_form\"\n :rules=\"add_rule\"\n size=\"small\"\n label-width=\"100px\"\n >\n <el-form-item label=\"类型\" prop=\"name\">\n <el-input\n v-model=\"add_form.name\"\n placeholder=\"请输入类型名称\"\n ></el-input>\n </el-form-item>\n <el-form-item label=\"归属单据\" prop=\"link\">\n <el-select v-model=\"add_form.link\" placeholder=\"请选择\">\n <el-option\n v-for=\"item in form_type\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\"\n ></el-option>\n </el-select>\n </el-form-item>\n <el-form-item label=\"是否默认\" prop=\"defaultStatus\">\n <el-switch\n v-model=\"add_form.isDefault\"\n :active-value=\"5\"\n :inactive-value=\"4\"\n ></el-switch>\n </el-form-item>\n <el-form-item label=\"是否禁用\" prop=\"enableStatus\">\n <el-radio-group v-model=\"add_form.enableStatus\">\n <el-radio :label=\"4\">是</el-radio>\n <el-radio :label=\"5\">否</el-radio>\n </el-radio-group>\n </el-form-item>\n </el-form>\n <span slot=\"footer\" class=\"dialog-footer\">\n <el-button size=\"small\" @click=\"show_model = false\">取 消</el-button>\n <el-button type=\"primary\" size=\"small\" @click=\"addType\">\n 确 定\n </el-button>\n </span>\n </el-dialog>\n </ContainerTit>\n</template>\n\n<script>\n import Receivable from \"@/component/Finance/Receivable\";\n import AccountType from \"../AccountType\";\n\n import { getAllPayment } from \"@/api/System\";\n import { getCustomerInfo } from \"@/api/Customer\";\n\n import {\n addFinanceType,\n editFinanceType,\n getReceivedInfo,\n addReceived,\n editReceived,\n getTempReceivedData,\n getAllFinanceTypeNoPage,\n getReceiveInfo,\n getAllReceive,\n editPaid,\n addPaid,\n } from \"@/api/Finance\";\n import SelectShop from \"@/component/goods/SelectShop.vue\";\n import SelectCustomer from \"@/component/common/SelectCustomer.vue\";\n export default {\n name: \"AddReceipt\",\n components: {\n Receivable,\n AccountType,\n SelectCustomer,\n SelectShop,\n },\n data() {\n const validateName = (rule, value, callback) => {\n if (!value) {\n callback(new Error(\"请选择收款单位\"));\n } else {\n callback();\n }\n };\n const validateNo = (rule, value, callback) => {\n if (!value) {\n callback(new Error(\"请选择原单据号\"));\n } else {\n callback();\n }\n };\n const validateShopName = (rule, value, callback) => {\n if (!value) {\n callback(new Error(\"请选择店铺\"));\n } else {\n callback();\n }\n };\n return {\n tableData: [],\n // 新增财务类型\n form_type: [\n {\n label: \"应收单\",\n value: 1,\n },\n {\n label: \"应付单\",\n value: 2,\n },\n ],\n show_model: false,\n add_form: {\n name: \"\",\n link: \"\",\n isDefault: 4,\n enableStatus: 5,\n },\n add_rule: {\n name: [{ required: true, message: \"请输入类型名称\" }],\n link: [{ required: true, message: \"请选择归属单据\" }],\n },\n loading: false,\n account_index: 0,\n financeTypeList: [],\n pay_type_list: [],\n code: \"\",\n account_show: false,\n receivable_show: false,\n no: \"\",\n form: {\n customerId: \"\",\n customerName: \"\",\n sourceNo: \"\",\n sourceNoMoney: \"\",\n currentAccountName: \"\",\n financeType: \"\",\n financeTypeId: \"\",\n shopId: \"\",\n money: \"\",\n shopName: \"\",\n receiptTime: \"\",\n createTime: \"\",\n accountList: [\n {\n accountId: \"\",\n accountNumber: \"\",\n accountName: \"\",\n money: \"\",\n discountMoney: \"\",\n finalMoney: \"\",\n payWay: \"\",\n remark: \"\",\n },\n ],\n },\n rules: {\n customerName: [{ required: true, validator: validateName }],\n sourceNo: [{ required: true, validator: validateNo }],\n shopName: [{ required: true, validator: validateShopName }],\n },\n account_id: \"\",\n isLook: false,\n isEdit: false,\n show_shop: false,\n choose_data: [],\n check_money: 0, // 勾选后合计\n id: \"\",\n time: \"\",\n delAccountList: [],\n flag: false,\n activeName: \"one\",\n };\n },\n computed: {\n // 核销总金额\n total() {\n if (!this.form.accountList.length) {\n return 0;\n } else if (this.form.accountList.length === 1) {\n return Number(this.form.accountList[0].money);\n } else {\n let sum = 0;\n this.form.accountList.forEach((item) => {\n sum = this.$NP.plus(sum, Number(item.money));\n });\n return sum;\n }\n },\n // 收款总金额\n moneyTotal() {\n if (!this.form.accountList.length) {\n return 0;\n } else if (this.form.accountList.length === 1) {\n return this.$NP.minus(\n Number(this.form.accountList[0].money),\n Number(this.form.accountList[0].discountMoney)\n );\n } else {\n let sum = 0;\n this.form.accountList.forEach((item) => {\n const money = this.$NP.minus(\n Number(item.money),\n Number(item.discountMoney)\n );\n sum = this.$NP.plus(sum, money);\n });\n return sum;\n }\n },\n // 核销总金额\n offSetTotal() {\n if (!this.choose_data.length) {\n return 0;\n } else if (this.choose_data.length === 1) {\n return Number(this.choose_data[0].offsetMoney);\n } else {\n let sum = 0;\n this.choose_data.forEach((item) => {\n sum = this.$NP.plus(sum, Number(item.offsetMoney));\n });\n return sum;\n }\n },\n // 未核销总金额\n offSetNotTotal() {\n if (!this.tableData.length) {\n return 0;\n } else if (this.tableData.length === 1) {\n return Number(this.tableData[0].offsetMoney);\n } else {\n let sum = 0;\n this.tableData.forEach((item) => {\n sum = this.$NP.plus(sum, Number(item.offsetMoney));\n });\n return sum;\n }\n },\n },\n created() {\n this.initial();\n },\n activated() {\n if (this.$_isInit()) return;\n this.initial();\n },\n methods: {\n // 初始化\n async initial() {\n await this.getAllFinanceType();\n await this.getAllPayment();\n this.isLook = this.$route.path.indexOf(\"LookReceipt\") > -1;\n this.isEdit = this.$route.path.indexOf(\"editReceipt\") > -1;\n // 收款人默认当前账户\n this.form.currentAccountName = this.userName;\n if (this.$route.params.createTime) {\n this.form.createTime = this.$route.params.createTime;\n }\n if (this.$route.params.id) {\n // 编辑收款单\n this.account_id = this.$route.params.id;\n // 获取详情 收款单详情\n await this.getReceivedInfo();\n } else if (this.$route.query.id) {\n // 从应收单点击收款按钮进来 新增收款单\n // 获取应收单详情\n this.id = this.$route.query.id;\n this.time = this.$route.query.createTime;\n await this.getReceiveInfo();\n } else {\n // 新增收款单\n await this.getTempReceivedData(); // 获取暂存数据\n }\n\n if (this.$route.query.customerId) {\n await this.getCustomerInfo(this.$route.query.customerId);\n }\n this.form.receiptTime = new Date().getTime();\n },\n goOtherDetail(orderId) {\n this.$router.push(\"/order/manageO/OrderDetails/1/\" + orderId);\n },\n // 批量选择\n selectionChange(val) {\n this.choose_data = val;\n let num = 0;\n this.choose_data.forEach((item) => {\n num += Number(item.offsetMoney);\n });\n // console.log(\"勾选余额\", num);\n this.check_money = num;\n },\n // 获取应收单详情\n async getReceiveInfo(obj) {\n const { data } = await getReceiveInfo({\n id: this.id,\n createTime: this.time,\n });\n this.id = data.id;\n this.form.customerId = data.customerId;\n this.form.customerName = data.customerName;\n\n this.form.sourceNo = data.no;\n this.form.sourceNoMoney = data.receiveMoney;\n\n this.form.shopName = data.shopName;\n this.form.shopId = data.shopId;\n if (data.receiptTypeId === 6) {\n const finance = this.financeTypeList.find((item) => {\n return item.name === \"销售退货退款\";\n });\n this.form.financeTypeId = finance.id;\n this.form.financeType = finance.name;\n }\n this.form.accountList = [\n {\n accountId: 0,\n accountNumber: \"\",\n accountName: \"\",\n money: data.receiveMoney,\n discountMoney: \"\",\n finalMoney: \"\",\n payWay: \"\",\n remark: \"\",\n },\n ];\n this.tableData = [\n {\n ...data,\n offsetMoney: Number(data.notOffsetMoney),\n },\n ];\n // 在应收单列表点击收款按钮打开的新增收款单页面,核销明细自动核销。\n setTimeout(() => {\n this.offsetGet();\n }, 200);\n // await this.getCustomerInfo(data.customerId);\n },\n // 获取客户详情\n async getCustomerInfo(id) {\n const { data } = await getCustomerInfo(id);\n this.form.money = data.money || 0;\n this.form.customerId = data.id;\n\n this.form.customerName = data.name;\n await this.getAllReceive();\n },\n // 应收单列表\n async getAllReceive() {\n let params = {\n page: 1,\n pageSize: 999,\n customerId: this.form.customerId,\n offsetStatus: [3, 4],\n moneyType: 1,\n // auditStatus: 2,\n // financeTypeId: this.form.financeTypeId,\n };\n const { data } = await getAllReceive(params);\n this.tableData = data.map((item) => {\n return { ...item, offsetMoney: Number(item.notOffsetMoney) };\n });\n },\n // 新增财务类型\n async addType() {\n this.$refs[\"form\"].validate(async (valid) => {\n if (valid) {\n let target = {};\n if (!this.is_edit) {\n target = await addFinanceType({\n ...this.add_form,\n });\n } else {\n target = await editFinanceType(this.pay_id, {\n ...this.add_form,\n });\n }\n const data = target;\n\n this.show_model = false;\n }\n });\n },\n // 选择商铺\n selShop(val, row) {\n this.form.shopName = row[0].name;\n // this.form.shopId = row[0].id\n },\n receivablesel(val) {\n this.form.sourceNo = val[0].no;\n this.form.sourceNoMoney = val[0].receiveMoney;\n this.form.shopName = val[0].shopName;\n this.form.shopId = val[0].shopId;\n },\n // 收款单详情\n async getReceivedInfo() {\n const { data } = await getReceivedInfo({\n id: this.account_id,\n createTime: this.form.createTime,\n });\n\n this.form = {\n ...data,\n receiptTime: data.receiptTime * 1000,\n accountList: data.accountList,\n };\n if (data.offsetDate) {\n this.tableData = data.offsetDate;\n this.choose_data = data.offsetDate;\n setTimeout(() => {\n this.tableData.forEach((item) => {\n if (item.offsetMoney > 0) {\n this.$refs.multipleTable.toggleRowSelection(item);\n }\n });\n }, 200);\n }\n },\n // 暂存数据\n async temData(tempSave) {\n let receiptOffsetData = this.choose_data.map((item) => {\n return {\n receiveReceiptId: item.id,\n offsetMoney: item.offsetMoney,\n };\n });\n const params = {\n ...this.form,\n receiptTime: parseInt(this.form.receiptTime / 1000),\n tempSave: tempSave,\n receiptOffsetData: receiptOffsetData,\n };\n this.loading = true;\n const data = await addReceived(params);\n this.loading = false;\n\n this.$message({\n message: \"暂存成功\",\n type: \"success\",\n });\n this.$closeCurrentGoEdit(\"/Finance/Receivable/ReceiptList\");\n },\n // 添加\n async addData(tempSave) {\n this.$refs[\"base_form\"].validate(async (valid) => {\n if (valid) {\n if (!tempSave) {\n if (this.flag) {\n this.form.accountList = [\n ...this.form.accountList,\n ...this.delAccountList,\n ];\n }\n let isSub = true;\n for (let i in this.form.accountList) {\n let item = this.form.accountList[i];\n if (!item.accountId) {\n isSub = false;\n this.$message.warning(\"请选择结算账户\");\n break;\n }\n if (!item.money) {\n isSub = false;\n this.$message.warning(\"请输入收款金额\");\n break;\n }\n /* if (!item.payWay) {\n isSub = false;\n this.$message.warning(\"请选择结算方式\");\n break;\n }*/\n if (this.offSetTotal > this.total) {\n isSub = false;\n this.$message.warning(\"核销金额不能大于收款金额\");\n break;\n }\n }\n if (!isSub) {\n return;\n }\n }\n if (this.choose_data.length) {\n let receiptOffsetData = this.choose_data.map((item) => {\n return {\n receiveReceiptId: item.id,\n offsetMoney: item.offsetMoney,\n receiveCreateTime: item.createTime,\n };\n });\n const params = {\n ...this.form,\n receiptTime: parseInt(this.form.receiptTime / 1000),\n tempSave: tempSave,\n receiptOffsetData: receiptOffsetData,\n sourceId: this.id,\n };\n this.loading = true;\n try {\n if (this.account_id) {\n const data = await editReceived(this.account_id, params);\n } else {\n const data = await addReceived(params);\n }\n this.loading = false;\n this.$message({\n type: \"success\",\n message: \"操作成功!\",\n });\n this.$closeCurrentGoEdit(\"/Finance/Receivable/ReceiptList\");\n } catch {\n this.loading = false;\n }\n } else {\n if (this.form.financeTypeId === 1) {\n this.form.financeType = \"销售退货退款\";\n }\n if (this.form.financeTypeId === 2) {\n this.form.financeType = \"销售收款\";\n }\n if (this.form.financeTypeId === 3) {\n this.form.financeType = \"预存收款\";\n }\n const form = this.$_common.deepClone(this.form);\n delete form.sourceNo;\n const params = {\n ...form,\n receiptTime: parseInt(this.form.receiptTime / 1000),\n tempSave: tempSave,\n financeTypeId: this.form.financeTypeId,\n financeType: this.form.financeType,\n };\n this.$confirm(\"确定要将该单据作为预收款吗?\", \"提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\",\n })\n .then(async () => {\n this.loading = true;\n try {\n if (this.account_id) {\n const data = await editReceived(this.account_id, params);\n } else {\n const data = await addReceived(params);\n }\n this.loading = false;\n this.$message({\n type: \"success\",\n message: \"操作成功!\",\n });\n this.$closeCurrentGoEdit(\"/Finance/Receivable/ReceiptList\");\n } catch {\n this.loading = false;\n }\n })\n .catch(() => {\n this.loading = false;\n });\n }\n }\n });\n },\n // 获取暂存数据\n async getTempReceivedData() {\n const { data } = await getTempReceivedData();\n\n if (JSON.stringify(data) === \"{}\") return;\n this.form = {\n ...data,\n receiptTime: data.receiptTime * 1000,\n accountList: data.accountList.map((item) => {\n return {\n ...item,\n payWay: parseInt(item.payWay),\n };\n }),\n };\n if (data.offsetDate) {\n this.tableData = data.offsetDate;\n this.choose_data = data.offsetDate;\n setTimeout(() => {\n this.tableData.forEach((item) => {\n this.$refs.multipleTable.toggleRowSelection(item);\n });\n }, 200);\n }\n },\n openAccount(index) {\n this.account_index = index;\n if (this.form.shopId) {\n this.account_show = true;\n } else {\n this.$message.warning(\"请选择所属店铺\");\n }\n },\n // 结算账户\n accountsel(val) {\n this.form.accountList[this.account_index].accountId = val[0].id;\n this.form.accountList[this.account_index].accountNumber =\n val[0].accountNumber;\n this.form.accountList[this.account_index].accountName = val[0].name;\n },\n // 类型\n typeChange(val) {\n const target = this.financeTypeList.find((item) => {\n return item.id === val;\n });\n this.form.financeType = target.name;\n },\n // 获取财务类型\n async getAllFinanceType() {\n const { data } = await getAllFinanceTypeNoPage(1);\n\n this.financeTypeList = data;\n const finance = data.find((item) => {\n return item.name === \"销售收款\";\n });\n this.form.financeTypeId = finance.id;\n this.form.financeType = finance.name;\n },\n addAccount() {\n this.form.accountList.push({\n accountId: \"\",\n accountNumber: \"\",\n accountName: \"\",\n money: \"\",\n discountMoney: \"\",\n finalMoney: \"\",\n payWay: \"\",\n remark: \"\",\n });\n },\n delAccount(index) {\n if (this.account_id) {\n this.flag = true;\n if (\n this.form.accountList[index].accountId &&\n this.form.accountList[index].money\n ) {\n this.form.accountList[index].deleteStatus = 4;\n this.delAccountList.push(this.form.accountList[index]);\n }\n }\n console.log(this.delAccountList);\n this.form.accountList.splice(index, 1);\n },\n // 获取支付方式\n async getAllPayment() {\n const data = await getAllPayment({\n page: 1,\n pageSize: 99,\n });\n\n this.pay_type_list = data.data;\n },\n // 客户选择\n customerSel(val, row) {\n this.form.customerId = row[0].id;\n this.form.money = row[0].money;\n this.form.sourceNo = \"\";\n this.form.shopName = row[0].shopName;\n this.form.shopId = row[0].shopId || \"\";\n this.getAllReceive();\n },\n // 自动核销\n offsetGet() {\n let total = 0;\n for (let i = 0; i < this.tableData.length; i++) {\n let item = this.tableData[i];\n // 把本次核销金额相加\n total += Number(item.offsetMoney);\n // 勾选可以核销的数据\n this.$refs.multipleTable.toggleRowSelection(item);\n // 如果合计核销金额大于收款总金额,停止循环,并把停止循环前的一条核销数据修改为差值\n if (total > this.moneyTotal || total === this.moneyTotal) {\n item.offsetMoney = this.moneyTotal - (total - item.offsetMoney);\n break;\n }\n }\n },\n // 收款金额失去焦点\n moneyBlur() {\n // 收款金额失去焦点后自动核销\n this.offsetGet();\n // 收款金额失去焦点后重新核销\n // this.$refs.multipleTable.clearSelection();\n },\n },\n };\n</script>\n<style lang=\"scss\" scoped>\n .creat-custorm {\n color: #1890ff;\n font-size: 12px;\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 .table-b-div {\n height: 80px;\n width: 100%;\n padding: 16px 24px 32px 25px;\n border: 1px solid #ebeef5;\n text-align: center;\n line-height: 40px;\n border-top: 0 none;\n cursor: pointer;\n .table-b-div-cont {\n border: 1px dashed #2153d4;\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 .Enunciate {\n width: 100%;\n height: 72px;\n color: #fff;\n font-size: 16px;\n line-height: 40px;\n padding: 16px 24px;\n border-top: 1px solid #dee2ee;\n .Enunciate_cont {\n background-color: #fa6400;\n border-radius: 3px;\n padding: 0 24px;\n }\n }\n .btn-top-div {\n position: absolute;\n right: 20px;\n top: 45px;\n z-index: 999;\n }\n</style>\n<style>\n .AddReceipt {\n background-color: #fff;\n }\n .AddReceipt .el-tabs__item {\n font-size: 16px !important;\n height: 60px !important;\n line-height: 60px !important;\n }\n .AddReceipt .is-active {\n font-weight: 700;\n color: #000;\n }\n .AddReceipt .el-tabs__nav {\n margin-left: 24px;\n }\n</style>\n"]}]}