a75d3b89f44d7beef9db9a44b6a42853.json 15 KB

1
  1. {"remainingRequest":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\babel-loader\\lib\\index.js!C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\src\\pages\\kefu\\mobile\\user\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\src\\pages\\kefu\\mobile\\user\\index.vue","mtime":1761185180101},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\babel.config.js","mtime":1761185179818},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\.babelrc","mtime":1761185179813},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkubWFwLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkucHVzaC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLml0ZXJhdG9yLmNvbnN0cnVjdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuaXRlcmF0b3IubWFwLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qcyI7CmltcG9ydCB1c2VyTGFiZWxzIGZyb20gJy4vdXNlckxhYmVsJzsKaW1wb3J0IHsgdXNlckluZm8sIHVzZXJHcm91cEFwaSwgcHV0R3JvdXBBcGksIHVzZXJMYWJlbCB9IGZyb20gJ0AvYXBpL2tlZnUnOwppbXBvcnQgdnVlUGlja2VycyBmcm9tICd2dWUtcGlja2Vycyc7CmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAnaW5kZXgnLAogIGNvbXBvbmVudHM6IHsKICAgIHVzZXJMYWJlbHM6IHVzZXJMYWJlbHMsCiAgICB2dWVQaWNrZXJzOiB2dWVQaWNrZXJzCiAgfSwKICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgY2hhbmdlOiBmYWxzZSwKICAgICAgLy/mqKHmgIHmoYbmmL7npLrpmpDol48KICAgICAgYWN0aXZlVXNlckluZm86ICcnLAogICAgICBwaWNrZXJWaXNpYmxlOiBmYWxzZSwKICAgICAgLy/liIbnu4TpgInmi6kKICAgICAgZ3JvdXBMaXN0OiBbXSwKICAgICAgLy/liIbnu4QKICAgICAgbGFiZWxMaXN0OiBbXSAvL+agh+etvgogICAgfTsKICB9LAogIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7CiAgICB0aGlzLmdldEdyb3VwKCk7CiAgICB0aGlzLmdldFVzZXJJbmZvKCk7CiAgfSwKICBtZXRob2RzOiB7CiAgICAvL+iOt+WPlueUqOaIt+agh+etvgogICAgZ2V0TGlzdDogZnVuY3Rpb24gZ2V0TGlzdCgpIHsKICAgICAgdmFyIF90aGlzID0gdGhpczsKICAgICAgdXNlckxhYmVsKHRoaXMuJHJvdXRlLnBhcmFtcy51aWQpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgIF90aGlzLmxhYmVsTGlzdCA9IHJlcy5kYXRhIHx8IFtdOwogICAgICAgIGlmIChfdGhpcy5sYWJlbExpc3QubGVuZ3RoKSB7CiAgICAgICAgICBfdGhpcy5jaGFuZ2UgPSB0cnVlOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBfdGhpcy4kZGlhbG9nLmVycm9yKCfmmoLml6DmoIfnrb4nKTsKICAgICAgICB9CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICBfdGhpcy4kZGlhbG9nLmVycm9yKGVyci5tc2cpOwogICAgICB9KTsKICAgIH0sCiAgICAvL+iOt+WPlueUqOaIt+ivpuaDhQogICAgZ2V0VXNlckluZm86IGZ1bmN0aW9uIGdldFVzZXJJbmZvKCkgewogICAgICB2YXIgX3RoaXMyID0gdGhpczsKICAgICAgdXNlckluZm8odGhpcy4kcm91dGUucGFyYW1zLnVpZCkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgX3RoaXMyLmFjdGl2ZVVzZXJJbmZvID0gcmVzLmRhdGE7CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICBfdGhpczIuJGRpYWxvZy5lcnJvcihlcnIubXNnKTsKICAgICAgfSk7CiAgICB9LAogICAgLy/ojrflj5bnlKjmiLfliIbnu4QKICAgIGdldEdyb3VwOiBmdW5jdGlvbiBnZXRHcm91cCgpIHsKICAgICAgdmFyIF90aGlzMyA9IHRoaXM7CiAgICAgIHZhciBvYmogPSB7CiAgICAgICAgaWQ6IDAsCiAgICAgICAgZ3JvdXBfbmFtZTogJ+aXoCcKICAgICAgfTsKICAgICAgdXNlckdyb3VwQXBpKCkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgcmVzLmRhdGEudW5zaGlmdChvYmopOwogICAgICAgIHZhciB0ZGF0YSA9IFtdOwogICAgICAgIHJlcy5kYXRhLm1hcChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgdGRhdGEucHVzaCh7CiAgICAgICAgICAgIGxhYmVsOiBpdGVtLmdyb3VwX25hbWUsCiAgICAgICAgICAgIHZhbHVlOiBpdGVtLmlkCiAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgICAgICBfdGhpczMuZ3JvdXBMaXN0ID0gW3RkYXRhXTsKICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKGVycikgewogICAgICAgIF90aGlzMy4kZGlhbG9nLmVycm9yKGVyci5tc2cpOwogICAgICB9KTsKICAgIH0sCiAgICBlZGl0TGFiZWw6IGZ1bmN0aW9uIGVkaXRMYWJlbCgpIHsKICAgICAgdGhpcy5jaGFuZ2UgPSBmYWxzZTsKICAgICAgdGhpcy5nZXRVc2VySW5mbygpOwogICAgfSwKICAgIG9uU2hvd0xhYmVsOiBmdW5jdGlvbiBvblNob3dMYWJlbCgpIHsKICAgICAgdGhpcy5nZXRMaXN0KCk7CiAgICB9LAogICAgc2hvd05hbWU6IGZ1bmN0aW9uIHNob3dOYW1lKCkgewogICAgICB0aGlzLnBpY2tlclZpc2libGUgPSB0cnVlOwogICAgfSwKICAgIGNhbmNlbDogZnVuY3Rpb24gY2FuY2VsKCkge30sCiAgICAvLyDpgInmi6nliIbnu4QKICAgIGNvbmZpcm06IGZ1bmN0aW9uIGNvbmZpcm0ocmVzKSB7CiAgICAgIHZhciBfdGhpczQgPSB0aGlzOwogICAgICBwdXRHcm91cEFwaSh0aGlzLiRyb3V0ZS5wYXJhbXMudWlkLCByZXNbMF0udmFsdWUpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgIF90aGlzNC4kbWVzc2FnZS5zdWNjZXNzKHJlcy5tc2cpOwogICAgICAgIF90aGlzNC5nZXRVc2VySW5mbygpOwogICAgICB9KS5jYXRjaChmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgX3RoaXM0LiRkaWFsb2cuZXJyb3IoZXJyLm1zZyk7CiAgICAgIH0pOwogICAgfSwKICAgIGNsb3NlQ2hhbmdlOiBmdW5jdGlvbiBjbG9zZUNoYW5nZShtc2cpIHsKICAgICAgdGhpcy5jaGFuZ2UgPSBtc2c7CiAgICB9CiAgfQp9Ow=="},{"version":3,"names":["userLabels","userInfo","userGroupApi","putGroupApi","userLabel","vuePickers","name","components","data","change","activeUserInfo","pickerVisible","groupList","labelList","mounted","getGroup","getUserInfo","methods","getList","_this","$route","params","uid","then","res","length","$dialog","error","catch","err","msg","_this2","_this3","obj","id","group_name","unshift","tdata","map","item","push","label","value","editLabel","onShowLabel","showName","cancel","confirm","_this4","$message","success","closeChange"],"sources":["src/pages/kefu/mobile/user/index.vue"],"sourcesContent":["<template>\r\n <div class=\"userBox\" v-if=\"activeUserInfo\">\r\n <div class=\"user-header acea-row row-middle\">\r\n <div class=\"user-header-img mr20\">\r\n <img v-lazy=\"activeUserInfo.avatar\" />\r\n </div>\r\n <div class=\"user-header-name\">\r\n <span class=\"sp1 mr10\" v-text=\"activeUserInfo.nickname\"></span>\r\n <span class=\"sp2\">{{ $route.params.type | sourceType }}</span>\r\n </div>\r\n </div>\r\n <div class=\"user-list\">\r\n <div class=\"acea-row item bgt\">\r\n <span class=\"sp1\">用户标签</span>\r\n <div class=\"labelBox\" v-if=\"activeUserInfo.labelNames.length\">\r\n <span class=\"label\" v-for=\"(item, index) in activeUserInfo.labelNames\" :key=\"index\">{{ item }}</span>\r\n </div>\r\n <span v-else class=\"labelBox\">无</span>\r\n <span class=\"iconfontYI icon-up\" v-db-click @click=\"onShowLabel\"></span>\r\n </div>\r\n <div class=\"acea-row item bgt\">\r\n <span class=\"sp1\">手机号</span>\r\n <span class=\"sp2\" v-text=\"activeUserInfo.phone || '无'\"></span>\r\n </div>\r\n <div class=\"acea-row item\">\r\n <span class=\"sp1\">分组</span>\r\n <span\r\n class=\"checkName\"\r\n v-if=\"activeUserInfo.group_name\"\r\n v-text=\"activeUserInfo.group_name\"\r\n v-db-click\r\n @click=\"showName\"\r\n ></span>\r\n <span v-else v-db-click @click=\"showName\">无</span>\r\n <vue-pickers\r\n :data=\"groupList\"\r\n v-if=\"groupList.length\"\r\n :showToolbar=\"true\"\r\n :maskClick=\"true\"\r\n @confirm=\"confirm\"\r\n :defaultIndex=\"0\"\r\n :visible.sync=\"pickerVisible\"\r\n ></vue-pickers>\r\n </div>\r\n </div>\r\n <div class=\"user-list\">\r\n <div class=\"acea-row item bgt\">\r\n <span class=\"sp1\">用户等级</span>\r\n <span class=\"sp2\" v-text=\"activeUserInfo.level_name ? activeUserInfo.level_name : '无'\"></span>\r\n </div>\r\n <div class=\"acea-row item bgt\">\r\n <span class=\"sp1\">用户类型</span>\r\n <span class=\"sp2\">{{ activeUserInfo.user_type | userType }}</span>\r\n </div>\r\n <div class=\"acea-row item bgt\">\r\n <span class=\"sp1\">余额</span>\r\n <span class=\"sp2\" v-text=\"activeUserInfo.now_money || '无'\"></span>\r\n </div>\r\n <div class=\"acea-row item bgt\">\r\n <span class=\"sp1\">推广员</span>\r\n <span class=\"sp2\" v-text=\"activeUserInfo.is_promoter === 1 ? '是' : '否'\"></span>\r\n </div>\r\n <div class=\"acea-row item\">\r\n <span class=\"sp1\">生日</span>\r\n <span class=\"sp2\" v-text=\"activeUserInfo.birthday || '无'\"></span>\r\n </div>\r\n </div>\r\n <user-labels\r\n v-if=\"change\"\r\n :change=\"change\"\r\n @cancel=\"cancel\"\r\n :labelList=\"labelList\"\r\n :uid=\"Number($route.params.uid)\"\r\n @editLabel=\"editLabel\"\r\n @closeChange=\"closeChange\"\r\n ></user-labels>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport userLabels from './userLabel';\r\nimport { userInfo, userGroupApi, putGroupApi, userLabel } from '@/api/kefu';\r\nimport vuePickers from 'vue-pickers';\r\nexport default {\r\n name: 'index',\r\n components: {\r\n userLabels,\r\n vuePickers,\r\n },\r\n data() {\r\n return {\r\n change: false, //模态框显示隐藏\r\n activeUserInfo: '',\r\n pickerVisible: false, //分组选择\r\n groupList: [], //分组\r\n labelList: [], //标签\r\n };\r\n },\r\n mounted() {\r\n this.getGroup();\r\n this.getUserInfo();\r\n },\r\n methods: {\r\n //获取用户标签\r\n getList() {\r\n userLabel(this.$route.params.uid)\r\n .then((res) => {\r\n this.labelList = res.data || [];\r\n if (this.labelList.length) {\r\n this.change = true;\r\n } else {\r\n this.$dialog.error('暂无标签');\r\n }\r\n })\r\n .catch((err) => {\r\n this.$dialog.error(err.msg);\r\n });\r\n },\r\n //获取用户详情\r\n getUserInfo() {\r\n userInfo(this.$route.params.uid)\r\n .then((res) => {\r\n this.activeUserInfo = res.data;\r\n })\r\n .catch((err) => {\r\n this.$dialog.error(err.msg);\r\n });\r\n },\r\n //获取用户分组\r\n getGroup() {\r\n let obj = {\r\n id: 0,\r\n group_name: '无',\r\n };\r\n userGroupApi()\r\n .then((res) => {\r\n res.data.unshift(obj);\r\n let tdata = [];\r\n res.data.map((item) => {\r\n tdata.push({\r\n label: item.group_name,\r\n value: item.id,\r\n });\r\n });\r\n this.groupList = [tdata];\r\n })\r\n .catch((err) => {\r\n this.$dialog.error(err.msg);\r\n });\r\n },\r\n editLabel() {\r\n this.change = false;\r\n this.getUserInfo();\r\n },\r\n onShowLabel() {\r\n this.getList();\r\n },\r\n showName() {\r\n this.pickerVisible = true;\r\n },\r\n cancel() {},\r\n // 选择分组\r\n confirm(res) {\r\n putGroupApi(this.$route.params.uid, res[0].value)\r\n .then((res) => {\r\n this.$message.success(res.msg);\r\n this.getUserInfo();\r\n })\r\n .catch((err) => {\r\n this.$dialog.error(err.msg);\r\n });\r\n },\r\n closeChange(msg) {\r\n this.change = msg;\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.userBox {\r\n background: #f0f1f2;\r\n}\r\n.bgt {\r\n border-bottom: 1px solid #f0f2f7;\r\n}\r\n.user {\r\n &-header {\r\n padding: 0 0.3rem;\r\n background: #fff;\r\n margin-bottom: 0.15rem;\r\n width: 100%;\r\n height: 1.5rem;\r\n line-height: 1.5rem;\r\n &-img {\r\n width: 1.1rem;\r\n height: 1.1rem;\r\n border-radius: 50%;\r\n overflow: hidden;\r\n img {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n }\r\n &-name {\r\n .sp1 {\r\n color: #282828;\r\n font-size: 0.32rem;\r\n font-weight: bold;\r\n }\r\n .sp2 {\r\n background: rgba(56, 117, 234, 0.14);\r\n color: #3875ea;\r\n font-size: 0.18rem;\r\n padding: 0.1rem;\r\n border-radius: 4px;\r\n }\r\n }\r\n }\r\n &-list {\r\n padding: 0 0.2rem;\r\n background: #fff;\r\n margin-bottom: 0.15rem;\r\n .item {\r\n width: 100%;\r\n padding: 0.2rem 0;\r\n .sp1 {\r\n color: #686868;\r\n font-size: 0.28rem;\r\n width: 1.6rem;\r\n }\r\n .sp2 {\r\n color: #282828;\r\n font-size: 0.28rem;\r\n }\r\n }\r\n .labelBox {\r\n display: flex;\r\n flex-wrap: wrap;\r\n width: 4.8rem;\r\n }\r\n .label {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n height: 0.5rem;\r\n border: 1px solid #3875ea;\r\n opacity: 1;\r\n border-radius: 16px;\r\n padding: 0 0.15rem;\r\n text-align: center;\r\n color: #3875ea;\r\n font-size: 0.2rem;\r\n margin: 0.07rem 0.15rem 0.07rem 0;\r\n }\r\n }\r\n}\r\n</style>\r\n"],"mappings":";;;;;AAgFA,OAAAA,UAAA;AACA,SAAAC,QAAA,EAAAC,YAAA,EAAAC,WAAA,EAAAC,SAAA;AACA,OAAAC,UAAA;AACA;EACAC,IAAA;EACAC,UAAA;IACAP,UAAA,EAAAA,UAAA;IACAK,UAAA,EAAAA;EACA;EACAG,IAAA,WAAAA,KAAA;IACA;MACAC,MAAA;MAAA;MACAC,cAAA;MACAC,aAAA;MAAA;MACAC,SAAA;MAAA;MACAC,SAAA;IACA;EACA;EACAC,OAAA,WAAAA,QAAA;IACA,KAAAC,QAAA;IACA,KAAAC,WAAA;EACA;EACAC,OAAA;IACA;IACAC,OAAA,WAAAA,QAAA;MAAA,IAAAC,KAAA;MACAf,SAAA,MAAAgB,MAAA,CAAAC,MAAA,CAAAC,GAAA,EACAC,IAAA,WAAAC,GAAA;QACAL,KAAA,CAAAN,SAAA,GAAAW,GAAA,CAAAhB,IAAA;QACA,IAAAW,KAAA,CAAAN,SAAA,CAAAY,MAAA;UACAN,KAAA,CAAAV,MAAA;QACA;UACAU,KAAA,CAAAO,OAAA,CAAAC,KAAA;QACA;MACA,GACAC,KAAA,WAAAC,GAAA;QACAV,KAAA,CAAAO,OAAA,CAAAC,KAAA,CAAAE,GAAA,CAAAC,GAAA;MACA;IACA;IACA;IACAd,WAAA,WAAAA,YAAA;MAAA,IAAAe,MAAA;MACA9B,QAAA,MAAAmB,MAAA,CAAAC,MAAA,CAAAC,GAAA,EACAC,IAAA,WAAAC,GAAA;QACAO,MAAA,CAAArB,cAAA,GAAAc,GAAA,CAAAhB,IAAA;MACA,GACAoB,KAAA,WAAAC,GAAA;QACAE,MAAA,CAAAL,OAAA,CAAAC,KAAA,CAAAE,GAAA,CAAAC,GAAA;MACA;IACA;IACA;IACAf,QAAA,WAAAA,SAAA;MAAA,IAAAiB,MAAA;MACA,IAAAC,GAAA;QACAC,EAAA;QACAC,UAAA;MACA;MACAjC,YAAA,GACAqB,IAAA,WAAAC,GAAA;QACAA,GAAA,CAAAhB,IAAA,CAAA4B,OAAA,CAAAH,GAAA;QACA,IAAAI,KAAA;QACAb,GAAA,CAAAhB,IAAA,CAAA8B,GAAA,WAAAC,IAAA;UACAF,KAAA,CAAAG,IAAA;YACAC,KAAA,EAAAF,IAAA,CAAAJ,UAAA;YACAO,KAAA,EAAAH,IAAA,CAAAL;UACA;QACA;QACAF,MAAA,CAAApB,SAAA,IAAAyB,KAAA;MACA,GACAT,KAAA,WAAAC,GAAA;QACAG,MAAA,CAAAN,OAAA,CAAAC,KAAA,CAAAE,GAAA,CAAAC,GAAA;MACA;IACA;IACAa,SAAA,WAAAA,UAAA;MACA,KAAAlC,MAAA;MACA,KAAAO,WAAA;IACA;IACA4B,WAAA,WAAAA,YAAA;MACA,KAAA1B,OAAA;IACA;IACA2B,QAAA,WAAAA,SAAA;MACA,KAAAlC,aAAA;IACA;IACAmC,MAAA,WAAAA,OAAA;IACA;IACAC,OAAA,WAAAA,QAAAvB,GAAA;MAAA,IAAAwB,MAAA;MACA7C,WAAA,MAAAiB,MAAA,CAAAC,MAAA,CAAAC,GAAA,EAAAE,GAAA,IAAAkB,KAAA,EACAnB,IAAA,WAAAC,GAAA;QACAwB,MAAA,CAAAC,QAAA,CAAAC,OAAA,CAAA1B,GAAA,CAAAM,GAAA;QACAkB,MAAA,CAAAhC,WAAA;MACA,GACAY,KAAA,WAAAC,GAAA;QACAmB,MAAA,CAAAtB,OAAA,CAAAC,KAAA,CAAAE,GAAA,CAAAC,GAAA;MACA;IACA;IACAqB,WAAA,WAAAA,YAAArB,GAAA;MACA,KAAArB,MAAA,GAAAqB,GAAA;IACA;EACA;AACA","ignoreList":[]}]}