Commit d3ed1754 authored by 罗超's avatar 罗超

提繳更新

parent d2ca652a
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
<link rel="icon" type="image/png" sizes="32x32" href="icons/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="32x32" href="icons/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="icons/favicon-16x16.png"> <link rel="icon" type="image/png" sizes="16x16" href="icons/favicon-16x16.png">
<link rel="icon" type="image/ico" href="favicon.ico"> <link rel="icon" type="image/ico" href="favicon.ico">
<script src="https://api.map.baidu.com/api?type=webgl&v=2.0&ak=OBd2bhrqKUSbQGpniCZ996suti9YG7Bc"></script>
</head> </head>
<body> <body>
<!-- quasar:entry-point --> <!-- quasar:entry-point -->
......
...@@ -11,7 +11,9 @@ export enum RoleType { ...@@ -11,7 +11,9 @@ export enum RoleType {
} }
export enum ApiResult{ export enum ApiResult{
'SUCCESS' = 1, 'SUCCESS' = 1,
'FAILED' = 0 'FAILED' = 0,
'TOKEN_INVALID' = 10000,
'TOKEN_ILLEGAL' = 10001,
} }
/** /**
* @description 常用异常结果常量定义 * @description 常用异常结果常量定义
......
...@@ -8,6 +8,9 @@ import router from '../router' ...@@ -8,6 +8,9 @@ import router from '../router'
// import Store from '../store' // import Store from '../store'
// import { Notify } from 'quasar' // import { Notify } from 'quasar'
import * as OpenCC from 'opencc-js' import * as OpenCC from 'opencc-js'
import { ApiResult } from 'src/@types/enumHelper';
import { dispatchAction } from 'src/store/utils';
import { UserActionsType } from 'src/store/modules/user/actions';
let {locale,t} =i18n.global let {locale,t} =i18n.global
let converterTW = OpenCC.Converter({ from: 'cn', to: 'tw' }) //转繁 let converterTW = OpenCC.Converter({ from: 'cn', to: 'tw' }) //转繁
let datas: AxiosResponse // 接收需要转繁数据 let datas: AxiosResponse // 接收需要转繁数据
...@@ -70,7 +73,7 @@ const getErrorCode2text = (response: AxiosResponse): string => { ...@@ -70,7 +73,7 @@ const getErrorCode2text = (response: AxiosResponse): string => {
*/ */
const service = Axios.create({ const service = Axios.create({
baseURL: process.env.BASE_APP_API, baseURL: process.env.BASE_APP_API,
timeout: 10000, timeout: 20000,
headers: { headers: {
'User-Type': 'bus', 'User-Type': 'bus',
'Content-Type': 'application/json;charset=UTF-8' 'Content-Type': 'application/json;charset=UTF-8'
...@@ -122,6 +125,11 @@ service.interceptors.response.use( ...@@ -122,6 +125,11 @@ service.interceptors.response.use(
/** 请求有响应 */ /** 请求有响应 */
async (response: AxiosResponse) => { async (response: AxiosResponse) => {
if (response.status === 200) { if (response.status === 200) {
if(response.data.resultCode == ApiResult.TOKEN_ILLEGAL || response.data.resultCode == ApiResult.TOKEN_INVALID){
//router.push('/auth/login')
dispatchAction<UserActionsType>('user', 'setUserSignout', null)
window.location.reload()
}
if(locale.value=='zhTW'){ if(locale.value=='zhTW'){
let stringifyData = converterTW(JSON.stringify(response)) let stringifyData = converterTW(JSON.stringify(response))
datas = JSON.parse(stringifyData) datas = JSON.parse(stringifyData)
......
...@@ -48,6 +48,16 @@ class HotelService { ...@@ -48,6 +48,16 @@ class HotelService {
return request('dict_post_GetMyCustomerOrderInfo', {OrderId}) return request('dict_post_GetMyCustomerOrderInfo', {OrderId})
} }
/**
* 獲取酒店訂單詳情
* @param hotelID 酒店編號
* @returns
*/
static async GetHotelDetail(hotelID: number): Promise<HttpResponse> {
return request('hotel_post_GetAll', {hotelID})
}
static async GetHasStockHotelList(): Promise<HttpResponse> { static async GetHasStockHotelList(): Promise<HttpResponse> {
let params={ let params={
IsMoreThanZero: 0, IsMoreThanZero: 0,
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<span class="din text-primary">{{HotelLength}}</span> <span class="din text-primary">{{HotelLength}}</span>
{{$t('hotel.car.title2')}} {{$t('hotel.car.title2')}}
</span> </span>
<div v-if="$q.platform.is.desktop" class="q-pa-sm" :class="{'draw-close':$q.platform.is.desktop,'draw-close-modile':$q.platform.is.mobile}"> <div v-if="$q.platform.is.desktop" v-close-popup class="q-pa-sm" :class="{'draw-close':$q.platform.is.desktop,'draw-close-modile':$q.platform.is.mobile}">
<q-icon name="close" size="26px"></q-icon> <q-icon name="close" size="26px"></q-icon>
</div> </div>
</div> </div>
......
...@@ -22,11 +22,11 @@ ...@@ -22,11 +22,11 @@
</template> </template>
<template v-slot:body="props"> <template v-slot:body="props">
<q-tr :props="props"> <q-tr :props="props">
<q-td style="width:200px;" class="cursor-pointer ListTable-title"> <q-td style="width:200px;" class="cursor-pointer ListTable-title" @click="showHotelDetailHandler(props.row.HotelId)">
<div class="ellipsis-3-lines" style="padding: 7px 16px;width: 200px;white-space: break-spaces;"> <div class="ellipsis-3-lines" style="padding: 7px 16px;width: 200px;white-space: break-spaces;">
{{ props.row.HotelName }} {{ props.row.HotelName }}
</div> </div>
<hotelCard class="ListTable-show" v-if="props.rowIndex==0"></hotelCard> <!-- <hotelCard class="ListTable-show" v-if="props.rowIndex==0"></hotelCard> -->
</q-td> </q-td>
<q-td> <q-td>
<div class="td-item">{{ $t('hotel.table.price') }}</div> <div class="td-item">{{ $t('hotel.table.price') }}</div>
...@@ -80,10 +80,10 @@ ...@@ -80,10 +80,10 @@
<hotel-price-list :hotel="queryHotelObj" @update:model-value="showOrderSubmitHandler"></hotel-price-list> <hotel-price-list :hotel="queryHotelObj" @update:model-value="showOrderSubmitHandler"></hotel-price-list>
</q-dialog> </q-dialog>
<q-dialog v-model="showOrderPreview" persistent> <q-dialog v-model="showOrderPreview" persistent>
<TableOperation :HotelRow="orderSubmitObj" :hotelInfor="orderSubmitItemObj" @close="showOrderPreview = false"></TableOperation> <table-operation :HotelRow="orderSubmitObj" :hotelInfor="orderSubmitItemObj" @close="showOrderPreview = false"></table-operation>
</q-dialog> </q-dialog>
<q-dialog v-model="showHotelDetails" persistent> <q-dialog v-model="showHotelDetails" persistent>
<hotelDetails></hotelDetails> <hotel-details :hotelId="showHotelDetailId"></hotel-details>
</q-dialog> </q-dialog>
</div> </div>
</template> </template>
...@@ -154,7 +154,8 @@ export default defineComponent({ ...@@ -154,7 +154,8 @@ export default defineComponent({
orderSubmitObj:{} as any, orderSubmitObj:{} as any,
orderSubmitItemObj:{} as any, orderSubmitItemObj:{} as any,
showOrderPreview: false, showOrderPreview: false,
showHotelDetails: true showHotelDetails: false,
showHotelDetailId: 0
}) })
...@@ -232,6 +233,10 @@ export default defineComponent({ ...@@ -232,6 +233,10 @@ export default defineComponent({
data.orderSubmitObj = row data.orderSubmitObj = row
data.orderSubmitItemObj = col data.orderSubmitItemObj = col
data.showOrderPreview = true data.showOrderPreview = true
},
showHotelDetailHandler(hotelId:number){
data.showHotelDetailId=hotelId
data.showHotelDetails = true
} }
} }
methods.calcDateRangeCols() methods.calcDateRangeCols()
......
...@@ -34,37 +34,20 @@ ...@@ -34,37 +34,20 @@
import { defineComponent, ref, reactive, toRefs, provide, onMounted, inject, watch, onBeforeUnmount, computed } from 'vue' import { defineComponent, ref, reactive, toRefs, provide, onMounted, inject, watch, onBeforeUnmount, computed } from 'vue'
import { useI18n } from 'vue-i18n' import { useI18n } from 'vue-i18n'
import useScrollModule from '../../../module/scrollbar/scrollModule' import useScrollModule from '../../../module/scrollbar/scrollModule'
import { DirtionmaryHelper } from '../../../config/dictionary'
import message from '../../../utils/message'
import { ApiResult } from '../../../@types/enumHelper'
import HotelService from '../../../api/hotel'
import { moneyFormat } from '../../../utils/tools'
import { useQuasar } from 'quasar' import { useQuasar } from 'quasar'
export default defineComponent({ export default defineComponent({
props: {}, props: {},
setup(props, context) { setup(props, context) {
const orderstatus = inject(DirtionmaryHelper.HOTEL_CAR_ORDER_STATUS) as any
const cars = inject(DirtionmaryHelper.HOTEL_CAR_LIST) as any
const editor = inject(DirtionmaryHelper.HOTEL_UPDATEHOTEL_CAR) as any
const { t } = useI18n() const { t } = useI18n()
const TCNumRef = ref(null) as any
const ContactNameRef = ref(null) as any
const ContactNumberRef = ref(null) as any
const $q = useQuasar() const $q = useQuasar()
const data = reactive({ const data = reactive({
scrollStyle:{} as any
}) })
data.scrollStyle = useScrollModule().scrollStyle data.scrollStyle = useScrollModule().scrollStyle
const info = ref(null)
const panning = ref(false)
// 今天购买数量
watch(cars.value, (n, o) => {
methods.getMoney()
})
const methods = { const methods = {
} }
return { ...toRefs(data), cars, TCNumRef, ContactNameRef, ContactNumberRef, ...methods, moneyFormat, info, panning,} return { ...toRefs(data), ...methods}
} }
}) })
</script> </script>
...@@ -82,4 +65,3 @@ ...@@ -82,4 +65,3 @@
text-overflow: ellipsis; text-overflow: ellipsis;
} }
</style> </style>
\ No newline at end of file
This diff is collapsed.
...@@ -34,7 +34,8 @@ ...@@ -34,7 +34,8 @@
<div class="row items-center justify-between"> <div class="row items-center justify-between">
<div class="f12 text-grey-6">{{ $t('hotelorder.search.orderNum') }}{{ x.OrderNo }}</div> <div class="f12 text-grey-6">{{ $t('hotelorder.search.orderNum') }}{{ x.OrderNo }}</div>
<div class="q-ml-md"> <div class="q-ml-md">
<q-btn color="dark" flat size="sm" :label="$t('hotelorder.copy')" v-if="copyId != x.OrderId" @click="setCopyHandler(x)" /> <q-btn color="dark" flat size="sm" :label="$t('hotelorder.copy')" v-if="copyId != x.OrderId"
@click="setCopyHandler(x)" />
<q-btn color="cyan" outline size="sm" :label="$t('hotelorder.copyed')" v-else></q-btn> <q-btn color="cyan" outline size="sm" :label="$t('hotelorder.copyed')" v-else></q-btn>
</div> </div>
</div> </div>
...@@ -193,30 +194,29 @@ ...@@ -193,30 +194,29 @@
<div class="q-mt-md f12 text-grey-6">{{ $t('noneData') }}</div> <div class="q-mt-md f12 text-grey-6">{{ $t('noneData') }}</div>
</div> </div>
<q-dialog v-model="PaymentDialog"> <q-dialog v-model="PaymentDialog">
<div class="rounded-borders bg-white q-px-lg q-pb-lg q-pt-lg" :style="{'width': $q.platform.is.desktop?'450px':'450px'}"> <div class="rounded-borders bg-white q-pb-lg q-pt-lg" style="width: 450px">
<div class="orderListDialog-title row justify-center q-pb-xs "> <div class="orderListDialog-title row justify-center q-pb-xs">
<span class="text-weight-bold">{{$t('hotelorder.dialog.title')}}</span> <span class="text-weight-bold">{{ $t('hotelorder.dialog.title') }}</span>
<q-icon class="orderListDialog-close text-grey" name="close" @click="PaymentDialog=false"></q-icon> <q-icon class="orderListDialog-close text-grey" name="close" @click="PaymentDialog = false"></q-icon>
</div> </div>
<div class="orderListDialog-bg column rounded-borders q-ma-lg q-py-lg q-px-lg"> <div class="orderListDialog-bg column rounded-borders q-ma-lg q-py-lg q-px-lg">
<div class="orderListDialog-img"> <div class="orderListDialog-img">
<div class="row items-end q-pb-md"> <div class="row items-end q-pb-md">
<span class="text-grey-3">{{$t('hotelorder.dialog.AccountName')}}:</span> <span class="text-grey-3">{{ $t('hotelorder.dialog.AccountName') }}:</span>
<span class="text-weight-bold text-white" style="font-size: 18px;">張三</span> <span class="text-weight-bold text-white" style="font-size: 18px">張三</span>
</div>
<div class="row items-center justify-between q-pb-sm">
<div>
<span class="text-grey-3">{{$t('hotelorder.dialog.account')}}:</span>
<span class="text-cyan-12 text-weight-bold" style="font-size: 18px;">7489327279423</span>
</div> </div>
<q-btn size="xs" color="cyan-12 q-ml-sm"> <div class="q-pb-sm" :class="{'row items-center justify-between':$q.platform.is.desktop}">
<span class="text-dark">{{$t('hotelorder.dialog.copy')}}</span></q-btn> <div :class="{'q-mb-sm':$q.platform.is.mobile,'col':$q.platform.is.desktop}" >
<span class="text-grey-3">{{ $t('hotelorder.dialog.account') }}:</span>
<span class="text-cyan-12 text-weight-bold din" style="font-size: 18px">7489 3272 7942 311</span>
</div >
<q-btn :class="{'q-ml-xl':$q.platform.is.mobile}" unelevated size="xs" class="bg-blue-11 text-white" v-if="copyId != -1" :label="$t('hotelorder.dialog.copy')" @click="setCopyHandler(null,'開戶名:張三,帳戶:7489 3272 7942 311')"></q-btn>
<q-btn :class="{'q-ml-xl':$q.platform.is.mobile}" icon="check" unelevated size="xs" class="bg-blue-11 text-white" :label="$t('hotelorder.copyed')" v-else></q-btn>
</div> </div>
</div> </div>
</div> </div>
<div class="row justify-center q-pb-lg q-px-lg q-mx-lg"> <div class="row justify-center q-pb-lg">
<span class="text-center text-grey-8 q-px-lg">{{$t('hotelorder.dialog.prompt')}}</span> <span class="text-center f12 text-grey-6 q-px-lg">{{ $t('hotelorder.dialog.prompt') }}</span>
</div> </div>
</div> </div>
</q-dialog> </q-dialog>
...@@ -232,7 +232,7 @@ import { RoomType, StandardStatus } from '../../../../@types' ...@@ -232,7 +232,7 @@ import { RoomType, StandardStatus } from '../../../../@types'
import { getHotelOrderStatus, getHotelRoomType, moneyFormat } from '../../../../utils/tools' import { getHotelOrderStatus, getHotelRoomType, moneyFormat } from '../../../../utils/tools'
import { useI18n } from 'vue-i18n' import { useI18n } from 'vue-i18n'
import svgIcon from '../../../global/svg-icon.vue' import svgIcon from '../../../global/svg-icon.vue'
import { useQuasar } from 'quasar' import { copyToClipboard, useQuasar } from 'quasar'
import { currentRouter } from '../../../../router' import { currentRouter } from '../../../../router'
import { UploadFileInfo } from 'naive-ui' import { UploadFileInfo } from 'naive-ui'
import { slice } from 'lodash' import { slice } from 'lodash'
...@@ -341,12 +341,6 @@ export default defineComponent({ ...@@ -341,12 +341,6 @@ export default defineComponent({
data.loading = false data.loading = false
}) })
}, },
setCopyHandler(order: any) {
data.copyId = order.OrderId
setTimeout(() => {
data.copyId = 0
}, 2000)
},
setShowWarnHander(id: number) { setShowWarnHander(id: number) {
data.expendsOrderId = id == data.expendsOrderId ? 0 : id data.expendsOrderId = id == data.expendsOrderId ? 0 : id
}, },
...@@ -370,35 +364,49 @@ export default defineComponent({ ...@@ -370,35 +364,49 @@ export default defineComponent({
handleFinish(options: { file: UploadFileInfo; event?: ProgressEvent }) { handleFinish(options: { file: UploadFileInfo; event?: ProgressEvent }) {
data.loading = false data.loading = false
let r = (options.event?.target as XMLHttpRequest).response let r = (options.event?.target as XMLHttpRequest).response
if(r){ if (r) {
let res=JSON.parse(r) let res = JSON.parse(r)
if(res.resultCode == ApiResult.SUCCESS && res.data){ if (res.resultCode == ApiResult.SUCCESS && res.data) {
methods.setGuestListHandler(res.data) methods.setGuestListHandler(res.data)
}else{ } else {
message.errorMsg(t('upload.failed')) message.errorMsg(t('upload.failed'))
data.loading=false data.loading = false
} }
}else{ } else {
message.errorMsg(t('upload.failed')) message.errorMsg(t('upload.failed'))
data.loading=false data.loading = false
} }
}, },
setGuestListHandler(url:string){ setGuestListHandler(url: string) {
HotelService.SetGuestFile(data.uploadOrderId,url).then(r=>{ HotelService.SetGuestFile(data.uploadOrderId, url)
if(r.data.resultCode == ApiResult.SUCCESS){ .then(r => {
if (r.data.resultCode == ApiResult.SUCCESS) {
message.successMsg(t('upload.success')) message.successMsg(t('upload.success'))
let order = data.orders.find(x=>x.OrderId==data.uploadOrderId) let order = data.orders.find(x => x.OrderId == data.uploadOrderId)
order.GuestFileList=[url] order.GuestFileList = [url]
}else{ } else {
message.errorMsg(t('upload.failed')) message.errorMsg(t('upload.failed'))
} }
data.loading=false data.loading = false
}).catch(r=>{ })
data.loading=false .catch(r => {
data.loading = false
message.errorMsg(r.message) message.errorMsg(r.message)
}) })
},
setCopyHandler(order: any,ctx?:string) {
if(ctx){
data.copyId = -1
copyToClipboard(ctx)
}else{
data.copyId = order.OrderId
copyToClipboard(order.OrderNo)
} }
setTimeout(() => {
data.copyId = 0
}, 2000)
},
} }
methods.init() methods.init()
......
<template> <template>
<q-card flat class="bg-white q-pa-none" <q-card flat class="bg-white q-pa-none light-shadow" style="border:1px solid #EEE"
style="shadow: 0px 0px 50px 0px rgba(82, 63, 105, 0.15)"
:style="{'width':$q.platform.is.desktop?'375px':'350px'}"> :style="{'width':$q.platform.is.desktop?'375px':'350px'}">
<div class="Notifications-bg"> <div class="Notifications-bg">
<div class="q-pa-lg row items-center"> <div class="q-pa-lg row items-center">
<span class="text-white text-weight-bold text-h6 q-mr-sm q-pl-sm">{{$t('Notifications.title')}}</span> <span class="text-white text-weight-bold text-h6 q-mr-sm q-pl-sm">{{$t('Notifications.title')}}</span>
<div class="text-grey-1 f12 q-pl-sm">24 {{$t('Notifications.subtitle')}}</div> <div class="text-grey-1 f12 q-pl-sm">0 {{$t('Notifications.subtitle')}}</div>
</div> </div>
</div> </div>
<div class="Notifications-height q-py-md"> <div class="Notifications-height q-py-md" style="display:none">
<q-scroll-area :thumb-style="scrollStyle.thumbStyle" :bar-style="scrollStyle.barStyle" class="full-height"> <q-scroll-area :thumb-style="scrollStyle.thumbStyle" :bar-style="scrollStyle.barStyle" class="full-height">
<q-list> <q-list>
<q-item v-for="(item,index) in menus" class="rounded-borders q-py-md"> <q-item v-for="(item,index) in menus" class="rounded-borders q-py-md">
...@@ -28,8 +27,12 @@ ...@@ -28,8 +27,12 @@
</q-item-section> </q-item-section>
</q-item> </q-item>
</q-list> </q-list>
</q-scroll-area> </q-scroll-area>
</div> </div>
<div class="text-center q-my-xl">
{{$t('noneNotify')}}
</div>
</q-card> </q-card>
</template> </template>
......
...@@ -14,6 +14,8 @@ export default { ...@@ -14,6 +14,8 @@ export default {
noneData: "沒有找到相關的數據", noneData: "沒有找到相關的數據",
loading: "正在加載數據", loading: "正在加載數據",
verified: '已認證', verified: '已認證',
noneFax:'無傳真信息',
noneNotify:'暫無通知消息',
personal:{ personal:{
pageTitle: "個人檔案", pageTitle: "個人檔案",
trading: '累積交易額', trading: '累積交易額',
...@@ -47,6 +49,17 @@ export default { ...@@ -47,6 +49,17 @@ export default {
"down":"下載", "down":"下載",
"reload":"重新上傳" "reload":"重新上傳"
}, },
hd:{
item:{
a:'入湯稅',
b:'城市稅',
c:'停車場',
d:'預約截止天數',
e:'是否含餐',
f:'酒店類型',
g:'設施服務'
}
},
dialog:{ dialog:{
titles:{ titles:{
hotel:"移除酒店警示", hotel:"移除酒店警示",
......
...@@ -57,10 +57,10 @@ ...@@ -57,10 +57,10 @@
<div class="col" :class="{'text-center q-mb-md':$q.platform.is.mobile}"> <div class="col" :class="{'text-center q-mb-md':$q.platform.is.mobile}">
<img src="../../assets/images/lg-logo.png" style="width:80%;" /> <img src="../../assets/images/lg-logo.png" style="width:80%;" />
</div> </div>
<div class="text-grey-6 text-weight-bold col" :class="{'text-right':$q.platform.is.desktop,'text-center':$q.platform.is.mobile}"> <!-- <div class="text-grey-6 text-weight-bold col" :class="{'text-right':$q.platform.is.desktop,'text-center':$q.platform.is.mobile}">
<span>{{$t("login.notaccess")}}</span> <span>{{$t("login.notaccess")}}</span>
<router-link :to="{ path: '/auth/regist' }" class="text-primary pfb text-subtitle">{{$t("login.registlink")}}</router-link> <router-link :to="{ path: '/auth/regist' }" class="text-primary pfb text-subtitle">{{$t("login.registlink")}}</router-link>
</div> </div> -->
</div> </div>
<div class="q-py-xxl full-width"> <div class="q-py-xxl full-width">
<div class="text-h3 text-weight-bold">{{$t("login.title")}}</div> <div class="text-h3 text-weight-bold">{{$t("login.title")}}</div>
......
...@@ -73,13 +73,13 @@ ...@@ -73,13 +73,13 @@
<div class="q-px-lg"> <div class="q-px-lg">
<div class="q-mt-lg row items-center"> <div class="q-mt-lg row items-center">
<div class="col-5 f12 text-grey-500">{{ $t('personal.TravelAgency') }}</div> <div class="col-5 f12 text-grey-500">{{ $t('personal.TravelAgency') }}</div>
<div class="col text-subtitle2">{{ customerInfo.customerName??$t('台灣雄獅旅行社') }}</div> <div class="col text-subtitle2">{{ customerInfo.customerName }}</div>
</div> </div>
</div> </div>
<div class="q-px-lg"> <div class="q-px-lg">
<div class="q-mt-lg row items-center"> <div class="q-mt-lg row items-center">
<div class="col-5 f12 text-grey-500">{{ $t('personal.post') }}</div> <div class="col-5 f12 text-grey-500">{{ $t('personal.post') }}</div>
<div class="col text-subtitle2">{{ customerInfo.contact??userInfo.name }}</div> <div class="col text-subtitle2">{{ customerInfo.contact }}</div>
</div> </div>
</div> </div>
<div class="q-px-lg"> <div class="q-px-lg">
...@@ -101,13 +101,13 @@ ...@@ -101,13 +101,13 @@
<div class="q-px-lg"> <div class="q-px-lg">
<div class="q-mt-lg row items-center"> <div class="q-mt-lg row items-center">
<div class="col-5 f12 text-grey-500">{{ $t('personal.LINEID') }}</div> <div class="col-5 f12 text-grey-500">{{ $t('personal.LINEID') }}</div>
<div class="col text-subtitle2 text-weight-bolder">{{ customerInfo.lineId ?? $t('091 004 022 9') }}</div> <div class="col text-subtitle2 text-weight-bolder">{{ customerInfo.lineId}}</div>
</div> </div>
</div> </div>
<div class="q-px-lg"> <div class="q-px-lg">
<div class="q-mt-lg row items-center"> <div class="q-mt-lg row items-center">
<div class="col-5 f12 text-grey-500">{{ $t('personal.Phone') }}</div> <div class="col-5 f12 text-grey-500">{{ $t('personal.Phone') }}</div>
<div class="col text-subtitle2 text-weight-bolder">{{ customerInfo.contactNumber ?? $t('+886 910040229') }}</div> <div class="col text-subtitle2 text-weight-bolder">{{ customerInfo.contactNumber }}</div>
</div> </div>
</div> </div>
<div class="q-px-lg"> <div class="q-px-lg">
......
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