Commit 391066a7 authored by 黄奎's avatar 黄奎

酒店接口调整

parent 9c77d820
<style lang="scss" scoped> <style lang="scss" scoped>
@import url("@/asset/css/flex.css"); @import url("@/asset/css/flex.css");
.AggOrdBox{
.AggOrdBox {
height: 100vh; height: 100vh;
background: url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772246864278108.jpg')no-repeat #F3F1EF; background: url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772246864278108.jpg')no-repeat #F3F1EF;
background-size: 100% 240rpx; background-size: 100% 240rpx;
.AggOrdHeader{
.AggOrdHeader {
padding-bottom: 20rpx; padding-bottom: 20rpx;
// background: url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772246864278108.jpg')no-repeat; // background: url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772246864278108.jpg')no-repeat;
// background-size: 100% 100%; // background-size: 100% 100%;
} }
.AggOrdStatus{
.AggOrdStatus {
padding-top: 20rpx; padding-top: 20rpx;
.AggOrdT{
.AggOrdT {
width: 25%; width: 25%;
padding: 10rpx 20rpx; padding: 10rpx 20rpx;
font-size: 28rpx; font-size: 28rpx;
color: #080A09; color: #080A09;
position: relative; position: relative;
} }
.AggOrdT.active{
.AggOrdT.active {
color: #B99846; color: #B99846;
font-weight: bold; font-weight: bold;
} }
.AggOrdT text{
.AggOrdT text {
display: block; display: block;
text-align: center; text-align: center;
} }
.AggOrdT view{
.AggOrdT view {
position: absolute; position: absolute;
left: 0; left: 0;
right: 0; right: 0;
bottom: 0; bottom: 0;
} }
.AggOrdT view view{
.AggOrdT view view {
width: 60rpx; width: 60rpx;
height: 10rpx; height: 10rpx;
margin: auto; margin: auto;
...@@ -40,106 +48,103 @@ ...@@ -40,106 +48,103 @@
border-radius: 10rpx; border-radius: 10rpx;
} }
} }
} }
/deep/.showModalInfo .u-drawer-bottom{
background-color: rgba(23,23,23,0) !important; /deep/.showModalInfo .u-drawer-bottom {
background-color: rgba(23, 23, 23, 0) !important;
} }
</style> </style>
<template> <template>
<view class="AggOrdBox column"> <view class="AggOrdBox column">
<view class="AggOrdHeader" :style="[titleStyle]"> <view class="AggOrdHeader" :style="[titleStyle]">
<AggOrdHeader :title="pageTitle" <AggOrdHeader :title="pageTitle" @change="getOrderType" :params="msg"></AggOrdHeader>
@change="getOrderType"
:params="msg"></AggOrdHeader>
<view class="AggOrdStatus row items-center"> <view class="AggOrdStatus row items-center">
<template> <template>
<view class="AggOrdT" <view class="AggOrdT" v-for="(item,index) in statusList" :key="index"
v-for="(item,index) in statusList" :class="[msg.OrderStatus==item.ID?'active':'']" @click="getStatus(item.ID)">
:key="index"
:class="[msg.OrderStatus==item.ID?'active':'']"
@click="getStatus(item.ID)">
<text>{{ item.Name }}</text> <text>{{ item.Name }}</text>
</view> </view>
</template> </template>
</view> </view>
</view> </view>
<view class="col" style="height: 1px;flex: 1;overflow: hidden;padding-top: 10rpx;"> <view class="col" style="height: 1px;flex: 1;overflow: hidden;padding-top: 10rpx;">
<scroll-view :scroll-y="true" <scroll-view :scroll-y="true" :enable-back-to-top="true" :enable-flex="true" @scrolltolower="lower"
:enable-back-to-top="true" style="height: 100%;">
:enable-flex="true" <orders :orders="g" @research="research"></orders>
@scrolltolower="lower" style="height: 100%;"> <u-empty v-if="g.length==0" text="暂无数据" mode="data" padding-top="20"></u-empty>
<orders :orders="g" @research="research"></orders> <u-loadmore v-else :status="status" :load-text="loadText" :font-size="24" :margin-top="20"
<u-empty v-if="g.length==0" text="暂无数据" mode="data" padding-top="20"></u-empty> :margin-bottom="20" bg-color="#F3F1EF" />
<u-loadmore v-else :status="status" :load-text="loadText" :font-size="24" :margin-top="20" :margin-bottom="20" bg-color="#F3F1EF" /> <view style="width: 100%;height: 20rpx;"></view>
<view style="width: 100%;height: 20rpx;"></view>
</scroll-view> </scroll-view>
</view> </view>
</view> </view>
</template> </template>
<script> <script>
import {mappingListType,mappingListTypeTy} from "../../utils/producttypeenum"; import {
mappingListType,
mappingListTypeTy
} from "../../utils/producttypeenum";
import EnumHelper from '../../utils/enumhelper'; import EnumHelper from '../../utils/enumhelper';
import OrderStatusEnum from '../../utils/orderStautsEnum'; import OrderStatusEnum from '../../utils/orderStautsEnum';
import AggOrdHeader from "./components/header.vue"; import AggOrdHeader from "./components/header.vue";
import orders from "./components/orders.vue"; import orders from "./components/orders.vue";
export default{ export default {
components: { components: {
AggOrdHeader, AggOrdHeader,
orders, orders,
}, },
data(){ data() {
return{ return {
pageTitle: '所有订单', pageTitle: '所有订单',
msg:{ msg: {
pageSize:10, pageSize: 10,
pageIndex:1, pageIndex: 1,
OrderStatus: 0, OrderStatus: 0,
GoodsName: '', GoodsName: '',
OrderTypeStr: '' OrderTypeStr: ''
}, },
loadText: { loadText: {
loadmore: "轻轻上拉,加载更多", loadmore: "轻轻上拉,加载更多",
loading: "努力加载中", loading: "努力加载中",
nomore: "没有更多了", nomore: "没有更多了",
}, },
status: "loadmore", status: "loadmore",
showModal: false, showModal: false,
barshow:0, barshow: 0,
statusList: [], statusList: [],
g: [], g: [],
page_count: 1, page_count: 1,
index: 0, index: 0,
payindex: 0, payindex: 0,
showAuth: false, showAuth: false,
titleStyle:{}, titleStyle: {},
} }
}, },
onLoad(options){ onLoad(options) {
if(options.OrderTypeStr)this.msg.OrderTypeStr = options.OrderTypeStr if (options.OrderTypeStr) this.msg.OrderTypeStr = options.OrderTypeStr
if(options.OrderStatus)this.msg.OrderStatus = options.OrderStatus if (options.OrderStatus) this.msg.OrderStatus = options.OrderStatus
this.research() this.research()
}, },
created() { created() {
const that = this const that = this
uni.getSystemInfo({ uni.getSystemInfo({
success(res) { success(res) {
that.titleStyle = { that.titleStyle = {
paddingTop: `${res.statusBarHeight}px` paddingTop: `${res.statusBarHeight}px`
}; };
}, },
}); });
this.getOrderEnums() this.getOrderEnums()
},
}, methods: {
methods:{ getStatus(ID) {
getStatus(ID){ this.msg.OrderStatus = ID
this.msg.OrderStatus=ID
this.research() this.research()
}, },
research(status){ research(status) {
if(status)this.msg.OrderStatus = status; if (status) this.msg.OrderStatus = status;
this.msg.pageIndex = 1; this.msg.pageIndex = 1;
this.msg.pageSize = 10; this.msg.pageSize = 10;
this.status = "loadmore"; this.status = "loadmore";
...@@ -147,35 +152,36 @@ ...@@ -147,35 +152,36 @@
this.g = []; this.g = [];
this.init() this.init()
}, },
getOrderType(item){ getOrderType(item) {
this.msg.OrderTypeStr = item.Id this.msg.OrderTypeStr = item.Id
this.pageTitle = item.Name this.pageTitle = item.Name
this.research() this.research()
}, },
init(){ init() {
uni.showLoading({ uni.showLoading({
title: '加载中...' title: '加载中...'
}) })
// #ifdef MP-DI // #ifdef MP-DI
this.OrderPageZK(); this.OrderPageZK();
// #endif // #endif
// #ifdef MP-AG // #ifdef MP-AG
this.OrderPageTY(); this.OrderPageTY();
// #endif // #endif
}, },
OrderPageTY(){ OrderPageTY() {
this.apipost('b2b_get_GetB2BAllOrderPageList',this.msg, this.apipost('b2b_get_GetB2BAllOrderPageList', this.msg,
res => { res => {
if (res.resultCode == 1) { if (res.resultCode == 1) {
uni.hideLoading() uni.hideLoading()
res.data.pageData.forEach(x=>{ res.data.pageData.forEach(x => {
// #ifdef MP-DI // #ifdef MP-DI
x.goodTypeEnum = mappingListType(x.goodsType) x.goodTypeEnum = mappingListType(x.goodsType)
// #endif // #endif
// #ifdef MP-AG // #ifdef MP-AG
x.goodTypeEnum = mappingListTypeTy(x.goodsType) x.goodTypeEnum = mappingListTypeTy(x.goodsType)
// #endif // #endif
x.orderStatusInfo = EnumHelper.ParseToEnum(OrderStatusEnum,x.orderStatus,'value') x.orderStatusInfo = EnumHelper.ParseToEnum(OrderStatusEnum, x.orderStatus,
'value')
}) })
this.g = this.g.concat(res.data.pageData); this.g = this.g.concat(res.data.pageData);
this.page_count = res.data.pageCount; this.page_count = res.data.pageCount;
...@@ -189,14 +195,15 @@ ...@@ -189,14 +195,15 @@
} }
); );
}, },
OrderPageZK(){ OrderPageZK() {
this.apipost('GetMyDirectOrderPageList_post',this.msg, this.apipost('GetMyDirectOrderPageList_post', this.msg,
res => { res => {
if (res.resultCode == 1) { if (res.resultCode == 1) {
uni.hideLoading() uni.hideLoading()
res.data.pageData.forEach(x=>{ res.data.pageData.forEach(x => {
x.goodTypeEnum = mappingListType(x.goodsType) x.goodTypeEnum = mappingListType(x.goodsType)
x.orderStatusInfo = EnumHelper.ParseToEnum(OrderStatusEnum,x.orderStatus,'value') x.orderStatusInfo = EnumHelper.ParseToEnum(OrderStatusEnum, x.orderStatus,
'value')
}) })
this.g = this.g.concat(res.data.pageData); this.g = this.g.concat(res.data.pageData);
this.page_count = res.data.pageCount; this.page_count = res.data.pageCount;
...@@ -210,7 +217,7 @@ ...@@ -210,7 +217,7 @@
} }
); );
}, },
lower(e) { lower(e) {
if (this.msg.pageIndex < this.page_count) { if (this.msg.pageIndex < this.page_count) {
this.msg.pageIndex++; this.msg.pageIndex++;
this.status = "loading"; this.status = "loading";
...@@ -219,25 +226,27 @@ ...@@ -219,25 +226,27 @@
this.status = "nomore"; this.status = "nomore";
} }
}, },
getOrderEnums() { getOrderEnums() {
this.apipost( this.apipost(
"GetDirectOrderStatusEnum_post", "GetDirectOrderStatusEnum_post", {},
{},
(res) => { (res) => {
if (res.resultCode == 1) { if (res.resultCode == 1) {
// #ifdef MP-DI // #ifdef MP-DI
this.statusList = res.data.filter(x=>x.ID!=4); this.statusList = res.data.filter(x => x.ID != 4);
// #endif // #endif
// #ifdef MP-AG // #ifdef MP-AG
this.statusList = res.data.filter(x=>x.ID!=5); this.statusList = res.data.filter(x => x.ID != 5);
// #endif // #endif
this.statusList.splice(0,0,{ID:0,Name:'全部'}) this.statusList.splice(0, 0, {
this.statusList.forEach(x=>{ ID: 0,
if(x.Name=='已付款') x.Name = '待出行' Name: '全部'
})
this.statusList.forEach(x => {
if (x.Name == '已付款') x.Name = '待出行'
}) })
} }
}, },
err=>{ err => {
uni.showToast({ uni.showToast({
title: err.message, title: err.message,
icon: "none", icon: "none",
...@@ -245,7 +254,6 @@ ...@@ -245,7 +254,6 @@
} }
); );
}, },
}, },
} }
</script> </script>
\ No newline at end of file
<style lang="scss" scoped> <style lang="scss" scoped>
@import url("@/asset/css/flex.css"); @import url("@/asset/css/flex.css");
.AggOrdBox{
.AggOrdBox {
height: 100vh; height: 100vh;
background: url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772246864278108.jpg')no-repeat #F3F1EF; background: url('https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772246864278108.jpg')no-repeat #F3F1EF;
background-size: 100% 240rpx; background-size: 100% 240rpx;
.AggOrdHeader{
.AggOrdHeader {}
}
.AggOrdStatus{ .AggOrdStatus {
padding-top: 10rpx; padding-top: 10rpx;
.AggOrdT{
.AggOrdT {
width: 25%; width: 25%;
padding: 10rpx 20rpx; padding: 10rpx 20rpx;
font-size: 28rpx; font-size: 28rpx;
color: #080A09; color: #080A09;
position: relative; position: relative;
} }
.AggOrdT.active{
.AggOrdT.active {
font-weight: bold; font-weight: bold;
} }
.AggOrdT text{
.AggOrdT text {
display: block; display: block;
text-align: center; text-align: center;
} }
.AggOrdT view{
.AggOrdT view {
position: absolute; position: absolute;
left: 0; left: 0;
right: 0; right: 0;
bottom: 0; bottom: 0;
} }
.AggOrdT view view{
.AggOrdT view view {
width: 60rpx; width: 60rpx;
height: 10rpx; height: 10rpx;
margin: auto; margin: auto;
...@@ -37,30 +43,35 @@ ...@@ -37,30 +43,35 @@
border-radius: 10rpx; border-radius: 10rpx;
} }
} }
.AggregateTitle{
padding: 40rpx 30rpx 40rpx 30rpx; .AggregateTitle {
font-size: 36rpx; padding: 40rpx 30rpx 40rpx 30rpx;
font-weight: bold; font-size: 36rpx;
text-align: left; font-weight: bold;
} text-align: left;
.AggregateTypeBox{ }
flex-wrap: wrap;
.AggregateTypeBox {
flex-wrap: wrap;
padding: 0 15rpx;
}
.AggregateType {
width: 33.33%;
padding: 0 15rpx; padding: 0 15rpx;
} margin-bottom: 30rpx;
.AggregateType{ }
width: 33.33%;
padding: 0 15rpx; .AggregateType view {
margin-bottom: 30rpx; display: block;
} padding: 10rpx 0 15rpx 35rpx;
.AggregateType view{ background: #E3E6D2;
display: block; border-radius: 14rpx;
padding: 10rpx 0 15rpx 35rpx;
background: #E3E6D2;
border-radius: 14rpx;
border: 1rpx solid #E3E6D2; border: 1rpx solid #E3E6D2;
overflow: hidden; overflow: hidden;
} }
.AggregateType img{
.AggregateType img {
width: 40rpx; width: 40rpx;
height: 40rpx; height: 40rpx;
display: inline-block; display: inline-block;
...@@ -68,89 +79,90 @@ ...@@ -68,89 +79,90 @@
top: 10rpx; top: 10rpx;
right: 20rpx; right: 20rpx;
} }
.AggregateType text{
.AggregateType text {
display: inline-block; display: inline-block;
} }
.AggregateType.active view{
.AggregateType.active view {
border: 1rpx solid #B99846; border: 1rpx solid #B99846;
} }
} }
</style> </style>
<template> <template>
<view class="AggOrdBox column"> <view class="AggOrdBox column">
<view class="AggOrdHeader" :style="[titleStyle]"> <view class="AggOrdHeader" :style="[titleStyle]">
<AggOrdSearch <AggOrdSearch @change="change" :params="msg"></AggOrdSearch>
@change="change"
:params="msg"></AggOrdSearch>
</view> </view>
<view class="col" style="height: 1px;flex: 1;overflow: hidden;padding-top: 40rpx;"> <view class="col" style="height: 1px;flex: 1;overflow: hidden;padding-top: 40rpx;">
<view v-if="!msg.keyword"> <view v-if="!msg.keyword">
<view class="AggregateTitle">订单类型</view> <view class="AggregateTitle">订单类型</view>
<view class="AggregateTypeBox row"> <view class="AggregateTypeBox row">
<view class="AggregateType" v-for="(item,index) in orderTypeList" :key="index" <view class="AggregateType" v-for="(item,index) in orderTypeList" :key="index"
:class="[msg.OrderTypeStr==item.Id?'active':'']" :class="[msg.OrderTypeStr==item.Id?'active':'']" @click="getTypeId(item)">
@click="getTypeId(item)"> <view class="row">
<view class="row"> <img :src="item.icon" />
<img :src="item.icon"/> <text>
<text> {{ item.Name }}
{{ item.Name }} </text>
</text> </view>
</view>
</view>
</view> </view>
</view> </view>
</view> <scroll-view v-else :scroll-y="true" :enable-back-to-top="true" :enable-flex="true" @scrolltolower="lower"
<scroll-view v-else :scroll-y="true" style="height: 100%;">
:enable-back-to-top="true" <orders :orders="g"></orders>
:enable-flex="true" <u-empty v-if="g.length==0" text="暂无数据" mode="data" padding-top="20"></u-empty>
@scrolltolower="lower" style="height: 100%;"> <u-loadmore v-else :status="status" :load-text="loadText" :font-size="24" :margin-top="20"
<orders :orders="g"></orders> :margin-bottom="20" bg-color="#F3F1EF" />
<u-empty v-if="g.length==0" text="暂无数据" mode="data" padding-top="20"></u-empty> <view style="width: 100%;height: 20rpx;"></view>
<u-loadmore v-else :status="status" :load-text="loadText" :font-size="24" :margin-top="20" :margin-bottom="20" bg-color="#F3F1EF" />
<view style="width: 100%;height: 20rpx;"></view>
</scroll-view> </scroll-view>
</view> </view>
<auth v-if="showAuth" @changeuserinfo="reloadUserinfo" @gbAuth='goback'></auth> <auth v-if="showAuth" @changeuserinfo="reloadUserinfo" @gbAuth='goback'></auth>
<tabbar v-if='barshow==1'></tabbar> <tabbar v-if='barshow==1'></tabbar>
</view> </view>
</template> </template>
<script> <script>
import {mappingListType,mappingListTypeTy} from "../../utils/producttypeenum"; import {
mappingListType,
mappingListTypeTy
} from "../../utils/producttypeenum";
import EnumHelper from '../../utils/enumhelper'; import EnumHelper from '../../utils/enumhelper';
import OrderStatusEnum from '../../utils/orderStautsEnum'; import OrderStatusEnum from '../../utils/orderStautsEnum';
import AggOrdSearch from "./components/searchHeader.vue"; import AggOrdSearch from "./components/searchHeader.vue";
import orders from "./components/orders.vue"; import orders from "./components/orders.vue";
export default{ export default {
components: { components: {
AggOrdSearch, AggOrdSearch,
orders, orders,
}, },
data(){ data() {
return{ return {
msg:{ msg: {
pageSize:10, pageSize: 10,
pageIndex:1, pageIndex: 1,
OrderStatus: 0, OrderStatus: 0,
GoodsName: '', GoodsName: '',
OrderTypeStr: '', OrderTypeStr: '',
keyword: '', keyword: '',
}, },
loadText: { loadText: {
loadmore: "轻轻上拉,加载更多", loadmore: "轻轻上拉,加载更多",
loading: "努力加载中", loading: "努力加载中",
nomore: "没有更多了", nomore: "没有更多了",
}, },
status: "loadmore", status: "loadmore",
showModal: false, showModal: false,
barshow:0, barshow: 0,
g: [], g: [],
page_count: 1, page_count: 1,
index: 0, index: 0,
payindex: 0, payindex: 0,
orderTypeList: [ orderTypeList: [
// { // {
// Id: '', // Id: '',
// Name: '全部订单' // Name: '全部订单'
...@@ -185,8 +197,8 @@ ...@@ -185,8 +197,8 @@
icon: 'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247194112722.jpg', icon: 'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247194112722.jpg',
Name: '景点门票' Name: '景点门票'
} }
], ],
icons:[ icons: [
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772246968492575.jpg', 'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772246968492575.jpg',
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247052998903.jpg', 'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247052998903.jpg',
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247084971514.jpg', 'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247084971514.jpg',
...@@ -195,46 +207,52 @@ ...@@ -195,46 +207,52 @@
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247194112722.jpg', 'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247194112722.jpg',
], ],
titleStyle: {}, titleStyle: {},
} }
}, },
onLoad(options){ onLoad(options) {
if(options.OrderTypeStr){ if (options.OrderTypeStr) {
this.msg.OrderTypeStr = options.OrderTypeStr this.msg.OrderTypeStr = options.OrderTypeStr
} }
}, },
created() { created() {
const that = this const that = this
uni.getSystemInfo({ uni.getSystemInfo({
success(res) { success(res) {
that.titleStyle = { that.titleStyle = {
paddingTop: `${res.statusBarHeight}px` paddingTop: `${res.statusBarHeight}px`
}; };
}, },
}); });
// #ifdef MP-AG // #ifdef MP-AG
this.getEnumList() this.getEnumList()
// #endif // #endif
}, },
methods:{ methods: {
getEnumList() { getEnumList() {
this.apipost("CarSingle_post_GetOrderTypeEnumList", {}, (res) => { this.apipost("CarSingle_post_GetOrderTypeEnumList", {}, (res) => {
if (res.resultCode == 1) { if (res.resultCode == 1) {
this.orderTypeList = [] this.orderTypeList = []
res.data.forEach(x=>{ res.data.forEach(x => {
if(x.Name=='团队'){ x.Name = '线路' } if (x.Name == '团队') {
if(x.Name!='Jalan酒店'){ x.Name = '线路'
}
if (x.Name != 'Jalan酒店') {
let icon = '' let icon = ''
if(x.Id=='1') icon = this.icons[1] if (x.Id == '1') icon = this.icons[1]
if(x.Id=='2') icon = this.icons[0] if (x.Id == '2') icon = this.icons[0]
if(x.Id=='3') icon = this.icons[3] if (x.Id == '3') icon = this.icons[3]
if(x.Id=='4') icon = this.icons[5] if (x.Id == '4') icon = this.icons[5]
if(x.Id=='5') icon = this.icons[4] if (x.Id == '5') icon = this.icons[4]
if(x.Id=='6') icon = this.icons[2] if (x.Id == '6') icon = this.icons[2]
let obj = { let obj = {
Id: x.Id, Id: x.Id,
Name: x.Name +'订单', Name: x.Name + '订单',
icon: icon icon: icon
} }
//酒店切换为道旅酒店
if (obj.Id == '3') {
obj.Id = '7';
}
this.orderTypeList.push(obj) this.orderTypeList.push(obj)
} }
}) })
...@@ -246,7 +264,7 @@ ...@@ -246,7 +264,7 @@
}); });
}) })
}, },
research(){ research() {
this.msg.pageIndex = 1; this.msg.pageIndex = 1;
this.msg.pageSize = 10; this.msg.pageSize = 10;
this.status = "loadmore"; this.status = "loadmore";
...@@ -258,41 +276,42 @@ ...@@ -258,41 +276,42 @@
this.msg.OrderTypeStr = item.Id this.msg.OrderTypeStr = item.Id
this.msg.keyword = item.Name this.msg.keyword = item.Name
this.research() this.research()
}, },
change(item){ change(item) {
this.msg.keyword = item.keyword this.msg.keyword = item.keyword
this.msg.OrderTypeStr = item.OrderTypeStr this.msg.OrderTypeStr = item.OrderTypeStr
this.research() this.research()
}, },
init(){ init() {
if(!this.msg.keyword) return if (!this.msg.keyword) return
if(!this.msg.OrderTypeStr) { if (!this.msg.OrderTypeStr) {
this.msg.GoodsName = this.msg.keyword this.msg.GoodsName = this.msg.keyword
}else { } else {
this.msg.GoodsName = '' this.msg.GoodsName = ''
} }
uni.showLoading({ uni.showLoading({
title: '加载中...' title: '加载中...'
}) })
// #ifdef MP-DI // #ifdef MP-DI
this.OrderPageZK(); this.OrderPageZK();
// #endif // #endif
// #ifdef MP-AG // #ifdef MP-AG
this.OrderPageTY(); this.OrderPageTY();
// #endif // #endif
}, },
OrderPageTY(){ OrderPageTY() {
this.apipost('b2b_get_GetB2BAllOrderPageList',this.msg, this.apipost('b2b_get_GetB2BAllOrderPageList', this.msg,
res => { res => {
if (res.resultCode == 1) { if (res.resultCode == 1) {
res.data.pageData.forEach(x=>{ res.data.pageData.forEach(x => {
// #ifdef MP-DI // #ifdef MP-DI
x.goodTypeEnum = mappingListType(x.goodsType) x.goodTypeEnum = mappingListType(x.goodsType)
// #endif // #endif
// #ifdef MP-AG // #ifdef MP-AG
x.goodTypeEnum = mappingListTypeTy(x.goodsType) x.goodTypeEnum = mappingListTypeTy(x.goodsType)
// #endif // #endif
x.orderStatusInfo = EnumHelper.ParseToEnum(OrderStatusEnum,x.orderStatus,'value') x.orderStatusInfo = EnumHelper.ParseToEnum(OrderStatusEnum, x.orderStatus,
'value')
}) })
this.g = this.g.concat(res.data.pageData); this.g = this.g.concat(res.data.pageData);
this.page_count = res.data.pageCount; this.page_count = res.data.pageCount;
...@@ -307,13 +326,14 @@ ...@@ -307,13 +326,14 @@
} }
); );
}, },
OrderPageZK(){ OrderPageZK() {
this.apipost('GetMyDirectOrderPageList_post',this.msg, this.apipost('GetMyDirectOrderPageList_post', this.msg,
res => { res => {
if (res.resultCode == 1) { if (res.resultCode == 1) {
res.data.pageData.forEach(x=>{ res.data.pageData.forEach(x => {
x.goodTypeEnum = mappingListType(x.goodsType) x.goodTypeEnum = mappingListType(x.goodsType)
x.orderStatusInfo = EnumHelper.ParseToEnum(OrderStatusEnum,x.orderStatus,'value') x.orderStatusInfo = EnumHelper.ParseToEnum(OrderStatusEnum, x.orderStatus,
'value')
}) })
this.g = this.g.concat(res.data.pageData); this.g = this.g.concat(res.data.pageData);
this.page_count = res.data.pageCount; this.page_count = res.data.pageCount;
...@@ -328,7 +348,7 @@ ...@@ -328,7 +348,7 @@
} }
); );
}, },
lower(e) { lower(e) {
if (this.msg.pageIndex < this.page_count) { if (this.msg.pageIndex < this.page_count) {
this.msg.pageIndex++; this.msg.pageIndex++;
this.status = "loading"; this.status = "loading";
...@@ -337,15 +357,14 @@ ...@@ -337,15 +357,14 @@
this.status = "nomore"; this.status = "nomore";
} }
}, },
reloadUserinfo() { reloadUserinfo() {
this.u = uni.getStorageSync("mall_UserInfo"); this.u = uni.getStorageSync("mall_UserInfo");
this.getOrderStatusList(); this.getOrderStatusList();
}, },
goback() { goback() {
uni.navigateBack() uni.navigateBack()
}, },
}, },
} }
</script> </script>
\ No newline at end of file
<template> <template>
<view class="carrHeader" :style="[titleStyle]"> <view class="carrHeader" :style="[titleStyle]">
<view class="carrHeaderBox"> <view class="carrHeaderBox">
<view class="carrHeader-left"> <view class="carrHeader-left">
<view class="carrHeader-left-icon" @click="goBack"> <view class="carrHeader-left-icon" @click="goBack">
<u-icon name="arrow-left" size="38" color="#000"></u-icon> <u-icon name="arrow-left" size="38" color="#000"></u-icon>
</view> </view>
</view> </view>
<view class="carrHeader-title"> <view class="carrHeader-title">
<slot>{{title?title:''}}</slot> <slot>{{title?title:''}}</slot>
</view> </view>
<view class="carrHeader-right row"> <view class="carrHeader-right row">
<view class="carrHeader-S row items-center justify-center"> <view class="carrHeader-S row items-center justify-center">
<img src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772246934795585.jpg" @click="goSearch"/> <img src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772246934795585.jpg"
</view> @click="goSearch" />
<view class="carrHeader-T row items-center justify-center"> </view>
<img src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247012340060.jpg" @click="showModal=true"/> <view class="carrHeader-T row items-center justify-center">
</view> <img src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247012340060.jpg"
</view> @click="showModal=true" />
</view> </view>
<u-popup v-model="showModal" mode="bottom" length="50%" border-radius="50"> </view>
<view style="padding: 0 20rpx;"> </view>
<view class="AggregateTitle">订单类型</view> <u-popup v-model="showModal" mode="bottom" length="50%" border-radius="50">
<view class="AggregateTypeBox row"> <view style="padding: 0 20rpx;">
<view class="AggregateType" v-for="(item,index) in orderTypeList" <view class="AggregateTitle">订单类型</view>
:key="index" <view class="AggregateTypeBox row">
:class="[params.OrderTypeStr==item.Id?'active':'']" <view class="AggregateType" v-for="(item,index) in orderTypeList" :key="index"
@click="getTypeId(item)"> :class="[params.OrderTypeStr==item.Id?'active':'']" @click="getTypeId(item)">
<text>{{ item.Name }}</text> <text>{{ item.Name }}</text>
</view> </view>
</view> </view>
</view> </view>
</u-popup> </u-popup>
</view> </view>
</template> </template>
<script> <script>
export default { export default {
props:['title','params'], props: ['title', 'params'],
data() { data() {
return { return {
titleStyle:{}, titleStyle: {},
orderTypeList: [ orderTypeList: [{
{ Id: '',
Id: '', Name: '所有订单'
Name: '所有订单' },
}, {
{ Id: '1,2,3',
Id: '1,2,3', Name: '线路订单'
Name: '线路订单' },
}, {
{ Id: '16',
Id: '16', Name: '机票订单'
Name: '机票订单' },
}, {
{ Id: '15',
Id: '15', Name: '签证订单'
Name: '签证订单' },
}, {
{ Id: '8,9,10,11',
Id: '8,9,10,11', Name: '酒店住宿'
Name: '酒店住宿' },
}, {
{ Id: '12,13,14',
Id: '12,13,14', Name: '包车服务'
Name: '包车服务' },
}, {
{ Id: '4,5,6,7',
Id: '4,5,6,7', Name: '景点门票'
Name: '景点门票' }
} ],
], showModal: false,
showModal: false, icons: [
icons:[ 'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772246968492575.jpg',
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772246968492575.jpg', 'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247052998903.jpg',
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247052998903.jpg', 'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247084971514.jpg',
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247084971514.jpg', 'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247342163794.jpg',
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247342163794.jpg', 'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247230118434.jpg',
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247230118434.jpg', 'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247194112722.jpg',
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247194112722.jpg', ]
] }
} },
}, watch: {
watch:{ params: {
params:{ handler(newVal, oldVal) {
handler(newVal, oldVal) {
},
}, deep: true
deep:true }
} },
}, mounted() {
mounted() { // #ifdef MP-AG
// #ifdef MP-AG this.getEnumList()
this.getEnumList() // #endif
// #endif },
}, methods: {
methods:{ getEnumList() {
getEnumList() { this.apipost("CarSingle_post_GetOrderTypeEnumList", {}, (res) => {
this.apipost("CarSingle_post_GetOrderTypeEnumList", {}, (res) => { if (res.resultCode == 1) {
if (res.resultCode == 1) { this.orderTypeList = []
this.orderTypeList = [] res.data.forEach(x => {
res.data.forEach(x=>{ if (x.Name == '团队') {
if(x.Name=='团队'){ x.Name = '线路' } x.Name = '线路'
if(x.Name!='Jalan酒店'){ }
let icon = '' if (x.Name != 'Jalan酒店') {
if(x.Id=='1') icon = this.icons[1] let icon = ''
if(x.Id=='2') icon = this.icons[0] if (x.Id == '1') icon = this.icons[1]
if(x.Id=='3') icon = this.icons[3] if (x.Id == '2') icon = this.icons[0]
if(x.Id=='4') icon = this.icons[5] if (x.Id == '3') icon = this.icons[3]
if(x.Id=='5') icon = this.icons[4] if (x.Id == '4') icon = this.icons[5]
if(x.Id=='6') icon = this.icons[2] if (x.Id == '5') icon = this.icons[4]
let obj = { if (x.Id == '6') icon = this.icons[2]
Id: x.Id, let obj = {
Name: x.Name +'订单', Id: x.Id,
icon: icon Name: x.Name + '订单',
} icon: icon
this.orderTypeList.push(obj) }
} //酒店切换为道旅酒店
}) if (obj.Id == '3') {
// this.orderTypeList = res.data obj.Id = '7';
this.orderTypeList.unshift({ }
Id: '', this.orderTypeList.push(obj)
Name: '所有订单' }
}) })
} this.orderTypeList.unshift({
}, (err) => { Id: '',
uni.showToast({ Name: '所有订单'
title: err.message, })
icon: "none", }
}); }, (err) => {
}) uni.showToast({
}, title: err.message,
getTypeId(item) { icon: "none",
this.$emit('change', item) });
this.showModal = false; })
}, },
goSearch(){ getTypeId(item) {
// ?OrderTypeStr=${this.params.OrderTypeStr} this.$emit('change', item)
uni.navigateTo({ this.showModal = false;
url: `/pages/AggregateOrders/AggregateOrdersSearch` },
}) goSearch() {
}, uni.navigateTo({
goBack(){ url: `/pages/AggregateOrders/AggregateOrdersSearch`
uni.navigateBack({delta:-1}) })
} },
} goBack() {
} uni.navigateBack({
delta: -1
})
}
}
}
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import url("@/asset/css/flex.css"); @import url("@/asset/css/flex.css");
.AggregateTitle{
padding: 40rpx 30rpx 40rpx 30rpx; .AggregateTitle {
font-size: 32rpx; padding: 40rpx 30rpx 40rpx 30rpx;
font-weight: bold; font-size: 32rpx;
text-align: left; font-weight: bold;
} text-align: left;
.AggregateTypeBox{ }
flex-wrap: wrap;
padding: 0 15rpx; .AggregateTypeBox {
} flex-wrap: wrap;
.AggregateType{ padding: 0 15rpx;
width: 33.33%; }
padding: 0 15rpx;
margin-bottom: 30rpx; .AggregateType {
} width: 33.33%;
.AggregateType text{ padding: 0 15rpx;
display: block; margin-bottom: 30rpx;
line-height: 60rpx; }
background: #f5f5f5;
border: 1rpx solid #E3E6D2; .AggregateType text {
border-radius: 60rpx; display: block;
text-align: center; line-height: 60rpx;
} background: #f5f5f5;
.AggregateType.active text{ border: 1rpx solid #E3E6D2;
border: 1rpx solid #B99846; border-radius: 60rpx;
color: #B99846; text-align: center;
} }
.carrHeader-title{
position: relative; .AggregateType.active text {
left: 60rpx; border: 1rpx solid #B99846;
right: 0; color: #B99846;
text-align: left; }
font-size: 32rpx;
} .carrHeader-title {
.carrHeader-left{ position: relative;
position: absolute; left: 60rpx;
left: 32rpx; right: 0;
bottom: 23rpx; text-align: left;
z-index: 3; font-size: 32rpx;
} }
.carrHeaderBox{
width: 100%; .carrHeader-left {
height: 88rpx; position: absolute;
padding: 0 32rpx; left: 32rpx;
display: flex; bottom: 23rpx;
align-items: center; z-index: 3;
justify-content: space-between; }
position: relative;
} .carrHeaderBox {
.carrHeader{ width: 100%;
// padding-top: 85rpx; height: 88rpx;
} padding: 0 32rpx;
.carrHeader-right{ display: flex;
padding-right: 200rpx; align-items: center;
display: flex; justify-content: space-between;
} position: relative;
.carrHeader-right img{ }
width: 35rpx;
height: 35rpx; .carrHeader {
} // padding-top: 85rpx;
.carrHeader-S{ }
width: 63rpx;
height: 63rpx; .carrHeader-right {
margin-right: 20rpx; padding-right: 200rpx;
} display: flex;
.carrHeader-T{ }
width: 63rpx;
height: 63rpx; .carrHeader-right img {
border-radius: 50%; width: 35rpx;
border: 1px solid #CFC089; height: 35rpx;
margin-right: 20rpx; }
}
.carrHeader-S {
width: 63rpx;
height: 63rpx;
margin-right: 20rpx;
}
.carrHeader-T {
width: 63rpx;
height: 63rpx;
border-radius: 50%;
border: 1px solid #CFC089;
margin-right: 20rpx;
}
</style> </style>
\ No newline at end of file
<template> <template>
<view> <view>
<view class="AggOrdListBox"> <view class="AggOrdListBox">
<view class="visaList row" <view class="visaList row" v-for="(item,index) in g" :key="index" @click="goDetails(item)"
v-for="(item,index) in g" :key="index" :class="[item.orderStatus==4?'active':'']">
@click="goDetails(item)" <view class="visaListL">
:class="[item.orderStatus==4?'active':'']"> <image v-if="item.goodsPic&&item.goodsPic!=''" mode="aspectFill" :src="item.goodsPic" />
<view class="visaListL"> <image v-else mode="aspectFill"
<image mode="aspectFill" :src="item.goodsPic"/> src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/defaultHotelImg.png" />
<text class="visaListLText"> <text class="visaListLText">
{{ item.goodTypeEnum.desc }} {{ item.goodTypeEnum.desc }}
</text> </text>
</view> </view>
<view class="visaListR col column"> <view class="visaListR col column">
<view class="visaListTitle">{{ item.goodsName }}</view> <view class="visaListTitle">{{ item.goodsName }}</view>
<view class="visaListText row"> <view class="visaListText row">
</view> </view>
<view class="col"></view> <view class="col"></view>
<view class="visaListNum row"> <view class="visaListNum row">
<view class="visaListNumR"> <view class="visaListNumR">
<text style="font-size: 20rpx;">CNY</text> <text style="font-size: 20rpx;">CNY</text>
<text class="price-Num"> <text class="price-Num">
{{parseFloat(item.totalPrice-item.preferentialPrice).toFixed(2)}} {{parseFloat(item.totalPrice-item.preferentialPrice).toFixed(2)}}
</text> </text>
<text class="price-stuff" style="font-size: 20rpx;color: rgba(164, 164, 164, 1)"></text> <text class="price-stuff" style="font-size: 20rpx;color: rgba(164, 164, 164, 1)"></text>
</view> </view>
<view class="visaListNumL row items-center"> <view class="visaListNumL row items-center">
<!-- #ifdef MP-DI --> <!-- #ifdef MP-DI -->
<template v-if="item.orderStatus!=5"> <template v-if="item.orderStatus!=5">
{{ item.orderStatusInfo.desc }} {{ item.orderStatusInfo.desc }}
</template> </template>
<template v-else>{{ item.afterSalesOrderStatusStr }}</template> <template v-else>{{ item.afterSalesOrderStatusStr }}</template>
<!-- #endif --> <!-- #endif -->
<!-- #ifdef MP-AG --> <!-- #ifdef MP-AG -->
{{ item.orderStatusInfo.desc }} {{ item.orderStatusInfo.desc }}
<!-- {{ item.orderStatusStr=='取消'?'已取消':item.orderStatusStr }}--> <!-- {{ item.orderStatusStr=='取消'?'已取消':item.orderStatusStr }}-->
<!-- #endif --> <!-- #endif -->
</view> </view>
</view> </view>
<view class="row"> <view class="row">
<view class="col"></view> <view class="col"></view>
<!-- #ifdef MP-DI --> <!-- #ifdef MP-DI -->
<view class="jz_Zailai" @click.stop="" <view class="jz_Zailai" @click.stop="" style="width: 110rpx;">
style="width: 110rpx;"> 客服
客服 <button class="AggOrdListH-RBut" open-type="contact" show-message-card="true"></button>
<button class="AggOrdListH-RBut" open-type="contact" show-message-card="true"></button> </view>
</view> <!-- #endif -->
<!-- #endif --> <view class="row">
<view class="row"> <!-- #ifdef MP-DI -->
<!-- #ifdef MP-DI --> <view v-if="item.orderStatus==1||item.orderStatus==2" class="jz_Zailai"
<view v-if="item.orderStatus==1||item.orderStatus==2" class="jz_Zailai" style="width: 110rpx;margin-left: 10rpx;" @click.stop="goCancelZK(item)">取消</view>
style="width: 110rpx;margin-left: 10rpx;" @click.stop="goCancelZK(item)">取消</view> <view v-if="item.orderStatus==1" class="jz_Zailai jz_ZailaiZF"
<view v-if="item.orderStatus==1" class="jz_Zailai jz_ZailaiZF" style="width: 150rpx;margin-left: 10rpx;" @click.stop="submitGetCodeByOrderNo(item)">
style="width: 150rpx;margin-left: 10rpx;" @click.stop="submitGetCodeByOrderNo(item)">立即支付</view> 立即支付</view>
<view v-if="item.orderStatus!=1" style="margin-left: 10rpx;" class="jz_Zailai" @click.stop="AnotherOrder(item)">再来一单</view> <view v-if="item.orderStatus!=1" style="margin-left: 10rpx;" class="jz_Zailai"
<!-- #endif --> @click.stop="AnotherOrder(item)">再来一单</view>
<!-- #ifdef MP-AG --> <!-- #endif -->
<view v-if="item.income == 0&&item.orderStatus==1" class="jz_Zailai" <!-- #ifdef MP-AG -->
style="width: 110rpx;margin-left: 10rpx;" @click.stop="goCancel(item)">取消</view> <view v-if="item.income == 0&&item.orderStatus==1" class="jz_Zailai"
<view v-else class="jz_Zailai" style="margin-left: 10rpx;" @click.stop="AnotherOrder(item)">再来一单</view> style="width: 110rpx;margin-left: 10rpx;" @click.stop="goCancel(item)">取消</view>
<!-- #endif --> <view v-else class="jz_Zailai" style="margin-left: 10rpx;" @click.stop="AnotherOrder(item)">
</view> 再来一单</view>
</view> <!-- #endif -->
</view> </view>
</view> </view>
</view> </view>
<cancelPrompt v-if="showModal" </view>
:showModal="showModal" </view>
@cancel="cancelModal" <cancelPrompt v-if="showModal" :showModal="showModal" @cancel="cancelModal" @success="cancelSuccess" type="1"
@success="cancelSuccess" :orderNo="currentData.orderNo"></cancelPrompt>
type="1" </view>
:orderNo="currentData.orderNo"></cancelPrompt>
</view>
</template> </template>
<script> <script>
import cancelPrompt from "@/components/cancelPrompt/cancelPrompt.vue"; import cancelPrompt from "@/components/cancelPrompt/cancelPrompt.vue";
export default { export default {
props:['orders'], props: ['orders'],
components: { components: {
cancelPrompt cancelPrompt
}, },
data() { data() {
return { return {
g: [], g: [],
submitCancel:false, submitCancel: false,
submit: false, submit: false,
orderInfo:null, orderInfo: null,
showModal: false, showModal: false,
currentData: null, currentData: null,
} }
}, },
watch:{ watch: {
orders:{ orders: {
handler(newVal,oldVal){ handler(newVal, oldVal) {
this.g = newVal this.g = newVal
}, },
deep:true, deep: true,
} }
}, },
mounted() { mounted() {
}, },
methods:{ methods: {
cancelSuccess(){ cancelSuccess() {
this.$emit('research',5) this.$emit('research', 5)
}, },
submitGetCodeByOrderNo(item) { submitGetCodeByOrderNo(item) {
uni.showLoading({ uni.showLoading({
title: "请稍等片刻...", title: "请稍等片刻...",
}) })
if (this.submit || this.submitCancel) return; if (this.submit || this.submitCancel) return;
this.submit = true this.submit = true
this.apipost("GetCodeByOrderNo_post", { this.apipost("GetCodeByOrderNo_post", {
...@@ -115,370 +113,396 @@ export default { ...@@ -115,370 +113,396 @@ export default {
MallBaseId: uni.getStorageSync("mall_UserInfo").MallBaseId MallBaseId: uni.getStorageSync("mall_UserInfo").MallBaseId
}, (res) => { }, (res) => {
if (res.resultCode == 1) { if (res.resultCode == 1) {
this.orderInfo =JSON.parse(res.data.sPayInfo) this.orderInfo = JSON.parse(res.data.sPayInfo)
this.goPayHandler(item); this.goPayHandler(item);
} }
},e=>{ }, e => {
uni.hideLoading() uni.hideLoading()
uni.showToast({ uni.showToast({
title:'无法发起支付,请稍后', title: '无法发起支付,请稍后',
icon:'none', icon: 'none',
duration:3000 duration: 3000
}) })
this.submit=false this.submit = false
});
},
goPayHandler(item) {
let that = this;
uni.requestPayment({
provider: "wxpay",
timeStamp: this.orderInfo.timeStamp,
nonceStr: this.orderInfo.nonceStr,
package: this.orderInfo.package,
signType: this.orderInfo.signType,
paySign: this.orderInfo.sign,
success: function(res) {
console.log("success", res);
that.submit = false;
uni.hideLoading()
uni.showToast({
title: "支付成功",
});
that.goPayPage(item)
},
fail: function(err) {
that.submit = false;
uni.hideLoading()
uni.showToast({
title: "支付失败",
icon: "none",
});
},
}); });
}, },
goPayHandler(item) { goPaySuccess(item) {
let that = this; let isFrom = null
uni.requestPayment({ if (item.goodsType > 0 && item.goodsType < 4) { //线路
provider: "wxpay", isFrom = 1
timeStamp: this.orderInfo.timeStamp, } else if (item.goodsType > 3 && item.goodsType < 8) { //景点门票
nonceStr: this.orderInfo.nonceStr,
package: this.orderInfo.package, } else if (item.goodsType > 7 && item.goodsType < 12) { //酒店住宿
signType: this.orderInfo.signType,
paySign: this.orderInfo.sign, } else if (item.goodsType > 11 && item.goodsType < 15) { //目的地用车
success: function(res) {
console.log("success", res); } else if (item.goodsType == 15) { //签证
that.submit = false; isFrom = 3
uni.hideLoading() } else if (item.goodsType == 16) { //机票
uni.showToast({ isFrom = 4
title: "支付成功", }
}); if (isFrom) {
that.goPayPage(item) setTimeout(() => {
}, uni.redirectTo({
fail: function(err) { url: "/pages/jiuzhai/paysuccess?PreferPrice=" +
that.submit = false; (item.totalPrice - item.preferentialPrice).toFixed(2) +
uni.hideLoading() "&isFrom=" + isFrom,
uni.showToast({ });
title: "支付失败", }, 100);
icon: "none", }
}); },
}, // 再来一单
}); AnotherOrder(item) {
}, let url = ''
goPaySuccess(item){ if (item.goodsType > 0 && item.goodsType < 4) { //线路
let isFrom = null const pts = ['', 2, 0, 1]
if(item.goodsType>0&&item.goodsType<4){//线路 const productType = pts[item.goodsType]
isFrom = 1 url = `jiuzhai/jz_Line?teamType=${productType}`
}else if(item.goodsType>3&&item.goodsType<8){//景点门票 } else if (item.goodsType > 3 && item.goodsType < 8) { //景点门票
}else if(item.goodsType>7&&item.goodsType<12){//酒店住宿 } else if (item.goodsType > 7 && item.goodsType < 12) { //酒店住宿
}else if(item.goodsType>11&&item.goodsType<15){//目的地用车 } else if (item.goodsType > 11 && item.goodsType < 15) { //目的地用车
}else if(item.goodsType==15){//签证 } else if (item.goodsType == 15) { //签证
isFrom = 3 url = "visa/visaList"
}else if(item.goodsType==16){//机票 } else if (item.goodsType == 16) { //机票
isFrom = 4 url = "airTicket/airIndex"
} }
if(isFrom){ if (url) {
setTimeout(() => { uni.navigateTo({
uni.redirectTo({ url: `/pages/${url}`,
url: "/pages/jiuzhai/paysuccess?PreferPrice=" + });
(item.totalPrice-item.preferentialPrice).toFixed(2) + }
"&isFrom="+isFrom, },
}); // 详情
}, 100); goDetails(item) {
} let url = null
let msg = null
}, // #ifdef MP-DI
// 再来一单 msg = `OrderNo=${item.orderNo}`
AnotherOrder(item){ if (item.goodsType > 0 && item.goodsType < 4) url = `jiuzhai/jz_SureOrder?` //线路
let url = '' else if (item.goodsType > 3 && item.goodsType < 8) { //景点门票
if(item.goodsType>0&&item.goodsType<4){//线路 } else if (item.goodsType > 7 && item.goodsType < 12) { //酒店住宿
const pts = ['',2,0,1] } else if (item.goodsType > 11 && item.goodsType < 15) { //目的地用车
const productType = pts[item.goodsType] } else if (item.goodsType == 15) url = `visa/visa_SureOrder?` //签证
url = `jiuzhai/jz_Line?teamType=${productType}` else if (item.goodsType == 16) url = `airTicket/airTicketOrderDetail?` //机票
}else if(item.goodsType>3&&item.goodsType<8){//景点门票 // #endif
// #ifdef MP-AG
}else if(item.goodsType>7&&item.goodsType<12){//酒店住宿 msg = `orderId=${item.erpOrderId}`
if (item.goodsType == 2) url = `jiuzhai/jz_SureOrder?` //线路
}else if(item.goodsType>11&&item.goodsType<15){//目的地用车 else if (item.goodsType == 4) { //景点门票
} else if (item.goodsType == 3) { //酒店住宿
}else if(item.goodsType==15){//签证 } else if (item.goodsType == 5) { //目的地用车
url = "visa/visaList" } else if (item.goodsType == 6) url = `visa/visa_SureOrder?` //签证
}else if(item.goodsType==16){//机票 else if (item.goodsType == 1) { //机票
url = "airTicket/airIndex" url = `airTicket/airTicketOrderDetail?`
} msg = `id=${item.erpOrderId}`
if(url){ }
uni.navigateTo({ // #endif
url: `/pages/${url}`, if (url) {
}); let path = `/pages/${url}${msg}`
} uni.navigateTo({
}, url: path,
// 详情 });
goDetails(item){ }
let url = null },
let msg = null
// #ifdef MP-DI //取消订单
msg = `OrderNo=${item.orderNo}` goCancel(item) {
if(item.goodsType>0&&item.goodsType<4) url = `jiuzhai/jz_SureOrder?` //线路 let that = this
else if(item.goodsType>3&&item.goodsType<8){//景点门票 if (this.submit || this.submitCancel) return
}else if(item.goodsType>7&&item.goodsType<12){//酒店住宿 wx.showModal({
}else if(item.goodsType>11&&item.goodsType<15){//目的地用车 title: '提示',
}else if(item.goodsType==15) url = `visa/visa_SureOrder?`//签证 content: '确定取消订单?',
else if(item.goodsType==16)url = `airTicket/airTicketOrderDetail?`//机票 success: (tip) => {
// #endif if (tip.confirm) {
// #ifdef MP-AG that.submitCancel = true
msg = `orderId=${item.erpOrderId}` that.apipost(
if(item.goodsType==2) url = `jiuzhai/jz_SureOrder?`//线路 "b2b_get_GetB2BAllCancelOrder", {
else if(item.goodsType==4){//景点门票 ID: item.erpOrderId,
}else if(item.goodsType==3){//酒店住宿 OrderTypeStr: item.goodsType,
}else if(item.goodsType==5){//目的地用车 },
}else if(item.goodsType==6) url = `visa/visa_SureOrder?`//签证 (res) => {
else if(item.goodsType==1){//机票 that.submitCancel = false
url = `airTicket/airTicketOrderDetail?` if (res.resultCode == 1) {
msg = `id=${item.erpOrderId}` uni.showToast({
} title: "操作成功",
// #endif icon: "success",
if(url) { });
let path = `/pages/${url}${msg}` that.$emit('research');
uni.navigateTo({ }
url: path, },
}); (err) => {
} that.submitCancel = false
}, uni.showToast({
title: err.message,
//取消订单 icon: "none",
goCancel(item) { })
let that = this }
if(this.submit||this.submitCancel) return );
wx.showModal({ }
title: '提示', }
content: '确定取消订单?', })
success: (tip) => { },
if (tip.confirm) { cancelModal() {
that.submitCancel = true this.showModal = false
that.apipost( },
"b2b_get_GetB2BAllCancelOrder", { goCancelZK(item) {
ID: item.erpOrderId, if (item.orderStatus == 2) {
OrderTypeStr: item.goodsType, this.currentData = item
}, return this.showModal = true
(res) => { }
that.submitCancel = false let that = this
if (res.resultCode == 1) { if (this.submit || this.submitCancel) return
uni.showToast({ wx.showModal({
title: "操作成功", title: '提示',
icon: "success", content: '确定取消订单?',
}); success: (tip) => {
that.$emit('research'); if (tip.confirm) {
} that.submitCancel = true
}, that.apipost(
(err) => { "GetCancelOrder_post", {
that.submitCancel = false OrderNo: item.orderNo,
uni.showToast({ },
title: err.message, (res) => {
icon: "none", that.submitCancel = false
}) if (res.resultCode == 1) {
} uni.showToast({
); title: "操作成功",
} icon: "success",
} });
}) that.$emit('research');
}, }
cancelModal(){ },
this.showModal = false (err) => {
}, uni.showToast({
goCancelZK(item) { title: err.message,
if(item.orderStatus==2){ icon: "none",
this.currentData = item });
return this.showModal = true that.submitCancel = false
} }
let that = this );
if(this.submit||this.submitCancel) return }
wx.showModal({ }
title: '提示', })
content: '确定取消订单?', },
success: (tip) => { }
if (tip.confirm) { }
that.submitCancel = true
that.apipost(
"GetCancelOrder_post", {
OrderNo: item.orderNo,
},
(res) => {
that.submitCancel = false
if (res.resultCode == 1) {
uni.showToast({
title: "操作成功",
icon: "success",
});
that.$emit('research');
}
},
(err) => {
uni.showToast({
title: err.message,
icon: "none",
});
that.submitCancel = false
}
);
}
}
})
},
}
}
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import url("@/asset/css/flex.css"); @import url("@/asset/css/flex.css");
.AggOrdListBox{
padding: 0 36rpx; .AggOrdListBox {
} padding: 0 36rpx;
.AggOrdList{ }
border-radius: 18rpx;
background: #fff; .AggOrdList {
padding: 20rpx 30rpx; border-radius: 18rpx;
margin-bottom: 20rpx; background: #fff;
} padding: 20rpx 30rpx;
.AggOrdListH{ margin-bottom: 20rpx;
font-size: 22rpx; }
color: #080A09;
} .AggOrdListH {
.AggOrdListH-left text{ font-size: 22rpx;
color: #e91e63; color: #080A09;
background: rgba(234,32,100,.2); }
border-radius: 10rpx;
display: block; .AggOrdListH-left text {
padding: 2rpx 10rpx; color: #e91e63;
} background: rgba(234, 32, 100, .2);
.AggOrdListH-RBBox{ border-radius: 10rpx;
display: block; display: block;
color: #1d1d1d; padding: 2rpx 10rpx;
position: relative; }
}
.AggOrdListH-RS{ .AggOrdListH-RBBox {
color: #9e9e9e; display: block;
margin-left: 40rpx; color: #1d1d1d;
} position: relative;
.AggOrdListH-RBut{ }
position: absolute;
left: 0; .AggOrdListH-RS {
top: 0; color: #9e9e9e;
right: 0; margin-left: 40rpx;
bottom: 0; }
z-index: 1;
opacity: 0; .AggOrdListH-RBut {
} position: absolute;
.AggOrdListH-RBut{ left: 0;
position: absolute; top: 0;
left: 0; right: 0;
top: 0; bottom: 0;
right: 0; z-index: 1;
bottom: 0; opacity: 0;
z-index: 1; }
opacity: 0;
} .AggOrdListH-RBut {
.jz_Zailai { position: absolute;
border-radius: 16px; left: 0;
width: 150rpx; top: 0;
height: 60rpx; right: 0;
text-align: center; bottom: 0;
color: #111111; z-index: 1;
line-height: 60rpx; opacity: 0;
font-size: 24rpx; }
position: relative;
border: 1rpx solid rgba(164, 164, 164, .3); .jz_Zailai {
border-radius: 16px;
} width: 150rpx;
.jz_Zailai.jz_ZailaiZF{ height: 60rpx;
color: #B99846; text-align: center;
border: 1rpx solid #B99846; color: #111111;
} line-height: 60rpx;
.jz_ZailaiZX img{ font-size: 24rpx;
position: relative; position: relative;
top: 10rpx; border: 1rpx solid rgba(164, 164, 164, .3);
}
}
.visaList{
padding: 30rpx; .jz_Zailai.jz_ZailaiZF {
margin-bottom: 20rpx; color: #B99846;
background: #fff; border: 1rpx solid #B99846;
overflow: hidden; }
border-radius: 14rpx;
} .jz_ZailaiZX img {
.visaListL{ position: relative;
width: 161rpx; top: 10rpx;
height: 190rpx; }
overflow: hidden;
margin-right: 19rpx; .visaList {
position: relative; padding: 30rpx;
border-radius: 14rpx; margin-bottom: 20rpx;
} background: #fff;
.visaListL image{ overflow: hidden;
width: 100%; border-radius: 14rpx;
height: 100%; }
border-radius: 14rpx;
} .visaListL {
.visaListTitle{ width: 161rpx;
font-weight: bold; height: 190rpx;
font-size: 28rpx; overflow: hidden;
color: #111111; margin-right: 19rpx;
word-break: break-all; position: relative;
text-overflow: ellipsis; border-radius: 14rpx;
display: -webkit-box; }
-webkit-box-orient: vertical;
-webkit-line-clamp: 2; .visaListL image {
overflow: hidden; width: 100%;
margin-bottom: 10rpx; height: 100%;
} border-radius: 14rpx;
.visaListText text{ }
background-color: rgba(226, 194, 122, .3);
color: #B99846; .visaListTitle {
margin-right: 16rpx; font-weight: bold;
white-space: nowrap; font-size: 28rpx;
border-radius: 6rpx; color: #111111;
padding: 5rpx 9rpx; word-break: break-all;
font-size: 20rpx; text-overflow: ellipsis;
} display: -webkit-box;
.visaListNum{ -webkit-box-orient: vertical;
justify-content: space-between; -webkit-line-clamp: 2;
align-items: center; overflow: hidden;
} margin-bottom: 10rpx;
.visaListNumL text{ }
font-family: PingFang SC;
font-weight: 500; .visaListText text {
font-size: 20rpx; background-color: rgba(226, 194, 122, .3);
color: #080A09; color: #B99846;
margin-left: 10rpx; margin-right: 16rpx;
} white-space: nowrap;
.visaListNum{ border-radius: 6rpx;
margin-bottom: 15rpx; padding: 5rpx 9rpx;
} font-size: 20rpx;
.visaListNumR{ }
color: rgba(255, 49, 102, 1);
} .visaListNum {
.price-Num{ justify-content: space-between;
font-size: 34rpx; align-items: center;
margin-left: 5rpx; }
font-weight: bold;
} .visaListNumL text {
.uDropdownText text{ font-family: PingFang SC;
color: #444; font-weight: 500;
} font-size: 20rpx;
.uDropdownText.active text{ color: #080A09;
color: #B99846; margin-left: 10rpx;
font-weight: bold; }
}
.visaListLText{ .visaListNum {
position: absolute; margin-bottom: 15rpx;
left: 0; }
top: 0;
border-radius: 14rpx 0rpx 14rpx 0rpx; .visaListNumR {
background: #B99846; color: rgba(255, 49, 102, 1);
padding: 4rpx 9rpx; }
font-size: 20rpx;color: #fff;
} .price-Num {
.visaList.active .visaListTitle, font-size: 34rpx;
.visaList.active .visaListNumR, margin-left: 5rpx;
.visaList.active .visaListNumL{ font-weight: bold;
color: #CBCBCB; }
}
.visaList.active .visaListLText{ .uDropdownText text {
background: #CBCBCB; color: #444;
} }
.visaList.active .visaListL image{
// filter: grayscale(100%); .uDropdownText.active text {
} color: #B99846;
font-weight: bold;
}
.visaListLText {
position: absolute;
left: 0;
top: 0;
border-radius: 14rpx 0rpx 14rpx 0rpx;
background: #B99846;
padding: 4rpx 9rpx;
font-size: 20rpx;
color: #fff;
}
.visaList.active .visaListTitle,
.visaList.active .visaListNumR,
.visaList.active .visaListNumL {
color: #CBCBCB;
}
.visaList.active .visaListLText {
background: #CBCBCB;
}
.visaList.active .visaListL image {
// filter: grayscale(100%);
}
</style> </style>
\ No newline at end of file
...@@ -300,10 +300,10 @@ ...@@ -300,10 +300,10 @@
} }
if (this.HotelInfo) { if (this.HotelInfo) {
if (this.HotelInfo.images && this.HotelInfo.images.length > 0) { if (this.HotelInfo.images && this.HotelInfo.images.length > 0) {
//pHotel.images = this.HotelInfo.images; pHotel.images.push(this.HotelInfo.images[0].url);
} }
if (this.HotelInfo.address) { if (this.HotelInfo.location&&this.HotelInfo.location.address) {
pHotel.address = this.HotelInfo.address; pHotel.address = this.HotelInfo.location.address;
} }
} }
console.log("hotelRoom", pHotel); console.log("hotelRoom", pHotel);
......
...@@ -350,15 +350,16 @@ ...@@ -350,15 +350,16 @@
}, },
onLoad(options) { onLoad(options) {
this.customer = uni.getStorageSync("b2b_user") this.customer = uni.getStorageSync("b2b_user")
console.log("hotel_order", options);
if (options.searchObj) { if (options.searchObj) {
this.searchObj = JSON.parse(options.searchObj) this.searchObj = JSON.parse(options.searchObj)
} }
if (options.HotelInfo) { if (options.HotelInfo) {
this.HotelInfo = JSON.parse(options.HotelInfo) this.HotelInfo = JSON.parse(options.HotelInfo)
console.log("hotel_order_hotelInfo", this.HotelInfo)
this.orderMsg.hotelId = this.HotelInfo.hotelid; this.orderMsg.hotelId = this.HotelInfo.hotelid;
this.orderMsg.HotelName = this.HotelInfo.name this.orderMsg.HotelName = this.HotelInfo.name;
if (this.HotelInfo.images && this.HotelInfo.images.length > 0) {
this.orderMsg.HotelPic = this.HotelInfo.images[0];
}
} }
if (options.RoomInfo) { if (options.RoomInfo) {
this.RoomInfo = JSON.parse(options.RoomInfo) this.RoomInfo = JSON.parse(options.RoomInfo)
...@@ -370,8 +371,6 @@ ...@@ -370,8 +371,6 @@
this.CreateBy = options.CreateBy this.CreateBy = options.CreateBy
} }
this.orderMsg.ProductId = this.RoomInfo.RoomTypeID; this.orderMsg.ProductId = this.RoomInfo.RoomTypeID;
console.log("hotel_order_this.searchObj", this.searchObj)
console.log("hotel_order_this.RoomInfo", this.RoomInfo)
this.orderMsg.RatePlanID = this.RoomInfo.RatePlanID this.orderMsg.RatePlanID = this.RoomInfo.RatePlanID
this.orderMsg.CheckInDate = this.dayObj.start; this.orderMsg.CheckInDate = this.dayObj.start;
this.orderMsg.CheckOutDate = this.dayObj.end; this.orderMsg.CheckOutDate = this.dayObj.end;
...@@ -428,7 +427,8 @@ ...@@ -428,7 +427,8 @@
Name: this.customer.name, Name: this.customer.name,
ContactNumber: this.orderMsg.guestPhoneNumber, ContactNumber: this.orderMsg.guestPhoneNumber,
Mailbox: this.orderMsg.guestEmail, Mailbox: this.orderMsg.guestEmail,
GoodsId: this.orderMsg.RatePlanID, //GoodsId: this.orderMsg.RatePlanID,
GoodsId: this.HotelInfo.hotelId,
GoodsName: this.HotelInfo.name, GoodsName: this.HotelInfo.name,
GoodsPic: "", GoodsPic: "",
GoodsType: 9, GoodsType: 9,
...@@ -480,7 +480,6 @@ ...@@ -480,7 +480,6 @@
signType: this.orderInfo.signType, signType: this.orderInfo.signType,
paySign: this.orderInfo.sign, paySign: this.orderInfo.sign,
success: function(res) { success: function(res) {
console.log("success", res);
that.submit = false; that.submit = false;
uni.showToast({ uni.showToast({
title: "支付成功", title: "支付成功",
...@@ -495,7 +494,6 @@ ...@@ -495,7 +494,6 @@
}, 100); }, 100);
}, },
fail: function(err) { fail: function(err) {
console.log("fail:", err);
that.submit = true; that.submit = true;
uni.showToast({ uni.showToast({
title: "支付失败", title: "支付失败",
...@@ -667,9 +665,6 @@ ...@@ -667,9 +665,6 @@
}, },
changeDown(e) { changeDown(e) {
let i = [e] let i = [e]
// this.customer.count = this.countrys[i].ID
// this.optionsTitle[0] = this.countrys[i].Name
// this.customer.PhoneCountryStr = '+'+this.countrys[i].PhoneCode
}, },
editNum(type) { editNum(type) {
if (type == 1) { if (type == 1) {
...@@ -783,10 +778,9 @@ ...@@ -783,10 +778,9 @@
icon: 'none' icon: 'none'
}) })
uni.redirectTo({ uni.redirectTo({
url: `/pages/AggregateOrders/AggregateOrdersList?OrderTypeStr=3`, url: `/pages/AggregateOrders/AggregateOrdersList?OrderTypeStr=7`,
}); });
// #endif // #endif
console.log(res, '-------酒店erp下单成功')
} }
} }
); );
......
import EnumHelper from "./enumhelper.js" import EnumHelper from "./enumhelper.js"
import ListProductTypeEnum from "./listProductType.js" import ListProductTypeEnum from "./listProductType.js"
const ProductTypeEnum = [ const ProductTypeEnum = [{
{ value: 1,
value: 1, desc: '机票产品'
desc: '机票产品' },
}, /**
/** * 线路
* 线路 */
*/ {
{ value: 2,
value: 2, desc: '线路产品'
desc: '线路产品' },
},
/** /**
* 酒店 * 酒店
*/ */
{ {
value: 3, value: 3,
desc: '酒店产品' desc: '酒店产品'
}, },
/** /**
* 景点门票 * 景点门票
*/ */
{ {
value: 4, value: 4,
desc: '景点门票产品' desc: '景点门票产品'
}, },
/**
* 包车
*/
{
value: 5,
desc: '包车产品'
},
{
value: 6,
desc: '签证产品'
},
/**
* 包车
*/
{
value: 5,
desc: '包车产品'
},
{
value: 6,
desc: '签证产品'
},
{
value: 7,
desc: '酒店产品'
},
] ]
const mappingRules = [ const mappingRules = [
[-1], [-1],
[1, 2, 3], [1, 2, 3],
[4, 5, 6, 7], [4, 5, 6, 7],
[-1], [-1],
[12, 13, 14], [12, 13, 14],
[8, 9, 10, 11], [8, 9, 10, 11],
[15], [15],
[16] [16]
] ]
const mappingListType = (value) => { const mappingListType = (value) => {
let val = mappingRules.findIndex(x => { let val = mappingRules.findIndex(x => {
return x.indexOf(value) != -1 return x.indexOf(value) != -1
}) })
if (val && val > 0) { if (val && val > 0) {
return EnumHelper.ParseToEnum(ListProductTypeEnum, val, 'value') return EnumHelper.ParseToEnum(ListProductTypeEnum, val, 'value')
} }
return {} return {}
} }
const mappingListTypeTy = (type) => { const mappingListTypeTy = (type) => {
let val = ProductTypeEnum.findIndex(x => { let val = ProductTypeEnum.findIndex(x => {
return x.value==Number(type) return x.value == Number(type)
}) })
return ProductTypeEnum[val] return ProductTypeEnum[val]
} }
const transProductEnum = (value) => { const transProductEnum = (value) => {
return mappingRules[value] return mappingRules[value]
} }
export default ProductTypeEnum export default ProductTypeEnum
export { mappingListType, transProductEnum, mappingListTypeTy } export {
\ No newline at end of file mappingListType,
transProductEnum,
mappingListTypeTy
}
\ No newline at end of file
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