会员管理

This commit is contained in:
duan 2024-10-24 15:47:13 +08:00
parent f1369caf3a
commit 2d740b49d4
5 changed files with 98 additions and 23 deletions

View File

@ -7,6 +7,11 @@
</view>
<view>
{{item.note}}
244 900
397 1250
</view>
</view>
<view :class="[item.state==3?'rightTopstyle':'rightTop']">

Binary file not shown.

After

Width:  |  Height:  |  Size: 429 B

View File

@ -5,19 +5,24 @@
<image v-if="data.headImg" :src="data.headImg" class="img"></image>
<view class="img" v-else></view>
</view>
<view class="u-p-l-30 u-flex-1">
<view class="u-p-l-30 u-flex-1" style="position: relative;">
<view class="u-flex">
<view class="color-000 font-bold">{{data.nickName}}</view>
<image style="width: 24rpx;height: 24rpx;" v-if="data.sex=='男'" src="./men.png" mode=""></image>
<image style="width: 24rpx;height: 24rpx;" v-else src="./women.png" mode=""></image>
<view class="color-999 u-m-l-40" @click="remark">备注</view>
</view>
<view class="u-m-t-6 u-flex u-row-between">
<!-- <view class="u-m-t-6 u-flex u-row-between">
<view class="vip isvip" v-if="data.isVip">会员</view>
<view class=" vip noVip" v-else>非会员</view>
<view class="color-main" @click="bindMoblie">绑定号码</view>
</view>
<view class="u-m-t-6 color-666 ">
</view> -->
<view class="u-m-t-30 color-666 ">
{{data.telephone||''}}
</view>
<view style="position: absolute;right: 0;top: 0;border-radius: 4rpx 4rpx 4rpx 4rpx;background: #EAF4FD;font-weight: 400;font-size: 20rpx;color: #318AFE;">
会员等级{{data.isVip}}
</view>
</view>
</view>
@ -33,7 +38,7 @@
</view>
</view>
<view class="u-flex-1 u-text-center" @tap="toYue">
<view class="font-bold color-000 pr-16" >{{data.amount}}</view>
<view class="font-bold color-000 pr-16" >{{data.totalScore}}</view>
<view class="u-flex u-row-center" >
<view class="color-999">积分</view>
<view class="u-flex">
@ -42,7 +47,7 @@
</view>
</view>
<view class="u-flex-1 u-text-center" @tap="toYue">
<view class="font-bold color-000 pr-16" >{{data.amount}}</view>
<view class="font-bold color-000 pr-16" >{{0}}</view>
<view class="u-flex u-row-center" >
<view class="color-999">优惠券</view>
<view class="u-flex">
@ -50,7 +55,7 @@
</view>
</view>
</view>
<view class="u-flex-1 u-text-center" @tap="toUser">
<!-- <view class="u-flex-1 u-text-center" @tap="toUser">
<view class="font-bold color-000 pr-16">{{data.totalScore}}</view>
<view class="u-flex u-row-center">
<view class="color-999">已消费</view>
@ -58,7 +63,7 @@
<uni-icons type="right" color="#999"></uni-icons>
</view>
</view>
</view>
</view> -->
<!-- <view class="u-flex-1 u-text-center">
<view class="font-bold color-000 pr-16">0</view>
<view class="u-flex u-row-center">

Binary file not shown.

After

Width:  |  Height:  |  Size: 425 B

View File

@ -154,6 +154,21 @@
<my-action-sheet @itemClick="actionSheetClick" ref="moreOperate" :list="moreOperateList"></my-action-sheet>
</view>
<!-- 增减余额 -->
<up-popup :show="datas.show" :round="18" mode="center" @close="close">
<view class="zhezhaopop">
<view class="">
<span></span>
<span>增减余额</span>
<up-icon @tap="confirm" name="close-circle-fill"></up-icon>
</view>
<view class="">
</view>
<up-button text="确认" @tap="callTabletakeNumberEvent" type="primary" class="buttomStyle"
shape="circle"></up-button>
</view>
</up-popup>
</template>
<script setup>
@ -168,6 +183,9 @@
import infoBox from "@/commons/utils/infoBox.js"
import * as $Api from '@/http/yskApi/shop-user.js'
import API from '../../http/classApi';
import {
onReachBottom
} from '@dcloudio/uni-app';
import {
hasPermission
} from '@/commons/utils/hasPermission.js';
@ -176,6 +194,16 @@
const remarkModel = ref(null)
const phoneModel = ref(null)
const moreOperate = ref(null)
let datas = reactive({
show: false,
form: {}
})
let close = () => {
datas.form = {}
}
const confirm = () => {
datas.show = false;
};
function toAddUser() {
go.to('PAGES_USER_ADD')
@ -190,28 +218,27 @@
const goodsStockModel = ref(null)
const moreOperateList = ['增减余额', '增减积分', '修改信息', ]
const moreOperateList = ['增减余额', '修改信息', ]
function moreOperateClick() {
moreOperate.value.open()
}
onReachBottom(() => {
++page.value
getUser()
});
function actionSheetClick(i) {
if (i == 0) {
hasPermission('允许修改会员余额').then(ele => {
if (ele) {
toUrl('PAGES_SALES_WAREHOUSEENTRY', {
consId: actionSheet.activeId,
item: JSON.stringify(actionSheet.active)
})
datas.show = true
}
})
} else if (i == 1) {
toUrl('PAGES_SALES_WAREHOUSEENTRY', {
consId: actionSheet.activeId,
item: JSON.stringify(actionSheet.active)
})
} else if (i == 2) {
hasPermission('允许管理会员信息').then(ele => {
if (ele) {
toUrl('PAGES_SALES_WAREHOUSEENTRY', {
@ -332,7 +359,8 @@
}
function searchFunc() {
console.log('searchFunc');
page.value = 0
getUser()
}
let showChecked = ref(false)
@ -371,17 +399,26 @@
function cateClick(cate) {
console.log(cate);
}
let page = ref(0)
async function getUser() {
const {
content
} = await $Api.queryAllShopUser()
pageData.userList = content
} = await $Api.queryAllShopUser({
isVip: 1,
size: 10,
page: page.value,
name: pageData.search.value
})
if (page.value == 0) {
pageData.userList = content
} else {
pageData.userList.push(...content)
}
}
async function getAllShopInfo() {
const res = await $Api.queryAllShopInfo()
pageData.allShopInfo = res
}
onMounted(() => {
@ -532,6 +569,34 @@
}
}
.zhezhaopop {
padding: 34rpx 32rpx;
width: 594rpx;
height: 668rpx;
background: #FFFFFF;
border-radius: 18rpx 18rpx 18rpx 18rpx;
>view:first-child {
display: flex;
align-items: center;
justify-content: space-between;
>span:nth-child(2) {
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: bold;
font-size: 32rpx;
color: #333333;
}
}
.buttomStyle {
margin-top: 48rpx;
width: 506rpx;
height: 80rpx;
}
}
.input-icon {
position: relative;
z-index: 10;