Commit 0526bfbc authored by 罗超's avatar 罗超

修改冲突

parent ef0762cb
......@@ -14,6 +14,7 @@
<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/ico" href="favicon.ico">
<link rel="apple-touch-icon-precomposed" href="icons/favicon-128x128.png">
<script src="https://api.map.baidu.com/api?type=webgl&v=2.0&ak=OBd2bhrqKUSbQGpniCZ996suti9YG7Bc"></script>
</head>
<body>
......
{
"name": "bigwood",
"version": "0.0.1",
"description": "PIC 同業訂房網",
"productName": "PIC 同業訂房網",
"version": "1.0.0 beta.1",
"description": "PIC 同業網,日本直採地接資源一網打盡,用房、用車、用餐統統都有。在線報價,快速反饋我們時刻等待著您的到來。",
"productName": "PIC 同業網",
"author": "alex9012 <alex9012@vip.qq.com>",
"private": true,
"scripts": {
......@@ -30,6 +30,7 @@
"vue-i18n": "^9.2.2",
"vue-inline-svg": "next",
"vue-router": "^4.0.0",
"vue3-google-map": "^0.15.0",
"vuex": "^4.0.1",
"vuex-persistedstate": "^4.1.0"
},
......
......@@ -64,10 +64,13 @@ module.exports = configure(function (ctx) {
publicPath: ctx.dev ? '/' : './',
env: ctx.dev
? {
BASE_APP_API: 'http://192.168.10.11:8083/api/common/post'
BASE_APP_API: 'http://192.168.10.11:8083/api/common/post',
VERSION:require('./package.json').version,
}
: {
BASE_APP_API: 'https://reborn.oytour.com/api/common/post'
BASE_APP_API: 'https://reborn.oytour.com/api/common/post',
VERSION:require('./package.json').version
},
// extendWebpack(cfg, { isServer, isClient }) {
......@@ -111,7 +114,14 @@ module.exports = configure(function (ctx) {
devServer: {
https: false,
port: 8080,
open: true // opens browser window automatically
open: true, // opens browser window automatically
proxy: {
'/getCountry': {
target: 'https://api.map.baidu.com',
changeOrigin: true,
rewrite: (path) => path.replace(/^\/getCountry/, '')
}
}
},
// https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-framework
......
......@@ -120,7 +120,8 @@ export interface TeamMemberType {
export interface SitLang{
langName?:string,
langLocale?:string,
langIcon?:string
langIcon?:string,
quasarLang?:string
}
......
......@@ -6,13 +6,15 @@
import { defineComponent, onBeforeUnmount } from 'vue';
import { useQuasar,QSpinnerFacebook } from 'quasar'
import { useI18n } from 'vue-i18n'
import axios from 'axios';
import { DirtionmaryHelper } from './config/dictionary';
export default defineComponent({
name: 'App',
setup(props, context) {
const { t } = useI18n()
const $q = useQuasar()
let timer
let timer = null as any
onBeforeUnmount(() => {
if (timer !== void 0) {
clearTimeout(timer)
......@@ -34,11 +36,29 @@ export default defineComponent({
$q.loading.hide()
timer = void 0
}, 500)
},
getIp() {
if(localStorage.getItem(DirtionmaryHelper.USER_IN_COUNTRY)) return
localStorage.setItem(DirtionmaryHelper.USER_IN_COUNTRY,$q.lang.getLocale()=='zh-CN'?'CN':'WG')
// axios.get('https://ipv4.icanhazip.com/').then(async res => {
// let ip = res.data
// if (ip) {
// let url = `https://api.map.baidu.com/location/ip?ak=OBd2bhrqKUSbQGpniCZ996suti9YG7Bc&ip=${ip}&coor=bd09ll`
// if(process.env.NODE_ENV=='development'){
// url = `/getCountry/location/ip?ak=OBd2bhrqKUSbQGpniCZ996suti9YG7Bc&ip=${ip}&coor=bd09ll`
// }
// axios.get(url).then(async r => {
// localStorage.setItem(DirtionmaryHelper.USER_IN_COUNTRY,r.data.status==0 && r.data.address.indexOf('台湾')==-1?'CN':'WG')
// })
// }
// })
}
}
if(window.performance.navigation.type!=1){
methods.showLoading()
}
methods.getIp()
return { ...methods }
}
});
......@@ -52,23 +72,23 @@ export default defineComponent({
top: 0
bottom: 0
.light-shadow
box-shadow: 0px 0px 20px 0px rgba(76, 87, 125, 0.02) !important
box-shadow: 0px 0px 20px 0px rgba(76, 87, 125, 0.2) !important
@font-face
// 苹方字体
font-family: 'pf'
src: url('../assets/fonts/PingFangMedium.ttf') format('truetype')
src: url('./assets/fonts/PingFangMedium.ttf') format('truetype')
font-weight: normal
font-style: normal
@font-face
// 苹方加粗字体
font-family: 'pfb'
src: url('../assets/fonts/PingFangBold.ttf') format('truetype')
src: url('./assets/fonts/PingFangBold.ttf') format('truetype')
font-weight: normal
font-style: normal
@font-face
// 微软雅黑极细字体
font-family: 'msl'
src: url('../assets/fonts/MicrosoftYaHeiUISemilight.ttf') format('truetype')
src: url('./assets/fonts/mls.ttf') format('truetype')
font-weight: normal
font-style: normal
@font-face
......@@ -80,7 +100,7 @@ export default defineComponent({
@font-face
// 正常英文字体
font-family: 'Poppins'
src: url('../assets/fonts/Poppins-Regular.ttf') format('truetype')
src: url('./assets/fonts/Poppins-Regular.ttf') format('truetype')
font-weight: normal
font-style: normal
.pf
......
......@@ -66,6 +66,24 @@ class HotelService {
return request('hotel_post_GetHasStockHotelList', params)
}
/**
* 酒店温馨提示
* @param QStartDate 开始时间
* @returns
*/
static async GetHotelTips(QStartDate:string): Promise<HttpResponse> {
let params= {
"QStartDate":QStartDate,
"QEndDate":"",
"pageIndex":1,
"pageSize":100,
"currentPage":1,
"total":0,
"OpType":0
}
return request('hoteltip_get_GetPageList', params)
}
static async GetHotelList(param:any):Promise<HttpResponse>{
param.MaxPrice=param.MaxPrice&&param.MaxPrice!=''?param.MaxPrice:0
param.MinPrice=param.MinPrice&&param.MinPrice!=''?param.MinPrice:0
......
......@@ -128,7 +128,7 @@ export default defineComponent({
})
},
optionsFn(cd: any) {
return cd >= date.formatDate(date.addToDate(new Date(), { days: 15 }), 'YYYY/MM/DD')
return cd >= date.formatDate(date.addToDate(new Date(), { days: 20}), 'YYYY/MM/DD')
},
changearea(e: number, option: any, pathValues: Array<any>) {
search.Province = 0
......
......@@ -2,7 +2,7 @@
<q-card flat class="light-shadow rounded-border window-width q-pa-none">
<q-card-section class="q-pa-sm">
<div class="text-h6">{{ h.HotelName }}</div>
<div class="f12 text-grey-5">{{ search.StartDate }} {{ $t('hotel.col.zhi')}} {{ search.EndDate }} {{ $t('hotel.pricetips') }}</div>
<div class="f12 text-grey-5">{{ `${search.StartDate} ${$t('hotel.col.zhi')} ${search.EndDate}` }} {{ $t('hotel.pricetips') }}</div>
</q-card-section>
<div style="max-height: 60vh; overflow-y: auto" class="q-pa-sm">
<template v-for="x in h.subList">
......
<template>
<q-dialog v-model="show" persistent seamless>
<q-card style="width:40vw;min-width:375px;max-width:800px" class="light-shadow q-pb-md">
<q-card-section class="row items-center dialog-close">
<div class="text-h6 col">{{$t('v101.hotelTips')}}</div>
<div class="dialog-close">
<svg-icon icon="Navigation/Close.svg" :size="30" color="nav"></svg-icon>
</div>
</q-card-section>
<div style="max-height:50vh;overflow-y:auto;">
<div class="bg-grey-1 q-px-lg q-pt-sm rounded-borders q-mx-md">
<q-timeline color="primary" layout="dense">
<q-timeline-entry
:subtitle="x.CreateTimeStr"
color="orange"
icon="done_all"
v-for="x in tips"
>
<div v-html="x.TipContent"></div>
</q-timeline-entry>
<!-- <q-timeline-entry
subtitle="February 22, 1986"
color="orange"
icon="done_all"
>
<div>
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</div>
</q-timeline-entry> -->
</q-timeline>
</div>
</div>
<div class="text-center">
<q-btn color="primary" unelevated class="q-px-xl" :label="$t('v101.iknow')" v-close-popup />
</div>
</q-card>
</q-dialog>
</template>
<script lang="ts">
import { date } from "quasar";
import { ApiResult } from "src/@types/enumHelper";
import HotelService from "src/api/hotel";
import svgIcon from "src/components/global/svg-icon.vue";
import { DirtionmaryHelper } from "src/config/dictionary";
import { defineComponent, reactive, toRefs } from "vue";
export default defineComponent({
components: { svgIcon },
setup(props) {
const data=reactive({
show:false,
tips:[] as Array<any>
})
const methods = {
getHotelTips(){
let startDate = date.addToDate(new Date,{days:-20})
if(localStorage[DirtionmaryHelper.HOTEL_TIPS_LASTDATE]){
startDate = new Date(localStorage[DirtionmaryHelper.HOTEL_TIPS_LASTDATE])
}
HotelService.GetHotelTips(date.formatDate(startDate,'YYYY/MM/DD HH:mm:ss')).then(r=>{
if(r.data.resultCode==ApiResult.SUCCESS){
data.tips=r.data.data.pageData
data.tips.forEach((x:any)=>{
x.CreateTimeStr = date.formatDate(x.CreateTimeStr,'dddd MM/DD HH:mm')
})
data.show = data.tips.length>0
localStorage.setItem(DirtionmaryHelper.HOTEL_TIPS_LASTDATE,date.formatDate(new Date(),'YYYY/MM/DD HH:mm:ss'))
}
})
},
}
methods.getHotelTips()
return {
...toRefs(data),
...methods
}
}
})
</script>
<style>
.dialog-close svg g [fill]{
fill: rgb(161,165,183) !important;
cursor: pointer;
}
.dialog-close:hover svg g [fill]{
fill:var(--q-primary) !important;
}
</style>
......@@ -101,8 +101,8 @@ export default defineComponent({
data.scrollStyle = useScrollModule().scrollStyle
const search = inject(DirtionmaryHelper.HOTEL_QUERY_PARAM) as any
data.dateRange.to = date.formatDate(date.addToDate(new Date(), { days: 45 }), 'YYYY/MM/DD')
data.dateRange.from = date.formatDate(date.addToDate(new Date(), { days: 15 }), 'YYYY/MM/DD')
data.dateRange.to = date.formatDate(date.addToDate(new Date(), { days: 50 }), 'YYYY/MM/DD')
data.dateRange.from = date.formatDate(date.addToDate(new Date(), { days: 20 }), 'YYYY/MM/DD')
data.dateRangeFormat = `${data.dateRange.from} - ${data.dateRange.to}`
search.StartDate = data.dateRange.from
search.EndDate = data.dateRange.to
......@@ -169,7 +169,7 @@ export default defineComponent({
if (qDateProxy.value) qDateProxy.value.hide()
},
optionsFn(cd: any) {
return cd >= date.formatDate(date.addToDate(new Date(), { days: 15 }), 'YYYY/MM/DD')
return cd >= date.formatDate(date.addToDate(new Date(), { days: 20 }), 'YYYY/MM/DD')
},
changearea(e: number, option: any, pathValues: Array<any>) {
search.Province = 0
......
<template>
<q-card flat class="q-pa-lg" style="shadow: 0px 0px 50px 0px rgba(82, 63, 105, 0.15);" :style="{'width':$q.platform.is.desktop?'50vw':'100vw'}">
<div class="q-mb-xs">
<div class="">
<span class="text-primary text-h6">{{ parameters.HotelName }}</span>
<div class="" :class="{'row items':$q.platform.is.desktop}">
<span class="text-primary text-h6 col">{{ parameters.HotelName }}</span>
<div class="f12" :class="{'q-mt-sm':$q.platform.is.mobile}">
<span class="q-mr-md">
<q-icon name="check" size="18px" color="primary" v-if="hotelInfor.PriceList[0].PriceIsBreakfast==1" />
<q-icon name="close" size="18px" color="negative" v-else />
{{$t('dinner.a')}}
</span>
<span class="">
<q-icon name="check" size="18px" color="primary" v-if="hotelInfor.PriceList[0].PriceIsDinner==1" />
<q-icon name="close" size="18px" color="negative" v-else />
{{$t('dinner.c')}}
</span>
</div>
</div>
<div class="q-my-md rounded-borders q-pa-sm bg-yellow-1 row items-center justify-between">
<q-field stack-label :label="$t('hotel.inHouseDate')" class="text-primary" standout dense>
......
This diff is collapsed.
......@@ -2,7 +2,8 @@
import { Notify } from 'quasar'
import { i18n } from '../boot/i18n'
const AppConfig = {
$message: Notify
$message: Notify,
$version: process.env.VERSION
}
const StaticConfig = {
MaxPageSize: 1000,
......
......@@ -53,5 +53,15 @@ class DirtionmaryHelper {
* 酒店訂單數量
*/
static readonly HOTEL_CAR_ORDER_LENGTH = "hotelcarorderlength"
/**
* 酒店温馨提示最后更新时间
*/
static readonly HOTEL_TIPS_LASTDATE = "hoteltipslastdate"
/**
* 用户是否在中国
*/
static readonly USER_IN_COUNTRY = 'userincountry'
}
export { userDictionmary,DirtionmaryHelper }
......@@ -2,6 +2,7 @@ declare namespace NodeJS {
interface ProcessEnv {
NODE_ENV: string
VUE_ROUTER_MODE: 'hash' | 'history' | 'abstract' | undefined
VUE_ROUTER_BASE: string | undefined
VUE_ROUTER_BASE: string | undefined,
VERSION: string | undefined
}
}
......@@ -155,7 +155,7 @@ export default {
edit: '注文変更',
view: '詳細を見る'
},
paytype: {
payType: {
t1: '店で自己負担',
t2: '出発前の支払い'
},
......@@ -169,7 +169,7 @@ export default {
m: '小計',
noRoomNo: '予約番号',
noneTax: '税入',
pt: '支払い方法',
pt: '支払い方法'
},
search: {
status: '注文状態',
......@@ -182,12 +182,12 @@ export default {
contactInfo: '連絡先情報',
contactInfoHolder: '連絡先/連絡先を入力してください'
},
ordertype: {
orderType: {
default: 'あらゆるタイプ',
tour: 'チームオーダー',
guest: 'バラバラ予約'
},
orderstatus: {
orderStatus: {
normal: 'すべての注文',
apply: '待確認',
check: '確認した',
......@@ -195,21 +195,21 @@ export default {
sun: '損取り注文'
}
},
dayofweek: {
mon: '',
tues: '2',
wed: '3',
thur: '4',
fri: '5',
sat: '6',
sun: '日'
dayOfWeek: {
mon: '月曜',
tues: '火曜',
wed: '水曜',
thur: '木曜',
fri: '金曜',
sat: '土曜',
sun: '日'
},
notifications: {
Notifications: {
title: 'お知らせ',
subtitle: '新メッセージ',
more: 'もっと',
time: 'h'
},
},
hotel: {
newDateOrder: '新しい日',
newDateTips: '予約が必要な日を選んでください',
......@@ -237,7 +237,7 @@ export default {
},
car: {
shoppingTitle: 'ショッピングカート',
addshopping: '贊植贮金カート',
addShopping: '贊植贮金カート',
orderTitle: '注文',
people: '人',
between: '間',
......@@ -317,7 +317,7 @@ export default {
hight: '5つ星'
}
},
usermenu: {
userMenu: {
mypro: 'プロフィール',
myfinace: 'お願い書',
fapiao: '請求書',
......@@ -389,11 +389,23 @@ export default {
maxLengthPass: 'パスワードの長さは8 ~ 16桁',
updateResult: '新しいパスワードの設定に成功しました。すぐにアクセスできます',
resultBtn: 'すぐログイン'
}
},
//#endregion
//eg:
//#region v1.0.1
v101: {
downloadHands: '下載手佩本',
noneHands: '手佩書未生成',
hotelTips: 'ホテルの暖かい注意',
iknow: '私は知っている',
versionUpgrade: '記録更新',
comingsoon: 'これから始める',
comingsoonDesc: '我々はこの機能の開発を進めており,1ヶ月程度のサイクルでサービスを開始する予定である。ご支援ありがとうございます',
versonDetails: {
date: '2022/11/29',
content: ''
}
}
//#endregion
}
......@@ -196,13 +196,13 @@ export default {
}
},
dayOfWeek: {
mon: '1',
tues: '2',
wed: '3',
thur: '4',
fri: '5',
sat: '6',
sun: '7'
mon: '월요일',
tues: '화요일',
wed: '수요일',
thur: '목요일',
fri: '금요일',
sat: '토요일',
sun: '일요일'
},
Notifications: {
title: '통지',
......@@ -233,7 +233,7 @@ export default {
zuoji:'고정 전화',
chuanzhen:'팩스',
guanwang:'공식 웹사이트',
xiangqing1:'호텔 정보',
xiangqing:'호텔 정보',
},
car: {
shoppingTitle: '쇼핑 카트',
......@@ -389,11 +389,23 @@ export default {
maxLengthPass: '암호의 길이는 8-16자리 사이여야 한다',
updateResult: '새 비밀번호가 성공적으로 설정되었습니다,바로 로그인 가능합니다',
resultBtn: '지금 로그인'
}
},
//#endregion
//eg:
//#region v1.0.1
v101:{
downloadHands:'핸드북 다운',
noneHands:'손에 쥔 책은 태어나지 않았다',
hotelTips:'호텔 아늑한 알람',
iknow:'나는 이미 알고 있다',
versionUpgrade:'버전 업데이트',
comingsoon:'우리는 곧',
comingsoonDesc:'우리는이 기능을 개발하기 위해 노력하고 있으며, 1개월 정도의 주기를 예상하고 있다.당신의 지지에 감사 드립니다',
versonDetails:{
date:'2022/11/29',
content:''
}
}
//#endregion
}
......@@ -396,7 +396,16 @@ export default {
//#region v1.0.1
v101:{
downloadHands:'下載手佩書',
noneHands:'手佩書未生成'
noneHands:'手佩書未生成',
hotelTips:'酒店溫馨提醒',
iknow:'我已知曉',
versionUpgrade:'版本更新紀錄',
comingsoon:'我們即將推出',
comingsoonDesc:'我們正在努力推進此功能的開發,預期將在1個月左右的週期內完成上線。感謝您的支持',
versonDetails:{
date:'2022/11/29',
content:''
}
}
//#endregion
}
......@@ -3,6 +3,7 @@
<q-header reveal class="bg-white text-white q-px-md q-py-sm">
<q-toolbar>
<q-toolbar-title class="row items-center">
<div class="col row items-center">
<q-btn dense flat round @click="toggleLeftDrawer" class="mobile-only">
<svg-icon icon="Text/Menu.svg" :size="32"></svg-icon>
......@@ -10,6 +11,7 @@
<div class="mobile-only q-ml-md text-dark text-h6 text-weight-bold">PIC</div>
<div class="mls text-h6 text-dark desktop-only">{{childPageTitle}}</div>
</div>
<div class="bg-grey-2 rounded-borders q-px-md f12 text-grey-800 q-mr-md desktop-only">{{version}}</div>
<div class="rounded-borders header-item q-mr-lg">
<svg-icon color="grey" icon="design/component.svg" :size="25" :tips="$t('syslog')"></svg-icon>
</div>
......@@ -68,6 +70,8 @@ import Navs from '../components/layout/navs.vue'
import userInfo from "../components/layout/userInfo.vue";
import Notifications from "../components/layout/Notifications.vue";
import { DirtionmaryHelper } from '../config/dictionary'
import { env } from 'process'
import { AppConfig } from 'src/config/app'
export default {
components: { svgIcon, Navs,userInfo,Notifications },
setup() {
......@@ -78,6 +82,7 @@ export default {
scrollStyle: {} as any,
timer: 0,
isDadge: true,
version:''
})
const childPageTitle = ref('')
provide(DirtionmaryHelper.PAGE_TITLE_KEY ,childPageTitle)
......@@ -99,6 +104,7 @@ export default {
},200)
}, 1000);
})
data.version = AppConfig.$version
return {
...toRefs(data),
...methods,
......
<template>
<div class="fix-height-subpage column items-center justify-center bg-white">
<div class="text-center" style="width:350px;">
<q-img
src="../assets/images/jvs-log.png"
width="300px"
spinner-color="primary"
spinner-size="32px"
fill="cover"
/>
<div class="text-h6 q-mt-md text-grey-900">{{$t('v101.comingsoon')}}</div>
<div class="text-subtitle msl text-grey-500 q-mt-lg">{{$t('v101.comingsoonDesc')}}</div>
<q-img
src="../assets/images/chart-graph.png"
width="350px"
spinner-color="primary"
spinner-size="32px"
fill="cover"
/>
</div>
</div>
</template>
<script lang="ts">
export default {
}
</script>
<style>
</style>
<template>
<div class="row full-height">
<div class="col q-pa-xl fit row justify-center height">
<div style="width:450px;" class="column justify-between content-between">
<div class="row items-center">
......@@ -82,12 +82,13 @@ import svgIcon from '../../components/global/svg-icon.vue';
import UserService from '../../api/user';
import message from '../../utils/message';
import { ApiResult } from '../../@types/enumHelper';
import { useQuasar } from 'quasar';
export default defineComponent({
components: { svgIcon },
setup() {
let { setTitle } = useMetaModule()
const accountRef = ref(null)
const {locale,t } = useI18n();
setTitle(t("forget.pageTitle"))
......@@ -108,7 +109,7 @@ export default defineComponent({
if(data.loading) return
const accountRefVal=accountRef as any
console.log(accountRef.value)
accountRefVal.value.validate()
if(!accountRefVal.value.hasError){
data.loading=true
......@@ -133,6 +134,7 @@ export default defineComponent({
// 切换语言
getLanguage(val:SitLang) {
locale.value = val.langLocale??'';
localStorage.setItem('lanuage', val.langLocale??'')
}
}
......
......@@ -126,6 +126,7 @@ import useMetaModule from '../../module/meta/metaModule'
import { useI18n } from 'vue-i18n'
import { getLangs } from "../../utils/tools";
import { SitLang } from '../../@types';
import { useQuasar } from 'quasar';
export default defineComponent({
setup() {
//TODO: 缺陷,验证与提交应该使用Form表单来完成,不应该进行单个验证
......@@ -147,6 +148,7 @@ export default defineComponent({
// 切换语言
const getLanguage = (val:any) => {
locale.value = val.langLocale;
localStorage.setItem('lanuage', val.langLocale)
}
......
......@@ -4,6 +4,7 @@
<div class="col q-mt-md" :class="{'light-shadow q-pa-md bg-white rounded-border':$q.platform.is.desktop}">
<list-table></list-table>
</div>
<hotel-tips></hotel-tips>
</div>
</template>
......@@ -15,9 +16,10 @@ import { defineComponent, inject, provide, reactive, ref, toRefs } from 'vue'
import { DirtionmaryHelper } from '../../config/dictionary'
import ListHeader from '../../components/hotel/list/ListHeader.vue'
import ListTable from '../../components/hotel/list/ListTable.vue'
import HotelTips from '../../components/hotel/list/HotelTips.vue'
import { date } from 'quasar'
export default defineComponent({
components: { svgIcon, ListHeader, ListTable },
components: { svgIcon, ListHeader, ListTable, HotelTips },
setup() {
const data = reactive({})
let { setTitle } = useMetaModule()
......@@ -45,7 +47,7 @@ export default defineComponent({
const cacheCars = localStorage.getItem(DirtionmaryHelper.HOTEL_HOTELCARS_CACHE)
if(cacheCars){
let cacheCarArray = JSON.parse(cacheCars)//.filter((x:any)=>date.getDateDiff(new Date(x.Date),new Date(), 'days')>=15 )
let cacheCarArray = JSON.parse(cacheCars).filter((x:any)=>date.getDateDiff(new Date(x.Date),new Date(), 'days')>=20 )
HotelCarList.value = cacheCarArray
}
provide(DirtionmaryHelper.HOTEL_CAR_LIST, HotelCarList)
......@@ -58,9 +60,7 @@ export default defineComponent({
const menu=inject(DirtionmaryHelper.MENU_KEYS) as any
menu.value=2
const methods = {
}
const methods = {}
return {
...toRefs(data),
...methods
......
......@@ -436,8 +436,8 @@ export default defineComponent({
methods.cancelHotelCount()
},
optionsFn(cd: any) {
data.tempHotels.key = date.formatDate(date.addToDate(new Date(), { days: 15 }), 'YYYY/MM/DD')
return cd >= date.formatDate(date.addToDate(new Date(), { days: 15 }), 'YYYY/MM/DD') && data.order.DetailList.findIndex((x: any) => x.key == cd) == -1
data.tempHotels.key = date.formatDate(date.addToDate(new Date(), { days: 20 }), 'YYYY/MM/DD')
return cd >= date.formatDate(date.addToDate(new Date(), { days: 20 }), 'YYYY/MM/DD') && data.order.DetailList.findIndex((x: any) => x.key == cd) == -1
},
cancelHotelCount() {
data.order.HotelCount = 0
......
import { defineAsyncComponent } from 'vue'
import { RouteRecordRaw } from 'vue-router'
const MainLayout = defineAsyncComponent(()=>import('layouts/MainLayout.vue'))
const Index = defineAsyncComponent(()=>import('pages/Index.vue'))
const HotelList = defineAsyncComponent(()=>import('pages/hotel/HotelList.vue'))
const HotelOrder = defineAsyncComponent(()=>import('pages/hotel/HotelOrder.vue') )
const ModifyHotelOrder = defineAsyncComponent(()=>import('pages/hotel/ModifyHotelOrder.vue'))
const personal = defineAsyncComponent(()=>import('pages/personal/personal.vue'))
const login = defineAsyncComponent(()=>import('pages/auth/login.vue'))
const regist = defineAsyncComponent(()=>import('pages/auth/regist.vue'))
const forget = defineAsyncComponent(()=>import('pages/auth/forget.vue'))
const newpassword = defineAsyncComponent(()=>import('pages/auth/newpassword.vue'))
const Error404 = defineAsyncComponent(()=>import('pages/Error404.vue'))
const routes: RouteRecordRaw[] = [
{
path: '/index',
component: MainLayout,
component: () => import('layouts/MainLayout.vue'),
children: [
{ path: '', component: Index },
{ path: '/hotel', component: HotelList },
{ path: '/hotel/order/:orderId?', component: HotelOrder },
{ path: '/hotel/modify/:orderId', component: ModifyHotelOrder },
{ path: '/personal', component: personal }
{ path: '', component: () => import('pages/Index.vue') },
{ path: '/hotel', component: () => import('pages/hotel/HotelList.vue') },
{ path: '/hotel/order/:orderId?', component: () => import('pages/hotel/HotelOrder.vue') },
{ path: '/hotel/modify/:orderId', component: () => import('pages/hotel/ModifyHotelOrder.vue') },
{ path: '/personal', component: () => import('pages/personal/personal.vue')},
{ path: '/comingsoon', component: () => import('pages/ComingSoon.vue')}
]
},
{
path: '/auth/login',
component: login
component: () => import('pages/auth/login.vue')
},
{
path: '/auth/regist',
component: regist
component: () => import('pages/auth/regist.vue')
},
{
path: '/auth/forget',
component: forget
component: () => import('pages/auth/forget.vue')
},
{
path: '/auth/newpassword/:code',
component: newpassword
component: () => import('pages/auth/newpassword.vue')
},
// Always leave this as last one,
// but you can also remove it
{
path: '/:catchAll(.*)*',
component: Error404
component: () => import('pages/Error404.vue')
}
]
......
......@@ -41,13 +41,13 @@ const useMenus={
childs:[
{
name:t('menu.car.second'),
url:'',
url:'/comingsoon',
id:5,
parentId:4,
},
{
name:t('menu.car.three'),
url:'',
url:'/comingsoon',
id:6,
parentId:4,
}
......@@ -62,13 +62,13 @@ const useMenus={
childs:[
{
name:t('menu.ticket.second'),
url:'',
url:'/comingsoon',
id:8,
parentId:7,
},
{
name:t('menu.ticket.three'),
url:'',
url:'/comingsoon',
id:9,
parentId:7,
}
......@@ -83,13 +83,13 @@ const useMenus={
childs:[
{
name:t('menu.finance.second'),
url:'',
url:'/comingsoon',
id:11,
parentId:10,
},
{
name:t('menu.finance.three'),
url:'',
url:'/comingsoon',
id:12,
parentId:10,
}
......
......@@ -227,7 +227,8 @@ export function getHotelType():HotelType[]{
export function getLangs() {
const zhTw:SitLang={
langLocale:"zhTW",
langName:"中文繁体"
langName:"中文繁体",
quasarLang:'zh-TW'
}
const zhSw:SitLang={
langLocale:"zhSW",
......@@ -239,11 +240,13 @@ export function getLangs() {
}
const koHG:SitLang={
langLocale:"koHG",
langName:"한국어"
langName:"한국어",
quasarLang:'ko-KR'
}
const jaRB:SitLang={
langLocale:"jaRB",
langName:"日本語"
langName:"日本語",
quasarLang:'zh-TW'
}
let langs:SitLang[]=[]
// zhSw,enUs
......
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