1 |
- {"remainingRequest":"D:\\qianger\\7\\jindouyunNewFront\\node_modules\\babel-loader\\lib\\index.js!D:\\qianger\\7\\jindouyunNewFront\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\qianger\\7\\jindouyunNewFront\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\qianger\\7\\jindouyunNewFront\\src\\views\\Customer\\CustomerAdmin\\CustomerDetail.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\qianger\\7\\jindouyunNewFront\\src\\views\\Customer\\CustomerAdmin\\CustomerDetail.vue","mtime":1655374732000},{"path":"D:\\qianger\\7\\jindouyunNewFront\\babel.config.js","mtime":1655374732000},{"path":"D:\\qianger\\7\\jindouyunNewFront\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\qianger\\7\\jindouyunNewFront\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\qianger\\7\\jindouyunNewFront\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\qianger\\7\\jindouyunNewFront\\node_modules\\vue-loader\\lib\\index.js","mtime":1655715099000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KaW1wb3J0IHsgdXBkYXRlQ3VzdG9tZXJDaGVja1N0YXR1cywgZ2V0Q3VzdG9tZXJJbmZvLCBhZGRDdXN0b21lckNvbnRhY3QsIC8vIGFkZEN1c3RvbWVyVGFnLApkZWxDdXN0b21lclRhZywgZ2V0QWxsQ3VzdG9tZXJUYWdMaWIsIHVwZGF0ZUN1c3RvbWVyVGFnTGliQnlJZCB9IGZyb20gIkAvYXBpL0N1c3RvbWVyIjsKaW1wb3J0IHsgZ2V0QWxsT3JkZXIsIHVwZGF0ZU9yZGVyU3RhdHVzLCB1cGRhdGVBdWRpdFN0YXR1cyB9IGZyb20gIkAvYXBpL09yZGVyIjsKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICJDdXN0b21lckRldGFpbCIsCgogIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICBpc19yZWplY3Q6IGZhbHNlLAogICAgICAvLyDmi5Lnu53mjInpkq7miZPlvIAKICAgICAgcmVqZWN0OiB7CiAgICAgICAgcmVhc29uOiAiIgogICAgICB9LAogICAgICBiaWdpbWdfc3JjOiAiIiwKICAgICAgY3VzdG9tZXJfaWQ6ICIiLAogICAgICB0YWdzOiBbXSwKICAgICAgdGFnbGliOiBbXSwKICAgICAgc2VhcmNoV29yZDogIiIsCiAgICAgIGFkZF9mb3JtOiB7CiAgICAgICAgY3VzdG9tZXJJZDogIiIsCiAgICAgICAgbmFtZTogIiIsCiAgICAgICAgbW9iaWxlOiAiIgogICAgICB9LAogICAgICBiYXNlX3J1bGVzOiB7CiAgICAgICAgLy8g5Z+65pys5L+h5oGv6aqM6K+BCiAgICAgICAgbmFtZTogW3sKICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLAogICAgICAgICAgbWVzc2FnZTogIuWnk+WQjeS4jeiDveS4uuepuiIsCiAgICAgICAgICB0cmlnZ2VyOiAiYmx1ciIKICAgICAgICB9XSwKICAgICAgICBtb2JpbGU6IFt7CiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSwKICAgICAgICAgIG1lc3NhZ2U6ICLogZTns7vnlLXor53kuI3og73kuLrnqboiLAogICAgICAgICAgdHJpZ2dlcjogImJsdXIiCiAgICAgICAgfV0KICAgICAgfSwKICAgICAgb3JkZXJfdGFiZWw6IFtdLAogICAgICAvLyDorqLljZXooajmoLwKICAgICAgbG9naW5fdGFiZWw6IFtdLAogICAgICAvLyDkuIvljZXml6Xlv5cKICAgICAgY291c3RlcmRldGFpbDogewogICAgICAgIGFyZWE6IHt9LAogICAgICAgIGNvbnRhY3Q6IFt7CiAgICAgICAgICBuYW1lOiAiIiwKICAgICAgICAgIG1vYmlsZTogIiIKICAgICAgICB9XQogICAgICB9LAogICAgICB0YWJsZVRyOiBbXSwKICAgICAgb3JkZXJfbGlzdDogW10sCiAgICAgIGlzQ3JlYXRlOiBmYWxzZSwKICAgICAgbG9hZGluZzogZmFsc2UsCiAgICAgIGRyYXdlcjogZmFsc2UsCiAgICAgIGN1c3RvbWVyX3N0YXR1czogW10sCiAgICAgIHJhZGlvMTogW10sCiAgICAgIGFjdGl2ZU5hbWU6ICJvbmUiCiAgICB9OwogIH0sCgogIGFzeW5jIGNyZWF0ZWQoKSB7CiAgICB0aGlzLmN1c3RvbWVyX2lkID0gdGhpcy4kcm91dGUucGFyYW1zLmlkOwogICAgYXdhaXQgdGhpcy5hZGRUYWcoIm9uZSIpOwogICAgYXdhaXQgdGhpcy5nZXRDdXN0b21lckluZm8oKTsKICB9LAoKICBhY3RpdmF0ZWQoKSB7CiAgICBpZiAodGhpcy4kX2lzSW5pdCgpKSByZXR1cm47CiAgICB0aGlzLmdldEN1c3RvbWVySW5mbygpOwogIH0sCgogIG1ldGhvZHM6IHsKICAgIC8vIOaLkue7neWuoeaguOaMiemSrgogICAgYXN5bmMgUmVqZWN0KCkgewogICAgICBpZiAoIXRoaXMucmVqZWN0LnJlYXNvbikgewogICAgICAgIHRoaXMuJG1lc3NhZ2UoIuivt+Whq+WGmeaLkue7neWuoeaguOeahOWOn+WboCIpOwogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgdHJ5IHsKICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlOwogICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB1cGRhdGVDdXN0b21lckNoZWNrU3RhdHVzKHsKICAgICAgICAgIGlkOiB0aGlzLmN1c3RvbWVyX2lkLAogICAgICAgICAgc3RhdHVzOiAzLAogICAgICAgICAgcmVhc29uOiB0aGlzLnJlamVjdC5yZWFzb24KICAgICAgICB9KTsKICAgICAgICB0aGlzLmlzX3JlamVjdCA9IGZhbHNlOwogICAgICAgIGF3YWl0IHRoaXMuZ2V0Q3VzdG9tZXJJbmZvKCk7CiAgICAgICAgdGhpcy4kbWVzc2FnZSh7CiAgICAgICAgICB0eXBlOiAic3VjY2VzcyIsCiAgICAgICAgICBtZXNzYWdlOiAi5o+Q5Lqk5oiQ5YqfIgogICAgICAgIH0pOwogICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOwogICAgICB9IGNhdGNoIHsKICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTsKICAgICAgfQogICAgfSwKCiAgICAvLyDlrqHmoLjkuI7mi5Lnu53lrqHmoLggICRyb3V0ZS5wYXJhbXMuaWQKICAgIEVkaXRBdWRpdFN0YXR1cyhyb3cpIHsKICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsKCiAgICAgIGlmIChyb3cpIHsKICAgICAgICB0aGlzLiRjb25maXJtKCLnoa7lrpropoHlrqHmoLjmraTnlKjmiLflkJc/IiwgIuaPkOekuiIsIHsKICAgICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAi56Gu5a6aIiwKICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICLlj5bmtogiLAogICAgICAgICAgdHlwZTogIndhcm5pbmciCiAgICAgICAgfSkudGhlbihhc3luYyAoKSA9PiB7CiAgICAgICAgICB0cnkgewogICAgICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgdXBkYXRlQ3VzdG9tZXJDaGVja1N0YXR1cyh7CiAgICAgICAgICAgICAgaWQ6IHRoaXMuY3VzdG9tZXJfaWQsCiAgICAgICAgICAgICAgc3RhdHVzOiAyCiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBhd2FpdCB0aGlzLmdldEN1c3RvbWVySW5mbygpOwogICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTsKICAgICAgICAgICAgdGhpcy4kbWVzc2FnZSh7CiAgICAgICAgICAgICAgdHlwZTogInN1Y2Nlc3MiLAogICAgICAgICAgICAgIG1lc3NhZ2U6ICLlrqHmoLjmiJDlip8iCiAgICAgICAgICAgIH0pOwogICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTsKICAgICAgICAgIH0gY2F0Y2ggewogICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTsKICAgICAgICAgIH0KICAgICAgICB9KS5jYXRjaCgoKSA9PiB7CiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTsKICAgICAgICB9KTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLmlzX3JlamVjdCA9IHRydWU7CiAgICAgIH0KICAgIH0sCgogICAgLy8g6I635Y+W5YiX6KGoCiAgICBhc3luYyBnZXRBbGxPcmRlcih1c2VyQ2VudGVySWQpIHsKICAgICAgLy8g6aqM6K+B6K6i5Y2V5YiX6KGo5p2D6ZmQCiAgICAgIGlmICghdGhpcy4kYWNjZXNzQ2hlY2sodGhpcy4kQWNjZXNzLm9yZGVyUXVlcnlHZXRBbGxPcmRlcikpIHsKICAgICAgICByZXR1cm47CiAgICAgIH0KCiAgICAgIGxldCBzZWFyY2ggPSB7CiAgICAgICAgdXNlckNlbnRlcklkOiB1c2VyQ2VudGVySWQKICAgICAgfTsKICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IGdldEFsbE9yZGVyKHsKICAgICAgICBwYWdlOiB0aGlzLnBhZ2UsCiAgICAgICAgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsCiAgICAgICAgc2VhcmNoOiBzZWFyY2gKICAgICAgfSk7CiAgICAgIHRoaXMub3JkZXJfbGlzdCA9IGRhdGEuZGF0YTsKICAgICAgdGhpcy50b3RhbCA9IGRhdGEucGFnZVRvdGFsOwogICAgfSwKCiAgICBnb0RldGFpbChyb3cpIHsKICAgICAgdGhpcy4kcm91dGVyLnB1c2goewogICAgICAgIHBhdGg6IGAvb3JkZXIvbWFuYWdlTy9PcmRlckRldGFpbHMvJHtyb3cudXNlckNlbnRlcklkfS8ke3Jvdy5pZH1gCiAgICAgIH0pOwogICAgfSwKCiAgICAvLyDlj5bmtojorqLljZUKICAgIGFzeW5jIHVwZGF0ZU9yZGVyU3RhdHVzKHJvdykgewogICAgICB0aGlzLiRjb25maXJtKCLnoa7lrpropoHlj5bmtojor6XorqLljZXlkJc/IiwgIuaPkOekuiIsIHsKICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogIuehruWumiIsCiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogIuWPlua2iCIsCiAgICAgICAgdHlwZTogIndhcm5pbmciCiAgICAgIH0pLnRoZW4oYXN5bmMgKCkgPT4gewogICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB1cGRhdGVPcmRlclN0YXR1cyhyb3cudXNlckNlbnRlcklkLCB7CiAgICAgICAgICBvcmRlcklkOiByb3cuaWQKICAgICAgICB9KTsKICAgICAgICB0aGlzLiRtZXNzYWdlKHsKICAgICAgICAgIHR5cGU6ICJzdWNjZXNzIiwKICAgICAgICAgIG1lc3NhZ2U6ICLmk43kvZzmiJDlip8iCiAgICAgICAgfSk7CiAgICAgICAgdGhpcy5wYWdlQ2hhbmdlKDEpOwogICAgICB9KTsKICAgIH0sCgogICAgLy8g5a6h5qC46K6i5Y2VCiAgICBhc3luYyB1cGRhdGVBdWRpdFN0YXR1cyhyb3cpIHsKICAgICAgdGhpcy4kY29uZmlybSgi56Gu5a6a6KaB5a6h5qC46YCa6L+H6K+l6K6i5Y2V5ZCXPyIsICLmj5DnpLoiLCB7CiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICLnoa7lrpoiLAogICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICLlj5bmtogiLAogICAgICAgIHR5cGU6ICJ3YXJuaW5nIgogICAgICB9KS50aGVuKGFzeW5jICgpID0+IHsKICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgdXBkYXRlQXVkaXRTdGF0dXMocm93LnVzZXJDZW50ZXJJZCwgewogICAgICAgICAgb3JkZXJJZDogcm93LmlkLAogICAgICAgICAgYXVkaXRTdGF0dXM6IDIsCiAgICAgICAgICBhdWRpdDogdGhpcy51c2VyTmFtZQogICAgICAgIH0pOwogICAgICAgIHRoaXMuJG1lc3NhZ2UoewogICAgICAgICAgdHlwZTogInN1Y2Nlc3MiLAogICAgICAgICAgbWVzc2FnZTogIuaTjeS9nOaIkOWKnyIKICAgICAgICB9KTsKICAgICAgICB0aGlzLnBhZ2VDaGFuZ2UoMSk7CiAgICAgIH0pOwogICAgfSwKCiAgICAvLyAg5a6i5oi36K+m5oOFIGdldEN1c3RvbWVySW5mbwogICAgYXN5bmMgZ2V0Q3VzdG9tZXJJbmZvKCkgewogICAgICBpZiAoIXRoaXMuJHJvdXRlLnBhcmFtcy5pZCkgewogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgY29uc3QgewogICAgICAgIGRhdGEKICAgICAgfSA9IGF3YWl0IGdldEN1c3RvbWVySW5mbyh0aGlzLiRyb3V0ZS5wYXJhbXMuaWQpOwogICAgICB0aGlzLnRhYmxlVHIgPSBkYXRhLmNvbnRhY3Q7CiAgICAgIHRoaXMuY291c3RlcmRldGFpbCA9IGRhdGE7CiAgICAgIGF3YWl0IHRoaXMuZ2V0QWxsT3JkZXIoZGF0YS51c2VyQ2VudGVySWQpOyAvLyB0aGlzLnRhZ2xpYiA9IGRhdGEudGFnbGliOwoKICAgICAgbGV0IGFyciA9IFtdOwogICAgICB0aGlzLmN1c3RvbWVyX3N0YXR1cy5mb3JFYWNoKGl0ZW0gPT4gYXJyLnB1c2goLi4uaXRlbS5jaGlsZHJlbikpOwogICAgICBsZXQgYXJyMiA9IFtdOyAvLyB0aGlzLnRhZ2xpYi5mb3JFYWNoKChpdGVtMSkgPT4KICAgICAgLy8gICBhcnIyLnB1c2goLi4uYXJyLmZpbHRlcigoaXRlbTIpID0+IGl0ZW0yLmlkID09PSBpdGVtMSkpCiAgICAgIC8vICk7CgogICAgICB0aGlzLnRhZ3MgPSBhcnIyOwogICAgfSwKCiAgICBhZGRDb250YWN0KGZvcm1OYW1lKSB7CiAgICAgIHRoaXMuJHJlZnNbZm9ybU5hbWVdLnZhbGlkYXRlKGFzeW5jIHZhbGlkID0+IHsKICAgICAgICBpZiAodmFsaWQpIHsKICAgICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBhZGRDdXN0b21lckNvbnRhY3QoewogICAgICAgICAgICAvLyDliLfmlrDpobXpnaIgY29udGFjdOWGheaciWN1c3RvbWVySWQKICAgICAgICAgICAgY3VzdG9tZXJJZDogdGhpcy4kcm91dGUucGFyYW1zLmlkLAogICAgICAgICAgICBuYW1lOiB0aGlzLmFkZF9mb3JtLm5hbWUsCiAgICAgICAgICAgIG1vYmlsZTogdGhpcy5hZGRfZm9ybS5tb2JpbGUKICAgICAgICAgIH0pOwogICAgICAgICAgdGhpcy5pc0NyZWF0ZSA9IGZhbHNlOwogICAgICAgICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKCLmt7vliqDmiJDlip8iKTsgLy8gICAg6YeN5paw5Yi35paw6aG16Z2iCgogICAgICAgICAgYXdhaXQgdGhpcy5nZXRDdXN0b21lckluZm8oKTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKCiAgICAvLyAg5paw5aKe6IGU57O75Lq655S16K+dCiAgICBjcmVhdGVQaG9uZSgpIHsKICAgICAgdGhpcy5pc0NyZWF0ZSA9IHRydWU7CiAgICB9LAoKICAgIGhhbmRsZUlucHV0Q29uZmlybSgpIHsKICAgICAgbGV0IGlucHV0VmFsdWUgPSB0aGlzLmlucHV0VmFsdWU7CgogICAgICBpZiAoaW5wdXRWYWx1ZSkgewogICAgICAgIHRoaXMuZHluYW1pY1RhZ3MucHVzaChpbnB1dFZhbHVlKTsKICAgICAgfQoKICAgICAgdGhpcy5pbnB1dFZpc2libGUgPSBmYWxzZTsKICAgICAgdGhpcy5pbnB1dFZhbHVlID0gIiI7CiAgICB9LAoKICAgIGFzeW5jIGFkZFRhZyhpZCkgewogICAgICBpZiAoaWQgPT09ICJ0d28iKSB7CiAgICAgICAgdGhpcy5kcmF3ZXIgPSB0cnVlOwogICAgICB9CgogICAgICBjb25zdCB7CiAgICAgICAgZGF0YQogICAgICB9ID0gYXdhaXQgZ2V0QWxsQ3VzdG9tZXJUYWdMaWIoKTsKICAgICAgdGhpcy5jdXN0b21lcl9zdGF0dXMgPSBkYXRhOyAvLyBpZiAoIXRoaXMuJGFjY2Vzc0NoZWNrKHRoaXMuJEFjY2Vzcy5CYXNlRGF0YUxpc3RVcGRhdGVDYXRlZ29yeSkpIHsKICAgICAgLy8gICByZXR1cm47CiAgICAgIC8vIH0KICAgICAgLy8gLy8g5YWz6ZSu5a2X5LiN6IO95Li656m6CiAgICAgIC8vIGlmICghdGhpcy5zZWFyY2hXb3JkKSB7CiAgICAgIC8vICAgdGhpcy4kbWVzc2FnZSh7CiAgICAgIC8vICAgICBtZXNzYWdlOiAi6K+36L6T5YWl5pyJ5pWI5paH5a2XIiwKICAgICAgLy8gICAgIHR5cGU6ICJ3YXJuaW5nIiwKICAgICAgLy8gICB9KTsKICAgICAgLy8gICByZXR1cm47CiAgICAgIC8vIH0KICAgICAgLy8gY29uc3QgZGF0YSA9IGF3YWl0IGFkZEN1c3RvbWVyVGFnKHsKICAgICAgLy8gICBpZDogdGhpcy4kcm91dGUucGFyYW1zLmlkLAogICAgICAvLyAgIHRhZzogdGhpcy5zZWFyY2hXb3JkLAogICAgICAvLyB9KTsKICAgICAgLy8KICAgICAgLy8gdGhpcy4kbWVzc2FnZSh7CiAgICAgIC8vICAgbWVzc2FnZTogIua3u+WKoOaIkOWKnyIsCiAgICAgIC8vICAgdHlwZTogInN1Y2Nlc3MiLAogICAgICAvLyB9KTsKICAgICAgLy8gdGhpcy5zZWFyY2hXb3JkID0gIiI7CiAgICAgIC8vIHRoaXMuZ2V0Q3VzdG9tZXJJbmZvKCk7CiAgICB9LAoKICAgIC8vIOWIoOmZpOagh+etvgogICAgZGVsQ3VzdG9tZXJUYWcodGFnKSB7CiAgICAgIGlmICghdGhpcy4kYWNjZXNzQ2hlY2sodGhpcy4kQWNjZXNzLkN1c3RvbWVyTGlzdERlbEN1c3RvbWVyVGFnKSkgewogICAgICAgIHJldHVybjsKICAgICAgfQoKICAgICAgdGhpcy4kY29uZmlybSgi5piv5ZCm56Gu6K6k5Yig6Zmk5q2k5qCH562+IiwgIuaPkOekuiIsIHsKICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogIuehruWumiIsCiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogIuWPlua2iCIsCiAgICAgICAgdHlwZTogIndhcm5pbmciCiAgICAgIH0pLnRoZW4oYXN5bmMgKCkgPT4gewogICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBkZWxDdXN0b21lclRhZyh7CiAgICAgICAgICBpZDogdGhpcy4kcm91dGUucGFyYW1zLmlkLAogICAgICAgICAgdGFnOiB0YWcKICAgICAgICB9KTsKICAgICAgICB0aGlzLiRtZXNzYWdlKHsKICAgICAgICAgIHR5cGU6ICJzdWNjZXNzIiwKICAgICAgICAgIG1lc3NhZ2U6ICLliKDpmaTmiJDlip8hIgogICAgICAgIH0pOwogICAgICAgIGF3YWl0IHRoaXMuZ2V0Q3VzdG9tZXJJbmZvKCk7CiAgICAgIH0pOwogICAgfSwKCiAgICBjaGFuZ2VDaGVja2JveCh2YWx1ZSkgewogICAgICBjb25zb2xlLmxvZyh2YWx1ZSk7CiAgICB9LAoKICAgIGFzeW5jIHVwZGF0ZUN1c3RvbWVyVGFnTGliQnlJZCgpIHsKICAgICAgY29uc3QgewogICAgICAgIGRhdGEKICAgICAgfSA9IGF3YWl0IHVwZGF0ZUN1c3RvbWVyVGFnTGliQnlJZCh7CiAgICAgICAgaWQ6IHRoaXMuY3VzdG9tZXJfaWQsCiAgICAgICAgdGFnbGliOiB0aGlzLnJhZGlvMQogICAgICB9KTsKICAgICAgYXdhaXQgdGhpcy5nZXRDdXN0b21lckluZm8oKTsKICAgICAgdGhpcy5kcmF3ZXIgPSBmYWxzZTsKICAgICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKCLkv67mlLnmiJDlip8iKTsKICAgIH0KCiAgfQp9Ow=="},{"version":3,"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4iBA,SACAA,yBADA,EAEAC,eAFA,EAGAC,kBAHA,EAIA;AACAC,cALA,EAMAC,oBANA,EAOAC,wBAPA,QAQA,gBARA;AASA,SACAC,WADA,EAEAC,iBAFA,EAGAC,iBAHA,QAIA,aAJA;AAKA;EACAC,sBADA;;EAEAC;IACA;MACAC,gBADA;MACA;MACAC;QACAC;MADA,CAFA;MAKAC,cALA;MAMAC,eANA;MAOAC,QAPA;MAQAC,UARA;MASAC,cATA;MAUAC;QACAC,cADA;QAEAX,QAFA;QAGAY;MAHA,CAVA;MAeAC;QACA;QACAb;UAAAc;UAAAC;UAAAC;QAAA,EAFA;QAGAJ,SACA;UAAAE;UAAAC;UAAAC;QAAA,CADA;MAHA,CAfA;MAsBAC,eAtBA;MAsBA;MACAC,eAvBA;MAuBA;MACAC;QACAC,QADA;QAEAC,UACA;UACArB,QADA;UAEAY;QAFA,CADA;MAFA,CAxBA;MAiCAU,WAjCA;MAkCAC,cAlCA;MAmCAC,eAnCA;MAoCAC,cApCA;MAqCAC,aArCA;MAsCAC,mBAtCA;MAuCAC,UAvCA;MAwCAC;IAxCA;EA0CA,CA7CA;;EA8CA;IACA;IACA;IACA;EACA,CAlDA;;EAmDAC;IACA;IACA;EACA,CAtDA;;EAuDAC;IACA;IACA;MACA;QACA;QACA;MACA;;MACA;QACA;QACA;UACAC,oBADA;UAEAC,SAFA;UAGA7B;QAHA;QAMA;QACA;QACA;UACA8B,eADA;UAEAnB;QAFA;QAIA;MACA,CAfA,CAeA;QACA;MACA;IACA,CAzBA;;IA0BA;IACAoB;MACA;;MACA;QACA;UACAC,uBADA;UAEAC,sBAFA;UAGAH;QAHA,GAKAI,IALA,CAKA;UACA;YACA;cACAN,oBADA;cAEAC;YAFA;YAIA;YACA;YACA;cACAC,eADA;cAEAnB;YAFA;YAIA;UACA,CAZA,CAYA;YACA;UACA;QACA,CArBA,EAsBAwB,KAtBA,CAsBA;UACA;QACA,CAxBA;MAyBA,CA1BA,MA0BA;QACA;MACA;IACA,CA1DA;;IA2DA;IACA;MACA;MACA;QACA;MACA;;MACA;QACAC;MADA;MAGA;QACAC,eADA;QAEAC,uBAFA;QAGAC;MAHA;MAMA;MACA;IACA,CA5EA;;IA6EAC;MACA;QACAC;MADA;IAGA,CAjFA;;IAkFA;IACA;MACA;QACAT,uBADA;QAEAC,sBAFA;QAGAH;MAHA,GAIAI,IAJA,CAIA;QACA;UACAQ;QADA;QAIA;UACAZ,eADA;UAEAnB;QAFA;QAIA;MACA,CAdA;IAeA,CAnGA;;IAoGA;IACA;MACA;QACAqB,uBADA;QAEAC,sBAFA;QAGAH;MAHA,GAIAI,IAJA,CAIA;QACA;UACAQ,eADA;UAEAC,cAFA;UAGAC;QAHA;QAMA;UACAd,eADA;UAEAnB;QAFA;QAIA;MACA,CAhBA;IAiBA,CAvHA;;IAwHA;IACA;MACA;QACA;MACA;;MACA;QAAAd;MAAA;MAEA;MACA;MACA,0CARA,CASA;;MACA;MACA;MACA,cAZA,CAaA;MACA;MACA;;MACA;IACA,CA1IA;;IA2IAgD;MACA;QACA;UACA;YACA;YACAtC,iCAFA;YAGAX,wBAHA;YAIAY;UAJA;UAOA;UACA,8BATA,CAUA;;UACA;QACA;MACA,CAdA;IAeA,CA3JA;;IA4JA;IACAsC;MACA;IACA,CA/JA;;IAiKAC;MACA;;MACA;QACA;MACA;;MACA;MACA;IACA,CAxKA;;IAyKA;MACA;QACA;MACA;;MACA;QAAAlD;MAAA;MACA,4BALA,CAMA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;IACA,CArMA;;IAsMA;IACAP;MACA;QACA;MACA;;MACA;QACA0C,uBADA;QAEAC,sBAFA;QAGAH;MAHA,GAIAI,IAJA,CAIA;QACA;UACAN,yBADA;UAEAoB;QAFA;QAKA;UACAlB,eADA;UAEAnB;QAFA;QAIA;MACA,CAfA;IAgBA,CA3NA;;IA4NAsC;MACAC;IACA,CA9NA;;IA+NA;MACA;QAAArD;MAAA;QACA+B,oBADA;QAEAxB;MAFA;MAIA;MACA;MACA;IACA;;EAvOA;AAvDA","names":["updateCustomerCheckStatus","getCustomerInfo","addCustomerContact","delCustomerTag","getAllCustomerTagLib","updateCustomerTagLibById","getAllOrder","updateOrderStatus","updateAuditStatus","name","data","is_reject","reject","reason","bigimg_src","customer_id","tags","taglib","searchWord","add_form","customerId","mobile","base_rules","required","message","trigger","order_tabel","login_tabel","cousterdetail","area","contact","tableTr","order_list","isCreate","loading","drawer","customer_status","radio1","activeName","activated","methods","id","status","type","EditAuditStatus","confirmButtonText","cancelButtonText","then","catch","userCenterId","page","pageSize","search","goDetail","path","orderId","auditStatus","audit","addContact","createPhone","handleInputConfirm","tag","changeCheckbox","console"],"sourceRoot":"src/views/Customer/CustomerAdmin","sources":["CustomerDetail.vue"],"sourcesContent":["<template>\n <ContainerTit class=\"CustomerDetail\">\n <div style=\"position: relative\">\n <div class=\"btn-top-div\">\n <el-button\n v-if=\"parseInt(cousterdetail.status) === 1\"\n :disabled=\"parseInt(cousterdetail.status) === 3\"\n type=\"warning\"\n :loading=\"loading\"\n @click=\"EditAuditStatus('keep')\"\n >\n 点击审核\n </el-button>\n <el-button\n v-if=\"parseInt(cousterdetail.status) === 1\"\n :disabled=\"parseInt(cousterdetail.status) === 3\"\n type=\"danger\"\n :loading=\"loading\"\n @click=\"EditAuditStatus()\"\n >\n 拒绝审核\n </el-button>\n <el-button\n type=\"primary\"\n @click=\"\n $router.push(\n `/Customer/CustomerAdmin/EditCustomer/${$route.params.id}`\n )\n \"\n >\n 编辑\n </el-button>\n </div>\n </div>\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 :span=\"24\">\n <div\n v-if=\"cousterdetail.extend && cousterdetail.extend.license\"\n class=\"clearfix form\"\n style=\"margin: 0 0 20px 0\"\n >\n <span class=\"float_left form_left extend-span\">营业执照</span>\n <el-image\n class=\"float_left extend-img\"\n :src=\"cousterdetail.extend.license\"\n :preview-src-list=\"[cousterdetail.extend.license]\"\n fit=\"contain\"\n ></el-image>\n </div>\n </el-col>\n <el-col class=\"form\" :span=\"6\">\n <span class=\"form_left\">客户编号</span>\n <span class=\"form_right\">{{ cousterdetail.code }}</span>\n </el-col>\n <el-col class=\"form\" :span=\"6\">\n <span class=\"form_left\">客户名称</span>\n <span class=\"form_right\">{{ cousterdetail.name }}</span>\n </el-col>\n <el-col class=\"form\" :span=\"6\">\n <span class=\"form_left\">登录账号</span>\n <span class=\"form_right\">{{ cousterdetail.mobile }}</span>\n </el-col>\n <el-col class=\"form\" :span=\"6\">\n <span class=\"form_left\">审核状态</span>\n <span class=\"form_right\">\n <span v-if=\"cousterdetail.status === 2\" class=\"success-status\">\n 已审核\n </span>\n <span\n v-else-if=\"cousterdetail.status === 1\"\n class=\"warning-status\"\n >\n 待审核\n </span>\n <span v-else-if=\"cousterdetail.status === 0\" class=\"info-status\">\n 待完善资料\n </span>\n <span\n v-else-if=\"cousterdetail.status === 3\"\n class=\"danger-status\"\n >\n 已驳回\n </span>\n </span>\n </el-col>\n <el-col class=\"form\" :span=\"6\">\n <span class=\"form_left\">注册日期</span>\n <span class=\"form_right\">\n {{\n cousterdetail.createTime\n ? $_common.formatDate(cousterdetail.createTime, \"yyyy-MM-dd\")\n : \"--\"\n }}\n </span>\n </el-col>\n <el-col class=\"form\" :span=\"6\" style=\"padding-left: 54px\">\n <span class=\"form_left\">业务员</span>\n <span class=\"form_right\">\n {{ cousterdetail.salesManName || \"未设置\" }}\n </span>\n </el-col>\n <el-col class=\"form\" :span=\"6\">\n <span class=\"form_left\">客户生日</span>\n <span class=\"form_right\">\n {{\n cousterdetail.birthday\n ? $_common.formatDate(cousterdetail.birthday, \"yyyy-MM-dd\")\n : \"未设置\"\n }}\n </span>\n </el-col>\n <el-col class=\"form\" :span=\"6\">\n <span class=\"form_left\">客户类型</span>\n <span class=\"form_right\">\n {{ cousterdetail.customerType }}\n </span>\n </el-col>\n <el-col class=\"form\" :span=\"6\">\n <span class=\"form_left\">归属区域</span>\n <span class=\"form_right\">\n {{ cousterdetail.area.provinceName }}-{{\n cousterdetail.area.cityName\n }}-{{ cousterdetail.area.districtName }}-{{\n cousterdetail.area.address\n }}\n </span>\n </el-col>\n <el-col class=\"form\" :span=\"24\" style=\"padding-left: 64px\">\n <span class=\"form_left\">备注</span>\n <span class=\"form_right\">\n {{ cousterdetail.remark || \"无\" }}\n </span>\n </el-col>\n </el-row>\n </el-tab-pane>\n </el-tabs>\n <div class=\"order_bottom\">\n <p class=\"text\">联系方式</p>\n <div class=\"detail-tab-item\">\n <div class=\"detail-tab-main\" style=\"padding: 0\">\n <el-table border size=\"mini\" :data=\"tableTr\">\n <el-table-column\n type=\"index\"\n label=\"#\"\n width=\"60px\"\n ></el-table-column>\n <el-table-column\n prop=\"name\"\n label=\"联系人\"\n min-width=\"120px\"\n ></el-table-column>\n <el-table-column\n prop=\"mobile\"\n label=\"联系电话\"\n min-width=\"120px\"\n ></el-table-column>\n </el-table>\n <div\n v-if=\"systemType === 1\"\n class=\"table-b-div\"\n @click=\"createPhone()\"\n >\n <el-button type=\"text\" size=\"mini\">\n <i class=\"el-icon-plus\"></i>\n 新增联系人\n </el-button>\n </div>\n </div>\n </div>\n </div>\n <div class=\"order_bottom\">\n <p class=\"text\">相关订单</p>\n <el-table\n v-if=\"$accessCheck($Access.orderQueryGetAllOrder)\"\n :data=\"order_list\"\n size=\"small\"\n >\n <el-table-column\n prop=\"no\"\n label=\"订单编号\"\n min-width=\"160\"\n fixed=\"left\"\n ></el-table-column>\n <el-table-column prop=\"createTime\" label=\"下单时间\" min-width=\"160\">\n <template slot-scope=\"scope\">\n {{ $_common.formatDate(scope.row.createTime) }}\n </template>\n </el-table-column>\n <el-table-column\n prop=\"realName\"\n show-overflow-tooltip\n label=\"收货人\"\n min-width=\"120\"\n >\n <template slot-scope=\"scope\">\n {{ scope.row.receiveData.realName || \"--\" }}\n </template>\n </el-table-column>\n <el-table-column\n show-overflow-tooltip\n prop=\"salesman\"\n label=\"所属员工\"\n min-width=\"100\"\n >\n <template slot-scope=\"scope\">\n {{ scope.row.salesman ? scope.row.salesman : \"未分配\" }}\n </template>\n </el-table-column>\n <el-table-column prop=\"mobile\" label=\"联系电话\" min-width=\"110\">\n <template slot-scope=\"scope\">\n {{ scope.row.receiveData.mobile }}\n </template>\n </el-table-column>\n <el-table-column prop=\"payAmount\" label=\"订单金额\" min-width=\"100\">\n <template slot-scope=\"scope\">\n {{ $_common.formattedNumber(scope.row.payAmount) }}\n </template>\n </el-table-column>\n <el-table-column prop=\"orderMsg\" label=\"订单状态\" min-width=\"80\">\n <template slot-scope=\"scope\">\n <span\n :class=\"[\n scope.row.orderMsg === '待审核'\n ? 'warning-status'\n : scope.row.orderMsg === '已关闭'\n ? 'info-status'\n : scope.row.orderMsg === '已出库'\n ? 'primary-status'\n : scope.row.orderMsg === '已完成'\n ? 'success-status'\n : scope.row.orderMsg === '待出库'\n ? 'danger-status'\n : 'primary-status',\n ]\"\n >\n {{ scope.row.orderMsg }}\n </span>\n </template>\n </el-table-column>\n <el-table-column prop=\"payStatus\" label=\"收款状态\" min-width=\"80\">\n <template slot-scope=\"scope\">\n <span\n :class=\"[\n parseInt(scope.row.payStatus) === 4\n ? 'danger-status'\n : parseInt(scope.row.payStatus) === 5\n ? 'success-status'\n : 'warning-status',\n ]\"\n >\n {{\n parseInt(scope.row.payStatus) === 4\n ? \"未支付\"\n : parseInt(scope.row.payStatus) === 5\n ? \"已支付\"\n : \"部分支付\"\n }}\n </span>\n </template>\n </el-table-column>\n <el-table-column prop=\"deliveryType\" label=\"配送方式\" min-width=\"80\">\n <template slot-scope=\"scope\">\n {{\n parseInt(scope.row.deliveryType) === 1\n ? \"商品配送\"\n : parseInt(scope.row.deliveryType) === 2\n ? \"上门自提\"\n : \"\"\n }}\n </template>\n </el-table-column>\n <el-table-column\n prop=\"source\"\n label=\"订单来源\"\n :show-overflow-tooltip=\"true\"\n min-width=\"80\"\n >\n <template slot-scope=\"scope\">\n {{\n parseInt(scope.row.source) === 1\n ? \"ios\"\n : parseInt(scope.row.source) === 2\n ? \"安卓\"\n : parseInt(scope.row.source) === 3\n ? \"微信小程序\"\n : parseInt(scope.row.source) === 4\n ? \"后台创建\"\n : parseInt(scope.row.source) === 5\n ? \"H5页面\"\n : parseInt(scope.row.source) === 6\n ? \"pc页面\"\n : parseInt(scope.row.source) === 6\n ? \"字节跳动小程序\"\n : \"其他\"\n }}\n </template>\n </el-table-column>\n <el-table-column prop=\"auditStatus\" label=\"订单审核\" min-width=\"80\">\n <!-- ,1待审核 2审核通过 3审核驳回 4审核中-->\n <template slot-scope=\"scope\">\n <span\n :class=\"[\n parseInt(scope.row.auditStatus) === 1\n ? 'warning-status'\n : parseInt(scope.row.auditStatus) === 2\n ? 'success-status'\n : parseInt(scope.row.auditStatus) === 3\n ? 'danger-status'\n : parseInt(scope.row.auditStatus) === 4\n ? 'warning-status'\n : 'warning-status',\n ]\"\n >\n {{\n parseInt(scope.row.auditStatus) === 1\n ? \"待审核\"\n : parseInt(scope.row.auditStatus) === 2\n ? \"已审核\"\n : parseInt(scope.row.auditStatus) === 3\n ? \"已驳回\"\n : parseInt(scope.row.auditStatus) === 4\n ? \"审核中\"\n : \"其他\"\n }}\n </span>\n </template>\n </el-table-column>\n <el-table-column\n prop=\"remark\"\n show-overflow-tooltip\n label=\"订单备注\"\n min-width=\"120\"\n ></el-table-column>\n <el-table-column label=\"操作\" min-width=\"180\" fixed=\"right\">\n <template slot-scope=\"scope\">\n <el-button-group class=\"table-btn-group\">\n <el-button\n v-if=\"$accessCheck($Access.newOrderLitGetOrderInfoById)\"\n type=\"text\"\n @click=\"goDetail(scope.row)\"\n >\n 查看\n </el-button>\n <el-button\n v-if=\"$accessCheck($Access.orderQueryUpdateAuditStatus)\"\n :disabled=\"parseInt(scope.row.auditStatus) === 2\"\n type=\"text\"\n @click=\"updateAuditStatus(scope.row)\"\n >\n 审核\n </el-button>\n <el-button\n v-if=\"$accessCheck($Access.orderQueryUpdateOrderStatus)\"\n :disabled=\"parseInt(scope.row.auditStatus) === 2\"\n type=\"text\"\n @click=\"updateOrderStatus(scope.row)\"\n >\n 取消订单\n </el-button>\n </el-button-group>\n </template>\n </el-table-column>\n </el-table>\n </div>\n <div v-if=\"false\" style=\"padding: 0 10px\">\n <el-tabs type=\"card\">\n <el-tab-pane v-if=\"false\" label=\"客户分析\">\n <el-row :gutter=\"20\">\n <el-col :span=\"8\">\n <div\n class=\"analyze-li\"\n :style=\"{ borderColor: $_common.colorRgba(themeA, 0.5) }\"\n >\n <p class=\"clearfix\">\n <span class=\"de_label\">订货频率:</span>\n <span class=\"analyze_val\" :style=\"{ color: themeA }\">\n 20 天/次\n </span>\n </p>\n <p class=\"clearfix\">\n <span class=\"de_label\">客单价:</span>\n <span class=\"analyze_val\" :style=\"{ color: themeA }\">\n 20万 平均/笔\n </span>\n </p>\n <p class=\"clearfix\">\n <span class=\"de_label\">本月成交额:</span>\n <span class=\"analyze_val\" :style=\"{ color: themeA }\">\n 100万\n </span>\n </p>\n </div>\n </el-col>\n <el-col :span=\"8\">\n <div\n class=\"analyze-li\"\n :style=\"{ borderColor: $_common.colorRgba(themeA, 0.5) }\"\n >\n <p class=\"clearfix\">\n <span class=\"de_label\">本月新增应收款:</span>\n <span class=\"analyze_val\" :style=\"{ color: themeA }\">\n 200000\n </span>\n </p>\n <p class=\"clearfix\">\n <span class=\"de_label\">历史累计应收款:</span>\n <span class=\"analyze_val\" :style=\"{ color: themeA }\">\n 20万\n </span>\n </p>\n <p class=\"clearfix\">\n <span class=\"de_label\">本月已回款:</span>\n <span class=\"analyze_val\" :style=\"{ color: themeA }\">\n 100万\n </span>\n </p>\n </div>\n </el-col>\n </el-row>\n <h4 style=\"padding: 20px 0\">登录日志</h4>\n\n <el-table border style=\"width: 50%\" size=\"mini\" :data=\"login_tabel\">\n <el-table-column prop=\"name\" label=\"事件\"></el-table-column>\n <el-table-column prop=\"time\" label=\"日期\"></el-table-column>\n <el-table-column prop=\"set\" label=\"设备\"></el-table-column>\n </el-table>\n <h4 style=\"padding: 20px 0\">下单日志</h4>\n\n <el-table border style=\"width: 50%\" size=\"mini\" :data=\"order_tabel\">\n <el-table-column prop=\"name\" label=\"事件\"></el-table-column>\n <el-table-column prop=\"time\" label=\"日期\"></el-table-column>\n <el-table-column prop=\"set\" label=\"设备\"></el-table-column>\n </el-table>\n </el-tab-pane>\n <el-tab-pane v-if=\"false\" label=\"工作日志\">\n <el-table border size=\"mini\" :data=\"order_tabel\">\n <el-table-column prop=\"name\" label=\"拜访者\"></el-table-column>\n <el-table-column prop=\"time\" label=\"相关工作\"></el-table-column>\n <el-table-column prop=\"set\" label=\"停留时间\"></el-table-column>\n <el-table-column prop=\"set\" label=\"拜访日期\"></el-table-column>\n </el-table>\n </el-tab-pane>\n </el-tabs>\n </div>\n\n <el-dialog\n :close-on-press-escape=\"false\"\n :close-on-click-modal=\"false\"\n title=\"新增联系方式\"\n :visible.sync=\"isCreate\"\n width=\"40%\"\n >\n <div>\n <el-form\n ref=\"add_form\"\n :model=\"add_form\"\n :rules=\"base_rules\"\n label-width=\"100px\"\n title=\"新增联系人\"\n >\n <el-form-item\n label=\"姓名:\"\n prop=\"name\"\n style=\"width: 80%; margin-bottom: 20px\"\n >\n <el-input\n v-model=\"add_form.name\"\n placeholder=\"请输入联系人姓名\"\n ></el-input>\n </el-form-item>\n <el-form-item\n label=\"手机号:\"\n prop=\"mobile\"\n style=\"width: 80%; margin-bottom: 20px\"\n >\n <el-input\n v-model=\"add_form.mobile\"\n placeholder=\"请输入手机号\"\n ></el-input>\n </el-form-item>\n </el-form>\n </div>\n <span slot=\"footer\" class=\"dialog-footer\">\n <el-button @click=\"isCreate = false\">取 消</el-button>\n <el-button type=\"primary\" @click=\"addContact('add_form')\">\n 确 定\n </el-button>\n </span>\n </el-dialog>\n <el-dialog\n :close-on-press-escape=\"false\"\n :close-on-click-modal=\"false\"\n title=\"拒绝审核\"\n :visible.sync=\"is_reject\"\n width=\"30%\"\n >\n <el-form ref=\"reject\" :model=\"reject\">\n <el-form-item label=\"输入拒绝原因\" prop=\"reason\">\n <el-input\n v-model=\"reject.reason\"\n maxlength=\"20\"\n style=\"width: 240px\"\n autocomplete=\"off\"\n ></el-input>\n </el-form-item>\n </el-form>\n <div slot=\"footer\" class=\"dialog-footer\">\n <el-button @click=\"is_reject = false\">取 消</el-button>\n <el-button type=\"primary\" @click=\"Reject\">确 定</el-button>\n </div>\n </el-dialog>\n <el-drawer :visible.sync=\"drawer\" :with-header=\"false\">\n <div v-for=\"(item, index) in customer_status\" :key=\"index\">\n <div v-if=\"item.deleteStatus === 5\" class=\"detail-tab-item\">\n <div class=\"detail-tab-title clearfix\">\n <span class=\"float_left\">{{ item.name }}</span>\n </div>\n <div class=\"detail-tab-main\">\n <el-checkbox-group\n v-for=\"(item1, index1) in item.children\"\n :key=\"index1\"\n v-model=\"radio1\"\n >\n <el-checkbox-button\n v-if=\"item1.deleteStatus === 5\"\n :label=\"item1.id\"\n class=\"float_left\"\n style=\"margin: 0 10px 0 0\"\n @change=\"changeCheckbox\"\n >\n {{ item1.name }}\n </el-checkbox-button>\n </el-checkbox-group>\n </div>\n </div>\n </div>\n <div class=\"detail-tab-main float_right\">\n <el-button type=\"primary\" @click=\"updateCustomerTagLibById\">\n 保 存\n </el-button>\n </div>\n </el-drawer>\n </ContainerTit>\n</template>\n\n<script>\n import {\n updateCustomerCheckStatus,\n getCustomerInfo,\n addCustomerContact,\n // addCustomerTag,\n delCustomerTag,\n getAllCustomerTagLib,\n updateCustomerTagLibById,\n } from \"@/api/Customer\";\n import {\n getAllOrder,\n updateOrderStatus,\n updateAuditStatus,\n } from \"@/api/Order\";\n export default {\n name: \"CustomerDetail\",\n data() {\n return {\n is_reject: false, // 拒绝按钮打开\n reject: {\n reason: \"\",\n },\n bigimg_src: \"\",\n customer_id: \"\",\n tags: [],\n taglib: [],\n searchWord: \"\",\n add_form: {\n customerId: \"\",\n name: \"\",\n mobile: \"\",\n },\n base_rules: {\n // 基本信息验证\n name: [{ required: true, message: \"姓名不能为空\", trigger: \"blur\" }],\n mobile: [\n { required: true, message: \"联系电话不能为空\", trigger: \"blur\" },\n ],\n },\n order_tabel: [], // 订单表格\n login_tabel: [], // 下单日志\n cousterdetail: {\n area: {},\n contact: [\n {\n name: \"\",\n mobile: \"\",\n },\n ],\n },\n tableTr: [],\n order_list: [],\n isCreate: false,\n loading: false,\n drawer: false,\n customer_status: [],\n radio1: [],\n activeName: \"one\",\n };\n },\n async created() {\n this.customer_id = this.$route.params.id;\n await this.addTag(\"one\");\n await this.getCustomerInfo();\n },\n activated() {\n if (this.$_isInit()) return;\n this.getCustomerInfo();\n },\n methods: {\n // 拒绝审核按钮\n async Reject() {\n if (!this.reject.reason) {\n this.$message(\"请填写拒绝审核的原因\");\n return;\n }\n try {\n this.loading = true;\n const data = await updateCustomerCheckStatus({\n id: this.customer_id,\n status: 3,\n reason: this.reject.reason,\n });\n\n this.is_reject = false;\n await this.getCustomerInfo();\n this.$message({\n type: \"success\",\n message: \"提交成功\",\n });\n this.loading = false;\n } catch {\n this.loading = false;\n }\n },\n // 审核与拒绝审核 $route.params.id\n EditAuditStatus(row) {\n this.loading = true;\n if (row) {\n this.$confirm(\"确定要审核此用户吗?\", \"提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\",\n })\n .then(async () => {\n try {\n const data = await updateCustomerCheckStatus({\n id: this.customer_id,\n status: 2,\n });\n await this.getCustomerInfo();\n this.loading = false;\n this.$message({\n type: \"success\",\n message: \"审核成功\",\n });\n this.loading = false;\n } catch {\n this.loading = false;\n }\n })\n .catch(() => {\n this.loading = false;\n });\n } else {\n this.is_reject = true;\n }\n },\n // 获取列表\n async getAllOrder(userCenterId) {\n // 验证订单列表权限\n if (!this.$accessCheck(this.$Access.orderQueryGetAllOrder)) {\n return;\n }\n let search = {\n userCenterId: userCenterId,\n };\n const data = await getAllOrder({\n page: this.page,\n pageSize: this.pageSize,\n search: search,\n });\n\n this.order_list = data.data;\n this.total = data.pageTotal;\n },\n goDetail(row) {\n this.$router.push({\n path: `/order/manageO/OrderDetails/${row.userCenterId}/${row.id}`,\n });\n },\n // 取消订单\n async updateOrderStatus(row) {\n this.$confirm(\"确定要取消该订单吗?\", \"提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\",\n }).then(async () => {\n const data = await updateOrderStatus(row.userCenterId, {\n orderId: row.id,\n });\n\n this.$message({\n type: \"success\",\n message: \"操作成功\",\n });\n this.pageChange(1);\n });\n },\n // 审核订单\n async updateAuditStatus(row) {\n this.$confirm(\"确定要审核通过该订单吗?\", \"提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\",\n }).then(async () => {\n const data = await updateAuditStatus(row.userCenterId, {\n orderId: row.id,\n auditStatus: 2,\n audit: this.userName,\n });\n\n this.$message({\n type: \"success\",\n message: \"操作成功\",\n });\n this.pageChange(1);\n });\n },\n // 客户详情 getCustomerInfo\n async getCustomerInfo() {\n if (!this.$route.params.id) {\n return;\n }\n const { data } = await getCustomerInfo(this.$route.params.id);\n\n this.tableTr = data.contact;\n this.cousterdetail = data;\n await this.getAllOrder(data.userCenterId);\n // this.taglib = data.taglib;\n let arr = [];\n this.customer_status.forEach((item) => arr.push(...item.children));\n let arr2 = [];\n // this.taglib.forEach((item1) =>\n // arr2.push(...arr.filter((item2) => item2.id === item1))\n // );\n this.tags = arr2;\n },\n addContact(formName) {\n this.$refs[formName].validate(async (valid) => {\n if (valid) {\n const data = await addCustomerContact({\n // 刷新页面 contact内有customerId\n customerId: this.$route.params.id,\n name: this.add_form.name,\n mobile: this.add_form.mobile,\n });\n\n this.isCreate = false;\n this.$message.success(\"添加成功\");\n // 重新刷新页面\n await this.getCustomerInfo();\n }\n });\n },\n // 新增联系人电话\n createPhone() {\n this.isCreate = true;\n },\n\n handleInputConfirm() {\n let inputValue = this.inputValue;\n if (inputValue) {\n this.dynamicTags.push(inputValue);\n }\n this.inputVisible = false;\n this.inputValue = \"\";\n },\n async addTag(id) {\n if (id === \"two\") {\n this.drawer = true;\n }\n const { data } = await getAllCustomerTagLib();\n this.customer_status = data;\n // if (!this.$accessCheck(this.$Access.BaseDataListUpdateCategory)) {\n // return;\n // }\n // // 关键字不能为空\n // if (!this.searchWord) {\n // this.$message({\n // message: \"请输入有效文字\",\n // type: \"warning\",\n // });\n // return;\n // }\n // const data = await addCustomerTag({\n // id: this.$route.params.id,\n // tag: this.searchWord,\n // });\n //\n // this.$message({\n // message: \"添加成功\",\n // type: \"success\",\n // });\n // this.searchWord = \"\";\n // this.getCustomerInfo();\n },\n // 删除标签\n delCustomerTag(tag) {\n if (!this.$accessCheck(this.$Access.CustomerListDelCustomerTag)) {\n return;\n }\n this.$confirm(\"是否确认删除此标签\", \"提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\",\n }).then(async () => {\n const data = await delCustomerTag({\n id: this.$route.params.id,\n tag: tag,\n });\n\n this.$message({\n type: \"success\",\n message: \"删除成功!\",\n });\n await this.getCustomerInfo();\n });\n },\n changeCheckbox(value) {\n console.log(value);\n },\n async updateCustomerTagLibById() {\n const { data } = await updateCustomerTagLibById({\n id: this.customer_id,\n taglib: this.radio1,\n });\n await this.getCustomerInfo();\n this.drawer = false;\n this.$message.success(\"修改成功\");\n },\n },\n };\n</script>\n\n<style scoped lang=\"scss\">\n .extend-img {\n width: 100px;\n height: 100px;\n border-radius: 4px;\n border: 1px solid #ddd;\n object-fit: contain;\n cursor: pointer;\n }\n .extend-span {\n padding-right: 20px;\n margin-top: 50px;\n }\n .itemStyle {\n display: flex;\n justify-content: space-around;\n }\n .formItem {\n width: 200px;\n }\n .table {\n background-color: #eee;\n border-spacing: 0;\n border-collapse: collapse;\n margin-left: 20px;\n }\n .table > tr {\n height: 24px;\n line-height: 24px;\n }\n .table > tr > td {\n height: 20px;\n font-size: 13px;\n padding: 6px 0 0 10px;\n border-top: 1px solid #eaeff0;\n vertical-align: middle;\n }\n .AddMan {\n color: #428bca;\n font-size: 15px;\n padding: 20px;\n }\n .otherInfo {\n font-size: 16px;\n }\n .otherInfo p {\n margin-left: 20px;\n padding-bottom: 20px;\n font: 13px \"Hiragino Sans GB\", Arial, \"Microsoft Himalaya\";\n color: #58666e;\n }\n .add-btn {\n height: 32px;\n line-height: 32px;\n width: 90px;\n text-align: center;\n background: #ff7557;\n color: #fff;\n font-size: 14px;\n border-radius: 5px;\n display: inline-block;\n cursor: pointer;\n vertical-align: middle;\n margin-left: 20px;\n }\n .analyze-li {\n border: 1px solid #333;\n padding: 20px 40px;\n }\n .analyze_val {\n font-size: 24px;\n line-height: 24px;\n float: right;\n }\n .analyze-li > p {\n margin-top: 20px;\n }\n .analyze-li > p:first-child {\n margin-top: 0;\n }\n .table-b-div {\n border: 1px solid #ebeef5;\n text-align: center;\n line-height: 40px;\n border-top: 0 none;\n cursor: pointer;\n }\n .de_from_row {\n .de_val {\n display: inline-block;\n vertical-align: middle;\n height: 36px;\n line-height: 36px;\n }\n }\n .order_bottom {\n border-top: 16px solid #f6f8f9;\n width: 100%;\n background-color: #ffffff;\n border-radius: 3px;\n .text {\n font-size: 16px;\n font-weight: 600;\n color: #2d405e;\n line-height: 64px;\n padding: 0px 24px;\n }\n }\n .order_midden_left_text {\n font-weight: bold;\n font-size: 16px;\n margin: 0 0 27px 0;\n }\n .form {\n padding-left: 40px;\n font-size: 14px;\n margin-bottom: 19px;\n .form_left {\n margin-right: 32px;\n color: #62738e;\n font-weight: 400;\n }\n .form_right {\n color: #2d405e;\n font-weight: 500;\n }\n }\n .btn-top-div {\n position: absolute;\n right: 20px;\n top: 15px;\n z-index: 999;\n }\n</style>\n<style>\n .CustomerDetail {\n background-color: #fff;\n }\n .CustomerDetail .el-tabs__item {\n font-size: 16px !important;\n height: 60px !important;\n line-height: 60px !important;\n }\n .CustomerDetail .is-active {\n font-weight: 700;\n color: #000;\n }\n .CustomerDetail .el-tabs__nav {\n margin-left: 24px;\n }\n</style>\n"]}]}
|