Browse Source

订单详情

master
caichunsheng 4 years ago
parent
commit
a024b7df0b
  1. 3
      pages/index/index.js
  2. 4
      pages/list/comments/index.js
  3. 20
      pages/list/comments/index.wxml
  4. 6
      pages/list/comments/index.wxss
  5. 22
      pages/user/order/list.js
  6. 2
      pages/user/order/list.wxml
  7. 49
      pages/user/order/sceneOrderInfo/index.js
  8. 91
      pages/user/order/sceneOrderInfo/index.wxml
  9. 31
      pages/user/order/sceneOrderInfo/index.wxss

3
pages/index/index.js

@ -371,7 +371,8 @@ Page({
event: e.currentTarget.dataset.event
}, 1)
}
let url = e.currentTarget.dataset.tdata.url;
console.log(e.currentTarget.dataset.url);
let url = e.currentTarget.dataset.url;
app.globalData.weburl = url;
wx.navigateTo({
url: "/pages/pbService/web/index"

4
pages/list/comments/index.js

@ -91,8 +91,12 @@ Page({
if (res) {
if (item.is_star == 1) {
arr[index].is_star = 0
arr[index].star_count -=1
}else{
arr[index].is_star = 1
arr[index].star_count +=1
}
this.setData({
list:arr

20
pages/list/comments/index.wxml

@ -5,10 +5,10 @@
<view class="comment-top">
<image src="{{item.user.avatar}}" mode="aspectFill"></image>
<view class="author-info">
<view class="top">
<view class="author-name">{{item.nickname}}</view>
<view class="author-time">{{item.create_time}}</view>
</view>
<view class="top">
<view class="author-name">{{item.nickname}}</view>
<view class="author-time">{{item.create_time}}</view>
</view>
<view class="bot">
<view class="iconfont"><text wx:for="{{item.rate}}" class="icon-xingxing"></text><text wx:for="{{5 - item.rate}}" style="color:#999" class="icon-xingxing"></text></view>
<view class="sku" wx:if="{{item.sku_name}}">{{item.sku_name}}</view>
@ -17,9 +17,17 @@
</view>
<view class="comment-detail">{{item.content}}</view>
<view wx:if="{{item.img_list}}">
<image class="imgs" wx:for="{{item.img_list}}" wx:for-item="Goods" mode="scaleToFill" data-img="{{Goods}}" data-list="{{item.img_list}}" src="{{Goods}}" bindtap="imgsc"></image>
<image class="imgs" wx:for="{{item.img_list}}" wx:for-item="Goods" mode="scaleToFill" data-img="{{Goods}}" data-list="{{item.img_list}}" src="{{Goods}}" bindtap="imgsc"></image>
</view>
<view class="zan-box">
<view></view>
<view class="zan-box">
<view class="zan-count">{{item.star_count}}</view>
<view bindtap="zan" data-item="{{item}}" data-index="{{index}}" class="iconfont icon-zan{{item.is_star==1?' active':''}}"></view>
</view>
</view>
<view bindtap="zan" data-item="{{item}}" data-index="{{index}}" class="iconfont icon-zan{{item.is_star==1?' active':''}}"></view>
</view>
<view wx:if="{{list.length==0}}" class="common-empty" style="z-index:-1">

6
pages/list/comments/index.wxss

@ -80,4 +80,10 @@
}
.icon-zan.active {
color: red;
}
.zan-box{
display: flex;
justify-content: space-between;
align-items: center;
color: #999999;
}

22
pages/user/order/list.js

@ -136,12 +136,34 @@ Page({
},
gotoDetail:function(e){
let item = e.currentTarget.dataset.item;
item = this.getChild(item)
util.gotoOrder(item)
},
gotoProductDetail:function(e){
let item = e.currentTarget.dataset.item;
util.orderMoreTime({order_product_list:[item]})
},
getChild(list){
let arr = {order_product_list:[]}
for (let i = 0; i < list.order_product_list.length; i++) {
if (list.order_product_list[i].product_model=="ticket") {
arr.order_product_list.push(list.order_product_list[i])
break
}
}
if (arr.order_product_list.length>0) {
list.order_product_list = []
list.order_product_list.push(arr.order_product_list[0])
console.log(list);
return list
}else{
return list
}
},
changeType:function(e){
let type = e.currentTarget.dataset.type;
this.setData({

2
pages/user/order/list.wxml

@ -40,7 +40,7 @@
<!-- <view class="total"><text>共{{item.orderNum}}件商品</text><text style="margin-left:20rpx">合计</text> <text class="all-price">¥{{item.total_money/100}}</text></view> -->
<view class="btns">
<view wx:if="{{item.guihuaUrl}}" catchtap="gotoWeb" data-web="{{item.guihuaUrl}}" class="btn" data-item="{{item}}">行程规划</view>
<view class="btn" catchtap="order" data-item="{{item}}">再次购买</view>
<view class="btn" wx:if="{{item.order_product_list.length==1}}" catchtap="order" data-item="{{item}}">再次购买</view>
<!-- <view catchtap="gotoComment" data-id="{{item.order_id}}" class="btn" wx:if="{{item.state=='WAIT_COMMENT'}}">立即评价</view> -->
<view catchtap="cancel" data-index="{{index}}" class="btn" wx:if="{{item.state=='UNPAID'}}">取消预订</view>
<view catchtap="refund" data-index="{{index}}" class="btn" wx:if="{{item.state=='PAID'}}">取消预订</view>

49
pages/user/order/sceneOrderInfo/index.js

@ -21,7 +21,13 @@ Page({
codeImgs:[],
minute:0,
second:0,
cardTypes:{}
cardTypes:{},
cxr1:false,
cxr1Text:'更多',
sysm:false,
sysmText:'更多',
sysm2:false,
sysm2Text:'更多',
},
/**
@ -183,7 +189,46 @@ Page({
return;
})
},
goDetail(e){
console.log(e.currentTarget.dataset);
let item = e.currentTarget.dataset.set
if (item.product_model=='ticket') {
wx.navigateTo({
url:"/pages/info/sceneProductInfo/index?id="+item.scene_id
})
}else if (item.product_model=='post') {
wx.navigateTo({
url:"/pages/info/postProductInfo/index?id="+item.product_id
})
}
},
showMsg(e){
console.log(e.currentTarget.dataset);
let msg = e.currentTarget.dataset.msg
switch (msg) {
case 'cxr1':
this.setData({
cxr1:!this.data.cxr1,
cxr1Text:this.data.cxr1?'更多':'收起',
})
break;
case 'sysm1':
this.setData({
sysm:!this.data.sysm,
sysmText:this.data.sysm?'更多':'收起',
})
break;
case 'sysm2':
this.setData({
sysm2:!this.data.sysm2,
sysm2Text:this.data.sysm2?'更多':'收起',
})
break;
default:
break;
}
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
@ -213,7 +258,7 @@ Page({
this.setData({
isRefund:state.indexOf("REFUND")!=-1,
info:res.data,
product_model:res.data.order_product_list[0].product_model
product_model:"ticket"||res.data.order_product_list[0].product_model
})
this.getCodeImg()
// 获取行程规划

91
pages/user/order/sceneOrderInfo/index.wxml

@ -24,6 +24,8 @@
<view wx:if="{{info.state=='CLOSED' || info.state=='REFUND'}}">您的订单已取消,您可以通过苏州文旅总入口再次预订</view>
<view wx:if="{{info.order_product_list[0].state=='WAIT_USE'}}">预定已成功,祝您出游愉快</view>
<view>订单号:{{info.order_id}}</view>
<view>下单时间:{{info.create_time}}</view>
</view>
<view class="scene-box-right">
<view class="price">¥{{info.paid_money/100}}</view>
@ -33,7 +35,7 @@
<view class="scene-btns" wx:if="{{info.state!='CLOSED'}}">
<view class="scene-rest-time" wx:if="{{info.state=='UNPAID'}}">剩余时间:00:{{minute}}:{{second}}</view>
<navigator wx:if="{{info.state!='UNPAID'}}" url="/pages/info/sceneProductInfo/index?id={{info.order_product_list[0].scene_id}}" class="btn">再次购买</navigator>
<view bindtap="leadRoad" data-url="{{info.order_product_list[0].btnUrl}}" class="btn" wx:if="{{info.state!='UNPAID' && !isRefund && info.order_product_list[0].btnUrl}}">行程规划</view>
<view bindtap="leadRoad" data-url="{{info.order_product_list[0].btnUrl}}" class="btn" wx:if="{{info.state!='UNPAID' && !isRefund}}">行程规划</view>
<navigator url="../refundInfo/index?id={{info.order_id}}" class="scene-btn" wx:if="{{isRefund}}">退款详情</navigator>
<view class="scene-btn" wx:if="{{info.state=='PAID'}}" bindtap="refund">取消预订</view>
<view class="scene-btn" wx:if="{{info.state=='UNPAID'}}" bindtap="close">取消预订</view>
@ -42,46 +44,73 @@
</view>
</view>
<!--景点订单详情需要这个 -->
<navigator url="/pages/info/sceneProductInfo/index?id={{item.scene_id}}" class="box" wx:if='{{product_model=="ticket"}}' wx:for="{{info.order_product_list}}">
<view url="/pages/info/sceneProductInfo/index?id={{item.scene_id}}" class="box" wx:if='{{product_model=="ticket"}}' wx:for="{{info.order_product_list}}" wx:for-index='index'>
<view class="scene-box" style="align-items:center">
<view class="scene-box-left" style="width:600rpx">
<view class="box-title">{{item.product_title}}</view>
<view>出行日期:{{item.use_date}}</view>
</view>
<view class="iconfont icon-you"></view>
</view>
<view class="detail-item">
<text>{{item.sku_name}}</text>
<text>x{{item.product_num}}</text>
</view>
</navigator>
<view class="box" wx:if="{{product_model=='ticket'}}">
<view class="box-title">出行人</view>
<view wx:for="{{info.order_product_list[0].contacts_info}}">
<view class="line" wx:if="{{index!=0}}"></view>
<view class="detail-item">
<text>姓名: {{item.name}}</text>
<!-- <text>¥168</text> -->
</view>
<view class="detail-item">
<text>{{cardTypes[item.idcard_type]}}:{{item.id_number}}</text>
<!-- <text>-¥10</te、xt> -->
</view>
<view class="detail-item">
<text>手机号: {{item.tel}}</text>
<!-- <text>-¥10</text> -->
<view class="box-title" bindtap="goDetail" data-set='{{item}}'>
<view class="title-content">{{item.product_title}}</view>
<view class="iconfont icon-you"></view>
</view>
<view class="detail-item">
<text>{{item.sku_name}}</text>
<text>x{{item.product_num}}</text>
</view>
<view class="childStatus" style="text-align: left;font-size: 30rpx; font-weight:bold;padding-bottom: 30rpx;color: #0b898e">
{{ item.state_text }}
</view>
<view class="row" wx:if="{{item.product_model == 'ticket'}}">
<view>出行日期:</view>
<view>{{item.use_date}} {{ item.start_time }}-{{ item.end_time }}</view>
</view>
<view wx:if="{{item.product_model == 'ticket'}}">
<view class="box-title tflex">
<view>出行人信息</view>
<view bindtap="showMsg" data-msg="cxr1" style="color: rgb(49, 154, 158);">{{cxr1Text}}</view>
</view>
<view wx:if="{{cxr1}}" wx:for="{{item.contacts_info}}">
<view class="line" wx:if="{{index!=0}}"></view>
<view class="detail-item">
<text>姓名: {{item.name}}</text>
<!-- <text>¥168</text> -->
</view>
<view class="detail-item">
<text>{{cardTypes[item.idcard_type]}}:{{item.id_number}}</text>
<!-- <text>-¥10</te、xt> -->
</view>
<view class="detail-item">
<text>手机号: {{item.tel}}</text>
<!-- <text>-¥10</text> -->
</view>
</view>
</view>
<view wx:if="{{item.product_model=='ticket'}}">
<view class="box-title tflex">
<view>使用说明</view>
<view bindtap="showMsg" data-msg="sysm1" style="color: rgb(49, 154, 158);">{{sysmText}}</view>
</view>
<rich-text wx:if="{{sysm}}" class="detail-item" style="display:block" nodes="{{tool.formateRichText(info.order_product_list[0].sku_model.bookinfo)}}"></rich-text>
</view>
<view wx:if="{{item.product_model=='post'}}">
<view class="box-title tflex">
<view>使用说明</view>
<view bindtap="showMsg" data-msg="sysm2" style="color: rgb(49, 154, 158);">{{sysm2Text}}</view>
</view>
<rich-text wx:if="{{sysm2}}" class="detail-item" style="display:block" nodes="{{tool.formateRichText(item.sku_model.bookinfo)}}"></rich-text>
</view>
<view bindtap="leadRoad" data-url="{{item.btnUrl}}" class="btn" wx:if="{{item.state!='UNPAID' && item.product_model=='ticket'}}">行程规划</view>
</view>
</view>
</view>
<view class="box" wx:if="{{product_model=='ticket'}}">
<!-- <view class="box" wx:if="{{product_model=='ticket'}}">
<view class="box-title">使用说明</view>
<rich-text class="detail-item" style="display:block" nodes="{{tool.formateRichText(info.order_product_list[0].sku_model.bookinfo)}}"></rich-text>
<!-- <view class="line"></view>
<view class="line"></view>
<view class="box-title">退款说明</view>
<view class="detail-item">
<text>退款条件:{{info.order_product_list[0].sku_model.refund_policy_text}}</text>
</view> -->
</view>
</view>
</view> -->
<navigator wx:if="{{info && info.state!='CLOSED'}}" url="/pages/user/service/index" class="bottom-btn">
<image src="https://static.ticket.sz-trip.com/xcxImages/index/service.png" mode="widthFix"></image>联系客服
</navigator>

31
pages/user/order/sceneOrderInfo/index.wxss

@ -58,8 +58,9 @@ page {
justify-content: space-between;
align-items: center;
min-height: 45rpx;
color: #333;
font-size: 26rpx;
color: #000;
font-size: 30rpx;
padding-bottom:30rpx ;
}
.all-total-item {
font-weight: bold;
@ -101,6 +102,20 @@ page {
font-size: 30rpx;
font-weight: bold;
margin-bottom: 10rpx;
display: flex;
text-align: center;
justify-content: space-between;
}
.box-title.tflex{
display: flex;
align-items: center;
justify-content: space-between;
}
.title-content{
overflow-x: hidden;
overflow-y: inherit;
text-overflow: ellipsis;
white-space: nowrap;
}
.scene-box {
display: flex;
@ -286,4 +301,16 @@ page {
font-size: 24rpx;
color: #999;
margin-top: 30rpx;
}
.row{
display: flex;
align-items: center;
justify-content:space-between;
padding-bottom: 30rpx;
}
.showmsg{
display: none;
}
.btn{
float: right;
}
Loading…
Cancel
Save