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

酒店接口调整

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