1 |
- {"remainingRequest":"D:\\wnmp\\www\\vue\\seaBlueAdmin\\node_modules\\thread-loader\\dist\\cjs.js!D:\\wnmp\\www\\vue\\seaBlueAdmin\\node_modules\\babel-loader\\lib\\index.js!D:\\wnmp\\www\\vue\\seaBlueAdmin\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\wnmp\\www\\vue\\seaBlueAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\wnmp\\www\\vue\\seaBlueAdmin\\src\\views\\Finance\\Cashier\\AddRefundForm.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\wnmp\\www\\vue\\seaBlueAdmin\\src\\views\\Finance\\Cashier\\AddRefundForm.vue","mtime":1678954023541},{"path":"D:\\wnmp\\www\\vue\\seaBlueAdmin\\babel.config.js","mtime":1681371897685},{"path":"D:\\wnmp\\www\\vue\\seaBlueAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1681371913603},{"path":"D:\\wnmp\\www\\vue\\seaBlueAdmin\\node_modules\\thread-loader\\dist\\cjs.js","mtime":1681371925422},{"path":"D:\\wnmp\\www\\vue\\seaBlueAdmin\\node_modules\\babel-loader\\lib\\index.js","mtime":1681371912860},{"path":"D:\\wnmp\\www\\vue\\seaBlueAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1681371913603},{"path":"D:\\wnmp\\www\\vue\\seaBlueAdmin\\node_modules\\vue-loader\\lib\\index.js","mtime":1681371925849}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KaW1wb3J0IFJlY2VpdmFibGUgZnJvbSAiQC9jb21wb25lbnQvRmluYW5jZS9SZWNlaXZhYmxlIjsKaW1wb3J0IEFjY291bnRUeXBlIGZyb20gIi4uL0FjY291bnRUeXBlIjsKaW1wb3J0IHsgZ2V0Q3VzdG9tZXJJbmZvIH0gZnJvbSAiQC9hcGkvQ3VzdG9tZXIiOwppbXBvcnQgU2VsZWN0U3VwcGxpZXIgZnJvbSAiQC9jb21wb25lbnQvY29tbW9uL1NlbGVjdFN1cHBsaWVyLnZ1ZSI7CmltcG9ydCB7IGdldFJlZnVuZEluZm8sIGFkZFJlZnVuZCwgZWRpdFJlZnVuZCwgZ2V0VGVtcFJlY2VpdmVkRGF0YSwgZ2V0QWxsUmVjZWl2ZSwgZ2V0QWxsRmluYW5jZVR5cGVOb1BhZ2UgfSBmcm9tICJAL2FwaS9GaW5hbmNlIjsKaW1wb3J0IFNlbGVjdFNob3AgZnJvbSAiQC9jb21wb25lbnQvZ29vZHMvU2VsZWN0U2hvcC52dWUiOwppbXBvcnQgU2VsZWN0Q3VzdG9tZXIgZnJvbSAiQC9jb21wb25lbnQvY29tbW9uL1NlbGVjdEN1c3RvbWVyLnZ1ZSI7CmltcG9ydCB7IGdldEFsbFBheW1lbnQgfSBmcm9tICJAL2FwaS9TeXN0ZW0iOwpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogIkFkZFJlY2VpcHQiLAogIGNvbXBvbmVudHM6IHsKICAgIFJlY2VpdmFibGUsCiAgICBBY2NvdW50VHlwZSwKICAgIFNlbGVjdEN1c3RvbWVyLAogICAgU2VsZWN0U2hvcCwKICAgIFNlbGVjdFN1cHBsaWVyCiAgfSwKCiAgZGF0YSgpIHsKICAgIGNvbnN0IHZhbGlkYXRlTmFtZSA9IChydWxlLCB2YWx1ZSwgY2FsbGJhY2spID0+IHsKICAgICAgaWYgKCF2YWx1ZSkgewogICAgICAgIGNhbGxiYWNrKG5ldyBFcnJvcigi6K+36YCJ5oup6YCA5qy+5Y2V5L2NIikpOwogICAgICB9IGVsc2UgewogICAgICAgIGNhbGxiYWNrKCk7CiAgICAgIH0KICAgIH07CgogICAgY29uc3QgdmFsaWRhdGVObyA9IChydWxlLCB2YWx1ZSwgY2FsbGJhY2spID0+IHsKICAgICAgaWYgKCF2YWx1ZSkgewogICAgICAgIGNhbGxiYWNrKG5ldyBFcnJvcigi6K+36YCJ5oup5Y6f5Y2V5o2u5Y+3IikpOwogICAgICB9IGVsc2UgewogICAgICAgIGNhbGxiYWNrKCk7CiAgICAgIH0KICAgIH07CgogICAgY29uc3QgdmFsaWRhdGVTaG9wTmFtZSA9IChydWxlLCB2YWx1ZSwgY2FsbGJhY2spID0+IHsKICAgICAgaWYgKCF2YWx1ZSkgewogICAgICAgIGNhbGxiYWNrKG5ldyBFcnJvcigi6K+36YCJ5oup5bqX6ZO6IikpOwogICAgICB9IGVsc2UgewogICAgICAgIGNhbGxiYWNrKCk7CiAgICAgIH0KICAgIH07CgogICAgY29uc3QgdmFsaWRhdGVGaW5hbmNlVHlwZUlkID0gKHJ1bGUsIHZhbHVlLCBjYWxsYmFjaykgPT4gewogICAgICBpZiAoIXZhbHVlKSB7CiAgICAgICAgY2FsbGJhY2sobmV3IEVycm9yKCLor7fpgInmi6nkuJrliqHnsbvlnosiKSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgY2FsbGJhY2soKTsKICAgICAgfQogICAgfTsKCiAgICByZXR1cm4gewogICAgICBhdWRpdFN0YXR1czogMSwKICAgICAgdGFibGVEYXRhOiBbXSwKICAgICAgc2hvd19tb2RlbDogZmFsc2UsCiAgICAgIGFkZF9mb3JtOiB7CiAgICAgICAgbmFtZTogIiIsCiAgICAgICAgbGluazogIiIsCiAgICAgICAgaXNEZWZhdWx0OiA0LAogICAgICAgIGVuYWJsZVN0YXR1czogNQogICAgICB9LAogICAgICBhZGRfcnVsZTogewogICAgICAgIG5hbWU6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICLor7fovpPlhaXnsbvlnovlkI3np7AiCiAgICAgICAgfV0sCiAgICAgICAgbGluazogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogIuivt+mAieaLqeW9kuWxnuWNleaNriIKICAgICAgICB9XQogICAgICB9LAogICAgICBsb2FkaW5nOiBmYWxzZSwKICAgICAgYWNjb3VudF9pbmRleDogMCwKICAgICAgLy8gZmluYW5jZVR5cGVfbGlzdDogWwogICAgICAvLyAgIHsKICAgICAgLy8gICAgIGxhYmVsOiAi5bqU5pS26YCA5qy+5Y2VIiwKICAgICAgLy8gICAgIHZhbHVlOiAxLAogICAgICAvLyAgIH0sCiAgICAgIC8vICAgewogICAgICAvLyAgICAgbGFiZWw6ICLlupTku5jpgIDmrL7ljZUiLAogICAgICAvLyAgICAgdmFsdWU6IDIsCiAgICAgIC8vICAgfSwKICAgICAgLy8gXSwKICAgICAgY29kZTogIiIsCiAgICAgIGFjY291bnRfc2hvdzogZmFsc2UsCiAgICAgIHJlY2VpdmFibGVfc2hvdzogZmFsc2UsCiAgICAgIG5vOiAiIiwKICAgICAgZm9ybTogewogICAgICAgIC8vIHR5cGU6IDUsCiAgICAgICAgdW5pdElkOiAiIiwKICAgICAgICB1bml0TmFtZTogIiIsCiAgICAgICAgc291cmNlTm86ICIiLAogICAgICAgIHNvdXJjZU5vTW9uZXk6ICIiLAogICAgICAgIGN1cnJlbnRBY2NvdW50TmFtZTogIiIsCiAgICAgICAgZmluYW5jZVR5cGU6ICLplIDllK7pgIDmrL4iLAogICAgICAgIGZpbmFuY2VUeXBlSWQ6IDEyLAogICAgICAgIHNob3BJZDogIiIsCiAgICAgICAgbW9uZXk6ICIiLAogICAgICAgIHNob3BOYW1lOiAiIiwKICAgICAgICByZWZ1bmRUaW1lOiAiIiwKICAgICAgICBjcmVhdGVUaW1lOiAiIiwKICAgICAgICBhY2NvdW50TGlzdDogW3sKICAgICAgICAgIGFjY291bnRJZDogIiIsCiAgICAgICAgICBhY2NvdW50TnVtYmVyOiAiIiwKICAgICAgICAgIGFjY291bnROYW1lOiAiIiwKICAgICAgICAgIG1vbmV5OiAiIiwKICAgICAgICAgIGRpc2NvdW50TW9uZXk6ICIiLAogICAgICAgICAgZmluYWxNb25leTogIiIsCiAgICAgICAgICBwYXlXYXk6ICIiLAogICAgICAgICAgcmVtYXJrOiAiIgogICAgICAgIH1dCiAgICAgIH0sCiAgICAgIHJ1bGVzOiB7CiAgICAgICAgdW5pdE5hbWU6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIHZhbGlkYXRvcjogdmFsaWRhdGVOYW1lCiAgICAgICAgfV0sCiAgICAgICAgc291cmNlTm86IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIHZhbGlkYXRvcjogdmFsaWRhdGVObwogICAgICAgIH1dLAogICAgICAgIHNob3BOYW1lOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICB2YWxpZGF0b3I6IHZhbGlkYXRlU2hvcE5hbWUKICAgICAgICB9XSwKICAgICAgICBmaW5hbmNlVHlwZUlkOiBbewogICAgICAgICAgcmVxdWlyZWQ6IHRydWUsCiAgICAgICAgICB2YWxpZGF0b3I6IHZhbGlkYXRlRmluYW5jZVR5cGVJZAogICAgICAgIH1dCiAgICAgIH0sCiAgICAgIGFjY291bnRfaWQ6ICIiLAogICAgICBpc0xvb2s6IGZhbHNlLAogICAgICBpc0VkaXQ6IGZhbHNlLAogICAgICBzaG93X3Nob3A6IGZhbHNlLAogICAgICBjaG9vc2VfZGF0YTogW10sCiAgICAgIGNoZWNrX21vbmV5OiAwLAogICAgICAvLyDli77pgInlkI7lkIjorqEKICAgICAgaWQ6ICIiLAogICAgICB0aW1lOiAiIiwKICAgICAgcGF5X3R5cGVfbGlzdDogW10sCiAgICAgIGZpbmFuY2VUeXBlTGlzdDogW3sKICAgICAgICBpZDogMTEsCiAgICAgICAgbmFtZTogIumHh+i0remAgOasviIKICAgICAgfSwgewogICAgICAgIGlkOiAxMiwKICAgICAgICBuYW1lOiAi6ZSA5ZSu6YCA5qy+IgogICAgICB9XSwKICAgICAgdHlwZTogIiIsCiAgICAgIGFjdGl2ZU5hbWU6ICJvbmUiCiAgICB9OwogIH0sCgogIGNvbXB1dGVkOiB7CiAgICAvLyDpgIDmrL7mgLvph5Hpop0KICAgIG1vbmV5VG90YWwoKSB7CiAgICAgIGlmICghdGhpcy5mb3JtLmFjY291bnRMaXN0Lmxlbmd0aCkgewogICAgICAgIHJldHVybiAwOwogICAgICB9IGVsc2UgaWYgKHRoaXMuZm9ybS5hY2NvdW50TGlzdC5sZW5ndGggPT09IDEpIHsKICAgICAgICByZXR1cm4gdGhpcy4kTlAubWludXMoTnVtYmVyKHRoaXMuZm9ybS5hY2NvdW50TGlzdFswXS5tb25leSksIE51bWJlcih0aGlzLmZvcm0uYWNjb3VudExpc3RbMF0uZGlzY291bnRNb25leSkpOwogICAgICB9IGVsc2UgewogICAgICAgIGxldCBzdW0gPSAwOwogICAgICAgIHRoaXMuZm9ybS5hY2NvdW50TGlzdC5mb3JFYWNoKGl0ZW0gPT4gewogICAgICAgICAgY29uc3QgbW9uZXkgPSB0aGlzLiROUC5taW51cyhOdW1iZXIoaXRlbS5tb25leSksIE51bWJlcihpdGVtLmRpc2NvdW50TW9uZXkpKTsKICAgICAgICAgIHN1bSA9IHRoaXMuJE5QLnBsdXMoc3VtLCBtb25leSk7CiAgICAgICAgfSk7CiAgICAgICAgcmV0dXJuIHN1bTsKICAgICAgfQogICAgfSwKCiAgICAvLyDmoLjplIDmgLvph5Hpop0KICAgIG9mZlNldFRvdGFsKCkgewogICAgICBpZiAoIXRoaXMuY2hvb3NlX2RhdGEubGVuZ3RoKSB7CiAgICAgICAgcmV0dXJuIDA7CiAgICAgIH0gZWxzZSBpZiAodGhpcy5jaG9vc2VfZGF0YS5sZW5ndGggPT09IDEpIHsKICAgICAgICByZXR1cm4gTnVtYmVyKHRoaXMuY2hvb3NlX2RhdGFbMF0ub2Zmc2V0TW9uZXkpOwogICAgICB9IGVsc2UgewogICAgICAgIGxldCBzdW0gPSAwOwogICAgICAgIHRoaXMuY2hvb3NlX2RhdGEuZm9yRWFjaChpdGVtID0+IHsKICAgICAgICAgIHN1bSA9IHRoaXMuJE5QLnBsdXMoc3VtLCBOdW1iZXIoaXRlbS5vZmZzZXRNb25leSkpOwogICAgICAgIH0pOwogICAgICAgIHJldHVybiBzdW07CiAgICAgIH0KICAgIH0sCgogICAgLy8g5pyq5qC46ZSA5oC76YeR6aKdCiAgICBvZmZTZXROb3RUb3RhbCgpIHsKICAgICAgaWYgKCF0aGlzLnRhYmxlRGF0YS5sZW5ndGgpIHsKICAgICAgICByZXR1cm4gMDsKICAgICAgfSBlbHNlIGlmICh0aGlzLnRhYmxlRGF0YS5sZW5ndGggPT09IDEpIHsKICAgICAgICByZXR1cm4gTnVtYmVyKHRoaXMudGFibGVEYXRhWzBdLm9mZnNldE1vbmV5KTsKICAgICAgfSBlbHNlIHsKICAgICAgICBsZXQgc3VtID0gMDsKICAgICAgICB0aGlzLnRhYmxlRGF0YS5mb3JFYWNoKGl0ZW0gPT4gewogICAgICAgICAgc3VtID0gdGhpcy4kTlAucGx1cyhzdW0sIE51bWJlcihpdGVtLm9mZnNldE1vbmV5KSk7CiAgICAgICAgfSk7CiAgICAgICAgcmV0dXJuIHN1bTsKICAgICAgfQogICAgfQoKICB9LAoKICBhc3luYyBjcmVhdGVkKCkgewogICAgdGhpcy50eXBlID0gdGhpcy4kcm91dGUucGFyYW1zLnR5cGU7CiAgICBhd2FpdCB0aGlzLmdldEFsbFBheW1lbnQoKTsKICAgIHRoaXMuaXNMb29rID0gdGhpcy4kcm91dGUucGF0aC5pbmRleE9mKCJMb29rUmVjZWlwdCIpID4gLTE7CiAgICB0aGlzLmlzRWRpdCA9IHRoaXMuJHJvdXRlLnBhdGguaW5kZXhPZigiZWRpdFJlY2VpcHQiKSA+IC0xOyAvLyDpgIDmrL7kurrpu5jorqTlvZPliY3otKbmiLcKCiAgICB0aGlzLmZvcm0uY3VycmVudEFjY291bnROYW1lID0gdGhpcy51c2VyTmFtZTsKCiAgICBpZiAodGhpcy4kcm91dGUucGFyYW1zLmNyZWF0ZVRpbWUpIHsKICAgICAgdGhpcy5mb3JtLmNyZWF0ZVRpbWUgPSB0aGlzLiRyb3V0ZS5wYXJhbXMuY3JlYXRlVGltZTsKICAgIH0KCiAgICBpZiAodGhpcy4kcm91dGUucGFyYW1zLmlkKSB7CiAgICAgIC8vIOe8lui+kemAgOasvuWNlQogICAgICB0aGlzLmFjY291bnRfaWQgPSB0aGlzLiRyb3V0ZS5wYXJhbXMuaWQ7IC8vICDojrflj5bor6bmg4Ug6YCA5qy+5Y2V6K+m5oOFCgogICAgICBhd2FpdCB0aGlzLmdldFJlZnVuZEluZm8oKTsKICAgIH0gZWxzZSB7CiAgICAgIC8vIOaWsOWinumAgOasvuWNlQogICAgICBhd2FpdCB0aGlzLmdldFRlbXBSZWNlaXZlZERhdGEoKTsgLy8g6I635Y+W5pqC5a2Y5pWw5o2uCiAgICB9CgogICAgdGhpcy5mb3JtLnJlZnVuZFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTsKICAgIGF3YWl0IHRoaXMuZ2V0QWxsRmluYW5jZVR5cGUoKTsKICB9LAoKICBtZXRob2RzOiB7CiAgICBnb090aGVyRGV0YWlsKG9yZGVySWQpIHsKICAgICAgdGhpcy4kcm91dGVyLnB1c2goIi9vcmRlci9tYW5hZ2VPL09yZGVyRGV0YWlscy8xLyIgKyBvcmRlcklkKTsKICAgIH0sCgogICAgLy8g5om56YeP6YCJ5oupCiAgICBzZWxlY3Rpb25DaGFuZ2UodmFsKSB7CiAgICAgIHRoaXMuY2hvb3NlX2RhdGEgPSB2YWw7CiAgICAgIGxldCBudW0gPSAwOwogICAgICB0aGlzLmNob29zZV9kYXRhLmZvckVhY2goaXRlbSA9PiB7CiAgICAgICAgbnVtICs9IE51bWJlcihpdGVtLm9mZnNldE1vbmV5KTsKICAgICAgfSk7IC8vIGNvbnNvbGUubG9nKCLli77pgInkvZnpop0iLCBudW0pOwoKICAgICAgdGhpcy5jaGVja19tb25leSA9IG51bTsKICAgIH0sCgogICAgLy8g6I635Y+W5a6i5oi36K+m5oOFCiAgICBhc3luYyBnZXRDdXN0b21lckluZm8oaWQpIHsKICAgICAgY29uc3QgewogICAgICAgIGRhdGEKICAgICAgfSA9IGF3YWl0IGdldEN1c3RvbWVySW5mbyhpZCk7CiAgICAgIHRoaXMuZm9ybS5tb25leSA9IGRhdGEubW9uZXkgfHwgMDsKICAgICAgdGhpcy5mb3JtLnVuaXRJZCA9IGRhdGEuaWQ7CiAgICAgIHRoaXMuZm9ybS51bml0TmFtZSA9IGRhdGEubmFtZTsgLy8gYXdhaXQgdGhpcy5nZXRBbGxSZWNlaXZlKCk7CiAgICB9LAoKICAgIC8vICDlupTmlLbljZXliJfooagKICAgIGFzeW5jIGdldEFsbFJlY2VpdmUoKSB7CiAgICAgIGxldCBwYXJhbXMgPSB7CiAgICAgICAgcGFnZTogMSwKICAgICAgICBwYWdlU2l6ZTogOTk5LAogICAgICAgIHVuaXRJZDogdGhpcy5mb3JtLnVuaXRJZCwKICAgICAgICBvZmZzZXRTdGF0dXM6IFszLCA0XSwKICAgICAgICBtb25leVR5cGU6IDEgLy8gYXVkaXRTdGF0dXM6IDIsCiAgICAgICAgLy8gZmluYW5jZVR5cGVJZDogdGhpcy5mb3JtLmZpbmFuY2VUeXBlSWQsCgogICAgICB9OwogICAgICBjb25zdCB7CiAgICAgICAgZGF0YQogICAgICB9ID0gYXdhaXQgZ2V0QWxsUmVjZWl2ZShwYXJhbXMpOwogICAgICB0aGlzLnRhYmxlRGF0YSA9IGRhdGEubWFwKGl0ZW0gPT4gewogICAgICAgIHJldHVybiB7IC4uLml0ZW0sCiAgICAgICAgICBvZmZzZXRNb25leTogTnVtYmVyKGl0ZW0ubm90T2Zmc2V0TW9uZXkpCiAgICAgICAgfTsKICAgICAgfSk7CiAgICB9LAoKICAgIC8vIOmAieaLqeWVhumTugogICAgc2VsU2hvcCh2YWwsIHJvdykgewogICAgICB0aGlzLmZvcm0uc2hvcE5hbWUgPSByb3dbMF0ubmFtZTsgLy8gdGhpcy5mb3JtLnNob3BJZCA9IHJvd1swXS5pZAogICAgfSwKCiAgICByZWNlaXZhYmxlc2VsKHZhbCkgewogICAgICB0aGlzLmZvcm0uc291cmNlTm8gPSB2YWxbMF0ubm87CiAgICAgIHRoaXMuZm9ybS5zb3VyY2VOb01vbmV5ID0gdmFsWzBdLnJlY2VpdmVNb25leTsKICAgICAgdGhpcy5mb3JtLnNob3BOYW1lID0gdmFsWzBdLnNob3BOYW1lOwogICAgICB0aGlzLmZvcm0uc2hvcElkID0gdmFsWzBdLnNob3BJZDsKICAgIH0sCgogICAgLy8gIOmAgOasvuWNleivpuaDhQogICAgYXN5bmMgZ2V0UmVmdW5kSW5mbygpIHsKICAgICAgY29uc3QgewogICAgICAgIGRhdGEKICAgICAgfSA9IGF3YWl0IGdldFJlZnVuZEluZm8oewogICAgICAgIGlkOiB0aGlzLmFjY291bnRfaWQsCiAgICAgICAgY3JlYXRlVGltZTogdGhpcy5mb3JtLmNyZWF0ZVRpbWUKICAgICAgfSk7CiAgICAgIHRoaXMuYXVkaXRTdGF0dXMgPSBkYXRhLmF1ZGl0U3RhdHVzOwogICAgICB0aGlzLmZvcm0gPSB7IC4uLmRhdGEsCiAgICAgICAgcmVmdW5kVGltZTogZGF0YS5yZWZ1bmRUaW1lICogMTAwMCwKICAgICAgICBhY2NvdW50TGlzdDogW2RhdGEuYWNjb3VudExpc3RdCiAgICAgIH07CiAgICAgIC8qaWYgKGRhdGEub2Zmc2V0RGF0ZSkgewogICAgICAgIHRoaXMudGFibGVEYXRhID0gZGF0YS5vZmZzZXREYXRlOwogICAgICAgIHRoaXMuY2hvb3NlX2RhdGEgPSBkYXRhLm9mZnNldERhdGU7CiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgICB0aGlzLnRhYmxlRGF0YS5mb3JFYWNoKChpdGVtKSA9PiB7CiAgICAgICAgICAgIGlmIChpdGVtLm9mZnNldE1vbmV5ID4gMCkgewogICAgICAgICAgICAgIHRoaXMuJHJlZnMubXVsdGlwbGVUYWJsZS50b2dnbGVSb3dTZWxlY3Rpb24oaXRlbSk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0pOwogICAgICAgIH0sIDIwMCk7CiAgICAgIH0qLwogICAgfSwKCiAgICAvLyDmmoLlrZjmlbDmja4KICAgIGFzeW5jIHRlbURhdGEodGVtcFNhdmUpIHsKICAgICAgbGV0IHJlY2VpcHRPZmZzZXREYXRhID0gdGhpcy5jaG9vc2VfZGF0YS5tYXAoaXRlbSA9PiB7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIHJlY2VpdmVSZWNlaXB0SWQ6IGl0ZW0uaWQsCiAgICAgICAgICBvZmZzZXRNb25leTogaXRlbS5vZmZzZXRNb25leQogICAgICAgIH07CiAgICAgIH0pOwogICAgICBjb25zdCBwYXJhbXMgPSB7IC4uLnRoaXMuZm9ybSwKICAgICAgICByZWZ1bmRUaW1lOiBwYXJzZUludCh0aGlzLmZvcm0ucmVmdW5kVGltZSAvIDEwMDApLAogICAgICAgIHRlbXBTYXZlOiB0ZW1wU2F2ZSwKICAgICAgICByZWNlaXB0T2Zmc2V0RGF0YTogcmVjZWlwdE9mZnNldERhdGEKICAgICAgfTsKICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsKICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IGFkZFJlZnVuZChwYXJhbXMpOwogICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTsKICAgICAgdGhpcy4kbWVzc2FnZSh7CiAgICAgICAgbWVzc2FnZTogIuaaguWtmOaIkOWKnyIsCiAgICAgICAgdHlwZTogInN1Y2Nlc3MiCiAgICAgIH0pOwogICAgICB0aGlzLiRjbG9zZUN1cnJlbnRHb0VkaXQoIi9GaW5hbmNlL1JlY2VpdmFibGUvUmVjZWlwdExpc3QiKTsKICAgIH0sCgogICAgLy8gIOa3u+WKoAogICAgYXN5bmMgYWRkRGF0YSh0ZW1wU2F2ZSkgewogICAgICB0aGlzLiRyZWZzWyJiYXNlX2Zvcm0iXS52YWxpZGF0ZShhc3luYyB2YWxpZCA9PiB7CiAgICAgICAgaWYgKHZhbGlkKSB7CiAgICAgICAgICBpZiAoIXRlbXBTYXZlKSB7CiAgICAgICAgICAgIGxldCBpc1N1YiA9IHRydWU7CgogICAgICAgICAgICBmb3IgKGxldCBpIGluIHRoaXMuZm9ybS5hY2NvdW50TGlzdCkgewogICAgICAgICAgICAgIGxldCBpdGVtID0gdGhpcy5mb3JtLmFjY291bnRMaXN0W2ldOwoKICAgICAgICAgICAgICBpZiAoIWl0ZW0uYWNjb3VudE5hbWUpIHsKICAgICAgICAgICAgICAgIGlzU3ViID0gZmFsc2U7CiAgICAgICAgICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoIuivt+mAieaLqee7k+eul+i0puaItyIpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICBpZiAoIWl0ZW0ubW9uZXkpIHsKICAgICAgICAgICAgICAgIGlzU3ViID0gZmFsc2U7CiAgICAgICAgICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoIuivt+i+k+WFpemAgOasvumHkeminSIpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfSAvLyBpZiAoIWl0ZW0ucGF5V2F5KSB7CiAgICAgICAgICAgICAgLy8gICBpc1N1YiA9IGZhbHNlOwogICAgICAgICAgICAgIC8vICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCLor7fpgInmi6nnu5PnrpfmlrnlvI8iKTsKICAgICAgICAgICAgICAvLyAgIGJyZWFrOwogICAgICAgICAgICAgIC8vIH0KCgogICAgICAgICAgICAgIGlmICh0aGlzLm9mZlNldFRvdGFsID4gdGhpcy5tb25leVRvdGFsKSB7CiAgICAgICAgICAgICAgICBpc1N1YiA9IGZhbHNlOwogICAgICAgICAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCLmoLjplIDph5Hpop3kuI3og73lpKfkuo7ku5jmrL7ph5Hpop0iKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCFpc1N1YikgewogICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQogICAgICAgICAgfQoKICAgICAgICAgIGxldCByZWNlaXB0T2Zmc2V0RGF0YSA9IHRoaXMuY2hvb3NlX2RhdGEubWFwKGl0ZW0gPT4gewogICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgIHJlY2VpdmVSZWNlaXB0SWQ6IGl0ZW0uaWQsCiAgICAgICAgICAgICAgb2Zmc2V0TW9uZXk6IGl0ZW0ub2Zmc2V0TW9uZXksCiAgICAgICAgICAgICAgcmVjZWl2ZUNyZWF0ZVRpbWU6IGl0ZW0uY3JlYXRlVGltZQogICAgICAgICAgICB9OwogICAgICAgICAgfSk7CiAgICAgICAgICBjb25zdCBwYXJhbXMgPSB7IC4uLnRoaXMuZm9ybSwKICAgICAgICAgICAgcmVmdW5kVGltZTogcGFyc2VJbnQodGhpcy5mb3JtLnJlZnVuZFRpbWUgLyAxMDAwKSwKICAgICAgICAgICAgdGVtcFNhdmU6IHRlbXBTYXZlLAogICAgICAgICAgICByZWNlaXB0T2Zmc2V0RGF0YTogcmVjZWlwdE9mZnNldERhdGEKICAgICAgICAgIH07CiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlOwoKICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgIGlmICh0aGlzLmFjY291bnRfaWQpIHsKICAgICAgICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgZWRpdFJlZnVuZCh0aGlzLmFjY291bnRfaWQsIHBhcmFtcyk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IGFkZFJlZnVuZChwYXJhbXMpOwogICAgICAgICAgICB9CgogICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTsKICAgICAgICAgICAgdGhpcy4kbWVzc2FnZSh7CiAgICAgICAgICAgICAgdHlwZTogInN1Y2Nlc3MiLAogICAgICAgICAgICAgIG1lc3NhZ2U6ICLmk43kvZzmiJDlip8hIgogICAgICAgICAgICB9KTsKICAgICAgICAgICAgdGhpcy4kY2xvc2VDdXJyZW50R29FZGl0KCIvRmluYW5jZS9DYXNoaWVyL1NlbGxSZWZ1bmRGb3JtLzEiKTsKICAgICAgICAgIH0gY2F0Y2ggewogICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKCiAgICAvLyAg6I635Y+W5pqC5a2Y5pWw5o2uCiAgICBhc3luYyBnZXRUZW1wUmVjZWl2ZWREYXRhKCkgewogICAgICBjb25zdCB7CiAgICAgICAgZGF0YQogICAgICB9ID0gYXdhaXQgZ2V0VGVtcFJlY2VpdmVkRGF0YSgpOwogICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoZGF0YSkgPT09ICJ7fSIpIHJldHVybjsKICAgICAgdGhpcy5mb3JtID0geyAuLi5kYXRhLAogICAgICAgIHJlZnVuZFRpbWU6IGRhdGEucmVmdW5kVGltZSAqIDEwMDAsCiAgICAgICAgYWNjb3VudExpc3Q6IGRhdGEuYWNjb3VudExpc3QubWFwKGl0ZW0gPT4gewogICAgICAgICAgcmV0dXJuIHsgLi4uaXRlbSwKICAgICAgICAgICAgcGF5V2F5OiBwYXJzZUludChpdGVtLnBheVdheSkKICAgICAgICAgIH07CiAgICAgICAgfSkKICAgICAgfTsKICAgICAgLyogaWYgKGRhdGEub2Zmc2V0RGF0ZSkgewogICAgICAgIHRoaXMudGFibGVEYXRhID0gZGF0YS5vZmZzZXREYXRlOwogICAgICAgIHRoaXMuY2hvb3NlX2RhdGEgPSBkYXRhLm9mZnNldERhdGU7CiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgICB0aGlzLnRhYmxlRGF0YS5mb3JFYWNoKChpdGVtKSA9PiB7CiAgICAgICAgICAgIHRoaXMuJHJlZnMubXVsdGlwbGVUYWJsZS50b2dnbGVSb3dTZWxlY3Rpb24oaXRlbSk7CiAgICAgICAgICB9KTsKICAgICAgICB9LCAyMDApOwogICAgICB9Ki8KICAgIH0sCgogICAgb3BlbkFjY291bnQoaW5kZXgpIHsKICAgICAgdGhpcy5hY2NvdW50X2luZGV4ID0gaW5kZXg7CgogICAgICBpZiAoIXRoaXMuZm9ybS5zaG9wSWQpIHsKICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoIuivt+mAieaLqeaJgOWxnuW6l+mTuiIpOwogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgdGhpcy5hY2NvdW50X3Nob3cgPSB0cnVlOwogICAgfSwKCiAgICAvLyDnu5PnrpfotKbmiLcKICAgIGFjY291bnRzZWwodmFsKSB7CiAgICAgIHRoaXMuZm9ybS5hY2NvdW50TGlzdFt0aGlzLmFjY291bnRfaW5kZXhdLmFjY291bnRJZCA9IHZhbFswXS5pZDsKICAgICAgdGhpcy5mb3JtLmFjY291bnRMaXN0W3RoaXMuYWNjb3VudF9pbmRleF0uYWNjb3VudE51bWJlciA9IHZhbFswXS5hY2NvdW50TnVtYmVyOwogICAgICB0aGlzLmZvcm0uYWNjb3VudExpc3RbdGhpcy5hY2NvdW50X2luZGV4XS5hY2NvdW50TmFtZSA9IHZhbFswXS5uYW1lOwogICAgfSwKCiAgICAvLyDnsbvlnosKICAgIHR5cGVDaGFuZ2UodmFsKSB7CiAgICAgIGNvbnN0IHRhcmdldCA9IHRoaXMuZmluYW5jZVR5cGVMaXN0LmZpbmQoaXRlbSA9PiB7CiAgICAgICAgcmV0dXJuIGl0ZW0uaWQgPT09IHZhbDsKICAgICAgfSk7CiAgICAgIHRoaXMuZm9ybS5maW5hbmNlVHlwZSA9IHRhcmdldC5uYW1lOwogICAgfSwKCiAgICBhZGRBY2NvdW50KCkgewogICAgICB0aGlzLmZvcm0uYWNjb3VudExpc3QucHVzaCh7CiAgICAgICAgYWNjb3VudElkOiAiIiwKICAgICAgICBhY2NvdW50TnVtYmVyOiAiIiwKICAgICAgICBhY2NvdW50TmFtZTogIiIsCiAgICAgICAgbW9uZXk6ICIiLAogICAgICAgIGRpc2NvdW50TW9uZXk6ICIiLAogICAgICAgIGZpbmFsTW9uZXk6ICIiLAogICAgICAgIHBheVdheTogIiIsCiAgICAgICAgcmVtYXJrOiAiIgogICAgICB9KTsKICAgIH0sCgogICAgZGVsQWNjb3VudChpbmRleCkgewogICAgICB0aGlzLmZvcm0uYWNjb3VudExpc3Quc3BsaWNlKGluZGV4LCAxKTsKICAgIH0sCgogICAgLy8gIOmAgOasvuWNleS9jemAieaLqQogICAgdW5pdFNlbCh2YWwsIHJvdykgewogICAgICAvLyBpZiAodGhpcy5mb3JtLnR5cGUgPT09IDUpIHsKICAgICAgLy8gICB0aGlzLmZvcm0udW5pdE5hbWUgPSByb3dbMF0ubmFtZTsKICAgICAgLy8gfSBlbHNlIHsKICAgICAgLy8gICB0aGlzLmZvcm0udW5pdE5hbWUgPSByb3dbMF0udGl0bGU7CiAgICAgIC8vIH0KICAgICAgdGhpcy5mb3JtLnVuaXROYW1lID0gcm93WzBdLm5hbWU7CiAgICAgIHRoaXMuZm9ybS51bml0SWQgPSByb3dbMF0uaWQ7CiAgICAgIHRoaXMuZm9ybS5tb25leSA9IHJvd1swXS5tb25leTsKICAgICAgdGhpcy5mb3JtLnNvdXJjZU5vID0gIiI7CiAgICAgIHRoaXMuZ2V0QWxsUmVjZWl2ZSgpOwogICAgfSwKCiAgICAvLyDoh6rliqjmoLjplIAKICAgIG9mZnNldEdldCgpIHsKICAgICAgbGV0IHRvdGFsID0gMDsKCiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy50YWJsZURhdGEubGVuZ3RoOyBpKyspIHsKICAgICAgICBsZXQgaXRlbSA9IHRoaXMudGFibGVEYXRhW2ldOyAvLyDmiormnKzmrKHmoLjplIDph5Hpop3nm7jliqAKCiAgICAgICAgdG90YWwgKz0gTnVtYmVyKGl0ZW0ub2Zmc2V0TW9uZXkpOyAvLyDli77pgInlj6/ku6XmoLjplIDnmoTmlbDmja4KCiAgICAgICAgdGhpcy4kcmVmcy5tdWx0aXBsZVRhYmxlLnRvZ2dsZVJvd1NlbGVjdGlvbihpdGVtKTsgLy8g5aaC5p6c5ZCI6K6h5qC46ZSA6YeR6aKd5aSn5LqO6YCA5qy+5oC76YeR6aKd77yM5YGc5q2i5b6q546v77yM5bm25oqK5YGc5q2i5b6q546v5YmN55qE5LiA5p2h5qC46ZSA5pWw5o2u5L+u5pS55Li65beu5YC8CgogICAgICAgIGlmICh0b3RhbCA+IHRoaXMubW9uZXlUb3RhbCB8fCB0b3RhbCA9PT0gdGhpcy5tb25leVRvdGFsKSB7CiAgICAgICAgICBpdGVtLm9mZnNldE1vbmV5ID0gdGhpcy5tb25leVRvdGFsIC0gKHRvdGFsIC0gaXRlbS5vZmZzZXRNb25leSk7CiAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgIH0KICAgIH0sCgogICAgLy8g6YCA5qy+6YeR6aKd5aSx5Y6754Sm54K5CiAgICBtb25leUJsdXIoKSB7Ly8gdGhpcy5vZmZzZXRHZXQoKTsKICAgICAgLy8g6YCA5qy+6YeR6aKd5aSx5Y6754Sm54K55ZCO6YeN5paw5qC46ZSACiAgICAgIC8vIHRoaXMuJHJlZnMubXVsdGlwbGVUYWJsZS5jbGVhclNlbGVjdGlvbigpOwogICAgfSwKCiAgICAvLyDojrflj5bmlK/ku5jmlrnlvI8KICAgIGFzeW5jIGdldEFsbFBheW1lbnQoKSB7CiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBnZXRBbGxQYXltZW50KHsKICAgICAgICBwYWdlOiAxLAogICAgICAgIHBhZ2VTaXplOiA5OQogICAgICB9KTsKICAgICAgdGhpcy5wYXlfdHlwZV9saXN0ID0gZGF0YS5kYXRhOwogICAgfSwKCiAgICAvLyAg6I635Y+W6LSi5Yqh57G75Z6LCiAgICBhc3luYyBnZXRBbGxGaW5hbmNlVHlwZSgpIHsKICAgICAgcmV0dXJuOwogICAgICBjb25zdCB7CiAgICAgICAgZGF0YQogICAgICB9ID0gYXdhaXQgZ2V0QWxsRmluYW5jZVR5cGVOb1BhZ2UoMyk7CiAgICAgIHRoaXMuZmluYW5jZVR5cGVMaXN0ID0gZGF0YTsKICAgICAgY29uc3QgZmluYW5jZSA9IGRhdGEuZmluZChpdGVtID0+IHsKICAgICAgICByZXR1cm4gaXRlbS5uYW1lID09PSAi6ZSA5ZSu5pS25qy+IjsKICAgICAgfSk7CiAgICAgIHRoaXMuZm9ybS5maW5hbmNlVHlwZUlkID0gZmluYW5jZS5pZDsKICAgICAgdGhpcy5mb3JtLmZpbmFuY2VUeXBlID0gZmluYW5jZS5uYW1lOwogICAgfSwKCiAgICBjaGFuZ2UoKSB7CiAgICAgIHRoaXMuZm9ybS51bml0TmFtZSA9ICIiOwogICAgICB0aGlzLmZvcm0udW5pdElkID0gIiI7CiAgICB9CgogIH0KfTs="},{"version":3,"mappings":"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AsBA;IACA;MACA;QACA+D,OADA;QAEAC,aAFA;QAGA7C,wBAHA;QAIA8C,oBAJA;QAKAC,YALA,CAMA;QACA;;MAPA;MASA;QAAAlE;MAAA;MACA;QACA;UAAAmE;QAAA;MACA,CAFA;IAGA,CArCA;;IAuCA;IACAC;MACA,iCADA,CAEA;IACA,CA3CA;;IA4CAC;MACA;MACA;MACA;MACA;IACA,CAjDA;;IAkDA;IACA;MACA;QAAArE;MAAA;QACA+C,mBADA;QAEAjB;MAFA;MAIA;MACA,cACA,OADA;QAEAD,kCAFA;QAGAE;MAHA;MAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACA,CAzEA;;IA0EA;IACA;MACA;QACA;UACAuC,yBADA;UAEAH;QAFA;MAIA,CALA;MAMA,iBACA,YADA;QAEAtC,iDAFA;QAGA0C,kBAHA;QAIAC;MAJA;MAMA;MACA;MACA;MAEA;QACA7D,eADA;QAEAwC;MAFA;MAIA;IACA,CAjGA;;IAkGA;IACA;MACA;QACA;UACA;YACA;;YACA;cACA;;cACA;gBACAsB;gBACA;gBACA;cACA;;cACA;gBACAA;gBACA;gBACA;cACA,CAXA,CAYA;cACA;cACA;cACA;cACA;;;cACA;gBACAA;gBACA;gBACA;cACA;YACA;;YACA;cACA;YACA;UACA;;UAEA;YACA;cACAH,yBADA;cAEAH,6BAFA;cAGAO;YAHA;UAKA,CANA;UAOA,iBACA,YADA;YAEA7C,iDAFA;YAGA0C,kBAHA;YAIAC;UAJA;UAMA;;UACA;YACA;cACA;YACA,CAFA,MAEA;cACA;YACA;;YACA;YACA;cACArB,eADA;cAEAxC;YAFA;YAIA;UACA,CAZA,CAYA;YACA;UACA;QACA;MACA,CA9DA;IA+DA,CAnKA;;IAoKA;IACA;MACA;QAAAX;MAAA;MAEA;MACA,cACA,OADA;QAEA6B,kCAFA;QAGAE;UACA,SACA,OADA;YAEAM;UAFA;QAIA,CALA;MAHA;MAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACA,CA5LA;;IA6LAsC;MACA;;MACA;QACA;QACA;MACA;;MACA;IACA,CApMA;;IAqMA;IACAC;MACA;MACA,0DACAC,oBADA;MAEA;IACA,CA3MA;;IA4MA;IACAC;MACA;QACA;MACA,CAFA;MAGA;IACA,CAlNA;;IAmNAC;MACA;QACA/C,aADA;QAEAC,iBAFA;QAGAC,eAHA;QAIAP,SAJA;QAKAQ,iBALA;QAMAC,cANA;QAOAC,UAPA;QAQAC;MARA;IAUA,CA9NA;;IA+NA0C;MACA;IACA,CAjOA;;IAkOA;IACAC;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;IACA,CA9OA;;IA+OA;IACAC;MACA;;MACA;QACA,6BADA,CAEA;;QACAC,kCAHA,CAIA;;QACA,kDALA,CAMA;;QACA;UACAC;UACA;QACA;MACA;IACA,CA9PA;;IA+PA;IACAC,aACA;MACA;MACA;IACA,CApQA;;IAqQA;IACA;MACA;QACAtB,OADA;QAEAC;MAFA;MAKA;IACA,CA7QA;;IA8QA;IACA;MACA;MACA;QAAAhE;MAAA;MAEA;MACA;QACA;MACA,CAFA;MAGA;MACA;IACA,CAzRA;;IA0RAsF;MACA;MACA;IACA;;EA7RA;AA/LA","names":["getRefundInfo","addRefund","editRefund","getTempReceivedData","getAllReceive","getAllFinanceTypeNoPage","name","components","Receivable","AccountType","SelectCustomer","SelectShop","SelectSupplier","data","callback","auditStatus","tableData","show_model","add_form","link","isDefault","enableStatus","add_rule","required","message","loading","account_index","code","account_show","receivable_show","no","form","unitId","unitName","sourceNo","sourceNoMoney","currentAccountName","financeType","financeTypeId","shopId","money","shopName","refundTime","createTime","accountList","accountId","accountNumber","accountName","discountMoney","finalMoney","payWay","remark","rules","validator","account_id","isLook","isEdit","show_shop","choose_data","check_money","id","time","pay_type_list","financeTypeList","type","activeName","computed","moneyTotal","Number","sum","offSetTotal","offSetNotTotal","methods","goOtherDetail","selectionChange","num","page","pageSize","offsetStatus","moneyType","offsetMoney","selShop","receivablesel","receiveReceiptId","tempSave","receiptOffsetData","isSub","receiveCreateTime","openAccount","accountsel","val","typeChange","addAccount","delAccount","unitSel","offsetGet","total","item","moneyBlur","change"],"sourceRoot":"src/views/Finance/Cashier","sources":["AddRefundForm.vue"],"sourcesContent":["<!--新增退款单-->\n<template>\n <ContainerTit class=\"AddRefundForm\">\n <div style=\"position: relative\">\n <div class=\"btn-top-div\">\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=\"auditStatus === 2\"\n >\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\" style=\"margin-bottom: 0\">\n <!-- <el-form-item label=\"业务类型\" prop=\"financeTypeId\">-->\n <!-- <el-select-->\n <!-- v-model=\"form.financeTypeId\"-->\n <!-- style=\"width: 270px\"-->\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-form-item>-->\n <el-form-item label=\"退款单位\" prop=\"unitName\">\n <!-- <el-select-->\n <!-- v-model=\"form.type\"-->\n <!-- style=\"width: 90px; margin-right: 2px\"-->\n <!-- @change=\"change\"-->\n <!-- >-->\n <!-- <el-option label=\"客户\" :value=\"5\"></el-option>-->\n <!-- <el-option label=\"供应商\" :value=\"4\"></el-option>-->\n <!-- </el-select>-->\n <SelectCustomer\n v-if=\"type === '1'\"\n v-model=\"form.unitName\"\n :clearable=\"false\"\n width=\"210\"\n @change=\"unitSel\"\n />\n <SelectSupplier\n v-if=\"type === '2'\"\n v-model=\"form.unitName\"\n width=\"210\"\n @change=\"unitSel\"\n />\n </el-form-item>\n </el-col>\n <el-col class=\"form\" :span=\"6\" style=\"margin-bottom: 0\">\n <el-form-item\n label=\"所属店铺\"\n prop=\"shopName\"\n style=\"min-width: 42 0px\"\n >\n <SelectShop\n v-model=\"form.shopId\"\n width=\"210\"\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\" style=\"margin-bottom: 0\">\n <el-form-item label=\"单据日期\" prop=\"brandId\">\n <template>\n <div class=\"block\">\n <el-date-picker\n v-model=\"form.refundTime\"\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 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\n prop=\"accountNumber\"\n label=\"结算账户\"\n min-width=\"160\"\n >\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=\"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 label=\"结算方式\" min-width=\"160\">\n <template slot-scope=\"scope\">\n <el-select\n v-model=\"scope.row.payWay\"\n clearable\n size=\"small\"\n placeholder=\"结算方式\"\n style=\"width: 100%\"\n >\n <el-option\n v-for=\"(item, index) in pay_type_list\"\n :key=\"index\"\n :label=\"item.title\"\n :value=\"item.title\"\n ></el-option>\n </el-select>\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 v-if=\"false\" 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-->\n <!-- prop=\"address\"-->\n <!-- label=\"退款到期日\"-->\n <!-- min-width=\"120\"-->\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=\"sourceNo\"\n label=\"销售订单号\"\n min-width=\"100\"\n >\n <template slot-scope=\"scope\">\n <span class=\"click-div\" @click=\"goOtherDetail(scope.row.orderId)\">\n {{ scope.row.sourceNo }}\n </span>\n </template>\n </el-table-column>\n <el-table-column\n prop=\"unitName\"\n label=\"往来单位名称\"\n min-width=\"100\"\n ></el-table-column>\n <!-- <el-table-column-->\n <!-- prop=\"address\"-->\n <!-- label=\"业务员\"-->\n <!-- min-width=\"100\"-->\n <!-- ></el-table-column>-->\n <!-- <el-table-column-->\n <!-- prop=\"address\"-->\n <!-- label=\"备注\"-->\n <!-- min-width=\"100\"-->\n <!-- ></el-table-column>-->\n <!-- <el-table-column-->\n <!-- prop=\"address\"-->\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-show=\"account_show\"\n @cancel=\"account_show = false\"\n @confirm=\"accountsel\"\n />\n <Receivable\n v-if=\"receivable_show\"\n :id=\"form.unitId\"\n :is-check=\"false\"\n :is-show=\"receivable_show\"\n @cancel=\"receivable_show = false\"\n @confirm=\"receivablesel\"\n />\n </ContainerTit>\n</template>\n\n<script>\n import Receivable from \"@/component/Finance/Receivable\";\n import AccountType from \"../AccountType\";\n import { getCustomerInfo } from \"@/api/Customer\";\n import SelectSupplier from \"@/component/common/SelectSupplier.vue\";\n import {\n getRefundInfo,\n addRefund,\n editRefund,\n getTempReceivedData,\n getAllReceive,\n getAllFinanceTypeNoPage,\n } from \"@/api/Finance\";\n import SelectShop from \"@/component/goods/SelectShop.vue\";\n import SelectCustomer from \"@/component/common/SelectCustomer.vue\";\n import { getAllPayment } from \"@/api/System\";\n export default {\n name: \"AddReceipt\",\n components: {\n Receivable,\n AccountType,\n SelectCustomer,\n SelectShop,\n SelectSupplier,\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 const validateFinanceTypeId = (rule, value, callback) => {\n if (!value) {\n callback(new Error(\"请选择业务类型\"));\n } else {\n callback();\n }\n };\n return {\n auditStatus: 1,\n tableData: [],\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 // financeType_list: [\n // {\n // label: \"应收退款单\",\n // value: 1,\n // },\n // {\n // label: \"应付退款单\",\n // value: 2,\n // },\n // ],\n code: \"\",\n account_show: false,\n receivable_show: false,\n no: \"\",\n form: {\n // type: 5,\n unitId: \"\",\n unitName: \"\",\n sourceNo: \"\",\n sourceNoMoney: \"\",\n currentAccountName: \"\",\n financeType: \"销售退款\",\n financeTypeId: 12,\n shopId: \"\",\n money: \"\",\n shopName: \"\",\n refundTime: \"\",\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 unitName: [{ required: true, validator: validateName }],\n sourceNo: [{ required: true, validator: validateNo }],\n shopName: [{ required: true, validator: validateShopName }],\n financeTypeId: [{ required: true, validator: validateFinanceTypeId }],\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 pay_type_list: [],\n financeTypeList: [\n { id: 11, name: \"采购退款\" },\n { id: 12, name: \"销售退款\" },\n ],\n type: \"\",\n activeName: \"one\",\n };\n },\n computed: {\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 async created() {\n this.type = this.$route.params.type;\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.getRefundInfo();\n } else {\n // 新增退款单\n await this.getTempReceivedData(); // 获取暂存数据\n }\n this.form.refundTime = new Date().getTime();\n await this.getAllFinanceType();\n },\n methods: {\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 getCustomerInfo(id) {\n const { data } = await getCustomerInfo(id);\n this.form.money = data.money || 0;\n this.form.unitId = data.id;\n this.form.unitName = data.name;\n // await this.getAllReceive();\n },\n // 应收单列表\n async getAllReceive() {\n let params = {\n page: 1,\n pageSize: 999,\n unitId: this.form.unitId,\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 // 选择商铺\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 getRefundInfo() {\n const { data } = await getRefundInfo({\n id: this.account_id,\n createTime: this.form.createTime,\n });\n this.auditStatus = data.auditStatus;\n this.form = {\n ...data,\n refundTime: data.refundTime * 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 refundTime: parseInt(this.form.refundTime / 1000),\n tempSave: tempSave,\n receiptOffsetData: receiptOffsetData,\n };\n this.loading = true;\n const data = await addRefund(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 let isSub = true;\n for (let i in this.form.accountList) {\n let item = this.form.accountList[i];\n if (!item.accountName) {\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.moneyTotal) {\n isSub = false;\n this.$message.warning(\"核销金额不能大于付款金额\");\n break;\n }\n }\n if (!isSub) {\n return;\n }\n }\n\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 refundTime: parseInt(this.form.refundTime / 1000),\n tempSave: tempSave,\n receiptOffsetData: receiptOffsetData,\n };\n this.loading = true;\n try {\n if (this.account_id) {\n const data = await editRefund(this.account_id, params);\n } else {\n const data = await addRefund(params);\n }\n this.loading = false;\n this.$message({\n type: \"success\",\n message: \"操作成功!\",\n });\n this.$closeCurrentGoEdit(\"/Finance/Cashier/SellRefundForm/1\");\n } catch {\n this.loading = false;\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 refundTime: data.refundTime * 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.$message.warning(\"请选择所属店铺\");\n return;\n }\n this.account_show = true;\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 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 this.form.accountList.splice(index, 1);\n },\n // 退款单位选择\n unitSel(val, row) {\n // if (this.form.type === 5) {\n // this.form.unitName = row[0].name;\n // } else {\n // this.form.unitName = row[0].title;\n // }\n this.form.unitName = row[0].name;\n this.form.unitId = row[0].id;\n this.form.money = row[0].money;\n this.form.sourceNo = \"\";\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 // this.offsetGet();\n // 退款金额失去焦点后重新核销\n // this.$refs.multipleTable.clearSelection();\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 async getAllFinanceType() {\n return;\n const { data } = await getAllFinanceTypeNoPage(3);\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 change() {\n this.form.unitName = \"\";\n this.form.unitId = \"\";\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 position: relative;\n border-top: 16px solid #f6f8f9;\n width: 100%;\n background-color: #ffffff;\n border-radius: 3px;\n .order_bottom_btn {\n position: absolute;\n top: 15px;\n right: 20px;\n }\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 .btn-top-div {\n position: absolute;\n right: 20px;\n top: 15px;\n z-index: 999;\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 .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</style>\n<style>\n .AddRefundForm {\n background-color: #fff;\n }\n .AddRefundForm .el-tabs__item {\n font-size: 16px !important;\n height: 60px !important;\n line-height: 60px !important;\n }\n .AddRefundForm .is-active {\n font-weight: 700;\n color: #000;\n }\n .AddRefundForm .el-tabs__nav {\n margin-left: 24px;\n }\n</style>\n"]}]}
|