|
|
@@ -1,22 +1,22 @@
|
|
|
<template>
|
|
|
- <div class="app-content" :style="{ backgroundImage: `url(${constant.imgUrl}/member/bg2.png)` }">
|
|
|
- <div class="module-com user-info">
|
|
|
- <div class="user-wrap">
|
|
|
- <div class="user-avatar">
|
|
|
+ <view class="app-content" :style="{ backgroundImage: `url(${constant.imgUrl}/member/bg2.png)` }">
|
|
|
+ <view class="module-com user-info">
|
|
|
+ <view class="user-wrap">
|
|
|
+ <view class="user-avatar">
|
|
|
<app-avatar-module :src="data.smallAvatar" />
|
|
|
- </div>
|
|
|
- <div class="user-info-content">
|
|
|
- <div class="user-main-info">
|
|
|
- <div class="user-name-row" @click="changeNameFn()">
|
|
|
- <span class="user-name">{{ data.name }}</span>
|
|
|
+ </view>
|
|
|
+ <view class="user-info-content">
|
|
|
+ <view class="user-main-info">
|
|
|
+ <view class="user-name-row" @click="changeNameFn()">
|
|
|
+ <text class="user-name">{{ data.name }}</text>
|
|
|
<i class="iconfont iconbianji edit-icon"></i>
|
|
|
- </div>
|
|
|
- <div class="user-detail-info">
|
|
|
- <span class="user-real-name">{{ data.originName }}</span>
|
|
|
- <span class="user-id">ID {{ data.id }}</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="member-level-badge" v-if="Number(data.member)>0">
|
|
|
+ </view>
|
|
|
+ <view class="user-detail-info">
|
|
|
+ <text class="user-real-name">{{ data.originName }}</text>
|
|
|
+ <text class="user-id">ID {{ data.id }}</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="member-level-badge" v-if="Number(data.member)>0">
|
|
|
<view class="member-badge-row">
|
|
|
<image v-if="data.member == 1" class="member-badge-icon" style="width:76upx;height:76upx;" src="@/static/member-icons/member-1.svg" mode="aspectFit"></image>
|
|
|
<image v-else-if="data.member == 2" class="member-badge-icon" style="width:74upx;height:74upx;" src="@/static/member-icons/member-2.svg" mode="aspectFit"></image>
|
|
|
@@ -26,42 +26,42 @@
|
|
|
<text class="member-name">{{ data.memberName }}</text>
|
|
|
</view>
|
|
|
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="user-bottom">
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="user-bottom">
|
|
|
|
|
|
|
|
|
- <div class="data-list balance-clickable" @click="toggleBalanceDetail()">
|
|
|
- <div class="app-size-30 app-bold">{{ data.balance?parseFloat(data.balance):0 }}</div>
|
|
|
- <div class="app-color-3 balance-label-row">
|
|
|
- <span>余额</span>
|
|
|
+ <view class="data-list balance-clickable" @click="toggleBalanceDetail()">
|
|
|
+ <view class="app-size-30 app-bold">{{ data.balance?parseFloat(data.balance):0 }}</view>
|
|
|
+ <view class="app-color-3 balance-label-row">
|
|
|
+ <text>余额</text>
|
|
|
<i class="iconfont balance-arrow" :class="showBalanceDetail ? 'iconjiantou-shang' : 'iconjiantou-xia'"></i>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
|
|
|
- <div class="data-list">
|
|
|
- <div class="app-size-30 app-bold">{{ buyAmount }}</div>
|
|
|
- <div class="app-color-3">累计消费</div>
|
|
|
- </div>
|
|
|
+ <view class="data-list">
|
|
|
+ <view class="app-size-30 app-bold">{{ buyAmount }}</view>
|
|
|
+ <view class="app-color-3">累计消费</view>
|
|
|
+ </view>
|
|
|
|
|
|
- </div>
|
|
|
+ </view>
|
|
|
|
|
|
<!-- 余额详情展开区域 -->
|
|
|
- <div class="balance-detail-expand" v-show="showBalanceDetail">
|
|
|
- <div class="balance-detail-row">
|
|
|
- <div class="balance-detail-item" @click="pageTo({ url: '/admin/custom/balancePayChange?id='+data.id })">
|
|
|
- <div class="balance-detail-value">{{ data.balancePay?parseFloat(data.balancePay):0 }}</div>
|
|
|
- <div class="balance-detail-label">充值余额</div>
|
|
|
- </div>
|
|
|
- <div class="balance-detail-item" @click="pageTo({ url: '/admin/custom/balanceGiveChange?id='+data.id })">
|
|
|
- <div class="balance-detail-value">{{ data.balanceGive?parseFloat(data.balanceGive):0 }}</div>
|
|
|
- <div class="balance-detail-label">赠送余额</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <view class="balance-detail-expand" v-show="showBalanceDetail">
|
|
|
+ <view class="balance-detail-row">
|
|
|
+ <view class="balance-detail-item" @click="pageTo({ url: '/admin/custom/balancePayChange?id='+data.id })">
|
|
|
+ <view class="balance-detail-value">{{ data.balancePay?parseFloat(data.balancePay):0 }}</view>
|
|
|
+ <view class="balance-detail-label">充值余额</view>
|
|
|
+ </view>
|
|
|
+ <view class="balance-detail-item" @click="pageTo({ url: '/admin/custom/balanceGiveChange?id='+data.id })">
|
|
|
+ <view class="balance-detail-value">{{ data.balanceGive?parseFloat(data.balanceGive):0 }}</view>
|
|
|
+ <view class="balance-detail-label">赠送余额</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
|
|
|
- </div>
|
|
|
+ </view>
|
|
|
|
|
|
<view class="module-com user-contact-info">
|
|
|
<view class="contact-header">
|
|
|
@@ -112,32 +112,32 @@
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
- <div class="module-com tabs-wrap">
|
|
|
- <div class="tabs-list" @click="beginModifyMember()">
|
|
|
- <div class="tabs-icon">
|
|
|
- <span>⚙️</span>
|
|
|
- </div>
|
|
|
- <div class="tabs-name">升降级</div>
|
|
|
- </div>
|
|
|
- <div class="tabs-list" @click="sendHb()">
|
|
|
- <div class="tabs-icon">
|
|
|
- <span>🧧</span>
|
|
|
- </div>
|
|
|
- <div class="tabs-name">发红包</div>
|
|
|
- </div>
|
|
|
- <div class="tabs-list" @click="deductAmount = ''; deductRemark = ''; openDeductPopup()">
|
|
|
- <div class="tabs-icon">
|
|
|
- <span>➖</span>
|
|
|
- </div>
|
|
|
- <div class="tabs-name">减余额</div>
|
|
|
- </div>
|
|
|
- <div class="tabs-list" @click="openRechargePopup()">
|
|
|
- <div class="tabs-icon">
|
|
|
- <span>➕</span>
|
|
|
- </div>
|
|
|
- <div class="tabs-name">充值</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <view class="module-com tabs-wrap">
|
|
|
+ <view class="tabs-list" @click="beginModifyMember()">
|
|
|
+ <view class="tabs-icon">
|
|
|
+ <text>⚙️</text>
|
|
|
+ </view>
|
|
|
+ <view class="tabs-name">升降级</view>
|
|
|
+ </view>
|
|
|
+ <view class="tabs-list" @click="sendHb()">
|
|
|
+ <view class="tabs-icon">
|
|
|
+ <text>🧧</text>
|
|
|
+ </view>
|
|
|
+ <view class="tabs-name">发红包</view>
|
|
|
+ </view>
|
|
|
+ <view class="tabs-list" @click="deductAmount = ''; deductRemark = ''; openDeductPopup()">
|
|
|
+ <view class="tabs-icon">
|
|
|
+ <text>➖</text>
|
|
|
+ </view>
|
|
|
+ <view class="tabs-name">减余额</view>
|
|
|
+ </view>
|
|
|
+ <view class="tabs-list" @click="openRechargePopup()">
|
|
|
+ <view class="tabs-icon">
|
|
|
+ <text>➕</text>
|
|
|
+ </view>
|
|
|
+ <view class="tabs-name">充值</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
|
|
|
<view class="module-com content_box user-open_bx">
|
|
|
<view class="input-line-wrap">
|
|
|
@@ -168,51 +168,51 @@
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
- <div class="module-com remark-wrap" v-if="!$util.isEmpty(data.remarkList)">
|
|
|
- <div class="app-blod">客户备注</div>
|
|
|
- <div class="list-wrap">
|
|
|
- <div class="list-line" v-for="(item, index) in data.remarkList" :key="index">
|
|
|
- <div>{{ item.remark }}</div>
|
|
|
- <div @click="delRemarkFn(item)">
|
|
|
+ <view class="module-com remark-wrap" v-if="!$util.isEmpty(data.remarkList)">
|
|
|
+ <view class="app-blod">客户备注</view>
|
|
|
+ <view class="list-wrap">
|
|
|
+ <view class="list-line" v-for="(item, index) in data.remarkList" :key="index">
|
|
|
+ <view>{{ item.remark }}</view>
|
|
|
+ <view @click="delRemarkFn(item)">
|
|
|
<i class="iconfont icondelete"></i>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
|
|
|
- <div class="module-com remark-wrap" v-if="!$util.isEmpty(data.orderList)">
|
|
|
- <div class="app-blod">最近消费</div>
|
|
|
- <div class="list-wrap">
|
|
|
+ <view class="module-com remark-wrap" v-if="!$util.isEmpty(data.orderList)">
|
|
|
+ <view class="app-blod">最近消费</view>
|
|
|
+ <view class="list-wrap">
|
|
|
<block v-for="(item, index) in data.orderList" :key="index">
|
|
|
- <div class="list-line" v-if="index < 3 || orderMoreStatus">
|
|
|
- <div class="flex-center">
|
|
|
- <div class="time">{{ item.createTime }}</div>
|
|
|
- <div>{{ item.orderName }}</div>
|
|
|
- </div>
|
|
|
- <div class="price">¥{{ item.actPrice }}</div>
|
|
|
- </div>
|
|
|
+ <view class="list-line" v-if="index < 3 || orderMoreStatus">
|
|
|
+ <view class="flex-center">
|
|
|
+ <view class="time">{{ item.createTime }}</view>
|
|
|
+ <view>{{ item.orderName }}</view>
|
|
|
+ </view>
|
|
|
+ <view class="price">¥{{ item.actPrice }}</view>
|
|
|
+ </view>
|
|
|
</block>
|
|
|
- </div>
|
|
|
+ </view>
|
|
|
|
|
|
- </div>
|
|
|
+ </view>
|
|
|
|
|
|
<modal-module :show="userTagModal" @click="userTagModalClick" :maskClosable="false" title="客户标签" padding="30rpx 30rpx" >
|
|
|
<template v-slot:content>
|
|
|
- <div class="app-modal-input-wrap">
|
|
|
+ <view class="app-modal-input-wrap">
|
|
|
<view style="padding:0 8upx 10upx 8upx;">
|
|
|
- <span class="user_tag">恋人</span>
|
|
|
- <span class="user_tag">学生</span>
|
|
|
- <span class="user_tag">准婚</span>
|
|
|
- <span class="user_tag">同行</span>
|
|
|
- <span class="user_tag">常买散花</span>
|
|
|
- <span class="user_tag">企业客户</span>
|
|
|
- <span class="user_tag">生日送过</span>
|
|
|
- <span class="user_tag">酒店</span>
|
|
|
- <span class="user_tag">影楼</span>
|
|
|
- <span class="user_tag">开花艺课</span>
|
|
|
- <span class="user_tag">学员</span>
|
|
|
+ <text class="user_tag">恋人</text>
|
|
|
+ <text class="user_tag">学生</text>
|
|
|
+ <text class="user_tag">准婚</text>
|
|
|
+ <text class="user_tag">同行</text>
|
|
|
+ <text class="user_tag">常买散花</text>
|
|
|
+ <text class="user_tag">企业客户</text>
|
|
|
+ <text class="user_tag">生日送过</text>
|
|
|
+ <text class="user_tag">酒店</text>
|
|
|
+ <text class="user_tag">影楼</text>
|
|
|
+ <text class="user_tag">开花艺课</text>
|
|
|
+ <text class="user_tag">学员</text>
|
|
|
</view>
|
|
|
- </div>
|
|
|
+ </view>
|
|
|
</template>
|
|
|
</modal-module>
|
|
|
|
|
|
@@ -302,29 +302,29 @@
|
|
|
|
|
|
<modal-module :show="passwordModal" @click="passwordModalClick" :maskClosable="false" title="重置密码" padding="30rpx 30rpx" >
|
|
|
<template v-slot:content>
|
|
|
- <div class="app-modal-input-wrap">
|
|
|
- <div class="inp-list-line">
|
|
|
- <div class="line-label">密码</div>
|
|
|
- <div class="line-input">
|
|
|
+ <view class="app-modal-input-wrap">
|
|
|
+ <view class="inp-list-line">
|
|
|
+ <view class="line-label">密码</view>
|
|
|
+ <view class="line-input">
|
|
|
<input
|
|
|
type="password"
|
|
|
v-model="passwordForm.password"
|
|
|
:adjust-position="false"
|
|
|
class="inp-input"
|
|
|
/>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</template>
|
|
|
</modal-module>
|
|
|
|
|
|
<modal-module :show="remarkModal" @click="remarkModalClick" :maskClosable="false" title="添加客户备注" padding="30rpx 30rpx" >
|
|
|
<template v-slot:content>
|
|
|
- <div class="app-modal-input-wrap">
|
|
|
- <div class="inp-list-line">
|
|
|
+ <view class="app-modal-input-wrap">
|
|
|
+ <view class="inp-list-line">
|
|
|
<textarea v-model="remarkForm.remark" placeholder-style="phcolor" placeholder="请填写客户信息备注内容,如客户喜好、居住地址等" />
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</template>
|
|
|
</modal-module>
|
|
|
|
|
|
@@ -332,12 +332,12 @@
|
|
|
|
|
|
<modal-module :show="birthdayModal" @click="birthdayModalClick" :maskClosable="false" title="生日" padding="30rpx 30rpx" width="90%">
|
|
|
<template v-slot:content>
|
|
|
- <div class="app-modal-input-wrap">
|
|
|
- <div class="birthday-container">
|
|
|
+ <view class="app-modal-input-wrap">
|
|
|
+ <view class="birthday-container">
|
|
|
<!-- 类型选择 -->
|
|
|
- <div class="birthday-section">
|
|
|
- <div class="section-title">类型</div>
|
|
|
- <div class="type-buttons">
|
|
|
+ <view class="birthday-section">
|
|
|
+ <view class="section-title">类型</view>
|
|
|
+ <view class="type-buttons">
|
|
|
<button
|
|
|
class="admin-button-com middle"
|
|
|
:class="[lunar == 0 ? 'blue' : 'default']"
|
|
|
@@ -348,13 +348,13 @@
|
|
|
:class="[lunar == 1 ? 'blue' : 'default']"
|
|
|
@click="lunar = 1"
|
|
|
>农历</button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
|
|
|
<!-- 月份选择 -->
|
|
|
- <div class="birthday-section">
|
|
|
- <div class="section-title">月份</div>
|
|
|
- <div class="month-buttons">
|
|
|
+ <view class="birthday-section">
|
|
|
+ <view class="section-title">月份</view>
|
|
|
+ <view class="month-buttons">
|
|
|
<button
|
|
|
v-for="(month, index) in [1,2,3,4,5,6,7,8,9,10,11,12]"
|
|
|
:key="index"
|
|
|
@@ -362,13 +362,13 @@
|
|
|
:class="{ active: birthdayMonth == month }"
|
|
|
@click="birthdayMonth = month"
|
|
|
>{{ month }}</button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
|
|
|
<!-- 日期选择 (数字按钮形式) -->
|
|
|
- <div class="birthday-section">
|
|
|
- <div class="section-title">日期</div>
|
|
|
- <div class="date-buttons-container">
|
|
|
+ <view class="birthday-section">
|
|
|
+ <view class="section-title">日期</view>
|
|
|
+ <view class="date-buttons-container">
|
|
|
<!-- 使用固定高度的容器和绝对定位的滚动视图 -->
|
|
|
<view class="date-buttons-wrapper">
|
|
|
<scroll-view
|
|
|
@@ -378,7 +378,7 @@
|
|
|
show-scrollbar="true"
|
|
|
always-bounce-vertical="true"
|
|
|
>
|
|
|
- <div class="date-buttons">
|
|
|
+ <view class="date-buttons">
|
|
|
<button
|
|
|
v-for="(date, index) in dateArray"
|
|
|
:key="index"
|
|
|
@@ -386,26 +386,26 @@
|
|
|
:class="{ active: birthdayDate == date }"
|
|
|
@click="birthdayDate = date"
|
|
|
>{{ date }}</button>
|
|
|
- </div>
|
|
|
+ </view>
|
|
|
</scroll-view>
|
|
|
</view>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</template>
|
|
|
</modal-module>
|
|
|
|
|
|
<modal-module :show="changeShow" @click="confirmChange" :maskClosable="true" title="修改名称" padding="30rpx 30rpx" >
|
|
|
<template v-slot:content>
|
|
|
- <div class="app-modal-input-wrap">
|
|
|
- <div class="inp-list-line">
|
|
|
- <div class="line-input">
|
|
|
+ <view class="app-modal-input-wrap">
|
|
|
+ <view class="inp-list-line">
|
|
|
+ <view class="line-input">
|
|
|
<input type="text" style="width:61%;text-align:center;" :focus="changeFocus" v-model="customName" class="inp-input" />
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</template>
|
|
|
</modal-module>
|
|
|
|
|
|
@@ -471,7 +471,7 @@
|
|
|
</view>
|
|
|
</uni-popup>
|
|
|
|
|
|
- </div>
|
|
|
+ </view>
|
|
|
</template>
|
|
|
|
|
|
<script>
|