Browse Source

优化我的订单和对接订单评论

master
ltlzx 4 years ago
parent
commit
f3c0a5f16f
  1. 4
      .hbuilderx/launch.json
  2. 5
      api/index.js
  3. 6
      api/request.js
  4. 2
      pages/account/addAddress.vue
  5. 399
      pages/account/myOrders.vue
  6. 6
      pages/order/confirmation.vue
  7. 59
      pages/order/details.vue
  8. 8
      pages/order/refund.vue
  9. 10
      pages/productDetails/index.vue
  10. 114
      pages/productDetails/review.vue

4
.hbuilderx/launch.json

@ -10,6 +10,10 @@
{ {
"launchtype" : "local" "launchtype" : "local"
}, },
"h5" :
{
"launchtype" : "local"
},
"type" : "uniCloud" "type" : "uniCloud"
} }
] ]

5
api/index.js

@ -38,7 +38,7 @@ export const defaultRequest2 =query=>{
}) })
} }
//默认请求地址 只用cookies请求数据 对里面的对象进行加密 //默认请求地址 只用cookies请求数据 对里面的对象进行加密
export const defaultRequest3 =query=>{ export const defaultRequest3 =(query,key)=>{
return httpRequest({ return httpRequest({
url:'mapi/api_v2011.php?appcode=DOPE+', url:'mapi/api_v2011.php?appcode=DOPE+',
method:'post', method:'post',
@ -46,7 +46,8 @@ export const defaultRequest3 =query=>{
errMsg:true, errMsg:true,
isCookies:true, isCookies:true,
isEncryption:true, isEncryption:true,
isLoad:true isLoad:true,
key:key
}) })
} }
//默认请求地址 不显示等待加载 //默认请求地址 不显示等待加载

6
api/request.js

@ -22,13 +22,13 @@ const httpRequest = (params) => {
} }
let data=Object.assign(json_data,params.data) let data=Object.assign(json_data,params.data)
console.info(data) console.info(data)
let consignee let key=params.key
if(params.isEncryption){ if(params.isEncryption){
// console.info(JSON.parse(JSON.stringify(data.consignee))) // console.info(JSON.parse(JSON.stringify(data.consignee)))
consignee=encryption(JSON.parse(JSON.stringify(data.consignee))) key=encryption(JSON.parse(JSON.stringify(data[params.key])))
// console.info(consignee) // console.info(consignee)
data=encryption(data) data=encryption(data)
data.consignee=consignee data[params.key]=key
}else{ }else{
data=encryption(data) data=encryption(data)
} }

2
pages/account/addAddress.vue

