@@ -1,6 +1,7 @@ | |||||
{ | { | ||||
"pages": [ | "pages": [ | ||||
"pages/index/index", | "pages/index/index", | ||||
"pages/integralmall/payIntegcoupondetail/index", | |||||
"pages/joinFrDpell/index", | "pages/joinFrDpell/index", | ||||
"pages/spellDetail/index", | "pages/spellDetail/index", | ||||
"pages/spellTimeout/index", | "pages/spellTimeout/index", | ||||
@@ -54,7 +55,9 @@ | |||||
"pages/ConsumeDetail/ConsumeDetail", | "pages/ConsumeDetail/ConsumeDetail", | ||||
"pages/externallinks/index", | "pages/externallinks/index", | ||||
"pages/czdetail/czdetail", | "pages/czdetail/czdetail", | ||||
"pages/spellGroup/paySpellGroup/index" | |||||
"pages/spellGroup/paySpellGroup/index", | |||||
"pages/integralmall/index", | |||||
"pages/integralmall/integcoupondetail/index" | |||||
], | ], | ||||
"navigateToMiniProgramAppIdList": [ | "navigateToMiniProgramAppIdList": [ | ||||
"wx192b7d2e8dcbefd0", | "wx192b7d2e8dcbefd0", | ||||
@@ -0,0 +1,180 @@ | |||||
var config = require("../../config/config.js"); | |||||
const Http = require("../../utils/HttpBasics"); | |||||
const imgurl = require("../../utils/imgurl"); | |||||
const { spellStatus, spellStatus02 } = require("../../utils/spell"); | |||||
Page({ | |||||
/** | |||||
* 页面的初始数据 | |||||
*/ | |||||
data: { | |||||
bannerUrl: imgurl.banner.url, | |||||
loadingUrl: imgurl.loading.url, | |||||
nodata: imgurl.nodata.url, | |||||
list: [], | |||||
lists: [], | |||||
myLists: [], | |||||
page: 1, // 设置加载的第几次,默认是第一次 | |||||
pageSize: 10, //返回数据的个数 | |||||
searchLoadingComplete: false, //“没有数据”的变量,默认false,隐藏 | |||||
allow_load: true, // 是否允许继续加载标识 默认 true 允许,false 加载完成 | |||||
myorder: false, | |||||
actUrl: imgurl.act.url, | |||||
loading: true, | |||||
content: '数据正在加载中', | |||||
reloadIf: false | |||||
}, | |||||
onLoad: function (options) { | |||||
let that = this; | |||||
that.getBannerlist(); | |||||
var todayDate = new Date().getTime(); | |||||
that.setData({ | |||||
optionsData: options, | |||||
todayDate: todayDate | |||||
}) | |||||
if (options && options.from == 'myhtml') { | |||||
that.getmyList(); | |||||
} | |||||
else { | |||||
that.getList(1); | |||||
that.setData({ | |||||
lists: null | |||||
}) | |||||
} | |||||
}, | |||||
onShow() { | |||||
let that = this; | |||||
if (this.data.reloadIf) { | |||||
wx.setNavigationBarTitle({ | |||||
title: '积分商城' | |||||
}) | |||||
that.getList(1); | |||||
that.setData({ | |||||
lists: null | |||||
}) | |||||
} | |||||
}, | |||||
/** | |||||
* banner | |||||
*/ | |||||
getBannerlist: function () { | |||||
let that = this; | |||||
Http.get({ | |||||
url: config.api.bannerlist, | |||||
data: { | |||||
pageNum: 1, | |||||
pageSize: 7 | |||||
} | |||||
}).then(res => { | |||||
that.setData({ | |||||
list: res.data.list | |||||
}); | |||||
}); | |||||
}, | |||||
getList(pageNum) { | |||||
var that = this; | |||||
console.log(pageNum) | |||||
if (that.data.allow_load) { | |||||
that.setData({ | |||||
loading: true, | |||||
content: '小主,我在玩命加载中...' | |||||
}) | |||||
var param = {}; | |||||
var param = { | |||||
pageNum: pageNum, | |||||
pageSize: 10, | |||||
targetAd: 5 | |||||
}; | |||||
var url = config.api.couponChannelList; | |||||
// 请求接口 | |||||
Http.get({ | |||||
url: url, | |||||
data: param | |||||
}).then(res => { | |||||
console.log(res) | |||||
/** | |||||
* 加载完成 | |||||
*/ | |||||
if (pageNum >= res.data.pages) { | |||||
if (res.data.pages == 0 || res.data.pages == 1) { | |||||
that.setData({ | |||||
allow_load: true, | |||||
loading: false, | |||||
content: "" | |||||
}); | |||||
} else { | |||||
that.setData({ | |||||
allow_load: false, | |||||
loading: true, | |||||
content: "——— 再拉裤子就掉了啦 ———", | |||||
}); | |||||
} | |||||
} | |||||
if (pageNum == 1) { | |||||
that.setData({ | |||||
lists: [], | |||||
}) | |||||
} | |||||
var tmpArr = that.data.lists; | |||||
tmpArr.push.apply(tmpArr, res.data.list); | |||||
that.setData({ | |||||
lists: tmpArr | |||||
}) | |||||
wx.stopPullDownRefresh(); | |||||
}) | |||||
.catch(err => { | |||||
wx.stopPullDownRefresh(); | |||||
wx.showToast({ | |||||
title: err.message, | |||||
icon: 'none', | |||||
duration: 2000, | |||||
mask: false | |||||
}); | |||||
}) | |||||
setTimeout(function () { | |||||
that.setData({ | |||||
loading: false, | |||||
}) | |||||
}, 1400); | |||||
} else { | |||||
that.setData({ | |||||
loading: true, | |||||
content: "——— 再拉裤子就掉了啦 ———" | |||||
}) | |||||
setTimeout(function () { | |||||
that.setData({ | |||||
loading: false, | |||||
}) | |||||
}, 1400) | |||||
} | |||||
}, | |||||
/** | |||||
* | |||||
* @param goto拼团券详情 | |||||
*/ | |||||
invite: function (e) { | |||||
let couponChannelId = e.currentTarget.dataset.id; | |||||
let couponId = e.currentTarget.dataset.couponid; | |||||
if (couponChannelId && couponId) { | |||||
wx.navigateTo({ | |||||
url: `/pages/integralmall/integcoupondetail/index?couponChannelId=${couponChannelId}&couponId=${couponId}` | |||||
}) | |||||
} | |||||
}, | |||||
//加载更多 | |||||
onReachBottom: function () { | |||||
let that = this; | |||||
that.data.page++; | |||||
that.setData({ | |||||
page: that.data.page | |||||
}); | |||||
that.getList(that.data.page, that.data.flag); | |||||
}, | |||||
/** | |||||
* 刷新 | |||||
*/ | |||||
onPullDownRefresh: function (e) { | |||||
let that = this; | |||||
that.getBannerlist(); | |||||
that.getList(1); | |||||
} | |||||
}) |
@@ -0,0 +1,10 @@ | |||||
{ | |||||
"navigationBarTitleText": "积分商城", | |||||
"enablePullDownRefresh": true, | |||||
"navigationBarBackgroundColor": "#F13C42", | |||||
"usingComponents": { | |||||
"c-banner": "../../components/spellbanner/index", | |||||
"i-tab": "../../../dist/tab/index", | |||||
"i-tabs": "../../../dist/tabs/index" | |||||
} | |||||
} |
@@ -0,0 +1,36 @@ | |||||
<view class='content-box' style='{{"padding-bottom:"+(lists.length>0?"200rpx":"0")}}'> | |||||
<view class='top' wx:if='{{list.length>0}}'> | |||||
<view class="banner" wx:if="{{list.length>0}}" hover-class="none" hover-stop-propagation="false"> | |||||
<c-banner wx:key="unique" list="{{list}}" /> | |||||
</view> | |||||
</view> | |||||
<view class='no-data01' style='{{"margin-top:"+(list.length>0?"320rpx":"20rpx")+";"+"height:"+(list.length>0?"calc(100vh - 460rpx)":"calc(100vh - 160rpx)")}}' wx:if='{{lists.length==0}}'> | |||||
<image src='{{nodata}}'></image> | |||||
<view class='no-data-text'>暂无数据</view> | |||||
</view> | |||||
<view class='content' style='{{"margin-top:"+(list.length>0?"320rpx":"20rpx")}}'> | |||||
<view class='sepll-list' wx:for="{{lists}}" wx:key="{{index}}" data-couponId='{{item.couponId}}' data-id='{{item.id}}' bindtap='invite'> | |||||
<view class='spell-left'> | |||||
<image src='{{item.coverImg}}' mode="aspectFill"></image> | |||||
</view> | |||||
<view class='spell-center'> | |||||
<view class='tilte'>{{item.title}}</view> | |||||
<view class='remark'>{{item.subTitle}}</view> | |||||
<view class='price'> | |||||
<view class='price01'> | |||||
<view class='price-num'>{{item.salePriceStr}}</view> | |||||
<view class='price-unit'>积分</view> | |||||
</view> | |||||
</view> | |||||
<view class='price02'>{{'原价:'+item.priceStr+'元'}}</view> | |||||
</view> | |||||
<view class='spell-right'> | |||||
<view class='right-button'>立即换购</view> | |||||
<view class='right-text'>剩余{{item.remainInventory}}</view> | |||||
</view> | |||||
</view> | |||||
</view> | |||||
<view class="loading" wx:if="{{loading}}"> | |||||
{{content}} | |||||
</view> | |||||
</view> |
@@ -0,0 +1,291 @@ | |||||
/* pages/spellGroup/spellGroup.wxss */ | |||||
page { | |||||
height: auto; | |||||
overflow: auto; | |||||
background: #f89132; | |||||
background-image: url('https://s3.cn-northwest-1.amazonaws.com.cn/iformall-net/cimg/spell-bg.png'); | |||||
background-size: cover; | |||||
background-repeat: no-repeat; | |||||
} | |||||
.content-box{ | |||||
height: auto; | |||||
padding-bottom: 200rpx; | |||||
} | |||||
.loading { | |||||
text-align: center; | |||||
height: 80rpx; | |||||
line-height: 80rpx; | |||||
font-size: 26rpx; | |||||
color: #fff; | |||||
} | |||||
.loading image { | |||||
width: 60rpx; | |||||
height: 60rpx; | |||||
vertical-align: middle; | |||||
margin-right: 10rpx; | |||||
} | |||||
.banner{ | |||||
margin-bottom: 20rpx; | |||||
background: none; | |||||
border-radius: 16rpx; | |||||
} | |||||
.banner .bg { | |||||
display: block; | |||||
width: 100%; | |||||
} | |||||
image{ | |||||
padding: 0; | |||||
margin: 0; | |||||
} | |||||
.banner .bannerbg image{ | |||||
display: none!important; | |||||
height: 0; | |||||
overflow: hidden; | |||||
} | |||||
.bannerimg { | |||||
display: block; | |||||
width: 710rpx; | |||||
height: 260rpx; | |||||
border-radius: 15rpx; | |||||
margin: -132rpx auto 0; | |||||
} | |||||
.banner .index-slide-view { | |||||
margin: -132rpx auto 0; | |||||
} | |||||
.top{ | |||||
position: absolute; | |||||
top: 30rpx; | |||||
width: 710rpx; | |||||
height: 260rpx; | |||||
background: #fff; | |||||
left: 20rpx; | |||||
border-radius: 16rpx; | |||||
overflow: hidden; | |||||
} | |||||
.content .sepll-list{ | |||||
width: 690rpx; | |||||
height: 230rpx; | |||||
background: #fff; | |||||
border-radius: 30rpx; | |||||
margin: 30rpx auto 0; | |||||
} | |||||
.content .spell-left{ | |||||
width: 230rpx; | |||||
height: 230rpx; | |||||
float: left; | |||||
} | |||||
.content .spell-left image{ | |||||
width: 180rpx; | |||||
height: 180rpx; | |||||
margin: 25rpx; | |||||
} | |||||
.content .spell-center{ | |||||
float: left; | |||||
width: 304rpx; | |||||
height: 100%; | |||||
} | |||||
.content .tilte{ | |||||
font-size:30rpx; | |||||
font-family:PingFang-SC-Bold; | |||||
font-weight:bold; | |||||
color:rgba(51,51,51,1); | |||||
line-height:44rpx; | |||||
padding-top: 16rpx; | |||||
overflow: hidden; | |||||
text-overflow:ellipsis; | |||||
white-space: nowrap; | |||||
} | |||||
.content .remark{ | |||||
width:304rpx; | |||||
font-size:24rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(140,140,140,1); | |||||
line-height:44rpx; | |||||
overflow: hidden; | |||||
text-overflow:ellipsis; | |||||
white-space: nowrap; | |||||
} | |||||
.content .spell-num{ | |||||
width: 95rpx; | |||||
border:1px solid rgba(255,50,50,1); | |||||
border-radius:10rpx; | |||||
font-size:24rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(255,50,50,1); | |||||
line-height:30rpx; | |||||
margin: 10rpx 0; | |||||
text-align: center; | |||||
} | |||||
.content .price{ | |||||
overflow: hidden; | |||||
margin-top: 10rpx; | |||||
} | |||||
.content .price01{ | |||||
font-size:50rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(255,50,50,1); | |||||
line-height:44rpx; | |||||
} | |||||
.content .price02{ | |||||
font-size: 24rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
text-decoration:line-through; | |||||
color:rgba(140,140,140,1); | |||||
} | |||||
.content .price-num{ | |||||
display: inline; | |||||
} | |||||
.content .price-unit{ | |||||
display: inline; | |||||
font-size:24rpx; | |||||
margin-right: 10rpx; | |||||
} | |||||
.content .spell-right{ | |||||
float: left; | |||||
width: 156rpx; | |||||
} | |||||
.right-button{ | |||||
width:120rpx; | |||||
height:48rpx; | |||||
font-size:26rpx; | |||||
background:linear-gradient(90deg,rgba(236,59,45,1) 0%,rgba(248,98,52,1) 100%); | |||||
border-radius:24rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
text-align: center; | |||||
color:rgba(255,255,255,1); | |||||
line-height:44rpx; | |||||
margin: 110rpx auto 0; | |||||
margin-top: 110rpx; | |||||
} | |||||
.right-text{ | |||||
font-size:22rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(140,140,140,1); | |||||
line-height:60rpx; | |||||
text-align: center; | |||||
} | |||||
.bottom{ | |||||
width: 690rpx; | |||||
height: 85rpx; | |||||
position: fixed; | |||||
bottom: 26rpx; | |||||
left: 30rpx; | |||||
/* background:rgba(243,69,58,1); */ | |||||
border:1px solid rgba(255, 222, 67, 1); | |||||
border-radius:40px; | |||||
color: #fff; | |||||
overflow: hidden; | |||||
} | |||||
.bottom-left{ | |||||
width: 50%; | |||||
float: left; | |||||
margin-left: -1rpx; | |||||
text-align: center; | |||||
line-height: 85rpx; | |||||
font-size:30rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(255,253,245,1); | |||||
border-right:1px solid rgba(255, 222, 67, 1); | |||||
opacity: 1; | |||||
} | |||||
.bottom-right{ | |||||
width: 50%; | |||||
float: left; | |||||
text-align: center; | |||||
line-height: 85rpx; | |||||
font-size:30rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(255,253,245,1); | |||||
opacity: 1; | |||||
} | |||||
.spell-bottom{ | |||||
overflow: hidden; | |||||
} | |||||
.spell-top{ | |||||
height: auto; | |||||
margin: 0 30rpx; | |||||
overflow: hidden; | |||||
box-sizing: border-box; | |||||
border-bottom: 1rpx solid #EEEEEE; | |||||
} | |||||
.spell-top-left{ | |||||
float: left; | |||||
width: 60%; | |||||
} | |||||
.spell-top-right{ | |||||
float: left; | |||||
width: 40%; | |||||
} | |||||
.top-title{ | |||||
display: inline; | |||||
font-size:24rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(51,51,51,1); | |||||
line-height:64rpx; | |||||
} | |||||
.top-num{ | |||||
display: inline; | |||||
font-size:24rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:#FF3232; | |||||
line-height:64rpx; | |||||
padding-left: 8rpx; | |||||
} | |||||
.spell-top-right{ | |||||
text-align: right; | |||||
font-size:26rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(255,50,50,1); | |||||
line-height:64rpx; | |||||
} | |||||
.no-data01{ | |||||
width: 690rpx; | |||||
padding-top: 174rpx; | |||||
height: calc(100vh - 460rpx); | |||||
background: #fff; | |||||
margin: 0 auto; | |||||
border-radius:15rpx; | |||||
box-sizing: border-box; | |||||
margin-top: 320rpx; | |||||
} | |||||
.no-data{ | |||||
width: 690rpx; | |||||
padding-top: 174rpx; | |||||
height: calc(100vh - 160rpx); | |||||
background: #fff; | |||||
margin: 0 auto; | |||||
border-radius:15rpx; | |||||
box-sizing: border-box; | |||||
margin-top:20rpx; | |||||
} | |||||
.no-data01 image{ | |||||
width: 261rpx; | |||||
height: 272rpx; | |||||
display: block; | |||||
margin: 0 auto; | |||||
} | |||||
.no-data image{ | |||||
width: 261rpx; | |||||
height: 272rpx; | |||||
display: block; | |||||
margin: 0 auto; | |||||
} | |||||
.no-data-text{ | |||||
text-align: center; | |||||
font-size:34rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(0,0,0,1); | |||||
} |
@@ -0,0 +1,163 @@ | |||||
// pages/spellGroup/mySpellGroup/index.js | |||||
var config = require("../../../config/config.js"); | |||||
const Http = require("../../../utils/HttpBasics"); | |||||
const imgurl = require("../../../utils/imgurl"); | |||||
const utils = require("../../../utils/util.js") | |||||
Page({ | |||||
/** | |||||
* 页面的初始数据 | |||||
*/ | |||||
data: { | |||||
teljpgUrl: imgurl.teljpg.url, | |||||
wmhome: imgurl.wmhome.url, | |||||
couponChannelId: '', | |||||
couponId: '', | |||||
data: null, | |||||
spellData: null, | |||||
canSpell: true, | |||||
canBuyIf: true, | |||||
clock: "00", | |||||
day: "00", | |||||
hour: "00", | |||||
min: "00", | |||||
sec: "00", | |||||
showTime: true | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面加载 | |||||
*/ | |||||
onLoad: function (options) { | |||||
this.setData({ | |||||
couponChannelId: options.couponChannelId, | |||||
couponId: options.couponId | |||||
}) | |||||
if (options && options.couponChannelId) { | |||||
this.getDetail(options.couponChannelId); | |||||
} | |||||
}, | |||||
gotoIndex: function () { | |||||
wx.switchTab({ | |||||
url: '/pages/main/index', | |||||
}) | |||||
}, | |||||
/** | |||||
* 拨打电话 | |||||
*/ | |||||
phone: function (e) { | |||||
let that = this; | |||||
wx.makePhoneCall({ | |||||
phoneNumber: e.target.dataset.merchantlinkphone | |||||
}); | |||||
}, | |||||
/** | |||||
* 直接购买 | |||||
*/ | |||||
gotoBuy(e) { | |||||
console.log(22222) | |||||
this.setData({ | |||||
canBuyIf: false, | |||||
formId: e.detail.formId | |||||
}) | |||||
wx.navigateTo({ | |||||
url: '/pages/integralmall/payIntegcoupondetail/index?couponChannelId=' + this.data.couponChannelId, | |||||
}) | |||||
}, | |||||
// 时间格式化输出,如11:03 25:19 每1s都会调用一次 | |||||
dateformat(micro_second) { | |||||
// 总秒数 | |||||
var second = Math.floor(micro_second / 1000); | |||||
// 天数 | |||||
var day = Math.floor(second / 3600 / 24) < 10 ? "0" + Math.floor(second / 3600 / 24) : Math.floor(second / 3600 / 24); | |||||
// 小时 | |||||
var hr = Math.floor(second / 3600 % 24) < 10 ? "0" + Math.floor(second / 3600 % 24) : Math.floor(second / 3600 % 24); | |||||
// 分钟 | |||||
var min = Math.floor(second / 60 % 60) < 10 ? "0" + Math.floor(second / 60 % 60) : Math.floor(second / 60 % 60); | |||||
// 秒 | |||||
var sec = Math.floor(second % 60) < 10 ? "0" + Math.floor(second % 60) : Math.floor(second % 60); | |||||
// return day + "天" + hr + "小时" + min + "分钟" + sec + "秒"; | |||||
return { | |||||
a1: day, | |||||
b1: hr, | |||||
c1: min, | |||||
d1: sec | |||||
} | |||||
}, | |||||
/** | |||||
* 获取券详情信息 | |||||
*/ | |||||
getDetail(couponChannelId) { | |||||
let that = this; | |||||
Http.get({ | |||||
url: config.api.couponDetail, | |||||
data: { | |||||
couponChannelId: couponChannelId | |||||
} | |||||
}).then(res => { | |||||
wx.stopPullDownRefresh(); | |||||
let data = res.data; | |||||
data.price = (data.price / 100).toFixed(2) | |||||
data.salePrice = (data.salePrice / 100).toFixed(2); | |||||
data.validStartDate = utils.formatTime(data.validStartDate, 'yyyy-MM-dd') | |||||
data.validEndDate = utils.formatTime(data.validEndDate, 'yyyy-MM-dd') | |||||
that.setData({ | |||||
data | |||||
}); | |||||
}); | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面初次渲染完成 | |||||
*/ | |||||
onReady: function () { | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面显示 | |||||
*/ | |||||
onShow: function () { | |||||
this.setData({ | |||||
canSpell: true, | |||||
canBuyIf: true, | |||||
showTime: true | |||||
}) | |||||
if (this.data.spellData != null) { | |||||
this.countdown() | |||||
} | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面隐藏 | |||||
*/ | |||||
onHide: function () { | |||||
this.setData({ | |||||
showTime: false | |||||
}) | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面卸载 | |||||
*/ | |||||
onUnload: function () { | |||||
this.setData({ | |||||
showTime: false | |||||
}) | |||||
}, | |||||
/** | |||||
* 页面相关事件处理函数--监听用户下拉动作 | |||||
*/ | |||||
onPullDownRefresh: function (e) { | |||||
let that = this; | |||||
that.getDetail(that.data.couponChannelId); | |||||
}, | |||||
/** | |||||
* 页面上拉触底事件的处理函数 | |||||
*/ | |||||
onReachBottom: function () { | |||||
} | |||||
}) |
@@ -0,0 +1,5 @@ | |||||
{ | |||||
"navigationBarTitleText": "积分券详情", | |||||
"enablePullDownRefresh": true, | |||||
"usingComponents": {} | |||||
} |
@@ -0,0 +1,62 @@ | |||||
<view class="content-box"> | |||||
<view class='content'> | |||||
<view class='top-img'> | |||||
<image src='{{data.coverImg}}'></image> | |||||
</view> | |||||
<view class='title'>{{data.title}}</view> | |||||
<view class='text'> | |||||
<view class='remark'>{{data.subTitle}}</view> | |||||
<view class='des'> | |||||
<view class='des-peoplenum'>售价</view> | |||||
<view class='des-saleprice'>{{data.salePriceStr}}积分</view> | |||||
</view> | |||||
<view class='rest' wx:if="{{data.validType==1}}">有效期: | |||||
<text class='time'>{{data.validStartDate}}至{{data.validEndDate}}<text class="use">(请在有效期内使用)</text></text> | |||||
</view> | |||||
<view class='rest'> | |||||
<text class='txt01'>价值:</text> | |||||
<text class='time'>{{data.priceStr}}元</text> | |||||
</view> | |||||
<view class='status' wx:if="{{spellData!=null}}"> | |||||
<view class='status01 st'> | |||||
<image src='{{spellData.avatarUrl}}'></image> | |||||
</view> | |||||
<view class='status02 st'>{{spellData.nickName}}的团还差<view class='r-p-num'>1人</view></view> | |||||
<view class='status03 st'> | |||||
<view class='mm'>{{day}}</view><text class='day-box' style='font-size:32rpx;'> 天 </text> | |||||
<view class='hh'>{{hour}}</view><text class='mao'>:</text> | |||||
<view class='mm'>{{min}}</view><text class='mao'>:</text> | |||||
<view class='ss'>{{sec}}</view> | |||||
</view> | |||||
<view class='status04 st'> | |||||
<view class='s-button' bindtap='gotoPartner'>去拼团</view> | |||||
</view> | |||||
</view> | |||||
<view class='p-des'> | |||||
<view class='p-title'>购买须知</view> | |||||
<view class='p-list'>{{data.remark}}</view> | |||||
</view> | |||||
<view class='posi'> | |||||
<view class='applyshop'>适用门店</view> | |||||
<view class='posi_logo' wx:for="{{data.merchantVoList}}" wx:key="index"> | |||||
<view> | |||||
<image src='{{item.merchantImgUrl}}'></image> | |||||
</view> | |||||
<view> | |||||
<text>{{item.merchantName}}</text> | |||||
<text>{{item.addr}}{{item.buildingName}}{{item.floorName}}</text> | |||||
</view> | |||||
<image bindtap='phone' data-merchantLinkPhone='{{item.merchantLinkPhone}}' class="tel" src="{{teljpgUrl}}" mode="widthFix" /> | |||||
</view> | |||||
</view> | |||||
<form bindsubmit="submit" report-submit='true' > | |||||
<view class='edit'> | |||||
<button class='goback' bindtap='gotoIndex'><image src='{{wmhome}}' mode="widthFix"></image></button> | |||||
<button class='edit-left' form-type="submit" wx:if='{{data.id}}' bindtap='gotoBuy'> | |||||
<view class='edit-left-bottom'>马上兑换</view> | |||||
</button> | |||||
</view> | |||||
</form> | |||||
</view> | |||||
</view> | |||||
</view> |
@@ -0,0 +1,396 @@ | |||||
/* pages/spellGroup/mySpellGroup/index.wxss */ | |||||
.top-img{ | |||||
width: 100%; | |||||
height: 533rpx; | |||||
z-index: 1; | |||||
} | |||||
.top-img image{ | |||||
width: 100%; | |||||
height: 533rpx; | |||||
} | |||||
.goback { | |||||
float:left; | |||||
width:122rpx!important; | |||||
height:95rpx; | |||||
background:rgba(255,255,255,1); | |||||
line-height:95rpx; | |||||
border:1rpx solid rgba(227,227,227,1); | |||||
/* box-shadow:0px 8px 8px 1px rgba(189,189,189,0.32); */ | |||||
border-radius:48rpx; | |||||
margin-right:25rpx; | |||||
} | |||||
.goback image{ | |||||
position:absolute; | |||||
width:60rpx; | |||||
left:0; | |||||
right:0; | |||||
top:0; | |||||
bottom:0; | |||||
margin:auto; | |||||
height: 80rpx; | |||||
} | |||||
.content-box{ | |||||
box-sizing: content-box; | |||||
height: auto; | |||||
overflow: hidden; | |||||
} | |||||
.content{ | |||||
position: relative; | |||||
width: 100%; | |||||
height: auto; | |||||
background: #fff; | |||||
overflow: hidden; | |||||
padding-bottom: 130rpx; | |||||
} | |||||
.text{ | |||||
padding: 0 30rpx; | |||||
} | |||||
.title{ | |||||
position: relative; | |||||
background-color: #fff; | |||||
z-index: 100; | |||||
width: 750rpx; | |||||
padding-top: 30rpx; | |||||
padding-left: 30rpx; | |||||
line-height: 50rpx; | |||||
border-radius:20rpx 20rpx 0px 0px; | |||||
margin-top: -25rpx; | |||||
opacity: 1; | |||||
font-size:32rpx; | |||||
font-weight:bold; | |||||
color:rgba(51,51,51,1); | |||||
box-sizing: border-box; | |||||
} | |||||
.remark{ | |||||
font-size:24rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(134,134,134,1); | |||||
line-height: 48rpx; | |||||
} | |||||
.des{ | |||||
width: 100%; | |||||
height: auto; | |||||
padding-top: 6rpx; | |||||
border-top: 2rpx solid rgb(240, 238, 238); | |||||
} | |||||
.des-peoplenum{ | |||||
display: inline; | |||||
font-size:24rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(0,0,0,1); | |||||
line-height:44rpx; | |||||
margin-right: 5rpx; | |||||
} | |||||
.des-saleprice{ | |||||
display: inline; | |||||
font-size:40rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(255,53,53,1); | |||||
} | |||||
.status{ | |||||
width: 100%; | |||||
border-radius: 15rpx; | |||||
background:rgba(255,235,229,1); | |||||
margin: 30rpx 0; | |||||
overflow: hidden; | |||||
} | |||||
.status01{ | |||||
float: left; | |||||
width: 130rpx; | |||||
height: 130rpx; | |||||
} | |||||
.status01 image{ | |||||
width: 90rpx; | |||||
height: 90rpx; | |||||
border-radius: 45rpx; | |||||
margin: 20rpx 0 0 20rpx; | |||||
} | |||||
.status02{ | |||||
margin-top: 20rpx; | |||||
float: left; | |||||
width: 140rpx; | |||||
font-size:28rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(51,51,51,1); | |||||
} | |||||
.r-p-num{ | |||||
display: inline; | |||||
color: #FF3535; | |||||
} | |||||
.status03{ | |||||
width: 264rpx; | |||||
float: left; | |||||
padding-left: 10rpx; | |||||
color: #F74812; | |||||
box-sizing: border-box; | |||||
} | |||||
.hh,.mm,.ss{ | |||||
display: inline-block; | |||||
font-size:26rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(255,255,255,1); | |||||
height: 38rpx; | |||||
width: 38rpx; | |||||
background: #F74812; | |||||
border-radius:10rpx; | |||||
margin: 46rpx 0 0 0; | |||||
text-align: center; | |||||
line-height: 38rpx; | |||||
} | |||||
.day-box{ | |||||
width: 40rpx; | |||||
text-align: center; | |||||
} | |||||
.mao{ | |||||
display: inline-block; | |||||
width: 20rpx; | |||||
text-align: center; | |||||
} | |||||
.status04{ | |||||
float: left; | |||||
width: 146rpx; | |||||
} | |||||
.s-button{ | |||||
background:#ED3D2E; | |||||
width: 120rpx; | |||||
height: 48rpx; | |||||
font-size:28rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(255,255,255,1); | |||||
text-align: center; | |||||
line-height: 48rpx; | |||||
border-radius: 24rpx; | |||||
margin: 40rpx auto 0; | |||||
} | |||||
.p-title{ | |||||
font-size:30rpx; | |||||
color:rgba(51,51,51,1); | |||||
margin: 10rpx 0 20rpx 0; | |||||
} | |||||
.p-list{ | |||||
font-size:24rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(51,51,51,1); | |||||
line-height:50rpx; | |||||
} | |||||
.edit{ | |||||
position:fixed; | |||||
bottom:0; | |||||
left:0; | |||||
right:0; | |||||
padding:20rpx 22rpx; | |||||
background:#fff; | |||||
} | |||||
.edit-left{ | |||||
float: left; | |||||
width: 562rpx; | |||||
height: 95rpx; | |||||
background:rgba(255,169,2,1); | |||||
box-shadow:0px 8rpx 8rpx 1rpx rgba(255,169,2,0.32); | |||||
border-radius:48rpx; | |||||
} | |||||
.edit-right{ | |||||
float: right; | |||||
width: 269rpx; | |||||
height: 95rpx; | |||||
line-height: 46rpx; | |||||
background:linear-gradient(90deg,rgba(236,59,45,1) 0%,rgba(248,98,52,1) 100%); | |||||
box-shadow:0px 8rpx 8rpx 1rpx rgba(246,93,51,0.32); | |||||
border-radius:48rpx; | |||||
} | |||||
.edit-left-top{ | |||||
height: 46rpx; | |||||
text-align: center; | |||||
line-height:65rpx; | |||||
} | |||||
.price{ | |||||
display: inline; | |||||
font-size:32rpx; | |||||
line-height: 32rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(254,254,254,1); | |||||
margin-top: 6rpx; | |||||
} | |||||
.price-unit{ | |||||
display: inline; | |||||
font-size:27rpx; | |||||
line-height: 27rpx; | |||||
margin-top: 11rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(254,254,254,1); | |||||
} | |||||
.edit-left-bottom{ | |||||
text-align: center; | |||||
font-size:30rpx; | |||||
line-height: 95rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(254,254,254,1); | |||||
} | |||||
.edit-right-top{ | |||||
line-height: 32rpx; | |||||
text-align: center; | |||||
margin-top: 13rpx; | |||||
} | |||||
.real-price{ | |||||
display: inline; | |||||
font-size:32rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(254,254,254,1); | |||||
} | |||||
.real-price-unit{ | |||||
display: inline; | |||||
font-size:27rpx; | |||||
line-height: 27rpx; | |||||
font-weight:500; | |||||
color:rgba(254,254,254,1); | |||||
} | |||||
.edit-right-bottom{ | |||||
text-align: center; | |||||
font-size:30rpx; | |||||
line-height: 40rpx; | |||||
font-weight:500; | |||||
color:rgba(254,254,254,1); | |||||
} | |||||
.posi { | |||||
position: relative; | |||||
} | |||||
.applyshop{ | |||||
font-size:32rpx; | |||||
color:rgba(51,51,51,1); | |||||
margin: 10rpx 0 20rpx 0; | |||||
} | |||||
.posi>view:nth-child(2) { | |||||
width: 100%; | |||||
height: 87rpx; | |||||
display: flex; | |||||
justify-content: space-between; | |||||
line-height: 87rpx; | |||||
} | |||||
.posi>view:nth-child(2) text:nth-child(1) { | |||||
font-size: 30rpx; | |||||
color: #a9a9a9; | |||||
} | |||||
.posi>view:nth-child(2) text:nth-child(2) { | |||||
font-size: 30rpx; | |||||
color: #a9a9a9; | |||||
} | |||||
.posi_logo { | |||||
width: 100%; | |||||
display: flex; | |||||
padding: 20rpx 0; | |||||
background: #fff; | |||||
height: 100rpx; | |||||
margin-bottom: 20rpx; | |||||
} | |||||
.posi_logo view:nth-child(1) { | |||||
width: 100rpx; | |||||
height: 100rpx; | |||||
border-radius: 16rpx; | |||||
} | |||||
.posi_logo view:nth-child(1) image { | |||||
display: block; | |||||
width: 100rpx; | |||||
height: 100rpx; | |||||
border-radius: 16rpx; | |||||
border: 1px solid #e5e5e5; | |||||
} | |||||
.posi_logo view:nth-child(2) { | |||||
display: flex; | |||||
flex-direction: column; | |||||
flex: 8; | |||||
padding-left: 30rpx; | |||||
} | |||||
.posi_logo view:nth-child(2) text:nth-child(1) { | |||||
font-size: 32rpx; | |||||
color: #333; | |||||
letter-spacing: 0; | |||||
} | |||||
.posi_logo view:nth-child(2) text:nth-child(2) { | |||||
font-size: 24rpx; | |||||
color: #b8b8b8; | |||||
padding-top: 3rpx; | |||||
width: 450rpx; | |||||
height: 36rpx; | |||||
overflow: hidden; | |||||
} | |||||
.tel { | |||||
right: 0; | |||||
top: 0; | |||||
bottom: 0; | |||||
margin: auto; | |||||
width: 50rpx; | |||||
height: 50rpx; | |||||
} | |||||
.rest { | |||||
font-size: 24rpx; | |||||
color: #919191; | |||||
letter-spacing: 0; | |||||
height: 70rpx; | |||||
line-height: 70rpx; | |||||
/* border-bottom: 1px solid #eee; */ | |||||
border-bottom: 1px solid #f9f9f9; | |||||
} | |||||
.restNum { | |||||
font-size: 24rpx; | |||||
color: #999; | |||||
letter-spacing: 1.16rpx; | |||||
text-align: right; | |||||
} | |||||
.time { | |||||
font-size: 24rpx; | |||||
color: #333; | |||||
letter-spacing: 0; | |||||
line-height: 33rpx; | |||||
display: inline-block; | |||||
} | |||||
.txt01 { | |||||
font-size: 24rpx; | |||||
color: #919191; | |||||
letter-spacing: 0; | |||||
} | |||||
.times { | |||||
display: inline-block; | |||||
color: #ff4949; | |||||
font-weight: bold; | |||||
font-size: 26rpx; | |||||
text-align: center; | |||||
} | |||||
.times text { | |||||
display: inline-block; | |||||
margin: 6rpx; | |||||
width: 46rpx; | |||||
height: 56rpx; | |||||
text-align: center; | |||||
font-size: 28rpx; | |||||
line-height: 60rpx; | |||||
border-radius: 12rpx; | |||||
color: #fff; | |||||
font-weight: bold; | |||||
background: #ff4949; | |||||
} |
@@ -0,0 +1,232 @@ | |||||
// pages/spellDetail/index.js | |||||
var config = require("../../../config/config.js"); | |||||
const Http = require("../../../utils/HttpBasics"); | |||||
const imgurl = require("../../../utils/imgurl"); | |||||
const { spellStatus } = require("../../../utils/spell"); | |||||
Page({ | |||||
/** | |||||
* 页面的初始数据 | |||||
*/ | |||||
data: { | |||||
tuanzhang: imgurl.tuanzhang.url, | |||||
spellBg: imgurl.spellBg.url, | |||||
position: imgurl.position.url, | |||||
close03: imgurl.close03.url, | |||||
home: imgurl.wmhome.url, | |||||
paramData: null, | |||||
data: null, | |||||
showErr: false, | |||||
showAlert: false, | |||||
remainingPoints:0 | |||||
}, | |||||
getUserInfo: function () { | |||||
let that = this; | |||||
// 获取用户信息 | |||||
Http.get({ | |||||
url: config.api.getScore, | |||||
data: {} | |||||
}) | |||||
.then(res => { | |||||
console.log(res) | |||||
that.setData({ | |||||
remainingPoints: Number(res.data.credit) - Number(that.data.data.salePriceStr), | |||||
userInfo:res.data, | |||||
nickName: res.data.nickName, | |||||
avatarUrl: res.data.avatarUrl | |||||
}) | |||||
}) | |||||
}, | |||||
gotoIndex() { | |||||
wx.reLaunch({ | |||||
url: '/pages/index/index', | |||||
}) | |||||
}, | |||||
gotoSearch() { | |||||
wx.navigateTo({ | |||||
url: `/pages/spellGroup/spellGroup`, | |||||
}) | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面加载 | |||||
*/ | |||||
onLoad: function (options) { | |||||
this.setData({ | |||||
paramData: options | |||||
}) | |||||
this.getDetail(options.couponChannelId); | |||||
// 关闭来自于左上角的分享 | |||||
wx.hideShareMenu() | |||||
}, | |||||
/** | |||||
* 支付订单更新 | |||||
*/ | |||||
payOrderUpdate: (orderId, payOrderId, status, reason, _this, orderGroupId) => { | |||||
console.log(orderGroupId, 7777) | |||||
let that = this; | |||||
// 支付成功 | |||||
Http.post({ | |||||
url: config.api.payOrderUpdate, | |||||
data: { | |||||
payOrderId: payOrderId, | |||||
orderId: orderId, | |||||
status: status, | |||||
reason: reason | |||||
} | |||||
}) | |||||
.then(res => { | |||||
wx.hideLoading() | |||||
if (res.data.orderStatus == 14) { | |||||
_this.setData({ | |||||
showErr: true | |||||
}) | |||||
return; | |||||
} | |||||
if (orderGroupId == undefined) { | |||||
wx.navigateTo({ | |||||
url: '/pages/order/detail/index?orderId=' + res.data.id, | |||||
}) | |||||
} else { | |||||
_this.goToOrderGroup(orderId, res.data.orderGroupId, _this) | |||||
} | |||||
}) | |||||
.catch(err => { | |||||
console.log(err); | |||||
if (err.code != 12002) { | |||||
setTimeout(function () { | |||||
_this.payOrderUpdate(orderId, payOrderId, status, reason, _this, orderGroupId); | |||||
}, 2000) | |||||
} | |||||
}) | |||||
}, | |||||
gotoPay() { | |||||
let that = this; | |||||
wx.showLoading({ | |||||
title: '支付创建中...', | |||||
}) | |||||
Http.post({ | |||||
url: config.api.payOrderCreate, | |||||
data: { | |||||
orderId: that.data.paramData.orderId | |||||
} | |||||
}) | |||||
.then(res => { | |||||
var payOrderId = "" + res.data.payOrderId; | |||||
wx.hideLoading(); | |||||
wx.requestPayment({ | |||||
timeStamp: res.data.timeStamp, | |||||
nonceStr: res.data.nonceStr, | |||||
package: res.data.package, | |||||
signType: (res.data.signType) ? res.data.signType : "MD5", | |||||
paySign: res.data.paySign, | |||||
success: res => { | |||||
wx.showLoading({ | |||||
title: '订单正在处理中...', | |||||
}) | |||||
setTimeout(function () { | |||||
wx.hideLoading() | |||||
}, 5000) | |||||
that.payOrderUpdate(that.data.paramData.orderId, payOrderId, 1, '', that, 0); | |||||
if (res.errMsg == "requestPayment:ok") { | |||||
setTimeout(function () { | |||||
wx.hideLoading(); | |||||
}, 2000); | |||||
} | |||||
}, | |||||
fail: res => { | |||||
/** | |||||
* 支付失败,需要更新订单的状态 | |||||
*/ | |||||
that.payOrderUpdate(that.data.paramData.orderId, payOrderId, 2, '', that, 0); | |||||
that.setData({ | |||||
showbutton: false, | |||||
canSpell: true, | |||||
canBuyIf: true | |||||
}) | |||||
return; | |||||
}, | |||||
complete: res => { } | |||||
}); | |||||
/// End payment -------- | |||||
}) | |||||
.catch(err => { | |||||
that.setData({ | |||||
canSpell: true, | |||||
canBuyIf: true | |||||
}) | |||||
wx.showToast({ | |||||
title: err.message, | |||||
icon: 'none', | |||||
duration: 2000, | |||||
mask: false | |||||
}); | |||||
}) | |||||
}, | |||||
/** | |||||
* 获取券详情信息 | |||||
*/ | |||||
getDetail(couponChannelId) { | |||||
let that = this; | |||||
Http.get({ | |||||
url: config.api.couponDetail, | |||||
data: { | |||||
couponChannelId: couponChannelId | |||||
} | |||||
}).then(res => { | |||||
wx.stopPullDownRefresh(); | |||||
that.getUserInfo() | |||||
let data = res.data; | |||||
that.setData({ | |||||
data | |||||
}); | |||||
}); | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面初次渲染完成 | |||||
*/ | |||||
onReady: function () { | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面显示 | |||||
*/ | |||||
onShow: function () { | |||||
this.setData({ | |||||
showTime: true | |||||
}) | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面隐藏 | |||||
*/ | |||||
onHide: function () { | |||||
this.setData({ | |||||
showTime: false | |||||
}) | |||||
}, | |||||
/** | |||||
* 生命周期函数--监听页面卸载 | |||||
*/ | |||||
onUnload: function () { | |||||
this.setData({ | |||||
showTime: false | |||||
}) | |||||
}, | |||||
/** | |||||
* 页面相关事件处理函数--监听用户下拉动作 | |||||
*/ | |||||
onPullDownRefresh: function () { | |||||
this.getDetail(this.data.paramData); | |||||
}, | |||||
/** | |||||
* 页面上拉触底事件的处理函数 | |||||
*/ | |||||
onReachBottom: function () { | |||||
} | |||||
}) |
@@ -0,0 +1,6 @@ | |||||
{ | |||||
"navigationBarTitleText": "积分换礼", | |||||
"usingComponents": {}, | |||||
"navigationBarBackgroundColor": "#F13C42", | |||||
"enablePullDownRefresh": true | |||||
} |
@@ -0,0 +1,50 @@ | |||||
<!--pages/spellDetail/index.wxml--> | |||||
<view class='container'> | |||||
<!-- 拼团产品详情 --> | |||||
<view class='detail'> | |||||
<view class='return-index' bindtap='gotoIndex'> | |||||
<image src='{{home}}' mode="widthFix"></image> | |||||
</view> | |||||
<view class='detail-top'> | |||||
<view class='detail-top01'> | |||||
<image src='{{data.coverImg}}' mode="aspectFill"></image> | |||||
</view> | |||||
<view class='detail-top02'> | |||||
<view class='title'>{{data.title}}</view> | |||||
<view class='des'>{{data.subTitle}}</view> | |||||
<view class='des'>{{'价值:'+data.priceStr+'元'}}</view> | |||||
</view> | |||||
<view class='detail-top03'> | |||||
<view class='detail-p-price'>{{data.salePriceStr}}积分</view> | |||||
<view class='detail-p-name'>积分售价</view> | |||||
</view> | |||||
</view> | |||||
</view> | |||||
<!-- 拼团订单信息 --> | |||||
<view class='order'> | |||||
<view class='order-list'> | |||||
<view class='order-title'>当前积分总额</view> | |||||
<view class='order-text'>{{userInfo.credit}}</view> | |||||
</view> | |||||
<view class='order-list'> | |||||
<view class='order-title'>兑换使用积分</view> | |||||
<view class='order-text'>{{data.salePriceStr}}</view> | |||||
</view> | |||||
<view class='order-list'> | |||||
<view class='order-title'>剩余积分</view> | |||||
<view class='order-text'>{{remainingPoints}}</view> | |||||
</view> | |||||
</view> | |||||
<view class='edit'> | |||||
<button class='user-motto' bindtap='gotoPay'>{{'确认'+data.salePriceStr+'积分支付'}}</button> | |||||
</view> | |||||
<view class='al-bg' wx:if='{{showErr}}'></view> | |||||
<view class='al-content' wx:if='{{showErr}}'> | |||||
<view class='al-top'> | |||||
<image src='{{orderGroupFail}}' mode="widthFix"></image> | |||||
</view> | |||||
<view class='al-center'>您的拼团未成功,退款将在24小时内返回到您的支付账号</view> | |||||
<view class='al-bottom' bindtap='gotoIndex'>返回首页</view> | |||||
</view> | |||||
</view> |
@@ -0,0 +1,446 @@ | |||||
/* pages/spellDetail/index.wxss */ | |||||
page { | |||||
height: auto; | |||||
overflow: auto; | |||||
background: #f89132; | |||||
background-image: url('https://s3.cn-northwest-1.amazonaws.com.cn/iformall-net/cimg/spelldetail-bg.png'); | |||||
background-size: cover; | |||||
background-repeat: no-repeat; | |||||
} | |||||
.container{ | |||||
margin-bottom:40rpx; | |||||
} | |||||
.status{ | |||||
width: 690rpx; | |||||
padding:0 28rpx; | |||||
margin: 0 auto; | |||||
box-sizing: border-box; | |||||
background:rgba(255,255,255,1); | |||||
border-radius:15rpx; | |||||
} | |||||
.edit{ | |||||
position: fixed; | |||||
width: 750rpx; | |||||
height: 185rpx; | |||||
bottom: 60rpx; | |||||
left: 0; | |||||
} | |||||
.status-top{ | |||||
width: 100%; | |||||
height: 75rpx; | |||||
box-sizing: border-box; | |||||
border-bottom: 1rpx solid #F9F9F9; | |||||
/* overflow: hidden; */ | |||||
} | |||||
.p-status{ | |||||
float: left; | |||||
width: 260rpx; | |||||
font-size:32rpx; | |||||
font-family:PingFang-SC-Bold; | |||||
font-weight:bold; | |||||
color:rgba(243,69,58,1); | |||||
line-height: 75rpx; | |||||
} | |||||
.p-time{ | |||||
float: right; | |||||
font-size:26rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(243,69,58,1); | |||||
width: 38rpx; | |||||
height: 30rpx; | |||||
margin-top: 22rpx; | |||||
background:rgba(252,220,221,1); | |||||
border-radius:10rpx; | |||||
line-height: 30rpx; | |||||
text-align: center; | |||||
margin: 22rpx 6rpx; | |||||
} | |||||
.p-mao{ | |||||
float: right; | |||||
font-size:26rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(243,69,58,1); | |||||
line-height: 75rpx; | |||||
} | |||||
.p-text{ | |||||
float: right; | |||||
font-size:26rpx; | |||||
font-family:PingFang-SC-Regular; | |||||
font-weight:400; | |||||
color:rgba(51,51,51,1); | |||||
line-height:75rpx; | |||||
} | |||||
.status-center{ | |||||
width: 100%; | |||||
overflow: hidden; | |||||
padding: 20rpx 0; | |||||
text-align: center; | |||||
border-bottom: 1rpx solid #F9F9F9; | |||||
} | |||||
.tuanzhang{ | |||||
float: left; | |||||
width: 120rpx; | |||||
height: 120rpx; | |||||
position: relative; | |||||
box-sizing:border-box; | |||||
} | |||||
.touxiangitems{ | |||||
padding: 20rpx; | |||||
margin: 0; | |||||
overflow: hidden; | |||||
} | |||||
.touxiang{ | |||||
width: 80rpx; | |||||
height: 80rpx; | |||||
border-radius: 40rpx; | |||||
overflow: hidden; | |||||
} | |||||
.no-touxiang{ | |||||
width: 80rpx; | |||||
height: 80rpx; | |||||
overflow: hidden; | |||||
background:rgba(252,220,221,1); | |||||
border:1rpx solid rgba(243,69,58,1); | |||||
border-radius:50%; | |||||
box-sizing: border-box; | |||||
line-height: 78rpx; | |||||
text-align: center; | |||||
font-size:32rpx; | |||||
font-family:PingFang-SC-Regular; | |||||
font-weight:400; | |||||
color:rgba(243,69,58,1); | |||||
margin: 0; | |||||
padding: 0; | |||||
} | |||||
.touxiang image{ | |||||
width: 80rpx; | |||||
height: 80rpx; | |||||
} | |||||
.tuan-icon{ | |||||
position: absolute; | |||||
bottom:20rpx; | |||||
left:28rpx; | |||||
width: 64rpx; | |||||
height: 27rpx; | |||||
} | |||||
.tuan-icon image{ | |||||
display: block; | |||||
width: 64rpx; | |||||
height: 27rpx; | |||||
} | |||||
.status-bottom{ | |||||
width: 100%; | |||||
height: auto; | |||||
overflow: hidden; | |||||
} | |||||
.position-icon{ | |||||
width: 38rpx; | |||||
float: left; | |||||
} | |||||
.position-icon image{ | |||||
width: 27rpx; | |||||
height: 37rpx; | |||||
margin-top: 17rpx; | |||||
} | |||||
.position{ | |||||
font-size:28rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(51,51,51,1); | |||||
line-height: 72rpx; | |||||
} | |||||
.detail{ | |||||
position: relative; | |||||
width: 690rpx; | |||||
padding:0 28rpx; | |||||
margin: 30rpx auto 0; | |||||
box-sizing: border-box; | |||||
background:rgba(255,255,255,1); | |||||
border-radius:15rpx; | |||||
} | |||||
/* .return-index{ | |||||
position: absolute; | |||||
right: 30rpx; | |||||
top: 30rpx; | |||||
width: 50rpx; | |||||
height: 50rpx; | |||||
} | |||||
.return-index image{ | |||||
display: block; | |||||
width: 50rpx; | |||||
height: 50rpx; | |||||
} */ | |||||
.return-index{ | |||||
position: fixed; | |||||
right: 50rpx; | |||||
top: 60rpx; | |||||
width:100rpx!important; | |||||
height:100rpx; | |||||
z-index: 100; | |||||
background:rgba(255,255,255,1); | |||||
line-height: 95rpx; | |||||
border:1rpx solid rgba(227,227,227,1); | |||||
border-radius:50%; | |||||
} | |||||
.return-index image{ | |||||
position: absolute; | |||||
width: 60rpx; | |||||
left: 0; | |||||
right: 0; | |||||
top: 0; | |||||
bottom: 0; | |||||
margin: auto; | |||||
} | |||||
.detail-top{ | |||||
width: 100%; | |||||
height: auto; | |||||
overflow: hidden; | |||||
padding-bottom: 12rpx; | |||||
} | |||||
.detail-top01{ | |||||
float: left; | |||||
width: 180rpx; | |||||
} | |||||
.detail-top01 image{ | |||||
width: 180rpx; | |||||
height: 180rpx; | |||||
margin-top: 33rpx; | |||||
} | |||||
.detail-top02{ | |||||
width: 208rpx; | |||||
float: left; | |||||
margin-left: 16rpx; | |||||
} | |||||
.title{ | |||||
font-size:30rpx; | |||||
font-family:PingFang-SC-Bold; | |||||
font-weight:bold; | |||||
color:rgba(51,51,51,1); | |||||
line-height:44rpx; | |||||
margin-top: 30rpx; | |||||
overflow:hidden; | |||||
text-overflow:ellipsis; | |||||
white-space:nowrap; | |||||
} | |||||
.des{ | |||||
font-size:26rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(134,134,134,1); | |||||
line-height:40rpx; | |||||
overflow:hidden; | |||||
text-overflow:ellipsis; | |||||
white-space:nowrap; | |||||
} | |||||
.detail-top03{ | |||||
float: left; | |||||
padding-top: 180rpx; | |||||
width: 230rpx; | |||||
} | |||||
.detail-p-name{ | |||||
float: right; | |||||
font-size:26rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(134,134,134,1); | |||||
line-height:44rpx; | |||||
} | |||||
.detail-p-price{ | |||||
float: right; | |||||
font-size:26rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(51,51,51,1); | |||||
} | |||||
.detail-bottom{ | |||||
border-top: 1rpx solid #F9F9F9; | |||||
width: 100%; | |||||
overflow: hidden; | |||||
height: 86rpx; | |||||
} | |||||
.b-unit{ | |||||
float: right; | |||||
font-size:24rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(237,63,46,1); | |||||
margin-top: 36rpx; | |||||
} | |||||
.b-price{ | |||||
float: right; | |||||
font-size:40rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(237,63,46,1); | |||||
margin-top: 18rpx; | |||||
} | |||||
.b-name{ | |||||
float: right; | |||||
font-size:26rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(51,51,51,1); | |||||
margin-right: 6rpx; | |||||
margin-top: 34rpx; | |||||
} | |||||
.order{ | |||||
width: 690rpx; | |||||
padding:10rpx 28rpx; | |||||
margin: 30rpx auto 0; | |||||
box-sizing: border-box; | |||||
background:rgba(255,255,255,1); | |||||
border-radius:15rpx; | |||||
} | |||||
.order-list{ | |||||
height: 55rpx; | |||||
} | |||||
.order-title{ | |||||
line-height: 55rpx; | |||||
float: left; | |||||
font-size:26rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(51,51,51,1); | |||||
} | |||||
.order-text{ | |||||
float: right; | |||||
text-align: right; | |||||
line-height: 55rpx; | |||||
font-size:26rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(134,134,134,1); | |||||
} | |||||
.user-motto { | |||||
border: 0; | |||||
width:650rpx; | |||||
height:85rpx; | |||||
background:linear-gradient(90deg,rgba(248,85,45,1) 0%,rgba(241,60,66,1) 0%,rgba(248,86,46,1) 100%); | |||||
box-shadow:0px 8rpx 8rpx 1rpx rgba(242,61,65,0.32); | |||||
border-radius:43rpx; | |||||
font-size:36rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(254,254,254,1); | |||||
line-height: 85rpx; | |||||
margin-top: 100rpx; | |||||
} | |||||
.user-motto::after { | |||||
border: none; | |||||
} | |||||
.button button:nth-of-type(1){ | |||||
width:520rpx; | |||||
height:95rpx; | |||||
margin: 30rpx auto 38rpx; | |||||
background:linear-gradient(90deg,rgba(248,85,45,1) 0%,rgba(241,60,66,1) 0%,rgba(248,86,46,1) 100%); | |||||
border-radius:47rpx; | |||||
color: #fff; | |||||
} | |||||
.button button:nth-of-type(2){ | |||||
width:520rpx; | |||||
height:95rpx; | |||||
background:rgba(255,255,255,1); | |||||
border:1rpx solid rgba(190,190,190,1); | |||||
border-radius:47rpx; | |||||
color:#333333; | |||||
margin-bottom: 50rpx; | |||||
} | |||||
.alert-bg{ | |||||
width: 100%; | |||||
height: 100vh; | |||||
position: fixed; | |||||
opacity: 0.7; | |||||
background: #000; | |||||
top: 0; | |||||
left: 0; | |||||
z-index: 200; | |||||
} | |||||
.alert-box{ | |||||
width: 600rpx; | |||||
height: 332rpx; | |||||
position: fixed; | |||||
z-index: 300; | |||||
background: #fff; | |||||
top: 50vh; | |||||
margin-top: -162rpx; | |||||
left: 85rpx; | |||||
border-radius:15rpx; | |||||
} | |||||
.alert-close{ | |||||
position: absolute; | |||||
width: 47rpx; | |||||
height: 98rpx; | |||||
top: -98rpx; | |||||
right: 0; | |||||
} | |||||
.alert-close image{ | |||||
width: 47rpx; | |||||
height: 98rpx; | |||||
} | |||||
.alert-title{ | |||||
text-align: center; | |||||
font-size:30rpx; | |||||
line-height: 30rpx; | |||||
margin-top: 79rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(51,51,51,1); | |||||
} | |||||
.alert-button .share{ | |||||
width:500rpx; | |||||
height:95rpx; | |||||
background:linear-gradient(90deg,rgba(248,85,45,1) 0%,rgba(241,60,66,1) 0%,rgba(248,86,46,1) 100%); | |||||
border-radius:47rpx; | |||||
margin-top: 79rpx; | |||||
} | |||||
.al-bg{ | |||||
position: fixed; | |||||
width: 100%; | |||||
height: 100vh; | |||||
top: 0; | |||||
left: 0; | |||||
background:rgba(0,0,0,1); | |||||
opacity:0.65; | |||||
z-index: 200; | |||||
} | |||||
.al-content{ | |||||
background: #fff; | |||||
position: fixed; | |||||
width: 545rpx; | |||||
z-index: 300; | |||||
top: 200rpx; | |||||
left: 102rpx; | |||||
border-radius: 15rpx; | |||||
} | |||||
.al-top{ | |||||
width: 100%; | |||||
} | |||||
.al-top image{ | |||||
position: relative; | |||||
height: 298rpx; | |||||
margin-top: -96rpx; | |||||
width: 545rpx; | |||||
} | |||||
.al-center{ | |||||
padding: 80rpx 30rpx; | |||||
font-size:30rpx; | |||||
font-family:PingFang-SC-Regular; | |||||
font-weight:400; | |||||
color:rgba(51,51,51,1); | |||||
} | |||||
.al-bottom{ | |||||
width:462rpx; | |||||
height:95rpx; | |||||
background:linear-gradient(90deg,rgba(248,85,45,1) 0%,rgba(241,60,66,1) 0%,rgba(248,86,46,1) 100%); | |||||
border-radius:47rpx; | |||||
font-size:30rpx; | |||||
font-family:PingFang-SC-Medium; | |||||
font-weight:500; | |||||
color:rgba(255,255,255,1); | |||||
text-align: center; | |||||
line-height: 95rpx; | |||||
margin: 0 auto 43rpx; | |||||
} |
@@ -73,6 +73,16 @@ | |||||
</view> | </view> | ||||
</view> | </view> | ||||
</navigator> | </navigator> | ||||
<navigator url="/pages/integralmall/index"> | |||||
<view class="user-btn app-border-bottom"> | |||||
<view> | |||||
<image class='icons' src="{{cardiconUrl}}" mode='widthFix'></image>积分商城</view> | |||||
<view> | |||||
<text class="couponnum" wx:if="{{couponNum2=='couponNum2'}}"></text> | |||||
<text class="iconfont icon-right"></text> | |||||
</view> | |||||
</view> | |||||
</navigator> | |||||
<!-- <navigator url="/pages/passCar/passCar" open-type="switchTab"> | <!-- <navigator url="/pages/passCar/passCar" open-type="switchTab"> | ||||
<view class="user-btn app-border-bottom"> | <view class="user-btn app-border-bottom"> | ||||
<view> | <view> | ||||