| @@ -14,7 +14,7 @@ | |||
| "pages/main/index", | |||
| "pages/index/searchbar/index", | |||
| "pages/index/merchantList/index", | |||
| "pages/index/detail/index", | |||
| "pages/index/searchbar/detail/index", | |||
| "pages/bargain/bargainDatail/bargainDatail", | |||
| "pages/bargain/bargain", | |||
| "pages/cardorder/index/index", | |||
| @@ -7,7 +7,7 @@ | |||
| "etcpVersion": "release", | |||
| "etcpCallbackUrl": "https://ciformall.youlane.cn/api/carCallback/etcpPaidCallback", | |||
| "ifHaveWebSocket": "0", | |||
| "ifHaveCarModular": "0" | |||
| "ifHaveCarModular": "1" | |||
| }, | |||
| "name": "富茂客官开发", | |||
| "weappId": "wxea71200db93d756b", | |||
| @@ -1,5 +1,5 @@ | |||
| <view class='page' wx:if="{{flags=='have'}}"> | |||
| <view class='title'>生成规则</view> | |||
| <view class='title'>成长值增长规则</view> | |||
| <view class='scroll'> | |||
| <scroll-view scroll-x class="scroll-header"> | |||
| <view class="scroll-view-item" wx:for="{{rules}}" wx:key="index"> | |||
| @@ -0,0 +1,146 @@ | |||
| const Http = require("../../../../utils/HttpBasics"); | |||
| const imgurl = require("../../../../utils/imgurl"); | |||
| const config = require("../../../../config/config"); | |||
| let app = getApp(); | |||
| Page({ | |||
| /** | |||
| * 页面的初始数据 | |||
| */ | |||
| data: { | |||
| teljpgUrl: imgurl.teljpg.url, | |||
| share01: imgurl.share01.url, | |||
| page: 1, | |||
| imglist: null, | |||
| shopVoList: [], | |||
| couponList: [], //活动劵列表 | |||
| data: { | |||
| currentTab: 0 | |||
| }, | |||
| id: null | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面加载 | |||
| */ | |||
| onLoad: function(options) { | |||
| let that = this; | |||
| if (options && options.id) { | |||
| this.setData({ | |||
| id: options.id | |||
| }); | |||
| that.getList(options.id); | |||
| that.getCouponList(options.id); | |||
| } | |||
| }, | |||
| /** | |||
| * 拨打电话 | |||
| */ | |||
| phone: function(e) { | |||
| let that = this; | |||
| wx.makePhoneCall({ | |||
| phoneNumber: e.target.dataset.merchantlinkphone | |||
| }); | |||
| }, | |||
| /** | |||
| * 获取商户详情 | |||
| */ | |||
| getList: function(id) { | |||
| let that = this; | |||
| let data; | |||
| data = { | |||
| pageNum: that.data.page, | |||
| pageSize: 15, | |||
| id: id | |||
| } | |||
| Http.get({ | |||
| url: config.api.merchantList, | |||
| data: data | |||
| }).then(res => { | |||
| that.setData({ | |||
| data: res.data.list[0], | |||
| shopVoList: res.data.list[0].shopVoList, | |||
| imglist: JSON.parse(res.data.list[0].coverPicture) ? JSON.parse(res.data.list[0].coverPicture) : res.data.list[0].merchantImgUrl, | |||
| }) | |||
| }) | |||
| .catch(err => { | |||
| wx.showToast({ | |||
| title: err.errMsg, | |||
| icon: 'none', | |||
| duration: 2000, | |||
| mask: false | |||
| }); | |||
| }) | |||
| }, | |||
| /** | |||
| * 获取商户活动信息 券类型(1.满减券,2.代金券,3.团购券,4.礼品券,5.停车券,6.多商户券,8.砍价券,9.团购券,50.积分券,51.积分停车券 100.消费卡) | |||
| * 投放频道:(1.列表, 2.限时抢购, 3. banner图 4. 游戏 5.卡频道 6.砍价频道 7.拼团频道 8专题) | |||
| */ | |||
| getCouponList: function(id) { | |||
| let that = this; | |||
| let data; | |||
| data = { | |||
| status: 0, | |||
| merchantId: id, | |||
| pageNum: that.data.page, | |||
| pageSize: 15, | |||
| } | |||
| Http.get({ | |||
| url: config.api.merchantCouponList, | |||
| data: data | |||
| }).then(res => { | |||
| that.setData({ | |||
| couponList: res.data.list, | |||
| }) | |||
| }) | |||
| .catch(err => { | |||
| wx.showToast({ | |||
| title: err.errMsg, | |||
| icon: 'none', | |||
| duration: 2000, | |||
| mask: false | |||
| }); | |||
| }) | |||
| }, | |||
| /** | |||
| * 获取多商铺列表 | |||
| */ | |||
| shopList: function(e) { | |||
| wx.navigateTo({ | |||
| url: `/pages/index/merchantList/index?id=${e.currentTarget.dataset.id}` | |||
| }) | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面隐藏 | |||
| */ | |||
| onHide: function() { | |||
| }, | |||
| onShareAppMessage: function(options) { | |||
| var that = this; | |||
| var shareObj = { | |||
| title: that.data.data.title, | |||
| path: `/pages/index/index?couponChannelId=${that.data.couponChannelId}`, | |||
| success: function(res) { | |||
| if (res.errMsg == 'shareAppMessage:ok') {} | |||
| }, | |||
| fail: function(error) { | |||
| if (res.errMsg == 'shareAppMessage:fail cancel') {} else if (res.errMsg == 'shareAppMessage:fail') {} | |||
| } | |||
| }; | |||
| // 来自页面内的按钮的转发 | |||
| if (options.from == 'button') { | |||
| var eData = options.target.dataset.id; | |||
| shareObj.path = `/pages/index/index?couponChannelId=${eData}`; | |||
| } | |||
| // 返回shareObj | |||
| return shareObj; | |||
| }, | |||
| /** | |||
| * 页面相关事件处理函数--监听用户下拉动作 | |||
| */ | |||
| onPullDownRefresh: function() { | |||
| }, | |||
| }) | |||
| @@ -0,0 +1,9 @@ | |||
| { | |||
| "navigationBarTitleText": "商户详情", | |||
| "backgroundColor": "#f4f4f4", | |||
| "enablePullDownRefresh": true, | |||
| "usingComponents": { | |||
| "c-banner": "../../../../components/banner/index", | |||
| "c-coupons": "../../../../components/coupons/index" | |||
| } | |||
| } | |||
| @@ -0,0 +1,81 @@ | |||
| <!--pages/index/detail/index.wxml--> | |||
| <view> | |||
| <swiper class="index-slide" autoplay="true" circular="false"> | |||
| <block wx:for="{{imglist}}" wx:key="unique"> | |||
| <swiper-item> | |||
| <image src="{{item}}" class="index-slide-image" mode='widthFix' /> | |||
| </swiper-item> | |||
| </block> | |||
| </swiper> | |||
| <view class='merchant-detail'> | |||
| <!-- 品牌信息 --> | |||
| <view class='merchant-brand' style='position:relative;z-index:9'> | |||
| <view> | |||
| <image src='{{data.merchantImgUrl}}' mode='aspectFill'></image> | |||
| </view> | |||
| <view> | |||
| <text>{{data.merchantName}}</text> | |||
| <text>{{data.title}}</text> | |||
| </view> | |||
| <view class='fenxiang' wx:if="{{data.type!=50&&data.type!=51}}"> | |||
| <image class="fenxiang" src='{{share01}}' mode="widthFix"></image> | |||
| <button class='share user-motto' data-id='{{data.id}}' data-couponId='{{data.couponId}}' data-title='{{data.title}}' id="shareBtn" open-type="share" hover-class="other-button-hover"></button> | |||
| </view> | |||
| </view> | |||
| <!-- 一个商铺 --> | |||
| <!-- 多个商铺 --> | |||
| <view class='merchant-shop'> | |||
| <view> | |||
| <view> | |||
| <text>商户位置</text> | |||
| </view> | |||
| <view class='merchants'> | |||
| <text wx:for="{{shopVoList}}" wx:key="{{index}}">{{item.buildingName}}{{item.floorName}}--{{item.shopNumber}}</text> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <!-- 联系方式 --> | |||
| <view class='merchant-phone'> | |||
| <view> | |||
| <text>联系商户</text> | |||
| </view> | |||
| <view> | |||
| <view style='display:block;text-align:left;margin-right:20rpx;'> | |||
| <text>{{data.merchantLinkPhone}}</text> | |||
| </view> | |||
| <image bindtap='phone' data-merchantLinkPhone='{{data.merchantLinkPhone}}' class="tel" src="{{teljpgUrl}}" mode="widthFix" /> | |||
| </view> | |||
| </view> | |||
| <!-- 商户简介 --> | |||
| <view class="swiper-tab"> | |||
| <view class="swiper-tab-item">商家简介</view> | |||
| </view> | |||
| <view class='intro'> | |||
| <text wx:if="{{data.summary}}">{{data.summary}}</text> | |||
| <text wx:else>信息完善中,敬请期待。</text> | |||
| </view> | |||
| <view class='merchant-phones' style='margin-top:30rpx;' wx:if="{{couponList.length!=0}}"> | |||
| <view class="swiper-tab"> | |||
| <view class="swiper-tab-item">优惠信息</view> | |||
| </view> | |||
| <view> | |||
| <view class='coupons clearfix'> | |||
| <c-coupons wx:for="{{couponList}}" paramAtoB="{{loading}}" wx:key="unique" data="{{item}}" list="{{couponList}}" /> | |||
| </view> | |||
| <view class='dingdan' wx:if="{{list.length==0}}"> | |||
| <image src="{{actUrl}}" mode="widthFix"></image> | |||
| <text>请您敬请期待</text> | |||
| <text>我们正在筹备一大波优惠活动</text> | |||
| </view> | |||
| <view class="loading" wx:if="{{loading}}"> | |||
| <image src="{{loadingUrl}}" mode="widthFix"></image>{{content}}</view> | |||
| <view class='loadingtext' wx:if="{{loadingtext}}">{{loadingtext}}</view> | |||
| </view> | |||
| <view class='merchant-info'> | |||
| <view hidden='currentTabsIndex!=0'> | |||
| <text wx:if="{{data.summary}}">{{data.summary}}</text> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| @@ -0,0 +1,214 @@ | |||
| .index-slide, swiper-item | |||
| .index-slide-image { | |||
| display: block; | |||
| width: 750rpx; | |||
| margin: 0 auto; | |||
| overflow: hidden; | |||
| position: relative; | |||
| height: 576rpx; | |||
| } | |||
| .index-slide-view .dots { | |||
| position: absolute; | |||
| left: 0; | |||
| right: 0; | |||
| bottom: 20rpx; | |||
| display: flex; | |||
| justify-content: center; | |||
| } | |||
| .index-slide-view .dots .dot { | |||
| margin: 0 8rpx; | |||
| width: 12rpx; | |||
| height: 12rpx; | |||
| background: #b6b6b7; | |||
| border-radius: 50%; | |||
| transition: all 0.6s; | |||
| } | |||
| .index-slide-view .dots .dot.active { | |||
| background: #02c0ff; | |||
| width: 30rpx; | |||
| height: 12rpx; | |||
| border-radius: 10rpx; | |||
| opacity: 1; | |||
| } | |||
| .bannerbg { | |||
| width: 100%; | |||
| } | |||
| .bannerbg image { | |||
| display: block; | |||
| width: 100%; | |||
| } | |||
| .merchant-detail { | |||
| width:92%; | |||
| padding:30rpx 4% 0; | |||
| background:#fff; | |||
| border-top-left-radius:20rpx; | |||
| border-top-right-radius:20rpx; | |||
| margin-top:-25rpx; | |||
| } | |||
| .merchant-brand, .merchant-shop, .merchant-phone { | |||
| width: 100%; | |||
| display: flex; | |||
| padding: 20rpx 0; | |||
| background: #fff; | |||
| border-bottom: 1rpx solid #efefef; | |||
| } | |||
| .merchant-brand view:nth-child(1) { | |||
| width: 160rpx; | |||
| border-radius: 16rpx; | |||
| height: 160rpx; | |||
| } | |||
| .merchant-brand view:nth-child(1) image { | |||
| display: block; | |||
| width: 160rpx; | |||
| height: 160rpx; | |||
| border-radius: 16rpx; | |||
| border: 1px solid #e5e5e5; | |||
| } | |||
| .merchant-brand view:nth-child(2) { | |||
| display: flex; | |||
| flex-direction: column; | |||
| flex: 6; | |||
| padding-left: 30rpx; | |||
| } | |||
| .merchant-brand view:nth-child(2) text:nth-child(1) { | |||
| margin-top: 20rpx; | |||
| } | |||
| .merchant-shop text, .merchant-phone text { | |||
| font-size: 30rpx; | |||
| } | |||
| .merchant-shop view, .merchant-phone view { | |||
| display: flex; | |||
| flex: 2; | |||
| color: #333; | |||
| } | |||
| .merchant-shop view:nth-child(2){ | |||
| font-size: 30rpx; | |||
| } | |||
| .merchant-info { | |||
| display: block!important; | |||
| color: #999; | |||
| font-size: 28rpx; | |||
| } | |||
| .merchant-phones{ | |||
| padding: 20rpx 0; | |||
| display: block; | |||
| font-size: 30rpx; | |||
| border-top: 1rpx solid #efefef; | |||
| } | |||
| .tel { | |||
| right: 0; | |||
| top: 0; | |||
| bottom: 0; | |||
| margin: auto; | |||
| width: 50rpx; | |||
| height: 50rpx; | |||
| } | |||
| .shoplists { | |||
| display: flex; | |||
| } | |||
| .shoplists text { | |||
| flex: 2; | |||
| } | |||
| .godetail { | |||
| color: #999; | |||
| font-size: 30rpx; | |||
| position: absolute; | |||
| right: 10rpx; | |||
| } | |||
| .merchants text{ | |||
| display: block; | |||
| text-align: left; | |||
| font-size:26rpx; | |||
| margin-bottom: 6rpx; | |||
| } | |||
| .merchants{ | |||
| display: block!important; | |||
| } | |||
| .merchant-brand{ | |||
| border: none!important; | |||
| } | |||
| .tabs-item.selected { | |||
| color:rgba(171,149,109,.8); | |||
| border-bottom:2px solid rgba(171,149,109,.8); | |||
| } | |||
| .tabs-item { | |||
| width:33.3%; | |||
| color:#C7C7CB; | |||
| font-size:28rpx; | |||
| display:flex; | |||
| align-items:center; | |||
| justify-content:center; | |||
| border-bottom:1rpx solid #D0D0D7; | |||
| } | |||
| .swiper-tab{ | |||
| text-align: left; | |||
| width: 100%; | |||
| display: flex; | |||
| flex-flow: row; | |||
| height: 88rpx; | |||
| line-height: 88rpx; | |||
| margin-left: -30rpx; | |||
| } | |||
| .swiper-tab-item { | |||
| color: #434343; | |||
| font-size: 30rpx; | |||
| padding-left:30rpx; | |||
| margin-right:30rpx; | |||
| } | |||
| .active-tab { | |||
| color: #1693FC; | |||
| border-bottom: 10rpx solid #1693FC; | |||
| } | |||
| .fenxiang { | |||
| position: absolute; | |||
| right: 0; | |||
| top: 27rpx; | |||
| width: 108rpx; | |||
| } | |||
| .fenxiang image { | |||
| width: 108rpx; | |||
| position: absolute; | |||
| top: 0; | |||
| right: 0; | |||
| } | |||
| /* 商户活动列表 */ | |||
| .coupons c-coupons{ | |||
| width: 335rpx; | |||
| height: 354rpx; | |||
| margin-bottom: 22rpx; | |||
| } | |||
| .coupons c-coupons:nth-of-type(2n+1){ | |||
| float: left; | |||
| } | |||
| .coupons c-coupons:nth-of-type(2n){ | |||
| float: right; | |||
| } | |||
| .loading image { | |||
| width: 60rpx; | |||
| height: 60rpx; | |||
| vertical-align: middle; | |||
| margin-right: 10rpx; | |||
| } | |||
| .intro{ | |||
| font-size:30rpx; | |||
| line-height: 36rpx; | |||
| } | |||
| @@ -35,7 +35,7 @@ Page({ | |||
| */ | |||
| gotoDetail(e){ | |||
| wx.navigateTo({ | |||
| url: `/pages/index/detail/index?id=${e.currentTarget.dataset.id}` | |||
| url: `/pages/index/searchbar/detail/index?id=${e.currentTarget.dataset.id}` | |||
| }) | |||
| }, | |||
| /** | |||