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;
......@@ -42,36 +50,31 @@
}
}
/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%;">
<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" />
<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>
......@@ -79,22 +82,25 @@
</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{
export default {
components: {
AggOrdHeader,
orders,
},
data(){
return{
data() {
return {
pageTitle: '所有订单',
msg:{
pageSize:10,
pageIndex:1,
msg: {
pageSize: 10,
pageIndex: 1,
OrderStatus: 0,
GoodsName: '',
OrderTypeStr: ''
......@@ -106,19 +112,19 @@
},
status: "loadmore",
showModal: false,
barshow:0,
barshow: 0,
statusList: [],
g: [],
page_count: 1,
index: 0,
payindex: 0,
showAuth: false,
titleStyle:{},
titleStyle: {},
}
},
onLoad(options){
if(options.OrderTypeStr)this.msg.OrderTypeStr = options.OrderTypeStr
if(options.OrderStatus)this.msg.OrderStatus = options.OrderStatus
onLoad(options) {
if (options.OrderTypeStr) this.msg.OrderTypeStr = options.OrderTypeStr
if (options.OrderStatus) this.msg.OrderStatus = options.OrderStatus
this.research()
},
created() {
......@@ -131,15 +137,14 @@
},
});
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,12 +152,12 @@
this.g = [];
this.init()
},
getOrderType(item){
getOrderType(item) {
this.msg.OrderTypeStr = item.Id
this.pageTitle = item.Name
this.research()
},
init(){
init() {
uni.showLoading({
title: '加载中...'
})
......@@ -163,19 +168,20 @@
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;
......@@ -221,23 +228,25 @@
},
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",
......@@ -248,4 +257,3 @@
},
}
</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,22 +43,26 @@
border-radius: 10rpx;
}
}
.AggregateTitle{
.AggregateTitle {
padding: 40rpx 30rpx 40rpx 30rpx;
font-size: 36rpx;
font-weight: bold;
text-align: left;
}
.AggregateTypeBox{
.AggregateTypeBox {
flex-wrap: wrap;
padding: 0 15rpx;
}
.AggregateType{
.AggregateType {
width: 33.33%;
padding: 0 15rpx;
margin-bottom: 30rpx;
}
.AggregateType view{
.AggregateType view {
display: block;
padding: 10rpx 0 15rpx 35rpx;
background: #E3E6D2;
......@@ -60,7 +70,8 @@
border: 1rpx solid #E3E6D2;
overflow: hidden;
}
.AggregateType img{
.AggregateType img {
width: 40rpx;
height: 40rpx;
display: inline-block;
......@@ -68,10 +79,12 @@
top: 10rpx;
right: 20rpx;
}
.AggregateType text{
.AggregateType text {
display: inline-block;
}
.AggregateType.active view{
.AggregateType.active view {
border: 1rpx solid #B99846;
}
}
......@@ -79,19 +92,16 @@
<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 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)">
:class="[msg.OrderTypeStr==item.Id?'active':'']" @click="getTypeId(item)">
<view class="row">
<img :src="item.icon"/>
<img :src="item.icon" />
<text>
{{ item.Name }}
</text>
......@@ -100,13 +110,12 @@
</view>
</view>
</view>
<scroll-view v-else :scroll-y="true"
:enable-back-to-top="true"
:enable-flex="true"
@scrolltolower="lower" style="height: 100%;">
<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" />
<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>
......@@ -118,21 +127,24 @@
</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{
export default {
components: {
AggOrdSearch,
orders,
},
data(){
return{
msg:{
pageSize:10,
pageIndex:1,
data() {
return {
msg: {
pageSize: 10,
pageIndex: 1,
OrderStatus: 0,
GoodsName: '',
OrderTypeStr: '',
......@@ -145,7 +157,7 @@
},
status: "loadmore",
showModal: false,
barshow:0,
barshow: 0,
g: [],
page_count: 1,
index: 0,
......@@ -186,7 +198,7 @@
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',
......@@ -197,8 +209,8 @@
titleStyle: {},
}
},
onLoad(options){
if(options.OrderTypeStr){
onLoad(options) {
if (options.OrderTypeStr) {
this.msg.OrderTypeStr = options.OrderTypeStr
}
},
......@@ -215,26 +227,32 @@
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";
......@@ -259,16 +277,16 @@
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({
......@@ -281,18 +299,19 @@
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;
......@@ -348,4 +368,3 @@
},
}
</script>
\ No newline at end of file
......@@ -11,10 +11,12 @@
</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"/>
<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"/>
<img src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247012340060.jpg"
@click="showModal=true" />
</view>
</view>
</view>
......@@ -22,10 +24,8 @@
<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)">
<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>
......@@ -34,13 +34,12 @@
</view>
</template>
<script>
export default {
props:['title','params'],
export default {
props: ['title', 'params'],
data() {
return {
titleStyle:{},
orderTypeList: [
{
titleStyle: {},
orderTypeList: [{
Id: '',
Name: '所有订单'
},
......@@ -70,7 +69,7 @@ export default {
}
],
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/638772247052998903.jpg',
'https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/638772247084971514.jpg',
......@@ -80,12 +79,12 @@ export default {
]
}
},
watch:{
params:{
watch: {
params: {
handler(newVal, oldVal) {
},
deep:true
deep: true
}
},
mounted() {
......@@ -93,30 +92,35 @@ export default {
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)
}
})
// this.orderTypeList = res.data
this.orderTypeList.unshift({
Id: '',
Name: '所有订单'
......@@ -133,61 +137,70 @@ export default {
this.$emit('change', item)
this.showModal = false;
},
goSearch(){
// ?OrderTypeStr=${this.params.OrderTypeStr}
goSearch() {
uni.navigateTo({
url: `/pages/AggregateOrders/AggregateOrdersSearch`
})
},
goBack(){
uni.navigateBack({delta:-1})
goBack() {
uni.navigateBack({
delta: -1
})
}
}
}
}
</script>
<style lang="scss" scoped>
@import url("@/asset/css/flex.css");
.AggregateTitle{
@import url("@/asset/css/flex.css");
.AggregateTitle {
padding: 40rpx 30rpx 40rpx 30rpx;
font-size: 32rpx;
font-weight: bold;
text-align: left;
}
.AggregateTypeBox{
}
.AggregateTypeBox {
flex-wrap: wrap;
padding: 0 15rpx;
}
.AggregateType{
}
.AggregateType {
width: 33.33%;
padding: 0 15rpx;
margin-bottom: 30rpx;
}
.AggregateType text{
}
.AggregateType text {
display: block;
line-height: 60rpx;
background: #f5f5f5;
border: 1rpx solid #E3E6D2;
border-radius: 60rpx;
text-align: center;
}
.AggregateType.active text{
}
.AggregateType.active text {
border: 1rpx solid #B99846;
color: #B99846;
}
.carrHeader-title{
}
.carrHeader-title {
position: relative;
left: 60rpx;
right: 0;
text-align: left;
font-size: 32rpx;
}
.carrHeader-left{
}
.carrHeader-left {
position: absolute;
left: 32rpx;
bottom: 23rpx;
z-index: 3;
}
.carrHeaderBox{
}
.carrHeaderBox {
width: 100%;
height: 88rpx;
padding: 0 32rpx;
......@@ -195,28 +208,33 @@ export default {
align-items: center;
justify-content: space-between;
position: relative;
}
.carrHeader{
}
.carrHeader {
// padding-top: 85rpx;
}
.carrHeader-right{
}
.carrHeader-right {
padding-right: 200rpx;
display: flex;
}
.carrHeader-right img{
}
.carrHeader-right img {
width: 35rpx;
height: 35rpx;
}
.carrHeader-S{
}
.carrHeader-S {
width: 63rpx;
height: 63rpx;
margin-right: 20rpx;
}
.carrHeader-T{
}
.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)"
<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"/>
<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>
......@@ -40,8 +40,7 @@
<view class="row">
<view class="col"></view>
<!-- #ifdef MP-DI -->
<view class="jz_Zailai" @click.stop=""
style="width: 110rpx;">
<view class="jz_Zailai" @click.stop="" style="width: 110rpx;">
客服
<button class="AggOrdListH-RBut" open-type="contact" show-message-card="true"></button>
</view>
......@@ -51,58 +50,57 @@
<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>
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>
<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"
<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'],
import cancelPrompt from "@/components/cancelPrompt/cancelPrompt.vue";
export default {
props: ['orders'],
components: {
cancelPrompt
},
data() {
return {
g: [],
submitCancel:false,
submitCancel: false,
submit: false,
orderInfo:null,
orderInfo: null,
showModal: false,
currentData: null,
}
},
watch:{
orders:{
handler(newVal,oldVal){
watch: {
orders: {
handler(newVal, oldVal) {
this.g = newVal
},
deep:true,
deep: true,
}
},
mounted() {
},
methods:{
cancelSuccess(){
this.$emit('research',5)
methods: {
cancelSuccess() {
this.$emit('research', 5)
},
submitGetCodeByOrderNo(item) {
uni.showLoading({
......@@ -115,17 +113,17 @@ 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=>{
}, e => {
uni.hideLoading()
uni.showToast({
title:'无法发起支付,请稍后',
icon:'none',
duration:3000
title: '无法发起支付,请稍后',
icon: 'none',
duration: 3000
})
this.submit=false
this.submit = false
});
},
goPayHandler(item) {
......@@ -156,82 +154,81 @@ export default {
},
});
},
goPaySuccess(item){
goPaySuccess(item) {
let isFrom = null
if(item.goodsType>0&&item.goodsType<4){//线路
if (item.goodsType > 0 && item.goodsType < 4) { //线路
isFrom = 1
}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
}else if(item.goodsType==16){//机票
} else if (item.goodsType == 16) { //机票
isFrom = 4
}
if(isFrom){
if (isFrom) {
setTimeout(() => {
uni.redirectTo({
url: "/pages/jiuzhai/paysuccess?PreferPrice=" +
(item.totalPrice-item.preferentialPrice).toFixed(2) +
"&isFrom="+isFrom,
(item.totalPrice - item.preferentialPrice).toFixed(2) +
"&isFrom=" + isFrom,
});
}, 100);
}
},
// 再来一单
AnotherOrder(item){
AnotherOrder(item) {
let url = ''
if(item.goodsType>0&&item.goodsType<4){//线路
const pts = ['',2,0,1]
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 > 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) { //签证
url = "visa/visaList"
}else if(item.goodsType==16){//机票
} else if (item.goodsType == 16) { //机票
url = "airTicket/airIndex"
}
if(url){
if (url) {
uni.navigateTo({
url: `/pages/${url}`,
});
}
},
// 详情
goDetails(item){
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?`//机票
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){//机票
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) {
if (url) {
let path = `/pages/${url}${msg}`
uni.navigateTo({
url: path,
......@@ -242,7 +239,7 @@ export default {
//取消订单
goCancel(item) {
let that = this
if(this.submit||this.submitCancel) return
if (this.submit || this.submitCancel) return
wx.showModal({
title: '提示',
content: '确定取消订单?',
......@@ -276,16 +273,16 @@ export default {
}
})
},
cancelModal(){
cancelModal() {
this.showModal = false
},
goCancelZK(item) {
if(item.orderStatus==2){
if (item.orderStatus == 2) {
this.currentData = item
return this.showModal = true
}
let that = this
if(this.submit||this.submitCancel) return
if (this.submit || this.submitCancel) return
wx.showModal({
title: '提示',
content: '确定取消订单?',
......@@ -319,40 +316,47 @@ export default {
})
},
}
}
}
</script>
<style lang="scss" scoped>
@import url("@/asset/css/flex.css");
.AggOrdListBox{
@import url("@/asset/css/flex.css");
.AggOrdListBox {
padding: 0 36rpx;
}
.AggOrdList{
}
.AggOrdList {
border-radius: 18rpx;
background: #fff;
padding: 20rpx 30rpx;
margin-bottom: 20rpx;
}
.AggOrdListH{
}
.AggOrdListH {
font-size: 22rpx;
color: #080A09;
}
.AggOrdListH-left text{
}
.AggOrdListH-left text {
color: #e91e63;
background: rgba(234,32,100,.2);
background: rgba(234, 32, 100, .2);
border-radius: 10rpx;
display: block;
padding: 2rpx 10rpx;
}
.AggOrdListH-RBBox{
}
.AggOrdListH-RBBox {
display: block;
color: #1d1d1d;
position: relative;
}
.AggOrdListH-RS{
}
.AggOrdListH-RS {
color: #9e9e9e;
margin-left: 40rpx;
}
.AggOrdListH-RBut{
}
.AggOrdListH-RBut {
position: absolute;
left: 0;
top: 0;
......@@ -360,8 +364,9 @@ export default {
bottom: 0;
z-index: 1;
opacity: 0;
}
.AggOrdListH-RBut{
}
.AggOrdListH-RBut {
position: absolute;
left: 0;
top: 0;
......@@ -369,8 +374,9 @@ export default {
bottom: 0;
z-index: 1;
opacity: 0;
}
.jz_Zailai {
}
.jz_Zailai {
border-radius: 16px;
width: 150rpx;
height: 60rpx;
......@@ -381,37 +387,42 @@ export default {
position: relative;
border: 1rpx solid rgba(164, 164, 164, .3);
}
.jz_Zailai.jz_ZailaiZF{
}
.jz_Zailai.jz_ZailaiZF {
color: #B99846;
border: 1rpx solid #B99846;
}
.jz_ZailaiZX img{
}
.jz_ZailaiZX img {
position: relative;
top: 10rpx;
}
}
.visaList{
.visaList {
padding: 30rpx;
margin-bottom: 20rpx;
background: #fff;
overflow: hidden;
border-radius: 14rpx;
}
.visaListL{
}
.visaListL {
width: 161rpx;
height: 190rpx;
overflow: hidden;
margin-right: 19rpx;
position: relative;
border-radius: 14rpx;
}
.visaListL image{
}
.visaListL image {
width: 100%;
height: 100%;
border-radius: 14rpx;
}
.visaListTitle{
}
.visaListTitle {
font-weight: bold;
font-size: 28rpx;
color: #111111;
......@@ -422,8 +433,9 @@ export default {
-webkit-line-clamp: 2;
overflow: hidden;
margin-bottom: 10rpx;
}
.visaListText text{
}
.visaListText text {
background-color: rgba(226, 194, 122, .3);
color: #B99846;
margin-right: 16rpx;
......@@ -431,54 +443,66 @@ export default {
border-radius: 6rpx;
padding: 5rpx 9rpx;
font-size: 20rpx;
}
.visaListNum{
}
.visaListNum {
justify-content: space-between;
align-items: center;
}
.visaListNumL text{
}
.visaListNumL text {
font-family: PingFang SC;
font-weight: 500;
font-size: 20rpx;
color: #080A09;
margin-left: 10rpx;
}
.visaListNum{
}
.visaListNum {
margin-bottom: 15rpx;
}
.visaListNumR{
}
.visaListNumR {
color: rgba(255, 49, 102, 1);
}
.price-Num{
}
.price-Num {
font-size: 34rpx;
margin-left: 5rpx;
font-weight: bold;
}
.uDropdownText text{
}
.uDropdownText text {
color: #444;
}
.uDropdownText.active text{
}
.uDropdownText.active text {
color: #B99846;
font-weight: bold;
}
.visaListLText{
}
.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{
font-size: 20rpx;
color: #fff;
}
.visaList.active .visaListTitle,
.visaList.active .visaListNumR,
.visaList.active .visaListNumL {
color: #CBCBCB;
}
.visaList.active .visaListLText{
}
.visaList.active .visaListLText {
background: #CBCBCB;
}
.visaList.active .visaListL image{
}
.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 = [
{
const ProductTypeEnum = [{
value: 1,
desc: '机票产品'
},
......@@ -41,7 +40,10 @@ const ProductTypeEnum = [
value: 6,
desc: '签证产品'
},
{
value: 7,
desc: '酒店产品'
},
]
const mappingRules = [
......@@ -68,7 +70,7 @@ const mappingListType = (value) => {
const mappingListTypeTy = (type) => {
let val = ProductTypeEnum.findIndex(x => {
return x.value==Number(type)
return x.value == Number(type)
})
return ProductTypeEnum[val]
}
......@@ -79,4 +81,8 @@ const transProductEnum = (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