|
|
@@ -1,6 +1,5 @@
|
|
|
<template>
|
|
|
<div class="app-content" :style="{ backgroundImage: `url(${constant.imgUrl}/member/bg.png)` }">
|
|
|
- <!-- 客户信息 -->
|
|
|
<div class="module-com user-info">
|
|
|
<div class="user-wrap">
|
|
|
<app-avatar-module :src="data.avatarUrl" />
|
|
|
@@ -8,64 +7,17 @@
|
|
|
<div>
|
|
|
<div class="flex-center">
|
|
|
<span class="app-size-32">{{ data.name }}</span>
|
|
|
-
|
|
|
- <template v-if="data.member > 0">
|
|
|
- <app-vip-module class="level-img" :vipImg="`${constant.imgUrl}/retail/member/grade/${data.member}.png`" />
|
|
|
- </template>
|
|
|
- <template v-else>
|
|
|
- <template v-if="data.mobile == ''">
|
|
|
- <app-vip-module class="level-img" :vipImg="`${constant.imgUrl}/retail/member/grade/customer.png`" />
|
|
|
- </template>
|
|
|
- <template v-else>
|
|
|
- <app-vip-module class="level-img" :vipImg="`${constant.imgUrl}/retail/member/grade/member.png`" />
|
|
|
- </template>
|
|
|
- </template>
|
|
|
-
|
|
|
</div>
|
|
|
<div class="app-color-3">ID:{{ data.id }}</div>
|
|
|
</div>
|
|
|
<div class="source-wrap">
|
|
|
- <i
|
|
|
- v-if="data.sourceType == 0"
|
|
|
- :class="[data.sourceType == 0? 'iconweixinlaiyuanColor' : '']"
|
|
|
- class="iconfont iconweixinlaiyuan"
|
|
|
- style="font-size:42upx;"
|
|
|
- ></i>
|
|
|
- <i
|
|
|
- v-else-if="data.sourceType == 1"
|
|
|
- :class="[data.sourceType == 1? 'zhifubaoColor' : '']"
|
|
|
- class="iconfont iconzhifubao"
|
|
|
- style="font-size:42upx;"
|
|
|
- ></i>
|
|
|
- <i
|
|
|
- v-else-if="data.sourceType == 2"
|
|
|
- :class="[data.sourceType == 2? 'app-color-4' : '']"
|
|
|
- class="iconfont iconxiaochengxu1"
|
|
|
- style="font-size:42upx;"
|
|
|
- ></i>
|
|
|
- <i
|
|
|
- v-else-if="data.sourceType == 3"
|
|
|
- :class="[data.sourceType == 3? 'app-color-4' : '']"
|
|
|
- class="iconfont iconzhangshangcaifuyemianshoujiban344"
|
|
|
- style="font-size:42upx;"
|
|
|
- ></i>
|
|
|
- <i
|
|
|
- v-else-if="data.sourceType == 4"
|
|
|
- :class="[data.sourceType == 4? 'app-color-4' : '']"
|
|
|
- class="iconfont iconwaimai"
|
|
|
- style="font-size:42upx;"
|
|
|
- ></i>
|
|
|
- <i
|
|
|
- v-if="data.sourceType != 1"
|
|
|
- class="iconfont iconweixingongzhonghao"
|
|
|
- :class="[data.subscribe==1? 'app-color-4' : '']"
|
|
|
- style="font-size:42upx;"
|
|
|
- ></i>
|
|
|
- <i
|
|
|
- @click="data.mobile&&callUp(data.mobile)"
|
|
|
- :class="['iconfont', 'iconshoujihao1',data.mobile?'mobileColor':'']"
|
|
|
- style="font-size:42upx;"
|
|
|
- ></i>
|
|
|
+ <i v-if="data.sourceType == 0" :class="[data.sourceType == 0? 'iconweixinlaiyuanColor' : '']" class="iconfont iconweixinlaiyuan" style="font-size:42upx;" ></i>
|
|
|
+ <i v-else-if="data.sourceType == 1" :class="[data.sourceType == 1? 'zhifubaoColor' : '']" class="iconfont iconzhifubao" style="font-size:42upx;" ></i>
|
|
|
+ <i v-else-if="data.sourceType == 2" :class="[data.sourceType == 2? 'app-color-4' : '']" class="iconfont iconxiaochengxu1" style="font-size:42upx;" ></i>
|
|
|
+ <i v-else-if="data.sourceType == 3" :class="[data.sourceType == 3? 'app-color-4' : '']" class="iconfont iconzhangshangcaifuyemianshoujiban344" style="font-size:42upx;" ></i>
|
|
|
+ <i v-else-if="data.sourceType == 4" :class="[data.sourceType == 4? 'app-color-4' : '']" class="iconfont iconwaimai" style="font-size:42upx;" ></i>
|
|
|
+ <i v-if="data.sourceType != 1" class="iconfont iconweixingongzhonghao" :class="[data.subscribe==1? 'app-color-4' : '']" style="font-size:42upx;" ></i>
|
|
|
+ <i @click="data.mobile&&callUp(data.mobile)" :class="['iconfont', 'iconshoujihao1',data.mobile?'mobileColor':'']" style="font-size:42upx;" ></i>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -77,20 +29,14 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
- <!-- 标签 -->
|
|
|
-
|
|
|
<div class="module-com remark-wrap">
|
|
|
<div class="app-blod"><span>标签</span><i class="iconfont icontianjiakehu" @click="setUserTag" style="float:right;font-size:40upx;"></i></div>
|
|
|
<div class="list-wrap">
|
|
|
-
|
|
|
<span class="user_tag">常买散花</span>
|
|
|
- <span class="user_tag">企业客户</span>
|
|
|
<span class="user_tag">生日送过</span>
|
|
|
-
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
- <!-- 客户按钮 -->
|
|
|
<div class="module-com tabs-wrap">
|
|
|
<div class="tabs-list" v-for="(item, index) in tabsData" :key="index" @click="pageTo(item)">
|
|
|
<div class="tabs-img">
|
|
|
@@ -99,7 +45,7 @@
|
|
|
<div class="tabs-name">{{ item.name }}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <!-- 备注 -->
|
|
|
+
|
|
|
<div class="module-com remark-wrap" v-if="!$util.isEmpty(data.remarkList)">
|
|
|
<div class="app-blod">客户备注</div>
|
|
|
<div class="list-wrap">
|
|
|
@@ -111,7 +57,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <!-- 消费记录 -->
|
|
|
+
|
|
|
<div class="module-com remark-wrap" v-if="!$util.isEmpty(data.orderList)">
|
|
|
<div class="app-blod">最近消费</div>
|
|
|
<div class="list-wrap">
|
|
|
@@ -125,18 +71,10 @@
|
|
|
</div>
|
|
|
</block>
|
|
|
</div>
|
|
|
- <!-- <div class="more-text" v-if="!orderMoreStatus" @click="orderMoreFn">更多 ></div> -->
|
|
|
+
|
|
|
</div>
|
|
|
|
|
|
- <!-- 客户标签 -->
|
|
|
- <modal-module
|
|
|
- :show="userTagModal"
|
|
|
- @cancel="modalCancel"
|
|
|
- @click="userTagModalClick"
|
|
|
- :maskClosable="false"
|
|
|
- title="客户标签"
|
|
|
- padding="30upx 30upx"
|
|
|
- >
|
|
|
+ <modal-module :show="userTagModal" @cancel="modalCancel" @click="userTagModalClick" :maskClosable="false" title="客户标签" padding="30rpx 30rpx" >
|
|
|
<template v-slot:content>
|
|
|
<div class="app-modal-input-wrap">
|
|
|
|
|
|
@@ -158,15 +96,7 @@
|
|
|
</template>
|
|
|
</modal-module>
|
|
|
|
|
|
- <!-- 充值弹窗 -->
|
|
|
- <modal-module
|
|
|
- :show="rechargeModal"
|
|
|
- @cancel="modalCancel"
|
|
|
- @click="rechargeModalClick"
|
|
|
- :maskClosable="false"
|
|
|
- title="充值"
|
|
|
- padding="30upx 30upx"
|
|
|
- >
|
|
|
+ <modal-module :show="rechargeModal" @cancel="modalCancel" @click="rechargeModalClick" :maskClosable="false" title="充值" padding="30upx 30upx" >
|
|
|
<template v-slot:content>
|
|
|
<div class="app-modal-input-wrap">
|
|
|
<div class="inp-list-line">
|
|
|
@@ -195,15 +125,8 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</modal-module>
|
|
|
- <!-- 修改密码弹窗 -->
|
|
|
- <modal-module
|
|
|
- :show="passwordModal"
|
|
|
- @cancel="modalCancel"
|
|
|
- @click="passwordModalClick"
|
|
|
- :maskClosable="false"
|
|
|
- title="重置密码"
|
|
|
- padding="30upx 30upx"
|
|
|
- >
|
|
|
+
|
|
|
+ <modal-module :show="passwordModal" @cancel="modalCancel" @click="passwordModalClick" :maskClosable="false" title="重置密码" padding="30upx 30upx" >
|
|
|
<template v-slot:content>
|
|
|
<div class="app-modal-input-wrap">
|
|
|
<div class="inp-list-line">
|
|
|
@@ -220,15 +143,8 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</modal-module>
|
|
|
- <!-- 升级 -->
|
|
|
- <modal-module
|
|
|
- :show="upgradeModal"
|
|
|
- @cancel="modalCancel"
|
|
|
- @click="upgradeModalClick"
|
|
|
- :maskClosable="false"
|
|
|
- title="升级"
|
|
|
- padding="30upx 30upx"
|
|
|
- >
|
|
|
+
|
|
|
+ <modal-module :show="upgradeModal" @cancel="modalCancel" @click="upgradeModalClick" :maskClosable="false" title="升级" padding="30upx 30upx" >
|
|
|
<template v-slot:content>
|
|
|
<div class="app-modal-input-wrap">
|
|
|
<div class="inp-list-line">
|
|
|
@@ -256,15 +172,8 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</modal-module>
|
|
|
- <!-- 添加备注 -->
|
|
|
- <modal-module
|
|
|
- :show="remarkModal"
|
|
|
- @cancel="modalCancel"
|
|
|
- @click="remarkModalClick"
|
|
|
- :maskClosable="false"
|
|
|
- title="添加客户备注"
|
|
|
- padding="30upx 30upx"
|
|
|
- >
|
|
|
+
|
|
|
+ <modal-module :show="remarkModal" @cancel="modalCancel" @click="remarkModalClick" :maskClosable="false" title="添加客户备注" padding="30upx 30upx" >
|
|
|
<template v-slot:content>
|
|
|
<div class="app-modal-input-wrap">
|
|
|
<div class="inp-list-line">
|
|
|
@@ -277,17 +186,9 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</modal-module>
|
|
|
- <!-- 删除备注弹窗 -->
|
|
|
- <modal-module
|
|
|
- :show="promptRemarkModal"
|
|
|
- @cancel="modalCancel"
|
|
|
- @click="promptModalClick"
|
|
|
- :content="promptModalText"
|
|
|
- color="#333"
|
|
|
- :size="32"
|
|
|
- padding="30upx 30upx"
|
|
|
- ></modal-module>
|
|
|
- <!-- <kd-entrance></kd-entrance> -->
|
|
|
+
|
|
|
+ <modal-module :show="promptRemarkModal" @cancel="modalCancel" @click="promptModalClick" :content="promptModalText" color="#333" :size="32" padding="30upx 30upx" ></modal-module>
|
|
|
+
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
@@ -296,18 +197,10 @@ import { mapGetters } from "vuex";
|
|
|
import AppVipModule from "@/components/module/app-vip";
|
|
|
import AppAvatarModule from "@/components/module/app-avatar";
|
|
|
import ModalModule from "@/components/plugin/modal";
|
|
|
-// api
|
|
|
import { getLevel } from "@/utils/config";
|
|
|
-import {
|
|
|
- getUserDet,
|
|
|
- remarkAdd,
|
|
|
- remarkDel,
|
|
|
- upgrade,
|
|
|
- rechargeB,
|
|
|
- resetPassword
|
|
|
-} from "@/api/member";
|
|
|
+import { getUserDet, remarkAdd, remarkDel, upgrade, rechargeB, resetPassword } from "@/api/member";
|
|
|
export default {
|
|
|
- name: "member-detail",
|
|
|
+ name: "detail",
|
|
|
components: {
|
|
|
AppVipModule,
|
|
|
AppAvatarModule,
|
|
|
@@ -317,9 +210,7 @@ export default {
|
|
|
data() {
|
|
|
return {
|
|
|
constant: this.$constant,
|
|
|
- // data
|
|
|
data: {},
|
|
|
- // modal
|
|
|
rechargeModal: false,
|
|
|
userTagModal:false,
|
|
|
passwordModal: false,
|
|
|
@@ -361,7 +252,7 @@ export default {
|
|
|
img: `${this.$constant.imgUrl}/retail/member/tab-icon-4.png`,
|
|
|
funtion: () => {
|
|
|
//this.remarkModal = true;
|
|
|
- this.$msg("即将开通...")
|
|
|
+ this.$msg("即将开通...")
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
@@ -369,7 +260,7 @@ export default {
|
|
|
img: `${this.$constant.imgUrl}/retail/member/tab-icon-6.png`,
|
|
|
funtion: () => {
|
|
|
//this.passwordModal = true;
|
|
|
- this.$msg("即将开通...")
|
|
|
+ this.$msg("即将开通...")
|
|
|
}
|
|
|
}
|
|
|
],
|
|
|
@@ -410,7 +301,6 @@ export default {
|
|
|
phoneNumber: phone
|
|
|
});
|
|
|
},
|
|
|
- //设置客户标签
|
|
|
setUserTag(){
|
|
|
this.userTagModal = true;
|
|
|
},
|
|
|
@@ -474,7 +364,6 @@ export default {
|
|
|
this._getCustomDet();
|
|
|
});
|
|
|
},
|
|
|
- // operate ===========================
|
|
|
orderMoreFn() {
|
|
|
this.orderMoreStatus = false;
|
|
|
},
|
|
|
@@ -579,7 +468,7 @@ export default {
|
|
|
padding: 40upx 30upx 50upx;
|
|
|
.user-wrap {
|
|
|
@include disFlex(center, space-between);
|
|
|
- margin-bottom: 60upx;
|
|
|
+ margin-bottom: 50upx;
|
|
|
.user-top-right {
|
|
|
@include disFlex(flex-start, space-between);
|
|
|
width: calc(100% - 120upx);
|
|
|
@@ -621,14 +510,13 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-// tabs
|
|
|
.tabs-wrap {
|
|
|
padding: 40upx 10upx;
|
|
|
@include disFlex(center, center);
|
|
|
flex-wrap: wrap;
|
|
|
.tabs-list {
|
|
|
width: 25%;
|
|
|
- margin-bottom: 50upx;
|
|
|
+ margin-bottom: 20upx;
|
|
|
text-align: center;
|
|
|
.tabs-img {
|
|
|
width: 50upx;
|