diff --git a/assets/images/certification.png b/assets/images/certification.png new file mode 100644 index 0000000..143e7c8 Binary files /dev/null and b/assets/images/certification.png differ diff --git a/assets/images/chevron.png b/assets/images/chevron.png new file mode 100644 index 0000000..2b89cd5 Binary files /dev/null and b/assets/images/chevron.png differ diff --git a/assets/images/merchantImgCover.png b/assets/images/merchantImgCover.png new file mode 100644 index 0000000..ac6476d Binary files /dev/null and b/assets/images/merchantImgCover.png differ diff --git a/assets/images/siteImg.png b/assets/images/siteImg.png new file mode 100644 index 0000000..42fdd84 Binary files /dev/null and b/assets/images/siteImg.png differ diff --git a/components/shop/shop.js b/components/shop/shop.js new file mode 100644 index 0000000..a0d2f08 --- /dev/null +++ b/components/shop/shop.js @@ -0,0 +1,92 @@ +Component({ + properties: { + mallList: { + value: [], + type: Array + } + }, + + data: { + list: [], // 广场、商户列表 + mallNum: 0, // 适用商户数量 + }, + + methods: { + // 跳转详情页 + gotoDetail(e) { + console.log(e); + wx.navigateTo({ + url: `/pages/index/searchbar/detail/index?id=${e.currentTarget.dataset.id}&mallTenantId=${e.currentTarget.dataset.tenantid}` + }) + }, + + // 跳转资质页面 + // goCertification(e) { + // wx.navigateTo({ + // url: `/pages/shopCertification/index?id=${e.currentTarget.dataset.id}` + // }) + // }, + + //跳转地图页面 + goMap(e) { + let { + latitude, + longitude + } = e.currentTarget.dataset.item + console.log(latitude, longitude); + wx.openLocation({ + latitude: Number(latitude), + longitude: Number(longitude), + scale: 18, + success() { + console.log("打开地图成功"); + }, + fail(err) { + console.log("打开地图失败:", err.errMsg); + }, + }); + }, + + goFitShop() { + const arr = [] + this.data.list.forEach(item => { + item.merchantVoList.forEach(el => { + arr.push(el) + }) + }) + wx.navigateTo({ + url: `/pages/fitShop/fitShop?list=${JSON.stringify(arr)}`, + success: (res) => { }, + fail: (res) => { }, + }); + }, + + expandList(e) { + const index = e.currentTarget.dataset.index + const arr = this.data.list + arr[index].expand = !arr[index].expand + this.setData({ + list: arr + }) + } + }, + + ready() { + this.setData({ + list: JSON.parse(JSON.stringify(this.properties.mallList)) + }) + + console.log(this.data.mallList, 'mallList'); + let mallNum = 0 + this.data.list.forEach(item => { + mallNum += item.merchantVoList.length + }) + this.setData({ + mallNum: mallNum + }) + }, + + created() { + + } +}) \ No newline at end of file diff --git a/components/shop/shop.json b/components/shop/shop.json new file mode 100644 index 0000000..32640e0 --- /dev/null +++ b/components/shop/shop.json @@ -0,0 +1,3 @@ +{ + "component": true +} \ No newline at end of file diff --git a/components/shop/shop.wxml b/components/shop/shop.wxml new file mode 100644 index 0000000..0247f52 --- /dev/null +++ b/components/shop/shop.wxml @@ -0,0 +1,58 @@ + + + 适用门店 + + {{'共'+mallNum+'家门店适用'}} + + + + + + {{item.mallName}} + + + + + + + {{item.merchantVoList.length+'家门店适用'}} + + + + + + + + + + + + {{item.addr}} + + + + + + \ No newline at end of file diff --git a/components/shop/shop.wxss b/components/shop/shop.wxss new file mode 100644 index 0000000..2ff71cf --- /dev/null +++ b/components/shop/shop.wxss @@ -0,0 +1,205 @@ +.components { + display: block; + height: auto; + margin-top: 15rpx; + background-color: #fff; +} + +.components .header { + height: 70rpx; +} + +.components .header .applyshop { + float: left; + font-size: 30rpx; + line-height: 70rpx; + text-indent: 1em; + color: #333; + background: #fff; + font-weight: bold; +} + +.components .header .goShop { + float: right; + font-size: 22rpx; + height: 70rpx; + line-height: 70rpx; + text-indent: 1em; + color: #a6a6a6; + background: #fff; + font-weight: bold; + margin-right: 25rpx; +} + +.components .header .rightArrow { + float: right; + display: block; + width: 14rpx; + margin: 24rpx 30rpx 0 10rpx; +} + +.components .body { + border-bottom: 10rpx solid #f4f5f9; +} + +.components .body .mall { + display: flex; + justify-content: space-between; + align-items: center; + margin-top: 15rpx; + margin-bottom: 15rpx; + padding-left: 25rpx; + padding-right: 65rpx; +} + +.components .body .mall .img { + width: 120rpx; + height: 120rpx; +} + +.components .body .mall .mallItem { + display: flex; + justify-content: space-between; + align-items: center; +} + +.components .body .mall .mallItem .title { + font-size: 35rpx; +} + +.components .body .goExpand { + text-align: center; + font-size: 25rpx; + color: #a6a6a6; +} + +.components .body .goExpand .rightArrowDown { + position: relative; + left: 50%; + transform: translate(-50%); + display: block; + width: 14rpx; + transform: rotate(90deg); +} + +.components .body .goExpand .rightArrowUp { + position: relative; + left: 50%; + transform: translate(-50%); + display: block; + width: 14rpx; + transform: rotate(-90deg); +} + +.components .body .shop .posi { + /* position: relative; */ + width: 100%; + background: #FFF; + margin-bottom: 20rpx; +} + +.components .body .shop .posi .posi_logo { + position: relative; + width: 92%; + display: flex; + padding: 20rpx 0; + background: #fff; + margin: 0 auto; +} + +.components .body .shop .posi .posi_logo .img { + display: block; + width: 100rpx; + height: 100rpx; + border-radius: 16rpx; + margin-right: 16rpx; + border: 1px solid #e5e5e5; +} + +.components .body .shop .posi .posi_logo .name { + font-size: 32rpx; + color: #333; + letter-spacing: 0; + width: 500rpx; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} + +.components .body .shop .posi .posi_logo .shopVoList { + white-space: nowrap !important; + overflow-y: scroll; + height: 90rpx !important; + width: 360rpx; + font-size: 16px; + color: #333; + letter-spacing: 0; +} + +.components .body .shop .posi .posi_logo .shopVoList .name { + font-size: 23rpx !important; + color: #b8b8b8 !important; +} + +.components .body .shop .posi .posi_logo .telBox { + position: absolute; + right: 0; + top: 0; + bottom: 0; + margin: auto; +} + +.components .body .shop .posi .posi_logo .telBox .telImg { + width: 50rpx; + height: 50rpx; + margin-top: 20rpx; +} + +.components .body .shop .posi .posi_logo .telBox .telText { + text-align: center; + color: #b8b8b8 !important; + font-size: 20rpx; +} + +.components .body .shop .posi .posi_logo .certificationBox { + position: absolute; + right: 35rpx; + top: 0; + bottom: 0; + margin: auto; +} + +.components .body .shop .posi .posi_logo .certificationBox .certificationImg { + width: 50rpx; + height: 50rpx; + margin-top: 20rpx; +} + +.components .body .shop .posi .posi_logo .certificationBox .telText { + text-align: center; + color: #b8b8b8 !important; + font-size: 20rpx; +} + +.components .body .shop .posi .siteBox { + overflow: hidden; + width: 92%; + margin: 0 auto 1rpx auto; + padding-bottom: 10rpx; +} + +.components .body .shop .posi .siteBox .siteText { + width: 90%; + float: left; + font-size: 24rpx; + color: #333; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.components .body .shop .posi .siteBox .siteImg { + float: right; + width: 40rpx; + height: 40rpx; +} \ No newline at end of file diff --git a/ext.json b/ext.json index 3c0587f..34dfe10 100644 --- a/ext.json +++ b/ext.json @@ -1,7 +1,14 @@ { "ext": { "attr": { - "mchId": "1602801645", + "car": { + "etcp": { + "etcpAppId": "wx192b7d2e8dcbefd0", + "etcpVersion": "release", + "etcpCallbackUrl": "https://admintest.malls.iformall.com/api/carCallback/etcpPaidCallback" + } + }, + "mchId": "1604439800", "imgProxy": [ { "newUrl": "https://ctest.malls.iformall.com/img", @@ -17,16 +24,12 @@ } ], "configUrl": "https://ctest.malls.iformall.com/C/api", - "etcpAppId": "wx219a81b9c87aa4f7", - "etcpVersion": "release", "businessSwitch": "1", - "businessVersion": "1", - "etcpCallbackUrl": "https://admintest.malls.iformall.com/api/carCallback/etcpPaidCallback", "ifHaveWebSocket": "0", "ifHaveCarModular": "1" }, - "name": "富茂光谷测试版", - "weappId": "wx219a81b9c87aa4f7", + "name": "金泸商务", + "weappId": "wx649b3be73c1afe47", "appVersion": "C.test.5.2.0" }, "debug": false, @@ -74,15 +77,15 @@ }, "plugins": { "auto-points-plugin": { - "version": "2.4.0", + "version": "1.3.0", "provider": "wxfab2bf944bfc4da6" }, "live-player-plugin": { - "version": "1.2.5", + "version": "1.3.4", "provider": "wx2b03c6e691cd7370" } }, - "extAppid": "wx219a81b9c87aa4f7", + "extAppid": "wx649b3be73c1afe47", "extEnable": true, "permission": { "scope.userLocation": { diff --git a/pages/coupon/detail/index.js b/pages/coupon/detail/index.js index 5c9461b..32bb0f2 100644 --- a/pages/coupon/detail/index.js +++ b/pages/coupon/detail/index.js @@ -95,6 +95,7 @@ Page({ contentType: 0, page: 1,//查询商户优惠券page idList: [], + mallList: "" }, /** * 显示分享弹框 @@ -600,26 +601,25 @@ Page({ couponChannelId: couponChannelId } }).then(res => { - if (res.data && res.data.length) { - let merchantVoList = res.data - let idList = [] - merchantVoList.map(item => { - idList.push(item.id) - }) - this.setData({ - idList: idList - }) - this.getCouponList(idList) //获取推荐列表 - } + const keys = Object.keys(res.data) + const mallList = [] + keys.forEach(item => { + const arr = item.split('|') + const obj = { + tenantId: arr[0], + mallName: arr[1], + merchantVoList: res.data[item], + expand: true + } + mallList.push(obj) + }) this.setData({ - merchantVoList: res.data + mallList: mallList }) + console.log(this.data.mallList, 'mallList'); }) }, - - - getDetail: function (couponChannelId, flag) { let that = this; let data = {}; diff --git a/pages/coupon/detail/index.json b/pages/coupon/detail/index.json index 0af1d50..95d6fe2 100644 --- a/pages/coupon/detail/index.json +++ b/pages/coupon/detail/index.json @@ -3,6 +3,7 @@ "c-shareposter": "../../../../components/shareposter/index", "navbar": "../../../../components/navbar/navbar", "store": "../../../../components/store/index", + "shop": "../../../../components/shop/shop", "c-coupons": "../../../components/coupons/index" }, "navigationBarTitleText": "", diff --git a/pages/coupon/detail/index.wxml b/pages/coupon/detail/index.wxml index 0c18e93..92d8764 100644 --- a/pages/coupon/detail/index.wxml +++ b/pages/coupon/detail/index.wxml @@ -117,7 +117,8 @@ - + + diff --git a/pages/dateLsit/dateLsit.wxss b/pages/dateLsit/dateLsit.wxss index 2d517fc..f485389 100644 --- a/pages/dateLsit/dateLsit.wxss +++ b/pages/dateLsit/dateLsit.wxss @@ -21,7 +21,6 @@ font-size: 32rpx; font-weight: 700; margin-left: 10rpx; - height: 60rpx; line-height: 60rpx; } @@ -55,4 +54,4 @@ height: 60rpx; line-height: 60rpx; color: rgba(0, 0, 0, 0.3); -} +} \ No newline at end of file diff --git a/pages/spellGroup/mySpellGroup/index.js b/pages/spellGroup/mySpellGroup/index.js index 5001a08..ee0dcff 100644 --- a/pages/spellGroup/mySpellGroup/index.js +++ b/pages/spellGroup/mySpellGroup/index.js @@ -50,15 +50,16 @@ Page({ display: "none", orderGroupId: '', merchantVoList: [], - goHomeUrl:"", + goHomeUrl: "", + mallList: '' }, /** * 生命周期函数--监听页面加载 - */ + */ onLoad: function (options) { this.setData({ - mouldType:app.globalData.mouldType, + mouldType: app.globalData.mouldType, mouldConfig: app.globalData.mouldConfig, goHomeUrl: app.globalData.goHomeUrl, }) @@ -163,7 +164,7 @@ Page({ }, /** * 直接购买 - */ + */ gotoBuy(e) { let that = this; this.setData({ @@ -335,7 +336,7 @@ Page({ data: { couponId: couponId } - }).then(res => { + }).then(res => { that.setData({ disOrderNumber: res.data.orderNumber, couponChannelId: res.data.couponChannelId, @@ -473,10 +474,33 @@ Page({ 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, - merchantVoList: data.merchantVoList - }); + // that.setData({ + // data, + // merchantVoList: data.merchantVoList + // }); + Http.get({ + url: config.api.couponMerchant, + data: { + couponChannelId: couponChannelId + } + }).then(res => { + const keys = Object.keys(res.data) + const mallList = [] + keys.forEach(item => { + const arr = item.split('|') + const obj = { + tenantId: arr[0], + mallName: arr[1], + merchantVoList: res.data[item], + expand: true + } + mallList.push(obj) + }) + this.setData({ + mallList: mallList + }) + console.log(this.data.mallList, 'mallList'); + }) }); }, /** @@ -671,7 +695,7 @@ Page({ }); } }).then(res => { - console.log(res,"123") + console.log(res, "123") if (typeof (res) != "undefined") { let orderId = "" + res.data.mainOrderId; that.setData({ @@ -734,7 +758,7 @@ Page({ }) .catch(err => { that.setData({ - canSpell: true, + canSpell: true, canBuyIf: true }) wx.showToast({ @@ -762,7 +786,7 @@ Page({ }) } }) - + }, /** * 生命周期函数--监听页面显示 diff --git a/pages/spellGroup/mySpellGroup/index.json b/pages/spellGroup/mySpellGroup/index.json index 111bcc2..a0d878a 100644 --- a/pages/spellGroup/mySpellGroup/index.json +++ b/pages/spellGroup/mySpellGroup/index.json @@ -3,6 +3,7 @@ "enablePullDownRefresh": true, "usingComponents": { "navbar": "../../../../components/navbar/navbar", - "store": "../../../../components/store/index" + "store": "../../../../components/store/index", + "shop": "../../../../components/shop/shop" } } \ No newline at end of file diff --git a/pages/spellGroup/mySpellGroup/index.wxml b/pages/spellGroup/mySpellGroup/index.wxml index c2c9903..6b5ae80 100644 --- a/pages/spellGroup/mySpellGroup/index.wxml +++ b/pages/spellGroup/mySpellGroup/index.wxml @@ -1,12 +1,12 @@ - +