| 
					
				 | 
			
			
				@@ -0,0 +1,198 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  <div class="detail-container"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <el-page-header @back="goBack" content="会员详情"></el-page-header> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <el-container> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-header height="100"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="title">基础信息</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-divider></el-divider> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-row :gutter="20" class="member-info"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-col :xs="24" :sm="4" :md="3" :lg="2"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-avatar :size="80" :src="userDetail.avatar"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <img src="https://cube.elemecdn.com/e/fd/0fc7d20532fdaf769a25683617711png.png"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </el-avatar> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-col :xs="24" :sm="20" :md="21" :lg="22"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <!-- 普通用户 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-row :gutter="20" v-if="userDetail.type !== 'SERVICE'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-col :xs="24" :sm="12" :md="6" :lg="5"><div class="item"><span>昵称:</span><span>{{ userDetail.nickName }}</span><i class="el-icon-edit pointer" @click="editName()"></i></div></el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-col :xs="24" :sm="12" :md="6" :lg="5"><div class="item"><span>性别:</span><span>{{ userDetail.sex }}</span></div></el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-col :xs="24" :sm="12" :md="6" :lg="5"><div class="item"><span>微信手机号:</span><span>{{ userDetail.mobile }}</span></div></el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-col :xs="24" :sm="12" :md="6" :lg="5"><div class="item"><span>注册时间:</span><span>{{ userDetail.createTime }}</span></div></el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-col :xs="24" :sm="12" :md="6" :lg="5"><div class="item"><span>角色:</span><span>{{ userDetail.type | MEMBER_CURRENT_TYPE_FILTER }}</span></div></el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-col :xs="24" :sm="12" :md="6" :lg="5"><div class="item"><span>业务员:</span><span>{{ userDetail.serviceName ? userDetail.serviceName:'暂无' }}</span></div></el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-col :xs="24" :sm="12" :md="6" :lg="5"><div class="item"><span>业务员电话:</span><span>{{ userDetail.servicePhone ? userDetail.servicePhone:'暂无' }}</span></div></el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-col :xs="24" :sm="12" :md="6" :lg="5"><div><el-button type="primary" size="small" @click="applyWorker">成为业务员</el-button></div></el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </el-row> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <!-- 业务员 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-row :gutter="20" v-if="userDetail.type === 'SERVICE'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-col :xs="24" :sm="12" :md="6" :lg="5"><div class="item"><span>昵称:</span><span>{{ userDetail.nickName }}</span><i class="el-icon-edit pointer" @click="editName()"></i></div></el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-col :xs="24" :sm="12" :md="6" :lg="5"><div class="item"><span>性别:</span><span>{{ userDetail.sex }}</span></div></el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-col :xs="24" :sm="12" :md="6" :lg="5"><div class="item"><span>微信手机号:</span><span>{{ userDetail.mobile }}</span></div></el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-col :xs="24" :sm="12" :md="6" :lg="5"><div class="item"><span>注册时间:</span><span>{{ userDetail.createTime }}</span></div></el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-col :xs="24" :sm="12" :md="6" :lg="5"><div class="item"><span>角色:</span><span>{{ userDetail.type | MEMBER_CURRENT_TYPE_FILTER }}</span></div></el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-col :xs="24" :sm="12" :md="6" :lg="5"><div class="item"><span>真实姓名:</span><span>{{ userDetail.workerName }}</span></div></el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-col :xs="24" :sm="12" :md="6" :lg="5"><div class="item"><span>手机号码:</span><span>{{ userDetail.workerPhone }}</span></div></el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-col :xs="24" :sm="12" :md="6" :lg="5"><div class="item"><span>职位:</span><span>{{ userDetail.position }}</span></div></el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-col :xs="24" :sm="12" :md="6" :lg="5"><div class="item"><span>收益:</span><span>{{ userDetail.totalAmount }}</span></div></el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-col :xs="24" :sm="12" :md="6" :lg="5"><div class="item"><span>客户:</span><span>{{ userDetail.customerNums }}</span></div></el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </el-row> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-row> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-header> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-main> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-tabs v-model="activeName" @tab-click="handleClick"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-tab-pane label="账户明细" name="account" v-if="userDetail.type === 'SERVICE'" lazy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <member-account :user="userDetail"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-tab-pane> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-tab-pane label="订单管理" name="order" lazy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <member-order :user="userDetail"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-tab-pane> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-tab-pane label="会员地址" name="address" lazy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <member-address :user="userDetail"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-tab-pane> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-tab-pane label="收藏记录" name="favorite" lazy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <member-favorite :user="userDetail"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-tab-pane> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-tab-pane label="浏览记录" name="browse" lazy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <member-browse :user="userDetail"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-tab-pane> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-tab-pane label="优惠券" name="coupon" lazy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <member-coupon :user="userDetail"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-tab-pane> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-tab-pane label="企微客户" name="customer" v-if="userDetail.type === 'SERVICE'" lazy> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <member-customer :user="userDetail"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-tab-pane> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-tabs> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-main> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </el-container> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import MemberAccount from "@/components/Mall/Member/member-account"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import MemberOrder from "@/components/Mall/Member/member-order"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import MemberAddress from "@/components/Mall/Member/member-address"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import MemberFavorite from "@/components/Mall/Member/member-favorite"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import MemberBrowse from "@/components/Mall/Member/member-browse"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import MemberCoupon from "@/components/Mall/Member/member-coupon"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import MemberCustomer from "@/components/Mall/Member/member-customer"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import {getMemberDetail, applyWorker, editNickname} from "@/api/member"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  name: 'MemberDetail', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  componentName: 'MemberDetail', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  props: ['user'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  components: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    MemberAccount, MemberOrder, MemberAddress, MemberFavorite, MemberBrowse, MemberCoupon, MemberCustomer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  data() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      activeName: this.user.type === 'SERVICE' ? 'account' : 'order', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      userDetail: {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  created() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.getMemberDetail(this.user.userId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 返回列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    goBack() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$emit('backListFromDetail') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 切换显示 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleClick(tab, event) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // console.log(tab, event); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 获取会员详情 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getMemberDetail(userId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      getMemberDetail({ userId }).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.userDetail = res.data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 成为业务员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    applyWorker() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$prompt('请输入企业微信手机号码', '成为业务员', { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        confirmButtonText: '确定', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cancelButtonText: '取消', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        inputPattern: /^1[3456789]\d{9}$/, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        inputErrorMessage: '请输入正确的手机号码' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }).then(({ value }) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        applyWorker({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          personalPhone: this.userDetail.mobile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          workPhone: value, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.getMemberDetail(this.user.userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }).catch(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 修改昵称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    editName() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$prompt('请输入会员昵称', '修改会员昵称', { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        confirmButtonText: '确定', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cancelButtonText: '取消', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        inputValue: this.userDetail.nickName, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        inputValidator: function(value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if(!value) return '请输入会员昵称' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }).then(({ value }) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        editNickname({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          userId: this.user.userId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          newNickName: value, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.getMemberDetail(this.user.userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }).catch(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  beforeDestroy() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    console.log("执行销毁前") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<style scoped lang="scss"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .detail-container { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    width:100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    height: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ::v-deep .el-container { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      margin-top: 20px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ::v-deep .el-header { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .title { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        font-size: 16px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .el-row { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /* 实现垂直居底 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //align-items: end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /* 实现水平居中 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //justify-content: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        .el-col { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          .item { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            padding: 10px 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            white-space:nowrap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .pointer { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cursor: pointer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    color: #409EFF; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    margin-left: 5px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</style> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<style lang="scss"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .pagination { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    margin-top: 30px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</style> 
			 |