| 1 |
- {"remainingRequest":"E:\\item\\newItem\\admin\\node_modules\\babel-loader\\lib\\index.js!E:\\item\\newItem\\admin\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!E:\\item\\newItem\\admin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!E:\\item\\newItem\\admin\\node_modules\\iview-loader\\index.js??ref--0-2!E:\\item\\newItem\\admin\\src\\pages\\kefu\\mobile\\user\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"E:\\item\\newItem\\admin\\src\\pages\\kefu\\mobile\\user\\index.vue","mtime":1677828270203},{"path":"E:\\item\\newItem\\admin\\babel.config.js","mtime":1677828270071},{"path":"E:\\item\\newItem\\admin\\.babelrc","mtime":1677828270070},{"path":"E:\\item\\newItem\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\item\\newItem\\admin\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"E:\\item\\newItem\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\item\\newItem\\admin\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000},{"path":"E:\\item\\newItem\\admin\\node_modules\\iview-loader\\index.js","mtime":1570440814000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkubWFwLmpzIjsKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KaW1wb3J0IHVzZXJMYWJlbHMgZnJvbSAnLi91c2VyTGFiZWwnOwppbXBvcnQgeyB1c2VySW5mbywgdXNlckdyb3VwQXBpLCBwdXRHcm91cEFwaSwgdXNlckxhYmVsIH0gZnJvbSAnQC9hcGkva2VmdSc7CmltcG9ydCB2dWVQaWNrZXJzIGZyb20gJ3Z1ZS1waWNrZXJzJzsKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICdpbmRleCcsCiAgY29tcG9uZW50czogewogICAgdXNlckxhYmVsczogdXNlckxhYmVscywKICAgIHZ1ZVBpY2tlcnM6IHZ1ZVBpY2tlcnMKICB9LAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICBjaGFuZ2U6IGZhbHNlLAogICAgICAvL+aooeaAgeahhuaYvuekuumakOiXjwogICAgICBhY3RpdmVVc2VySW5mbzogJycsCiAgICAgIHBpY2tlclZpc2libGU6IGZhbHNlLAogICAgICAvL+WIhue7hOmAieaLqQogICAgICBncm91cExpc3Q6IFtdLAogICAgICAvL+WIhue7hAogICAgICBsYWJlbExpc3Q6IFtdIC8v5qCH562+CgogICAgfTsKICB9LAogIG1vdW50ZWQ6IGZ1bmN0aW9uIG1vdW50ZWQoKSB7CiAgICB0aGlzLmdldEdyb3VwKCk7CiAgICB0aGlzLmdldFVzZXJJbmZvKCk7CiAgfSwKICBtZXRob2RzOiB7CiAgICAvL+iOt+WPlueUqOaIt+agh+etvgogICAgZ2V0TGlzdDogZnVuY3Rpb24gZ2V0TGlzdCgpIHsKICAgICAgdmFyIF90aGlzID0gdGhpczsKCiAgICAgIHVzZXJMYWJlbCh0aGlzLiRyb3V0ZS5wYXJhbXMudWlkKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBfdGhpcy5sYWJlbExpc3QgPSByZXMuZGF0YSB8fCBbXTsKCiAgICAgICAgaWYgKF90aGlzLmxhYmVsTGlzdC5sZW5ndGgpIHsKICAgICAgICAgIF90aGlzLmNoYW5nZSA9IHRydWU7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIF90aGlzLiRkaWFsb2cuZXJyb3IoJ+aaguaXoOagh+etvicpOwogICAgICAgIH0KICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKGVycikgewogICAgICAgIF90aGlzLiRkaWFsb2cuZXJyb3IoZXJyLm1zZyk7CiAgICAgIH0pOwogICAgfSwKICAgIC8v6I635Y+W55So5oi36K+m5oOFCiAgICBnZXRVc2VySW5mbzogZnVuY3Rpb24gZ2V0VXNlckluZm8oKSB7CiAgICAgIHZhciBfdGhpczIgPSB0aGlzOwoKICAgICAgdXNlckluZm8odGhpcy4kcm91dGUucGFyYW1zLnVpZCkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgX3RoaXMyLmFjdGl2ZVVzZXJJbmZvID0gcmVzLmRhdGE7CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICBfdGhpczIuJGRpYWxvZy5lcnJvcihlcnIubXNnKTsKICAgICAgfSk7CiAgICB9LAogICAgLy/ojrflj5bnlKjmiLfliIbnu4QKICAgIGdldEdyb3VwOiBmdW5jdGlvbiBnZXRHcm91cCgpIHsKICAgICAgdmFyIF90aGlzMyA9IHRoaXM7CgogICAgICB2YXIgb2JqID0gewogICAgICAgIGlkOiAwLAogICAgICAgIGdyb3VwX25hbWU6ICfml6AnCiAgICAgIH07CiAgICAgIHVzZXJHcm91cEFwaSgpLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgIHJlcy5kYXRhLnVuc2hpZnQob2JqKTsKICAgICAgICB2YXIgdGRhdGEgPSBbXTsKICAgICAgICByZXMuZGF0YS5tYXAoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgIHRkYXRhLnB1c2goewogICAgICAgICAgICBsYWJlbDogaXRlbS5ncm91cF9uYW1lLAogICAgICAgICAgICB2YWx1ZTogaXRlbS5pZAogICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICAgICAgX3RoaXMzLmdyb3VwTGlzdCA9IFt0ZGF0YV07CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICBfdGhpczMuJGRpYWxvZy5lcnJvcihlcnIubXNnKTsKICAgICAgfSk7CiAgICB9LAogICAgZWRpdExhYmVsOiBmdW5jdGlvbiBlZGl0TGFiZWwoKSB7CiAgICAgIHRoaXMuY2hhbmdlID0gZmFsc2U7CiAgICAgIHRoaXMuZ2V0VXNlckluZm8oKTsKICAgIH0sCiAgICBvblNob3dMYWJlbDogZnVuY3Rpb24gb25TaG93TGFiZWwoKSB7CiAgICAgIHRoaXMuZ2V0TGlzdCgpOwogICAgfSwKICAgIHNob3dOYW1lOiBmdW5jdGlvbiBzaG93TmFtZSgpIHsKICAgICAgdGhpcy5waWNrZXJWaXNpYmxlID0gdHJ1ZTsKICAgIH0sCiAgICBjYW5jZWw6IGZ1bmN0aW9uIGNhbmNlbCgpIHt9LAogICAgLy8g6YCJ5oup5YiG57uECiAgICBjb25maXJtOiBmdW5jdGlvbiBjb25maXJtKHJlcykgewogICAgICB2YXIgX3RoaXM0ID0gdGhpczsKCiAgICAgIHB1dEdyb3VwQXBpKHRoaXMuJHJvdXRlLnBhcmFtcy51aWQsIHJlc1swXS52YWx1ZSkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgX3RoaXM0LiRNZXNzYWdlLnN1Y2Nlc3MocmVzLm1zZyk7CgogICAgICAgIF90aGlzNC5nZXRVc2VySW5mbygpOwogICAgICB9KS5jYXRjaChmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgX3RoaXM0LiRkaWFsb2cuZXJyb3IoZXJyLm1zZyk7CiAgICAgIH0pOwogICAgfSwKICAgIGNsb3NlQ2hhbmdlOiBmdW5jdGlvbiBjbG9zZUNoYW5nZShtc2cpIHsKICAgICAgdGhpcy5jaGFuZ2UgPSBtc2c7CiAgICB9CiAgfQp9Ow=="},{"version":3,"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+EA;AACA;AACA;AACA;EACAA,aADA;EAEAC;IACAC,sBADA;IAEAC;EAFA,CAFA;EAMAC,IANA,kBAMA;IACA;MACAC,aADA;MACA;MACAC,kBAFA;MAGAC,oBAHA;MAGA;MACAC,aAJA;MAIA;MACAC,aALA,CAKA;;IALA;EAOA,CAdA;EAeAC,OAfA,qBAeA;IACA;IACA;EACA,CAlBA;EAmBAC;IACA;IACAC,OAFA,qBAEA;MAAA;;MACAC,kCACAC,IADA,CACA;QACA;;QACA;UACA;QACA,CAFA,MAEA;UACA;QACA;MACA,CARA,EASAC,KATA,CASA;QACA;MACA,CAXA;IAYA,CAfA;IAgBA;IACAC,WAjBA,yBAiBA;MAAA;;MACAC,iCACAH,IADA,CACA;QACA;MACA,CAHA,EAIAC,KAJA,CAIA;QACA;MACA,CANA;IAOA,CAzBA;IA0BA;IACAG,QA3BA,sBA2BA;MAAA;;MACA;QACAC,KADA;QAEAC;MAFA;MAIAC,eACAP,IADA,CACA;QACAQ;QACA;QACAA;UACAC;YACAC,sBADA;YAEAC;UAFA;QAIA,CALA;QAMA;MACA,CAXA,EAYAV,KAZA,CAYA;QACA;MACA,CAdA;IAeA,CA/CA;IAgDAW,SAhDA,uBAgDA;MACA;MACA;IACA,CAnDA;IAoDAC,WApDA,yBAoDA;MACA;IACA,CAtDA;IAuDAC,QAvDA,sBAuDA;MACA;IACA,CAzDA;IA0DAC,MA1DA,oBA0DA,EA1DA;IA2DA;IACAC,OA5DA,mBA4DAR,GA5DA,EA4DA;MAAA;;MACAS,kDACAjB,IADA,CACA;QACA;;QACA;MACA,CAJA,EAKAC,KALA,CAKA;QACA;MACA,CAPA;IAQA,CArEA;IAsEAiB,WAtEA,uBAsEAC,GAtEA,EAsEA;MACA;IACA;EAxEA;AAnBA","names":["name","components","userLabels","vuePickers","data","change","activeUserInfo","pickerVisible","groupList","labelList","mounted","methods","getList","userLabel","then","catch","getUserInfo","userInfo","getGroup","id","group_name","userGroupApi","res","tdata","label","value","editLabel","onShowLabel","showName","cancel","confirm","putGroupApi","closeChange","msg"],"sourceRoot":"src/pages/kefu/mobile/user","sources":["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\" @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 @click=\"showName\"\r\n ></span>\r\n <span v-else @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=\"less\">\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 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 padding: 0 0.3rem;\r\n background: #fff;\r\n margin-bottom: 0.15rem;\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"]}]}
|