Commit 29a41bb3 by 汪睦雄

最新版本20200330 增加订单备注复制

parent c2e4cb28
...@@ -29,10 +29,42 @@ App({ ...@@ -29,10 +29,42 @@ App({
} else { } else {
api.me.info().then(res => { api.me.info().then(res => {
_app.globalData.userInfo = res.data _app.globalData.userInfo = res.data
callback && callback(res)
}) })
} }
}, },
/**
* 显示成功提示框
*/
showSuccess(msg, callback) {
wx.showToast({
title: msg,
icon: 'success',
mask: true,
duration: 1500,
success() {
callback && (setTimeout(function() {
callback();
}, 1500));
}
});
},
/**
* 显示失败提示框
*/
showError(msg, callback) {
wx.showModal({
title: '友情提示',
content: msg,
showCancel: false,
success(res) {
callback && callback();
}
});
},
globalData: { globalData: {
userInfo: null userInfo: null
} }
......
...@@ -18,7 +18,11 @@ ...@@ -18,7 +18,11 @@
"components/navs/index", "components/navs/index",
"pages/search/search/search", "pages/search/search/search",
"pages/prjlist/list", "pages/prjlist/list",
"pages/search/list/list" "pages/search/list/list",
"pages/live/live",
"pages/address/index",
"pages/address/create",
"pages/address/detail"
], ],
"window": { "window": {
"backgroundTextStyle": "light", "backgroundTextStyle": "light",
...@@ -38,6 +42,12 @@ ...@@ -38,6 +42,12 @@
"selectedIconPath": "images/tabs/icon_home_active.png" "selectedIconPath": "images/tabs/icon_home_active.png"
}, },
{ {
"pagePath": "pages/live/live",
"text": "直播",
"iconPath": "images/tabs/icon_live.png",
"selectedIconPath": "images/tabs/icon_live_active.png"
},
{
"pagePath": "pages/search/index", "pagePath": "pages/search/index",
"text": "搜索", "text": "搜索",
"iconPath": "images/tabs/icon_search.png", "iconPath": "images/tabs/icon_search.png",
...@@ -56,5 +66,19 @@ ...@@ -56,5 +66,19 @@
"downloadFile": 10000 "downloadFile": 10000
}, },
"debug": true, "debug": true,
"sitemapLocation": "sitemap.json" "sitemapLocation": "sitemap.json",
"subpackages": [
{
"root": "packageA",
"pages": [
"pages/home/home"
],
"plugins": {
"live-player-plugin": {
"version": "1.0.2",
"provider": "wx2b03c6e691cd7370"
}
}
}
]
} }
\ No newline at end of file
...@@ -27,11 +27,11 @@ ...@@ -27,11 +27,11 @@
</i-grid-item> </i-grid-item>
</i-grid> </i-grid>
<i-grid i-class="nav-grid"> <i-grid i-class="nav-grid">
<i-grid-item i-class="nav-grid-item" catchtap='catalogClick' data-catalog='7' data-name='线下活动'> <i-grid-item i-class="nav-grid-item" catchtap='catalogClick' data-catalog='7' data-name='水果零食'>
<i-grid-icon i-class="nav-icon"> <i-grid-icon i-class="nav-icon">
<image src="/images/navs/icon_nav_5.png" /> <image src="/images/navs/icon_nav_5.png" />
</i-grid-icon> </i-grid-icon>
<i-grid-label i-class="nav-label">线下活动</i-grid-label> <i-grid-label i-class="nav-label">水果零食</i-grid-label>
</i-grid-item> </i-grid-item>
<i-grid-item i-class="nav-grid-item" catchtap='catalogClick' data-name='房券专区'> <i-grid-item i-class="nav-grid-item" catchtap='catalogClick' data-name='房券专区'>
<i-grid-icon i-class="nav-icon"> <i-grid-icon i-class="nav-icon">
......
...@@ -32,7 +32,7 @@ Page({ ...@@ -32,7 +32,7 @@ Page({
* 生命周期函数--监听页面显示 * 生命周期函数--监听页面显示
*/ */
onShow: function() { onShow: function() {
}, },
handleWxAuth: function(event) { handleWxAuth: function(event) {
...@@ -52,7 +52,7 @@ Page({ ...@@ -52,7 +52,7 @@ Page({
content: '授权登录成功', content: '授权登录成功',
type: 'success' type: 'success'
}); });
setTimeout(()=>{ setTimeout(() => {
wx.navigateBack({ wx.navigateBack({
delta: 1 delta: 1
}) })
...@@ -75,6 +75,13 @@ Page({ ...@@ -75,6 +75,13 @@ Page({
}) })
}, },
// 返回首页
gotoHome: function() {
wx.switchTab({
url: '../index/index',
})
},
/** /**
* 解密手机号数据 * 解密手机号数据
*/ */
......
...@@ -10,7 +10,8 @@ ...@@ -10,7 +10,8 @@
<view class='action-wrapper'> <view class='action-wrapper'>
<i-button bindgetuserinfo="handleWxAuth" type="success" shape="circle" open-type='getUserInfo'>微信授权</i-button> <i-button bindgetuserinfo="handleWxAuth" type="success" shape="circle" open-type='getUserInfo'>微信授权</i-button>
<!-- <i-button bindgetphonenumber="handlePhoneAuth" type="info" shape="circle" open-type="getPhoneNumber">手机号授权</i-button> --> <!-- <i-button bindgetphonenumber="handlePhoneAuth" type="info" shape="circle" open-type="getPhoneNumber">手机号授权</i-button> -->
<view class="text-small text-hint tip">请完成微信授权</view> <!-- <view class="text-small text-hint tip">请完成微信授权</view> -->
<i-button bindtap="gotoHome" type="default" shape="circle">暂不登录</i-button>
</view> </view>
</view> </view>
</view> </view>
......
...@@ -42,3 +42,18 @@ page { ...@@ -42,3 +42,18 @@ page {
.action-wrapper .tip { .action-wrapper .tip {
text-align: center; text-align: center;
} }
.no-login-btn {
margin-top: 20rpx;
padding: 0 20rpx;
}
.no-login-btn button {
height: 88rpx;
line-height: 88rpx;
background: #dfdfdf;
color: #fff;
font-size: 30rpx;
border-radius: 999rpx;
text-align: center;
}
...@@ -18,7 +18,7 @@ Page({ ...@@ -18,7 +18,7 @@ Page({
loading: false, loading: false,
familyNum: 0, familyNum: 0,
phone: '', phone: '',
formPhone:'', formPhone: '',
nickname: '', nickname: '',
adultNum: 0, adultNum: 0,
childrenNum: 0, childrenNum: 0,
...@@ -30,7 +30,14 @@ Page({ ...@@ -30,7 +30,14 @@ Page({
nums: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], nums: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
sessionId: '', sessionId: '',
visible: false, visible: false,
errMsg:false errMsg: false,
// 价格展示
vip_price: 0,
novip_price: 0,
total_price: 0,
addressdf: null, // 默认收货地址
exist_address: false, // 是否存在收货地址
}, },
/** /**
* 生命周期函数--监听页面加载 * 生命周期函数--监听页面加载
...@@ -52,6 +59,15 @@ Page({ ...@@ -52,6 +59,15 @@ Page({
}, },
/** /**
* 快递配送:选择收货地址
*/
onSelectAddress() {
wx.navigateTo({
url: '/pages/address/' + (this.data.exist_address ? 'index?from=flow' : 'create')
});
},
/**
* 保存手机号 * 保存手机号
*/ */
savePhone() { savePhone() {
...@@ -70,25 +86,25 @@ Page({ ...@@ -70,25 +86,25 @@ Page({
visible: false visible: false
}) })
if(res.is_relation){ if (res.is_relation) {
$Toast({ $Toast({
content: '温馨提示:手机号授权成功,系统已自动关联您在其他平台购买的美行者VIP会员', content: '温馨提示:手机号授权成功,系统已自动关联您在其他平台购买的美行者VIP会员',
type: 'success' type: 'success'
}); });
}else{ } else {
$Toast({ $Toast({
content: '手机号授权成功', content: '手机号授权成功',
type: 'success' type: 'success'
}); });
} }
//在拉去一遍用户信息 //在拉去一遍用户信息
this.getUserInfo(); this.getUserInfo();
} else { } else {
this.setData({ this.setData({
'errMsg': true, 'errMsg': true,
'errMessage': '*'+res.msg 'errMessage': '*' + res.msg
}) })
} }
}) })
...@@ -97,7 +113,7 @@ Page({ ...@@ -97,7 +113,7 @@ Page({
//获取用户信息 //获取用户信息
// 获取个人资料 // 获取个人资料
getUserInfo: function () { getUserInfo: function() {
api.me.info().then(res => { api.me.info().then(res => {
if (!res.code) { if (!res.code) {
console.log(res.data); console.log(res.data);
...@@ -159,6 +175,8 @@ Page({ ...@@ -159,6 +175,8 @@ Page({
phone: app.globalData.userInfo.phone phone: app.globalData.userInfo.phone
}) })
} }
// 获取个人地址
this.getUserAddress();
}, },
getDetailData: function() { getDetailData: function() {
...@@ -169,6 +187,20 @@ Page({ ...@@ -169,6 +187,20 @@ Page({
this.setData({ this.setData({
detail: res.data detail: res.data
}) })
this.projectOrderPrice()
}
})
},
// 个人收获地址
getUserAddress: function() {
let that = this
api.address.userdf().then(res => {
if (!res.code) {
this.setData({
exist_address: res.data.exist_address,
addressdf: res.data.address
})
} }
}) })
}, },
...@@ -310,8 +342,26 @@ Page({ ...@@ -310,8 +342,26 @@ Page({
// 家庭组数 // 家庭组数
bindPickerChange: function(event) { bindPickerChange: function(event) {
let familyNum = parseInt(event.detail.value)
this.setData({ this.setData({
familyNum: parseInt(event.detail.value) familyNum: familyNum
})
this.projectOrderPrice()
},
// 计算价格 - 服务器端获取
projectOrderPrice: function() {
api.project.orderPrice({
pid: this.data.id,
sign_limits: (this.data.familyNum + 1)
}).then(res => {
if (!res.code) {
this.setData({
vip_price: res.data.vip_price,
novip_price: res.data.novip_price,
total_price: res.data.total_price
})
}
}) })
}, },
...@@ -321,7 +371,7 @@ Page({ ...@@ -321,7 +371,7 @@ Page({
}) })
}, },
handlePhone: function (event) { handlePhone: function(event) {
this.setData({ this.setData({
formPhone: event.detail.detail.value formPhone: event.detail.detail.value
}) })
...@@ -358,21 +408,29 @@ Page({ ...@@ -358,21 +408,29 @@ Page({
handleSubmit: function() { handleSubmit: function() {
let that = this let that = this
if (!this.data.nickname || !this.data.phone) { if (!that.data.exist_address) {
$Toast({ $Toast({
content: '请完善必要信息', content: '请添加收货地址',
type: 'error'
});
return
}
if (this.data.phone.length == 0) {
$Toast({
content: '请授权手机号',
type: 'error' type: 'error'
}); });
return return
} }
// if (!this.data.nickname || !this.data.phone) {
// $Toast({
// content: '请完善必要信息',
// type: 'error'
// });
// return
// }
// if (this.data.phone.length == 0) {
// $Toast({
// content: '请授权手机号',
// type: 'error'
// });
// return
// }
wx.showNavigationBarLoading() wx.showNavigationBarLoading()
wx.showLoading({ wx.showLoading({
title: '加载中...', title: '加载中...',
...@@ -381,13 +439,14 @@ Page({ ...@@ -381,13 +439,14 @@ Page({
api.project.order({ api.project.order({
pid: this.data.id, pid: this.data.id,
sign_limits: this.data.familyNum + 1, sign_limits: this.data.familyNum + 1,
nickname: this.data.nickname, address_id: this.data.addressdf.address_id
phone: this.data.phone, // nickname: this.data.nickname,
adult_number: this.data.adultNum + 1, // phone: this.data.phone,
children_number: this.data.childrenNum + 1, // adult_number: this.data.adultNum + 1,
children_age: this.data.childrenAge, // children_number: this.data.childrenNum + 1,
remark: this.data.remark, // children_age: this.data.childrenAge,
address: this.data.address // remark: this.data.remark,
// address: this.data.address
}).then(res => { }).then(res => {
wx.hideNavigationBarLoading() wx.hideNavigationBarLoading()
wx.hideLoading() wx.hideLoading()
...@@ -419,7 +478,7 @@ Page({ ...@@ -419,7 +478,7 @@ Page({
title: '支付成功', title: '支付成功',
}) })
setTimeout(() => { setTimeout(() => {
wx.navigateTo({ wx.redirectTo({
url: '/pages/me/order/index?order=1', url: '/pages/me/order/index?order=1',
}) })
}, 800) }, 800)
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
"i-cell-group": "/iview/cell-group/index", "i-cell-group": "/iview/cell-group/index",
"i-cell": "/iview/cell/index", "i-cell": "/iview/cell/index",
"i-toast": "/iview/toast/index", "i-toast": "/iview/toast/index",
"i-modal": "/iview/modal/index" "i-modal": "/iview/modal/index",
"i-icon": "/iview/icon/index"
} }
} }
\ No newline at end of file
...@@ -2,6 +2,33 @@ ...@@ -2,6 +2,33 @@
<wxs src="../../common.wxs" module="common"></wxs> <wxs src="../../common.wxs" module="common"></wxs>
<view class='page-wrapper'> <view class='page-wrapper'>
<!-- 配送地址 -->
<view class='flow-delivery' catchtap="onSelectAddress">
<view class="flow-delivery__detail dis-flex flex-y-center">
<view class="detail-location dis-flex">
<i-icon type="coordinates" size="28" color="#aaa" />
</view>
<view class="detail-content flex-box">
<block wx:if="{{ addressdf.address_id }}">
<view class="detail-content__title dis-flex">
<text class="f-30">{{ addressdf.name }}</text>
<text class="detail-content__title-phone f-28">{{ addressdf.phone }}</text>
</view>
<view class="detail-content__describe">
<text class="col-7">{{addressdf.region.province}} {{addressdf.region.city}} {{addressdf.region.region}} {{addressdf.detail}}</text>
</view>
</block>
<block wx:else>
<view class="detail-content__describe dis-flex">
<text class="col-6">请选择配送地址</text>
</view>
</block>
</view>
<view class="detail-arrow dis-flex">
<i-icon type="enter" size="20" color="#ccc" />
</view>
</view>
</view>
<view class='project-title'> <view class='project-title'>
<text>报名项目</text> <text>报名项目</text>
...@@ -17,6 +44,7 @@ ...@@ -17,6 +44,7 @@
<text class='text-price'>¥{{detail.price}}</text> <text class='text-price'>¥{{detail.price}}</text>
<text class='text-vip-price'>¥{{detail.vip_price}}</text> <text class='text-vip-price'>¥{{detail.vip_price}}</text>
<image class='vip-img' src='/images/icon_vip_price.png'></image> <image class='vip-img' src='/images/icon_vip_price.png'></image>
<text class='text-vip-price'>会员限购{{detail.vip_limits}}次</text>
</view> </view>
</view> </view>
</view> </view>
...@@ -34,9 +62,12 @@ ...@@ -34,9 +62,12 @@
<view class='picker-text'>{{familyNum + 1}}</view> <view class='picker-text'>{{familyNum + 1}}</view>
</picker> </picker>
</i-cell> </i-cell>
<i-cell v-if="{{user.is_vip==1}}" title="价格" i-class="cell-class">
<view slot="footer" class='input' style="text-align:right;">{{'会员价:' + vip_price}},{{'超出部分:'+novip_price}}</view>
</i-cell>
</i-cell-group> </i-cell-group>
</view> </view>
<!--
<view class='project-input'> <view class='project-input'>
<i-cell-group> <i-cell-group>
<i-cell title="姓名" i-class="cell-class"> <i-cell title="姓名" i-class="cell-class">
...@@ -49,8 +80,8 @@ ...@@ -49,8 +80,8 @@
<block wx:else> <block wx:else>
<text slot="footer">{{phone}}</text> <text slot="footer">{{phone}}</text>
</block> </block>
</i-cell> </i-cell> -->
<!-- <i-cell title="成人人数" is-link i-class="cell-class"> <!-- <i-cell title="成人人数" is-link i-class="cell-class">
<picker slot="footer" class="num-picker" bindchange="handleAdultNum" range="{{nums}}" value="{{adultNum}}"> <picker slot="footer" class="num-picker" bindchange="handleAdultNum" range="{{nums}}" value="{{adultNum}}">
<view class='picker-text'>{{adultNum + 1}}</view> <view class='picker-text'>{{adultNum + 1}}</view>
</picker> </picker>
...@@ -63,27 +94,25 @@ ...@@ -63,27 +94,25 @@
<i-cell title="孩子年龄" i-class="cell-class"> <i-cell title="孩子年龄" i-class="cell-class">
<input slot="footer" class='input' type='text' placeholder='如5岁、八岁' bindinput='handleChildrenAge'></input> <input slot="footer" class='input' type='text' placeholder='如5岁、八岁' bindinput='handleChildrenAge'></input>
</i-cell> --> </i-cell> -->
<i-cell title="地址" i-class="cell-class"> <!-- <i-cell title="地址" i-class="cell-class">
<input slot="footer" class='input' type='text' placeholder='请输入地址' bindinput='handleAddress'></input> <input slot="footer" class='input' type='text' placeholder='请输入地址' bindinput='handleAddress'></input>
</i-cell> </i-cell>
<i-cell title="备注" i-class="cell-class"> <i-cell title="备注" i-class="cell-class">
<input slot="footer" class='input' type='text' placeholder='备注(可选)' bindinput='handleRemark'></input> <input slot="footer" class='input' type='text' placeholder='备注(可选)' bindinput='handleRemark'></input>
</i-cell> </i-cell>
</i-cell-group> </i-cell-group>
</view> </view> -->
<i-row i-class="margin-top-20"> <i-row i-class="margin-top-20">
<i-col span="20" offset='2' i-class="col-class"> <i-col span="20" offset='2' i-class="col-class">
<i-button bind:click="handleSubmit" type="info" shape="circle" loading="{{loading}}"> <i-button bind:click="handleSubmit" type="info" shape="circle" loading="{{loading}}">
立即支付 立即支付
<text class='margin-left-10'>¥ {{user.is_vip != 0 ? common.numFixed(detail.vip_price*(familyNum+1), 2) : common.numFixed(detail.price*(familyNum+1), 2)}}</text> <text class='margin-left-10'>¥ {{total_price}}</text>
</i-button> </i-button>
</i-col> </i-col>
</i-row> </i-row>
</view> </view>
<!-- 手机号授权框 --> <!-- 手机号授权框 -->
<i-modal title="填写手机号" visible="{{ visible }}" bind:ok="savePhone" bind:cancel="alertClose"> <i-modal title="填写手机号" visible="{{ visible }}" bind:ok="savePhone" bind:cancel="alertClose">
<i-input error="{{ errMsg }}" value="{{ value }}" type="number" bindchange='handlePhone' title="手机号" placeholder="请输入手机号" /> <i-input error="{{ errMsg }}" value="{{ value }}" type="number" bindchange='handlePhone' title="手机号" placeholder="请输入手机号" />
......
...@@ -7,12 +7,13 @@ page { ...@@ -7,12 +7,13 @@ page {
.page-wrapper { .page-wrapper {
margin-bottom: 20px; margin-bottom: 20px;
} }
.icon,
.icon-map { .icon, .icon-map {
width: 18px; width: 18px;
height: 18px; height: 18px;
vertical-align: middle; vertical-align: middle;
} }
/* 报名详情 */ /* 报名详情 */
.project-title { .project-title {
...@@ -52,7 +53,7 @@ page { ...@@ -52,7 +53,7 @@ page {
} }
.info-box { .info-box {
margin: 47rpx 0 47rpx 20rpx; margin: 20rpx 0 47rpx 20rpx;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
} }
...@@ -117,13 +118,56 @@ page { ...@@ -117,13 +118,56 @@ page {
margin-left: 30rpx; margin-left: 30rpx;
} }
.num-picker{ .num-picker {
width: 100px; width: 100px;
} }
.color-red{ .color-red {
color: #ed3f14; color: #ed3f14;
text-align: left; text-align: left;
padding-top:20rpx; padding-top: 20rpx;
padding-left: 60rpx; padding-left: 60rpx;
} }
\ No newline at end of file
/* 配送信息 */
.flow-delivery {
padding: 34rpx 30rpx;
background: #fff url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANYAAAANCAYAAADVGpDCAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3Yjk4M2ExYy1jMDhkLTQ1OTktYTI0Ny1kZjNjYzdiYTQ5ZTgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDQwNkY3RkU5N0NGMTFFNUI3N0M4NTU4MzM2RjlFODIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDQwNkY3RkQ5N0NGMTFFNUI3N0M4NTU4MzM2RjlFODIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowNzgwZWI1NS03OGFhLTQzOTUtODQ4OC1lOWI5YmVlYTY1ZDciIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo1OTRiYzUyMy1jMzc3LTExNzgtYTdkZS04NGY3YmM1ZGIxMDMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz556PLxAAACBElEQVR42tyaSyhEYRTHP48imlKibDQeSSlkSlEWLCRFsZNH5FE2FqQ8ErIRC9lIkTwXSpMkWWChhEJCSnlkoUZGSsr78f98n43CMFPu/Z/6NZuZ2zn33/+cb869XkmLx8IDEQaGQJbgiytQDSY3MyL+LYnL/HxPXSoHDIJQQq2WQQk4Dbbb/yUB29LJ+6e3B66VB3ZITbUIEqSpCGoJBP1ghtBUD6ARpEtTGSEhXzd+awE9oJzQUPegWdf3QlBPMhgDMYRa7YNisGWkpP5qrBQtVBShUHugUE9hs4fUtwG0utlEjRivoA/Ug1sj3vjffr8FNJEK1auPFHcE9UTq5pdK2PwcoAzMG7mjuRrRYEIfK9jiDJSCBZJ6ynSTsBBqNQ0qgdPISbq6vJCFbJOaagrEk5gqWNczRGiqG1Ah1LLMafRkf5pYIUKtZnMJDXUNasAIST2ZYFioRx9ssQaKwJFZEv5uYmWDXVJTrYBEElP562PfPKGpnkAbSDOTqb6aWAGgW6iHol5kQj2CdtAJngnqkc1hHMQRNr9DPaXWzZj8Z2PZtFCxhEIdaKE2CGqRJ4060AH8CLUaALX6f5VpBZLhI9SaeZXQVHKNLt84SCIxVbhQi5YuQlNd6OVElZlN9TGxrGBUn2PZ4lyoTdIsST0FQj0UDSLUak6ot3gcBLVY3wQYAJoVXxmNERajAAAAAElFTkSuQmCC') bottom left repeat-x;
background-size: 120rpx auto;
}
.detail-content {
padding: 0 20rpx;
}
.detail-content__title {
margin-bottom: 6rpx;
}
.detail-content .detail-content__title-phone {
margin-left: 10rpx;
}
.detail-content .detail-content__describe {
font-size: 28rpx;
}
/* 买家留言 */
.flow-all-money .ipt-wrapper input {
width: 100%;
height: 75rpx;
}
.flex-y-center {
align-items: center;
}
.dis-flex {
display: flex !important;
}
.flex-box {
flex: 1;
}
...@@ -245,6 +245,12 @@ Page({ ...@@ -245,6 +245,12 @@ Page({
// 立即报名 // 立即报名
enrollClick: function() { enrollClick: function() {
wx.requestSubscribeMessage({
tmplIds: ['eLqDrPK40GaxRn6PDu-eruGQTleEQYbAAnQHNZ2NC7E'],
success(res) {
}
})
//检查是否限购,0为不限购 //检查是否限购,0为不限购
if (this.data.detail.vip_limits && this.data.detail.is_vip) { if (this.data.detail.vip_limits && this.data.detail.is_vip) {
//检查当前购买数量是否大于限购 //检查当前购买数量是否大于限购
......
...@@ -14,6 +14,7 @@ Page({ ...@@ -14,6 +14,7 @@ Page({
*/ */
data: { data: {
news: [], news: [],
tuans: [], // 超值团购
heats: [], heats: [],
businesses: [], businesses: [],
guides: [], guides: [],
...@@ -41,7 +42,7 @@ Page({ ...@@ -41,7 +42,7 @@ Page({
*/ */
onShow: function() { onShow: function() {
// 检查用户是否登陆 // 检查用户是否登陆
this.checkUserLogin() // this.checkUserLogin()
wx.showShareMenu({ wx.showShareMenu({
withShareTicket: true, withShareTicket: true,
...@@ -140,6 +141,7 @@ Page({ ...@@ -140,6 +141,7 @@ Page({
api.home.all().then(res => { api.home.all().then(res => {
this.setData({ this.setData({
news: res.data.newProjects, news: res.data.newProjects,
tuans: res.data.tuans, // 超值团购 - 分类7-水果零食
heats: res.data.heatProjects, heats: res.data.heatProjects,
businesses: res.data.businessProjects, businesses: res.data.businessProjects,
guides: res.data.guides guides: res.data.guides
...@@ -167,8 +169,17 @@ Page({ ...@@ -167,8 +169,17 @@ Page({
}) })
}, },
// 超值团购
gotoMoreTuans: function(event) {
let _type = event.target.dataset.type
let _ptitle = event.target.dataset.name
wx.navigateTo({
url: '/pages/search/list/list?catalog=7&ptitle=超值团购',
})
},
// 房券专区 // 房券专区
gotoTransferProjects: function (event) { gotoTransferProjects: function(event) {
wx.navigateTo({ wx.navigateTo({
url: '/pages/search/list/list?catalog=undefined&ptitle=房券专区', url: '/pages/search/list/list?catalog=undefined&ptitle=房券专区',
}) })
......
...@@ -4,7 +4,9 @@ ...@@ -4,7 +4,9 @@
<view class='v-page'> <view class='v-page'>
<banner banners="{{banners}}" /> <banner banners="{{banners}}" />
<official-account binderror="official"></official-account> <official-account binderror="official"></official-account>
<navs /> <navs />
<i-cell-group i-class="section-wrapper"> <i-cell-group i-class="section-wrapper">
<i-cell title="最新活动" is-link i-class="text-mtitle"> <i-cell title="最新活动" is-link i-class="text-mtitle">
<text slot="footer" class='text-gray text-small' catchtap='gotoMoreProjects' data-type='1' data-name='最新活动'>更多</text> <text slot="footer" class='text-gray text-small' catchtap='gotoMoreProjects' data-type='1' data-name='最新活动'>更多</text>
...@@ -24,6 +26,24 @@ ...@@ -24,6 +26,24 @@
</i-cell-group> </i-cell-group>
<i-cell-group i-class="section-wrapper"> <i-cell-group i-class="section-wrapper">
<i-cell title="超值团购" is-link i-class="text-mtitle">
<text slot="footer" class='text-gray text-small' catchtap='gotoMoreTuans' data-type='1' data-name='超值团购'>更多</text>
</i-cell>
<i-row i-class="col-wrapper">
<i-col span="8" i-class="col-class" wx:for="{{tuans}}" wx:for-index="idx" wx:for-item="n" wx:key="n.id" wx:if="{{idx < 6}}">
<view class='col-item' catchtap='handleProjectDetail' data-id='{{n.id}}'>
<image class='image' src="{{n.poster}}" mode='aspectFill'></image>
<view class='title'>{{n.title}}</view>
<view class='info'>
<text class='text-red text-small mergin-right-2'>¥{{common.numFixed(n.vip_price, 0)}}</text>
<text> 起<text wx:if="{{n.night_num}}">/{{n.night_num}}晚</text></text>
</view>
</view>
</i-col>
</i-row>
</i-cell-group>
<i-cell-group i-class="section-wrapper">
<i-cell title="房券专区" is-link i-class="text-mtitle"> <i-cell title="房券专区" is-link i-class="text-mtitle">
<text slot="footer" class='text-gray text-small' catchtap='gotoTransferProjects' data-type='2' data-name='房券专区'>更多</text> <text slot="footer" class='text-gray text-small' catchtap='gotoTransferProjects' data-type='2' data-name='房券专区'>更多</text>
</i-cell> </i-cell>
...@@ -46,7 +66,7 @@ ...@@ -46,7 +66,7 @@
<text slot="footer" class='text-gray text-small' catchtap='gotoSearchProjects' data-catalog='5' data-name='美行推荐'>更多</text> <text slot="footer" class='text-gray text-small' catchtap='gotoSearchProjects' data-catalog='5' data-name='美行推荐'>更多</text>
</i-cell> </i-cell>
<i-row i-class="col-wrapper"> <i-row i-class="col-wrapper">
<i-col span="12" i-class="col-class" wx:for="{{businesses}}" wx:for-index="idx" wx:for-item="n" wx:key="n.id"> <i-col span="8" i-class="col-class" wx:for="{{businesses}}" wx:for-index="idx" wx:for-item="n" wx:key="n.id">
<view class='col-item' catchtap='handleProjectDetail' data-id='{{n.id}}'> <view class='col-item' catchtap='handleProjectDetail' data-id='{{n.id}}'>
<image class='image' src="{{n.poster}}" mode='aspectFill'></image> <image class='image' src="{{n.poster}}" mode='aspectFill'></image>
<view class='title'>{{n.title}}</view> <view class='title'>{{n.title}}</view>
......
...@@ -30,7 +30,13 @@ Page({ ...@@ -30,7 +30,13 @@ Page({
* 生命周期函数--监听页面显示 * 生命周期函数--监听页面显示
*/ */
onShow: function() { onShow: function() {
this.getUserInfo() app.checkUserLogin((res)=>{
// 渲染数据
this.setData({
user: res.data
})
})
// this.getUserInfo()
}, },
toUrl: function (event) { toUrl: function (event) {
...@@ -61,6 +67,11 @@ Page({ ...@@ -61,6 +67,11 @@ Page({
// 我的订单 // 我的订单
handleOrderClick: function (event) { handleOrderClick: function (event) {
wx.requestSubscribeMessage({
tmplIds: ['eLqDrPK40GaxRn6PDu-eruGQTleEQYbAAnQHNZ2NC7E'],
success(res) {
}
})
let status = event.currentTarget.dataset.status let status = event.currentTarget.dataset.status
wx.navigateTo({ wx.navigateTo({
url: '/pages/me/order/index?status=' + status, url: '/pages/me/order/index?status=' + status,
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
<i-col span="8" i-class="col-class"> <i-col span="8" i-class="col-class">
<view class='order-item' catchtap='handleOrderClick' data-status='2'> <view class='order-item' catchtap='handleOrderClick' data-status='2'>
<image src='/images/personal_center/icon_to_be_evaluated.png'></image> <image src='/images/personal_center/icon_to_be_evaluated.png'></image>
<text>待评价</text> <text>已发货</text>
</view> </view>
</i-col> </i-col>
<i-col span="8" i-class="col-class"> <i-col span="8" i-class="col-class">
...@@ -43,6 +43,7 @@ ...@@ -43,6 +43,7 @@
<i-cell title="VIP会员" is-link url="/pages/me/vip/index?is_vip={{user.is_vip}}&vip_endtime={{user.vip_endtime}}"> <i-cell title="VIP会员" is-link url="/pages/me/vip/index?is_vip={{user.is_vip}}&vip_endtime={{user.vip_endtime}}">
<text slot="footer" class='text-gray'>{{user.vip_endtime==null?'':user.vip_endtime_str}}</text> <text slot="footer" class='text-gray'>{{user.vip_endtime==null?'':user.vip_endtime_str}}</text>
</i-cell> </i-cell>
<i-cell title="我的地址" is-link url="/pages/address/index"></i-cell>
<i-cell title="我的收藏" is-link url="/pages/me/collection/index"></i-cell> <i-cell title="我的收藏" is-link url="/pages/me/collection/index"></i-cell>
</i-cell-group> </i-cell-group>
......
...@@ -26,7 +26,7 @@ Page({ ...@@ -26,7 +26,7 @@ Page({
/** /**
* 生命周期函数--监听页面加载 * 生命周期函数--监听页面加载
*/ */
onLoad: function (options) { onLoad: function(options) {
let _status = options.status let _status = options.status
if (_status != null && _status.length > 0) { if (_status != null && _status.length > 0) {
this.setData({ this.setData({
...@@ -39,7 +39,7 @@ Page({ ...@@ -39,7 +39,7 @@ Page({
/** /**
* 加载 * 加载
*/ */
getListData: function (callback) { getListData: function(callback) {
const p = this.data.currentPage const p = this.data.currentPage
let params = { let params = {
p: p, p: p,
...@@ -69,35 +69,53 @@ Page({ ...@@ -69,35 +69,53 @@ Page({
/** /**
* 生命周期函数--监听页面初次渲染完成 * 生命周期函数--监听页面初次渲染完成
*/ */
onReady: function () { onReady: function() {
}, },
/** /**
* 生命周期函数--监听页面显示 * 生命周期函数--监听页面显示
*/ */
onShow: function () { onShow: function() {
}, },
/** /**
* 生命周期函数--监听页面隐藏 * 生命周期函数--监听页面隐藏
*/ */
onHide: function () { onHide: function() {
}, },
/** /**
* 生命周期函数--监听页面卸载 * 生命周期函数--监听页面卸载
*/ */
onUnload: function () { onUnload: function() {
}, },
/** /**
* 页面相关事件处理函数--监听用户下拉动作 * 复制备注内容
*/ */
onPullDownRefresh: function () { copyRemark: function(e) {
let remark = e.currentTarget.dataset.remark
if (remark != '无') {
wx.setClipboardData({
data: remark,
success: function(res) {
wx.showToast({
title: '已复制备注内容',
icon: 'none'
})
}
})
}
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function() {
this.setData({ this.setData({
orders: [], orders: [],
loading: true, loading: true,
...@@ -118,7 +136,7 @@ Page({ ...@@ -118,7 +136,7 @@ Page({
/** /**
* 页面上拉触底事件的处理函数 * 页面上拉触底事件的处理函数
*/ */
onReachBottom: function () { onReachBottom: function() {
let that = this let that = this
if (that.data.loading || !that.data.hasMore) { if (that.data.loading || !that.data.hasMore) {
return; return;
...@@ -136,14 +154,14 @@ Page({ ...@@ -136,14 +154,14 @@ Page({
/** /**
* 用户点击右上角分享 * 用户点击右上角分享
*/ */
onShareAppMessage: function () { onShareAppMessage: function() {
}, },
/** /**
* 点击进入项目详情页 * 点击进入项目详情页
*/ */
handleProjectClick: function(event){ handleProjectClick: function(event) {
let pid = event.currentTarget.dataset.pid let pid = event.currentTarget.dataset.pid
wx.navigateTo({ wx.navigateTo({
url: '/pages/detail/index?id=' + pid, url: '/pages/detail/index?id=' + pid,
...@@ -151,9 +169,9 @@ Page({ ...@@ -151,9 +169,9 @@ Page({
}, },
/** /**
* 切换Tab * 切换Tab
*/ */
handleChange: function (event) { handleChange: function(event) {
let status = event.detail.key.replace('status-', '') let status = event.detail.key.replace('status-', '')
this.setData({ this.setData({
status: status.replace('status-', '') status: status.replace('status-', '')
...@@ -164,7 +182,7 @@ Page({ ...@@ -164,7 +182,7 @@ Page({
/** /**
* 申请退款 * 申请退款
*/ */
_applyRefund: function (id) { _applyRefund: function(id) {
wx.showLoading({ wx.showLoading({
title: '申请中...', title: '申请中...',
}) })
...@@ -190,40 +208,40 @@ Page({ ...@@ -190,40 +208,40 @@ Page({
}, },
/** /**
* 按钮点击事件 * 按钮点击事件
*/ */
handleBtnClick: function (event) { handleBtnClick: function(event) {
let that = this let that = this
let isrefund = event.currentTarget.dataset.isrefund let isrefund = event.currentTarget.dataset.isrefund
let iscomment = event.currentTarget.dataset.iscomment let iscomment = event.currentTarget.dataset.iscomment
let oid = event.currentTarget.dataset.oid let oid = event.currentTarget.dataset.oid
let status = this.data.status let status = parseInt(this.data.status)
console.log(oid, status, isrefund, iscomment) console.log(oid, status, isrefund, iscomment)
if(status==1){ if (status == 1) {
// 进行中 // 进行中
if(isrefund==0){ if (isrefund == 0) {
wx.showModal({ wx.showModal({
title: '提示', title: '提示',
content: '申请退款后需要官方审核成功才能退款,退款则表示取消此次订单,确定退款吗?', content: '申请退款后需要官方审核成功才能退款,退款则表示取消此次订单,确定退款吗?',
success: function (res){ success: function(res) {
if(res.confirm){ if (res.confirm) {
// 提交退款申请,然后刷新列表 // 提交退款申请,然后刷新列表
that._applyRefund(oid) that._applyRefund(oid)
} }
} }
}) })
} }
}else if(status=2){ } else if (status == 2) {
// 待评价 // 待评价
if (iscomment == 0) { if (iscomment == 0) {
this.setData({ this.setData({
commentModal: true, commentModal: true,
cur_oid:oid cur_oid: oid
}) })
} }
} else if (status = 3) { } else if (status == 3) {
// 已完成 // 已完成
return false;
} }
}, },
...@@ -251,5 +269,5 @@ Page({ ...@@ -251,5 +269,5 @@ Page({
}) })
wx.startPullDownRefresh() wx.startPullDownRefresh()
} }
}) })
\ No newline at end of file
<view class='v-page'> <view class='v-page'>
<i-tabs current="status-{{status}}" bindchange="handleChange" i-class='margin-bottom'> <i-tabs current="status-{{status}}" bindchange="handleChange" i-class='margin-bottom'>
<i-tab key="status-1" title="进行中" data-status="1"></i-tab> <i-tab key="status-1" title="进行中" data-status="1"></i-tab>
<i-tab key="status-2" title="待评价" data-status="1"></i-tab> <i-tab key="status-2" title="已发货" data-status="1"></i-tab>
<i-tab key="status-3" title="已完成" data-status="1"></i-tab> <i-tab key="status-3" title="已完成" data-status="1"></i-tab>
</i-tabs> </i-tabs>
...@@ -29,9 +29,14 @@ ...@@ -29,9 +29,14 @@
</view> </view>
</i-row> </i-row>
</i-col> </i-col>
<i-col span="5" offset='17' i-class="col-class text order-button"> <i-row span="24">
<button class='button {{item.is_refund!="0"?"button-gray":"button-orange"}} {{item.is_comment!="0"?"button-gray":"button-orange"}}' catchtap='handleBtnClick' data-isrefund="{{item.is_refund}}" data-iscomment="{{item.is_comment}}" data-oid="{{item.id}}">{{item.status_text}}</button> <i-col span="12" offset='2' i-class='oremark'>
</i-col> <text catchtap='copyRemark' data-remark="{{item.admin_remark}}">备注:<text class="{{item.admin_remark!=null?'active':''}}">{{item.admin_remark==null?'无':item.admin_remark}}</text></text>
</i-col>
<i-col span="5" offset='3' i-class="col-class text order-button">
<button class='button {{item.is_refund!="0"?"button-gray":"button-orange"}} {{item.is_comment!="0"?"button-gray":"button-orange"}}' catchtap='handleBtnClick' data-isrefund="{{item.is_refund}}" data-iscomment="{{item.is_comment}}" data-oid="{{item.id}}">{{item.status_text}}</button>
</i-col>
</i-row>
</i-row> </i-row>
</view> </view>
</view> </view>
......
...@@ -16,7 +16,7 @@ page { ...@@ -16,7 +16,7 @@ page {
height: 70rpx; height: 70rpx;
font-size: 30rpx; font-size: 30rpx;
line-height: 70rpx; line-height: 70rpx;
color: #7A7A7A; color: #7a7a7a;
} }
.order-content { .order-content {
...@@ -39,14 +39,14 @@ page { ...@@ -39,14 +39,14 @@ page {
padding: 0 0; padding: 0 0;
} }
.order-info{ .order-info {
height: 170rpx; height: 170rpx;
margin-top: 15rpx; margin-top: 15rpx;
font-size: 25rpx; font-size: 25rpx;
line-height: 45rpx; line-height: 45rpx;
} }
.order-info view{ .order-info view {
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
...@@ -58,17 +58,27 @@ page { ...@@ -58,17 +58,27 @@ page {
} }
.button-gray { .button-gray {
border: 1px solid #A1A1A1; border: 1px solid #a1a1a1;
color: #A1A1A1; color: #a1a1a1;
} }
.order-right{ .order-right {
height: 18rpx; height: 18rpx;
width:11rpx; width: 11rpx;
margin-top: 76rpx; margin-top: 76rpx;
} }
.order-image{ .order-image {
width: 100%; width: 100%;
height:100%; height: 100%;
}
.oremark {
font-size: 12px;
color: #999;
line-height: 60rpx;
}
.oremark .active {
color: #2d8cf0;
} }
...@@ -13,9 +13,9 @@ ...@@ -13,9 +13,9 @@
"autoAudits": false "autoAudits": false
}, },
"compileType": "miniprogram", "compileType": "miniprogram",
"libVersion": "2.3.2", "libVersion": "2.10.2",
"appid": "wx1b834552a7d49bb3", "appid": "wx1b834552a7d49bb3",
"projectname": "%E7%BE%8E%E8%A1%8C%E8%80%85UI", "projectname": "%E7%BE%8E%E8%A1%8C%E8%80%85%E4%BA%B2%E5%AD%90%E6%B8%B8",
"debugOptions": { "debugOptions": {
"hidedInDevtools": [] "hidedInDevtools": []
}, },
...@@ -38,111 +38,60 @@ ...@@ -38,111 +38,60 @@
"game": { "game": {
"list": [] "list": []
}, },
"gamePlugin": {
"current": -1,
"list": []
},
"miniprogram": { "miniprogram": {
"current": 16, "current": 16,
"list": [ "list": [
{ {
"id": 0, "id": 16,
"name": "美行攻略", "name": "活动详情(水梨)",
"pathName": "pages/guide/index", "pathName": "pages/detail/index",
"query": "" "query": "id=662",
}, "scene": null
{
"id": 1,
"name": "我的",
"pathName": "pages/me/index",
"query": ""
},
{
"id": 2,
"name": "立即报名",
"pathName": "pages/detail/enroll/index",
"query": "id=298"
},
{
"id": 3,
"name": "搜索",
"pathName": "pages/search/index",
"query": ""
},
{
"id": 4,
"name": "授权",
"pathName": "pages/auth/index",
"query": ""
},
{
"id": -1,
"name": "个人信息",
"pathName": "pages/me/profile/index",
"query": ""
}, },
{ {
"id": -1, "id": -1,
"name": "vip", "name": "直播页面",
"pathName": "pages/me/vip/index", "pathName": "pages/live/live",
"query": "" "query": "",
"scene": null
}, },
{ {
"id": -1, "id": -1,
"name": "资料", "name": "个人中心",
"pathName": "pages/me/profile/index", "pathName": "pages/me/index",
"query": "" "query": "",
}, "scene": null
{
"id": 8,
"name": "活动/商家详情",
"pathName": "pages/detail/index",
"query": "id=127"
}, },
{ {
"id": -1, "id": -1,
"name": "预约下次", "name": "我的地址",
"pathName": "pages/detail/appointment/index", "pathName": "pages/address/index",
"query": "" "query": "",
}, "scene": null
{
"id": 10,
"name": "立即报名",
"pathName": "pages/detail/enroll/index",
"query": "id=298"
},
{
"id": 11,
"name": "预约下次",
"pathName": "pages/detail/appoint/index",
"query": "id=298"
}, },
{ {
"id": -1, "id": -1,
"name": "我的订单", "name": "添加地址",
"pathName": "pages/me/order/index", "pathName": "pages/address/create",
"query": ""
},
{
"id": 13,
"name": "关注关注号",
"pathName": "pages/index/index",
"query": "", "query": "",
"scene": "1047" "scene": null
}, },
{ {
"id": 14, "id": -1,
"name": "预约下次", "name": "活动-下单购买",
"pathName": "pages/detail/appoint/index", "pathName": "pages/detail/enroll/index",
"query": "id=298" "query": "id=662",
"scene": null
}, },
{ {
"id": -1, "id": -1,
"name": "我的订单", "name": "我的订单",
"pathName": "pages/me/order/index", "pathName": "pages/me/order/index",
"query": "" "scene": null
},
{
"id": 16,
"name": "活动详情(草莓)",
"pathName": "pages/detail/index",
"query": "id=298"
} }
] ]
} }
......
...@@ -40,6 +40,35 @@ export const guide = { ...@@ -40,6 +40,35 @@ export const guide = {
} }
} }
// 直播
export const live = {
rooms: (params) => {
return req.post('live/rooms', params).then(res => res.data)
},
detail: (params) => {
return req.post('live/detail', params).then(res => res.data)
}
}
// 地址
export const address = {
lists: (params) => {
return req.post('address/lists', params).then(res => res.data)
},
add: (params) => {
return req.post('address/add', params).then(res => res.data)
},
setDefault: (params) => {
return req.post('address/setDefault', params).then(res => res.data)
},
deleteAddr: (params) => {
return req.post('address/delete', params).then(res => res.data)
},
userdf: (params) => {
return req.post('address/userdf', params).then(res => res.data)
}
}
export const me = { export const me = {
info: params => { info: params => {
return req.post('user/index', params).then(res => res.data) return req.post('user/index', params).then(res => res.data)
...@@ -96,6 +125,9 @@ export const project = { ...@@ -96,6 +125,9 @@ export const project = {
detail: params => { detail: params => {
return req.post('project/detail', params).then(res => res.data) return req.post('project/detail', params).then(res => res.data)
}, },
orderPrice: (params) => {
return req.post('order/projectOrderPrice', params).then(res => res.data)
},
comments: params => { comments: params => {
return req.post('comment/getCommentByPid', params).then(res => res.data) return req.post('comment/getCommentByPid', params).then(res => res.data)
}, },
...@@ -120,6 +152,8 @@ export default { ...@@ -120,6 +152,8 @@ export default {
getSessionKey, getSessionKey,
home, home,
guide, guide,
live,
address,
search, search,
saveFormId, saveFormId,
me, me,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment