diff --git a/app/app.json b/app/app.json
index 340abd4..d848aff 100644
--- a/app/app.json
+++ b/app/app.json
@@ -1,11 +1,12 @@
{
"pages": [
+ "pages/order/list",
+ "pages/order/show",
+ "pages/order/review",
"pages/index/index",
"pages/index/search",
"pages/index/category",
"pages/shop/show",
- "pages/order/list",
- "pages/order/show",
"pages/mine/mine",
"pages/address/select",
"pages/order/quasi",
diff --git a/app/pages/order/list.wxml b/app/pages/order/list.wxml
index 9d3bd7b..4efd1a4 100644
--- a/app/pages/order/list.wxml
+++ b/app/pages/order/list.wxml
@@ -16,9 +16,9 @@
{{item.add_time_format}}
-
+
- 去评论
+ 去评论
diff --git a/app/pages/order/review.js b/app/pages/order/review.js
new file mode 100644
index 0000000..4c5883b
--- /dev/null
+++ b/app/pages/order/review.js
@@ -0,0 +1,196 @@
+// pages/order/review.js
+import {
+ getOrderInfo, reviewsOrder
+} from '../../utils/apis'
+
+import dateFormat from '../../utils/dateformat'
+
+import {
+ datetimeFormat,
+ alert, getPrevPage
+} from '../../utils/util'
+
+var RATE_LABELS = {
+ 1: '非常差',
+ 2: '很差',
+ 3: '一般',
+ 4: '很好',
+ 5: '非常好'
+}
+
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ RATE_LABELS,
+ limitLength: 8,
+ content: '',
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+ this.id = options.id || 1468
+ this.loadData()
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
+ loadData() {
+ var that = this
+ var order_id = this.id
+ wx.showNavigationBarLoading()
+ this.setData({
+ loading: true
+ })
+ getOrderInfo({
+ order_id,
+ success(data) {
+ var [reach_date, reach_time] = datetimeFormat(data.receive_time).split(' ')
+ that.setData({
+ reach_date, reach_time,
+ info: data,
+ loading: false,
+ })
+ wx.hideNavigationBarLoading()
+ },
+ error() {
+ that.setData({
+ loading: false
+ })
+ wx.hideNavigationBarLoading()
+ }
+ })
+ },
+ onChangeTime(e) {
+ var reach_time = e.detail.value
+ this.setData({
+ reach_time
+ })
+ },
+ onServiceChange(e) {
+ var {id: service} = e.currentTarget
+ this.setData({
+ service
+ })
+ },
+ onQualityChange(e) {
+ var {id: quality} = e.currentTarget
+ this.setData({
+ quality
+ })
+ },
+ onContentInput(e) {
+ var {value: content} = e.detail
+ this.setData({
+ content
+ })
+ },
+ onSubmit(e) {
+ var that = this
+ var {id: order_id} = this
+ var {
+ limitLength,
+ service, quality, content,
+ info: {receive_time}
+ } = this.data
+ if (!service) {
+ return alert('请为配送打分')
+ }
+
+ if (!quality) {
+ return alert('请为商家打分')
+ }
+
+ if (content.length < limitLength) {
+ return alert(`评论内容不能小于${limitLength}个字`)
+ }
+
+
+ this.setData({
+ loading: true
+ })
+ reviewsOrder({
+ order_id,
+ service, quality, content,
+ success(data) {
+ that.setData({
+ loading: false
+ })
+ alert('评论成功', function () {
+ var callback = getPrevPage()['callback']
+ callback && callback()
+ wx.navigateBack()
+ })
+ },
+ error(data) {
+ that.setData({
+ loading: false
+ })
+ }
+ })
+ }
+})
\ No newline at end of file
diff --git a/app/pages/order/review.json b/app/pages/order/review.json
new file mode 100644
index 0000000..2ecb2a7
--- /dev/null
+++ b/app/pages/order/review.json
@@ -0,0 +1,3 @@
+{
+ "navigationBarTitleText": "评论"
+}
\ No newline at end of file
diff --git a/app/pages/order/review.wxml b/app/pages/order/review.wxml
new file mode 100644
index 0000000..e9d4726
--- /dev/null
+++ b/app/pages/order/review.wxml
@@ -0,0 +1,38 @@
+
+
+
+
+
+ 爱跑腿专送
+
+ {{reach_date}} {{reach_time}} 左右到达
+
+
+
+
+ {{RATE_LABELS[service]?RATE_LABELS[service]: '为配送打分'}}
+
+
+
+
+
+
+
+ {{info.seller_name}}
+
+
+ {{RATE_LABELS[quality]?RATE_LABELS[quality]: '为商家打分'}}
+
+
+
+
+
+ 还需输入{{limitLength - content.length}}个字
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/pages/order/review.wxss b/app/pages/order/review.wxss
new file mode 100644
index 0000000..71f64e9
--- /dev/null
+++ b/app/pages/order/review.wxss
@@ -0,0 +1,51 @@
+/* pages/order/review.wxss */
+@import './templates/rate.wxss';
+
+.review {
+ margin: 15px;
+}
+
+.review-box {
+ padding: 0 10px;
+ background-color: #fff;
+}
+
+.review-box:not(:first-child) {
+ margin-top: 15px;
+}
+
+.review-box__hd {
+ padding: 10px 0;
+ border-bottom: 1rpx solid #e8e8e8;
+}
+
+.review-box__bd {
+ padding: 10px 0;
+ text-align: center;
+}
+
+.correct {
+ float: right;
+ color: #ff5801;
+}
+
+.review-content{
+ position: relative;
+ margin-top: 10px;
+}
+
+.review-content__textarea {
+ padding: 5px 8px;
+ width: 100%;
+ text-align: left;
+ border: 1rpx solid #e8e8e8;
+ box-sizing: border-box;
+}
+
+.review-content__tips {
+ position: absolute;
+ bottom: 8px;
+ right: 8px;
+ font-size: 0.8em;
+ color: #999;
+}
\ No newline at end of file
diff --git a/app/pages/order/show.js b/app/pages/order/show.js
index c377c92..c3dd99d 100644
--- a/app/pages/order/show.js
+++ b/app/pages/order/show.js
@@ -24,7 +24,7 @@ Page({
},
onLoad: function (options) {
// 页面初始化 options为页面跳转所带来的参数
- this.id = options.id || 1413
+ this.id = options.id || 1468
this.loadData()
},
onReady: function () {
@@ -107,18 +107,24 @@ Page({
onPhoneTap(e) {
var that = this
- var {info: {seller_phone, localphone}} = this.data
+ var {info: {seller_phone, localphone, delivery_phone}} = this.data
+ var phones = [
+ `商家电话: ${seller_phone}`,
+ `客服电话: ${localphone}`
+ ]
+ if(delivery_phone) {
+ phones.push(`跑腿电话: ${delivery_phone}`)
+ }
wx.showActionSheet({
- itemList: [
- `商家电话: ${seller_phone}`,
- `客服电话: ${localphone}`
- ],
+ itemList: phones,
success: function (res) {
var {tapIndex} = res
if (tapIndex == 0) {
makePhoneCall(seller_phone)
} else if (tapIndex == 1) {
makePhoneCall(localphone)
+ } else if(tapIndex == 2) {
+ makePhoneCall(delivery_phone)
}
},
fail: function (res) {
@@ -181,4 +187,8 @@ Page({
})
},
+ callback() {
+ this.loadData()
+ }
+
})
\ No newline at end of file
diff --git a/app/pages/order/show.wxml b/app/pages/order/show.wxml
index 8b027e4..31a4058 100644
--- a/app/pages/order/show.wxml
+++ b/app/pages/order/show.wxml
@@ -23,10 +23,10 @@
等待商家接单
{{countLabel}}
-
+
- 评价
+ 评价
diff --git a/app/pages/order/templates/rate.wxml b/app/pages/order/templates/rate.wxml
new file mode 100644
index 0000000..8a52108
--- /dev/null
+++ b/app/pages/order/templates/rate.wxml
@@ -0,0 +1,5 @@
+
+
+ ★
+
+
\ No newline at end of file
diff --git a/app/pages/order/templates/rate.wxss b/app/pages/order/templates/rate.wxss
new file mode 100644
index 0000000..c907301
--- /dev/null
+++ b/app/pages/order/templates/rate.wxss
@@ -0,0 +1,18 @@
+.rate {
+ margin-top: 10px;
+}
+.rate__item {
+ display: inline-block;
+ margin: 0 5px;
+ width: 30px;
+ height: 30px;
+ line-height: 30px;
+ font-size: 18px;
+ color: #fff;
+ background-color: #e8e8e8;
+ border-radius: 5px;
+}
+
+.rate__item_active {
+ background-color: #ff5801;
+}
\ No newline at end of file
diff --git a/app/utils/apis.js b/app/utils/apis.js
index fbdda3a..bf48a89 100644
--- a/app/utils/apis.js
+++ b/app/utils/apis.js
@@ -464,6 +464,33 @@ export function getOrderInfo(options) {
})
}
+// 订单评论
+export function reviewsOrder(options) {
+ var {
+ order_id,
+ service, quality, content,
+ reach_time,
+ success, error
+ } = options
+ getApp().getLoginInfo(loginInfo => {
+ if (!loginInfo.user_info) {
+ return alert('用户未登录')
+ }
+ var {user_id, user_token} = loginInfo.user_info
+ fetch({
+ url: 'index.php?m=Mall&c=Order&a=reviewsOrder',
+ data: {
+ user_id, user_token,
+ order_id,
+ service, quality, content,
+ reach_time
+ },
+ success, error
+ })
+
+ })
+}
+
// 获取支付参数
export function getPayment(options) {
var {
@@ -547,3 +574,5 @@ export function search(options) {
})
}
+
+