| @@ -1,6 +1,7 @@ | |||
| { | |||
| "pages": [ | |||
| "pages/index/index", | |||
| "pages/integralmall/payIntegcoupondetail/index", | |||
| "pages/joinFrDpell/index", | |||
| "pages/spellDetail/index", | |||
| "pages/spellTimeout/index", | |||
| @@ -54,7 +55,9 @@ | |||
| "pages/ConsumeDetail/ConsumeDetail", | |||
| "pages/externallinks/index", | |||
| "pages/czdetail/czdetail", | |||
| "pages/spellGroup/paySpellGroup/index" | |||
| "pages/spellGroup/paySpellGroup/index", | |||
| "pages/integralmall/index", | |||
| "pages/integralmall/integcoupondetail/index" | |||
| ], | |||
| "navigateToMiniProgramAppIdList": [ | |||
| "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> | |||
| </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"> | |||
| <view class="user-btn app-border-bottom"> | |||
| <view> | |||