@ -249,7 +249,7 @@
return return
} }
console.info(this.query) console.info(this.query)
defaultRequest3(this.query).then(res=>{ defaultRequest3(this.query,'consignee').then(res=>{
console.info(res) console.info(res)
if(res.error==0){ if(res.error==0){
uni.showToast({ uni.showToast({

399
pages/account/myOrders.vue

@ -6,6 +6,7 @@
</scroll-view> </scroll-view>
</view> </view>
<view class="body"> <view class="body">
<!-- 全部订单 -->
<template v-if="isList==true && scroll_active==0"> <template v-if="isList==true && scroll_active==0">
<view class="" v-for="(item,idnex) in orderList" :key="item.order_id"> <view class="" v-for="(item,idnex) in orderList" :key="item.order_id">
<view class="order" @click="goDetails(item,item.order_id)"> <view class="order" @click="goDetails(item,item.order_id)">
@ -82,52 +83,106 @@
<!-- 已完成订单 --> <!-- 已完成订单 -->
<template v-if="item.pay_status_code==2 && item.shipping_status_code==2"> <template v-if="item.pay_status_code==2 && item.shipping_status_code==2">
<button class="cancel" @click.stop="openTips(item.order_id,1)">DELETE ORDER</button> <button class="cancel" @click.stop="openTips(item.order_id,1)">DELETE ORDER</button>
<button class="pay">COMMENT</button> <button class="pay" @click.stop="goComment(item)" v-if="item.comment_status_code==0">COMMENT</button>
</template> </template>
</view> </view>
</view> </view>
</view> </view>
</view>
<!-- 已取消订单 -->
<!-- <view class="order" v-if="item.order_status_code==2" @click="goDetails(1,item.order_id)"> </template>
<!-- 待支付订单 -->
<template v-if="isList==true && scroll_active==1">
<view class="" v-for="(item,idnex) in orderList" :key="item.order_id">
<view class="order" @click="goDetails(item,item.order_id)" v-if="item.pay_status_code==0 && item.order_status_code==0">
<view class="order_title"> <view class="order_title">
<text>cancelled</text> <text >Waiting for payment</text>
<view class="order_title_right"> <view class="order_title_right">
<text>order#{{item.order_sn}}</text> <text>order#{{item.order_sn}}</text>
<image src="../../static/img/right.png" mode=""></image> <image src="../../static/img/right.png" mode=""></image>
</view> </view>
</view> </view>
<view class="order_content"> <view class="order_content">
<view class="good_info"> <template v-if="item.order_goods.length==1">
<view class="good_info_left"> <view class="good_info" v-for="(item1,index1) in item.order_goods" :key="index1">
<view class="good_info_image" v-for="(item1,index1) in item.order_goods" :key="index1"> <view class="good_info_left ">
<image :src="item1.goods_img" mode=""></image> <view class="good_info_image" >
<image :src="item1.goods_img" mode=""></image>
</view>
<view class="left_info">
<view class="info_name">{{item1.goods_name}}</view>
<view class="left_info_bottom">
<view class="info_lable">
<text>{{item1.goods_attr |goodsAttr}}</text>
<image src="/static/img/bottom.png" mode=""></image>
</view>
<text>×{{item1.goods_number}}</text>
</view>
</view>
</view> </view>
</view> </view>
<view class="good_info_right"> </template>
<text>{{item.order_goods.length}} ltems</text> <template v-else>
<image src="../../static/img/right.png" mode=""></image> <view class="good_info" @click.stop="showGoods(item.order_goods,1)">
<view class="good_info_left">
<view class="good_info_image" v-for="(item1,index1) in item.order_goods" :key="index1">
<image :src="item1.goods_img" mode=""></image>
</view>
</view>
<view class="good_info_right">
<text>{{item.order_goods.length}} ltems</text>
<image src="../../static/img/right.png" mode=""></image>
</view>
</view> </view>
</view> </template>
<view class="good_price">total:US${{item.total_fee_o}}</view> <view class="good_price">total:US${{item.total_fee_o}}</view>
<view class="good_points" v-if="item.pay_status_code==0 && item.order_status_code==0">
<image src="/static/img/gantan1.png" mode=""></image>
<text>Reward 10 points</text>
</view>
<view class="order_button"> <view class="order_button">
<button class="cancel" @click.stop="openTips(item.order_id,1)">DELETE ORDER</button> <button class="cancel" @click.stop="openTips(item.order_id,0)">CANCEL ORDER</button>
<button class="pay" @click.stop="payNow(item.order_id,0)">PAY NOW</button>
</view> </view>
</view> </view>
</view> --> </view>
<!-- 待发货订单 --> </view>
<!-- <view class="order" v-if="item.pay_status_code==2 && item.shipping_status_code==0" @click="goDetails(0,item.order_id)"> </template>
<view class="order_title">
<text>To be shipped</text> <!-- 待发货订单 -->
<view class="order_title_right"> <template v-if="isList==true && scroll_active==2">
<text>order#{{item.order_sn}}</text> <view class="order" v-if="item.pay_status_code==2 && item.shipping_status_code==0" @click="goDetails(0,item.order_id)">
<image src="../../static/img/right.png" mode=""></image> <view class="order_title">
</view> <text>To be shipped</text>
<view class="order_title_right">
<text>order#{{item.order_sn}}</text>
<image src="../../static/img/right.png" mode=""></image>
</view> </view>
<view class="order_content"> </view>
<view class="good_info"> <view class="order_content">
<template v-if="item.order_goods.length==1">
<view class="good_info" v-for="(item1,index1) in item.order_goods" :key="index1">
<view class="good_info_left ">
<view class="good_info_image" >
<image :src="item1.goods_img" mode=""></image>
</view>
<view class="left_info">
<view class="info_name">{{item1.goods_name}}</view>
<view class="left_info_bottom">
<view class="info_lable">
<text>{{item1.goods_attr |goodsAttr}}</text>
<image src="/static/img/bottom.png" mode=""></image>
</view>
<text>×{{item1.goods_number}}</text>
</view>
</view>
</view>
</view>
</template>
<template v-else>
<view class="good_info" @click.stop="showGoods(item.order_goods,1)">
<view class="good_info_left"> <view class="good_info_left">
<view class="good_info_image" v-for="(item1,index1) in item.order_goods" :key="index1"> <view class="good_info_image" v-for="(item1,index1) in item.order_goods" :key="index1">
<image :src="item1.goods_img" mode=""></image> <image :src="item1.goods_img" mode=""></image>
@ -138,20 +193,23 @@
<image src="../../static/img/right.png" mode=""></image> <image src="../../static/img/right.png" mode=""></image>
</view> </view>
</view> </view>
<view class="good_price">total:US${{item.total_fee_o}}</view> </template>
</view> <view class="good_price">total:US${{item.total_fee_o}}</view>
</view> --> </view>
</view>
<!-- 运输中订单 --> </template>
<!-- <view class="order" v-if="item.pay_status_code==2 && item.shipping_status_code==1 || item.shipping_status_code==4" @click="goDetails(4,item.order_id)"> <!-- 运输中订单 -->
<view class="order_title"> <template v-if="isList==true && scroll_active==3">
<text>Shipped</text> <view class="order" v-if="item.pay_status_code==2 && item.shipping_status_code==1 || item.shipping_status_code==4" @click="goDetails(4,item.order_id)">
<view class="order_title_right"> <view class="order_title">
<text>order#{{item.order_sn}}</text> <text>Shipped</text>
<image src="../../static/img/right.png" mode=""></image> <view class="order_title_right">
</view> <text>order#{{item.order_sn}}</text>
<image src="../../static/img/right.png" mode=""></image>
</view> </view>
<view class="order_content"> </view>
<view class="order_content">
<template v-if="item.order_goods.length==1">
<view class="good_info" v-for="(item1,index1) in item.order_goods" :key="index1"> <view class="good_info" v-for="(item1,index1) in item.order_goods" :key="index1">
<view class="good_info_left "> <view class="good_info_left ">
<view class="good_info_image" > <view class="good_info_image" >
@ -169,26 +227,11 @@
</view> </view>
</view> </view>
</view> </view>
<view class="good_price">total:US${{item.total_fee_o}}</view> </template>
<view class="order_button"> <template v-else>
<button class="cancel" @click.stop="goLogistics(item.order_id)">LOGISTICS</button> <view class="good_info" @click.stop="showGoods(item.order_goods,1)">
<button class="pay" @click.stop="openTips(item.order_id,2)">CONFIRM RECEIPT</button>
</view>
</view>
</view> -->
<!-- 已完成订单 -->
<!-- <view class="order " v-if="item.pay_status_code==2 && item.shipping_status_code==2" @click="goDetails(2,item.order_id)">
<view class="order_title">
<text>Completed</text>
<view class="order_title_right">
<text>order#{{item.order_sn}}</text>
<image src="../../static/img/right.png" mode=""></image>
</view>
</view>
<view class="order_content">
<view class="good_info" v-for="(item1,index1) in item.order_goods" :key="index1">
<view class="good_info_left"> <view class="good_info_left">
<view class="good_info_image" > <view class="good_info_image" v-for="(item1,index1) in item.order_goods" :key="index1">
<image :src="item1.goods_img" mode=""></image> <image :src="item1.goods_img" mode=""></image>
</view> </view>
</view> </view>
@ -197,160 +240,166 @@
<image src="../../static/img/right.png" mode=""></image> <image src="../../static/img/right.png" mode=""></image>
</view> </view>
</view> </view>
<view class="good_price">total:US${{item.total_fee_o}}</view> </template>
<view class="order_button"> <view class="good_price">total:US${{item.total_fee_o}}</view>
<button class="cancel" @click.stop="openTips(item.order_id,1)">DELETE ORDER</button> <view class="order_button">
<button class="pay">COMMENT</button> <button class="cancel" @click.stop="goLogistics(item.order_id)">LOGISTICS</button>
</view> <button class="pay" @click.stop="openTips(item.order_id,2)">CONFIRM RECEIPT</button>
</view> </view>
</view> --> </view>
</view>
<!-- 退换货订单 --> </template>
<!-- <view class="order" v-if="item.order_status_code==4" @click="goDetails(2,item.order_id)"> <!-- 已完成订单 -->
<view class="order_title"> <template v-if="isList==true && scroll_active==4">
<text>Return and exchange</text> <view class="order " v-if="item.pay_status_code==2 && item.shipping_status_code==2" @click="goDetails(2,item.order_id)">
<view class="order_title_right"> <view class="order_title">
<text>order#{{item.order_sn}}</text> <text>Completed</text>
<image src="../../static/img/right.png" mode=""></image> <view class="order_title_right">
</view> <text>order#{{item.order_sn}}</text>
<image src="../../static/img/right.png" mode=""></image>
</view> </view>
<view class="order_content"> </view>
<view class="order_content">
<template v-if="item.order_goods.length==1">
<view class="good_info" v-for="(item1,index1) in item.order_goods" :key="index1"> <view class="good_info" v-for="(item1,index1) in item.order_goods" :key="index1">
<view class="good_info_left"> <view class="good_info_left ">
<view class="good_info_image" > <view class="good_info_image" >
<image :src="item1.goods_img" mode=""></image> <image :src="item1.goods_img" mode=""></image>
</view> </view>
<view class="left_info">
<view class="info_name">{{item1.goods_name}}</view>
<view class="left_info_bottom">
<view class="info_lable">
<text>{{item1.goods_attr |goodsAttr}}</text>
<image src="/static/img/bottom.png" mode=""></image>
</view>
<text>×{{item1.goods_number}}</text>
</view>
</view>
</view>
</view>
</template>
<template v-else>
<view class="good_info" @click.stop="showGoods(item.order_goods,1)">
<view class="good_info_left">
<view class="good_info_image" v-for="(item1,index1) in item.order_goods" :key="index1">
<image :src="item1.goods_img" mode=""></image>
</view>
</view> </view>
<view class="good_info_right"> <view class="good_info_right">
<text>{{item.order_goods.length}} ltems</text> <text>{{item.order_goods.length}} ltems</text>
<image src="../../static/img/right.png" mode=""></image> <image src="../../static/img/right.png" mode=""></image>
</view> </view>
</view> </view>
<view class="good_price">total:US${{item.total_fee_o}}</view> </template>
<view class="order_button"> <view class="good_price">total:US${{item.total_fee_o}}</view>
<button class="pay">CANCEL RETURN</button> <view class="order_button">
</view> <button class="cancel" @click.stop="openTips(item.order_id,1)">DELETE ORDER</button>
<button class="pay" @click.stop="goComment(item)" v-if="item.comment_status_code==0">COMMENT</button>
</view> </view>
</view> --> </view>
</view> </view>
</template> </template>
<!-- 待支付订单 --> <!-- 退换货订单 -->
<template v-if="isList==true && scroll_active==1"> <template v-if="isList==true && scroll_active==5">
<view class="" v-for="(item,idnex) in orderList" :key="item.order_id"> <view class="order" v-if="item.order_status_code==4" @click="goDetails(2,item.order_id)">
<view class="order_title">
<view class="order" @click="goDetails(item,item.order_id)" v-if="item.pay_status_code==0 && item.order_status_code==0"> <text>Return and exchange</text>
<view class="order_title"> <view class="order_title_right">
<text >Waiting for payment</text> <text>order#{{item.order_sn}}</text>
<view class="order_title_right"> <image src="../../static/img/right.png" mode=""></image>
<text>order#{{item.order_sn}}</text>
<image src="../../static/img/right.png" mode=""></image>
</view>
</view> </view>
<view class="order_content"> </view>
<template v-if="item.order_goods.length==1"> <view class="order_content">
<view class="good_info" v-for="(item1,index1) in item.order_goods" :key="index1"> <template v-if="item.order_goods.length==1">
<view class="good_info_left "> <view class="good_info" v-for="(item1,index1) in item.order_goods" :key="index1">
<view class="good_info_image" > <view class="good_info_left ">
<image :src="item1.goods_img" mode=""></image> <view class="good_info_image" >
</view> <image :src="item1.goods_img" mode=""></image>
<view class="left_info">
<view class="info_name">{{item1.goods_name}}</view>
<view class="left_info_bottom">
<view class="info_lable">
<text>{{item1.goods_attr |goodsAttr}}</text>
<image src="/static/img/bottom.png" mode=""></image>
</view>
<text>×{{item1.goods_number}}</text>
</view>
</view>
</view> </view>
</view> <view class="left_info">
</template> <view class="info_name">{{item1.goods_name}}</view>
<template v-else> <view class="left_info_bottom">
<view class="good_info" @click.stop="showGoods(item.order_goods,1)"> <view class="info_lable">
<view class="good_info_left"> <text>{{item1.goods_attr |goodsAttr}}</text>
<view class="good_info_image" v-for="(item1,index1) in item.order_goods" :key="index1"> <image src="/static/img/bottom.png" mode=""></image>
<image :src="item1.goods_img" mode=""></image> </view>
<text>×{{item1.goods_number}}</text>
</view> </view>
</view> </view>
<view class="good_info_right">
<text>{{item.order_goods.length}} ltems</text>
<image src="../../static/img/right.png" mode=""></image>
</view>
</view> </view>
</template>
<view class="good_price">total:US${{item.total_fee_o}}</view>
<view class="good_points" v-if="item.pay_status_code==0 && item.order_status_code==0">
<image src="/static/img/gantan1.png" mode=""></image>
<text>Reward 10 points</text>
</view> </view>
<view class="order_button"> </template>
<button class="cancel" @click.stop="openTips(item.order_id,0)">CANCEL ORDER</button> <template v-else>
<button class="pay" @click.stop="payNow(item.order_id,0)">PAY NOW</button> <view class="good_info" @click.stop="showGoods(item.order_goods,1)">
</view>
</view>
</view>
</view>
</template>
<template v-if="isList==true && scroll_active==2">
<navigator url="/pages/order/details?details_index=3">
<view class="order">
<view class="order_title">
<text>Waiting for payment</text>
<view class="order_title_right">
<text>order#20245512141212</text>
<image src="../../static/img/right.png" mode=""></image>
</view>
</view>
<view class="order_content">
<view class="good_info">
<view class="good_info_left"> <view class="good_info_left">
<view class="good_info_image" v-for="(item,index) in 4" :key="index"></view> <view class="good_info_image" v-for="(item1,index1) in item.order_goods" :key="index1">
<image :src="item1.goods_img" mode=""></image>
</view>
</view> </view>
<view class="good_info_right"> <view class="good_info_right">
<text>4 ltems</text> <text>{{item.order_goods.length}} ltems</text>
<image src="../../static/img/right.png" mode=""></image> <image src="../../static/img/right.png" mode=""></image>
</view> </view>
</view> </view>
<view class="good_price">total:US$12.5</view> </template>
<view class="order_button"> <view class="good_price">total:US${{item.total_fee_o}}</view>
<button class="cancel">CANCEL ORDER</button> <view class="order_button">
<button class="pay">PAY NOW</button> <button class="pay">CANCEL RETURN</button>
</view>
</view> </view>
</view> </view>
</navigator> </view>
<view class="order"> </template>
<!-- 已取消订单 -->
<template v-if="isList==true && scroll_active==6">
<view class="order" v-if="item.order_status_code==2" @click="goDetails(1,item.order_id)">
<view class="order_title"> <view class="order_title">
<text>Waiting for payment</text> <text>cancelled</text>
<view class="order_title_right"> <view class="order_title_right">
<text>order#20245512141212</text> <text>order#{{item.order_sn}}</text>
<image src="../../static/img/right.png" mode=""></image> <image src="../../static/img/right.png" mode=""></image>
</view> </view>
</view> </view>
<view class="order_content"> <view class="order_content">
<view class="good_info"> <template v-if="item.order_goods.length==1">
<view class="good_info_left"> <view class="good_info" v-for="(item1,index1) in item.order_goods" :key="index1">
<view class="good_info_image" v-for="(item,index) in 4" :key="index"></view> <view class="good_info_left ">
<view class="good_info_image" >
<image :src="item1.goods_img" mode=""></image>
</view>
<view class="left_info">
<view class="info_name">{{item1.goods_name}}</view>
<view class="left_info_bottom">
<view class="info_lable">
<text>{{item1.goods_attr |goodsAttr}}</text>
<image src="/static/img/bottom.png" mode=""></image>
</view>
<text>×{{item1.goods_number}}</text>
</view>
</view>
</view>
</view> </view>
<view class="good_info_right"> </template>
<text>4 ltems</text> <template v-else>
<image src="../../static/img/right.png" mode=""></image> <view class="good_info" @click.stop="showGoods(item.order_goods,1)">
<view class="good_info_left">
<view class="good_info_image" v-for="(item1,index1) in item.order_goods" :key="index1">
<image :src="item1.goods_img" mode=""></image>
</view>
</view>
<view class="good_info_right">
<text>{{item.order_goods.length}} ltems</text>
<image src="../../static/img/right.png" mode=""></image>
</view>
</view> </view>
</view> </template>
<view class="good_price">total:US$12.5</view> <view class="good_price">total:US${{item.total_fee_o}}</view>
<view class="order_button"> <view class="order_button">
<button class="cancel">CANCEL ORDER</button> <button class="cancel" @click.stop="openTips(item.order_id,1)">DELETE ORDER</button>
<button class="pay">PAY NOW</button>
</view> </view>
</view> </view>
</view> </view>
</template> </template>
<template v-if="isList==false"> <template v-if="isList==false">
<view class="order1"> <view class="order1">
<image src="../../static/img/order_nodate.png" mode=""></image> <image src="../../static/img/order_nodate.png" mode=""></image>
@ -475,6 +524,12 @@
} }
}, },
methods:{ methods:{
//
goComment(item){
uni.navigateTo({
url:'../productDetails/review?data='+JSON.stringify(item)
})
},
showGoods(goodsList,type){ showGoods(goodsList,type){
this.isShow=true this.isShow=true
this.showType=type this.showType=type
@ -529,7 +584,7 @@
orderInfo: res.data.prepay_data.order_info, // orderInfo: res.data.prepay_data.order_info, //
success: function (res) { success: function (res) {
console.log('success:' + JSON.stringify(res)); console.log('success:' + JSON.stringify(res));
uni.redirectTo({ uni.navigateTo({
url: 'paySuccess?order_id='+this.payQuery.order_id url: 'paySuccess?order_id='+this.payQuery.order_id
}); });
}, },
@ -601,7 +656,7 @@
// this.getList() // this.getList()
}, },
}, },
onLoad() { onShow() {
this.getList() this.getList()
}, },
filters:{ filters:{

6
pages/order/confirmation.vue

@ -272,7 +272,7 @@
shipping_id:this.order.shipping_id, shipping_id:this.order.shipping_id,
directshopping:0, directshopping:0,
} }
defaultRequest3(data).then(res=>{ defaultRequest3(data,'consignee').then(res=>{
console.info(res) console.info(res)
if(res.error==0){ if(res.error==0){
this.getPayDate(res.data.order.order_id,res.data.will_get_integral) this.getPayDate(res.data.order.order_id,res.data.will_get_integral)
@ -282,7 +282,7 @@
// //
cartselectshipping(id){ cartselectshipping(id){
let data={_action:'cartselectshipping',shipping_id:id,consignee:this.address} let data={_action:'cartselectshipping',shipping_id:id,consignee:this.address}
defaultRequest3(data).then(res=>{ defaultRequest3(data,'consignee').then(res=>{
console.info(res) console.info(res)
if(res.error==0){ if(res.error==0){
this.total=res.data.total this.total=res.data.total
@ -291,7 +291,7 @@
}) })
}, },
getList(){ getList(){
defaultRequest3(this.query).then(res=>{ defaultRequest3(this.query,'consignee').then(res=>{
console.info(res) console.info(res)
if(res.error==0){ if(res.error==0){
this.orderDate=res.data this.orderDate=res.data

59
pages/order/details.vue

@ -171,13 +171,13 @@
<view class="details_footer" v-if="details_index!=0"> <view class="details_footer" v-if="details_index!=0">
<button class="white" v-if="details_index==2 || details_index==4" @click="goLogistics">LOGISTICS</button> <button class="white" v-if="details_index==2 || details_index==4" @click="goLogistics">LOGISTICS</button>
<button class="white" v-if="details_index==1 || details_index==2">DELETE ORDER</button> <button class="white" v-if="details_index==1 || details_index==2" @click.stop="openTips(1)">DELETE ORDER</button>
<button class="black" v-if="details_index==2">COMMENT</button> <button class="black" v-if="details_index==2 && goodsDate.comment_status_code==0" @click="goComment()">COMMENT</button>
<button class="white" v-if="details_index==3 ">CANCEL ORDER</button> <button class="white" v-if="details_index==3 " @click.stop="openTips(0)">CANCEL ORDER</button>
<button class="black" v-if="details_index==3" @click="isPay=true">PAY NOW</button> <button class="black" v-if="details_index==3" @click="isPay=true">PAY NOW</button>
<button class="black" v-if="details_index==4">CONFIRM RECEIPT</button> <button class="black" v-if="details_index==4" @click.stop="openTips(2)">CONFIRM RECEIPT</button>
</view> </view>
<!-- 支付 --> <!-- 支付 -->
@ -225,6 +225,10 @@
<button @click="getPayDate">PAY NOW</button> <button @click="getPayDate">PAY NOW</button>
</view> </view>
</view> </view>
<!-- 删除取消弹框 -->
<uni-popup ref="alertDialog" type="dialog">
<uni-popup-dialog type="error" cancelText="Close" :confirmText="tipsBut" title="Tips" :content="tipsInfo" @confirm="dialogConfirm" ></uni-popup-dialog>
</uni-popup>
</view> </view>
</template> </template>
@ -251,10 +255,54 @@
payment_method:'alipay.native' payment_method:'alipay.native'
}, },
pay_index:0, pay_index:0,
logisticsinfo:{} logisticsinfo:{},
// 0 1 2
tipsType:0,
tipsInfo:'',
tipsBut:'',
cancelQuery:{
_action:'cancelorder',
order_id:''
},
} }
}, },
methods:{ methods:{
//
goComment(){
let data=this.goodsDate
data.order_goods=this.goods_list
uni.navigateTo({
url:'../productDetails/review?data='+JSON.stringify(data)
})
},
//
openTips(type){
this.tipsType=type
if(type==0){
this.tipsInfo='Are you sure you want to cancel this order? This order will be regarded as invalid after cancellation'
this.tipsBut='CancelOrder'
this.cancelQuery._action='cancelorder'
}else if(type==1){
this.tipsInfo='Are you sure you want to delete this order?'
this.tipsBut='DeleteOrder'
this.cancelQuery._action='deleteorder'
}else if(type==2){
this.tipsInfo='Are you sure you have received the products?'
this.tipsBut='Confirm'
this.cancelQuery._action='affirmorder'
}
this.$refs.alertDialog.open()
},
//
dialogConfirm(){
defaultRequest2(this.cancelQuery).then(res=>{
console.info(res)
if(res.error==0){
this.getList()
}
})
},
goLogistics(){ goLogistics(){
uni.navigateTo({ uni.navigateTo({
url:'./logisticsDetails?order_id='+this.goodsDate.order_id url:'./logisticsDetails?order_id='+this.goodsDate.order_id
@ -321,6 +369,7 @@
console.info(e) console.info(e)
this.details_index=e.details_index this.details_index=e.details_index
this.query.order_id=e.id this.query.order_id=e.id
this.cancelQuery.order_id=e.id
this.getDate() this.getDate()
}, },

8
pages/order/refund.vue

@ -39,7 +39,7 @@
</view> </view>
<view class="refund_price"> <view class="refund_price">
<text>Refund amount</text> <text>Refund amountï¼</text>
<text class="refund_price_text">US$6.5</text> <text class="refund_price_text">US$6.5</text>
</view> </view>
<view class="refund_reason"> <view class="refund_reason">
@ -82,11 +82,15 @@
export default { export default {
data() { data() {
return { return {
orderDate:{}
} }
}, },
methods:{ methods:{
},
onLoad(e) {
this.orderDate=JSON.parse(e.data)
console.info(this.orderDate)
} }
} }
</script> </script>

10
pages/productDetails/index.vue

@ -189,16 +189,16 @@
<view class="reviews_no">No comment yet</view> <view class="reviews_no">No comment yet</view>
</template> </template>
<template v-else> <template v-else>
<view class="reviews_item" v-for="(item,index) in 2" :key="index"> <view class="reviews_item" v-for="(item,index) in goodsDate.comment_list" :key="index">
<view class="reviews_item_title"> <view class="reviews_item_title">
<view class="reviews_title_user"> <view class="reviews_title_user">
<text>e***8</text> <text>{{item.user_name}}</text>
<uni-rate size="18" :disabled="true" disabledColor="red" :value="4" active-color="red" :is-fill="false"/> <uni-rate size="18" :disabled="true" disabledColor="red" :value="4" active-color="red" :is-fill="false"/>
</view> </view>
<view class="reviews_title_time">07/03/2022</view> <view class="reviews_title_time">{{item.add_time}}</view>
</view> </view>
<view class="reviews_item_color">Color:Multicolor</view> <view class="reviews_item_color">{{item.commentlabels}}</view>
<view class="reviews_item_content">So unique! Cant wait to wear these.</view> <view class="reviews_item_content">{{item.content}}</view>
<view class="reviews_item_image"> <view class="reviews_item_image">
<view class="reviews_image_content" v-for="(item,index) in 2" :key="index"></view> <view class="reviews_image_content" v-for="(item,index) in 2" :key="index"></view>
</view> </view>

114
pages/productDetails/review.vue

@ -3,37 +3,39 @@
<uni-nav-bar :statusBar="true" left-icon="left" title="Review" color="#000000" :fixed="true" @clickLeft="back"> <uni-nav-bar :statusBar="true" left-icon="left" title="Review" color="#000000" :fixed="true" @clickLeft="back">
<block slot="right"> <block slot="right">
<view class="nav_right"> <view class="nav_right">
<button>Submit</button> <button @click="reviewSub">Submit</button>
</view> </view>
</block> </block>
</uni-nav-bar> </uni-nav-bar>
<view class="body"> <view class="body" v-for="(item,index) in orderDate.order_goods " :key="index">
<view class="order_popup_commodity"> <view class="order_popup_commodity">
<view class="good_info" v-for="(item,index) in 1 " :key="index"> <view class="good_info" >
<view class="good_info_left "> <view class="good_info_left ">
<view class="good_info_image" v-for="(item,index) in 1" :key="index"></view> <view class="good_info_image">
<image :src="item.goods_img" mode=""></image>
</view>
<view class="left_info"> <view class="left_info">
<view class="info_name">Adidas Yeezy Boost 350 V2 DazzlingBlue Black GY7164 Men's</view> <view class="info_name">{{item.goods_name}}</view>
<view class="left_info_bottom"> <view class="left_info_bottom">
<view class="info_lable"> <view class="info_lable">
<text>Multicolor;41</text> <text>{{item.goods_attr |goodsAttr}}</text>
<image src="/static/img/bottom.png" mode=""></image> <image src="/static/img/bottom.png" mode=""></image>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
<view class="review"> <view class="review">
<view class="review_title"> <view class="review_title">
<text>Score</text> <text>Score</text>
<uni-rate size="22" disabledColor="red" :value="0" active-color="red" :is-fill="false" class="rate"/> <uni-rate size="22" disabledColor="red" v-model="query.comment_rank" active-color="red" :is-fill="false" class="rate" v-if="reviewType==0"/>
<uni-rate size="22" disabledColor="red" v-model="query1.comments[index].comment_rank" active-color="red" :is-fill="false" class="rate" v-else/>
</view> </view>
<view class="review_content"> <view class="review_content">
<image src="../../static/img/write.png" mode=""></image> <image src="../../static/img/write.png" mode=""></image>
<textarea placeholder="Write reviews"></textarea> <textarea placeholder="Write reviews" v-if="reviewType==0" v-model="query.comment"></textarea>
<textarea placeholder="Write reviews" v-else v-model="query1.comments[index].comment"></textarea>
</view> </view>
<view class="reason_upload"> <view class="reason_upload">
<view class="reason_upload_item"> <view class="reason_upload_item">
@ -58,16 +60,106 @@
</template> </template>
<script> <script>
import {defaultRequest2,defaultRequest3} from '../../api/index.js'
export default { export default {
data() { data() {
return { return {
orderDate:{},
// 0 1
reviewType:0,
query:{
_action:'commentordergoods',
order_id:'',
order_sn:'',
rec_id:'',
goods_id:'',
comment:'',
comment_rank:'',
commentlabels:''
},
query1:{
_action:'commentorder',
order_id:'',
order_sn:'',
comments:[]
}
} }
}, },
methods:{ methods:{
//
reviewSub(){
let data
if(this.reviewType==0){
this.commentordergoods()
}else{
data=this.query1
}
console.info(data)
},
//
commentordergoods(){
defaultRequest2(this.query).then(res=>{
console.info(res)
if(res.error==0){
uni.showToast({
icon:'none',
title:'Comment successful!'
})
setTimeout(function(){
uni.navigateBack()
},2000)
}
})
},
//
commentordergoods(){
defaultRequest2(this.query1,'comments').then(res=>{
console.info(res)
if(res.error==0){
uni.showToast({
icon:'none',
title:'Comment successful!'
})
setTimeout(function(){
uni.navigateBack()
},2000)
}
})
},
back(){ back(){
uni.navigateBack() uni.navigateBack()
} }
},
onLoad(e) {
let datas=JSON.parse(e.data)
this.orderDate=datas
if(datas.order_goods.length>1){
this.reviewType=1
this.query1.order_id=datas.order_id
this.query1.order_sn=datas.order_sn
datas.order_goods.map(item=>{
let data={
rec_id:item.rec_id,
goods_id:item.goods_id,
comment:'',
comment_rank:'',
commentlabels:item.goods_attr.replace(/\s\n/g,' ')
}
this.query1.comments.push(data)
})
}else{
this.query.order_id=datas.order_id
this.query.order_sn=datas.order_sn
this.query.rec_id=datas.order_goods[0].rec_id
this.query.goods_id=datas.order_goods[0].goods_id
this.commentlabels=datas.order_goods[0].goods_attr.replace(/\s\n/g,' ')
}
},
filters:{
goodsAttr(e){
return e.replace(/\s\n/g,';');
}
} }
} }
</script> </script>

Loading…
Cancel
Save