From ba06f7792aa7415cd6a7c00d3e66aafa2c753a8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BD=87?= Date: Tue, 25 Mar 2025 20:24:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=87=E4=BB=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/shop.js | 19 ++- app.json | 3 +- app.wxss | 2 +- components/merchantOrder/index.js | 6 +- package-lock.json | 8 +- package.json | 2 +- pages/help/address/edit/index.js | 80 +++++++-- pages/help/address/edit/index.wxml | 38 +++-- pages/help/address/edit/index.wxss | 15 ++ pages/help/address/index/index.js | 18 +- pages/help/address/index/index.wxml | 2 +- pages/help/index/index.js | 2 +- pages/order/detail-group/index.js | 3 + pages/order/detail-group/index.wxml | 145 ++++++++-------- pages/order/detail-group/index.wxss | 92 +++++++--- pages/order/detail/index.wxml | 2 +- pages/order/index/index.js | 5 +- pages/order/index/index.wxml | 253 ++++++++++++++-------------- pages/order/index/index.wxss | 52 ++++-- pages/shop/detail/index.js | 35 ++-- pages/shop/detail/index.json | 3 +- pages/shop/detail/index.wxml | 51 +++--- pages/shop/index/index.js | 2 +- pages/shop/success/index.js | 71 -------- pages/shop/success/index.wxml | 14 +- pages/shop/success/index.wxss | 30 ++-- 26 files changed, 543 insertions(+), 410 deletions(-) diff --git a/api/shop.js b/api/shop.js index 9fff943..b4412a4 100644 --- a/api/shop.js +++ b/api/shop.js @@ -12,6 +12,13 @@ export default { return request.get(`/api/merchant/${id}`,data); }, product:{ + deliveryTimeType:{ + //立即送 定时达(自提) + immediate:'IMMEDIATE',scheduled:'SCHEDULED' + }, + deliveryTimeTypeKV:{ + IMMEDIATE:'及时达',SCHEDULED:'定时达' + }, list:(data)=>request.get('/api/merchant/product/list',data), detail:(product_id)=>request.get(`/api/merchant/product/${product_id}`) }, @@ -21,18 +28,18 @@ export default { //计算在线买单赠送积分 calculateOrderPoint:(merchant_id,amount)=>request.post('/api/merchant-pay/calculate-points',{merchant_id,amount}), //创建店铺商品订单 - order(merchant_product_id,order_amount){ - const data = {}; - return request.post('/api/merchant/order',{merchant_product_id,order_amount}) - }, + order:(data)=>request.post('/api/merchant/order',data), //创建在线买单订单 merchantPay:(merchant_id,amount)=>request.post('/api/merchant-pay',{merchant_id,amount}), merchantOrderStatusKV:{ - CREATED:'待支付',UNVERIFIED:'待核销',VERIFIED:'已核销',REFUNDING:'退款中',REFUNDED:'已退款' + CREATED:'待支付',PENDING:'待接单',DELIVERING:'待配送',PICKUP_READY:'待自提', + COMPLETED:'已完成',CANCELLED:'已取消',REFUNDING:'退款中',REFUNDED:'已退款' }, merchantOrderStatus:{ - created:'CREATED',unverified:'UNVERIFIED',verified:'VERIFIED',refunding:'REFUNDING',refunded:'REFUNDED' + created:"CREATED",pending:"PENDING", + delivering:"DELIVERING",pickupReady:"PICKUP_READY",completed:"COMPLETED", + cancelled:"CANCELLED",refunding:"REFUNDING",refunded:"REFUNDED" }, merchantPayOrderStatusKV:{ diff --git a/app.json b/app.json index 7b62031..5cf050d 100644 --- a/app.json +++ b/app.json @@ -75,6 +75,7 @@ } }, "requiredPrivateInfos": [ - "getLocation" + "getLocation", + "chooseLocation" ] } \ No newline at end of file diff --git a/app.wxss b/app.wxss index a64df77..b1957e8 100644 --- a/app.wxss +++ b/app.wxss @@ -1,5 +1,5 @@ page{ - font-size:32rpx; + font-size:30rpx; line-height: 1; --main-font-color:#000000; --main-bgclolor:#F5F5F5; diff --git a/components/merchantOrder/index.js b/components/merchantOrder/index.js index f7b9060..99cb1a7 100644 --- a/components/merchantOrder/index.js +++ b/components/merchantOrder/index.js @@ -31,8 +31,10 @@ Component({ }); }) }, - getOrder(){ - shopApi.order(this.data.product.id).then((data)=>{ + getOrder(merchant_product_id,qty,address_id){ + shopApi.order({ + merchant_product_id,qty,address_id + }).then((data)=>{ this.setData({ isShowConfirm:false }); diff --git a/package-lock.json b/package-lock.json index d43dee8..3a7269b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "license": "ISC", "dependencies": { "@beefast-wxmp/number-box": "^0.0.1", - "@beefast-wxmp/towxml": "^0.0.1" + "@beefast-wxmp/towxml": "^0.0.2" } }, "node_modules/@beefast-wxmp/number-box": { @@ -20,9 +20,9 @@ "license": "ISC" }, "node_modules/@beefast-wxmp/towxml": { - "version": "0.0.1", - "resolved": "https://packages.aliyun.com/6486fc420ce788fc1c0798b3/npm/repo-glpby/@beefast-wxmp/towxml/-/@beefast-wxmp/towxml-0.0.1.tgz", - "integrity": "sha512-vKp2MOBQWz44Sg+h4Czk2rymQDjEGXRUa9GOmqAUyzIAYW9zDj7lojU0eJQdGZdzO3Pggb/5NIeoDgJaM033Aw==", + "version": "0.0.2", + "resolved": "https://packages.aliyun.com/6486fc420ce788fc1c0798b3/npm/repo-glpby/@beefast-wxmp/towxml/-/@beefast-wxmp/towxml-0.0.2.tgz", + "integrity": "sha512-biAG95xB+H4n3VQSwiUi/Xpw8w7OdPg3lxQ+JO0Cm0EZ62ALaCSf07huQE+mAqijQ1UWe/m48ky+rlkKJhmxaQ==", "license": "ISC" } } diff --git a/package.json b/package.json index 88616c3..4b0b467 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,6 @@ "license": "ISC", "dependencies": { "@beefast-wxmp/number-box": "^0.0.1", - "@beefast-wxmp/towxml": "^0.0.1" + "@beefast-wxmp/towxml": "^0.0.2" } } diff --git a/pages/help/address/edit/index.js b/pages/help/address/edit/index.js index f728a40..3532f3b 100644 --- a/pages/help/address/edit/index.js +++ b/pages/help/address/edit/index.js @@ -12,6 +12,7 @@ Page({ communityId:null, communityName:'', editType:'add', + addressType:'', addressDetail:{}, @@ -21,7 +22,8 @@ Page({ community_building_id:'', address_detail:'', - isShowConfirm:false + isShowConfirm:false, + choosedAddress:{} }, validator:{ name:{required:true,message:'请输入姓名',shake:true,autoFocus:true}, @@ -29,6 +31,12 @@ Page({ buildingIndex:{required:true,message:'请选择楼栋',shake:true,autoFocus:true}, address_detail:{required:true,message:'请输入详细地址',shake:true,autoFocus:true} }, + validatorCommon:{ + communityName:{required:true,message:'请选择收货地址',shake:true}, + name:{required:true,message:'请输入收货人',shake:true,autoFocus:true}, + phone:{type:'phone',message:'请输入正确的手机号',shake:true,autoFocus:true}, + address_detail:{required:true,message:'请输入楼号/门牌号',shake:true,autoFocus:true} + }, showModal(){ this.setData({ isShowConfirm:true @@ -51,12 +59,13 @@ Page({ * 生命周期函数--监听页面加载 */ onLoad(options) { - const communityId = options.community_id; - const communityName = options.community_name; + const communityId = options.community_id||0; + const communityName = options.community_name||''; const addressId = options.address_id; this.setData({ - editType:addressId?'edit':'add' + editType:addressId?'edit':'add', + addressType:options.type||'' }); //修改 @@ -66,6 +75,8 @@ Page({ communityId:data.community_id, communityName:data.community_name, addressDetail:data, + addressType:data.address_type.toLowerCase(), + communityName:data.community_name, name:data.name, gender:data.gender, @@ -73,30 +84,45 @@ Page({ community_building_id:data.community_building_id, address_detail:data.address_detail }); - this.getBuildingList(); + this.data.choosedAddress = { + name:data.community_name, + latitude:data.latitude, + longitude:data.longitude + } + if(this.data.addressType=='pickup'){ + this.getBuildingList(); + } }); }else{ //新增 this.setData({ communityId,communityName }) - - this.getBuildingList(); + if(this.data.addressType=='pickup'){ + this.getBuildingList(); + } } }, save(){ - const valid = app.validateForm(this.validator,this); + const valid = app.validateForm(this.data.addressType=='pickup'?this.validator:this.validatorCommon,this); console.log(valid); if(valid.length!=0){ return; } let data = { - community_id:this.data.communityId, - community_building_id:this.data.buildingList[this.data.buildingIndex].id, address_detail:this.data.address_detail, name:this.data.name, gender:this.data.gender, - phone:this.data.phone + phone:this.data.phone, + address_type:this.data.addressType.toUpperCase() + } + if(this.data.addressType=='common'){ + data.longitude = this.data.choosedAddress.longitude; + data.latitude = this.data.choosedAddress.latitude; + data.community_name = this.data.communityName; + }else{ + data.community_id = this.data.communityId; + data.community_building_id = this.data.buildingList[this.data.buildingIndex].id; } if(this.data.editType=='edit'){ //编辑 @@ -131,7 +157,14 @@ Page({ updateAddressIndex(){ const pages = getCurrentPages(); const prePage = pages[pages.length-3]; - prePage.data.manuallyChangedCommunity = false; + if(prePage){ + //首页进来的 让他自己通过onshow刷新 + prePage.data.manuallyChangedCommunity = false; + //商品详情进来的,需要刷新详情,因为涉及删除和修改地址,避免额外代码并带来额外错误的可能性 + if(prePage.getDetail){ + prePage.getDetail(); + } + } }, getBuildingList(){ commonApi.building.list(this.data.communityId).then((data)=>{ @@ -156,6 +189,29 @@ Page({ gender:event.detail.value }) }, + openMap(){ + app.getLocation().then((data)=>{ + // wx.openLocation({ + // latitude: data.latitude, + // longitude: data.longitude, + // }) + + wx.chooseLocation({ + latitude: data.latitude, + longitude: data.longitude, + success:(res)=>{ + this.setData({ + choosedAddress:res, + communityName:res.name, + communityNameMessage:'' + }) + }, + fail(res){ + console.log('error',res); + } + }); + }) + }, /** * 生命周期函数--监听页面初次渲染完成 */ diff --git a/pages/help/address/edit/index.wxml b/pages/help/address/edit/index.wxml index 36619fe..d2cbf5a 100644 --- a/pages/help/address/edit/index.wxml +++ b/pages/help/address/edit/index.wxml @@ -1,13 +1,23 @@ - - 绑定小区 + + {{addressType=='common'?'送货地址':'绑定小区'}} + + {{communityName||'选择送货地址'}} + {{communityNameMessage}} + + + + + - {{communityName}} + + {{address_detailMessage}} - - 用户姓名 + {{addressType=='pickup'?'用户姓名':'收货人'}} @@ -37,16 +47,16 @@ - - 选择楼栋 - - - {{buildingIndexMessage}} - - - + + 选择楼栋 + + + {{buildingIndexMessage}} + + + - + 详细地址 { + //如果是首页进来的,直接返回,首页onShow会去获取默认地址 wx.navigateBack(); + //如果是商品详情进来的,为了少请求一次,手动更新地址 + const pages = getCurrentPages(); + const prePage = pages[pages.length - 2]; + if(prePage&&prePage.updateDefaultAddress){ + prePage.updateDefaultAddress(item); + } }) }, goToAddressEditor(event){ @@ -105,7 +113,7 @@ Page({ }, goToAddAddress(){ wx.navigateTo({ - url: `/pages/help/address/edit/index?community_id=${this.data.communityId}&&community_name=${this.data.communityName}`, + url: `/pages/help/address/edit/index?type=${this.data.type}&community_id=${this.data.communityId}&&community_name=${this.data.communityName}`, }) } }) \ No newline at end of file diff --git a/pages/help/address/index/index.wxml b/pages/help/address/index/index.wxml index 2325403..10376ea 100644 --- a/pages/help/address/index/index.wxml +++ b/pages/help/address/index/index.wxml @@ -3,7 +3,7 @@ - {{item.community_name}} {{item.community_building_name}} {{item.address_detail}} + {{item.community_name}} {{item.community_building_name||''}} {{item.address_detail}} {{item.name}} {{genderKV[item.gender]}} {{item.phone}} { if(data.default_address){ diff --git a/pages/order/detail-group/index.js b/pages/order/detail-group/index.js index 04fbdc1..141e15b 100644 --- a/pages/order/detail-group/index.js +++ b/pages/order/detail-group/index.js @@ -15,6 +15,9 @@ Page({ lat:0, merchantOrderStatus:shopApi.merchantOrderStatus, merchantOrderStatusKV:shopApi.merchantOrderStatusKV, + + genderKV:userApi.genderKV, + refunding:false, scrollViewHeight:0, diff --git a/pages/order/detail-group/index.wxml b/pages/order/detail-group/index.wxml index 48b7c9a..ab1226b 100644 --- a/pages/order/detail-group/index.wxml +++ b/pages/order/detail-group/index.wxml @@ -1,75 +1,84 @@ - - - - - {{orderDetail.product_name}} - - {{item}} + + + {{merchantOrderStatusKV[orderDetail.order.status]}} + + + + {{orderDetail.product_name}} + + {{item}} + + + {{orderDetail.order_amount}} + + + + + + 到店请出示二维码核销 + + + + + 送货地址 + + + {{orderDetail.address.community_name}} + {{orderDetail.address.address_detail}} + + + {{orderDetail.address.name}} {{genderKV[orderDetail.address.gender]}} {{orderDetail.address.phone}} + + + + + 供货方 + + + + + {{orderDetail.merchant.name}} + {{orderDetail.merchant.address}} + + + + + + + 订单信息 + + + 交易订单 + {{orderDetail.order_id}} + + 复制 - {{orderDetail.order_amount}} - - - - + + 订单状态 + {{merchantOrderStatusKV[orderDetail.status]}} - 到店请出示二维码核销 - - + + 交易方式 + 微信支付 + + + 下单时间 + {{orderDetail.create_time}} + + + + - - - {{orderDetail.merchant_name}} - 距离{{orderDetail.distance}} - - - - - - 导航 - - - - - - 电话 - + + + + - - - 订单信息 - - - 交易订单 - {{orderDetail.order_id}} - - 复制 - - - - 订单状态 - {{merchantOrderStatusKV[orderDetail.status]}} - - - 交易方式 - 微信支付 - - - 下单时间 - {{orderDetail.create_time}} - - - - - - - - - \ No newline at end of file diff --git a/pages/order/detail-group/index.wxss b/pages/order/detail-group/index.wxss index ffc9cc3..47adc0a 100644 --- a/pages/order/detail-group/index.wxss +++ b/pages/order/detail-group/index.wxss @@ -1,9 +1,36 @@ + +.order-status{ + margin:50rpx 20rpx; + display: flex; + align-items: center; + font-size: 40rpx; + font-weight: 600; + color:var(--main-color); +} +.order-status.COMPLETED,.order-status.CANCELLED{ + color:var(--main-font-color); +} +.order-status::before{ + content: ""; + display: block; + width:10rpx;height:44rpx; + margin-right:24rpx; + border-radius: 6rpx; + background-color:var(--main-color); +} +.order-status.COMPLETED::before,.order-status.CANCELLED::before{ + background-color:var(--main-font-color); +} + .page-container .title{ font-weight: 600; font-size:32rpx; display: flex; align-items: center; } +.page-container .spliter{ + margin:24rpx 0; +} .prd-info{ padding:46rpx 40rpx; } @@ -41,38 +68,47 @@ margin-top:30rpx; } -.address{ - display: flex; -} -.address .left{ - flex:1; -} -.address .left .text1{ - font-size: 36rpx; +.address .text1{ + font-size: 34rpx; font-weight: 500; + padding-top:16rpx; } -.address .left .text2{ - font-size: 26rpx; - margin-top:40rpx; +.address .text2{ + font-size:32rpx; + color:#888888; + margin-top:28rpx; } -.address .icon-con{ - background-color: rgba(153, 153, 153, 0.1); - border-radius: 50%; - display: inline-flex; +/* 商家 */ +.merchant .info{ + display: flex; align-items: center; - padding:8rpx; } -.address .icon{ - width:30rpx;height:30rpx; +.merchant .avatar{ + width:84rpx;height:84rpx; + border-radius: 50%; } -.address .right{ +.merchant .center{ + margin-left:20rpx; + flex:1; + overflow: hidden; + white-space: nowrap; +} +.merchant .name{ + font-weight: 500; + text-overflow: ellipsis; + overflow: hidden; +} +.merchant .address{ font-size: 26rpx; - color: #888888; - margin-left:48rpx; - text-align: center; + color: #555; + text-overflow: ellipsis; + overflow: hidden; + margin-top:20rpx; } -.address .right .text{ - margin-top:32rpx; +.merchant .icon-phone{ + width:36rpx;height:36rpx; + align-self: flex-start; + padding:4rpx; } @@ -118,21 +154,21 @@ -.bottom-bar{ +.bottom-bar-v2{ text-align: right; } -.bottom-bar .button{ +.bottom-bar-v2 .button{ line-height: 72rpx; padding:0 36rpx; font-weight: normal; border-radius: 18rpx; } -.bottom-bar .button1{ +.bottom-bar-v2 .button1{ color: #555555; border: 1rpx solid rgba(153, 153, 153, 0.5); font-size: 32rpx; } -.bottom-bar .button2{ +.bottom-bar-v2 .button2{ font-size: 32rpx; margin-left:30rpx; } \ No newline at end of file diff --git a/pages/order/detail/index.wxml b/pages/order/detail/index.wxml index 9a74356..a2e9e16 100644 --- a/pages/order/detail/index.wxml +++ b/pages/order/detail/index.wxml @@ -6,7 +6,7 @@ 原因: + class="order-tips right-arrow" wx:if="{{orderDetail.order_additional_fee&&orderDetail.order_additional_fee.result=='PENDING'}}"> 申请: diff --git a/pages/order/index/index.js b/pages/order/index/index.js index e90455c..2d9b504 100644 --- a/pages/order/index/index.js +++ b/pages/order/index/index.js @@ -22,6 +22,9 @@ Page({ merchantOrderStatus:shopApi.merchantOrderStatus, merchantOrderStatusKV:shopApi.merchantOrderStatusKV, + productDeliverType:shopApi.product.deliveryTimeType, + productDeliverTypeKV:shopApi.product.deliveryTimeTypeKV, + refreshTriggered:{ tab1:false,tab2:false,tab3:false }, @@ -47,7 +50,7 @@ Page({ url: `/pages/shop/detail/index?id=${item.merchant_id}`, }) }, - goToCouponDetail(event){ + navToProductOrderDetail(event){ const id = event.currentTarget.dataset.id; wx.navigateTo({ url: `/pages/order/detail-group/index?id=${id}`, diff --git a/pages/order/index/index.wxml b/pages/order/index/index.wxml index 6daa434..e968837 100644 --- a/pages/order/index/index.wxml +++ b/pages/order/index/index.wxml @@ -1,140 +1,147 @@ - - - - 配送订单 + + + + + 配送订单 + + + + 商品订单 + - - 消费买单 - - - 商品订单 - - - + - - + + - - - - - + + + + + + + 订单号 {{item.orderid}} + + {{orderStatusKV[item.status]}} + - 订单号 {{item.orderid}} - - {{orderStatusKV[item.status]}} + + + + 取件数量:{{item.package_count}} 件 + 送达地址:{{item.address.community_name}}{{item.address.address_detail}} + 下单时间:{{item.create_time}} + + + + + + + + - - + + + + + 暂无相关订单 + + + + + + + + {{item.merchant_name}} + -{{item.amount}} - 取件数量:{{item.package_count}} 件 - 送达地址:{{item.address.community_name}}{{item.address.address_detail}} - 下单时间:{{item.create_time}} + 订单状态 + {{merchantPayOrderStatusKV[item.status]}} - - - - + + 支付方式 + 微信支付 + + + 买单金额 + -{{item.amount}} + + + 赠送蜂蜜 + +{{item.gift_points}} + + + 交易时间 + {{item.create_time}} + + + 交易单号 + {{item.order_id}} + + + + + + 暂无相关订单 + + + + + + + + + {{item.merchant.name}} + {{merchantOrderStatusKV[item.order.status]}} + + + + + {{item.product.name}} + {{item.order.pay_amount}} - - - - - - - - - 暂无相关订单 - - - - - - - - {{item.merchant_name}} - -{{item.amount}} - - 订单状态 - {{merchantPayOrderStatusKV[item.status]}} - - - 支付方式 - 微信支付 - - - 买单金额 - -{{item.amount}} - - - 赠送蜂蜜 - +{{item.gift_points}} - - - 交易时间 - {{item.create_time}} - - - 交易单号 - {{item.order_id}} - - - - - - 暂无相关订单 - - - - - - - - - - - - {{merchantOrderStatusKV[item.status]}} - - - - - {{item.product_name}} - - {{item}} + + + {{productDeliverTypeKV[item.product.delivery_time_type]}} + + 接口要返回 + + + 下单时间:{{item.order.create_time}} - {{item.order_amount}} + - - 下单时间:{{item.create_time}} - - - - - - - 暂无相关订单 - - + + + 暂无相关订单 + + + + diff --git a/pages/order/index/index.wxss b/pages/order/index/index.wxss index d9e5598..1a0d2c1 100644 --- a/pages/order/index/index.wxss +++ b/pages/order/index/index.wxss @@ -88,44 +88,76 @@ .group-list .item{ background-color: #fff; border-radius: 18rpx; - padding:40rpx 30rpx 20rpx 40rpx; + padding:30rpx 30rpx 40rpx 30rpx; margin:24rpx 0; } .group-list .item .status{ color:var(--main-color); + font-size: 32rpx; } .group-list .item .status.VERIFIED,.group-list .item .status.REFUNDED{ color:var(--main-font-color); } .group-list .head{ display: flex; + align-items: center; +} +.group-list .head .avatar{ + width:56rpx;height:56rpx; + border-radius: 50%; } .group-list .head .name{ - font-size: 32rpx; - font-weight: 600; + font-size: 34rpx; + font-weight: 500; flex:1; display: flex; align-items: center; + color: #222; + margin-left: 24rpx; } .group-list .head .name .icon{ width:28rpx;height:28rpx; margin-left:4rpx; } .group-list .item .spliter{ - margin:32rpx 0; + margin:22rpx 0 30rpx 80rpx; } .group-list .content{ + padding-left:80rpx; +} +.group-list .content .product{ display: flex; + align-items: center; + justify-content: space-between; } -.group-list .content .image{ - width:160rpx;height:160rpx; +.group-list .content .product .name{ + font-size: 34rpx; + font-weight: 500; } -.group-list .content .center{ - flex:1; +.group-list .content .product .money{ + font-size: 40rpx; } -.group-list .content .tags{ - margin-top:22rpx; +.group-list .content .deliver-time{ + display: flex; + align-items: center; + margin-top:30rpx; + color: #FF8C12; + font-weight: 500; +} +.group-list .content .deliver-time .tag{ + color:#FF8C12; + border-color: #FF8C12; + font-size: 26rpx; + padding:4rpx 6rpx; +} +.group-list .content .deliver-time .time{ + margin-left:24rpx; +} +.group-list .content .create-time{ + font-size: 26rpx; + color: #888; + margin-top:38rpx; } .group-list .btns{ display: flex; diff --git a/pages/shop/detail/index.js b/pages/shop/detail/index.js index 291ba08..2260a24 100644 --- a/pages/shop/detail/index.js +++ b/pages/shop/detail/index.js @@ -26,7 +26,10 @@ Page({ productGuideMD:{}, scrollOverTop:false, - navBarHeight:0 + navBarHeight:0, + + buying:false, + qty:0 }, showConfirm(event){ @@ -41,12 +44,7 @@ Page({ */ onLoad(options) { this.data.productId = options.id; - - // app.getLocation().then((data)=>{ - // this.getDetail(data.longitude,data.latitude); - // }).catch(()=>{ - this.getDetail(); - // }) + this.getDetail(); this.createSelectorQuery().select('#navBar').boundingClientRect((res)=>{ this.data.navBarHeight = res.height; }).exec(); @@ -62,8 +60,8 @@ Page({ } this.setData({ detail:data, - productInfoMD:app.towxml('## 详情 \n- 第一项','markdown'), - productGuideMD:app.towxml('## 须知 \n- 第一项','markdown') + productInfoMD:app.towxml(data.product_detail,'markdown'), + productGuideMD:app.towxml(data.purchase_note,'markdown') }); }); }, @@ -92,6 +90,24 @@ Page({ }) } }, + updateDefaultAddress(address){ + this.setData({ + "detail.default_address":address + }) + }, + buy(){ + const valid = app.validateForm({ + qty:{min:1,shake:true} + },this) + if(valid.length==0){ + this.selectComponent('#merchantOrder').getOrder(this.data.detail.id,this.data.qty,this.data.detail.default_address.id) + }else{ + wx.showToast({ + icon:'none', + title: '请选择数量', + }) + } + }, /** * 生命周期函数--监听页面初次渲染完成 */ @@ -103,7 +119,6 @@ Page({ * 生命周期函数--监听页面显示 */ onShow() { - }, /** diff --git a/pages/shop/detail/index.json b/pages/shop/detail/index.json index 205ea75..794dde1 100644 --- a/pages/shop/detail/index.json +++ b/pages/shop/detail/index.json @@ -2,7 +2,8 @@ "usingComponents": { "nav-bar":"/components/navbar", "towxml":"/miniprogram_npm/@beefast-wxmp/towxml/towxml", - "number-box":"/miniprogram_npm/@beefast-wxmp/number-box" + "number-box":"/miniprogram_npm/@beefast-wxmp/number-box", + "merchant-order":"/components/merchantOrder" }, "navigationStyle": "custom" } \ No newline at end of file diff --git a/pages/shop/detail/index.wxml b/pages/shop/detail/index.wxml index eaa8667..04e7180 100644 --- a/pages/shop/detail/index.wxml +++ b/pages/shop/detail/index.wxml @@ -12,9 +12,9 @@ {{detail.name}} - 定时达 - 已售100丨自提 - + {{detail.delivery_time_type=='IMMEDIATE'?'及时达':'定时达'}} + 已售 {{detail.sold_total}} + @@ -26,28 +26,29 @@ - - 配送地址 - - 请选择收货地址 - - - - 配送地址 - - - - 朝阳时代西锦12栋1单元2072 - - - - 周先生 18583236782 - + + + 配送地址 + + + + {{detail.default_address.community_name}} + + + + {{detail.default_address.name}} {{detail.default_address.phone}} + + - + + 配送地址 + + 请选择收货地址 + + + - - + 自提点 @@ -80,5 +81,7 @@ {{detail.sale_price}} 赠蜂蜜{{detail.gift_points}}克 - + + + \ No newline at end of file diff --git a/pages/shop/index/index.js b/pages/shop/index/index.js index 0dad098..afc78d6 100644 --- a/pages/shop/index/index.js +++ b/pages/shop/index/index.js @@ -51,7 +51,7 @@ Page({ params.longitude = this.data.lng; params.latitude = this.data.lat; } - shopApi.product.list().then((data)=>{ + shopApi.product.list(params).then((data)=>{ if(this.data.pager.pageIndex==0){ this.data.shopList = data.items; }else{ diff --git a/pages/shop/success/index.js b/pages/shop/success/index.js index 6543627..d519519 100644 --- a/pages/shop/success/index.js +++ b/pages/shop/success/index.js @@ -7,83 +7,12 @@ Page({ * 页面的初始数据 */ data: { - shopList:[], - lng:0, - lat:0, - scrollViewHeight:0, - pager:{limit:10,loading:false,loadAll:false,pageIndex:0,refreshTrigger:false} }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { - const windowInfo = wx.getWindowInfo(); - console.log(windowInfo); - this.setData({ - scrollViewHeight:windowInfo.screenHeight-372 - }) - app.getLocation().then((res)=>{ - this.setData({ - lng:res.longitude, - lat:res.latitude - }); - this.getProductList(); - }).catch(()=>{ - this.getProductList(); - }) - }, - refreshList(){ - this.data.pager.pageIndex = 0; - this.data.pager.loadAll = false; - this.setData({ - pager:this.data.pager - }); - this.getProductList(); - }, - getProductList(){ - if(this.data.pager.loading||this.data.pager.loadAll){ - return; - } - this.data.pager.loading = true; - this.setData({ - pager:this.data.pager - }); - const data = { - skip:this.data.pager.pageIndex*this.data.pager.limit, - limit:this.data.pager.limit - } - if(this.data.lng&&this.data.lat){ - data.longitude = this.data.lng; - data.latitude = this.data.lat; - } - shopApi.list(data).then((data)=>{ - if(this.data.pager.pageIndex==0){ - this.data.shopList = data.items; - }else{ - this.data.shopList = this.data.shopList.concat(data.items); - } - this.data.pager.loading = false; - this.data.pager.pageIndex++; - this.data.pager.refreshTrigger = false; - if(data.items.length{ - if(item.distance){ - if(item.distance>=1000){ - item.distance = parseFloat(item.distance/1000).toFixed(1)+'km'; - }else{ - item.distance+='m'; - } - } - }); - this.setData({ - shopList:this.data.shopList, - pager:this.data.pager - }); - }) }, back(){ wx.switchTab({ diff --git a/pages/shop/success/index.wxml b/pages/shop/success/index.wxml index 7b597c8..e48a3fb 100644 --- a/pages/shop/success/index.wxml +++ b/pages/shop/success/index.wxml @@ -1,14 +1,6 @@ - 支付成功 + 下单成功 + 交易完成后,赠送蜂蜜赠哟~ - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/pages/shop/success/index.wxss b/pages/shop/success/index.wxss index 6fd7c97..dc74542 100644 --- a/pages/shop/success/index.wxss +++ b/pages/shop/success/index.wxss @@ -1,23 +1,27 @@ .success{ background-color: #fff; text-align: center; - padding:244rpx 0 100rpx 0; + padding:274rpx 0 0 0; + height: 100vh; + box-sizing: border-box; } .success .text{ - font-size: 36rpx; + font-size: 40rpx; font-weight: 500; - margin-top:30rpx; + margin-top:40rpx; + color:var(--main-color); +} +.success .tips{ + color: #555; + margin-top:40rpx; } .success .button{ - margin:100rpx 112rpx 0; + margin-top:90rpx; border-radius: 60rpx; + width:340rpx; + line-height: 1; + padding:28rpx 0; + font-size: 34rpx; + border-color: rgba(153, 153, 153, 0.5); + color: #222222; } - -.shop-list{ - margin-top:-20rpx; - border-radius: 30rpx 30rpx 0 0; - position: relative; - z-index: 1; - background-color: #F5F5F5; - padding-top:20rpx; -} \ No newline at end of file