| @@ -13,6 +13,7 @@ | |||||
| "pages/topicDetail/index", | "pages/topicDetail/index", | ||||
| "pages/main/index", | "pages/main/index", | ||||
| "pages/index/searchbar/index", | "pages/index/searchbar/index", | ||||
| "pages/index/merchantList/index", | |||||
| "pages/index/detail/index", | "pages/index/detail/index", | ||||
| "pages/bargain/bargainDatail/bargainDatail", | "pages/bargain/bargainDatail/bargainDatail", | ||||
| "pages/bargain/bargain", | "pages/bargain/bargain", | ||||
| @@ -1,18 +1,30 @@ | |||||
| // pages/index/detail/index.js | |||||
| const Http = require("../../../utils/HttpBasics"); | |||||
| const imgurl = require("../../../utils/imgurl"); | |||||
| const config = require("../../../config/config"); | |||||
| let app = getApp(); | |||||
| Page({ | Page({ | ||||
| /** | /** | ||||
| * 页面的初始数据 | * 页面的初始数据 | ||||
| */ | */ | ||||
| data: { | data: { | ||||
| teljpgUrl: imgurl.teljpg.url, | |||||
| page: 1, | |||||
| imglist:null, | |||||
| shopVoList:[], | |||||
| data:{}, | |||||
| id:null | |||||
| }, | }, | ||||
| /** | /** | ||||
| * 生命周期函数--监听页面加载 | * 生命周期函数--监听页面加载 | ||||
| */ | */ | ||||
| onLoad: function (options) { | onLoad: function (options) { | ||||
| let that=this; | |||||
| this.setData({ | |||||
| id: options.id | |||||
| }); | |||||
| that.getList(options.id); | |||||
| }, | }, | ||||
| /** | /** | ||||
| @@ -26,41 +38,66 @@ Page({ | |||||
| * 生命周期函数--监听页面显示 | * 生命周期函数--监听页面显示 | ||||
| */ | */ | ||||
| onShow: function () { | onShow: function () { | ||||
| let that = this; | |||||
| }, | }, | ||||
| /** | |||||
| * 生命周期函数--监听页面隐藏 | |||||
| /** | |||||
| * 拨打电话 | |||||
| */ | */ | ||||
| onHide: function () { | |||||
| phone: function (e) { | |||||
| let that = this; | |||||
| wx.makePhoneCall({ | |||||
| phoneNumber: e.target.dataset.merchantlinkphone | |||||
| }); | |||||
| }, | }, | ||||
| /** | /** | ||||
| * 生命周期函数--监听页面卸载 | |||||
| * 获取商户详情 | |||||
| */ | */ | ||||
| onUnload: function () { | |||||
| 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), | |||||
| }) | |||||
| }) | |||||
| .catch(err => { | |||||
| wx.showToast({ | |||||
| title: err.errMsg, | |||||
| icon: 'none', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| }) | |||||
| }, | }, | ||||
| /** | /** | ||||
| * 页面相关事件处理函数--监听用户下拉动作 | |||||
| * 获取多商铺列表 | |||||
| */ | */ | ||||
| onPullDownRefresh: function () { | |||||
| shopList:function(e){ | |||||
| wx.navigateTo({ | |||||
| url: `/pages/index/merchantList/index?id=${e.currentTarget.dataset.id}` | |||||
| }) | |||||
| }, | }, | ||||
| /** | /** | ||||
| * 页面上拉触底事件的处理函数 | |||||
| * 生命周期函数--监听页面隐藏 | |||||
| */ | */ | ||||
| onReachBottom: function () { | |||||
| onHide: function () { | |||||
| }, | }, | ||||
| /** | /** | ||||
| * 用户点击右上角分享 | |||||
| * 页面相关事件处理函数--监听用户下拉动作 | |||||
| */ | */ | ||||
| onShareAppMessage: function () { | |||||
| onPullDownRefresh: function () { | |||||
| } | |||||
| }, | |||||
| }) | }) | ||||
| @@ -1,5 +1,8 @@ | |||||
| { | { | ||||
| "navigationBarTitleText": "券详情", | |||||
| "navigationBarTitleText": "商户详情", | |||||
| "backgroundColor": "#f4f4f4", | "backgroundColor": "#f4f4f4", | ||||
| "enablePullDownRefresh": true | |||||
| "enablePullDownRefresh": true, | |||||
| "usingComponents": { | |||||
| "c-banner": "../../../components/banner/index" | |||||
| } | |||||
| } | } | ||||
| @@ -1,4 +1,70 @@ | |||||
| <!--pages/index/detail/index.wxml--> | <!--pages/index/detail/index.wxml--> | ||||
| <view> | <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" /> | |||||
| </swiper-item> | |||||
| </block> | |||||
| </swiper> | |||||
| <!-- <view class='merchant-detail'> | |||||
| <view>{{data.merchantName}}</view> | |||||
| </view> --> | |||||
| <view class='merchant-detail'> | |||||
| <!-- 品牌信息 --> | |||||
| <view class='merchant-brand'> | |||||
| <view> | |||||
| <image src='{{data.brandImg}}'></image> | |||||
| </view> | |||||
| <view> | |||||
| <text>{{data.merchantName}}</text> | |||||
| <text>{{data.title}}</text> | |||||
| </view> | |||||
| </view> | |||||
| <!-- 一个商铺 --> | |||||
| <!-- <view class='merchant-shop' wx:if="{{shopVoList.length==1}}"> | |||||
| <view> | |||||
| <text>商户位置</text> | |||||
| </view> | |||||
| <view> | |||||
| <text>{{shopVoList[0].buildingName}} {{shopVoList[0].floorName}} {{shopVoList[0].shopNumber}}</text> | |||||
| <text></text> | |||||
| </view> | |||||
| </view> --> | |||||
| <!-- 多个商铺 --> | |||||
| <view class='merchant-shop'> | |||||
| <view > | |||||
| <view > | |||||
| <text>商户位置</text> | |||||
| </view> | |||||
| <view> | |||||
| <text wx:if="{{shopVoList.length==1}}">{{shopVoList[0].buildingName}} {{shopVoList[0].floorName}} {{shopVoList[0].shopNumber}}</text> | |||||
| <text wx:else>{{shopVoList[0].buildingName}} {{shopVoList[0].floorName}} {{shopVoList[0].shopNumber}}..</text> | |||||
| <text wx:if="{{shopVoList.length!=1}}" class='godetail' data-id='{{data.id}}' bindtap='shopList'>详情 ></text> | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| <!-- 联系方式 --> | |||||
| <view class='merchant-phone'> | |||||
| <view > | |||||
| <text>联系商户</text> | |||||
| </view> | |||||
| <view> | |||||
| <view> | |||||
| <text>{{data.merchantLinkPhone}}</text> | |||||
| </view> | |||||
| <image bindtap='phone' data-merchantLinkPhone='{{data.merchantLinkPhone}}' class="tel" src="{{teljpgUrl}}" mode="widthFix" /> | |||||
| </view> | |||||
| </view> | |||||
| <!-- 商户简介 --> | |||||
| <view class='merchant-phone'> | |||||
| <view> | |||||
| <text>商户简介</text> | |||||
| </view> | |||||
| </view> | |||||
| <view class='merchant-info'> | |||||
| <text wx:if="{{data.summary}}">{{data.summary}}</text> | |||||
| <text wx:else>{{"信息完善中,敬请期待。"}}</text> | |||||
| </view> | |||||
| </view> | |||||
| </view> | </view> | ||||
| @@ -1 +1,119 @@ | |||||
| /* pages/index/detail/index.wxss */ | |||||
| /* pages/index/detail/index.wxss */ | |||||
| .index-slide-view{ | |||||
| position: relative; | |||||
| width: 750rpx; | |||||
| height: 260rpx; | |||||
| overflow: hidden; | |||||
| /* margin:-132rpx auto 0; */ | |||||
| border-radius:16rpx; | |||||
| box-shadow: 0 6px 20px 0 rgba(0,0,0,0.15); | |||||
| } | |||||
| .index-slide, | |||||
| swiper-item | |||||
| .index-slide-image { | |||||
| display: block; | |||||
| width: 750rpx; | |||||
| height: 560rpx; | |||||
| margin: 0 auto; | |||||
| overflow: hidden; | |||||
| position: relative; | |||||
| } | |||||
| .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 .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%; | |||||
| margin: 0 auto; | |||||
| } | |||||
| .merchant-brand,.merchant-shop,.merchant-phone{ | |||||
| width:100%; | |||||
| display:flex; | |||||
| padding:20rpx 0; | |||||
| background:#fff; | |||||
| } | |||||
| .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,.merchant-phone{ | |||||
| height: 60rpx; | |||||
| line-height: 60rpx; | |||||
| } | |||||
| .merchant-shop view,.merchant-phone view{ | |||||
| display:flex; | |||||
| flex: 4; | |||||
| color:#333; | |||||
| } | |||||
| .merchant-shop view:nth-child(2),.merchant-phone view:nth-child(2){ | |||||
| font-size: 30rpx; | |||||
| } | |||||
| .merchant-info{ | |||||
| padding:0 30rpx; | |||||
| font-size: 28rpx; | |||||
| } | |||||
| .tel { | |||||
| right: 0; | |||||
| top: 0; | |||||
| bottom: 0; | |||||
| margin: auto; | |||||
| width: 50rpx; | |||||
| height: 50rpx; | |||||
| } | |||||
| .shoplists{ | |||||
| display: flex; | |||||
| } | |||||
| .shoplists text{ | |||||
| flex: 2; | |||||
| } | |||||
| .godetail{ | |||||
| color:#999999; | |||||
| font-size:30rpx; | |||||
| position: absolute; | |||||
| right: 10rpx; | |||||
| } | |||||
| @@ -0,0 +1,66 @@ | |||||
| const Http = require("../../../utils/HttpBasics"); | |||||
| const imgurl = require("../../../utils/imgurl"); | |||||
| const config = require("../../../config/config"); | |||||
| let app = getApp(); | |||||
| Page({ | |||||
| /** | |||||
| * 页面的初始数据 | |||||
| */ | |||||
| data: { | |||||
| page: 1, | |||||
| shopVoList: [], | |||||
| data: {}, | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面加载 | |||||
| */ | |||||
| onLoad: function (options) { | |||||
| let that = this; | |||||
| that.getList(options.id); | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面初次渲染完成 | |||||
| */ | |||||
| onReady: function () { | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面显示 | |||||
| */ | |||||
| onShow: function () { | |||||
| }, | |||||
| /** | |||||
| * 获取商户详情 | |||||
| */ | |||||
| 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 | |||||
| }) | |||||
| }) | |||||
| .catch(err => { | |||||
| wx.showToast({ | |||||
| title: err.errMsg, | |||||
| icon: 'none', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| }) | |||||
| }, | |||||
| }) | |||||
| @@ -0,0 +1,6 @@ | |||||
| { | |||||
| "navigationBarTitleText": "商户位置", | |||||
| "backgroundColor": "#f4f4f4", | |||||
| "enablePullDownRefresh": true, | |||||
| "usingComponents": {} | |||||
| } | |||||
| @@ -0,0 +1,12 @@ | |||||
| <view class='merchant-detail'> | |||||
| <!-- 商户列表 --> | |||||
| <view class='merchant-brand'wx:for="{{shopVoList}}" wx:key="unique"> | |||||
| <view> | |||||
| <image src='{{data.brandImg}}'></image> | |||||
| </view> | |||||
| <view> | |||||
| <text>{{data.merchantName}}</text> | |||||
| <text>{{item.shopNumber}}, {{item.buildingName}} {{item.floorName}}</text> | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| @@ -0,0 +1,51 @@ | |||||
| /* pages/index/merchantList/index.wxss */ | |||||
| .merchant-detail{ | |||||
| width: 92%; | |||||
| margin: 0 auto; | |||||
| } | |||||
| .merchant-brand{ | |||||
| /* width:100%; */ | |||||
| display:flex; | |||||
| /* padding:20rpx 0; */ | |||||
| background:#fff; | |||||
| border-bottom:1rpx solid #efefef; | |||||
| width:690rpx; | |||||
| height:197rpx !important; | |||||
| background:#fff; | |||||
| padding:30rpx 0 0; | |||||
| margin:0 auto 40rpx; | |||||
| border-radius:16rpx; | |||||
| border-top:8rpx solid #02b7ff; | |||||
| box-shadow:0 6px 20px 0 rgba(0, 0, 0, 0.10); | |||||
| } | |||||
| .merchant-brand view:nth-child(1) { | |||||
| width:160rpx; | |||||
| border-radius:16rpx; | |||||
| height:160rpx; | |||||
| padding-left: 10rpx; | |||||
| } | |||||
| .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) text:nth-child(1){ | |||||
| margin-top: 20rpx; | |||||
| padding: 10rpx 0; | |||||
| font-size:35rpx; | |||||
| font-weight: bold; | |||||
| color:#333; | |||||
| } | |||||
| .merchant-brand view:nth-child(2) text:nth-child(2){ | |||||
| font-size: 28rpx; | |||||
| color: #333; | |||||
| } | |||||
| .merchant-brand view:nth-child(2) { | |||||
| display:flex; | |||||
| flex-direction:column; | |||||
| flex:8; | |||||
| padding-left:80rpx; | |||||
| } | |||||
| @@ -35,9 +35,8 @@ Page({ | |||||
| * 跳转到门店列表的详情页面 | * 跳转到门店列表的详情页面 | ||||
| */ | */ | ||||
| gotoDetail(e){ | gotoDetail(e){ | ||||
| console.log(e) | |||||
| wx.navigateTo({ | wx.navigateTo({ | ||||
| url: '/', | |||||
| url: `/pages/index/detail/index?id=${e.currentTarget.dataset.id}` | |||||
| }) | }) | ||||
| }, | }, | ||||
| /** | /** | ||||
| @@ -124,13 +123,6 @@ Page({ | |||||
| }); | }); | ||||
| }) | }) | ||||
| }, | }, | ||||
| // 跳往商户详情 | |||||
| godetail: function (e) { | |||||
| console.log(e) | |||||
| wx.navigateTo({ | |||||
| url: `/pages/order/detail/index?orderId=${e.currentTarget.dataset.id}` | |||||
| }) | |||||
| }, | |||||
| phone: function (e) { | phone: function (e) { | ||||
| let that = this; | let that = this; | ||||
| if (e.currentTarget.dataset.merchantlinkphone) { | if (e.currentTarget.dataset.merchantlinkphone) { | ||||