diff --git a/api/interfaces/order.js b/api/interfaces/order.js
index 521f957..e52bcfc 100644
--- a/api/interfaces/order.js
+++ b/api/interfaces/order.js
@@ -1,50 +1,90 @@
- /*
- * 手太欠
- * 愿这世界都如故事里一样 美好而动人~
-*/
-
-import { req } from "../request"
-
-// 订单首页
-const list = data => req({
- url : "mall/orders",
- data: data
-})
-
-// 订单详情
-const goodsDet = (order_no) => req({
- url : "mall/orders/" + order_no
-})
-
-// 订单取消
-const goodsCancel = (order_no) => req({
- url : "mall/orders/" + order_no + "/cancel",
- method: "PUT"
-})
-
-// 订单删除
-const goodsDel = (order_no) => req({
- url : "mall/orders/" + order_no,
- method: "DELETE"
-})
-
-// 订单签收
-const goodsSign = (order_no) => req({
- url : "mall/orders/" + order_no + "/sign",
- method: "PUT"
-})
-
-// 快递100-免费
-const kuaiDi = (data) => req({
- url : "mall/orders/express",
- data: data
-})
-
-export default ({
- list,
- goodsDet,
- goodsCancel,
- goodsDel,
- goodsSign,
- kuaiDi
+ /*
+ * 手太欠
+ * 愿这世界都如故事里一样 美好而动人~
+*/
+
+import { req } from "../request"
+
+// 订单首页
+const list = data => req({
+ url : "mall/orders",
+ data: data
+})
+
+// 订单详情
+const goodsDet = (order_no) => req({
+ url : "mall/orders/" + order_no
+})
+
+// 订单取消
+const goodsCancel = (order_no) => req({
+ url : "mall/orders/" + order_no + "/cancel",
+ method: "PUT"
+})
+
+// 订单删除
+const goodsDel = (order_no) => req({
+ url : "mall/orders/" + order_no,
+ method: "DELETE"
+})
+
+// 订单签收
+const goodsSign = (order_no) => req({
+ url : "mall/orders/" + order_no + "/sign",
+ method: "PUT"
+})
+
+// 快递100-免费
+// const kuaiDi = (data) => req({
+// url : "mall/orders/express",
+// data: data
+// })
+
+// 快递100-花钱
+const kuaiDi = (order_no) => req({
+ url : "mall/orders/" + order_no + "/logistic"
+})
+
+// 退款售后列表
+const refundList = data => req({
+ url : "mall/refunds",
+ data: data
+})
+
+// 退款售后详情
+const refundSee = (refund) => req({
+ url : "mall/refunds/" + refund
+})
+
+// 退货
+const refundPost = (order_no, data) => req({
+ url : "mall/orders/" + order_no + "/refund",
+ data: data,
+ method: "POST"
+})
+
+// 获取退货信息
+const reason = (order_no) => req({
+ url : "mall/orders/" + order_no + "/refund"
+})
+
+// 用户退货
+const refundDeliver = (refund_no, data) => req({
+ url : "mall/refunds/" + refund_no + "/deliver",
+ data: data,
+ method: "POST"
+})
+
+export default ({
+ list,
+ goodsDet,
+ goodsCancel,
+ goodsDel,
+ goodsSign,
+ kuaiDi,
+ refundList,
+ refundSee,
+ refundPost,
+ reason,
+ refundDeliver
})
\ No newline at end of file
diff --git a/app.json b/app.json
index 90052cd..7e9858b 100644
--- a/app.json
+++ b/app.json
@@ -43,7 +43,11 @@
"pages/water/waterOrder/waterOrder",
"pages/water/details/details",
"pages/water/logistic/logistic",
- "pages/recruit/poster/poster"
+ "pages/recruit/poster/poster",
+ "pages/order/refund/refund",
+ "pages/order/refundForm/refundForm",
+ "pages/order/refundInfo/refundInfo",
+ "pages/order/refundWrite/refundWrite"
],
"window": {
"backgroundTextStyle": "light",
@@ -56,36 +60,36 @@
{
"pagePath": "pages/index/index",
"text": "首页",
- "iconPath": "/static/festival/tabBar_00.png",
- "selectedIconPath": "/static/festival/tabBar_selected_00.png"
+ "iconPath": "/static/tabBarIcon/tabBar_00.png",
+ "selectedIconPath": "/static/tabBarIcon/tabBar_selected_00.png"
},
{
"pagePath": "pages/mall/index",
"text": "产品",
- "iconPath": "/static/festival/tabBar_01.png",
- "selectedIconPath": "/static/festival/tabBar_selected_01.png"
+ "iconPath": "/static/tabBarIcon/tabBar_01.png",
+ "selectedIconPath": "/static/tabBarIcon/tabBar_selected_01.png"
},
{
"pagePath": "pages/recruit/index",
"text": "体验官",
- "iconPath": "/static/festival/tabBar_02.png",
- "selectedIconPath": "/static/festival/tabBar_selected_02.png"
+ "iconPath": "/static/tabBarIcon/tabBar_04.png",
+ "selectedIconPath": "/static/tabBarIcon/tabBar_selected_04.png"
},
{
"pagePath": "pages/report/index",
"text": "报告",
- "iconPath": "/static/festival/tabBar_03.png",
- "selectedIconPath": "/static/festival/tabBar_selected_03.png"
+ "iconPath": "/static/tabBarIcon/tabBar_02.png",
+ "selectedIconPath": "/static/tabBarIcon/tabBar_selected_02.png"
},
{
"pagePath": "pages/user/index",
"text": "我的",
- "iconPath": "/static/festival/tabBar_04.png",
- "selectedIconPath": "/static/festival/tabBar_selected_04.png"
+ "iconPath": "/static/tabBarIcon/tabBar_03.png",
+ "selectedIconPath": "/static/tabBarIcon/tabBar_selected_03.png"
}
],
"color": "#999999",
- "selectedColor": "#000000",
+ "selectedColor": "#3b7cff",
"borderStyle": "white"
},
"style": "v2",
diff --git a/pages/order/details/details.js b/pages/order/details/details.js
index f5ce171..4b6af99 100644
--- a/pages/order/details/details.js
+++ b/pages/order/details/details.js
@@ -68,15 +68,42 @@ Page({
content : '是否签收',
success : res=> {
if (res.confirm) {
- wx.$api.order.goodsSign(this.data.goodsData.order_no).then(res => {
+ //拉起确认收货组件
+ if (wx.openBusinessView) {
+ wx.openBusinessView({
+ businessType: 'weappOrderConfirm',
+ extraData: {
+ merchant_id: this.data.goodsData.payment.mch_id,
+ merchant_trade_no: this.data.goodsData.payment.trade_id
+ },
+ success: ()=> {
+ wx.$api.order.goodsSign(this.data.goodsData.order_no).then(res => {
+ wx.showToast({
+ title:'签收成功',
+ icon:'none'
+ })
+
+ // 获取订单详情
+ this.goodsInfo();
+ }).catch(err => {})
+ },
+ fail: ()=> {
+ wx.showToast({
+ title:'取消收货',
+ icon:'none'
+ })
+ },
+ complete: ()=> {
+ console.log('complete')
+ },
+ });
+ } else {
+ //引导用户升级微信版本
wx.showToast({
- title:'签收成功',
- icon:'none'
+ title:'请升级微信版本',
+ icon:'none'
})
-
- // 获取订单详情
- this.goodsInfo();
- }).catch(err => {})
+ }
}
}
})
@@ -125,7 +152,14 @@ Page({
// wx.navigateTo({
// url: '/pages/mall/webView/webView?url=' + this.data.goodsData.express.url,
// })
- var data = JSON.stringify(this.data.goodsData.express)
+ // 免费的
+ // var data = JSON.stringify(this.data.goodsData.express)
+ // wx.navigateTo({
+ // url: `../logistic/logistic?newData=` + encodeURIComponent(data)
+ // })
+
+ // 花钱的
+ var data = JSON.stringify(this.data.goodsData.order_no)
wx.navigateTo({
url: `../logistic/logistic?newData=` + encodeURIComponent(data)
})
diff --git a/pages/order/index.js b/pages/order/index.js
index 8e1e0f7..2a2d0a6 100644
--- a/pages/order/index.js
+++ b/pages/order/index.js
@@ -97,25 +97,64 @@ Page({
* 订单签收
*/
signClick(e) {
+ console.log(e.currentTarget.dataset)
+ let payment = e.currentTarget.dataset.payment,
+ orderNo = e.currentTarget.dataset.order_no
wx.showModal({
title : '提示',
content : '是否签收',
success : res=> {
if (res.confirm) {
- wx.$api.order.goodsSign(e.currentTarget.dataset.order_no).then(res => {
+ //拉起确认收货组件
+ if (wx.openBusinessView) {
+ wx.openBusinessView({
+ businessType: 'weappOrderConfirm',
+ extraData: {
+ merchant_id: payment.mch_id,
+ merchant_trade_no: payment.trade_id
+ },
+ success: ()=> {
+ wx.$api.order.goodsSign(e.currentTarget.dataset.order_no).then(res => {
+ wx.showToast({
+ title:'签收成功',
+ icon:'none'
+ })
+
+ // 获取订单列表
+ this.listInfo()
+ }).catch(err => {})
+ },
+ fail: ()=> {
+ wx.showToast({
+ title:'取消收货',
+ icon:'none'
+ })
+ },
+ complete: ()=> {
+ console.log('complete')
+ },
+ });
+ } else {
+ //引导用户升级微信版本
wx.showToast({
- title:'签收成功',
- icon:'none'
+ title:'请升级微信版本',
+ icon:'none'
})
-
- // 获取订单列表
- this.listInfo()
- }).catch(err => {})
+ }
}
}
})
},
+ /**
+ * 退货售后
+ */
+ refundClick(no){
+ wx.navigateTo({
+ url: '/pages/order/refundForm/refundForm?order_no=' + no.currentTarget.dataset.order_no
+ })
+ },
+
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
diff --git a/pages/order/index.wxml b/pages/order/index.wxml
index c1dc192..9e4b9b4 100644
--- a/pages/order/index.wxml
+++ b/pages/order/index.wxml
@@ -45,7 +45,8 @@
立即付款
- 签收订单
+ 签收订单
+ 退款售后
查看详情
diff --git a/pages/order/logistic/logistic.js b/pages/order/logistic/logistic.js
index 1c6ea81..ec0c08d 100644
--- a/pages/order/logistic/logistic.js
+++ b/pages/order/logistic/logistic.js
@@ -7,6 +7,7 @@ Page({
data: {
logisticArr : [],
expressData : '',
+ orderExpress: ''
},
onLoad(options) {
@@ -14,6 +15,7 @@ Page({
newData = {}
} = options;
const data = JSON.parse(decodeURIComponent(newData));
+
this.setData({
expressData: data
})
@@ -26,9 +28,10 @@ Page({
// 查看物流
h5url() {
- wx.$api.order.kuaiDi({express_no: this.data.expressData.express_no}).then(res => {
+ wx.$api.order.kuaiDi(this.data.expressData).then(res => {
this.setData({
- logisticArr: res.data.data
+ logisticArr : res.data.logistics,
+ orderExpress: res.data.orderExpress
})
}).catch(err => {})
// wx.request({
diff --git a/pages/order/logistic/logistic.wxml b/pages/order/logistic/logistic.wxml
index 5bf0bc3..0cb445a 100644
--- a/pages/order/logistic/logistic.wxml
+++ b/pages/order/logistic/logistic.wxml
@@ -1,17 +1,18 @@
-
+
- {{expressData.express_name}}
+ {{orderExpress.logistic_name}}
- {{expressData.express_no}}
+ {{orderExpress.express_no}}
- {{expressData.name}}{{expressData.mobile}}
+ {{orderExpress.order_state}}
+
@@ -21,7 +22,7 @@
收
- {{expressData.full_address}}
+ {{orderExpress.address}}
diff --git a/pages/order/refund/refund.js b/pages/order/refund/refund.js
new file mode 100644
index 0000000..bda1af5
--- /dev/null
+++ b/pages/order/refund/refund.js
@@ -0,0 +1,88 @@
+ /*
+ * 手太欠
+ * 愿这世界都如故事里一样 美好而动人~
+ */
+
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ listType : 'refunding', //refunding 处理中 refunded 已完成
+ listsArr : [], // 订单列表
+ page : {}, // 分页信息
+ lodingStats : false,// 加载状态
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {},
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+ // 获取订单列表
+ this.listInfo()
+ },
+
+ /**
+ * 订单列表
+ */
+ listInfo(page) {
+ wx.$api.order.refundList({
+ state: this.data.listType,
+ page : page || 1
+ }).then(res => {
+ let listArr = this.data.listsArr,
+ newData = []
+ if(page == 1 || page == undefined) listArr = []
+ newData = listArr.concat(res.data.data)
+ this.setData({
+ listsArr : newData,
+ page : res.data.page,
+ lodingStats : false
+ })
+
+ wx.stopPullDownRefresh()
+ }).catch(err => {})
+ },
+
+ /**
+ * 状态筛选
+ */
+ onTabs(val){
+ if(this.data.listType === val) return
+ this.setData({
+ listType: val.currentTarget.dataset.type
+ })
+
+ // 获取订单列表
+ this.listInfo()
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+ // 获取订单列表
+ this.listInfo();
+ },
+
+ /**
+ * 上拉加载
+ */
+ onReachBottom(){
+ this.setData({
+ lodingStats: true
+ })
+ let pageNumber = this.data.page.current
+ if(this.data.page.has_more){
+ pageNumber++
+ // 获取订单列表
+ this.listInfo(pageNumber);
+ }
+ }
+})
\ No newline at end of file
diff --git a/pages/order/refund/refund.json b/pages/order/refund/refund.json
new file mode 100644
index 0000000..3928faa
--- /dev/null
+++ b/pages/order/refund/refund.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/order/refund/refund.wxml b/pages/order/refund/refund.wxml
new file mode 100644
index 0000000..d638bb9
--- /dev/null
+++ b/pages/order/refund/refund.wxml
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+ {{item.shop.name}}
+
+
+
+ {{item.state.text}}
+
+
+
+
+
+ {{items.goods_name}}
+ 数量:{{items.qty}}
+
+ 产品价格:¥{{items.price}}
+
+
+
+
+ 退款总额
+ 退款 ¥{{item.refund_total}} 元
+
+
+ 查看详情
+
+ 我要退货
+
+
+
+
+
+
+
+
+ 暂无数据
+
\ No newline at end of file
diff --git a/pages/order/refund/refund.wxss b/pages/order/refund/refund.wxss
new file mode 100644
index 0000000..10b6c5f
--- /dev/null
+++ b/pages/order/refund/refund.wxss
@@ -0,0 +1,154 @@
+page {
+ background-color: #f7faff;
+}
+
+/* tabs */
+.header {
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ z-index: 99;
+ height: 100rpx;
+ background-color: #f7faff;
+}
+
+.tabs {
+ display: flex;
+ justify-content: space-around;
+ padding: 30rpx 10rpx;
+ font-size: 30rpx;
+ color: #3c3d3e;
+}
+
+.tabs-item.show {
+ color: #3b7cff;
+}
+
+/* 订单列表 */
+.order-content {
+ padding: 0 30rpx;
+ box-sizing: border-box;
+ margin-top: 100rpx;
+}
+
+.order-content-li{
+ background: white;
+ padding: 30rpx;
+}
+
+.order-store{
+ padding-bottom: 30rpx;
+ margin-bottom: 10rpx;
+ border-bottom: solid 1rpx #f5f6fa;
+ display: flex;
+}
+
+.order-store-stateText{
+ color: #e92344;
+ font-size: 26rpx;
+ display: flex;
+}
+
+.order-store-stateText image, .order-store-title image {
+ width: 32rpx;
+ height: 32rpx;
+ margin: 2rpx 10rpx 0 0;
+}
+
+.order-store-title{
+ flex: 1;
+ display: flex;
+}
+
+.order-store-title image {
+ margin-top: 7rpx;
+}
+
+
+.order-store-orderid{
+ color: #747788;
+ font-size: 25rpx;
+}
+
+.order-store-title text{
+ color: white;
+ font-size: 24rpx;
+ background: #e92344;
+ margin-right: 10rpx;
+ padding: 0 10rpx;
+}
+
+.order-goods{
+ padding-top: 20rpx;
+ position: relative;
+}
+
+.order-goods-cover{
+ width: 160rpx;
+ height: 160rpx;
+ vertical-align: top;
+ border-radius: 10rpx;
+}
+
+.order-goods-content{
+ position: absolute;
+ left: 190rpx;
+ top: 20rpx;
+ right: 20rpx;
+ width: calc(100% - 190rpx);
+}
+
+.order-goods-content-size{
+ color: #9a9a9a;
+ font-size: 26rpx;
+ margin: 15rpx 0 25rpx;
+}
+
+.order-goods-content-price{
+ font-size: 24rpx;
+ color: #313131;
+}
+
+.order-total{
+ padding: 10rpx 20rpx 10rpx 30rpx;
+ font-size: 26rpx;
+ line-height: 50rpx;
+ border-radius: 10rpx;
+ color: #313131;
+ display: flex;
+ background: #f7f7f7;
+ margin: 20rpx 0;
+ font-weight: 600;
+}
+
+.order-total text{
+ padding-left: 30rpx;
+ font-weight: normal;
+ color: #e92344;
+}
+
+.order-btns{
+ font-size: 28rpx;
+ display: flex;
+ border-top: solid 1rpx #f5f6fa;
+ padding-top: 30rpx;
+ margin-top: 30rpx;
+ flex-wrap: wrap;
+ flex-direction:row-reverse;
+}
+
+.order-btn{
+ height: 64rpx;
+ line-height: 60rpx;
+ box-sizing: border-box;
+ border:solid 1rpx #747788;
+ padding: 0 20rpx;
+ border-radius: 30rpx;
+ margin-left: 30rpx;
+}
+
+.order-btn-back {
+ border-color: #e92344;
+ color: #e92344;
+}
\ No newline at end of file
diff --git a/pages/order/refundForm/refundForm.js b/pages/order/refundForm/refundForm.js
new file mode 100644
index 0000000..752e742
--- /dev/null
+++ b/pages/order/refundForm/refundForm.js
@@ -0,0 +1,152 @@
+ /*
+ * 手太欠
+ * 愿这世界都如故事里一样 美好而动人~
+ */
+
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ reasonArr : [],
+ reasonIndex: 0,
+ orderNo : '',
+ albumArr : [], //我的相册
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+ console.log(options)
+ this.setData({
+ orderNo: options.order_no
+ })
+
+ // 获取退款原因
+ this.reasonInfo(options.order_no)
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 退款原因
+ */
+ reasonInfo(order_no) {
+ wx.$api.order.reason(order_no).then(res => {
+ this.setData({
+ reasonArr: res.data.title
+ })
+ }).catch(err => {})
+ },
+
+
+ /**
+ * 选择退款原因
+ */
+ reasonChange(e) {
+ this.setData({
+ reasonIndex: e.detail.value
+ })
+ },
+
+ /**
+ * 上传图片
+ */
+ addAlbum() {
+ wx.chooseImage({
+ count : 9,
+ success : path => {
+ // 上传图片
+ if (path.tempFilePaths){
+ let pathArr = path.tempFilePaths
+ for (let i = 0; i < pathArr.length; i++){
+ wx.$api.file.uploadImg(pathArr[i], {}).then(res=>{
+ wx.showLoading({
+ title: '上传中',
+ })
+ let albumArr = this.data.albumArr
+ albumArr.push({
+ path: res.path,
+ showpath: res.url
+ })
+ this.setData({
+ albumArr
+ })
+
+ wx.hideLoading()
+ })
+ if (i == pathArr.length - 1) {
+ wx.hideLoading()
+ }
+ }
+ }else{
+ wx.showToast({
+ title: '上传图片失败',
+ icon : 'none'
+ })
+ }
+ }
+ })
+ },
+
+ /**
+ * 删除图片
+ */
+ removeAlbum(e){
+ wx.showLoading({
+ title: '加载中'
+ })
+ let index = e.currentTarget.dataset.index,
+ atalbum = this.data.albumArr
+ wx.showToast({
+ title: '删除成功',
+ icon : 'none'
+ })
+ atalbum.splice(index,1)
+ this.setData({
+ albumArr : atalbum
+ })
+ },
+
+ /**
+ * 提交表单
+ */
+ siteform(e) {
+ let paths = []
+ for (let paht of this.data.albumArr){
+ paths.push(paht.path)
+ }
+ let value = e.detail.value
+ let data = {
+ remark : value.remark,
+ title : this.data.reasonIndex,
+ pictures : paths
+ }
+ this.setData({
+ disabled: true
+ })
+ wx.$api.order.refundPost(this.data.orderNo, data).then(() => {
+ wx.showToast({
+ title: '提交成功',
+ icon : 'none'
+ })
+ setTimeout(()=>{
+ wx.redirectTo({
+ url: '/pages/order/refund/refund',
+ })
+ },3000)
+
+ }).catch(() =>{
+ this.setData({
+ disabled: false
+ })
+ })
+ }
+})
\ No newline at end of file
diff --git a/pages/order/refundForm/refundForm.json b/pages/order/refundForm/refundForm.json
new file mode 100644
index 0000000..3928faa
--- /dev/null
+++ b/pages/order/refundForm/refundForm.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/order/refundForm/refundForm.wxml b/pages/order/refundForm/refundForm.wxml
new file mode 100644
index 0000000..7445879
--- /dev/null
+++ b/pages/order/refundForm/refundForm.wxml
@@ -0,0 +1,34 @@
+
\ No newline at end of file
diff --git a/pages/order/refundForm/refundForm.wxss b/pages/order/refundForm/refundForm.wxss
new file mode 100644
index 0000000..cde8444
--- /dev/null
+++ b/pages/order/refundForm/refundForm.wxss
@@ -0,0 +1,106 @@
+page {
+ background-color: #f4f4f6;
+}
+
+.site-input {
+ padding: 30rpx;
+ box-sizing: border-box;
+}
+
+.site-input label {
+ font-weight: 600;
+}
+
+.site-input-back {
+ background-color: #fff;
+ padding: 30rpx;
+ box-sizing: border-box;
+ border-radius: 10rpx;
+ margin-top: 30rpx;
+ position: relative;
+ width: 100%;
+}
+
+.site-input-back image {
+ width: 44rpx;
+ height: 44rpx;
+ position: absolute;
+ right: 20rpx;
+ top: 25rpx;
+}
+
+.album-list {
+ display: flex;
+ padding: 20rpx 20rpx 20rpx 15rpx;
+ flex-wrap: wrap;
+ background-color: #fff;
+ margin-top: 30rpx;
+ border-radius: 10rpx;
+
+}
+
+.album-list-li {
+ position: relative;
+ width: 25%;
+ padding-top: calc(25% - 20rpx);
+ box-sizing: border-box;
+ border: solid 10rpx transparent;
+}
+
+.album-list-img,
+.album-list-li-add {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background: #f5f5f5;
+ border-radius: 6rpx;
+}
+
+.album-list-li-add {
+ text-align: center;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-box-pack: center;
+ color: #666;
+ font-size: 26rpx;
+}
+
+.album-list-add-icon {
+ width: 34rpx;
+ height: 34rpx;
+}
+
+.album-remove {
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ background: rgba(0, 0, 0, .5);
+ color: white;
+ font-size: 28rpx;
+ text-align: center;
+ line-height: 50rpx;
+ width: 100%;
+ z-index: 9;
+}
+
+.site-btn {
+ padding: 20rpx 30rpx;
+ margin-top: 6rpx;
+}
+
+.site-btn button[size="mini"] {
+ width: 100%;
+ background: #3b7cff;
+ height: 88rpx;
+ line-height: 88rpx;
+ font-size: 30rpx;
+ color: white;
+ padding: 0;
+}
+
+.site-btn button[disabled] {
+ background: #7789ff !important;
+ color: #fff !important;
+}
\ No newline at end of file
diff --git a/pages/order/refundInfo/refundInfo.js b/pages/order/refundInfo/refundInfo.js
new file mode 100644
index 0000000..1034ec1
--- /dev/null
+++ b/pages/order/refundInfo/refundInfo.js
@@ -0,0 +1,53 @@
+ /*
+ * 手太欠
+ * 愿这世界都如故事里一样 美好而动人~
+ */
+
+Page({
+ data: {
+ goodsData : '', //详情
+ canState : '', //操作按钮
+ express : '', //物流
+ refundNo : '' //订单号
+ },
+
+ onLoad(options) {
+ this.setData({
+ refundNo: options.refund_no
+ })
+ },
+
+ onShow() {
+ // 获取订单详情
+ this.goodsInfo();
+ },
+
+ /**
+ * 订单详情
+ */
+ goodsInfo() {
+ wx.$api.order.refundSee(this.data.refundNo).then(res => {
+ console.log(res)
+ this.setData({
+ goodsData : res.data,
+ canState : res.data.can,
+ express : res.data.express
+ })
+ }).catch(err => {})
+ },
+
+ /**
+ * 复制订单号
+ */
+ copyUrl(val) {
+ wx.setClipboardData({
+ data: val.currentTarget.dataset.no,
+ success: () => {
+ wx.showToast({
+ title: "订单编号复制成功",
+ icon : "none"
+ })
+ }
+ })
+ }
+})
diff --git a/pages/order/refundInfo/refundInfo.json b/pages/order/refundInfo/refundInfo.json
new file mode 100644
index 0000000..3928faa
--- /dev/null
+++ b/pages/order/refundInfo/refundInfo.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/order/refundInfo/refundInfo.wxml b/pages/order/refundInfo/refundInfo.wxml
new file mode 100644
index 0000000..ce5e168
--- /dev/null
+++ b/pages/order/refundInfo/refundInfo.wxml
@@ -0,0 +1,64 @@
+
+
+
+
+
+ 订单编号
+
+ {{goodsData.order_no}}
+ 复制
+
+
+
+
+
+
+ {{ goodsData.log.state_text }}
+
+ 退款原因:{{ goodsData.log.remark }}
+
+
+
+
+
+
+
+
+
+ {{item.goods_name}}
+
+ 规格 99mlx{{item.qty}}
+
+
+ ¥{{item.price}}
+
+
+
+
+
+
+ 退款信息
+
+ 操作时间
+ {{goodsData.created_at}}
+
+
+ 退款状态
+ {{goodsData.state.text}}
+
+
+ 退款状态
+ {{goodsData.state.remark}}
+
+
+ 退款金额
+ ¥{{goodsData.refund_total}}
+
+
+
+
\ No newline at end of file
diff --git a/pages/order/refundInfo/refundInfo.wxss b/pages/order/refundInfo/refundInfo.wxss
new file mode 100644
index 0000000..b99015d
--- /dev/null
+++ b/pages/order/refundInfo/refundInfo.wxss
@@ -0,0 +1,234 @@
+page {
+ background: #f3f4f6;
+ padding: 30rpx;
+ box-sizing: border-box;
+}
+
+.While {
+ border-radius: 10rpx;
+ margin-bottom: 30rpx;
+ background-color: #FFFFFF;
+ box-shadow: 0 0 10rpx rgba(0, 0, 0, .05);
+}
+
+.orderData {
+ border-bottom: 100rpx transparent solid;
+}
+
+/* 订单 */
+.orderData-cont-label {
+ padding: 40rpx 30rpx;
+ display: flex;
+ box-sizing: border-box;
+ border-bottom: #f2f2f2 2rpx solid;
+}
+
+.orderData-cont-img {
+ width: 38rpx;
+ height: 38rpx;
+ margin-top: 4rpx;
+}
+
+.orderData-cont-text {
+ width: calc(100% - 68rpx);
+ margin-left: 20rpx;
+ box-sizing: border-box;
+ font-size: 30rpx;
+}
+
+.orderData-cont-site {
+ width: calc(100% - 108rpx);
+}
+
+.orderData-cont-name {
+ margin-bottom: 10rpx;
+}
+
+.orderData-cont-name text {
+ color: #999;
+ padding-left: 20rpx;
+}
+
+.orderData-cont-copy {
+ display: flex;
+ font-size: 28rpx;
+ color: #999;
+}
+
+.orderData-cont-copy text {
+ flex: 1;
+ display: inline-block;
+ margin-right: 20rpx;
+}
+
+.orderData-cont-copy view {
+ color: #3b7cff;
+}
+
+.address-btn {
+ width: 42rpx;
+ height: 42rpx;
+ margin-top: 46rpx;
+}
+
+/* 产品 */
+.list-goods {
+ display: flex;
+ padding: 30rpx;
+ box-sizing: border-box;
+}
+
+.list-goods-img {
+ width: 184rpx;
+ height: 184rpx;
+ margin-right: 30rpx;
+ border-radius: 10rpx;
+}
+
+.list-goods-cont {
+ width: calc(100% - 214rpx);
+}
+
+.list-goods-name {
+ font-size: 32rpx;
+}
+
+.list-goods-text {
+ line-height: 90rpx;
+ display: flex;
+ font-size: 28rpx;
+ color: #999999;
+}
+
+.list-goods-text text {
+ flex: 1;
+}
+
+.list-goods-parice {
+ text-align: right;
+ font-size: 28rpx;
+}
+
+.list-goods-parice text {
+ font-size: 34rpx;
+}
+
+/* 规格 */
+.reserveCont-title {
+ padding: 30rpx;
+ font-size: 30rpx;
+}
+
+.reserve-label {
+ display: flex;
+ padding: 0 30rpx 30rpx;
+ box-sizing: border-box;
+ font-size: 28rpx;
+ line-height: 48rpx;
+}
+
+.reserve-name {
+ flex: 1;
+ width: 200rpx;
+ margin-right: 20rpx;
+ color: #7e7e7e;
+}
+
+.reserve-text {
+ width: calc(100% - 240rpx);
+ text-align: right;
+ line-height: 50rpx;
+}
+
+.reserve-text-btn {
+ width: 120rpx;
+ text-align: center;
+ color: #ffffff;
+ background-color: #3b7cff;
+ font-size: 26rpx;
+ border-radius: 10rpx;
+ line-height: 54rpx;
+}
+
+.reserve-text-copy {
+ display: contents;
+}
+
+.reserve-text-tap {
+ color: #ff9951;
+ padding-left: 30rpx;
+}
+
+.reserve-text text {
+ font-size: 24rpx;
+ display: inline-block;
+ background-image: linear-gradient(to right, #f16e06, #f34206);
+ color: #FFFFFF;
+ border-radius: 6rpx;
+ padding: 0 10rpx;
+ height: 44rpx;
+ line-height: 44rpx;
+ margin-top: 6rpx;
+}
+
+.reserve-text text.active {
+ background-image: linear-gradient(to right, #027be6, #2855f0);
+}
+
+.reserve-text.reserve-price {
+ font-weight: 600;
+ font-size: 34rpx;
+}
+
+.reserve-copy {
+ color: #3b7cff;
+ border: #3b7cff 2rpx solid;
+ display: inline-block;
+ height: 34rpx;
+ line-height: 34rpx;
+ font-size: 26rpx;
+ padding: 0 10rpx;
+ border-radius: 4rpx;
+ margin-left: 10rpx;
+}
+
+.reserve-status {
+ color: #ff8100
+}
+
+/* 底部菜单 */
+.order-data-footer {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ border-top: solid 1rpx #f2f2f2;
+ padding-top: 20rpx;
+ padding-right: 30rpx;
+ padding-left: 30rpx;
+ height: 110rpx;
+ background: white;
+ flex-wrap: wrap;
+ flex-direction: row-reverse;
+ z-index: 9;
+}
+
+.list-btn {
+ text-align: right;
+}
+
+.order-btn {
+ border: 2rpx solid #ff8100;
+ color: #ff8100;
+ border-radius: 80rpx;
+ height: 56rpx;
+ line-height: 56rpx;
+ padding: 0 20rpx;
+ display: inline-block;
+ font-size: 26rpx;
+ margin-left: 30rpx;
+}
+.order-btn.grey {
+ color: grey;
+ border-color: grey;
+}
\ No newline at end of file
diff --git a/pages/order/refundWrite/refundWrite.js b/pages/order/refundWrite/refundWrite.js
new file mode 100644
index 0000000..b135d8b
--- /dev/null
+++ b/pages/order/refundWrite/refundWrite.js
@@ -0,0 +1,64 @@
+// pages/order/refundWrite/refundWrite.js
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ disabled: false,
+ refundNo: ''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+ this.setData({
+ refundNo: options.refund_no
+ })
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 提交表单
+ */
+ siteform(e) {
+ let value = e.detail.value
+ let data = {
+ company : value.company,
+ number : value.number
+ }
+ this.setData({
+ disabled: true
+ })
+ wx.$api.order.refundDeliver(this.data.refundNo, data).then(() => {
+ wx.showToast({
+ title: '提交成功',
+ icon : 'none'
+ })
+ setTimeout(()=>{
+ wx.navigateTo({
+ url: '/pages/order/refund/refund',
+ })
+ },3000)
+
+ }).catch(() =>{
+ this.setData({
+ disabled: false
+ })
+ })
+ }
+})
\ No newline at end of file
diff --git a/pages/order/refundWrite/refundWrite.json b/pages/order/refundWrite/refundWrite.json
new file mode 100644
index 0000000..3928faa
--- /dev/null
+++ b/pages/order/refundWrite/refundWrite.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/order/refundWrite/refundWrite.wxml b/pages/order/refundWrite/refundWrite.wxml
new file mode 100644
index 0000000..21a339e
--- /dev/null
+++ b/pages/order/refundWrite/refundWrite.wxml
@@ -0,0 +1,13 @@
+
\ No newline at end of file
diff --git a/pages/order/refundWrite/refundWrite.wxss b/pages/order/refundWrite/refundWrite.wxss
new file mode 100644
index 0000000..a9a0d68
--- /dev/null
+++ b/pages/order/refundWrite/refundWrite.wxss
@@ -0,0 +1,53 @@
+page {
+ background-color: #f4f4f6;
+}
+
+.site-input {
+ padding: 30rpx;
+ box-sizing: border-box;
+}
+
+.site-input label {
+ font-weight: 600;
+}
+
+.site-input-back {
+ background-color: #fff;
+ padding: 0 30rpx;
+ box-sizing: border-box;
+ border-radius: 10rpx;
+ margin-top: 30rpx;
+ position: relative;
+ width: 100%;
+ height: 90rpx;
+ line-height: 90rpx;
+}
+
+.site-input-back image {
+ width: 44rpx;
+ height: 44rpx;
+ position: absolute;
+ right: 20rpx;
+ top: 25rpx;
+}
+
+
+.site-btn {
+ padding: 20rpx 30rpx;
+ margin-top: 6rpx;
+}
+
+.site-btn button[size="mini"] {
+ width: 100%;
+ background: #3b7cff;
+ height: 88rpx;
+ line-height: 88rpx;
+ font-size: 30rpx;
+ color: white;
+ padding: 0;
+}
+
+.site-btn button[disabled] {
+ background: #7789ff !important;
+ color: #fff !important;
+}
\ No newline at end of file
diff --git a/pages/report/index.wxss b/pages/report/index.wxss
index 51d52f0..b80e080 100644
--- a/pages/report/index.wxss
+++ b/pages/report/index.wxss
@@ -1,104 +1,104 @@
-page {
- background-color: #f7faff;
-}
-
-
-/* 列表 */
-.report {
- width: 100%;
- padding: 30rpx 30rpx 0;
- box-sizing: border-box;
-}
-
-.report-title {
- font-size: 36rpx;
-}
-
-.report-list {
- margin-top: 30rpx;
-}
-
-.report-item {
- background-color: #fff;
- border-radius: 20rpx;
- padding: 30rpx;
- box-sizing: border-box;
- box-shadow: 0 4rpx 30rpx 2rpx rgba(0, 0, 0, .05);
- color: #0d0d0d;
- position: relative;
- margin-bottom: 30rpx;
-}
-
-.report-item:last-child {
- margin: 0;
-}
-
-.report-time {
- font-size: 34rpx;
-}
-
-.report-tips {
- font-size: 28rpx;
- margin-top: 20rpx;
- line-height: 60rpx;
- color: #414141;
-}
-
-.report-btn {
- position: absolute;
- right: 30rpx;
- bottom: 30rpx;
- color: #3b7cff;
- border: #3b7cff 2rpx solid;
- font-size: 26rpx;
- line-height: 56rpx;
- padding: 0 30rpx;
- border-radius: 90rpx;
-}
-
-/* 友情提示 */
-.report-point {
- padding: 140rpx 50rpx 0;
- box-sizing: border-box;
- text-align: center;
-}
-
-.report-point-text {
- color: #999999;
- line-height: 60rpx;
-}
-
-.report-point-text text {
- display: block;
-}
-
-.report-point-btn {
- margin-top: 50rpx;
- background-color: #3b7cff;
- display: inline-block;
- color: #fff;
- border-radius: 80rpx;
- line-height: 90rpx;
- width: 60%;
-}
-
-/* 暂无数据 */
-.reportTips-title {
- color: #000;
- font-size: 34rpx;
- line-height: 80rpx;
-}
-
-.reportTips-text {
- font-size: 26rpx;
-}
-
-.reportTips-btn {
- background-color: #3b7cff;
- display: inline-block;
- color: #fff;
- line-height: 78rpx;
- padding: 0 60rpx;
- border-radius: 10rpx;
- margin-top: 50rpx;
-}
+page {
+ background-color: #f7faff;
+}
+
+
+/* 列表 */
+.report {
+ width: 100%;
+ padding: 30rpx 30rpx 0;
+ box-sizing: border-box;
+}
+
+.report-title {
+ font-size: 36rpx;
+}
+
+.report-list {
+ margin-top: 30rpx;
+}
+
+.report-item {
+ background-color: #fff;
+ border-radius: 20rpx;
+ padding: 30rpx;
+ box-sizing: border-box;
+ box-shadow: 0 4rpx 30rpx 2rpx rgba(0, 0, 0, .05);
+ color: #0d0d0d;
+ position: relative;
+ margin-bottom: 30rpx;
+}
+
+.report-item:last-child {
+ margin: 0;
+}
+
+.report-time {
+ font-size: 34rpx;
+}
+
+.report-tips {
+ font-size: 28rpx;
+ margin-top: 20rpx;
+ line-height: 60rpx;
+ color: #414141;
+}
+
+.report-btn {
+ position: absolute;
+ right: 30rpx;
+ bottom: 30rpx;
+ color: #3b7cff;
+ border: #3b7cff 2rpx solid;
+ font-size: 26rpx;
+ line-height: 56rpx;
+ padding: 0 30rpx;
+ border-radius: 90rpx;
+}
+
+/* 友情提示 */
+.report-point {
+ padding: 40rpx 50rpx;
+ box-sizing: border-box;
+ text-align: center;
+}
+
+.report-point-text {
+ color: #999999;
+ line-height: 60rpx;
+}
+
+.report-point-text text {
+ display: block;
+}
+
+.report-point-btn {
+ margin-top: 50rpx;
+ background-color: #3b7cff;
+ display: inline-block;
+ color: #fff;
+ border-radius: 80rpx;
+ line-height: 90rpx;
+ width: 60%;
+}
+
+/* 暂无数据 */
+.reportTips-title {
+ color: #000;
+ font-size: 34rpx;
+ line-height: 80rpx;
+}
+
+.reportTips-text {
+ font-size: 26rpx;
+}
+
+.reportTips-btn {
+ background-color: #3b7cff;
+ display: inline-block;
+ color: #fff;
+ line-height: 78rpx;
+ padding: 0 60rpx;
+ border-radius: 10rpx;
+ margin-top: 50rpx;
+}
diff --git a/pages/user/index.wxml b/pages/user/index.wxml
index 50ff932..f74996c 100644
--- a/pages/user/index.wxml
+++ b/pages/user/index.wxml
@@ -79,6 +79,10 @@
已签收
+
+
+ 退货售后
+
diff --git a/pages/user/index.wxss b/pages/user/index.wxss
index 924bfe8..9febf62 100644
--- a/pages/user/index.wxss
+++ b/pages/user/index.wxss
@@ -252,7 +252,7 @@ page {
background-color: #ff9951;
position: absolute;
top: -15rpx;
- right: 40rpx;
+ right: 20rpx;
font-size: 24rpx;
width: 30rpx;
height: 30rpx;
diff --git a/project.private.config.json b/project.private.config.json
index 6a422f4..6f35c59 100644
--- a/project.private.config.json
+++ b/project.private.config.json
@@ -116,5 +116,5 @@
]
}
},
- "libVersion": "2.33.0"
+ "libVersion": "3.0.0"
}
\ No newline at end of file
diff --git a/static/icons/editIcon.png b/static/icons/editIcon.png
new file mode 100644
index 0000000..6a888e1
Binary files /dev/null and b/static/icons/editIcon.png differ
diff --git a/static/imgs/add_img.png b/static/imgs/add_img.png
new file mode 100644
index 0000000..1ca9149
Binary files /dev/null and b/static/imgs/add_img.png differ