Commit 597da35f authored by youjie's avatar youjie

根据域名渲染菜单

parent 59741d29
......@@ -3,11 +3,12 @@
</template>
<script lang="ts">
import { defineComponent, onBeforeUnmount } from 'vue';
import { defineComponent, onBeforeUnmount,provide } from 'vue';
import { useQuasar, QSpinnerFacebook } from 'quasar'
import { useI18n } from 'vue-i18n'
import axios from 'axios';
import { DirtionmaryHelper } from './config/dictionary';
import { getDomainName } from './utils/validate'
export default defineComponent({
name: 'App',
setup(props, context) {
......@@ -17,6 +18,10 @@ export default defineComponent({
if (localStorage.vuex) {
localStorage.clear()
}
// 存储当前域名
provide(DirtionmaryHelper.DOMAIN_NAME, getDomainName())
onBeforeUnmount(() => {
if (timer !== void 0) {
clearTimeout(timer)
......
import { boot } from 'quasar/wrappers'
import { createI18n } from 'vue-i18n'
import { getDomainName } from '../utils/validate'
import messages from 'src/i18n'
export type MessageLanguages = keyof typeof messages;
......@@ -20,9 +20,14 @@ declare module 'vue-i18n' {
// define the number format schema
export interface DefineNumberFormat {}
}
let Language
if(getDomainName()){
Language = localStorage.getItem('lanuage') ?? 'zhTW'
}else{
Language = localStorage.getItem('lanuage') ?? 'zhSW'
}
const i18n = createI18n({
locale: localStorage.getItem('lanuage') ?? 'zhTW',
locale: Language,
legacy: false,
warnHtmlInMessage:false,
warnHtmlMessage:false,
......
<template>
<div class="text-center">
<!-- <img src="../assets/images/lg-logo.png" style="height:200px;"/> -->
<img src="../assets/images/home.png" style="width: 50%;"/>
<img v-if="isDomainName_PIC" src="../assets/images/home.png" style="width: 50%;"/>
<img v-else src="../assets/images/home-hp.png" style="width: 50%;"/>
<!-- <div class="q-mt-lg text-h3 text-grey-4 text-center">歡迎使用PIC同業預定系統</div> -->
</div>
</template>
<script lang="ts">
import { defineComponent, PropType, computed, ref, toRef, Ref } from 'vue'
import { defineComponent, PropType, computed, reactive, toRefs, ref, toRef, Ref, inject } from 'vue'
import { Todo, Meta } from './models'
import { DirtionmaryHelper } from '../config/dictionary'
function useClickCount() {
const clickCount = ref(0)
......@@ -45,7 +47,14 @@ export default defineComponent({
}
},
setup(props) {
return { ...useClickCount(), ...useDisplayTodo(toRef(props, 'todos')) }
const data = reactive({
isDomainName_PIC:true
})
// 根据域名渲染logo
data.isDomainName_PIC = inject(DirtionmaryHelper.DOMAIN_NAME)
return { ...useClickCount(), ...useDisplayTodo(toRef(props, 'todos')),...toRefs(data), }
}
})
</script>
......@@ -37,7 +37,7 @@
</template>
<script lang="ts">
import { defineComponent, ref, reactive, toRefs, provide, onMounted } from 'vue'
import { defineComponent, ref, reactive, toRefs, provide, onMounted, inject } from 'vue'
import { useMenus, Menu } from '../../utils/menus'
import { getLangs } from "../../utils/tools";
import { SitLang } from '../../@types';
......@@ -46,6 +46,7 @@
import { UserActionsType } from '../../store/modules/user/actions';
import useScrollModule from '../../module/scrollbar/scrollModule'
import svgIcon from '../global/svg-icon.vue'
import { DirtionmaryHelper } from '../../config/dictionary';
export default defineComponent({
components: { svgIcon },
name: 'user-info',
......@@ -64,7 +65,13 @@
scrollStyle: {} as any,
})
data.scrollStyle = useScrollModule().scrollStyle
data.menus = useMenus.getMenus()
// 根据域名渲染菜单
const menList = useMenus.getMenus().filter(x=>{
return x.id == 16
})
data.menus = !inject(DirtionmaryHelper.DOMAIN_NAME)?menList:useMenus.getMenus()
data.langs=getLangs()
if(data.langs && data.langs.length>0){
data.currentLang = data.langs.find(x=> x.langLocale==locale.value) ?? {};
......
......@@ -5,9 +5,10 @@
</template>
<script lang="ts">
import { defineComponent,ref,reactive, toRefs } from 'vue'
import { defineComponent,ref,reactive, toRefs, inject } from 'vue'
import navItem from './nav-item.vue'
import { useMenus, Menu } from '../../utils/menus'
import { DirtionmaryHelper } from '../../config/dictionary';
export default defineComponent({
components: { navItem },
name: 'navs',
......@@ -15,7 +16,12 @@ export default defineComponent({
const data = reactive({
menus: [] as Menu[]
})
data.menus = useMenus.getMenus()
// 根据域名渲染菜单
const menList = useMenus.getMenus().filter(x=>{
return x.id == 16
})
data.menus = !inject(DirtionmaryHelper.DOMAIN_NAME)?menList:useMenus.getMenus()
return {...toRefs(data)}
}
......
......@@ -100,6 +100,10 @@ class DirtionmaryHelper {
/**
* 幸福存折详情
*/
static readonly PASSBOOK_DETAILS = "passbookDetails"
static readonly PASSBOOK_DETAILS = "passbookDetails"
/**
* 域名
*/
static readonly DOMAIN_NAME = "domainName"
}
export { userDictionmary,DirtionmaryHelper }
// This is just an example,
// so you can safely delete all default props below
export default {
failed: '执行失败',
success: '执行成功',
appsuffix: "PIC同业预定系统",
siteName: "同业预定系统",
lanuage: "系统语言",
loginout: '登录信息失效,请重新登录',
timeout: '当前网络环境异常,请求超时',
syslog: '系统升級告示',
sysmsg: '系统通知',
daterange: '请选择检索日期',
morequery: '更多筛选项',
query: '检索',
Notifications: {
title: '通知',
subtitle: '条新消息',
more: '更多',
time: 'h'
},
hotel: {
pageTitle: "酒店检索",
area: "检索区域",
searchName: '酒店名称'
},
userMenu: {
mypro: '个人档案',
myfinace: '请求书',
fapiao: '索取发票',
lang: '系统语言',
signOut: '登出'
},
menu: {
hotel: {
first: '酒店预定',
second: '酒店检索',
three: '酒店订单'
},
car: {
first: '车辆预定',
second: '车辆预定',
three: '用车订单'
},
ticket: {
first: '门票预定',
second: '门票检索',
three: '门票订单'
},
finance: {
first: '账单',
second: '月度请求书',
three: '汇款说明'
}
},
login: {
notaccess: "沒有同业会员账户?",
registlink: "申请注册",
title: "登入",
subTitle: "欢迎您的到来,开放急速采购",
account: "账户(EMail)",
password: "密码",
forgot: "忘记密码?",
signin: "登入",
pageTitle: "登入",
ruleTipsAccount: "请填写正确的邮箱账号",
ruleTipsPwd: "请填写密码",
formTips: "请填写登录信息",
success: "登陆成功"
},
forget: {
pageTitle: "忘记密码",
title: "忘记密码",
subtitle: "输入您的邮箱,以重置密码",
notaccess: "已经是会员了?",
registlink: "登录",
account: "账户(EMail)",
submit: "提交",
cancel: "取消",
goback: "返回",
mailResult: "邮件件已发送到您的邮箱,请根据邮件提示修改密码",
resultBtn: "我已知晓"
},
newpwd: {
pageTitle: "设置新密码",
title: "设置新密码",
subtitle: "为了您的账户安全,建议您定期修改密码",
notaccess: "你已经重置密码了吗?",
registlink: "登入",
pass: "新密码",
passTips: "使用8个或8个以上的字母、数字和符号的組合",
passvalidate: "请按照提示要求设置密码",
repeatPassvalidate: "两次输入密码不一致",
repeatPass: "再次输入密码",
notEmptyPass: '新密码最少为8位',
maxLengthPass: '密码长度应为8-16位',
updateResult: '新密码已经设置成功,可以立即登入',
resultBtn: "立即登入"
}
//#region ending v1.0.0
failed: '执行失败',
success: '执行成功',
appsuffix: 'PIC同业预定系统',
siteName: '同业预定系统',
lanuage: '系统语言',
loginout: '登录信息失效,请重新登录',
timeout: '当前网络环境异常,请求超时',
syslog: '系统升级告示',
sysmsg: '系统通知',
daterange: '请选择检索日期',
morequery: '更多筛选项',
query: '检索',
noneData: '没有找到相关的数据',
loading: '正在加载数据',
loading2: '加载中,请稍后~',
verified: '已认证',
noneFax: '无传真信息',
noneNotify: '暂无通知消息',
none: '无',
have: '有',
free: '免费',
before: '提前',
dinner: {
a: '早餐',
b: '午餐',
c: '晚餐'
},
hotelType: {
a: '商务酒店',
b: '豪华酒店',
c: '温泉酒店',
d: '海滨度假酒店'
},
personal: {
pageTitle: '个人档案',
trading: '累积交易额',
order: '订单数量',
cancel: '取消率',
ProfileDetails: '资料详情',
TravelAgency: '旅行社名称',
numbering: '统一编号(统编)',
LINEID: 'LINE ID',
Phone: '联络电话',
addreess: '办公地址',
Name: '姓名',
Email: '电邮',
post: '负责人',
profile: '概述',
security: '帐户安全',
accountUpdate: '帐户信息修改提示',
accountUpdateTips: '如果您需要修改以上预留的帐户资料,请联繫您与PIC对接业务人员进行修改',
resetPw: '修改密码',
cpw: '当前密码',
npw: '新密码',
rpw: '确认新密码',
subBtn: '确认修改',
cpwTips: '请输入当前密码',
updateSuccess: '密码修改成功,请重新登入',
photoSuccess: '头像设置成功'
},
upload: {
success: '上传成功',
failed: '上传失败',
down: '下载',
reload: '重新上传'
},
hd: {
item: {
a: '入汤税',
b: '城市税',
c: '停车场',
d: '预约截止天数',
e: '是否含餐',
f: '酒店类型',
g: '设施服务',
h: '温馨提醒'
}
},
dialog: {
titles: {
hotel: '移除酒店警示',
horder: '取消订单警示'
},
contents: {
hotel: {
t1: '你确定要移除',
t2: '的酒店'
},
horder: '你确定需要取消此订单吗?'
}
},
close: '关闭',
unit: {
jian: '间',
ren: '人',
jp: '日圆',
jpc: '円',
night: '晚',
jf: '间房',
day: '天'
},
expends: {
on: '展开',
off: '收起'
},
hotelm: {
pageTitle: '酒店订单变更',
otherRoom: '使用其他房型',
noneOther: '无其他可用房型',
save: '保存订单',
cancel: '取消订单'
},
hotelorder: {
dialog: {
title: '您的专属付款账户如下',
AccountName: '户名',
account: '账号',
prompt: '我们将会在您付款后的1-2个工作日内完成确认,确认后自动更新订单入款',
copy: '複制'
},
pay: {
t1: '出发前收款酒店,请您于 ',
t11: '前支付订金,并且于 ',
t12: ' 日前支付尾款',
t2: '到店自付酒店,需要您于 ',
t21: ' 前上传旅客名单'
},
hands: '手配费',
payinfo: '查看支付方式',
sendpay: '提缴付款凭证',
uploadGuest: '上传旅客名单',
pageTitle: '酒店订单',
recovery: '订单回收站',
copy: '複制',
copyed: '已複制',
createTime: '下订时间',
priceTips: '按照入住人数*房型单价=房型总价小计(不含税)',
people: '人数',
unitPrice: '单价',
xj: '小计',
orderMoney: '订单总金额',
payed: '已支付',
warn: '查看预定的注意事项',
taxed: '含税',
handFee: '手配费',
check: {
un: '未确认',
ok: '确认'
},
opera: {
normal: '订单操作',
cancel: '取消订单',
edit: '订单变更',
view: '查看详情'
},
payType: {
t1: '到店自付',
t2: '出发前付款'
},
col: {
hn: '酒店名称',
d: '入住日期',
r: '入住信息',
n: '订房号',
t: '城市税',
t2: '入汤税',
m: '小计',
noRoomNo: '订房号',
noneTax: '税入',
pt: '付款方式'
},
search: {
status: '订单状态',
orderNum: '订单编号',
daterange: '下单时间',
roomType: '酒店房型',
orderId: '订单流水号',
orderType: '订单类型',
tcNum: '组团号',
contactInfo: '联繫信息',
contactInfoHolder: '请输入联繫人/联繫电话'
},
orderType: {
default: '所有类型',
tour: '团队订房',
guest: '散拼订房'
},
orderStatus: {
normal: '全部订单',
apply: '待确认',
check: '已确认',
cancel: '已取消',
sun: '收损订单'
}
},
dayOfWeek: {
mon: '一',
tues: '二',
wed: '三',
thur: '四',
fri: '五',
sat: '六',
sun: '日'
},
Notifications: {
title: '通知',
subtitle: '条新消息',
more: '更多',
time: 'h'
},
hotel: {
newDateOrder: '新日期预定',
newDateTips: '请先选择需要预订的日期',
newHotelBtn: '选择酒店',
addRoomBtn: '操作',
addRoom: '选择',
groupPrice: '合计',
pageTitle: '酒店检索',
area: '检索区域',
searchName: '酒店名称',
hotelRate: '酒店星级',
minPrice: '最低价格',
maxPrice: '最高价格',
waringTips: '注意以下计费与报价均是按照人数进行计费',
inHouseDate: '入住日期',
inhouseDays: '共计',
bigTips: '本房型不同的酒店入住人数限制不同,系统默认该房型只能入住一人',
yg: '预计 ',
outbind: '超出现有的库存预定,我们会即时与酒店协商,请保证收讯通畅',
details: {
zuoji: '座机',
chuanzhen: '传真',
guanwang: '官网',
xiangqing: '酒店详情'
},
car: {
shoppingTitle: '购物车',
addShopping: '暂存购物车',
orderTitle: '订单',
people: '人',
between: '间',
submit: '确认下单',
tax: '税',
soup: '入汤',
OrderType: '订单类型',
TCNum: '组团号',
ContactName: '联系人名称',
ContactNumber: '联系人电话',
inputText: '请输入',
Remark: '备注',
scattered: '散客',
group: '团',
title: '本次行程',
title1: '天,入住',
title2: '个酒店',
subtitle: '酒店採购单',
sumPrice: '订单总金额'
},
shopping: {
labelNum: '房数',
peopleNum: '人数',
small: '数量不能小于',
big: '大于剩馀数嘚',
StandardRooms: '标间',
maxRooms: '大床间',
naturalRooms: '自然间',
ThreeRooms: '三人间',
driverRoom: '司机间',
only: '仅剩',
between: '间',
TheSelected: '已选'
},
pricetips: '酒店报价表',
buy: '预定',
table: {
price: '价格(标准间)',
ins: '总/用/剩',
confirm: '确认/预定',
limit: '超定'
},
rooms: {
default: '全部房型',
normal: '标准间',
big: '大床房',
sing: '自然单间',
three: '三人间',
driver: '司导间'
},
col: {
first: '酒店名称',
second: '价格&库存',
three: '总库存',
four: '价格',
five: '标准间价格',
low: '起',
ins: '库存',
sins: '剩馀库存',
uins: '已预订',
more: '更多房型报价',
noMore: '没有其他房型报价',
zhi: '至'
},
datetype: {
red: '红日',
pink: '旺季',
avg: '平日',
dan: '淡日',
spe: '特别日',
xing: '行前日'
},
rates: {
normal: '所有等级',
low: '三星或商务',
middle: '四星',
hight: '五星'
}
},
userMenu: {
mypro: '个人档案',
myfinace: '请求书',
fapiao: '索取发票',
lang: '系统语言',
signOut: '登出'
},
menu: {
hotel: {
first: '酒店预订',
second: '酒店检索',
three: '酒店订单'
},
scattered: {
first: '散客预定',
second: '酒店检索',
three: '酒店订单'
},
car: {
first: '车辆预定',
second: '车辆预定',
three: '用车订单'
},
ticket: {
first: '门票预订',
second: '门票检索',
three: '门票订单'
},
stroke: {
first: '预订行程',
second: '行程检索',
three: '行程预订'
},
finance: {
first: '帐单',
second: '月度请求书',
three: '汇款说明'
},
travel: {
first: '包机',
second: '包机服务',
three: '包机订单',
four: '包机结算',
}
},
travel: {
man: '成人数量',
addTitle: '新增/修改订单',
oldPeople: '老人数量',
childNeedBed:'儿童佔床',
children: '儿童人数',
ChirdNoNeedBedNum:'儿童不佔床',
NoNeedBed:'不佔床',
Baby:'婴儿',
BabyNum:'婴儿人数',
SingleRoomNum:'单房数量',
VisaNum:'签证数量',
OneSex:'单身男女',
male:'男',
woman: '女',
PredictRoomNum: '预计用房',
YSeatNum: '经济舱',
FSeatNum: '头等舱',
ESeatNum: '商务舱',
ContactName: '联繫人',
ContactMobile: '联繫人电话',
Remarks: '备注',
PreferPrice: '订单价格',
cancel: '取消',
submit: '确认',
pays: '已收金额',
startDate: '发团日期',
guestNum: '顾客数量',
unit_Price: '成交单价',
tC_Price: '本团单价',
tradeWay: '支付方式',
online: '线上',
notLine: '线下',
all: '不限',
notPay: '待收定金',
payed: '待收尾款',
orderStatus: '订单状态',
createDate: '创建日期',
payStatus: '支付状态',
id: '团号',
planInfo: '包机资讯',
groupInfo: '团队资讯',
airInfo: '航班资讯',
tmp: '暂定',
airSeatInfo: '团位资讯',
YSeat: '经济舱',
unUseNum: '剩馀',
CSeat: '商务舱',
FSeat: '头等舱',
priceInfo: '价格资讯',
midPrice: '中心价',
BabyChargePrice: '儿童附加费',
OldManChargePrice: '老人附加费',
VisaPrice: '签证',
SingleRoomPrice: '单房差',
OtherPrice: '杂费',
buy: '下单',
payOrder: '包机结算',
noData: '暂无数据',
ContactNamePay: '合作伙伴',
EntGuestNum: '已入名单人数',
GuestNum: '报名总人数',
PreferPricePay: '应收总金额',
Refund: '退款金额',
PlatformTax: '平台税金',
Income: '实收',
ZaiTuMoney: '在途金额',
DiscountMoney: '折扣金额',
RedEnvelopeMoney: '大红包抵扣金额',
DueInMoney: '代收总金额',
CommissionRate: '利润',
},
login: {
notaccess: '没有同业会员帐户?',
registlink: '申请注册',
title: '登入',
subTitle: '欢迎您的到来,开启急速採购',
account: '帐户(EMail/统编)',
password: '密码',
forgot: '忘记密码?',
signin: '登入',
pageTitle: '登入',
ruleTipsAccount: '请填写正确的帐号',
ruleTipsPwd: '请填写密码',
formTips: '请填写登陆信息',
success: '登陆成功'
},
forget: {
pageTitle: '忘记密码',
title: '忘记密码',
subtitle: '输入您的邮箱,以重置密码',
notaccess: '已经是会员了?',
registlink: '登入',
account: '帐户(EMail)',
submit: '提交',
cancel: '取消',
goback: '返回',
mailResult: '邮件已发送到您的邮箱,请根据邮件提示修改密码',
resultBtn: '我已知晓'
},
newpwd: {
pageTitle: '设置新密码',
title: '设置新密码',
subtitle: '为了您的帐户安全,建议您定期修改密码',
notaccess: '你已经重置密码了吗?',
registlink: '登入',
pass: '新密码',
passTips: '使用8个或8个以上的字母、数字和符号的组合',
passvalidate: '请按照提示要求设置密码',
repeatPassvalidate: '两次输入密码不一致',
repeatPass: '再次输入密码',
notEmptyPass: '新密码最少为8位',
maxLengthPass: '密码长度应为8-16位',
updateResult: '新密码已经设置成功,可以立即登入',
resultBtn: '立即登入'
},
//#endregion
//eg:
//#region v1.0.1
v101: {
downloadHands: '下载手佩书',
noneHands: '手佩书未生成',
hotelTips: '酒店温馨提醒',
iknow: '我已知晓',
versionUpgrade: '版本更新纪录',
comingsoon: '我们即将推出',
comingsoonDesc: '我们正在努力推进此功能的开发,预期将在1个月左右的週期内完成上线。感谢您的支持',
hotelRemark: '备注',
cancelRemark: '取消备注',
selfCancle: '客户自己取消了订单',
versonDetails: {
date: '2022/11/29',
content: ''
},
Listofquotation: {
pageTitle: '报价单',
baojiadan: '报价单',
dindanbaojia: '酒店订单报价',
zhutuanhao: '组团号',
lianxiren: '联繫人',
dindanhao: '订单号',
riqi: '日期',
HotelDate: '入驻时间',
HotelName: '酒店名称',
HotelInfor: '入驻信息',
xiaoji: '小计',
riben: '日本汇款账户(海外送金也可)',
heji: '合计',
col: {
t1: '行名',
t2: '支店名',
t3: '口座重别',
t4: '口座番号',
t5: '账户名',
t6: '银行住所',
t7: '银行邮变',
t8: '重新番号',
t9: '汇款日本账户后请及时告知信息,方便日本旅行社查询谢谢体谅',
},
btn: {
dayin: '打印',
xiaza: '下载',
cjfaipiao: '创建发票',
bjd: '报价单'
}
},
scattered: {
kefang: '客房',
chengren: '成人',
ertong: '儿童',
pingfen: '评分',
minpingfen: '最低评分',
maxpingfen: '最高评分',
zhusutype: '住宿类型',
jiudian: '酒店',
rishilg: '日式旅馆',
chuzubs: '出租别墅',
jiudiansw: '酒店/商务酒店',
jianyilgms: '简易旅馆/名宿/山间小屋',
HotelArea1: '东京都',
HotelArea2: '大坂府',
HotelArea3: '京都府',
HotelArea4: '爱知县',
HotelArea5: '秋田县',
HotelArea6: '青森县',
HotelArea7: '千叶县',
HotelArea8: '爱媛县',
HotelArea9: '福井县',
HotelArea10: '福冈县',
HotelArea11: '福岛县',
HotelArea12: '岐阜县',
HotelArea13: '群马县',
HotelArea14: '广岛县',
HotelArea15: '北海道',
HotelArea16: '兵库县',
HotelArea17: '茨城县',
HotelArea18: '石川县',
HotelArea19: '岩手县',
HotelArea20: '香川县',
HotelArea21: '鹿儿岛县',
HotelArea22: '神奈川县',
HotelArea23: '高知县',
HotelArea24: '熊本县',
HotelArea25: '三重县',
HotelArea26: '宫城县',
HotelArea27: '宫崎县',
HotelArea28: '长野县',
HotelArea29: '长崎县',
HotelArea30: '奈良县',
HotelArea31: '新泻县',
HotelArea32: '大分县',
HotelArea33: '冈山县',
HotelArea34: '冲绳县',
HotelArea35: '佐贺县',
HotelArea36: '崎玉县',
HotelArea37: '滋贺县',
HotelArea38: '岛根县',
HotelArea39: '静冈县',
HotelArea40: '枥木县',
HotelArea41: '德岛县',
HotelArea42: '鸟取县',
HotelArea43: '富山县',
HotelArea44: '和歌山县',
HotelArea45: '山形县',
HotelArea46: '山口县',
HotelArea47: '山梨县',
fangxingtype: '房型',
HotelRoom1: '单人床',
HotelRoom2: '双人间',
HotelRoom3: '大床房',
HotelRoom4: '三人间',
HotelRoom5: '四人间',
HotelRoom6: '日式房',
HotelRoom7: '日式+西式混合',
canxingtype: '餐饮',
HotelMeal1: '无餐',
HotelMeal2: '含早餐',
HotelMeal3: '含晚餐',
HotelMeal4: '包含早餐.晚餐',
liniantype: '理念',
HotelConcept1: '至外汇兑换处步行5分钟以内',
HotelConcept2: '车站步行5分钟以内',
HotelConcept3: '温泉',
HotelConcept4: '前台可兑换',
HotelConcept5: '到观光信息中心5分钟',
HotelConcept6: '露天浴池',
HotelConcept7: '自然式温泉',
HotelConcept8: '浊汤温泉',
HotelConcept9: '室外游泳池',
HotelConcept10: '去海滩步行5分钟的路程',
HotelConcept11: '停车场免费',
HotelConcept12: '室内浴池/大型浴池',
HotelConcept13: '包租浴池/包租露天浴池',
HotelConcept14: '11点之后退房',
HotelConcept15: '美容沙龙护理设备',
HotelConcept16: '有乒乓球台',
HotelConcept17: '瞭望式浴池',
HotelConcept18: '桑拿浴',
HotelConcept19: '喷流式气泡浴缸',
HotelConcept20: '按摩',
HotelConcept21: '出租滑雪用具',
HotelConcept22: '租赁滑板',
HotelConcept23: '有车接送',
jiudianName: '酒店名称',
anrenqi: '按人气排序',
anjiage: '按价格排序',
titleHeard1: '酒店名称',
titleHeard2: '酒店评分',
titleHeard3: '价格',
titleHeard4: '商标',
titleHeard5: '主题',
titleHeard6: '酒店地址',
titleHeard7: '操作',
qi: '起',
ziying: '自营',
jalan: 'jalan',
zhutifea1: '从车站步行5分钟',
zhutifea2: '有温泉',
zhutifea3: '离海滩5分钟',
zhutifea4: '退房11点以后',
xiangqing: '查看详情'
},
scatteredDetails: {
xiangqing: '酒店详情',
jiudianxinxi: '酒店信息',
miaoshu: '描述',
titlexinxi1: '接送服务',
titlexinxi2: '完善设施服务',
titlexinxi3: '房间类型和数量',
titlexinxi4: '客房网络连接',
titlexinxi5: '水疗',
titlexinxi6: '设施与服务',
InterTitle1: '客房网络连接',
InterTitle2: '拨号连线',
InterTitle3: '可连接LAN',
InterTitle4: '无线局域网',
InterTitle5: 'PC贷款',
InterTitle6: '免费接入网络',
shiwai: '室外',
wunei: '屋内',
zhengqiyu: '蒸汽浴',
nan: '男',
nv: '女',
hunyu: '混浴',
SpringText1: '露天温泉(也有男女(包括时间交替)·可借贷)',
SpringText2: '露天温泉(有男女也有(包括时间交替)·不能借贷)',
SpringText3: '露天温泉(男女中只有1个(包括混浴)、可以包租)',
SpringText4: '露天温泉(男女中只有一个(包括混浴),不能包租)',
SpringText5: '有包租浴室',
SpringText6: '阿米尼蒂:脸·手巾',
SpringText7: '阿米尼蒂:牙刷、牙膏',
SpringText8: '阿米蒂奇:浴巾',
SpringText9: '水芹菜:洗发水',
SpringText10: '阿姆尼蒂:林斯',
SpringText11: '阿米尼蒂:沐浴露',
SpringText12: '水黾:肥皂',
SpringText13: '亚健康:浴衣',
SpringText14: '艾尼蒂:睡衣',
SpringText15: '阿姆尼蒂:浴衣',
SpringText16: '足球运动员:吹风机',
SpringText17: '艾尼蒂:羽毛被褥',
SpringText18: '艾尼蒂:刮胡子',
SpringText19: '水黾:淋浴帽',
SpringText20: '阿米尼蒂:棉签',
SpringText21: '水黾:冲澡',
SpringText22: '石梳:梳子刷',
SpringText23: '他温泉浴:展望浴',
SpringText24: '其他:桑拿浴',
SpringText25: '其他:jazza',
SpringStatesTJ0: '没有条件',
SpringStatesTJ1: '有条件',
SpringStatesMF0: '免费',
SpringStatesMF1: '收费',
SpringStatesY1: '有',
ServicesText1: '浴室和厕所',
ServicesText2: '公共汽车厕所CD(有全室巴士)',
ServicesText3: '公共汽车厕所CD(有一部分巴士)',
ServicesText4: '公共汽车厕所CD(有全室厕所)',
ServicesText5: '公共汽车厕所CD(有一部分厕所)',
ServicesText6: '公共汽车厕所CD(所有厕所都没有)',
ServicesText7: '淋浴-免费(全室)',
ServicesText8: '淋浴-收费(全室)',
ServicesText9: '淋浴-免费(部分)',
ServicesText10: '淋浴-收费(部分)',
ServicesText11: '冷暖气-免费(全室)',
ServicesText12: '冷暖气-收费(全室)',
ServicesText13: '冷暖气-免费(部分)',
ServicesText14: '冷暖气-收费(部分)',
ServicesText15: '全室有空调(收费)',
ServicesText16: '部分客房有空调(免费)',
ServicesText17: '部分客房有空调(收费)',
ServicesText18: '没有空调',
ServicesText19: '全房间有暖气设备(免费)',
ServicesText20: '全部房间都有暖气(收费)',
ServicesText21: '部分客房供暖(免费)',
ServicesText22: '部分客房供暖(收费)',
ServicesText23: '没有暖气设备',
ServicesText24: '电视(免费)',
ServicesText25: '电视(收费)',
ServicesText26: '录像机(免费)',
ServicesText27: '录像机(收费)',
ServicesText28: '卫星广播(免费)',
ServicesText29: '卫星广播(收费)',
ServicesText30: '冰箱-有(带饮料的)',
ServicesText31: '空冰箱',
ServicesText32: '迷你酒吧',
ServicesText33: '祖邦煎锅(免费)',
ServicesText34: '祖邦煎锅(收费)',
fuheTJroom: '符合条件的房型',
ruzhuTime: '入住时间',
tuifangTime: '退房时间',
timeTis: '退房时间必须大于当前时间',
prompt: '超过13岁视为成人处理',
HotelMeal1: '无餐',
HotelMeal2: '含早餐',
HotelMeal3: '含晚餐',
HotelMeal4: '包含早餐.晚餐',
RoomType1: '标准',
RoomType2: '普通',
RoomType3: '经济',
RoomType4: '精品',
RoomType5: '豪华',
RoomType6: '套房',
HotelRoom1: '单人间',
HotelRoom2: '双人间',
HotelRoom3: '大床房',
HotelRoom4: '三人间',
HotelRoom5: '四人间',
HotelRoom6: '日式房',
HotelRoom7: '日式+西式混合',
HotelRoom8: '大床房(小型)',
HotelRoom9: '未知房型',
jinyan: '禁烟',
kexiyan: '可吸烟',
wuyushi: '无浴室',
youyushi: '有浴室',
iscan1: '无餐',
iscan2: '含早晚餐',
iscan3: '含早餐',
iscan4: '含晚餐',
Time1: '入住时间',
Time2: '最迟入住时间',
Time3: '最迟退房时间',
renju: '人均',
yuyue: '预约',
},
scatteredOrder: {
prompt1: '超过13岁视为成人处理',
prompt2: '预定成功后房间将为您整晚保留',
fangxing: '房型',
xiyan: '吸烟',
xiyan0: '禁烟',
xiyan1: '可吸烟',
cesuo: '厕所',
you: '有',
wu: '无',
lutiankefang: '露天客房',
orderamount: '订单总额',
renmingbi: '人民币',
youhui: '优惠',
shifu: '实付',
yudinxinx: '预定信息',
fangxingxinxi: '房型信息',
ruzhurenshu: '入住人数',
chengren: '成人',
ertong: '儿童',
noertong: '不能报儿童',
ren: '人',
ruzhuriqi: '入住日期',
ruzhushijian: '入住时间',
week1: '周一',
week2: '周二',
week3: '周三',
week4: '周四',
week5: '周五',
week6: '周六',
week7: '周日',
zhiqian: '之前',
zhihou: '之后',
fangjianshuliang: '房间数量',
jinsheng: '仅剩',
jian: '间',
fangfeiqingkuang: '房费情况',
wan: '晚',
ruzhuxinxi: '入住信息',
ruzhuxinxi1: '所填姓名需和入住时所持证件一致',
ruzhushijian1: '入住时间',
yudinren: '预定人',
xin: '姓',
ming: '名',
yingwen: '英文',
qingshuru: '请输入',
zhengque: '正确的',
dangqiandizhi: '当前地址',
Email: 'Email',
dianhua: '电话',
kehuxuqiu: '客户需求',
kehubeizhu: '客户备注',
fangjian: '房间',
chengrennan: '成人男',
chengrennv: '成人女',
ertongshu: '儿童数',
quxiao1: '没有通知取消',
quxiao2: '入住当日取消',
shouxufei: '手续费',
youhuixingxi: '优惠信息',
duihuan: '兑换',
youhuiquanduihuan: '优惠券兑换',
youhuiquanshiyong: '优惠券使用',
nokeyongyouhuiquan: '暂无可用优惠券',
xiadan: '下单',
Errorruzhushu: '入住人数与总入住数不匹配',
duihuanSuccess: '兑换成功',
xiadanSuccess: '下单成功',
jinxing1: '您还未进行',
jinxing2: '实名认证',
jinxing3: ',认证后可使用优惠券哦~如果已提认证申请,申请审核通过后即可使用优惠券!',
kediejia: '可叠加',
nodiejia: '不可叠加',
zhe: '折',
man: '满',
shiyong: '使用',
youxiaoqi: '有效期',
notiaojian: '该优惠券不满足使用条件!',
dindanhao: '订单号',
},
scatteredOrderList: {
state1: '待付款',
state2: '交易成功',
state3: '已取消',
first: '酒店名称',
table1: '酒店名称',
table2: '订单编号',
table3: '房间数',
table4: '总金额',
table5: '实付',
table6: '订单状态',
table7: '下单日期',
table8: '操作',
quxiaodindan: '取消订单',
youhui: '优惠',
xiangqing: '详情',
shankedinfang: '散客订房'
}
},
//#endregion
//#region v1.0.2
v102: {
ticket: {
nobj: '暂无报价,不能下单',
d: '日期',
jq: '景区名称',
hn: '票券名称',
sl: '数量',
starttime: '门票时间',
pageTitle: "票券检索",
name: '请输入景点名称',
toggleListType1: "列表模式",
toggleListType2: "卡片模式",
Japan: '日本',
stoppage: '停止如场',
recommendTime: '推荐游玩',
hour: '小时',
minutes: '分钟',
load: '图片加载失败',
showtt: {
t1: '共',
t2: '种票型',
load: '图加载失败',
showtt: {
t1: '共',
t2: '种票型'
},
},
buy: '立即订票',
shortBuy: '预订',
addr: '地址',
map: '地图',
jing: '景点',
detail: '景区详情',
d1: '开放时间',
d2: '景区特色',
d3: '交通说明',
d4: '温馨提醒',
d5: '预订须知',
preview: {
pageTitle: '订单预览'
},
ordertip: '请在游玩前一天的23:00前完成预订',
pt: '游玩日期',
tt: '选择票型',
ti: '票券信息',
bc: '购买张数',
gi: '取票方式',
zq: '自行取票',
yj: '邮寄票券',
dzp: '电子券',
zqs: '自行取票说明',
zqd: '自行前往指定位置取票,当您完成付款后我们将通过邮件通知您取票的门票讯息',
zqd1: '自取地址',
sj: '客人讯息',
youji: '邮寄讯息',
unit: '张',
sex: {
man: '男',
women: '女'
},
sjc: {
c1: '中文姓名',
c2: '英文姓名',
c3: '性别',
c4: '联络电话',
c5: '收件地址',
c6: '邮寄费'
},
sjcp: {
c1: '请输入中文姓名',
c2: '请输入英文姓名',
c4: '请输入联络电话',
c5: '请输入收件地址',
c6: '请输入邮寄费'
},
st: '结算帐单',
rtt: '退票限制',
rtc: '未消费随时可退,多张票订单不支持部分退款',
ms: '订票明细',
nt: '没有选择票券',
ds: '订单总额',
sb: '提交订单',
or: '订单备注',
zqa: '自取地址',
nzqa: '等待客服确认后,才能看到自取地址,我们将会第一时间通过邮件告知您',
nzqa1: '等待客服确认后,才能看到电子券,我们将会第一时间通过邮件告知您'
},
to: {
pageTitle: '票券订单列表',
ticketName: '景点名称',
Name: '客人名称',
qj: '取券方式',
qjc: '取件人姓名(中/英)',
qjp: '取件人电话',
ps: {
p1: '等待配送',
p2: '已配送'
},
m: {
t: '修改取件方式',
c: '取消修改',
s: '保存修改'
},
},
vehicle: {
pageTitle: '用车订单',
pageTitle2: '新增/编辑用车订单',
title: '客户订车确认单(小车)',
title1: "订车单位",
title2: "订车人",
title3: "接机信息",
title4: "去程航班",
title5: "回程航班",
title6: "用车人数",
title7: "开始日期",
title8: "行程天数",
title9: "用车类型",
title91: "用车信息",
title10: "导游信息",
title11: "团队信息",
title12: "创建时间",
title13: "车型选择",
title14: "接送机时间",
close: "取消",
travelvehicle: '行程用车',
strokestatus:{
d1: '待确认',
d2: '已确认',
d3: '已取消',
},
tatle: {
th1: '日期',
th2: '第几天',
th3: '用车类型',
th4: '行程信息',
th5: '操作',
th6: '删除',
},
add: '添加',
add2: '修改',
add3: '取消用车',
add4: '原因',
add5: '确定',
list: {
s1: '用车公司',
s2: '用车人',
s3: '团队名称',
s4: '请选择预定日期',
s5: '编辑',
s6: '状态',
s7: '是否确认',
s8: '申请报价',
s9: '报价详情',
s10: '确认报价',
},
list2: {
s1: '下单人',
s2: '下单时间',
s3: '订车公司',
s4: '订车人',
s5: '团体名称',
s6: '人数',
s7: '日期',
s8: '天数',
s9: '去程航班',
s10: '回程航班',
s11: '用车类型',
s12: '导游信息',
s13: '确认状态',
s14: '接机信息',
s15: '确认状态',
s16: '确认',
s17: '已确认',
s18: '确认人',
s19: '确认时间',
s20: '行程信息',
s21: '价格',
s22: '停车费',
s23: '司机住宿费',
s24: '小计',
s25: '合计',
s26: '备注',
s27: '注意事项',
s28: '状态',
s29: '手配费',
s30: '司机',
s31: '车牌号',
},
tabtitle0: '团队订单',
tabtitle1: '接机订单',
tabtitle2: '送机订单',
tabtitle3: '包车订单',
tuanduixinxi: '团队信息',
dindanxinxi: '订单信息',
di: '第',
tian: '天',
ms: '订单明细',
ds: '订单总天数',
nt: '没有订单信息',
zuo: '座',
nomoney: '暂未报价',
},
CharteredBus:{
jiesongdianfw: '接送点范围',
d: '点',
fw: '范围',
pageTitle: '车辆检索',
pageTitle2: '包车订单',
baochetype: '包车类型',
baochetype0: '不限',
baochetype1: '接机',
baochetype2: '送机',
baochetype3: '包车',
jiansuojichang: '检索机场',
qishirenshu: '起始人数',
jiezhirenshu: '截止人数',
jiageshenxu: '价格升序',
jiagejianxu: '价格降序',
baoche: '包车',
xiaoshi: '小时',
mianfeiquxiao: '天前可免费取消',
zuizaokeyudin:' 最早可预定',
detail: '产品详情',
d1: '产品介绍',
d2: '如何使用',
d3: '取消政策',
d4: '预订须知',
d5: '费用包含',
d6: '费用不包含',
d7: '行程时长',
baochexinxi: '信息',
ordertip: '请在出发前一天的23:00前完成预订',
pt: '日期',
tt: '选择车型',
jc: '选择机场',
bc: '购买辆数',
unit: '辆',
scfw: '上车范围',
gi: '订单信息',
lianluo: '联络',
chengke: '乘客',
hangban: '航班',
dida: '抵达',
chufa: '出发',
xunxi: '讯息',
nt: '没有选择车型',
rtt: '取消限制',
td: '团订',
bianji: '确定编辑',
sjc:{
c1: '姓名',
c1x: '姓',
c1m: '名',
c2: '电话',
c3: '性别',
c4: '联络方式',
c5: '上车地点',
c6: '下车地点',
c7: '选择预定时间',
c8: '预定时间',
c9: '航厦',
c10: '航空公司名称',
c11: '航班号',
c12: '航班抵达时间',
c13: '航班出发时间',
c14: '成人数',
c15: '儿童数',
c16: '婴儿数',
c17: '手提行李数',
c18: '托运行李数',
c19: '产品名称',
c20: '机场',
c21: '成人',
c22: '儿童',
c23: '婴儿',
c24: '上下车地点',
c25: '上车',
c26: '下车',
c27: '手提行李',
c28: '托运行李',
c29: '人员',
c30: '人',
c31: '行李',
},
sjcp:{
c1: '请输入姓',
c1m: '请输入名',
c2: '电话',
c3: '性别',
c4: '联络方式(Line号,WeChat号)',
c5: '请输入上车地点',
c6: '请输入下车地点',
c7: '请输入航厦',
c8: '请输入航空公司名称',
c9: '请输入航班号',
c10: '航班时间',
c11: '请输入成人数',
c12: '输入儿童数',
c13: '输入婴儿数',
c14: '输入手提行李数',
c15: '输入托运行李数',
}
},
},
//#endregion
//#region ending v1.0.3
v103: {
scheduledTrip:{
pageTitle: '行程检索',
screeningtitle: '筛选关键词',
searchinput: '搜寻关键词',
allcommoditytype: '所有商品类别',
screeningdate: '筛选出发日期',
screeningprice: '价钱筛选',
journeytime: '旅程时间',
experiencetrip: '项体验行程',
sort: '排序',
quickconfirmation: '急速确认',
residualvacancy: '剩馀空位',
daysoftravel: '行程天数',
day: '天',
above: '天以上',
recommend: '强力推荐',
ascendingorder: '团期',
descendingorder: '价格',
salesvolume: '销量',
commentcount: '评论数',
sightseeingitinerary: '观光行程',
daytrip: '半/一日游',
multiday: '多日游',
interval: '价格区间的最低价格不能低于最大价格',
since: '元起',
startdate: '出发日期',
closestartdate: '选择出发日期',
companylocation: '公司所在地',
line: '线路',
commlineteam: '商品系列',
lineteam: '系列',
closelineteam: '选择商品系列',
departurecity: '出发城市',
closedeparturecity: '选择出发城市',
orderStatus: {
normal: '全部订单',
apply1: '待付定金',
apply2: '待付尾款',
apply3: '待发团',
check: '交易完成',
cancel: '已取消',
},
orderStatusDay: {
normal: '全部',
day1: '10天内',
day2: '30天内',
day3: '60天内',
},
setout: '集合出发城市',
address: '集合详细地址',
time: '集合时间',
arrive: '返回抵达城市',
surplus: '剩余席位',
nosupport: '暂不支持候补',
passenger: '旅客资料',
month: '月'
},
scheduledTripDetails:{
pageTitle: '行程详情',
since: '起',
selectionscheme: '选择方案',
headerlabel:{
d1: '直营产品',
d2: '行程时间',
d21: '天',
d3: '日本语/中文 导览',
d4: '15天前可免费取消',
},
nooffer: '暂无报价',
selectdate: '选择日期、选项',
travelplan: '行程标准出行方案',
deselect: '取消选择',
choose: '选择',
earliest: '最早可预订日期',
thisscheme: '关于此方案',
confirmationtime: '6个工作日内(不含例休假)确认',
righttitle:{
d1: '行程特色',
d2: '行程介绍',
d3: '费用说明',
d31: '费用包含',
d32: '费用不含',
d4: '购买须知',
d5: '温馨提示',
d6: '取消政策',
d7: '所选日期 15 天(含)之前取消,收取手续费 0%',
d8: '所选日期 8 ~ 14 天之间取消,收取手续费 30%',
d9: '所选日期 4 ~ 7 天之间取消,收取手续费 50%',
d10: '所选日期 1 ~ 3 天之间取消,收取手续费 80%',
d11: '所选日期 0 ~ 0 天之间取消,收取手续费 100%',
d12: '注意由于站内商品来自全球各地,订单取消时间将依该供应商所在时区判定。供应商需 2-5 个工作天进行取消流程,依照您购买的商品取消政策收取手续费,并于取消流程完成后14 个工作天内退款。',
},
warnbuytext:{
d1: '未满 2 岁幼儿不占位可免费参加(不含座位,餐点,门票,床位),请先于下订时在“备注栏”告知。',
d2: '如需要单人房,请购买单房',
d3: '不占床2-11(包含)岁幼童可购买儿童价,如需占床请购买成人价',
d4: '12岁以上皆视同成人售价',
},
daily: '每日行程',
graphicmode: '图文模式',
calendarmode: '日曆模式',
calendarhtml:{
d1: '第',
d11: '天',
d2: '早餐',
d3: '午餐',
d4: '晚餐',
d5: '保证入住',
d6: '或同级别酒店',
},
calendartitle:{
d1: '行程',
d2: '用餐',
d3: '景点/场馆&活动',
d4: '酒店',
},
day:{
d1: '不含餐',
d2: '自理',
d3: '请选择',
d4: '自由活动',
d5: '含早餐',
d6: '含晚餐',
d7: '保证入住',
d8: '或同级别酒店'
},
traffice:{
d1: '从',
d2: ';再',
d3: '搭乘航班',
d4: '乘坐豪华巴士',
d5: '乘坐豪华邮轮',
d6: '乘坐高铁',
d7: '到达',
},
list:{
d1: '景点/场馆',
d2: '游玩',
d3: '推荐游玩',
d4: '小时',
d5: '分钟',
d6: '放鬆休息,细细品味身边的风景',
d7: '住宿',
d8: '入住',
d9: '我们会儘量保证入住行程所示酒店,不排除突发的意外情况造成无法入住,我们将会为您安排同级别的酒店,请您放心选购',
d10: '温馨提示',
d11: '感谢您的耐心阅读,',
},
style:{
nodata: '图片加载失败',
d1: '约',
d2: '小时',
d3: '分钟',
d4: '温馨提示',
d5: '本日无酒店安排',
d6: '或同级',
d7: '温馨的家',
d8: '机场附近酒店',
d9: '【保证入住】',
d10: '或同级',
},
dateoption: '选择日期、选项',
pleasedateoption: '请选择出发日期',
month: {
month1: '一月',
        month2: '二月',
        month3: '三月',
        month4: '四月',
        month5: '五月',
        month6: '六月',
        month7: '七月',
        month8: '八月',
        month9: '九月',
        month10: '十月',
        month11: '十一月',
        month12: '十二月',
},
reselect: '全部重选',
selectionquantity: '选择数量',
age: '岁',
each: '每人',
noroom: '不占床',
room: '占床',
cr: '成人',
et: '儿童',
ye: '婴儿',
yixia: '以下',
prompt: '本团只支持成人出游',
service: '单房服务',
singleroom: '独立单间住宿',
singleroom1: '单房间',
insurance: '保险服务费',
insurance1: '保险费',
total: '总金额',
book: '立即预定',
selectdatetop: '请选择上面的出行日期',
selectdateleft: '请选择左侧的出行日期',
people: '人',
visafee: '签证费',
miscellaneous: '杂费',
surcharge: '儿童附加费',
pricedifference: '单房差价',
itineraryDetails:{
gaiyao: '产品概要',
jiaotong: '往返交通',
zhusu: '酒店住宿',
gouwu: '购物',
gowushu: '个购物点',
nogouwu: '无购物行程',
tuanduirenshu: '团队人数',
jindian: '景点',
jindianshu: '个景点或场馆',
zifei: '自费项目',
zifeishu: '个自费项目',
nozifei: '无自费项目',
huodong: '自由活动',
huodongshu: '次自由活动',
canshi: '餐食'
},
starrating:{
d1: '一星酒店',
d2: '二星酒店',
d3: '三星酒店',
d4: '四星酒店',
d5: '五星酒店',
d6: '六星酒店',
d7: '七星酒店',
d8: '民宿',
d9: '温泉酒店',
},
smaple:{
d1: '人团队散拼',
d2: '一单一团',
d3: '自理',
d4: '请选择',
d5: '次',
d6: '无餐食供应',
d7: '飞机往返',
d8: '巴士往返',
d9: '邮轮往返',
d10: '高铁往返',
d11: '晚',
}
},
scheduledTripOrder:{
setorderday: '时间范围',
number: '团号',
passenger: '旅客',
total: '总金额',
hui: '优惠金额',
paid: '已付总额'
}
},
Airticket: {
Air_go:'去程',
Air_segment:'航段',
Air_returnTrip:'回程',
Air_transit:'中转',
},
system: {
query_flightNum:'航班号',
query_arrivalTime:'到达时间',
query_stopCity:'经停都市',
ph_flightTime:'起飞时间',
},
//#endregion
//#region ending v1.0.4
v104: {
passbook:{
pageTitle: '幸福存折',
available: '可用余额',
rules: '使用规则',
details: '使用明细',
return: '返回',
viewdetails: '查看明细',
titles:{
text1: '人头返佣',
text2: '线路数据占比',
text3: '线路占比',
text4: '订单来源',
text5: '大红包',
text6: '近半年收益',
text7: '时间选择',
text8: '选择月份',
text9: '本年累计交易总额',
text10: '累计收益',
text11: '当前交易额',
text12: '已激活,预计收益',
text13: '还差',
text14: '预计收益',
text15: '月交易额已达',
text16: '返',
},
col:{
title1: '订单',
title01: '信息',
title2: '系列',
title3: '人数',
title4: '返佣',
title5: '时间',
title6: '描述',
title7: '支出',
title8: '收入',
}
}
},
//#endregion
}
<template>
<q-layout view="lHh lpr lFf" style="background: #f5f8fa">
<q-header reveal class="bg-white text-white q-px-md q-py-sm">
<q-toolbar>
......@@ -37,7 +37,8 @@
<q-drawer show-if-above v-model="leftDrawerOpen" style="background: #1e1e2d; width: 265px" side="left" class="column">
<div style="box-sizing: border-box; height: 66px; border-bottom: 1px dashed #444" class="row items-center q-px-md desktop-only">
<img src="../assets/images/pic-log.png" alt="" style="height: 30px" />
<img v-if="isDomainName_PIC" src="../assets/images/pic-log.png" alt="" style="height: 30px" />
<img v-else src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1679454107000_656.png" alt="" style="height: 30px" />
<!-- <div class="text-white text-weight-bold text-subtitle1 q-ml-md">{{ $t('siteName') }}</div> -->
</div>
<q-scroll-area :thumb-style="scrollStyle.thumbStyle" :bar-style="scrollStyle.barStyle" class="col nav-list q-pl-lg">
......@@ -81,8 +82,8 @@ export default {
components: { svgIcon, Navs,userInfo,Notifications },
setup() {
const leftDrawerOpen = ref(false)
const data = reactive({
userInfo: {} as any,
leftDrawerOpen: false,
......@@ -90,8 +91,12 @@ export default {
timer: 0,
isDadge: true,
version:'',
isDomainName_PIC:true
})
// 根据域名渲染logo
data.isDomainName_PIC = inject(DirtionmaryHelper.DOMAIN_NAME)
const childPageTitle = ref('')
provide(DirtionmaryHelper.PAGE_TITLE_KEY ,childPageTitle)
const activeMenu=ref(0)
......@@ -101,9 +106,9 @@ export default {
// //console.log(getStoreGetter<UserGetter>('user', 'getUser'),'....')
// return getStoreGetter<UserGetter>('user', 'getUser')
// })
data.scrollStyle = useScrollModule().scrollStyle
const scrollAreaRef = ref()
const scrollArea = reactive({
pagesTop: 0
......@@ -114,7 +119,7 @@ export default {
scrollAreaRef.value.setScrollPosition('vertical', n, 100)
}
)
const methods = {
toggleLeftDrawer() {
data.leftDrawerOpen = !data.leftDrawerOpen
......
......@@ -4,7 +4,8 @@
<div style="width:450px;" class="column justify-between content-between">
<div :class="{'row':$q.platform.is.desktop,'column':$q.platform.is.mobile}">
<div class="col" :class="{'text-center q-mb-md':$q.platform.is.mobile}">
<img src="../../assets/images/jvs-log.png" style="width:80%;" />
<img v-if="isDomainName_PIC" src="../../assets/images/jvs-log.png" style="width:80%;" />
<img v-else src="http://imgfile.oytour.com/Upload/WebSite/202303170746500900000000054.png" style="width:80%;" />
</div>
</div>
<div class="q-py-xxl full-width">
......@@ -65,16 +66,18 @@
</template>
<script lang="ts">
import { defineComponent, reactive, ref } from 'vue'
import { defineComponent, reactive, ref, inject } from 'vue'
import useLgoinModule from '../../module/user/loginModule'
import useMetaModule from '../../module/meta/metaModule'
import { useI18n } from 'vue-i18n'
import { getLangs } from "../../utils/tools";
import { SitLang } from '../../@types';
import { useQuasar } from 'quasar';
import { DirtionmaryHelper } from '../../config/dictionary'
export default defineComponent({
setup() {
//TODO: 缺陷,验证与提交应该使用Form表单来完成,不应该进行单个验证
let { userModel, usernameRef, passwordRef, userValidateRule, loginSubmit, stateManager } = useLgoinModule()
let { setTitle } = useMetaModule()
......@@ -83,8 +86,13 @@ export default defineComponent({
setTitle(t("login.pageTitle"))
const data=reactive({
currentLang: {} as SitLang,
langs:[] as SitLang[]
langs:[] as SitLang[],
isDomainName_PIC:true
})
// 根据域名渲染logo
data.isDomainName_PIC = inject(DirtionmaryHelper.DOMAIN_NAME)
data.langs=getLangs()
if(data.langs && data.langs.length>0){
data.currentLang = data.langs.find(x=> x.langLocale==locale.value) ?? {};
......
import { SitLang, StandardStatus, RoomType, OrderType, DinnerType, HotelType, SendType } from './../@types/index';
import { i18n } from '../boot/i18n'
import { getDomainName } from '../utils/validate'
const {t} =i18n.global
/**
* @description 按照需要写入 必要可以注入全局
......@@ -356,7 +357,7 @@ export function moneyFormat (num:any, decimal = 2, split = ','):any {
var res = ''
var dotIndex = String(num).indexOf('.')
if (dotIndex === -1) { // 整数
res = thousandFormat(String(num)) + '.' + '0'.repeat(decimal)
res = thousandFormat(String(num)) + '.' + '0'.repeat(decimal)
} else {
const numStr = String((Math.round(num * Math.pow(10, decimal)) / Math.pow(10, decimal)).toFixed(decimal)) // 四舍五入,然后固定保留2位小数
const decimals = numStr.slice(dotIndex, dotIndex + decimal + 1) // 截取小数位
......@@ -469,7 +470,13 @@ export function getLangs() {
quasarLang:'zh-TW'
}
let langs:SitLang[]=[]
// zhSw,enUs
langs.push(zhTw,koHG,jaRB)
// 根据域名渲染简体
if(!getDomainName()){
langs.push(zhSw)
}else{
langs.push(zhTw,koHG,jaRB)
}
return langs
}
......@@ -33,19 +33,19 @@ export function validatAlphabetsName(str: string) {
return reg.test(str)
}
export function isEmail(account:string):boolean {
let serchfind:boolean;
let regexp = new RegExp(/^(([^<>()\[\]\\.,;:\[email protected]"]+(\.[^<>()\[\]\\.,;:\[email protected]"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);
serchfind = regexp.test(account);
return serchfind
export function isEmail(account:string):boolean {
let serchfind:boolean;
let regexp = new RegExp(/^(([^<>()\[\]\\.,;:\[email protected]"]+(\.[^<>()\[\]\\.,;:\[email protected]"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);
serchfind = regexp.test(account);
return serchfind
}
export function isPhone(account:string):boolean {
let serchfind:boolean;
export function isPhone(account:string):boolean {
let serchfind:boolean;
let regexp = new RegExp(/^((13|14|15|16|17|18|19)[0-9]{1}\d{8})$/);
serchfind = regexp.test(account);
return serchfind
}
serchfind = regexp.test(account);
return serchfind
}
/** 比对数组是否相同 */
export function compareArray(arrA: any[], arrB: any[]) {
......@@ -62,3 +62,15 @@ export function compareArray(arrA: any[], arrB: any[]) {
}
return isSame
}
/** 获取当前域名 localhost、pic.oytour.com、sell.oytour.com*/
export function getDomainName() {
let domainNameUrl = window.location.hostname;
if(domainNameUrl=='localhost'){
return true
}else if(domainNameUrl=='pic.oytour.com'){
return true
}else if(domainNameUrl=='sell.oytour.com'){
return false
}
}
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