Commit d5895e04 by 谢中龙

标签列表,会员列表,会员详情

parent 45317ec1
......@@ -112,6 +112,7 @@ App({
systemInfo: wx.getSystemInfoSync(),
ctx: envInfo.ctx,
openCard: false,
appId: 'wxc3b64b09b1d3dfc2',
userNo: null,
storeId: '',
storeName: '',
......
......@@ -31,6 +31,17 @@
font-size: 24rpx;
}
.no-more-data{
width: 100%;
height: auto;
padding: 20rpx 0;
display: flex;
color: #999999;
justify-content: center;
align-items: center;
font-size: 24rpx;
}
/* 按钮样式 */
.btn {
width: 100%;
......
......@@ -39,7 +39,7 @@
"list": []
},
"miniprogram": {
"current": 51,
"current": 54,
"list": [
{
"id": -1,
......@@ -401,10 +401,10 @@
"query": ""
},
{
"id": 55,
"id": 54,
"name": "会员详情",
"pathName": "shoppingGuid/page/pages/userInfo/userInfo",
"query": ""
"query": "id=700000000013480"
},
{
"id": -1,
......
// shoppingGuid/page/pages/selectUsers/selectUsers.js
const wxService = require('../../../../utils/wxService')
import { Integer } from '../../../../utils/integerDigitalConvertion'
wxService.page({
/**
......@@ -10,7 +11,14 @@ wxService.page({
current: 1,
isOpen : false,
groups : [],
tags : []
tags : [],
noTag : false,
noMoreData : true,
pagination : {
pageSize : 10,
pageNum : 1,
totalPage : 0
}
},
/**
......@@ -36,9 +44,11 @@ wxService.page({
},
//跳转到标签下用户列表
onTapToTagUserList(e){
let id = 11;
let item = e.currentTarget.dataset.item;
let tagId = item.id , groupId = item.groupId , type = item.type;
wx.navigateTo({
url: '/shoppingGuid/page/pages/userList/userList?id=' + id,
url: '/shoppingGuid/page/pages/userList/userList?id=' + Integer.digit(tagId, 10, 64) + '&type=' + type +
'&groupId=' + Integer.digit(groupId, 10, 64) + '&name=' + item.name,
});
},
//tab 切换
......@@ -55,22 +65,76 @@ wxService.page({
navBar: this.data.navBar,
current: this.data.current
});
this.getMemberTagGroups();
},
//获取标签分组
getMemberTagGroups(){
this.data.groups = [];
wxService.post(`/marketing/memberTagGroup/findPage?pageSize=10000&pageNo=1&type=${this.data.current}`).then(res => {
console.log(res)
let groups = res.data.data.content ? res.data.data.content : [];
groups.forEach(item => {
item.isActive = false;
});
this.data.groups = groups;
if (this.data.groups.length > 0){
//选中第一个
this.data.groups[0].isActive = true;
//获取分组的标签
this.getTagsList();
}
this.setData({
groups: this.data.groups
});
});
},
//获取分组下的标签列表
getTagsList(){
wx.showLoading({
title: '加载中',
mask: true
});
let groupId = this.data.groups.filter(item => item.isActive)[0].id;
this.data.tags = [];
let pageSize = this.data.pagination.pageSize,
pageNum = this.data.pagination.pageNum;
wxService.post(`/marketing/shoppingguide/findPage?pageSize=${pageSize}&pageNo=${pageNum}`,{
groupId: groupId,
type : this.data.current
}).then(res => {
let list = res.data.data.content ? res.data.data.content : [];
this.data.tags = this.data.tags.concat(list);
this.data.pagination.totalPage = res.data.data.totalPages;
if (this.data.tags.length == 0){
this.data.noTag = true;
}
this.setData({
tags: this.data.tags,
noTag: this.data.noTag,
pagination: this.data.pagination,
noMoreData: true
},() => {
wx.hideLoading();
});
});
},
//选择group
onTapSelectGroup(e){
let index = e.currentTarget.dataset.index ,
item = e.currentTarget.dataset.item;
this.data.groups.forEach(item => {
item.isActive = false;
});
this.data.groups[index].isActive = true;
this.setData({
groups: this.data.groups,
isOpen : false,
});
this.getTagsList();
},
/**
* 页面相关事件处理函数--监听用户下拉动作
......@@ -83,6 +147,17 @@ wxService.page({
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
if(this.data.pagination.pageNum < this.data.pagination.totalPage){
this.data.pageNum ++;
this.getTagsList();
this.setData({
noMoreData: true
});
}
else{
this.setData({
noMoreData : false
});
}
},
});
\ No newline at end of file
<!--shoppingGuid/page/pages/selectUsers/selectUsers.wxml-->
<view class='top-tags'>
<view class='search-box'>
<!-- <view class='search-box'>
<view class='search'>
<image src='/assets/imgs/shoppingGuide/search.png' mode='aspectFit'></image>
<input maxlength='20' placeholder='请输入标签名称搜索'></input>
</view>
</view>
</view> -->
<!-- tags -->
<view class='tags-types'>
<view class='tag-items {{item.isActive ? "active" : ""}}'
......@@ -25,6 +25,7 @@
wx:for="{{groups}}"
wx:key="groups"
wx:for-index="idx"
bindtap='onTapSelectGroup'
data-index="{{idx}}"
data-item="{{item}}"
wx:if="{{idx < 3}}"
......@@ -35,11 +36,14 @@
</view>
</view>
<!-- -->
<!-- class='hover-items {{item.isActive ? "active" : ""}}' -->
<!-- 浮层 -->
<view class='tag-hover {{isOpen ? "show" : ""}}'>
<view class='hover-items {{item.isActive ? "active" : ""}}'
<view
class='hover-items {{item.isActive ? "active" : ""}}'
wx:for="{{groups}}"
wx:key="allGroups"
bindtap='onTapSelectGroup'
wx:for-index="idx"
data-index="{{idx}}"
data-item="{{item}}"
......@@ -47,56 +51,31 @@
</view>
<!-- 具体的数据 -->
<view class='list'>
<view class='list-item' bindtap='onTapToTagUserList'>
<view class='lf-icon'>
<image src='/assets/imgs/shoppingGuide/icon_tag.png' mode='aspectFit'></image>
</view>
<view class='rg-info'>
<view class='info-top'>
<label>新会员</label>
<view>
<text>7</text>人
</view>
</view>
<view class='info-desc'>
<label>注册未消费会员</label>
</view>
</view>
</view>
<view class='list-item' bindtap='onTapToTagUserList'>
<view class='lf-icon'>
<image src='/assets/imgs/shoppingGuide/icon_tag.png' mode='aspectFit'></image>
</view>
<view class='rg-info'>
<view class='info-top'>
<label>新会员</label>
<view>
<text>7</text>人
</view>
</view>
<view class='info-desc'>
<label>注册未消费会员</label>
</view>
</view>
</view>
<view class='list-item' bindtap='onTapToTagUserList'>
<view class='list-item'
wx:for="{{tags}}"
wx:key="tags"
wx:for-index="idx"
data-index="{{idx}}"
data-item="{{item}}"
wx:for-item="item"
bindtap='onTapToTagUserList'>
<view class='lf-icon'>
<image src='/assets/imgs/shoppingGuide/icon_tag.png' mode='aspectFit'></image>
</view>
<view class='rg-info'>
<view class='info-top'>
<label>新会员</label>
<view>
<text>7</text>人
</view>
<label>{{item.name}}</label>
<view><text>{{item.memberCount}}</text>人</view>
</view>
<view class='info-desc'>
<label>注册未消费会员</label>
<label>{{item.desc}}</label>
</view>
</view>
</view>
<!-- empty -->
<!-- <view class='empty' wx:if="{{noTag}}">暂无数据~</view> -->
<!-- 沒有更多數據啦 -->
<view class='no-more-data' wx:if="{{!noMoreData}}">--- 到底啦 ---</view>
</view>
/* shoppingGuid/page/pages/selectUsers/selectUsers.wxss */
page{
background: #f2f2f2;
padding-top: 300rpx;
padding-top: 196rpx;
box-sizing: border-box;
-webkit-box-sizing: border-box;
font-size: 28rpx;
......@@ -99,6 +99,7 @@ view{
display: flex;
align-items: center;
justify-content: center;
font-size: 28rpx;
}
.tags .flex .lf{
......@@ -133,7 +134,7 @@ view{
width: 100%;
max-height: 400rpx;
background: #ffffff;
top: 298rpx;
top: 190rpx;
border-top: solid 2rpx #ddd;
border-bottom: solid 2rpx #ddd;
transition: all 0.3s;
......@@ -162,7 +163,7 @@ view{
margin-bottom: 20rpx;
}
.tag-hover .hover-items.avtive{
.tag-hover .hover-items.active{
color: #0091FF ;
background-color: rgba(0, 145, 255, 0.1);
}
......
......@@ -8,65 +8,352 @@ wxService.page({
* 页面的初始数据
*/
data: {
memberId : null,
navBar: [
{ name: '自动标签', type: 1, isActive: true },
{ name: '手动标签', type: 2, isActive: false },
{ name: '会员标签', type: 1, isActive: true },
// { name: '手动标签', type: 2, isActive: false },
{ name: '订单信息', type: 3, isActive: false },
{ name: '退单信息', type: 4, isActive: false },
{ name: '优惠券', type: 5, isActive: false },
{ name: '积分', type: 6, isActive: false },
{ name: '经验值', type: 7, isActive: false },
],
current: 1,
onlineOrderStatus: [{ name: '线上订单', type: 1, isActive: true }, { name: '线下订单', type: 2, isActive: false }],
returnOrderStatus: [{ name: '线上订单', type: 1, isActive: true },{ name: '线下订单', type: 2, isActive: false }],
memberInfo: null
memberInfo: {},
guider : {},
memberTags : [],
orderList : [],
returnOrderList : [],
coupons : [],
pointHistory : [],
expHistory : [],
total : {
totalConsume : 0, //累计消费
totalPoint : 0,//当前积分
totalExp : 0,//当前经验值
}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
let memberId = options.id ;
this.data.memberId = memberId;
this.getMemberFind(memberId);
let currentUserInfo = wx.getStorageSync('_baseUserInfo');
let userInfo = wx.getStorageSync('_userInfo');
if (currentUserInfo.member){
if (!currentUserInfo.member.name){
currentUserInfo.member.name = userInfo.nickName;
}
}
if (currentUserInfo){
this.setData({
guider: currentUserInfo,
})
}
//获取会员下标签
this.getMemberTags(memberId);
//获取订单列表
this.getUserOrderList(memberId);
//获取线上退单
this.getOnlineReturnOrderList(memberId);
//获取优惠券列表
this.getMemberCoupon(memberId);
//获取会员积分
this.getMemberPointHistory(memberId);
//获取经验值流水
this.getMemberExpHistory(memberId);
//获取会员经验值
this.getMemberExp(memberId);
//获取会员积分
this.getMemberPoint(memberId);
//获取用户总消费额
this.getMemberTotalConsumeAmount(memberId);
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
this.getMemberFind() // 会员详情
onShow: function () {},
//获取用户总消费额
getMemberTotalConsumeAmount(memberId){
},
//获取优惠券信息
getMemberCoupon(memberId){
wxService.post(`/coupon/coupon/listWithMember?number=10000&size=1`, {
memberId: memberId,
}).then(res => {
if (!res) return false;
let list = res.data.data.content ? res.data.data.content : [];
const canUse = 'https://bigaka-xie.oss-cn-shanghai.aliyuncs.com/coupon_bg.png',
cantUse = 'https://bigaka-xie.oss-cn-shanghai.aliyuncs.com/coupon_bg_cantUse.png';
list.forEach(item => {
item.bg = item.status == 1 ? canUse : cantUse;
});
this.setData({
coupons : list,
})
})
},
//获取积分
getMemberPointHistory(memberId){
wxService.post(`/member/memberPointLog/findPage?pageSize=10000&pageNo=1`,{
memberId: memberId
}).then(res => {
if(!res) return ;
let list = res.data.data.content ? res.data.data.content : [];
this.setData({
pointHistory: list
})
})
},
//获取会员当前积分
getMemberPoint(memberId){
wxService.get(`/member/memberPoint/getMemberPointInfo?memberId=${memberId}`).then(res => {
if(!res) return ;
let point = res.data.data ? res.data.data.point : 0;
this.data.total.totalPoint = point;
this.setData({
total: this.data.total
});
});
},
getMemberFind() {
const baseUserInfo = wx.getStorageSync('_baseUserInfo')
const { memberId,member } = baseUserInfo
//获取经验值流水
getMemberExpHistory(memberId){
wxService.post(`/member/exp/queryExpDetail?pageNum=1&pageSize=10000`,{
memberId: memberId,
}).then(res => {
if(!res) return ;
let list = res.data.data.content ? res.data.data.content : [];
this.setData({
expHistory : list
});
});
},
//获取会员经验值
getMemberExp(memberId){
wxService.post(`/member/exp/byMemberIdQueryExp?memberId=${memberId}`).then(res => {
if(!res) return ;
let obj = res.data.data;
this.data.total.totalExp = obj.exp ? obj.exp : 0;
this.setData({
total: this.data.total
})
})
},
//获取会员详情
getMemberFind(memberId) {
wx.showLoading({
title: '加载中'
})
const memberInfoFindDto = {
memberId,
mobile: member.mobile,
cardNoOnline: '',
alipayUserId: '',
cardNoOffline: '',
unionid: member.unionid,
openid: member.openid,
});
}
wxService.post(`/member/find`, memberInfoFindDto).then(res => {
wxService.post(`/member/find`, {
memberId: memberId
}).then(res => {
if (!res) return false
const { result, data } = res && res.data || res && res.result
if (result == 0) {
wx.hideLoading()
data.member.age = utils.getAge(data.member.birthday)
data.member.sex = data.member.sex ? data.member.sex : '保密';
this.setData({
memberInfo: data.member
})
}
})
},
//获取会员下标签
getMemberTags(memberId){
wx.showLoading({
title: '加载中'
});
wxService.get(`/marketing/memberTagBind/getByMemberId/${memberId}`).then(res => {
if (!res) return false
const { result, data } = res.data
if (result == 0) {
wx.hideLoading();
this.data.memberTags = data ? data : [];
this.setData({
memberTags : this.data.memberTags
});
}
}).finally(() => {})
},
//获取订单信息
getUserOrderList(memberId){
//获取线上订单
wxService.post(`/sale/trade/buyer/history?pageSize=10000&pageNum=1`,{
memberId : memberId,
}).then(res => {
if(!res) return ;
let list = res.data.data ? res.data.data : [];
let arr = list.map(item => {
let statusText = item.status == 'N' ? '待支付' : (
item.status == 'P' ? '待发货' : (
item.status == 'D' ? '待收货' : (
item.status == 'R' ? '已收货' : '已取消'
)
)
);
let products = item.skuVOList.map(p => {
return {
productName: p.productName,
productId: p.productId,
productCode: p.productCode,
image: p.skuImgUrl ? p.skuImgUrl : 'https://bigaka-xie.oss-cn-shanghai.aliyuncs.com/1571636466%281%29.jpg',
skuId: p.skuId,
skuCode: p.skuCode,
}
})
return {
orderNo: item.id,
statusText: statusText,
products: products,
count: item.skuCount,
payMoney: item.payAmount
}
});
this.setData({
orderList: arr,
});
})
},
//获取线下订单
getOfflineOrder(memberId){
wxService.post(`/sale/order/list?pageSize=10000&pageNo=1`, {
memberId: memberId,
storeId: [],
consumeStartTime: '',
consumeEndTime: ''
}).then(res => {
if (!res) return;
let list = res.data.data.content ? res.data.data.content : [];
let arr = list.map(item => {
let statusText = '已完成';
let products = item.productInfo.map(p => {
return {
productName: p.productName,
productId: p.productId,
productCode: p.productCode,
image: 'https://bigaka-xie.oss-cn-shanghai.aliyuncs.com/1571636466%281%29.jpg',
skuId: p.skuId,
skuCode: p.skuCode,
}
})
return {
orderNo: item.orderNo,
statusText: statusText,
products: products,
count: item.productInfo.length,
payMoney: parseFloat(item.realPayMoney/100).toFixed(2)
}
});
this.setData({
orderList: arr,
});
})
},
// 获取线上退单
getOnlineReturnOrderList(memberId){
wxService.post(`/sale/refund/buyer/history?pageSize=10000&pageNum=1`, {
memberId: memberId,
}).then(res => {
if (!res) return;
let list = res.data.data ? res.data.data : [];
let arr = list.map(item => {
let statusText = item.status == 'N' ? '待审核' : (
item.status == 'A' ? '已审核' : (
item.status == 'RJ' ? '已拒绝' : (
item.status == 'R' ? '退货已发' : (
item.status == 'D' ? '已完成' : '已取消'
)
)
)
);
let count = 0;
let products = item.skuList.map(p => {
count = count + p.count;
return {
image: p.skuImgUrl ? p.skuImgUrl : 'https://bigaka-xie.oss-cn-shanghai.aliyuncs.com/1571636466%281%29.jpg',
skuId: p.skuId,
}
})
return {
orderNo: item.id,
statusText: statusText,
products: products,
count: count,
payMoney: item.amount
}
});
this.setData({
returnOrderList: arr,
});
})
},
//获取线下退单
getOfflineReturnOrderList(memberId){
wxService.post(`/sale/orderReturn/findPage?pageSize=10000&pageNo=1`, {
memberId: memberId,
}).then(res => {
if (!res) return;
let list = res.data.data.content ? res.data.data.content : [];
let arr = list.map(item => {
let statusText = '已完成';
let count = 0;
let products = item.productInfo.map(p => {
count = count + p.refundCount;
return {
productId: p.productId,
productCode: p.productCode,
image: 'https://bigaka-xie.oss-cn-shanghai.aliyuncs.com/1571636466%281%29.jpg',
skuId: p.skuId,
skuCode: p.skuCode,
}
})
return {
orderNo: item.refundNo,
statusText: statusText,
products: products,
count: count,
payMoney: parseFloat(item.refundMoney / 100).toFixed(2)
}
});
this.setData({
returnOrderList: arr,
});
})
},
//打电话
handelPhoneCall(e) {
const {phone} = e.currentTarget.dataset
const {phone} = e.currentTarget.dataset;
if(!phone){
wx.showToast({
title: '暂无手机号',
icon : 'none'
});
return ;
}
wx.makePhoneCall({
phoneNumber: phone
})
......@@ -101,6 +388,15 @@ wxService.page({
this.setData({
onlineOrderStatus: this.data.onlineOrderStatus,
});
let type = this.data.onlineOrderStatus[index].type ;
this.data.orderList = [];
if(type == 1 ){ //线上订单
this.getUserOrderList(this.data.memberId);
}
else{
this.getOfflineOrder(this.data.memberId);
}
},
//退单
onTapChangeReturnOrderStatus(e){
......@@ -115,6 +411,16 @@ wxService.page({
this.setData({
returnOrderStatus: this.data.returnOrderStatus,
});
let type = this.data.returnOrderStatus[index].type;
this.data.returnOrderList = [];
if (type == 1) { //线上订单
this.getOnlineReturnOrderList(this.data.memberId);
}
else {
this.getOfflineReturnOrderList(this.data.memberId);
}
},
/**
......
......@@ -7,15 +7,17 @@
<view class='u-rg'>
<view class='u-items'>
<view class='u-item-lf'>
<label>{{memberInfo.mobile}}</label>
<image src='/assets/imgs/shoppingGuide/phone.png' data-phone="{{memberInfo.mobile}}" bindtap="handelPhoneCall" mode='widthFix'></image>
<label>{{memberInfo.name}}</label>
<image src='/assets/imgs/shoppingGuide/phone.png'
data-phone="{{memberInfo.mobile}}"
bindtap="handelPhoneCall" mode='widthFix'></image>
</view>
<view class='u-item-rg' data-phone="{{memberInfo.mobile}}" bindtap="handelPhoneCall">立即联系</view>
</view>
<view class='u-items'>
<view class='u-item-lf'>
<label class='color-pink mg-r-20'>{{memberInfo.sex}}</label>
<text>{{memberInfo.age}}</text>
<text>{{memberInfo.age}}</text>
</view>
</view>
<view class='u-items'>
......@@ -36,22 +38,22 @@
<view class='guider'>
<view class='header'>
<label>所属导购:</label>
<text>张三三</text>
<text>{{guider.member.name ? guider.member.name : "暂无名称"}}</text>
</view>
<view class='month'>
<view class='month-data'>
<view class='data-item'>
<text class='data-item-title'>累计消费(元)</text>
<text class='data-item-number'>11356.59</text>
<text class='data-item-number'>{{total.totalConsume}}</text>
</view>
<view class='data-item'>
<text class='data-item-title'>当前积分</text>
<text class='data-item-number'>21132</text>
<text class='data-item-number'>{{total.totalPoint}}</text>
</view>
<view class='data-item'>
<text class='data-item-title'>当前经验值</text>
<text class='data-item-number'>228</text>
<text class='data-item-number'>{{total.totalExp}}</text>
</view>
</view>
</view>
......@@ -69,41 +71,20 @@
>{{item.name}}</view>
</view>
<!-- 自动标签 -->
<!-- 会员标签 -->
<view class='auto-tips' wx:if="{{current == 1}}">
<view class='tips-groups'>
<view class='tip-group-name'>标签分组名称</view>
<view class='tips'>
<view class='tips-item'>标签名称</view>
<view class='tips-item'>标签名称</view>
<view class='tips-item'>标签名称</view>
<view class='tips-item'>标签名称</view>
<view class='tips-item'>标签名称</view>
</view>
</view>
<view class='tips-groups'>
<view class='tip-group-name'>标签分组名称</view>
<view class='tips'>
<view class='tips-item'>标签名称</view>
<view class='tips-item'>标签名称</view>
<view class='tips-item'>标签名称</view>
<view class='tips-item'>标签名称</view>
<view class='tips-item'>标签名称</view>
</view>
</view>
<view class='tips-groups'>
<view class='tip-group-name'>标签分组名称</view>
<!-- <view class='tip-group-name'>标签分组名称</view> -->
<view class='tips'>
<view class='tips-item'>标签名称</view>
<view class='tips-item'>标签名称</view>
<view class='tips-item'>标签名称</view>
<view class='tips-item'>标签名称</view>
<view class='tips-item'>标签名称</view>
<view class='tips-item'
wx:for="{{memberTags}}"
wx:key="memberTag"
wx:for-item="item">{{item.tag.name}}</view>
</view>
</view>
</view>
<!-- 手动标签 -->
<view class='auto-tips' wx:if="{{current == 2}}">
<!-- <view class='auto-tips' wx:if="{{current == 2}}">
<view class='tips-groups'>
<view class='tip-group-name'>标签分组名称</view>
<view class='tips'>
......@@ -134,7 +115,7 @@
<view class='tips-item'>标签名称</view>
</view>
</view>
</view>
</view> -->
<!-- 订单信息 -->
<view wx:if="{{current == 3}}">
<view class='order-filter'>
......@@ -151,48 +132,29 @@
<!-- 订单列表信息 -->
<view class='list online-order'>
<!-- order item -->
<view class='order-item'>
<view class='order-item'
wx:for="{{orderList}}"
wx:key="onLineOrderList"
wx:for-item="item">
<view class='order-status'>
<text>订单号 7878327513490</text>
<text>待付款</text>
<text>订单号 {{item.orderNo}}</text>
<text>{{item.statusText}}</text>
</view>
<view class='products-list'>
<view class='pro-item'>
<image mode='aspectFit' src='https://bigaka-xie.oss-cn-shanghai.aliyuncs.com/1571636466%281%29.jpg'></image>
</view>
<view class='pro-item'>
<image mode='aspectFit' src='https://bigaka-xie.oss-cn-shanghai.aliyuncs.com/1571636466%281%29.jpg'></image>
<view class='pro-item' wx:for="{{item.products}}" wx:key="product" wx:for-item="pro">
<image mode='aspectFit' src='{{pro.image}}'></image>
</view>
</view>
<view class='order-pro-info'>
<label>共5件商品</label>
<label>共{{item.count}}件商品</label>
<view>
实付 <label class='theme-text-color bolder'>¥385</label>
</view>
实付 <label class='theme-text-color bolder'>¥{{item.payMoney}}</label>
</view>
</view>
<view class='order-item'>
<view class='order-status'>
<text>订单号 7878327513490</text>
<text>待付款</text>
</view>
<view class='products-list'>
<view class='pro-item'>
<image mode='aspectFit' src='https://bigaka-xie.oss-cn-shanghai.aliyuncs.com/1571636466%281%29.jpg'></image>
</view>
<view class='pro-item'>
<image mode='aspectFit' src='https://bigaka-xie.oss-cn-shanghai.aliyuncs.com/1571636466%281%29.jpg'></image>
</view>
</view>
<view class='order-pro-info'>
<label>共5件商品</label>
<view>
实付 <label class='theme-text-color bolder'>¥385</label>
</view>
</view>
<!-- 空 -->
<view class='empty' wx:if="{{orderList.length == 0}}">暂无数据~</view>
</view>
</view>
</view>
<!-- 退单信息 -->
<view wx:if="{{current == 4}}">
......@@ -210,90 +172,59 @@
<!-- 退单列表信息 -->
<view class='list online-order'>
<!-- order item -->
<view class='order-item'>
<view class='order-item'
wx:for="{{returnOrderList}}"
wx:key="returnOrder"
wx:for-item="item">
<view class='order-status'>
<text>订单号 7878327513490</text>
<text>待付款</text>
<text>退单号 {{item.orderNo}}</text>
<text>{{item.statusText}}</text>
</view>
<view class='products-list'>
<view class='pro-item'>
<image mode='aspectFit' src='https://bigaka-xie.oss-cn-shanghai.aliyuncs.com/1571636466%281%29.jpg'></image>
</view>
<view class='pro-item'>
<image mode='aspectFit' src='https://bigaka-xie.oss-cn-shanghai.aliyuncs.com/1571636466%281%29.jpg'></image>
<view class='pro-item' wx:for="{{item.products}}" wx:key="returnProduct" wx:for-item="returnPro">
<image mode='aspectFit' src='{{returnPro.image}}'></image>
</view>
</view>
<view class='order-pro-info'>
<label>共5件商品</label>
<label>共{{item.count}}件商品</label>
<view>
实付 <label class='theme-text-color bolder'>¥385</label>
</view>
</view>
</view>
<view class='order-item'>
<view class='order-status'>
<text>订单号 7878327513490</text>
<text>待付款</text>
</view>
<view class='products-list'>
<view class='pro-item'>
<image mode='aspectFit' src='https://bigaka-xie.oss-cn-shanghai.aliyuncs.com/1571636466%281%29.jpg'></image>
</view>
<view class='pro-item'>
<image mode='aspectFit' src='https://bigaka-xie.oss-cn-shanghai.aliyuncs.com/1571636466%281%29.jpg'></image>
</view>
</view>
<view class='order-pro-info'>
<label>共5件商品</label>
<view>
实付 <label class='theme-text-color bolder'>¥385</label>
实付 <label class='theme-text-color bolder'>¥{{item.payMoney}}</label>
</view>
</view>
</view>
<!-- 空 -->
<view class='empty' wx:if="{{returnOrderList.length == 0}}">暂无数据~</view>
</view>
</view>
<!-- 优惠券 -->
<view class='coupons' wx:if="{{current == 5}}">
<!-- items -->
<view class='coupon-item' style='background-image:url(https://bigaka-xie.oss-cn-shanghai.aliyuncs.com/coupon_bg.png)'>
<view class='coupon-item-lf'>
<view class='coupon-price'>
¥ <text>5</text>
</view>
<view>抵用券</view>
</view>
<view class='coupon-item-rg'>
<!-- cant-use -->
<view class='qrcode can-use'>可使用</view>
<view class='coupon-title'>满10减5抵用券</view>
<view class='op'>
<view class='text-btn'>有效期: 2019-03-24 至 2019-06-23</view>
</view>
<view class='op'>
<view class='text-btn'>拼团及特殊商品不可用</view>
</view>
</view>
</view>
<!-- items -->
<view class='coupon-item' style='background-image:url(https://bigaka-xie.oss-cn-shanghai.aliyuncs.com/coupon_bg_cantUse.png)'>
<view class='coupon-item'
wx:for="{{coupons}}"
wx:key="coupon"
wx:for-item="item"
style='background-image:url({{item.bg}})'>
<view class='coupon-item-lf'>
<view class='coupon-price cant-use'>
<!-- <view class='coupon-price'>
¥ <text>5</text>
</view>
<view class='cant-use'>抵用券</view>
<view>抵用券</view> -->
</view>
<view class='coupon-item-rg'>
<!-- cant-use -->
<view class='qrcode cant-use'>已过期</view>
<view class='coupon-title cant-use'>满10减5抵用券</view>
<view class='qrcode {{item.status == 1 ? "can-use" : "cant-use"}}'>{{item.statusDesc}}</view>
<view class='coupon-title {{item.status == 1 ? "can-use" : "cant-use"}}'>{{item.title}}</view>
<view class='op'>
<view class='text-btn'>有效期: 2019-03-24 至 2019-06-23</view>
<view class='text-btn'>有效期: {{item.startTime}} 至 {{item.endTime}}</view>
</view>
<view class='op'>
<view class='text-btn '>拼团及特殊商品不可用</view>
<view class='text-btn'>{{item.useChannelDesc}}</view>
</view>
</view>
</view>
<!-- 空 -->
<view class='empty' wx:if="{{coupons.length == 0}}">暂无数据~</view>
</view>
<!-- 积分 -->
<view class='integrate-list' wx:if="{{current == 6}}">
......@@ -302,26 +233,32 @@
<view class='line'></view>
</view> -->
<view class='rg-list'>
<view class='rg-list-item'>
<view class='rg-list-item' wx:for="{{pointHistory}}" wx:key="point" wx:for-item="item">
<view class='integrate-type'>
<view class='title'>购物送积分</view>
<view>2019-12-11 14:23:32</view>
</view>
<view class='time'>+30</view>
<view class='title'>{{item.changeTypeDesc}}</view>
<view>{{item.changeTime}}</view>
</view>
<view class='rg-list-item'>
<view class='integrate-type'>
<view class='title'>购物送积分</view>
<view>2019-12-11 14:23:32</view>
<view class='time'>{{item.operation == 1 ? "+" : "-"}}{{item.changeValue}}</view>
</view>
<view class='time'>+30</view>
<!-- 空 -->
<view class='empty' wx:if="{{pointHistory.length == 0}}">暂无数据~</view>
</view>
<view class='rg-list-item'>
</view>
<!-- 经验值 -->
<view class='integrate-list' wx:if="{{current == 7}}">
<!-- <view class='lf-history'>
<label></label>
<view class='line'></view>
</view> -->
<view class='rg-list'>
<view class='rg-list-item' wx:for="{{expHistory}}" wx:key="exp" wx:for-item="item">
<view class='integrate-type'>
<view class='title'>购物送积分</view>
<view>2019-12-11 14:23:32</view>
<view class='title'>{{item.sourceName}}</view>
<view>{{item.createTime}}</view>
</view>
<view class='time'>+30</view>
<view class='time'>{{item.type == 0 ? "-" : "+"}}{{item.exp}}</view>
</view>
<!-- 空 -->
<view class='empty' wx:if="{{expHistory.length == 0}}">暂无数据~</view>
</view>
</view>
\ No newline at end of file
// shoppingGuid/page/pages/userList/userList.js
const app = getApp()
const wxService = require('../../../../utils/wxService')
import { Integer } from '../../../../utils/integerDigitalConvertion'
wxService.page({
/**
* 页面的初始数据
*/
data: {
list : [],
pageSize: 10,
pageNo: 1,
totalPages: 0
name : '',
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
console.log(options)
let tagId = Integer.digit(options.id,64,10),
groupId = Integer.digit(options.groupId, 64, 10),
type = options.type,
name = options.name;
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
this.setData({
name : name
});
this.getMemberList(tagId, groupId, type);
},
......@@ -31,48 +32,40 @@ wxService.page({
* 生命周期函数--监听页面显示
*/
onShow: function () {
const {pageSize, pageNo,current} = this.data
this.getTaskPage(pageSize, pageNo,current)
},
getTaskPage(pageSize, pageNo,current) { // 1 销售任务 2 招募任务
// 获取标签下会员
getMemberList(tagId, groupId, type){
wx.showLoading({
title: '加载中'
})
const query = {
// pageSize,
// pageNo,
});
let query = {
tagId,
groupId,
type
}
wxService.post(`/marketing/shoppingguide/tag/member?pageSize=${pageSize}&pageNo=${pageNo}`,query).then(res => {
wxService.post(`/marketing/shoppingguide/tag/member`, query).then(res => {
if (res) {
const { result, data } = res.data
if (result == 0) {
wx.hideLoading()
data.content.forEach(item=>{
let curStart = new Date(item.task.startTime)
let curEnd = new Date(item.task.endTime)
item.task.startTime = `${curStart.getMonth()}${curStart.getDay()}日`
item.task.endTime = `${curEnd.getMonth()}${curEnd.getDay()}日`
})
this.data.list = data;
this.setData({
list: pageNo == 1? [...data.content]: [...this.data.list,...data.content],
totalPages: data.totalPages
})
list: this.data.list,
});
}
}
})
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
//跳转到会员详情
onTapToMemberInfo(e){
let item = e.currentTarget.dataset.item;
wx.navigateTo({
url: '/shoppingGuid/page/pages/userInfo/userInfo?id=' + item.id,
});
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
//回访
onTapRecall(e){
let item = e.currentTarget.dataset.item;
},
/**
......@@ -86,14 +79,7 @@ wxService.page({
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
if(pageNo < totalPages) {
this.setData({
pageNo: this.data.pageNo + 1,
},()=>{
const {pageSize, pageNo,current} = this.data
this.getTaskPage(pageSize, pageNo,current)
})
}
},
/**
......
......@@ -2,20 +2,22 @@
<view class='tag-name'>
<image src='/assets/imgs/shoppingGuide/kpi_task_name.png' mode='widthFix' />
<label>标签名称</label>
<view class='tag'>7天内新消费2次</view>
<view class='tag'>{{name}}</view>
</view>
<!-- 列表 -->
<view class='list' wx:if="{{list.length}}">
<block wx:for="{{list}}" wx:key="{{index}}" wx:for-item="item">
<view class='item' bindtap='onTapToMemberInfo'>
<view class='u-info'>
<view class='item'>
<view class='u-info' data-item="{{item}}" bindtap='onTapToMemberInfo'>
<image src='https://bigaka-xie.oss-cn-shanghai.aliyuncs.com/biaka_default_u_logo.png' mode='aspectFit' />
<text>139xxxx2453</text>
<text>{{item.name}}</text>
</view>
<view class='item-btn'>立即回访</view>
<view class='item-btn' data-item="{{item}}" bindtap='onTapRecall'>立即回访</view>
</view>
</block>
</view>
<view class="no-list" wx:else>暂无榜单</view>
<!-- empty -->
<view class='empty' wx:else>数据加载中..</view>
// shoppingGuid/page/pages/welfare/welfare.js
const wxService = require('../../../../utils/wxService')
import { Integer } from '../../../../utils/integerDigitalConvertion'
var app = getApp()
wxService.page({
/**
......@@ -101,10 +103,54 @@ wxService.page({
//立即推荐商品给用户
onTapToRecommandProduct(e){
let item = e.currentTarget.dataset.item;
let id = item.id;
// wx.navigateTo({
// url: '/shoppingGuid/page/pages/selectUsers/selectUsers?id=' + id + '&type=product',
// 生成触点对象
let content = {
title: item.productName,
id: item.productId,
url: item.productImgUrl
}
let tentacleInfo = {
content: JSON.stringify(content),
contentId: item.productId,
contentType: app.globalData.contants.SHARE_TYPE.PRODUCT_DETAIL, //内容类型
title: item.productName, //标题
type: 3// 1:门店,2:员工(暂时不做),3:会员,4:第三方外部渠道,5:智能营销
}
// wxService.getTentacleContent(tentacleInfo).then(res => {
// if (res && res.id) {
// let tentacleId = res.id;
// let inner_id = Integer.digit(item.productId, 10, 64);
// let inner_tentacleId = Integer.digit(tentacleId, 10, 64);
// var path = 'pages/productDetail/productDetail' + '?i=' + inner_id + '&t=' + inner_tentacleId;
// //打开企业微信通讯录选择会员
// this.openQyContact(item,path);
// }
// });
// 先不管触点 测试调用企业微信接口
let inner_id = Integer.digit(item.productId, 10, 64);
var path = 'pages/productDetail/productDetail' + '?i=' + inner_id;
this.openQyContact(item, path);
},
//打開企業微信通訊錄
openQyContact(item,path){
//选择企业通讯录中的数据
wx.qy.shareToExternalContact({
appid: app.globalData.appId,//小程序的appid
title: item.productName, //小程序消息的title
imgUrl: item.productImgUrl,//小程序消息的封面图
page: path, //小程序消息打开后的路径
success: function (res) {
//todo:
},
fail: function (err) {
console.log('error---------------', err);
}
});
},
//去商城
onTapToMall(){
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment