[本时生活小程序-线上备份]

This commit is contained in:
张慢慢
2021-05-21 15:02:18 +08:00
commit f0302de899
206 changed files with 12884 additions and 0 deletions

View File

@@ -0,0 +1,146 @@
// pages/activityOrder/activityOrder.js
Page({
/**
* 页面的初始数据
*/
data: {
stateType : '', //状态
counts : '', //数量
orderArr : [], //列表
page : {}, //下一页
lodingStats : false //加载状态
},
/**
* 生命周期函数--监听页面加载
*/
onLoad (options) {
// 获取商品活动订单
this.orderInfo();
},
/**
* 商品活动订单
*/
orderInfo(page) {
wx.$api.index.activityOrder(this.data.stateType, page).then(res=>{
let listArr = this.data.orderArr,
newData = []
if(page == 1 || page == undefined) listArr = []
newData = listArr.concat(res.data.data)
this.setData({
counts : res.data.count,
orderArr : newData,
page : res.data.page,
lodingStats : false
})
wx.stopPullDownRefresh()
})
},
/**
* tabs
*/
orderTab(e){
if(this.data.stateType != e.currentTarget.dataset.state){
this.setData({
stateType: e.currentTarget.dataset.state
})
// 获取商品活动订单
this.orderInfo()
wx.pageScrollTo({
scrollTop: 0
})
}
},
/**
* 取消订单
*/
orderDelete(e) {
let orderId = e.currentTarget.dataset.id
wx.showModal({
title : '订单取消',
content : '确认取消吗?',
success : res=> {
if (res.confirm) {
wx.$api.index.cance(orderId).then(res=>{
// 获取商品活动订单
this.orderInfo()
wx.showToast({
title: res.data,
icon : 'none'
})
})
} else if (res.cancel) {
wx.showToast({
title : '取消',
icon : 'loading',
duration: 1000
})
}
}
})
},
/**
* 订单支付
*/
orderPay(e) {
let orderId = e.currentTarget.dataset.id
wx.login({
success: res=> {
wx.$api.index.repay(orderId).then(res=>{
let payInfo = JSON.parse(res.data.json)
wx.requestPayment({
timeStamp: payInfo.timeStamp,
nonceStr : payInfo.nonceStr,
package : payInfo.package,
paySign : payInfo.paySign,
signType : payInfo.signType,
success : res=>{
if(res.errMsg == "requestPayment:ok"){
wx.showToast({
title: '支付成功',
icon : 'success'
})
setTimeout(()=>{
wx.redirectTo({
url: '/pages/activityOrder/activityOrder',
})
},2000)
}
},
fail : res=>{
wx.redirectTo({
url: '/pages/activityOrder/activityOrder',
})
}
})
})
}
})
},
/**
* 上拉加载
*/
onReachBottom(){
this.setData({
lodingStats: true
})
let pageNumber = this.data.page.current
if(this.data.page.has_more){
pageNumber++
this.orderInfo(pageNumber)
}
}
})

View File

@@ -0,0 +1,5 @@
{
"usingComponents": {},
"navigationBarTitleText": "我的订单",
"enablePullDownRefresh": true
}

View File

@@ -0,0 +1,66 @@
<!-- 活动订单 -->
<view class="order-tab">
<view class="order-tab-item {{stateType == '' ? 'active':''}}" data-state="" bindtap="orderTab">
全部
</view>
<view class="order-tab-item {{stateType == '0' ? 'active':''}}" data-state="0" bindtap="orderTab">
未支付
<view class="state-tips" wx:if="{{counts.init != 0}}">{{counts.init}}</view>
</view>
<view class="order-tab-item {{stateType == '1' ? 'active':''}}" data-state="1" bindtap="orderTab">
已支付
<view class="state-tips" wx:if="{{counts.paid != 0}}">{{counts.paid}}</view>
</view>
<view class="order-tab-item {{stateType == '2' ? 'active':''}}" data-state="2" bindtap="orderTab">
已发货
<view class="state-tips" wx:if="{{counts.send != 0}}">{{counts.send}}</view>
</view>
</view>
<!-- 列表 -->
<view class="order-content" wx:if="{{orderArr != ''}}">
<view class="order-content-li" wx:for="{{orderArr}}" wx:key="orderArr">
<view class="order-name">
<image src="/static/icon/activity_icon.png"></image>
{{item.activity_name}}
</view>
<view class="uni-border-down order-store">
<view class="order-store-title nowrap">{{item.order_id}}</view>
<view class="order-store-stateText red" wx:if="{{item.status_text == '未支付'}}">{{item.status_text}}</view>
<view class="order-store-stateText green" wx:elif="{{item.status_text == '已支付'}}">{{item.status_text}}</view>
<view class="order-store-stateText" wx:else>{{item.status_text}}</view>
</view>
<view class="order-goods">
<image class="order-goods-cover" src="{{item.small_cover}}" mode="aspectFill"></image>
<view class="order-goods-content">
<view class="order-goods-content-name nowrap">{{item.title}}</view>
<view class="order-goods-content-price nowrap">
<text>¥{{item.price}}</text> × {{item.number}}
</view>
<view class="order-goods-tips">
<text class="order-goods-tips-color" wx:if="{{item.have_gift == 1}}">礼盒</text>
<text wx:if="{{item.have_coupon == 1}}">购物券</text>
</view>
</view>
</view>
<view class="uni-border-top order-btns">
<navigator class="order-btn" url="/pages/activityData/activityData?id={{item.id}}">订单详情</navigator>
<view class="order-btn" bindtap="orderDelete" data-id="{{item.id}}" wx:if="{{item.iscancel == true}}">取消订单</view>
<view class="order-btn order-btn-back" bindtap="orderPay" data-id="{{item.id}}" wx:if="{{item.ispay == true}}">立即支付</view>
</view>
</view>
<view class="pagesLoding" wx:if="{{lodingStats}}">
<block wx:if="{{page.has_more}}">
<image class="pagesLoding-icon" src="/static/icon/refresh_loding.gif" mode="widthFix"></image>加载中...
</block>
<block wx:else>
没有更多了~
</block>
</view>
</view>
<view class="pack-center pages-hint" wx:else>
<image src="https://storage.funnyzhibo.com/images/2020/05/06/null_icon.png"></image>
<view>暂无订单</view>
</view>

View File

@@ -0,0 +1,228 @@
/*
* 亿时代
*/
.order-tab {
position: fixed;
left: 0;
top: 0;
width: 100%;
display: flex;
height: 80rpx;
line-height: 80rpx;
z-index: 9;
background: white;
}
.order-tab-item {
font-size: 28rpx;
width: 25%;
text-align: center;
border-bottom: solid 2rpx #f7f7f7;
color: #464854;
background: white;
position: relative;
}
.order-tab-item.active {
color: #f57e32;
}
.order-tab-item::after {
content: '';
position: absolute;
width: 30rpx;
height: 4rpx;
background: transparent;
left: calc(50% - 15rpx);
bottom: -2rpx;
}
.order-tab-item.active::after {
background: #f57e32;
}
.state-tips {
position: absolute;
top: 10rpx;
right: 14rpx;
background: #e92706;
color: #fff;
font-size: 24rpx;
transform: scale(.7, .7);
border-radius: 60rpx 60rpx 60rpx 0;
width: 48rpx;
height: 34rpx;
line-height: 34rpx;
}
/* 订单列表 */
.order-content {
padding: 80rpx 0 20rpx 0;
}
.order-content-li {
background: white;
margin-top: 20rpx;
position: relative;
}
.order-name {
background: #fff;
padding: 20rpx;
box-sizing: border-box;
border-bottom: solid 1rpx #f3f3f3;
display: flex;
}
.order-name image {
background: linear-gradient(#000, #000);
background-blend-mode: lighten;
background-size: cover;
width: 26rpx;
height: 26rpx;
border-radius: 50%;
margin: 8rpx 14rpx 0 0;
}
.order-store {
padding: 20rpx;
border-bottom: solid 1rpx #f3f3f3;
display: flex;
}
.order-goods-tips {
display: flex;
}
.order-goods-tips text {
display: inline-block;
background: #e92706;
color: #fff;
border-radius: 20rpx;
padding: 0 20rpx;
height: 42rpx;
line-height: 42rpx;
font-size: 24rpx;
transform: scale(.8, .8);
}
text.order-goods-tips-color {
background: #e6b329;
}
.order-store-stateText {
color: #e6b329;
font-size: 26rpx;
}
.order-store-stateText.red {
color: #e92344;
}
.order-store-stateText.green {
color: #79b300;
}
.order-store-title {
flex: 1;
color: #999;
font-size: 28rpx;
}
.order-store-orderid {
color: #747788;
font-size: 25rpx;
}
.order-store-title text {
color: white;
font-size: 24rpx;
background: #e92344;
margin-right: 10rpx;
padding: 0 10rpx;
}
.order-goods {
padding: 20rpx;
box-sizing: border-box;
position: relative;
}
.order-goods-cover {
width: 150rpx;
height: 150rpx;
vertical-align: top;
border-radius: 4rpx;
}
.order-goods-content {
position: absolute;
left: 190rpx;
top: 20rpx;
right: 20rpx;
width: calc(100% - 210rpx);
}
.order-goods-content-name {
margin-bottom: 15rpx;
font-size: 28rpx;
font-weight: 600;
}
.order-goods-content-price {
color: #747788;
display: flex;
margin-bottom: 14rpx;
font-size: 28rpx;
}
.order-goods-content-price text {
color: #f57e32;
display: inline-block;
margin-right: 10rpx;
font-size: 30rpx;
}
.order-total {
padding: 20rpx;
box-sizing: border-box;
font-size: 26rpx;
line-height: 50rpx;
color: #747788;
display: flex;
}
.order-total view {
margin-right: 30rpx;
}
.order-total text {
color: #e92344;
font-weight: bold;
}
.order-btns {
font-size: 25rpx;
display: flex;
padding: 20rpx;
box-sizing: border-box;
flex-wrap: wrap;
flex-direction: row-reverse;
}
.order-btn {
margin-left: 20rpx;
height: 52rpx;
line-height: 50rpx;
box-sizing: border-box;
border: solid 1rpx #747788;
padding: 0 20rpx;
border-radius: 30rpx;
}
.order-btn-back {
border-color: #f57e32;
color: #f57e32;
}