Commit d9070324 authored by youjie's avatar youjie

no message

parent 62641282
......@@ -14,6 +14,10 @@ class HotelService {
static async getUserCanUseCouponList(param:any): Promise<HttpResponse> {
return requestJava('/api/b2b/user/getUserCanUseCouponList', param)
}
//散客订单详情
static async GetJAPANOrderDetail(param:any): Promise<HttpResponse> {
return request('dmc_post_Get_GetJAPAN_OrderDetail', param)
}
//散客订单列表
static async GetB2BJapanHotelOrderList(param:any): Promise<HttpResponse> {
return request('sellorder_post_GetB2BJapanHotelOrderList', param)
......
......@@ -4,7 +4,7 @@
<q-table separator="cell" :pagination="{rowsPerPage:100}" dense :rows="orders" bordered :columns="cols" class="sticky-rightrowspan-column-table light-border col no-shadow">
<template v-slot:body-cell-HotelName="props">
<q-td :props="props">
<div class="cursor-pointer" @click="Detail(props.row)">
<div class="cursor-pointer" @click="getDetail(props.row.OrderID)">
<q-img :src="props.row.HotelPic" spinner-color="drk" spinner-size="20px" width="50px" height="50px" mode="cover" />
<span class="q-mx-md">{{ props.row.HotelName }}</span>
</div>
......@@ -23,7 +23,7 @@
<q-inner-loading :showing="loading" :label="$t('loading')" label-class="text-grey-6 f12" />
</div>
<q-dialog v-model="showOrderdDetail">
<OrderdDetail></OrderdDetail>
<OrderdDetail :OrderID="OrderID"></OrderdDetail>
</q-dialog>
</template>
......@@ -40,8 +40,6 @@ import { useI18n } from 'vue-i18n'
import svgIcon from '../../../global/svg-icon.vue'
import { copyToClipboard, useQuasar } from 'quasar'
import { currentRouter } from '../../../router'
// import { UploadFileInfo,NTag,NUpload } from 'naive-ui'
// import { slice } from 'lodash'
import OrderdDetail from './OrderdDetail.vue'
export default defineComponent({
......@@ -59,6 +57,7 @@ export default defineComponent({
})
const data = reactive({
OrderID: '',
showOrderdDetail: false,
orders: [] as Array<any>,
status: [] as Array<StandardStatus>,
......@@ -82,8 +81,9 @@ export default defineComponent({
})
const methods = {
Detail(row:{}){
getDetail(OrderID){
data.showOrderdDetail = true
data.OrderID = OrderID
},
initOrders() {
let param = Object.assign(data.pages, search)
......
<template>
<div class="q-pa-lg commonSure bg-white">
<div class="q-pa-lg commonSure bg-grey-1">
<div style="shadow: 0px 0px 50px 0px rgba(82, 63, 105, 0.15);margin: auto;" :style="{'width':$q.platform.is.desktop?'50vw':'100vw','min-width':$q.platform.is.desktop?'866px':'100vw',}">
<div class="q-px-lg q-mb-lg" :class="{ 'row justify-between': $q.platform.is.desktop }">
<div :class="{ 'row items-center': $q.platform.is.desktop, '': $q.platform.is.mobile }">
<div class="mobile-only row items-center">
<!-- <div class="text-weight-bold fz20 ellipsis" style="width: 280px">{{ h.Name }}{{ h.Name }}{{ h.Name }}</div> -->
<div class="text-weight-bold fz20 ellipsis" style="width: 280px">{{ model.HotelName }}{{ model.HotelName }}{{ model.HotelName }}</div>
<q-icon class="text-grey-13 cursor-pointer text-right q-ml-sm" name="close" size="md" v-close-popup></q-icon>
</div>
<!-- <div class="text-weight-bold fz20 ellipsis desktop-only">{{ h.Name }}</div> -->
<!-- <div :class="{'q-ml-md':$q.platform.is.desktop}">
<q-rating v-model="h.Star" size="1.5em" color="orange" :max="h.Star" readonly />
</div> -->
<div class="text-weight-bold fz20 ellipsis desktop-only">{{ model.HotelName }}</div>
</div>
<q-icon class="text-grey-13 cursor-pointer desktop-only" name="close" size="md" v-close-popup></q-icon>
</div>
<div class="col row bg-white rounded-border q-mb-md q-pa-lg">
<div class="col-5 row">
<q-img v-if="params.imgUrl" class="col-5 q-mr-lg" :src="params.imgUrl" style="height: auto;display: inline-block;" spinner-color="drk" spinner-size="20px" mode="cover"/>
<q-img v-if="model.HotelPic" class="col-5 q-mr-lg" :src="model.HotelPic" style="height: auto;display: inline-block;" spinner-color="drk" spinner-size="20px" mode="cover"/>
<div class="col column q-pl-lg">
<div class="text-red fz18 text-weight-bold">{{dataList.hotelName}}</div>
<div class="text-red fz18 text-weight-bold">{{model.hotelName}}</div>
<div class="q-pt-xs">
<q-icon class="text-grey-13 q-mr-xs" name="place" size="xs"></q-icon>
<span class="col fz14 text-weight-bold text-blick">{{dataList.address}}</span>
<span class="col fz14 text-weight-bold text-blick">{{parmResult.address}}</span>
</div>
<div class="q-pt-xs">
<span class="text-grey-6 q-pr-lg">{{$t('v101.scatteredOrder.fangxing')}}</span>
<span class="text-grey-9 q-pr-lg">
{{roomRateDetails?getGradeType(roomRateDetails.gradeType):''}}{{roomRateDetails?getRoomType(roomRateDetails.roomType):''}}
{{parmResult?getGradeType(parmResult.gradeType):''}}{{parmResult?getRoomType(parmResult.roomType):''}}
</span>
</div>
<div class="q-pt-xs">
<span class="text-grey-6 q-pr-lg">{{$t('v101.scatteredOrder.xiyan')}}</span>
<span class="text-grey-9">
<template v-if="roomRateDetails.smoking==0">{{$t('v101.scatteredOrder.xiyan0')}}</template>
<template v-if="roomRateDetails.smoking==1">{{$t('v101.scatteredOrder.xiyan1')}}</template>
<template v-if="parmResult.smoking==0">{{$t('v101.scatteredOrder.xiyan0')}}</template>
<template v-if="parmResult.smoking==1">{{$t('v101.scatteredOrder.xiyan1')}}</template>
</span>
</div>
<div class="q-pt-xs">
<span class="text-grey-6 q-pr-lg">{{$t('v101.scatteredOrder.cesuo')}}</span>
<span class="text-grey-9">
<template v-if="roomRateDetails.withBath==0">{{$t('v101.scatteredOrder.wu')}}</template>
<template v-if="roomRateDetails.withBath==1">{{$t('v101.scatteredOrder.you')}}</template>
<template v-if="parmResult.withBath==0">{{$t('v101.scatteredOrder.wu')}}</template>
<template v-if="parmResult.withBath==1">{{$t('v101.scatteredOrder.you')}}</template>
</span>
</div>
<div class="q-pt-xs">
<span class="text-grey-6 q-pr-lg">{{$t('v101.scatteredOrder.lutiankefang')}}</span>
<span class="text-grey-9">
<template v-if="roomRateDetails.withOpenAirBath==0">{{$t('v101.scatteredOrder.wu')}}</template>
<template v-if="roomRateDetails.withOpenAirBath==1">{{$t('v101.scatteredOrder.you')}}</template>
<template v-if="parmResult.withOpenAirBath==0">{{$t('v101.scatteredOrder.wu')}}</template>
<template v-if="parmResult.withOpenAirBath==1">{{$t('v101.scatteredOrder.you')}}</template>
</span>
</div>
</div>
......@@ -59,54 +56,32 @@
</div>
<div class="q-pa-lg column">
<div class="row items-center q-mb-md">
<span class="text-grey-6">{{$t('v101.scatteredOrder.fangxingxinxi')}}</span>
<span class="text-grey-6 ScatteredOrderdDetail">{{$t('v101.scatteredOrder.dindanhao')}}</span>
<div class="q-pl-lg">
<span class="q-pr-lg">
{{roomRateDetails?getGradeType(roomRateDetails.gradeType):''}}{{roomRateDetails?getRoomType(roomRateDetails.roomType):''}}
</span>
<span>{{model.ThirdOrderNo}}</span>
</div>
</div>
<div class="row items-center q-mb-md">
<span class="text-grey-6">{{$t('v101.scatteredOrder.ruzhurenshu')}}</span>
<span class="text-grey-6 ScatteredOrderdDetail">{{$t('v101.scatteredOrder.fangxingxinxi')}}</span>
<div class="q-pl-lg">
<span>{{$t('v101.scatteredOrder.chengren')}} {{auditNum}} {{$t('v101.scatteredOrder.ren')}}</span>
<span class="q-pl-lg" v-if="childNum>0">{{$t('v101.scatteredOrder.ertong')}} {{childNum}} {{$t('v101.scatteredOrder.ren')}}</span>
<span class="q-pl-lg" v-if="isBaoChild">{{$t('v101.scatteredOrder.noertong')}}</span>
<span class="q-pr-lg">
{{parmResult?getGradeType(parmResult.gradeType):''}}{{parmResult?getRoomType(parmResult.roomType):''}}
</span>
</div>
</div>
<div class="row items-center q-mb-md">
<span class="text-grey-6">{{$t('v101.scatteredOrder.ruzhuriqi')}}</span>
</div>
<div class="row items-center q-mb-md">
<span class="text-grey-6">{{$t('v101.scatteredOrder.fangjianshuliang')}}</span>
<div class="q-pl-lg row items-center">
<span v-if="dataList.roomGroup">{{dataList.roomGroup.length}}</span>
<div class="relative-position q-ml-md">
<q-icon class="absolute text-orange-6" style="left: 0;top: 1px;width: inherit;" name="information" size="18px"></q-icon>
<span class="q-pl-lg">
{{$t('v101.scatteredOrder.jinsheng')}}
<span class="text-orange">{{dataList.currentAllotment}}</span>
{{$t('v101.scatteredOrder.jian')}}
</span>
</div>
<span class="text-grey-6 ScatteredOrderdDetail">{{$t('v101.scatteredOrder.ruzhuriqi')}}</span>
<div class="q-pl-lg row items-center" v-if="model.CheckIn&&model.CheckOut">
<span class="q-pr-lg">{{model.CheckIn.split('T')[0]}}</span>
<q-separator class="q-px-sm" color="dark"/>
<span class="q-pl-lg">{{model.CheckOut.split('T')[0]}}</span>
</div>
</div>
<div class="row no-wrap">
<span class="text-grey-6 row">{{$t('v101.scatteredOrder.fangfeiqingkuang')}}</span>
<div class="col q-pl-lg row wrap">
<template v-for="(item,index) in dataList.roomGroup">
<q-card flatv class="row items-end q-px-md q-pb-sm q-mr-md q-mb-md" v-for="subItem in item.rateGroup">
<div class="text-grey-9">{{subItem.stayDate}}</div>
<div class="q-ml-lg row items-end">
<span></span>
<span class="text-red text-weight-bold fz18 q-px-xs">
<span class="relative-position" style="top:3px">{{subItem.perAdultRateBySetCurrency?subItem.perAdultRateBySetCurrency:subItem.totalPerRoomRateBySetCurrency}}</span>
</span>
<span class="text-grey-6">/{{subItem.totalPerRoomRateBySetCurrency?$t('v101.scatteredOrder.wan'):$t('v101.scatteredOrder.ren')}}</span>
</div>
</q-card>
</template>
<div class="row items-center q-mb-md">
<span class="text-grey-6 ScatteredOrderdDetail">{{$t('v101.scatteredOrder.fangjianshuliang')}}</span>
<div class="q-pl-lg">
<span>{{model.Number}}</span>
</div>
</div>
</div>
......@@ -115,40 +90,37 @@
<div class="bg-light-blue-1 q-py-md q-px-lg fz14 rounded-borders row items-center justify-between">
<span class="text-weight-bold">{{$t('v101.scatteredOrder.ruzhuxinxi')}}</span>
</div>
<div class="q-px-lg q-py-lg">
<q-form
dense
class="row wrap"
>
<div class="col-6 row">
<span class="q-px-lg HotelSure-text"> {{$t('v101.scatteredOrder.ruzhushijian1')}}</span>
</div>
<div class="col-6 row">
<span class="q-px-lg HotelSure-text"> {{$t('v101.scatteredOrder.yudinren')}}</span>
<div class="q-pa-lg column">
<div class="row items-center q-mb-md">
<span class="text-grey-6 ScatteredOrderdDetail">{{$t('v101.scatteredOrder.yudinren')}}</span>
<div class="q-pl-lg">
<span>{{parmResult.guestLastName + parmResult.guestFirstName}}</span>
</div>
<div class="col-6 row">
<span class="q-px-lg HotelSure-text"> {{$t('v101.scatteredOrder.dangqiandizhi')}}</span>
</div>
<div class="row items-center q-mb-md">
<span class="text-grey-6 ScatteredOrderdDetail">{{$t('v101.scatteredOrder.dangqiandizhi')}}</span>
<div class="q-pl-lg">
<span>{{parmResultRoomInfo.guestAddress}}</span>
</div>
<div class="col-6 row">
<span class="q-px-lg HotelSure-text"> {{$t('v101.scatteredOrder.Email')}}</span>
</div>
<div class="row items-center q-mb-md">
<span class="text-grey-6 ScatteredOrderdDetail">{{$t('v101.scatteredOrder.Email')}}</span>
<div class="q-pl-lg">
<span>{{parmResultRoomInfo.guestEmail}}</span>
</div>
<div class="col-6 row">
<span class="q-px-lg HotelSure-text"> {{$t('v101.scatteredOrder.dianhua')}}</span>
</div>
<div class="row items-center q-mb-md">
<span class="text-grey-6 ScatteredOrderdDetail">{{$t('v101.scatteredOrder.dianhua')}}</span>
<div class="q-pl-lg">
<span>{{parmResultRoomInfo.guestPhoneNumber}}</span>
</div>
<div class="col-12 row">
<div class="col-6 row">
<span class="q-px-lg HotelSure-text"><span class="text-red"></span> {{$t('v101.scatteredOrder.kehuxuqiu')}}</span>
</div>
</div>
<div class="row items-center q-mb-md">
<span class="text-grey-6 ScatteredOrderdDetail">{{$t('v101.scatteredOrder.kehubeizhu')}}</span>
<div class="q-pl-lg">
<span>{{model.Remark}}</span>
</div>
</q-form>
</div>
</div>
</div>
</div>
......@@ -169,98 +141,26 @@
import { ApiResult } from 'src/@types/enumHelper'
export default defineComponent({
components: { },
props: {
HotelRow: {
type: Object,
require: false
},
hotelInfor: {
type: Object,
require: false
}
},
props: ['OrderID'],
emits:['close'],
setup(props, context) {
const { t } = useI18n()
const qDateProxy = ref(null) as any
const qDateProxy2 = ref(null) as any
const qDateProxy3 = ref(null) as any
const guestLastName = ref(null) as any
const guestFirstName = ref(null) as any
const guestAddress = ref(null) as any
const guestEmail = ref(null) as any
const guestPhoneNumber = ref(null) as any
const data = reactive({
params:{
// hotelId:'',
sort:1,
displayFrom:1,
arrivalDate:'',
departureDate:'',
searchroomGroup:[],
roomOptionCd: '',
imgUrl: ''
orderId: props.OrderID,
},
getParamsMsg:{} as any,
urlParamsMsg:{} as any,
model: {} as any,
parmResult: {} as any,
parmResultRoomInfo: {} as any,
loading: false,
roomRateDetails: {} as any,
dataList: {} as any,
//确认MSG参数
sureMsg:{
dataId:'',
hotelId:'',
totalRoomCount:'',
arrivalDate:'',
checkInTime:'',
departureDate:'',
roomOptionCd:'',
totalChargeableRateInfo:'',
totalPriceJapanese:'',
roomGroup:[] as Array<any>,
guestLastName:'',
guestFirstName:'',
guestAddress:'',
guestPhoneNumber:'',
guestEmail:'',
//备注
guestRequest:'',
CustomerId:0,
HotelName:'',
HotelPic:'',
EmployeeIdStr:'',
OldTotalPrice:0,
CustomerPayMoney:0,
DiscountMoney:0,
OrderSource:2,
OrderForm:1,
},
ischeckInTimeSure: false,
auditNum:0,
childNum:0,
TotalChildCount:0,//孩子能否报入
chekedChildCount:0,//选了的儿童数
isBaoChild: false,
SettlementPrice : 0,
price: 0,
pickerBeginDateBefore:'',//入住时间前可选范围
pickerBeginDateAfter:'',//入住时间后可选范围
RoomTypeList: [] as Array<HotelArea>,//房间等级
scatteredRoomTypeList: [] as Array<HotelArea>,//散客房间类型
WeekList: [] as Array<HotelArea>,//周一至周日
checkInWeek: '',//周一至周日
checkOutWeek: '',
})
data.getParamsMsg = JSON.parse(localStorage.getItem(DirtionmaryHelper.SCATTERED_HOTEL_ORDER))
// watch(
// () => data.urlParamsMsg.hotelId,
// (o, n) => {
//
// }
// )
data.RoomTypeList = useHotel.getHotelRoomType()
data.scatteredRoomTypeList = useHotel.getHotelScatRoom()
const methods = {
//获取房间等级
getRoomType(type) {
......@@ -323,12 +223,13 @@
},
initHotel() {
data.loading = true
let param = Object.assign(data.params,data.urlParamsMsg)
HotelService.GetHotelRoomsList(param)
let param = Object.assign(data.params)
HotelService.GetJAPANOrderDetail(param)
.then(r => {
if (r.data.resultCode == ApiResult.SUCCESS) {
data.dataList = r.data.data;
data.model = r.data.data.model
data.parmResult = r.data.data.parmResult
data.parmResultRoomInfo = r.data.data.parmResultRoomInfo
}
data.loading = false
}).catch(e => {
......@@ -337,71 +238,19 @@
})
},
}
methods.initHotel()
onMounted(()=>{
// methods.initHotel()
})
return { ...toRefs(data), ...methods,qDateProxy,qDateProxy2,qDateProxy3,guestLastName,guestFirstName,guestAddress,guestEmail,guestPhoneNumber }
return { ...toRefs(data), ...methods }
}
})
</script>
<style>
.HotelSure-text{
width: 120px;
}
.ischeckInTimeSure .q-field__control{
border: 1px solid red;
}
.commonSure .yhqUl{
padding:0 20px;
margin:20px 0;
}
.commonSure .icon-xuanzhong2{
color: #31AA21;
}
.commonSure .sawtooth:hover {
cursor: pointer;
}
.commonSure .yhqUl .blue{
background-color: #8794E2;
}
.commonSure .yhqUl .blue:hover{
background-color: #6776D2;
}
.commonSure .yhqUl .blue ._time{
color: #4C58A4 !important;
}
.commonSure .yhqUl ._active{
background-color: #D9A24D;
}
.commonSure .yhqUl .blue._active{
background-color: #6776D2;
}
.commonSure ._trip_xiangqing_tips{
color: red !important;
font-size: 14px !important;
}
.commonSure ._trip_xiangqing_tips span{
color: #3965B0;
cursor: pointer;
}
.commonSure .yhqImg{
position: absolute;
right: 80px;
top: 10px;
width: 50px;
height: 50px;
}
.commonSure .yhqImg img{
width: 100%;
height: 100%;
display: block;
}
.commonSure .yhqUl .disab{
background-color: #7d7d7d !important;
.ScatteredOrderdDetail{
width: 70px;
}
</style>
\ No newline at end of file
......@@ -737,6 +737,7 @@ export default {
Email: 'Email',
dianhua: '電話',
kehuxuqiu: '客戶需求',
kehubeizhu: '客戶备注',
fangjian: '房間',
chengrennan: '成人男',
chengrennv: '成人女',
......@@ -762,7 +763,8 @@ export default {
man: '滿',
shiyong: '使用',
youxiaoqi: '有效期',
notiaojian: '該優惠券不滿足使用條件!'
notiaojian: '該優惠券不滿足使用條件!',
dindanhao: '訂單號',
},
scatteredOrderList:{
state1: '待付款',
......
......@@ -8,6 +8,7 @@
</template>
<script lang="ts">
import Store from '../../store'
import { defineComponent, inject, provide, reactive, toRefs, onMounted } from 'vue';
import { currentRouter } from 'src/router'
import useMetaModule from '../../module/meta/metaModule'
......@@ -24,10 +25,13 @@ export default defineComponent({
const pageTitle = inject(DirtionmaryHelper.PAGE_TITLE_KEY) as any
pageTitle.value = t('hotelorder.pageTitle')
setTitle(pageTitle.value)
let CustomerId
if (localStorage.vuex && JSON.parse(localStorage.vuex).user?.userDetail) {
CustomerId = Store.state.user?.userDetail?.customerId
}
const search=reactive({
B2BSelectOrderState:0,
CustomerId: "",
CustomerId: '',
HotelName:''
})
// search.OrderId = currentRouter.currentRoute.value.params.orderId
......
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