Commit b2059d4c authored by 沈良进's avatar 沈良进

add

parents 6c484809 f1c33663
...@@ -183,7 +183,8 @@ module.exports = function( /* ctx */ ) { ...@@ -183,7 +183,8 @@ module.exports = function( /* ctx */ ) {
plugins: [ plugins: [
"Meta", "Meta",
"Notify", "Notify",
'Loading' 'Loading',
'Dialog'
] ]
}, },
......
...@@ -26,7 +26,7 @@ Vue.prototype.domainManager = function() { ...@@ -26,7 +26,7 @@ Vue.prototype.domainManager = function() {
domainUrl = "http://testapi.oytour.com"; domainUrl = "http://testapi.oytour.com";
} else if (domainNameUrl.indexOf('oytour') !== -1) { } else if (domainNameUrl.indexOf('oytour') !== -1) {
// domainUrl = "http://reborn.oytour.com"; // domainUrl = "http://reborn.oytour.com";
domainUrl = 'http://192.168.10.11:8083' //'http://192.168.10.206:8015' ''http://192.168.10.11:8083' ' domainUrl = 'http://192.168.10.206:8015' //'http://192.168.10.206:8015' ''http://192.168.10.11:8083' '
} }
var obj = { var obj = {
//主地址 //主地址
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<div class="non-selectable"> <div class="non-selectable">
<div class="row wrap"> <div class="row wrap">
<div class="relative q-pa-xs cursor-pointer" <div class="relative q-pa-xs cursor-pointer"
:class="{'col-4':prices.length>2,'col':prices.length<3}" :class="{'col-4':prices.length>2,'col-6':prices.length<3}"
v-for="(item,index) in prices" :key="index"> v-for="(item,index) in prices" :key="index">
<div class="rounded-borders overflow-hidden column " <div class="rounded-borders overflow-hidden column "
:style="{'border': chooseObj&&item.id==chooseObj.id?'':'1px solid #eee'}" :style="{'border': chooseObj&&item.id==chooseObj.id?'':'1px solid #eee'}"
......
...@@ -151,6 +151,7 @@ export default { ...@@ -151,6 +151,7 @@ export default {
liveNvm: this.liveNvm, liveNvm: this.liveNvm,
id: this.p.id, id: this.p.id,
selectedObjId: this.selectedObj.id, selectedObjId: this.selectedObj.id,
roomOptionCd: this.selectedObj.roomOptionCd,
chosenObj: this.chosenObj, chosenObj: this.chosenObj,
sumPrice: this.sumPrice sumPrice: this.sumPrice
} }
...@@ -166,6 +167,7 @@ export default { ...@@ -166,6 +167,7 @@ export default {
}, },
handleSelect(item){ handleSelect(item){
this.selectedObj = item this.selectedObj = item
console.log(this.selectedObj,'-----')
setTimeout(()=>{ setTimeout(()=>{
this.calcMoney() this.calcMoney()
},100) },100)
......
<<<<<<< HEAD
<style> <style>
</style> </style>
=======
>>>>>>> f1c336638dd7e228f10cc6497760343026d24a12
<style scoped> <style scoped>
.header-box { .header-box {
max-width: 1200px; max-width: 1200px;
......
<style>
</style>
<style scoped> <style scoped>
.q-ml-lg .block {
margin-right: 12px;
}
.header-box { .header-box {
max-width: 1200px; max-width: 1200px;
margin: 0 auto; margin: 0 auto;
......
...@@ -72,12 +72,12 @@ ...@@ -72,12 +72,12 @@
<q-card flat class="q-pa-md q-mt-lg" v-if="details"> <q-card flat class="q-pa-md q-mt-lg" v-if="details">
<div class="text-subtitle1 text-weight-bolder q-mb-md">旅客資料</div> <div class="text-subtitle1 text-weight-bolder q-mb-md">旅客資料</div>
<div class="row"> <div class="row">
<q-img <!-- <q-img
:src="roomRateDetails?roomRateDetails[0].roomImageURL:'https://image.kkday.com/v2/image/get/s1.kkday.com/product_138437/20230217083232_t5rcO/jpg'" :src="roomRateDetails?roomRateDetails[0].roomImageURL:'https://image.kkday.com/v2/image/get/s1.kkday.com/product_138437/20230217083232_t5rcO/jpg'"
class="rounded-borders" class="rounded-borders"
spinner-color="grey-3" spinner-color="grey-3"
style="width: 80px" style="width: 80px"
/> /> -->
<div class="q-ml-md col"> <div class="q-ml-md col">
<div class="text-subtitle1 ellipsis"> <div class="text-subtitle1 ellipsis">
{{details.hotelName}} {{details.hotelName}}
...@@ -137,21 +137,21 @@ ...@@ -137,21 +137,21 @@
</div> </div>
</div> </div>
<div class="rounded-borders bg-blue-1 q-px-md q-py-sm q-mt-sm column"> <div class="rounded-borders bg-blue-1 q-px-md q-py-sm q-mt-sm column">
<span class="text-orange-6 q-pb-xs">超过13岁视为成人处理</span> <!-- <span class="text-orange-6 q-pb-xs">超过13岁视为成人处理</span> -->
<span class="text-green-6">预定成功后房间将为您整晚保留</span> <!-- <span class="text-green-6">预定成功后房间将为您整晚保留</span> -->
<span v-if="(details.cancellationPeriod1==-1||details.cancellationPeriod1==0)&&(details.cancellationType1==1||details.cancellationType1==2)"> <span class="text-orange-6 q-pb-xs" v-if="(details.cancellationPeriod1==-1||details.cancellationPeriod1==0)&&(details.cancellationType1==1||details.cancellationType1==2)">
<template v-if="details.cancellationPeriod1==-1">没有通知取消,</template> <template v-if="details.cancellationPeriod1==-1">没有通知取消,</template>
<template v-if="details.cancellationPeriod1==0">入住当日取消,</template> <template v-if="details.cancellationPeriod1==0">入住当日取消,</template>
<template v-if="details.cancellationType1==1">手续费:{{details.cancellation1}}%</template> <template v-if="details.cancellationType1==1">手续费:{{details.cancellation1}}%</template>
<template v-if="details.cancellationType1==2">手续费:{{details.cancellation1}}</template> <template v-if="details.cancellationType1==2">手续费:{{details.cancellation1}}</template>
</span> </span>
<span v-if="(details.cancellationPeriod2==-1||details.cancellationPeriod2==0)&&(details.cancellationType2==1||details.cancellationType2==2)"> <span class="text-green-6" v-if="(details.cancellationPeriod2==-1||details.cancellationPeriod2==0)&&(details.cancellationType2==1||details.cancellationType2==2)">
<template v-if="details.cancellationPeriod2==-1">没有通知取消,</template> <template v-if="details.cancellationPeriod2==-1">没有通知取消,</template>
<template v-if="details.cancellationPeriod2==0">入住当日取消,</template> <template v-if="details.cancellationPeriod2==0">入住当日取消,</template>
<template v-if="details.cancellationType2==1">手续费:{{details.cancellation2}}%</template> <template v-if="details.cancellationType2==1">手续费:{{details.cancellation2}}%</template>
<template v-if="details.cancellationType2==2">手续费:{{details.cancellation2}}</template> <template v-if="details.cancellationType2==2">手续费:{{details.cancellation2}}</template>
</span> </span>
<span v-if="(details.cancellationPeriod3==-1||details.cancellationPeriod3==0)&&(details.cancellationType3==1||details.cancellationType3==2)"> <span class="text-green-6" v-if="(details.cancellationPeriod3==-1||details.cancellationPeriod3==0)&&(details.cancellationType3==1||details.cancellationType3==2)">
<template v-if="details.cancellationPeriod3==-1">没有通知取消,</template> <template v-if="details.cancellationPeriod3==-1">没有通知取消,</template>
<template v-if="details.cancellationPeriod3==0">入住当日取消,</template> <template v-if="details.cancellationPeriod3==0">入住当日取消,</template>
<template v-if="details.cancellationType3==1">手续费:{{details.cancellation3}}%</template> <template v-if="details.cancellationType3==1">手续费:{{details.cancellation3}}%</template>
...@@ -313,12 +313,12 @@ ...@@ -313,12 +313,12 @@
> >
<div class="text-subtitle1 text-weight-bolder">付款明細</div> <div class="text-subtitle1 text-weight-bolder">付款明細</div>
<div class="row q-mt-md"> <div class="row q-mt-md">
<q-img <!-- <q-img
:src="roomRateDetails?roomRateDetails[0].roomImageURL:'https://image.kkday.com/v2/image/get/s1.kkday.com/product_138437/20230217083232_t5rcO/jpg'" :src="roomRateDetails?roomRateDetails[0].roomImageURL:'https://image.kkday.com/v2/image/get/s1.kkday.com/product_138437/20230217083232_t5rcO/jpg'"
class="rounded-borders" class="rounded-borders"
spinner-color="grey-3" spinner-color="grey-3"
style="width: 80px" style="width: 80px"
/> /> -->
<div class="q-ml-md col"> <div class="q-ml-md col">
<div class="text-subtitle1 ellipsis"> <div class="text-subtitle1 ellipsis">
{{details.hotelName}} {{details.hotelName}}
...@@ -359,7 +359,7 @@ ...@@ -359,7 +359,7 @@
<template v-for="y in x.roomOptions"> <template v-for="y in x.roomOptions">
<div class="row q-mb-sm" v-if="y.checked"> <div class="row q-mb-sm" v-if="y.checked">
<div class="col">{{getMealType(y.meals)}} x {{ y.Count }}</div> <div class="col">{{getMealType(y.meals)}} x {{ y.Count }}</div>
<div>CNY {{ getPrice2(y.chargeableRateInfoPerPersonForANightBySetCurrency) }}</div> <div>CNY {{ getPrice2(y.totalChargeableRateInfo) }}</div>
</div> </div>
</template> </template>
</template> </template>
...@@ -478,7 +478,7 @@ export default { ...@@ -478,7 +478,7 @@ export default {
isBaoChild: true, isBaoChild: true,
isShowTime: true, isShowTime: true,
price: 0, price: 0,
SettlementPrice: 0, SettlementPrice: 0,//实付
parameters: { parameters: {
dataId:'',//订单id dataId:'',//订单id
hotelId:'',//酒店id hotelId:'',//酒店id
...@@ -487,7 +487,7 @@ export default { ...@@ -487,7 +487,7 @@ export default {
checkInTime:'',//入住时间 checkInTime:'',//入住时间
departureDate:'',//结束时间 departureDate:'',//结束时间
roomOptionCd:'',//房间计划CD roomOptionCd:'',//房间计划CD
totalChargeableRateInfo:'',//合计费用 totalChargeableRateInfo:'',//人民币合计费用
guestRequestAppendix: 0,//费用合计(日元) guestRequestAppendix: 0,//费用合计(日元)
totalPriceJapanese:'',//日元合计费用 totalPriceJapanese:'',//日元合计费用
comment: '',//评论 comment: '',//评论
...@@ -562,70 +562,21 @@ export default { ...@@ -562,70 +562,21 @@ export default {
if (r.data.resultCode == 1) { if (r.data.resultCode == 1) {
this.details = r.data.data; this.details = r.data.data;
if(Object.prototype.toString.call(this.details.roomGroup) == '[object Object]'){
let arr = [];
arr.push(this.details.roomGroup);
this.details.roomGroup=arr;
}
console.log(r.data.data,'===')
return
this.parameters.HotelName = this.details.hotelName this.parameters.HotelName = this.details.hotelName
if (
Object.prototype.toString.call(r.data.data.roomRateDetails) ==
"[object Object]"
) {
this.roomRateDetails.push(r.data.data.roomRateDetails);
} else {
this.roomRateDetails = r.data.data.roomRateDetails;
}
let arrList = function(arr){
arr.forEach(item=>{
item.images=[]
item.id=null
item.checked =false
})
}
arrList(this.roomRateDetails)
this.roomRateDetails.forEach((x,index) => {
let List = function(arr){
arr.forEach(item=>{
item.checked =false
item.Count = 1
item.checkInTime = ''
})
}
List(x.roomOptions)
x.images = []
x.images.push(x.roomImageURL)
for (let i = 0; i < 4; i++) {
if(x.roomOptions[`planPictureURL${(i+1)}`] && x.roomOptions[`planPictureURL${(i+1)}`].length>0){
x.images.push(x.roomOptions[`planPictureURL${(i+1)}`])
}
}
if (
Object.prototype.toString.call(x.roomOptions) ==
"[object Object]"
) {
let arr = [];
arr.push(x.roomOptions);
x.roomOptions = arr;
}
});
this.roomRateDetails.forEach((x,k)=>{
if((k+1)===this.OrderDate.id){
x.checked = true
x.roomOptions.forEach((y,index)=>{
if((index+1)===this.OrderDate.selectedObjId){
y.checked = true
y.Count = this.OrderDate.chosenObj.Count
y.checkInTime = date.formatDate(date.addToDate(new Date(this.parameters.arrivalDate), { days: 1 }), 'YYYY-MM-DD')
this.parameters.roomOptionCd = y.roomOptionCd
}
})
}
})
this.parameters.HotelPic = this.roomRateDetails[0].roomImageURL this.parameters.HotelPic = this.roomRateDetails[0].roomImageURL
this.JapanIncrease = r.data.data.JapanIncrease this.JapanIncrease = r.data.data.JapanIncrease
this.TotalChildCount = 0; this.TotalChildCount = 0;
let rateGrouoLen = 0; let rateGrouoLen = 0;
this.details.searchRoomGroup.forEach(x=>{ this.details.roomGroup.forEach(x=>{
if(Object.prototype.toString.call(x.rateGroup) == '[object Object]'){ if(Object.prototype.toString.call(x.rateGroup) == '[object Object]'){
let arr = []; let arr = [];
arr.push(x.rateGroup); arr.push(x.rateGroup);
...@@ -704,9 +655,6 @@ export default { ...@@ -704,9 +655,6 @@ export default {
// childJapanCount+=ChildJapanPrice; // childJapanCount+=ChildJapanPrice;
this.parameters.totalPriceJapanese += parseFloat(AdultJapanCount+childJapanCount+onlyJanpnase); this.parameters.totalPriceJapanese += parseFloat(AdultJapanCount+childJapanCount+onlyJanpnase);
if (this.isShowTime&&!this.isLoginB2B) {
this.getUserCanUseCouponList();
}
}) })
} else { } else {
...@@ -738,8 +686,9 @@ export default { ...@@ -738,8 +686,9 @@ export default {
} }
this.sumPrice = this.OrderDate.sumPrice this.sumPrice = this.OrderDate.sumPrice
this.parameters.totalChargeableRateInfo = this.OrderDate.sumPrice this.parameters.totalChargeableRateInfo = this.OrderDate.sumPrice
this.numberOfAdults = 0, this.numberOfAdults = 0
this.numberOfChildren = 0, this.numberOfChildren = 0,
this.msg.roomOptionCd = this.OrderDate.roomOptionCd
this.msg.searchroomGroup.forEach(x=>{ this.msg.searchroomGroup.forEach(x=>{
this.numberOfAdults+=x.numberOfAdults this.numberOfAdults+=x.numberOfAdults
this.numberOfChildren+=x.numberOfChildren this.numberOfChildren+=x.numberOfChildren
......
...@@ -88,8 +88,8 @@ ...@@ -88,8 +88,8 @@
} }
</style> </style>
<template> <template>
<div class="bg-white" :class="$q.platform.is.desktop ? 'q-ma-lg content': 'full-width'"> <div :class="$q.platform.is.desktop ? 'q-ma-lg content': 'full-width'" style="min-height:80vh">
<div class="flex justify-between margin"> <!-- <div class="flex justify-between margin">
<div :class="$q.platform.is.desktop ? 'form-item': 'full-width'"> <div :class="$q.platform.is.desktop ? 'form-item': 'full-width'">
<q-input <q-input
placeholder="輸入商品名稱/訂單號" placeholder="輸入商品名稱/訂單號"
...@@ -109,141 +109,203 @@ ...@@ -109,141 +109,203 @@
{{ item.Name }} {{ item.Name }}
<div :class="orderStatus === item.ID ? 'border-bottom' : ''"></div> <div :class="orderStatus === item.ID ? 'border-bottom' : ''"></div>
</div> </div>
</div> -->
<div class="row items-center">
<q-btn-dropdown color="dark" flat dense :label="`訂單狀態:${orderStatusFiled}`" class="q-px-md">
<q-list>
<q-item clickable v-close-popup v-for="item in orderEnums" :key="item.ID" @click="changeOrderType(item)">
<q-item-section>
<q-item-label>{{ item.Name }}</q-item-label>
</q-item-section>
</q-item>
</q-list>
</q-btn-dropdown>
<q-btn-dropdown color="dark" flat dense :label="`商品類型:${productTypeFiled}`" class="q-px-md">
<q-list>
<q-item clickable v-close-popup v-for="(x,i) in productTypes" :key="i" @click="changeProductTypeHandler(x)">
<q-item-section>
<q-item-label>{{ x.desc }}</q-item-label>
</q-item-section>
</q-item>
</q-list>
</q-btn-dropdown>
<q-space />
<div>
<q-input standout dense v-model="msg.GoodsName" label="商品名稱/訂單編號" @keypress.enter.native="initListHandler" >
<template v-slot:prepend>
<q-icon name="search" />
</template>
</q-input>
</div>
</div> </div>
<!-- pc -->
<div v-if="$q.platform.is.desktop"> <q-card class="rounded-borders q-pa-md q-mt-md" flat v-for="item in orderList" :key="item.id">
<div class="card" v-for="item in orderList" :key="item.id"> <div class="row justify-between items-center">
<div class="flex card-title justify-between"> <div>
<div class="flex"> <q-chip size="12px" :class="[item.goodTypeEnum.bgColor,item.goodTypeEnum.color]" square>{{ item.goodTypeEnum?item.goodTypeEnum.desc:'' }}</q-chip>
<span><span class="text-grey-6">订单号:</span>{{ item.orderNo }}</span> <span class="f12 q-ml-md text-grey-5">訂單編號:#{{ item.orderNo }}</span>
<span class="phone text-grey-6">
<i class="iconfont iconmessage"></i>
联系客服
</span>
</div>
<span class="text-grey-6">{{ item.createTimeStr }}</span>
</div> </div>
<div class="flex justify-between"> <div class="text-grey-5">下單日期:{{ item.createTimeStr }}</div>
<div class="name flex no-wrap"> <div class="row items-center">
<img class="product-img mr" :src="item.goodsPic" /> <q-icon :name="item.orderStatusInfo.icon" :class="[item.orderStatusInfo.color]" size="14px" />
<div style="max-width: 300px"> <span class="q-ml-sm" :class="[item.orderStatusInfo.color]">{{ item.orderStatusInfo.desc }}</span>
<div class="ellipsis-2">{{ item.goodsName }}</div>
<div>x1</div>
</div>
</div>
<div class="flex">
<div class="user-name text-center">
<i class="iconfont iconpeople1"></i>{{ item.surName
}} {{ item.name }}
</div>
<div class="pay-info text-center">
<div class=" text-grey-6">CNY{{ item.totalPrice }}</div>
<div>{{ item.payTypeStr }}</div>
</div>
<div class="order-info text-center">
<div class="primary">{{item.orderStatusStr}}</div>
<div class="q-mt-sm cursor-pointer" @click="CommonJump(`/orderinfo?orderNo=${item.orderNo}`)">订单详情</div>
</div>
<div class="order-action text-center">
<q-btn
color="primary"
@click="cancalOrder(item)"
unelevated
outline
size="sm"
label="取消订单">
</q-btn>
<div>查看發票</div>
</div>
</div>
</div> </div>
</div> </div>
</div> <div class="q-mt-sm row">
<!-- mobile --> <q-img
<div v-else> :src="item.goodsPic"
<div class="card" v-for="item in orderList" :key="item.id"> class="rounded-borders q-mr-md"
<div class="flex card-title justify-between"> spinner-color="grey-2"
<div class="flex"> style="width: 150px;height:80px;"
<span><span class="text-grey-6">订单号:</span>{{ item.orderNo }}</span> />
</div> <div class="col">
<span class="text-grey-6">{{ item.orderStatusStr }}</span> <div class="text-body1 ellipsis cursor-pointer" @click="CommonJump('/orderinfo/'+item.orderNo,{},'blank')">{{ item.goodsName }}</div>
</div> <div class="q-mt-sm text-grey-5">{{ item.orderMake }} </div>
<div class="q-pa-md"> <div class="q-mt-sm text-grey-8 f12 row items-center">
<div class="flex no-wrap full-width"> <q-icon name="iconfont iconpeople1" size="14px" class="q-mr-sm" />
<img class="product-img mr flex-noShark" :src="item.goodsPic" /> <span class="q-mr-md">{{ item.surName }}/{{ item.name }}</span>
<div> <q-icon name="iconfont icontelephone" size="14px" class="q-mr-sm" />
<div class="ellipsis-2">{{ item.goodsName }}</div> <span class="q-mr-md">{{ item.contactNumber }}</span>
<div>x1</div> <q-icon name="iconfont iconemail" size="14px" class="q-mr-sm" />
<span class="q-mr-md">{{ item.mailbox }}</span>
</div> </div>
</div> </div>
<div> <div class="q-ml-lg">
<!-- <div> <div class="text-right">
<i class="iconfont iconpeople1"></i>{{ item.surName <span>CNY:</span>
}} {{ item.name }} <span class="text-h6 q-ml-sm">{{ moneyFormat(item.totalPrice,2) }}</span>
</div> -->
<div>
<div class="f18 text-right">CNY{{ item.totalPrice }}</div>
<!-- <div>{{ item.payTypeStr }}</div> -->
</div> </div>
<!-- <div> <div class="q-mt-md text-right" v-if="item.orderStatus==1">
<div class="primary">{{item.orderStatusStr}}</div> <!-- <q-btn color="dark" dense flat class="q-px-sm" label="查看訂單" /> -->
<div class="q-mt-sm cursor-pointer">订单详情</div> <q-btn color="primary" dense flat class="q-px-sm" label="取消訂單" @click="cancalOrder(item.orderNo)" />
</div> --> <q-btn color="primary" dense unelevated class="q-px-sm q-ml-sm" label="立即支付" @click="CommonJump('/pay/'+item.orderNo,{},'blank')" />
<div class="flex justify-end q-mt-sm">
<q-btn
color="primary"
@click="cancalOrder(item)"
unelevated
outline
size="sm"
label="取消订单">
</q-btn>
</div> </div>
<div class="q-mt-md text-right" v-else>
<q-btn color="dark" dense flat class="q-px-sm" @click="CommonJump('/orderinfo/'+item.orderNo,{},'blank')" label="查看訂單" />
</div>
</div> </div>
</div>
</div> </div>
</q-card>
<div class="row justify-end q-mt-lg">
<q-pagination
v-if="pageCount > 1"
v-model="msg.pageIndex"
:max="pageCount"
@input="getOrderList"
:direction-links="true"
color="white"
text-color="dark"
active-color="primary"
active-text-color="white"
active-design="unelevated"
unelevated
glossy
ellipses
:max-pages="6"
boundary-numbers
size="13px"
padding="sm md"
></q-pagination>
</div>
<!-- <noneData v-show="!orderList.length"></noneData> -->
<div class="text-center" v-if="!orderList || orderList.length==0">
<none-data
iconType="order"
title="沒有找到您的訂單信息哦"
subtitle="趕緊去挑選心儀的旅遊產品吧"
></none-data>
</div> </div>
<noneData v-show="!orderList.length"></noneData>
</div> </div>
</template> </template>
<script> <script>
import noneData from "../../components/noneData.vue"; import NoneData from "src/components/common/noneData.vue";
import {mappingListType,transProductEnum} from "src/utils/producttypeenum";
import EnumHelper from 'src/utils/enumhelper';
import OrderStatusEnum from 'src/utils/orderStautsEnum';
import ListProductTypeEnum from 'src/utils/listProductType';
export default { export default {
components: { components: {
noneData, NoneData,
}, },
data() { data() {
return { return {
orderEnums: [], orderEnums: [],
GoodsName: '',
orderList: [], orderList: [],
current: 1, current: 1,
pageCount: 0, pageCount: 0,
orderStatus: 0, orderStatusFiled:'',
productTypeFiled:'',
msg:{
pageSize:10,
pageIndex:1,
OrderStatus: 0,
GoodsName: '',
OrderTypeStr:''
},
productTypes:[]
}; };
}, },
mounted() { mounted() {
this.productTypes = Object.values(ListProductTypeEnum).filter(x=>x.value!=3)
this.productTypes.splice(0,0,{
value:'',
desc:'全部類型'
})
this.productTypeFiled=this.productTypes[0].desc
this.type = this.$route.query.type this.type = this.$route.query.type
if(this.type) { if(this.type) {
this.orderStatus = Number(this.type) this.msg.OrderStatus = Number(this.type)
} }
this.getOrderEnums(); this.getOrderEnums();
this.getOrderList(); this.getOrderList();
}, },
methods: { methods: {
cancalOrder() {}, cancalOrder(OrderNo) {
console.log(this.$q.dialog)
this.$q.dialog({
title: '取消確認',
message: '訂單取消後,系統將立即釋放位置,請問是否執行?',
cancel: true,
persistent: true
}).onOk(() => {
this.apipost('GetCancelOrder_post',{OrderNo},r=>{
if(r.data.resultCode==1){
this.$message.success('訂單取消成功')
this.getOrderList()
}else{
this.$message.error('訂單取消失敗,請重新嘗試')
}
})
}).onCancel(() => {
// console.log('>>>> Cancel')
})
},
pageChange(value) { pageChange(value) {
this.current = value; this.current = value;
this.getOrderList(); this.getOrderList();
}, },
changeOrderType(item) { changeOrderType(item) {
if (this.orderStatus === item.ID) { if (this.msg.OrderStatus != item.ID) {
this.orderStatus = 0; this.msg.OrderStatus = item.ID
} else { this.orderStatusFiled = item.Name
this.orderStatus = item.ID; this.initListHandler()
}
},
changeProductTypeHandler(x){
if(x.desc!=this.productTypeFiled){
this.msg.OrderTypeStr = x.value==''?'':transProductEnum(x.value).join(',')
this.productTypeFiled = x.desc
this.initListHandler()
} }
this.current = 1; },
initListHandler(){
this.msg.pageIndex = 1;
this.pageCount = 0; this.pageCount = 0;
this.orderList = []; this.orderList = [];
this.getOrderList(); this.getOrderList();
...@@ -254,15 +316,13 @@ export default { ...@@ -254,15 +316,13 @@ export default {
{}, {},
(res) => { (res) => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.orderEnums = res.data.data; this.orderEnums = res.data.data;
this.orderEnums.splice(0,0,{ID:0,Name:'全部訂單'})
console.log(this.orderEnums)
this.orderStatusFiled = this.orderEnums[0].Name
} else { } else {
// this.$notify(res.data.message); this.$message.error(res.data.message);
this.$q.notify({
type: "negative",
message: res.data.message,
position: "top",
timeout: 2000, // 以毫秒为单位; 0意味着没有超时
});
} }
}, },
null null
...@@ -271,26 +331,19 @@ export default { ...@@ -271,26 +331,19 @@ export default {
getOrderList() { getOrderList() {
this.apipost( this.apipost(
"GetMyDirectOrderPageList_post", "GetMyDirectOrderPageList_post",
{ this.msg,
pageIndex: this.current,
pageSize: 10,
orderStatus: this.orderStatus,
GoodsName: this.GoodsName,
},
(res) => { (res) => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
const { count, pageData, pageCount } = res.data.data; const { count, pageData, pageCount } = res.data.data;
this.count = count; this.count = count;
this.pageCount = pageCount; this.pageCount = pageCount;
this.orderList = pageData; this.orderList = pageData;
this.orderList.forEach(x=>{
x.goodTypeEnum = mappingListType(x.goodsType)
x.orderStatusInfo = EnumHelper.ParseToEnum(OrderStatusEnum,x.orderStatus,'value')
})
} else { } else {
// this.$notify(res.data.message); this.$message.error(res.data.message)
this.$q.notify({
type: "negative",
message: res.data.message,
position: "top",
timeout: 2000, // 以毫秒为单位; 0意味着没有超时
});
} }
}, },
null null
......
...@@ -2,7 +2,6 @@ const EnumHelper = { ...@@ -2,7 +2,6 @@ const EnumHelper = {
ParseToEnum(TEnum, value, comparison = '') { ParseToEnum(TEnum, value, comparison = '') {
if (Object.isFrozen) { if (Object.isFrozen) {
let t = Object.values(TEnum) let t = Object.values(TEnum)
console.log(t, Symbol(1) == 1)
let r = t.find(x => (comparison != '' && x[comparison] == value) || (comparison == '' && x == value)) let r = t.find(x => (comparison != '' && x[comparison] == value) || (comparison == '' && x == value))
return r return r
} else { } else {
......
...@@ -2,23 +2,33 @@ const ListProductTypeEnum = Object.freeze({ ...@@ -2,23 +2,33 @@ const ListProductTypeEnum = Object.freeze({
TRIP: { TRIP: {
value: 1, value: 1,
desc: '線路旅遊' desc: '線路旅遊',
bgColor: 'bg-pink-2',
color: 'text-pink'
}, },
SCENIC: { SCENIC: {
value: 2, value: 2,
desc: '景點門票' desc: '景點門票',
bgColor: 'bg-purple-2',
color: 'text-purple'
}, },
HOTEL: { HOTEL: {
value: 3, value: 3,
desc: '酒店住宿' desc: '酒店住宿',
bgColor: 'bg-indigo-2',
color: 'text-indigo'
}, },
CAR: { CAR: {
value: 4, value: 4,
desc: '目的地用車' desc: '目的地用車',
bgColor: 'bg-teal-2',
color: 'text-teal'
}, },
JALAN: { JALAN: {
value: 5, value: 5,
desc: '酒店住宿' desc: '酒店住宿',
bgColor: 'bg-indigo-2',
color: 'text-indigo'
}, },
}) })
......
const OrderStatusEnum = Object.freeze({
UN_PAY: {
value: 1,
desc: '待付款',
icon: 'iconfont icontime1',
color: 'text-orange'
},
PAYED: {
value: 2,
desc: '待出行',
icon: 'iconfont iconflag',
color: 'text-green'
},
FINISH: {
value: 3,
desc: '已完成',
icon: 'iconfont iconsuccess',
color: 'text-dark'
},
CANCEL: {
value: 4,
desc: '已取消',
icon: 'iconfont iconminus',
color: 'text-grey-6'
}
})
export default OrderStatusEnum
\ No newline at end of file
import EnumHelper from "./enumhelper"
import ListProductTypeEnum from "./listProductType"
const ProductTypeEnum = Object.freeze({ const ProductTypeEnum = Object.freeze({
/** /**
* 一日游 * 一日游
...@@ -112,4 +115,29 @@ const ProductTypeEnum = Object.freeze({ ...@@ -112,4 +115,29 @@ const ProductTypeEnum = Object.freeze({
}) })
export default ProductTypeEnum const mappingRules = [
\ No newline at end of file [-1],
[1, 2, 3],
[4, 5, 6, 7],
[-1],
[12, 13, 14],
[8, 9, 10, 11]
]
const mappingListType = (value) => {
let val = mappingRules.findIndex(x => {
return x.indexOf(value) != -1
})
if (val && val > 0) {
return EnumHelper.ParseToEnum(ListProductTypeEnum, val, 'value')
}
return {}
}
const transProductEnum = (value) => {
return mappingRules[value]
}
export default ProductTypeEnum
export { mappingListType, transProductEnum }
\ 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