Commit 4f37527b by 谢中龙

积分换物同步

parent 6608bee5
......@@ -5,6 +5,6 @@
class='close'
src='https://bigaka-xie.oss-cn-shanghai.aliyuncs.com/icon_tips_close.png' mode='aspectFit'></image>
<image class='tips-icon' src='https://bigaka-xie.oss-cn-shanghai.aliyuncs.com/tips_icon.png' mode='aspectFit'></image>
<view>您已达到上限了哦</view>
<view>您已达到兑换上限</view>
</view>
</view>
......@@ -42,13 +42,23 @@ wxService.page({
let data = res.data.data ? res.data.data : {};
this.data.memberPoint.total = data.point ? data.point : 0;
this.data.memberPoint.expirePoint = data.pointWillExpired ? data.pointWillExpired : 0;
let expireDate = data.pointExpiredTime ? data.pointExpiredTime : '';
let expireDate = data.pointExpiredTime ? data.pointExpiredTime : '2019-12-31 23:59:59';
if (expireDate) {
let dateStr = expireDate.replace(/-/g, '/');
let da = new Date(dateStr);
let year = da.getFullYear();
let month = (da.getMonth() + 1) < 10 ? '0' + (da.getMonth() + 1) : da.getMonth() + 1;
let day = da.getDate() < 10 ? '0' + da.getDate() : da.getDate();
expireDate = `${year}${month}${day}日`
}
this.data.memberPoint.expireDate = expireDate;
this.setData({
memberPoint: this.data.memberPoint
});
});
},
/**
* 生命周期函数--监听页面显示
*/
......@@ -107,11 +117,16 @@ wxService.page({
},
// 消费详情
handleGoDetail(e) {
const { memberid, expandinfo } = e.currentTarget.dataset
const { memberid, expandinfo, changetype } = e.currentTarget.dataset
// orderNo 存在 跳转订单详情
if (expandinfo && expandinfo.orderNo) {
let orderNo = expandinfo.orderNo
wxService.router(`/pages/consumptionDetails/consumptionDetails`).search({ orderNo })
if (changetype == 26) { // 积分换物
wxService.router(`/subPackage/page/pages/recordList/recordList`)
}
else {
if (expandinfo && expandinfo.orderNo) {
let orderNo = expandinfo.orderNo
wxService.router(`/pages/consumptionDetails/consumptionDetails`).search({ orderNo })
}
}
},
/**
......@@ -132,7 +147,6 @@ wxService.page({
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
......
......@@ -8,40 +8,49 @@
<view class="integral-vip-rules" bindtap="handleGoMemberRulesRules">积分规则</view>
</view> -->
<view class='mall-title'>
<view class='title-num-point'>
<view class='title-img-point'>
<view class='img-point'>
<image class="point-img" src='/assets/imgs/integral_exchange/point.png' mode="widthFix" />
</view>
<view class='text-point'>
{{memberPoint.total}}
</view>
</view>
<view class='integral-vip-rules' bindtap="handleGoMemberRulesRules">积分规则</view>
</view>
<view class='title-time-point' wx:if="{{memberPoint.expirePoint > 0}}">
{{memberPoint.expirePoint}} 积分将于 {{memberPoint.expireDate}} 清零
<!-- 新布局 -->
<view class='new-container'>
<view class='new-container-lf'>
<view class='new-point-info'>
<image class="point-img" src='/assets/imgs/point.png' mode="widthFix" />
<label class='text-point'>{{memberPoint.total}}</label>
</view>
<view class='title-time-point' wx:if="{{memberPoint.expirePoint > 0}}">
{{memberPoint.expirePoint}} 积分将于 {{memberPoint.expireDate}} 清零
</view>
<view class='title-time-point' wx:if="{{memberPoint.expirePoint == 0}}">暂无将过期积分</view>
</view>
<view class='title-time-point' wx:if="{{memberPoint.expirePoint == 0}}">
暂无将过期积分
<view class='new-container-rg'>
<view class='new-integral-vip-rules' bindtap="handleGoMemberRulesRules">积分规则</view>
</view>
</view>
</view>
<view wx:if="{{!integralList.length}}" class="detail-list-no">还没有任何积分记录</view>
<view wx:if="{{integralList.length}}">
<view class="integral-tips">
<view class="tips-detail">显示你最近30笔变动明细</view>
<span class="tips-much">这么多积分</span><span class="tips-gomall" bindtap="handleGoIntegralMall"> 去积分商城看看>>> </span>
<text class="tips-much">这么多积分</text><text class="tips-gomall" bindtap="handleGoIntegralMall"> 去积分商城看看>>> </text>
</view>
<!--积分列表-->
<view>
<view class="detail-integral" wx:for="{{integralList}}" wx:for-item="item" data-memberId = "{{item.memberId}}" data-expandInfo= "{{item.expandInfo}}" wx:for-index="k" wx:key="{{k}}" bindtap="handleGoDetail">
<view class="detail-integral"
wx:for="{{integralList}}"
wx:for-item="item"
data-memberId = "{{item.memberId}}"
data-expandInfo= "{{item.expandInfo}}"
data-changeType="{{item.changeType}}"
wx:for-index="k"
wx:key="{{k}}" bindtap="handleGoDetail">
<view class="detail-left">
<view class="detail-title">{{item.changeTypeDesc}}</view>
<view class="detail-time">{{item.changeTime}}</view>
</view>
<view class="detail-num {{item.operation==true ? 'add' : 'less'}}">{{item.operation == 1? '+':''}}{{item.operation*item.changeValue}}</view>
<view class="detail-num {{item.operation==true ? 'add' : 'less'}}"
style='padding-right:{{item.changeType != 26 ? "24rpx" : 0}}'>
<text>{{item.operation == 1? '+':''}}{{item.operation*item.changeValue}}</text>
<image wx:if="{{item.changeType == 26}}" src='/assets/imgs/arrow-right-sku.png' mode='aspectFit'></image>
</view>
</view>
<no-more wx:if="{{noMore}}"/>
</view>
......
......@@ -15,6 +15,62 @@ page{
font-size: 42rpx;
margin-left: 10rpx;
}
/* 新布局开始 */
.new-container{
height: 150rpx;
padding-left: 50rpx;
padding-right: 42rpx;
box-sizing: border-box;
background-color: rgba(255, 255, 255, 1);
box-shadow: 0px 0px 8px 5px rgba(0, 0, 0, 0.05),
0px 0px 3px 0px rgba(0, 0, 0, 0.03);
display: flex;
justify-content: space-between;
align-items: center;
}
.new-container .new-container-lf{
display: flex;
flex-direction: column;
justify-content: center;
}
.new-container .new-container-lf .new-point-info{
display: flex;
align-items: center;
}
.new-container .new-container-lf .new-point-info image{
width:28rpx;
height:36rpx;
margin-right: 10rpx;
}
.new-container .new-container-rg{
}
.new-container .new-container-rg .new-integral-vip-rules{
width: 133rpx;
height: 42rpx;
line-height: 42rpx;
border-radius: 34rpx;
font-size: 23rpx;
text-align: center;
border: 1px solid rgba(204, 204, 204, 1);
}
.title-time-point {
color: rgba(102, 102, 102, 1);
font-size: 22rpx;
text-align: left;
margin-top: 8rpx;
}
/* 新布局结束 */
.mall-title {
height: 150rpx;
padding-left: 50rpx;
......@@ -40,13 +96,7 @@ page{
text-align: center;
border: 1px solid rgba(204, 204, 204, 1);
}
.title-time-point {
color: rgba(102, 102, 102, 1);
font-size: 24rpx;
text-align: left;
padding-top: 3rpx;
margin-top: 15rpx;
}
.point-img {
width: 28rpx;
......@@ -130,7 +180,17 @@ page{
text-align: left;
width: auto;
padding-top:20rpx;
display: flex;
align-items: center;
justify-content: flex-end;
}
.detail-num image{
width: 24rpx;
height: 24rpx;
margin-left: 10rpx;
}
.add {
color: #fc921e;
}
......@@ -150,6 +210,10 @@ page{
text-align: center;
}
.detail-integral:active{
opacity: 0.7;
}
.minus {
color: #000
}
\ No newline at end of file
......@@ -14,19 +14,19 @@ wxService.page({
exchangeId: '',
exchangePoint: 0,
currentTab: 'coupon',
memberPoint : {
memberPoint: {
total: '--',
expirePoint : 0,
expireDate : ''
expirePoint: 0,
expireDate: ''
},
dialogStockEmpty : false,
dialogUserLimit : false,
dialogStockEmpty: false,
dialogUserLimit: false,
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
onLoad: function (options) {
this.initIntegralCouponList();
this.initIntegralProductList();
},
......@@ -46,26 +46,36 @@ wxService.page({
this.getMemberIntegrateInfo();
},
//积分换物记录
onTapToExchangeRecords(){
onTapToExchangeRecords() {
wx.navigateTo({
url: '/subPackage/page/pages/recordList/recordList',
});
},
//查询会员积分信息
getMemberIntegrateInfo(){
getMemberIntegrateInfo() {
// wx.showLoading({
// title: '数据请求中..',
// });
const { memberId } = wx.getStorageSync('_baseUserInfo')
if (!memberId){
return ;
if (!memberId) {
return;
}
wxService.get(`/member/memberPoint/getMemberPointInfo?memberId=${memberId}`).then(res => {
let data = res.data.data ? res.data.data : {};
this.data.memberPoint.total = data.point ? data.point : 0;
this.data.memberPoint.expirePoint = data.pointWillExpired ? data.pointWillExpired : 0;
let expireDate = data.pointExpiredTime ? data.pointExpiredTime : '';
let expireDate = data.pointExpiredTime ? data.pointExpiredTime : '2019-12-31 23:59:59';
if (expireDate) {
let dateStr = expireDate.replace(/-/g, '/');
let da = new Date(dateStr);
let year = da.getFullYear();
let month = (da.getMonth() + 1) < 10 ? '0' + (da.getMonth() + 1) : da.getMonth() + 1;
let day = da.getDate() < 10 ? '0' + da.getDate() : da.getDate();
expireDate = `${year}${month}${day}日`
}
this.data.memberPoint.expireDate = expireDate;
this.setData({
memberPoint: this.data.memberPoint
......@@ -82,15 +92,15 @@ wxService.page({
if (res) {
const { result, data } = res.data
if (result == 0) {
let list = data ? data : [];
if(list.length == 0){
let list = data ? data : [];
if (list.length == 0) {
this.data.currentTab = 'coupon';
}
else{
else {
this.data.currentTab = 'goods';
}
this.setData({
integralGoodsList: data? data : [],
integralGoodsList: data ? data : [],
currentTab: this.data.currentTab
})
}
......@@ -104,7 +114,7 @@ wxService.page({
wx.showLoading({
title: '加载中'
});
wxService.get(`/coupon/pointsRedemptionCouponSetting/getAllValid`).then(res => {
if (res) {
const { result, data } = res.data
......@@ -138,22 +148,22 @@ wxService.page({
});
wxService.post(`/member/pointsRedemptionProductRecord/checkByMemberIdAndSettingId?memberId=${memberId}&settingId=${id}`).
then(res => {
if(res.data.data == -1){
this.setData({
dialogUserLimit : true
})
}
else{
wx.navigateTo({
url: '/subPackage/page/pages/exchangeAddress/exchangeAddress?id=' + id,
});
}
});
then(res => {
if (res.data.data == -1) {
this.setData({
dialogUserLimit: true
})
}
else {
wx.navigateTo({
url: '/subPackage/page/pages/exchangeAddress/exchangeAddress?id=' + id,
});
}
});
},
//跳转积分换物详情
// subPackage/page/pages/IntegrateGoodsExchangeInfo/IntegrateGoodsExchangeInfo
goIntegrateGoodsExchangeDetail(e){
goIntegrateGoodsExchangeDetail(e) {
const { id } = e.currentTarget.dataset
wxService.router(`/subPackage/page/pages/IntegrateGoodsExchangeInfo/IntegrateGoodsExchangeInfo?id=${id}`)
},
......@@ -174,6 +184,6 @@ wxService.page({
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
})
\ No newline at end of file
......@@ -9,9 +9,9 @@ wxService.page({
*/
data: {
region: [],
point : 0,
point: 0,
dialogStockEmpty: false,
form : {
form: {
activateId: '',
name: '',
mobile: '',
......@@ -46,7 +46,7 @@ wxService.page({
})
},
//省市区改变事件
bindRegionChange(e){
bindRegionChange(e) {
this.data.form.distinct = e.detail.value.join(',');
this.setData({
region: e.detail.value,
......@@ -55,7 +55,7 @@ wxService.page({
},
//选择微信地址
chooseWxAddress(){
chooseWxAddress() {
let self = this;
wx.chooseAddress({
success(res) {
......@@ -70,31 +70,31 @@ wxService.page({
form: self.data.form
});
},
fail(err){
fail(err) {
}
})
},
//输入框
onInput(e){
onInput(e) {
let prop = e.target.dataset.prop,
value = e.detail.value;
this.data.form[prop] = value;
this.setData({
form : this.data.form
form: this.data.form
})
},
//确认提交
onTapSubmit(){
if(!this.data.form.name){
onTapSubmit() {
if (!this.data.form.name) {
wx.showToast({
title: '请输入收货人真实姓名',
icon : 'none'
icon: 'none'
});
return ;
return;
}
if (!this.data.form.mobile) {
wx.showToast({
......@@ -122,9 +122,9 @@ wxService.page({
title: '兑换中..',
});
wxService.post(`/member/pointsRedemptionProductSetting/exchange`,this.data.form).then(res => {
wxService.post(`/member/pointsRedemptionProductSetting/exchange`, this.data.form).then(res => {
wx.hideLoading();
if(res.data.data == 0){
if (res.data.data == 0) {
wx.showToast({
title: '兑换成功',
});
......@@ -135,15 +135,15 @@ wxService.page({
});
}, 300);
}
else if (res.data.data == 1){ // 库存不足
else if (res.data.data == 1) { // 库存不足
this.setData({
dialogStockEmpty : true,
dialogStockEmpty: true,
});
}
else if (res.data.data == 2){
else if (res.data.data == 2) {
wx.showToast({
title: '对不起,您积分不足',
icon : 'none'
icon: 'none'
});
}
else {
......@@ -155,11 +155,11 @@ wxService.page({
});
},
//btn回调
onDialogBtnCallBack(e){
onDialogBtnCallBack(e) {
let pages = getCurrentPages();
let index = pages.length - 1;
for (let i = 0; i < pages.length ; i ++){
if (pages[i].route.indexOf('IntegralMallGoods/IntegralMallGoods') > -1){
for (let i = 0; i < pages.length; i++) {
if (pages[i].route.indexOf('IntegralMallGoods/IntegralMallGoods') > -1) {
index = index - i;
break;
}
......@@ -176,5 +176,5 @@ wxService.page({
onShow: function () {
},
})
\ No newline at end of file
......@@ -22,7 +22,7 @@
</picker>
</view>
<view class='address-form'>
<input placeholder='请输入收货人地址' value='{{form.address}}' data-prop="address" bindinput='onInput' maxlength='20'></input>
<input placeholder='请输入收货人地址' value='{{form.address}}' data-prop="address" bindinput='onInput' maxlength='40'></input>
</view>
<view class='sumbit' bindtap='onTapSubmit'>确认</view>
......
......@@ -7,11 +7,11 @@ wxService.page({
* 页面的初始数据
*/
data: {
pageNo : 1,
pageSize : 10,
totalPage : 0,
pageNo: 1,
pageSize: 10,
totalPage: 0,
recordList: [],
hasMore : false
hasMore: false
},
/**
......@@ -30,22 +30,15 @@ wxService.page({
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
//获取兑换记录
getWxchangeRecords(){
getWxchangeRecords() {
const { memberId } = wx.getStorageSync('_baseUserInfo')
if(!memberId){
wx.showToast({
title: '登录失效,请返回登录',
icon : 'none'
});
return ;
}
let pageNo = this.data.pageNo,
pageSize = this.data.pageSize;
wxService.post(`/member/pointsRedemptionProductRecord/page?pageNo=${pageNo}&pageSize=${pageSize}`,{
wxService.post(`/member/pointsRedemptionProductRecord/page?pageNo=${pageNo}&pageSize=${pageSize}`, {
memberId: memberId
}).then(res => {
let list = res.data.data.content ? res.data.data.content : [];
......@@ -55,7 +48,7 @@ wxService.page({
item.title = item.title ? item.title : '--';
item.fullAddress = [proviceCity, item.exchangeInfo.address].join('');
});
if(list.length > 0){
if (list.length > 0) {
this.data.hasMore = true;
}
......@@ -79,14 +72,14 @@ wxService.page({
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
if(this.data.pageNo < this.data.totalPage){
this.data.pageNo ++ ;
if (this.data.pageNo < this.data.totalPage) {
this.data.pageNo++;
this.getWxchangeRecords();
}
else {
if (this.data.recordList.length != 0){
if (this.data.recordList.length != 0) {
this.setData({
hasMore : false,
hasMore: false,
})
}
}
......
......@@ -10,9 +10,16 @@
<view class="list-point">-{{item.point}}积分</view>
</view>
<view class="desc-address">
{{item.fullAddress}}
<text style='margin-left:20rpx;margin-right:10rpx;'>{{item.exchangeInfo.name}}</text>
<text>{{item.exchangeInfo.mobile}}</text>
姓名:<text>{{item.exchangeInfo.name}}</text>
</view>
<view class="desc-address">
联系电话:<text>{{item.exchangeInfo.mobile}}</text>
</view>
<view class="desc-address">
地区:<text>{{item.exchangeInfo.distinct}}</text>
</view>
<view class="desc-address">
具体地址:{{item.address}}
</view>
</view>
</block>
......
/* subPackage/page/pages/recordList/recordList.wxss */
@import "/base/base.wxss";
page{
background: #ffffff;
}
.record-list {
/* border-top: 1px solid rgba(151, 151, 151, 1); */
......@@ -9,7 +12,7 @@
.list-item {
height: auto;
border-bottom: 1px solid #eeeeee;
padding: 30rpx 20rpx;
padding: 20rpx;
box-sizing: border-box;
overflow: hidden;
}
......@@ -43,7 +46,8 @@
.desc-time,
.desc-address {
color: rgba(170, 170, 170, 1);
font-size: 24rpx;
font-size: 22rpx;
margin-bottom: 6rpx;
}
.desc-address {
width: 100%;
......@@ -63,3 +67,12 @@
align-items: center;
justify-content: flex-end;
}
.empty{
padding: 30rpx;
padding-top: 80rpx;
display: flex;
align-items: center;
justify-content: center;
color: #999999;
}
\ No newline at end of file
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