Commit 8832469f authored by 罗超's avatar 罗超

修改

parent ce42cba9
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
"@types/webpack-env": "^1.16.2", "@types/webpack-env": "^1.16.2",
"axios": "^0.21.1", "axios": "^0.21.1",
"core-js": "^3.6.5", "core-js": "^3.6.5",
"echarts": "^5.6.0",
"html2canvas": "^1.4.1", "html2canvas": "^1.4.1",
"js-md5": "^0.7.3", "js-md5": "^0.7.3",
"katex": "^0.13.18", "katex": "^0.13.18",
......
...@@ -64,7 +64,7 @@ module.exports = configure(function (ctx) { ...@@ -64,7 +64,7 @@ module.exports = configure(function (ctx) {
publicPath: ctx.dev ? '/' : './', publicPath: ctx.dev ? '/' : './',
env: ctx.dev env: ctx.dev
? { ? {
BASE_APP_API: 'http://192.168.5.204:8030/api/common/post', BASE_APP_API: 'http://reborn.oytour.com/api/common/post',
JAVA_URL_API: 'http://efficient.oytour.com', JAVA_URL_API: 'http://efficient.oytour.com',
VERSION:require('./package.json').version, VERSION:require('./package.json').version,
......
import { HttpResponse } from '../@types'
import request from './request'
class NoticeService {
// 提交訂單
static async getNoticeList(param:any):Promise<HttpResponse>{
return request('User_get_NoticeGetPageList',param)
}
}
export default NoticeService
...@@ -22,9 +22,9 @@ declare module 'vue-i18n' { ...@@ -22,9 +22,9 @@ declare module 'vue-i18n' {
} }
let Language let Language
if (getDomainName()) { if (getDomainName()) {
Language = localStorage.getItem('lanuage') ?? 'inID' Language = localStorage.getItem('lanuage2') ?? 'enUS'
} else { } else {
Language = localStorage.getItem('lanuage') ?? 'inID' Language = localStorage.getItem('lanuage2') ?? 'enUS'
} }
const i18n = createI18n({ const i18n = createI18n({
locale: Language, locale: Language,
......
...@@ -115,7 +115,7 @@ export default defineComponent({ ...@@ -115,7 +115,7 @@ export default defineComponent({
getLanguage(val: SitLang) { getLanguage(val: SitLang) {
locale.value = val.langLocale ?? ""; locale.value = val.langLocale ?? "";
data.currentLang = val; data.currentLang = val;
localStorage.setItem("lanuage", val.langLocale ?? ""); localStorage.setItem("lanuage2", val.langLocale ?? "");
window.location.reload(); window.location.reload();
}, },
signOut() { signOut() {
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
}}</q-item-section> }}</q-item-section>
</q-item> </q-item>
<template v-if="user && user.groupId == 2"> <template v-if="user && user.groupId == 2">
<q-item clickable v-ripple class="rounded-borders lang-demo"> <!-- <q-item clickable v-ripple class="rounded-borders lang-demo">
<q-item-section> <q-item-section>
<div class="row items-center"> <div class="row items-center">
<div class="q-mr-md">{{ $t("userMenu.myfinace") }}</div> <div class="q-mr-md">{{ $t("userMenu.myfinace") }}</div>
...@@ -42,15 +42,15 @@ ...@@ -42,15 +42,15 @@
/> />
</div> </div>
</q-item-section> </q-item-section>
</q-item> </q-item> -->
<q-item clickable v-ripple class="rounded-borders lang-demo"> <q-item clickable v-ripple class="rounded-borders lang-demo">
<q-item-section>{{ $t("userMenu.fapiao") }}</q-item-section> <q-item-section>{{ $t("userMenu.fapiao") }}</q-item-section>
</q-item> </q-item>
<q-item clickable v-ripple class="rounded-borders lang-demo"> <!-- <q-item clickable v-ripple class="rounded-borders lang-demo">
<q-item-section @click="goUrl('/passbook')">{{ <q-item-section @click="goUrl('/passbook')">{{
$t("v104.passbook.pageTitle") $t("v104.passbook.pageTitle")
}}</q-item-section> }}</q-item-section>
</q-item> </q-item> -->
</template> </template>
</q-list> </q-list>
...@@ -119,7 +119,7 @@ export default defineComponent({ ...@@ -119,7 +119,7 @@ export default defineComponent({
if (data.langs && data.langs.length > 0) { if (data.langs && data.langs.length > 0) {
data.currentLang = data.langs.find((x) => x.langLocale == locale.value) ?? {}; data.currentLang = data.langs.find((x) => x.langLocale == locale.value) ?? {};
} }
console.log(props.user)
// 切换语言 // 切换语言
const methods = { const methods = {
goUrl(url: string) { goUrl(url: string) {
...@@ -128,7 +128,7 @@ export default defineComponent({ ...@@ -128,7 +128,7 @@ export default defineComponent({
getLanguage(val: SitLang) { getLanguage(val: SitLang) {
locale.value = val.langLocale ?? ""; locale.value = val.langLocale ?? "";
data.currentLang = val; data.currentLang = val;
localStorage.setItem("lanuage", val.langLocale ?? ""); localStorage.setItem("lanuage2", val.langLocale ?? "");
window.location.reload(); window.location.reload();
}, },
signOut() { signOut() {
......
<template> <template>
<div class="bg-white q-mt-lg" :style="{'margin':$q.platform.is.mobile?'0 10px':''}"> <div class="bg-white q-mt-lg" :style="{'margin':$q.platform.is.mobile?'0 10px':''}">
<rebatehead :title="titleHead"/> <rebatehead :title="titleHead"/>
<q-separator color="grey-3" class="q-my-sm" /> <q-separator color="grey-3" class="q-my-sm" />
<div class=" q-pt-md" <div class=" q-pt-md"
:class="[$q.platform.is.desktop?'q-px-lg':'q-px-md']"> :class="[$q.platform.is.desktop?'q-px-lg':'q-px-md']">
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<div class="self-center full-width no-outline" tabindex="0">{{ queryTime }}</div> <div class="self-center full-width no-outline" tabindex="0">{{ queryTime }}</div>
<q-popup-proxy cover transition-show="scale" <q-popup-proxy cover transition-show="scale"
:offset="[0, 7]" transition-hide="scale" ref="qDateProxy" > :offset="[0, 7]" transition-hide="scale" ref="qDateProxy" >
<q-date v-model="queryTime" mask="YYYY-MM" <q-date v-model="queryTime" mask="YYYY-MM"
reason="month" reason="month"
default-view="Months" default-view="Months"
default-year-month="2024-01" default-year-month="2024-01"
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
<q-separator color="grey-3" /> <q-separator color="grey-3" />
<div class="column"> <div class="column">
<template v-if="dataList&&dataList.length>0"> <template v-if="dataList&&dataList.length>0">
<div <div
v-for="(item,index) in dataList" v-for="(item,index) in dataList"
class="row items-center left-text text-dark"> class="row items-center left-text text-dark">
<div>{{item.updateTime}}</div> <div>{{item.updateTime}}</div>
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
</div> </div>
</template> </template>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
...@@ -95,7 +95,7 @@ ...@@ -95,7 +95,7 @@
const main = ref(); const main = ref();
const timeStamp = Date.now() const timeStamp = Date.now()
const formattedString = date.formatDate(timeStamp, 'MM') const formattedString = date.formatDate(timeStamp, 'MM')
const data=reactive({ const data=reactive({
dateRange: {} as any, dateRange: {} as any,
queryTime: '', queryTime: '',
...@@ -109,12 +109,12 @@ ...@@ -109,12 +109,12 @@
const methods = { const methods = {
dateRangeHandler(event) { dateRangeHandler(event) {
if(event&&event.year&&event.month){ if(event&&event.year&&event.month){
data.queryTime = event.year+'-'+(event.month>10?event.month:'0'+event.month) data.queryTime = event.year+'-'+(event.month>10?event.month:'0'+event.month)
} }
else data.queryTime = '' else data.queryTime = ''
if(qDateProxy.value) qDateProxy.value.hide() if(qDateProxy.value) qDateProxy.value.hide()
methods.getList() methods.getList()
}, },
getList(){ getList(){
let CustomerId let CustomerId
...@@ -127,7 +127,7 @@ ...@@ -127,7 +127,7 @@
// let list = r.data.data.pageData.forEach(item=>{ // let list = r.data.data.pageData.forEach(item=>{
// item.updateTime = date.formatDate(item.updateTime, 'YYYY/MM/DD') // item.updateTime = date.formatDate(item.updateTime, 'YYYY/MM/DD')
// }) // })
data.dataList= r.data.data.pageData; data.dataList= r.data.data.pageData;
} else { } else {
message.errorMsg(r.data.message) message.errorMsg(r.data.message)
} }
......
...@@ -15,8 +15,10 @@ class DirtionmaryHelper { ...@@ -15,8 +15,10 @@ class DirtionmaryHelper {
*/ */
static readonly MENU_KEYS='Current_Menu_Cehck' static readonly MENU_KEYS='Current_Menu_Cehck'
/**
* 公告彈窗數據
*/
static readonly NOTICE_DIALOG_DATA = 'noticeDialogData'
/** /**
* 菜單選項 * 菜單選項
*/ */
...@@ -33,7 +35,7 @@ class DirtionmaryHelper { ...@@ -33,7 +35,7 @@ class DirtionmaryHelper {
* 酒店查詢參數 * 酒店查詢參數
*/ */
static readonly HOTEL_QUERY_PARAM = 'hotelqueryparam' static readonly HOTEL_QUERY_PARAM = 'hotelqueryparam'
/** /**
* 道旅酒店查詢參數 * 道旅酒店查詢參數
*/ */
......
export default { export default {
lanuage: 'Language',
failed: 'Execution failed', failed: 'Execution failed',
success: 'Execution successful', success: 'Execution successful',
appsuffix: 'PIC Interbank Booking System', appsuffix: 'PIC Interbank Booking System',
siteName: 'Interbank Booking System', siteName: 'Interbank Booking System',
language: 'System language', language: 'Language',
loginout: 'Login information invalid, please log in again', loginout: 'Login information invalid, please log in again',
timeout: 'Current network environment is abnormal, request timeout', timeout: 'Current network environment is abnormal, request timeout',
syslog: 'System Upgrade Notice', syslog: 'System Upgrade Notice',
sysmsg: 'System notification', sysmsg: 'System notification',
daterange: 'Please select the retrieval date', daterange: 'Please choose a date',
morequery: 'More filtering options', morequery: 'More filtering options',
query: 'Search', query: 'Search',
noneData: 'No relevant data found', noneData: 'No relevant data found',
...@@ -33,19 +34,20 @@ export default { ...@@ -33,19 +34,20 @@ export default {
d: 'Seaside Resort Hotel' d: 'Seaside Resort Hotel'
}, },
personal: { personal: {
ProfileDetails: 'Detail Profile',
pageTitle: 'Personal Profile', pageTitle: 'Personal Profile',
trading: 'Accumulated transaction amount', trading: 'Accumulated transaction amount',
order: 'Order quantity', order: 'Order quantity',
cancel: 'Cancellation rate', cancel: 'Cancellation rate',
profileDetails: 'Data details', profileDetails: 'Data details',
travelAgency: 'Name of travel agency', TravelAgency: 'Travel Name',
numbering: 'Unified numbering (unified)', numbering: 'Unified numbering (unified)',
LINEID: 'LINE ID', LINEID: 'LINE ID',
Phone: 'Contact number', Phone: 'Contact number',
address: 'Office address', addreess: 'Address',
Name: 'Name', Name: 'Name',
Email: 'Email', Email: 'Email',
post: 'Responsible person', post: 'PIC',
profile: 'Overview', profile: 'Overview',
security: 'Account security', security: 'Account security',
accountUpdate: 'Account information modification prompt', accountUpdate: 'Account information modification prompt',
...@@ -134,12 +136,12 @@ export default { ...@@ -134,12 +136,12 @@ export default {
recovery: 'Order Recycle Bin', recovery: 'Order Recycle Bin',
copy: 'Copy', copy: 'Copy',
copyed: 'Copied', copyed: 'Copied',
createTime: 'Order time', createTime: 'Booking Time',
priceTips: 'Based on the number of occupants * unit price of room type=subtotal of total room type price (excluding tax)', priceTips: 'Based on the number of occupants * unit price of room type=subtotal of total room type price (excluding tax)',
people: 'Number of people', people: 'Number of people',
unitPrice: 'Unit price', unitPrice: 'Unit price',
xj: 'Sub', xj: 'Sub',
orderMoney: 'Total order amount', orderMoney: 'Total Amount',
payed: 'Paid', payed: 'Paid',
warn: 'View reserved precautions', warn: 'View reserved precautions',
taxed: 'including tax', taxed: 'including tax',
...@@ -173,7 +175,7 @@ export default { ...@@ -173,7 +175,7 @@ export default {
}, },
search: { search: {
status: 'Order status', status: 'Order status',
orderNum: 'Order number', orderNum: 'Booking Number',
daterange: 'Order placement time', daterange: 'Order placement time',
roomType: 'Hotel Room Type', roomType: 'Hotel Room Type',
orderId: 'Order serial number', orderId: 'Order serial number',
...@@ -256,7 +258,7 @@ export default { ...@@ -256,7 +258,7 @@ export default {
title1: 'Days, check-in', title1: 'Days, check-in',
title2: 'Hotels', title2: 'Hotels',
subtitle: 'Hotel Purchase Order', subtitle: 'Hotel Purchase Order',
sumPrice: 'Total order amount' sumPrice: 'Total Amount'
}, },
shopping: { shopping: {
labelNum: 'Number of rooms', labelNum: 'Number of rooms',
...@@ -321,7 +323,7 @@ export default { ...@@ -321,7 +323,7 @@ export default {
mypro: 'Personal profile', mypro: 'Personal profile',
myfinace: 'Request letter', myfinace: 'Request letter',
fapiao: 'Request invoice', fapiao: 'Request invoice',
lang: 'System Language', lang: 'Language',
signOut: 'Log out' signOut: 'Log out'
}, },
menu: { menu: {
...@@ -357,88 +359,120 @@ export default { ...@@ -357,88 +359,120 @@ export default {
three: 'Remittance instructions' three: 'Remittance instructions'
}, },
travel: { travel: {
first: 'PAK', first: 'Consrotium',
second: 'PAK group', second: 'Group Detail',
three: 'PAK order', three: 'Booking list',
four: 'PAK settlement', four: 'Settlement',
} },
notice: {
first: 'Announcement',
second: 'List',
}
}, },
notice: {
pageTitle: 'Announcement',
search: {
title: 'Announcement Title',
},
column: {
title: 'Announcement Title',
publisher: 'Publisher',
releaseDate: 'Release Date',
action: 'Action',
},
placeholder: {
title: 'Please enter the title',
},
view:'View',
detail: {
title: 'Announcement Details',
file: 'Attachment',
}
},
travel: { travel: {
status:{
normal:'All',
regular:'Regular',
reserve:'Reserve',
waiting:'Waiting List',
cancel:'Cancel'
},
start:'Departure', start:'Departure',
download:'Download itinerary', download:'Download itinerary',
returnMoney:'Current return amount', returnMoney:'Return Amount',
queryDetail:'View return details', queryDetail:'View Return Amount',
peopleRequired:'Number of people required', peopleRequired:'Number of People',
totalSeat:'Total team', totalSeat:'Total Seat',
ratio:'Return ratio', ratio:'Return Amount',
current:'Current', current:'Current',
people:'person', people:'person',
startCity:'Departure city', startCity:'Departure city',
man: 'Number of adults', man: 'Adult',
addTitle: 'Add/Modify Order', addTitle: 'Additional/Edit',
oldPeople: 'Number of elderly people', oldPeople: 'Number of elderly people',
childNeedBed: 'Children occupying beds', childNeedBed: 'Child w bed',
children: 'Number of children', children: 'Child',
ChirdNoNeedBedNum: 'Children do not occupy beds', ChirdNoNeedBedNum: 'Child w/o bed',
NoNeedBed: 'No bed occupied', NoNeedBed: 'Child w/o bed',
Baby: 'Baby', Baby: 'Infant',
BabyNum: 'Number of Babies', BabyNum: 'Infant',
SingleRoomNum: 'Number of rooms per unit', SingleRoomNum: 'Total Single Room',
VisaNum: 'Number of visas', VisaNum: 'Visa',
OneSex: 'Single men and women', OneSex: 'Additional Person',
male: 'Male', male: 'Male',
woman: 'Female', woman: 'Female',
PredictRoomNum: 'Expected room usage', PredictRoomNum: 'Total Room',
YSeatNum: 'Economy Class', YSeatNum: 'Economy Class',
FSeatNum: 'First Class', FSeatNum: 'First Class',
ESeatNum: 'Business Class', ESeatNum: 'Business Class',
ContactName: 'Contact', ContactName: 'Contact',
ContactMobile: 'Contact phone number', ContactMobile: 'Contact phone number',
Remarks: 'Remarks', Remarks: 'Remarks',
PreferPrice: 'Order price', PreferPrice: 'Total Amount',
cancel: 'Cancel', cancel: 'Cancel',
submit: 'Confirm', submit: 'Confirm',
pays: 'Received amount', pays: 'Receive Amount',
startDate: 'Departure date', startDate: 'Departure date',
guestNum: 'Number of customers', guestNum: 'Total Pax',
unit_Price: 'Transaction Unit Price', unit_Price: 'Final Price',
tC_Price: 'Unit price of this group', tC_Price: 'Selling Price',
tradeWay: 'Payment method', tradeWay: 'Payment method',
online: 'Online', online: 'Online',
notLine: 'Offline', notLine: 'Offline',
all: 'unlimited', all: 'All',
notPay: 'Deposit to be collected', notPay: 'Deposit to be collected',
payed: 'Pending final payment', payed: 'Pending final payment',
orderStatus: 'Order status', orderStatus: 'Booking Status',
createDate: 'Creation date', createDate: 'Booking Date',
payStatus: 'Payment Status', payStatus: 'Payment Status',
id: 'Team ID', id: 'Code Group',
planInfo: 'Charter flight information', planInfo: 'Charter flight information',
groupInfo: 'Team Information', groupInfo: 'Team Information',
airInfo: 'Flight information', airInfo: 'Flight information',
tmp: 'tentative', tmp: 'tentative',
airSeatInfo: 'Location information', airSeatInfo: 'Seat lnformation',
YSeat: 'Economy Class', YSeat: 'Economy Class',
unUseNum: 'Remaining', unUseNum: 'Seat Availability',
CSeat: 'Business Class', CSeat: 'Business Class',
FSeat: 'First Class', FSeat: 'First Class',
priceInfo: 'Price information', priceInfo: 'Price information',
midPrice: 'Center Price', midPrice: 'Consortium Price',
BabyChargePrice: "Children's Surcharge", BabyChargePrice: "Children's Surcharge",
OldManChargePrice: 'Elderly Surcharge', OldManChargePrice: 'Elderly Surcharge',
VisaPrice: 'Visa', VisaPrice: 'Visa',
SingleRoomPrice: 'Single room price difference', SingleRoomPrice: 'Single Supplement',
OtherPrice: 'Miscellaneous fees', OtherPrice: 'Other',
buy: 'Place an order', buy: 'Booking',
payOrder: 'Charter flight settlement', payOrder: 'Settlement',
noData: 'There is currently no data available', noData: 'There is currently no data available',
ContactNamePay: 'Partner', ContactNamePay: 'Partner',
EntGuestNum: 'Number of people on the list', EntGuestNum: 'Name List Receive',
GuestNum: 'Total number of registrations', GuestNum: 'Total Registration',
PreferPricePay: 'Total amount receivable', PreferPricePay: 'Total amount receivable',
Refund: 'Refund amount', Refund: 'Refund amount',
PlatformTax: 'Platform Tax', PlatformTax: 'Platform Tax',
Income: 'Received', Income: 'Receive',
ZaiTuMoney: 'In transit amount', ZaiTuMoney: 'In transit amount',
DiscountMoney: 'Discount amount', DiscountMoney: 'Discount amount',
RedEnvelopeMoney: 'Deduction amount for large red envelopes', RedEnvelopeMoney: 'Deduction amount for large red envelopes',
...@@ -449,10 +483,10 @@ export default { ...@@ -449,10 +483,10 @@ export default {
notaccess: 'Do you have any interbank member accounts?', notaccess: 'Do you have any interbank member accounts?',
registerlink: 'Apply for registration', registerlink: 'Apply for registration',
title: 'Login', title: 'Login',
subTitle: 'Welcome to our store and start our urgent procurement.', subTitle: '',//'Welcome to our store and start our urgent procurement.',
account: 'Account (EMail/Unified Editor)', account: 'ID',
password: 'Password', password: 'Password',
forgot: 'Forgot password?', forgot: 'Forget Password?',
signin: 'Login', signin: 'Login',
pageTitle: 'Login', pageTitle: 'Login',
ruleTipsAccount: 'Please fill in the correct account', ruleTipsAccount: 'Please fill in the correct account',
...@@ -513,7 +547,7 @@ export default { ...@@ -513,7 +547,7 @@ export default {
dindanbaojia: 'Hotel order quotation', dindanbaojia: 'Hotel order quotation',
zhutuanhao: 'Group number', zhutuanhao: 'Group number',
lianxiren: 'Contact person', lianxiren: 'Contact person',
dindanhao: 'Order number', dindanhao: 'Booking Number',
riqi: 'Date', riqi: 'Date',
HotelDate: 'check-in time', HotelDate: 'check-in time',
HotelName: 'Hotel name', HotelName: 'Hotel name',
...@@ -799,7 +833,7 @@ export default { ...@@ -799,7 +833,7 @@ export default {
baojiaqueren: 'Is the quotation not confirmed immediately?', baojiaqueren: 'Is the quotation not confirmed immediately?',
jiagejihua: 'Price plan name', jiagejihua: 'Price plan name',
lutiankefang: 'Outdoor Guestroom', lutiankefang: 'Outdoor Guestroom',
ordermount: 'Total order amount', ordermount: 'Total Amount',
renmingbi: 'RMB', renmingbi: 'RMB',
youhui: 'Discount', youhui: 'Discount',
shifu: 'Actual payment', shifu: 'Actual payment',
...@@ -870,7 +904,7 @@ export default { ...@@ -870,7 +904,7 @@ export default {
shiyong: 'Using', shiyong: 'Using',
youxiaoqi: 'Validity period', youxiaoqi: 'Validity period',
notiaojian: 'This coupon does not meet the usage requirements!', notiaojian: 'This coupon does not meet the usage requirements!',
dindanhao: 'Order number', dindanhao: 'Booking Number',
}, },
scatteredOrderList: { scatteredOrderList: {
state1: 'To be paid', state1: 'To be paid',
...@@ -878,7 +912,7 @@ export default { ...@@ -878,7 +912,7 @@ export default {
state3: 'Canceled', state3: 'Canceled',
first: 'Hotel name', first: 'Hotel name',
table1: 'Hotel Name', table1: 'Hotel Name',
table2: 'Order Number', table2: 'Booking Number',
table3: 'Number of rooms', table3: 'Number of rooms',
table4: 'Total amount', table4: 'Total amount',
table5: 'Actual payment', table5: 'Actual payment',
...@@ -973,7 +1007,7 @@ export default { ...@@ -973,7 +1007,7 @@ export default {
rtc: 'Non consumption can be refunded at any time, partial refund is not supported for multiple ticket orders', rtc: 'Non consumption can be refunded at any time, partial refund is not supported for multiple ticket orders',
ms: 'Ticket booking details', ms: 'Ticket booking details',
nt: 'No ticket selected', nt: 'No ticket selected',
ds: 'Total order amount', ds: 'Total Amount',
sb: 'Submit Order', sb: 'Submit Order',
or: 'Order remarks', or: 'Order remarks',
zqa: 'Self pickup address', zqa: 'Self pickup address',
...@@ -1158,9 +1192,9 @@ export default { ...@@ -1158,9 +1192,9 @@ export default {
c11: 'Flight number', c11: 'Flight number',
c12: 'Flight arrival time', c12: 'Flight arrival time',
c13: 'Flight departure time', c13: 'Flight departure time',
c14: 'Number of adults', c14: 'Adult',
c15: 'Number of children', c15: 'Child',
c16: 'Number of infants', c16: 'Infant',
c17: 'Number of hand luggage', c17: 'Number of hand luggage',
c18: 'Number of running bags', c18: 'Number of running bags',
c19: 'Product name', c19: 'Product name',
......
...@@ -428,7 +428,7 @@ export default { ...@@ -428,7 +428,7 @@ export default {
SingleRoomPrice: 'Harga kamar single', SingleRoomPrice: 'Harga kamar single',
OtherPrice: 'Biaya lain-lain', OtherPrice: 'Biaya lain-lain',
buy: 'Pesan', buy: 'Pesan',
payOrder: 'Penyelesaian penerbangan charter', payOrder: 'Keselesaian komisi',
noData: 'Belum ada data', noData: 'Belum ada data',
ContactNamePay: 'Mitra', ContactNamePay: 'Mitra',
EntGuestNum: 'Jumlah orang dalam daftar', EntGuestNum: 'Jumlah orang dalam daftar',
......
import enUS from './en-US' import enUS from './en-US'
import zhTW from './zh-TW' import zhTW from './zh-TW'
import zhSW from './zh-SW' import zhSW from './zh-SW'
import koHG from './ko-HG' // import koHG from './ko-HG'
import jaRB from './ja-RB' import jaRB from './ja-RB'
import inID from './in-ID' // import inID from './in-ID'
export default { export default {
enUS, enUS,
zhTW, zhTW,
zhSW, zhSW,
koHG, //koHG,
jaRB, jaRB,
inID //inID
} }
...@@ -361,9 +361,20 @@ export default { ...@@ -361,9 +361,20 @@ export default {
second: 'PAK 団', second: 'PAK 団',
three: 'PAK オーダー', three: 'PAK オーダー',
four: 'PAK 決済', four: 'PAK 決済',
},
notice: {
first: 'お知らせ',
second: 'リスト',
} }
}, },
travel: { travel: {
status:{
normal:'すべて',
regular:'正常',
reserve:'占位',
waiting:'候補',
cancel:'取消'
},
start:'出発', start:'出発',
download:'行程をダウンロード', download:'行程をダウンロード',
returnMoney:'現在の返佣金額', returnMoney:'現在の返佣金額',
...@@ -430,7 +441,7 @@ export default { ...@@ -430,7 +441,7 @@ export default {
SingleRoomPrice: 'シングルルーム差額', SingleRoomPrice: 'シングルルーム差額',
OtherPrice: '雑費', OtherPrice: '雑費',
buy: '注文する', buy: '注文する',
payOrder: 'チャーターチェックアウト', payOrder: '佣金結算',
noData: 'データなし', noData: 'データなし',
ContactNamePay: 'パートナー', ContactNamePay: 'パートナー',
EntGuestNum: 'リストの人数', EntGuestNum: 'リストの人数',
......
...@@ -364,6 +364,13 @@ export default { ...@@ -364,6 +364,13 @@ export default {
} }
}, },
travel: { travel: {
status:{
normal:'전체',
regular:'정상',
reserve:'예약',
waiting:'대기',
cancel:'취소'
},
start:'출발', start:'출발',
download:'여정 다운로드', download:'여정 다운로드',
returnMoney:'현재 반환 금액', returnMoney:'현재 반환 금액',
...@@ -430,7 +437,7 @@ export default { ...@@ -430,7 +437,7 @@ export default {
SingleRoomPrice: '싱글 룸 차이', SingleRoomPrice: '싱글 룸 차이',
OtherPrice: '기타 비용', OtherPrice: '기타 비용',
buy: '주문하기', buy: '주문하기',
payOrder: '전세 체크아웃', payOrder: '커미션 결제',
noData: '전세 체크아웃', noData: '전세 체크아웃',
ContactNamePay: '파트너', ContactNamePay: '파트너',
EntGuestNum: '목록에 있는 사람 수', EntGuestNum: '목록에 있는 사람 수',
......
...@@ -361,9 +361,20 @@ export default { ...@@ -361,9 +361,20 @@ export default {
second: 'PAK团表', second: 'PAK团表',
three: 'PAK订单', three: 'PAK订单',
four: 'PAK結算', four: 'PAK結算',
},
notice: {
first: '公告栏',
second: '列表',
} }
}, },
travel: { travel: {
status:{
normal:'全部',
regular:'正常',
reserve:'占位',
waiting:'候补',
cancel:'取消'
},
start:'出发', start:'出发',
download:'下载行程', download:'下载行程',
returnMoney:'当前返佣金額', returnMoney:'当前返佣金額',
...@@ -430,7 +441,7 @@ export default { ...@@ -430,7 +441,7 @@ export default {
SingleRoomPrice: '单房差', SingleRoomPrice: '单房差',
OtherPrice: '杂费', OtherPrice: '杂费',
buy: '下单', buy: '下单',
payOrder: '包机结算', payOrder: '佣金结算',
noData: '暂无数据', noData: '暂无数据',
ContactNamePay: '合作伙伴', ContactNamePay: '合作伙伴',
EntGuestNum: '已入名单人数', EntGuestNum: '已入名单人数',
......
...@@ -361,9 +361,24 @@ export default { ...@@ -361,9 +361,24 @@ export default {
second: 'PAK团表', second: 'PAK团表',
three: 'PAK订单', three: 'PAK订单',
four: 'PAK結算', four: 'PAK結算',
},
notice: {
first: '公告欄',
second: '列表',
} }
}, },
notice: {
pageTitle: '公告欄',
},
travel: { travel: {
status:{
normal:'全部',
regular:'正常',
reserve:'占位',
waiting:'候補',
cancel:'取消'
},
start:'出發', start:'出發',
download:'下載行程', download:'下載行程',
returnMoney:'当前返佣金額', returnMoney:'当前返佣金額',
...@@ -430,7 +445,7 @@ export default { ...@@ -430,7 +445,7 @@ export default {
SingleRoomPrice: '單房差', SingleRoomPrice: '單房差',
OtherPrice: '雜費', OtherPrice: '雜費',
buy: '下單', buy: '下單',
payOrder: '包機結算', payOrder: '佣金结算',
noData: '暫無數據', noData: '暫無數據',
ContactNamePay: '合作夥伴', ContactNamePay: '合作夥伴',
EntGuestNum: '已入名單人數', EntGuestNum: '已入名單人數',
......
This diff is collapsed.
...@@ -171,7 +171,7 @@ export default defineComponent({ ...@@ -171,7 +171,7 @@ export default defineComponent({
getLanguage(val: SitLang) { getLanguage(val: SitLang) {
locale.value = val.langLocale ?? ""; locale.value = val.langLocale ?? "";
localStorage.setItem("lanuage", val.langLocale ?? ""); localStorage.setItem("lanuage2", val.langLocale ?? "");
}, },
}; };
......
...@@ -2,12 +2,17 @@ ...@@ -2,12 +2,17 @@
<div class="row full-height"> <div class="row full-height">
<div class="col q-pa-xl fit row justify-center height"> <div class="col q-pa-xl fit row justify-center height">
<div style="width:450px;" class="column justify-between content-between"> <div style="width:450px;" class="column justify-between content-between">
<div :class="{'row':$q.platform.is.desktop,'column':$q.platform.is.mobile}"> <div class='column items-center'>
<div class="col" :class="{'text-center q-mb-md':$q.platform.is.mobile}"> <!-- <div style="width:50px;overflow: hidden;">
<img v-if="isDomainName_PIC" src="../../assets/images/jvs-log.png" style="width:80%;" /> <img v-if="isDomainName_PIC" src="../../assets/images/jvs-log.png" style="height: 40px;" />
<img v-else src="http://imgfile.oytour.com/Upload/WebSite/202303170746500900000000054.png" style="width:80%;" /> <img v-else src="http://imgfile.oytour.com/Upload/WebSite/202303170746500900000000054.png" style="height: 40px;" />
</div> </div>
<div class="text-h6 text-weight-bold" style="font-family: math;" >PEACE INTERNATIONAL</div>
<div class="text-body2 text-weight-thin text-italic" style="font-family: math;" >by MILLENNIUM</div> -->
<img src="../../assets/img/newLogo.jpg" :style="{'height': $q.platform.is.mobile ? '100px' : '250px'}">
</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>
<div class="text-grey-6 q-mt-sm q-mb-lg">{{$t("login.subTitle")}}</div> <div class="text-grey-6 q-mt-sm q-mb-lg">{{$t("login.subTitle")}}</div>
...@@ -102,7 +107,7 @@ export default defineComponent({ ...@@ -102,7 +107,7 @@ export default defineComponent({
const getLanguage = (val:any) => { const getLanguage = (val:any) => {
locale.value = val.langLocale; locale.value = val.langLocale;
localStorage.setItem('lanuage', val.langLocale) localStorage.setItem('lanuage2', val.langLocale)
} }
return { userModel, usernameRef, passwordRef, userValidateRule, loginSubmit, dtNow, stateManager,getLanguage,...data} return { userModel, usernameRef, passwordRef, userValidateRule, loginSubmit, dtNow, stateManager,getLanguage,...data}
......
This diff is collapsed.
...@@ -97,12 +97,12 @@ ...@@ -97,12 +97,12 @@
<div class="col text-subtitle2 text-weight-bolder">{{ customerInfo.uniqueCode }}</div> <div class="col text-subtitle2 text-weight-bolder">{{ customerInfo.uniqueCode }}</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.LINEID') }}</div> <div class="col-5 f12 text-grey-500">{{ $t('personal.LINEID') }}</div>
<div class="col text-subtitle2 text-weight-bolder">{{ customerInfo.lineid}}</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>
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
</style> </style>
<template> <template>
<div class="q-pa-md"> <div class="q-pa-md">
<!-- <div class="rounded-borders bg-white row items-center q-pa-md"> <!-- <div class="rounded-borders bg-white row items-center q-pa-md">
<q-field :class="$q.platform.is.desktop ? '' : 'q-mb-md'" stack-label :label="$t('daterange')" standout class="q-ml-lg col-2" style="min-width: 190px" dense> <q-field :class="$q.platform.is.desktop ? '' : 'q-mb-md'" stack-label :label="$t('daterange')" standout class="q-ml-lg col-2" style="min-width: 190px" dense>
<div class="self-center full-width no-outline" tabindex="0">{{ dateRangeFormat }}</div> <div class="self-center full-width no-outline" tabindex="0">{{ dateRangeFormat }}</div>
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
<q-btn color="primary" unelevated :label="$t('query')" @click="setQueryHandler"/> <q-btn color="primary" unelevated :label="$t('query')" @click="setQueryHandler"/>
</div> --> </div> -->
<!-- <div class="row"> <!-- <div class="row">
<div>合作伙伴:<span>{{item.ContactName}}</span></div> <div>合作伙伴:<span>{{item.ContactName}}</span></div>
<div>已入名单人数:<span>{{item.EntGuestNum}}</span></div> <div>已入名单人数:<span>{{item.EntGuestNum}}</span></div>
<div>已入名单人数:<span>{{item.IsHaveFinance}}</span></div> <div>已入名单人数:<span>{{item.IsHaveFinance}}</span></div>
...@@ -37,36 +37,46 @@ ...@@ -37,36 +37,46 @@
<div>代收总金额:<span>{{item.DueInMoney}}</span></div> <div>代收总金额:<span>{{item.DueInMoney}}</span></div>
<div>利润:<span>{{item.CommissionRate}}</span></div></div> <div>利润:<span>{{item.CommissionRate}}</span></div></div>
</div> --> </div> -->
<div class="row q-py-md"> <!-- <div class="row q-py-md full-width">
<div class="col-1">{{$t('travel.ContactNamePay')}}</div> <div class="col">{{$t('travel.ContactNamePay')}}</div>
<div class="col-1">{{$t('travel.EntGuestNum')}}</div> <div class="col">{{$t('travel.EntGuestNum')}}</div>
<div class="col-1">{{$t('travel.GuestNum')}}</div> <div class="col">{{$t('travel.GuestNum')}}</div>
<div class="col-1">{{$t('travel.PreferPricePay')}}</div> <div class="col">{{$t('travel.PreferPricePay')}}</div>
<div class="col-1">{{$t('travel.Refund')}}</div> <div class="col">{{$t('travel.Refund')}}</div>
<div class="col-1">{{$t('travel.PlatformTax')}}</div> <div class="col-1">{{$t('travel.PlatformTax')}}</div>
<div class="col-1">{{$t('travel.Income')}}</div> <div class="col">{{$t('travel.Income')}}</div>
<div class="col-1">{{$t('travel.ZaiTuMoney')}}</div> <div class="col-1">{{$t('travel.ZaiTuMoney')}}</div>
<div class="col-1">{{$t('travel.DiscountMoney')}}</div> <div class="col">{{$t('travel.DiscountMoney')}}</div>
<div class="col-1">{{$t('travel.RedEnvelopeMoney')}}</div> <div class="col-1">{{$t('travel.RedEnvelopeMoney')}}</div>
<div class="col-1">{{$t('travel.DueInMoney')}}</div> <div class="col-1">{{$t('travel.DueInMoney')}}</div>
<div class="col-1">{{$t('travel.CommissionRate')}}</div> <div class="col">{{$t('travel.CommissionRate')}}</div>
</div> </div>
<div class="row q-py-md" v-for="item in orders" :key="item.id"> <div class="row q-py-md full-width" v-for="item in orders" :key="item.id">
<div class="col-1"><span>{{item.ContactName}}</span></div> <div class="col"><span>{{item.ContactName}}</span></div>
<div class="col-1 text-center"><span>{{item.EntGuestNum}}</span></div> <div class="col text-center"><span>{{item.EntGuestNum}}</span></div>
<div class="col-1"><span>{{item.GuestNum}}</span></div> <div class="col"><span>{{item.GuestNum}}</span></div>
<div class="col-1"><span>{{item.PreferPrice}}</span></div> <div class="col"><span>{{item.PreferPrice}}</span></div>
<div class="col-1"><span>{{item.Refund}}</span></div> <div class="col"><span>{{item.Refund}}</span></div>
<div class="col-1"><span>{{item.PlatformTax}}</span></div> <div class="col-1"><span>{{item.PlatformTax}}</span></div>
<div class="col-1"><span>{{item.Income}}</span></div> <div class="col"><span>{{item.Income}}</span></div>
<div class="col-1"><span>{{item.ZaiTuMoney}}</span></div> <div class="col-1"><span>{{item.ZaiTuMoney}}</span></div>
<div class="col-1"><span>{{item.DiscountMoney}}</span></div> <div class="col"><span>{{item.DiscountMoney}}</span></div>
<div class="col-1"><span>{{item.RedEnvelopeMoney}}</span></div> <div class="col-1"><span>{{item.RedEnvelopeMoney}}</span></div>
<div class="col-1"><span>{{item.DueInMoney}}</span></div> <div class="col-1"><span>{{item.DueInMoney}}</span></div>
<div class="col-1"><span>{{item.CommissionRate}}</span></div> <div class="col"><span>{{item.CommissionRate}}</span></div>
</div> </div> -->
<div v-if="!orders.length" class="none">{{$t('travel.noData')}}</div> <!-- <div v-if="!orders.length" class="none">{{$t('travel.noData')}}</div> -->
<q-table
separator="cell"
:pagination="{ rowsPerPage: 100 }"
dense
:rows="orders"
bordered
:columns="cols"
class="sticky-rightrowspan-column-table light-border col no-shadow"
>
</q-table>
</div> </div>
</template> </template>
<script lang="ts"> <script lang="ts">
...@@ -91,15 +101,25 @@ export default defineComponent({ ...@@ -91,15 +101,25 @@ export default defineComponent({
dateRange.to = date.formatDate(date.addToDate(new Date(), { days: 50 }), 'YYYY/MM/DD') dateRange.to = date.formatDate(date.addToDate(new Date(), { days: 50 }), 'YYYY/MM/DD')
dateRange.from = date.formatDate(date.addToDate(new Date(), { days: 20 }), 'YYYY/MM/DD') dateRange.from = date.formatDate(date.addToDate(new Date(), { days: 20 }), 'YYYY/MM/DD')
const dateRangeFormat = ref(`${dateRange.from} - ${dateRange.to}`) const dateRangeFormat = ref(`${dateRange.from} - ${dateRange.to}`)
const cols = ref([
{ name: 'ContactName', label: t('travel.ContactNamePay'), align: 'left', field: 'ContactName' },
{ name: 'EntGuestNum', label: t('travel.EntGuestNum'), align: 'left', field: 'EntGuestNum' },
{ name: 'GuestNum', label: t('travel.GuestNum'), align: 'left', field: 'GuestNum' },
{ name: 'PreferPrice', label: t('travel.PreferPricePay'), align: 'left', field: 'PreferPrice' },
{ name: 'Refund', label: t('travel.Refund'), align: 'left', field: 'Refund' },
{ name: 'Income', label: t('travel.Income'), align: 'left', field: 'Income' },
{ name: 'DiscountMoney', label: t('travel.DiscountMoney'), align: 'left', field: 'DiscountMoney' },
{ name: 'CommissionRate', label: t('travel.CommissionRate'), align: 'left', field: 'CommissionRate' },
])
const {query, params} = useRoute() const {query, params} = useRoute()
const search = { const search = {
TCID: query.id, TCID: query.id,
// GTeamName: '', // GTeamName: '',
// SelectEndDate: '', // SelectEndDate: '',
// SelectStartDate: '', // SelectStartDate: '',
} }
const data = reactive({ const data = reactive({
info: {}, info: {},
copyId: 0, copyId: 0,
showAddOrder: false, showAddOrder: false,
...@@ -157,7 +177,8 @@ export default defineComponent({ ...@@ -157,7 +177,8 @@ export default defineComponent({
...methods, ...methods,
search, search,
dateRangeFormat, dateRangeFormat,
dateRange dateRange,
cols
}; };
} }
}) })
......
...@@ -262,38 +262,40 @@ export default defineComponent({ ...@@ -262,38 +262,40 @@ export default defineComponent({
label: t("travel.startDate"), label: t("travel.startDate"),
align: "left", align: "left",
}, },
{ // {
name: "oldPeopleNum", // name: "oldPeopleNum",
field: "oldPeopleNum", // field: "oldPeopleNum",
label: t("travel.oldPeople"), // label: t("travel.oldPeople"),
align: "left", // align: "left",
}, // },
{ name: "manNum", field: "manNum", label: t("travel.man"), align: "left" }, { name: "manNum", field: "manNum", label: t("travel.man"), align: "left" },
{ name: "babyNum", field: "babyNum", label: t("travel.BabyNum"), align: "left" },
{ {
name: "chirdNum", name: "chirdNum",
field: "chirdNum", field: "chirdNum",
label: t("travel.children"), label: t("travel.children"),
align: "left", align: "left",
}, },
{ name: "babyNum", field: "babyNum", label: t("travel.BabyNum"), align: "left" },
{ {
name: "guestNum", name: "guestNum",
field: "guestNum", field: "guestNum",
label: t("travel.guestNum"), label: t("travel.guestNum"),
align: "left", align: "left",
}, },
{
name: "unit_Price",
field: "unit_Price",
label: t("travel.unit_Price"),
align: "left",
},
{ {
name: "tC_Price", name: "tC_Price",
field: "tC_Price", field: "tC_Price",
label: t("travel.tC_Price"), label: t("travel.tC_Price"),
align: "left", align: "left",
}, },
{
name: "unit_Price",
field: "unit_Price",
label: t("travel.unit_Price"),
align: "left",
},
{ {
name: "tradeWay", name: "tradeWay",
field: "tradeWay", field: "tradeWay",
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
参考 参考
http://dev.api.oytour.com/#/home/project/inside/api/detail?groupID=157&childGroupID=170&apiID=1010&projectName=REBORN&projectID=2 http://dev.api.oytour.com/#/home/project/inside/api/detail?groupID=157&childGroupID=170&apiID=1010&projectName=REBORN&projectID=2
--> -->
<div> <div>
<div class="rounded-borders bg-white row items-center q-pa-md"> <div class="rounded-borders bg-white row items-center q-pa-md">
...@@ -241,7 +241,13 @@ export default defineComponent({ ...@@ -241,7 +241,13 @@ export default defineComponent({
setup(props) { setup(props) {
const canHide = ref(false) const canHide = ref(false)
const { t } = useI18n(); const { t } = useI18n();
const orderStateList = ref([{ Name: t("travel.all"), Id: 0 }]); const orderStateList = ref([
{ Name: t("travel.status.normal"), Id: 0 },
{ Name: t("travel.status.regular"), Id: 1 },
{ Name: t("travel.status.reserve"), Id: 2 },
{ Name: t("travel.status.waiting"), Id: 3 },
{ Name: t("travel.status.cancel"), Id: 4 },
]);
const payStateList = reactive([ const payStateList = reactive([
{ label: t("travel.all"), value: -1 }, { label: t("travel.all"), value: -1 },
{ label: t("travel.notPay"), value: 1 }, { label: t("travel.notPay"), value: 1 },
...@@ -313,18 +319,18 @@ export default defineComponent({ ...@@ -313,18 +319,18 @@ export default defineComponent({
); );
}, },
initOrders() { initOrders() {
travelService // travelService
.getOrderStateList({}) // .getOrderStateList({})
.then((r) => { // .then((r) => {
if (r.data.resultCode == ApiResult.SUCCESS) { // if (r.data.resultCode == ApiResult.SUCCESS) {
orderStateList.value = orderStateList.value.concat(r.data.data); // orderStateList.value = orderStateList.value.concat(r.data.data);
} else { // } else {
message.errorMsg(r.data.message); // message.errorMsg(r.data.message);
} // }
}) // })
.catch((e) => { // .catch((e) => {
message.errorMsg(e.message); // message.errorMsg(e.message);
}); // });
}, },
}; };
methods.initOrders(); methods.initOrders();
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
" "
></q-input> ></q-input>
</div> </div>
<div class="col"> <!-- <div class="col">
<div class="title">{{ $t("travel.oldPeople") }}</div> <div class="title">{{ $t("travel.oldPeople") }}</div>
<q-input <q-input
v-model="addMsg.OldPeopleNum" v-model="addMsg.OldPeopleNum"
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
autoRemarks('OldPeopleNum', '老人人数'); autoRemarks('OldPeopleNum', '老人人数');
" "
></q-input> ></q-input>
</div> </div> -->
</div> </div>
<div class="row"> <div class="row">
<div class="col"> <div class="col">
......
<template> <template>
<div class="rounded-borders bg-white row items-center q-pa-md"> <div class="rounded-borders bg-white row items-center q-pa-md">
<q-field :class="$q.platform.is.desktop ? '' : 'q-mb-md'" stack-label :label="$t('daterange')" standout class="q-ml-lg col-2" style="min-width: 190px" dense clearable v-model="dateRangeFormat" @clear="getFormat"> <template v-if="$q.platform.is.desktop">
<div class="self-center full-width no-outline" tabindex="0">{{ dateRangeFormat }}</div> <q-field stack-label :label="$t('daterange')" standout
<q-popup-proxy :offset="[0, 10]" ref="qDateProxy"> class="col-2" style="min-width: 190px" dense clearable v-model="dateRangeFormat" @clear="getFormat">
<q-date v-model="dateRange" :options="optionsFn" range mask="YYYY/MM/DD" landscape <div class="self-center full-width no-outline" tabindex="0">{{ dateRangeFormat }}</div>
@range-end="dateRangeHandler"></q-date> <q-popup-proxy :offset="[0, 10]" ref="qDateProxy">
</q-popup-proxy> <q-date v-model="dateRange" :options="optionsFn" range mask="YYYY/MM/DD" landscape
</q-field> @range-end="dateRangeHandler"></q-date>
<q-input class="q-mr-md q-ml-md" v-model="search.TCID" dense standout :label="$t('travel.id')"/> </q-popup-proxy>
<q-input class="q-mr-md q-ml-md" v-model="search.StartAddress" dense standout :label="$t('travel.startCity')"/> </q-field>
<q-input class="q-mr-md q-ml-md" v-model="search.TCID" dense standout :label="$t('travel.id')" />
<q-input class="q-mr-md q-ml-md" v-model="search.StartAddress" dense standout :label="$t('travel.startCity')" />
</template>
<div class="col"></div> <div class="col"></div>
<q-btn color="primary" unelevated :label="$t('query')" @click="setQueryHandler"/> <q-btn unelevated class="bg-grey-3 hover q-mr-md" :title="$t('morequery')" v-if="$q.platform.is.mobile">
<q-badge rounded class="din bg-red-2 text-red-14 text-weight-bold" floating :label="searchCnt"
v-if="searchCnt > 0" />
<svg-icon color="dark" icon="Text/Filter.svg" :tips="$t('morequery')" :size="20"></svg-icon>
<q-tooltip>{{ $t("morequery") }}</q-tooltip>
<q-popup-proxy class="no-shadow" style="box-shadow: 0 0 50px #ddd !important" :offset="[0, 20]"
:model-value="canHide">
<q-card class="q-pa-md rounded-borders" style="width: 300px">
<div class="q-mb-md text-subtitle2">{{ $t("morequery") }}</div>
<div class="q-my-md">
<q-field stack-label :label="$t('daterange')" standout
class="col-2" style="min-width: 190px" dense clearable v-model="dateRangeFormat"
@clear="getFormat">
<div class="self-center full-width no-outline" tabindex="0">{{ dateRangeFormat }}</div>
<q-popup-proxy :offset="[0, 10]" ref="qDateProxy">
<q-date v-model="dateRange" :options="optionsFn" range mask="YYYY/MM/DD" landscape
@range-end="dateRangeHandler"></q-date>
</q-popup-proxy>
</q-field>
</div>
<div class="q-my-md">
<q-input class="q-mr-md q-ml-md" v-model="search.TCID" dense standout :label="$t('travel.id')" />
</div>
<div class="q-my-md">
<q-input class="q-mr-md q-ml-md" v-model="search.StartAddress" dense standout
:label="$t('travel.startCity')" />
</div>
</q-card>
</q-popup-proxy>
</q-btn>
<q-btn color="primary" unelevated :label="$t('query')" @click="setQueryHandler" />
</div> </div>
</template> </template>
<script lang="ts"> <script lang="ts">
import { DirtionmaryHelper } from '../../../config/dictionary' import { DirtionmaryHelper } from '../../../config/dictionary'
import { defineComponent, inject, reactive, ref } from 'vue' import { computed, defineComponent, inject, reactive, ref } from 'vue'
import { date } from 'quasar' import { date } from 'quasar'
import svgIcon from 'src/components/global/svg-icon.vue'
export default defineComponent({ export default defineComponent({
components: { svgIcon },
setup(props) { setup(props) {
const qDateProxy = ref(null) as any const qDateProxy = ref(null) as any
const realSearch = inject(DirtionmaryHelper.TRAVEL_ORDER_OBJ) as any const realSearch = inject(DirtionmaryHelper.TRAVEL_ORDER_OBJ) as any
const search = reactive(JSON.parse(JSON.stringify(realSearch))) const search = reactive(JSON.parse(JSON.stringify(realSearch)))
const dateRange = reactive({from: '', to: ''}) const dateRange = reactive({ from: '', to: '' })
const searchCnt = computed(() => {
let cnt = 0
if (search.TCID != '') cnt++
if (search.StartAddress != '') cnt++
if (search.SelectStartDate != '') cnt++
if (search.SelectEndDate != '') cnt++
return cnt
})
// dateRange.to = date.formatDate(date.addToDate(new Date(), { days: 50 }), 'YYYY/MM/DD') // dateRange.to = date.formatDate(date.addToDate(new Date(), { days: 50 }), 'YYYY/MM/DD')
// dateRange.from = date.formatDate(date.addToDate(new Date(), { days: 20 }), 'YYYY/MM/DD') // dateRange.from = date.formatDate(date.addToDate(new Date(), { days: 20 }), 'YYYY/MM/DD')
const dateRangeFormat = ref(`${dateRange.from} - ${dateRange.to}`) const dateRangeFormat = ref(`${dateRange.from} - ${dateRange.to}`)
search.SelectStartDate = dateRange.from search.SelectStartDate = dateRange.from
search.SelectEndDate = dateRange.to search.SelectEndDate = dateRange.to
const canHide = ref(false)
const methods = { const methods = {
getFormat() { getFormat() {
if(!dateRangeFormat.value) { if (!dateRangeFormat.value) {
search.SelectStartDate = '' search.SelectStartDate = ''
search.SelectEndDate = '' search.SelectEndDate = ''
} }
}, },
setQueryHandler(){ setQueryHandler() {
realSearch.SelectStartDate=search.SelectStartDate realSearch.SelectStartDate = search.SelectStartDate
realSearch.SelectEndDate=search.SelectEndDate realSearch.SelectEndDate = search.SelectEndDate
realSearch.TCID=search.TCID realSearch.TCID = search.TCID
realSearch.StartAddress=search.StartAddress realSearch.StartAddress = search.StartAddress
}, },
dateRangeHandler(e: any) { dateRangeHandler(e: any) {
search.SelectStartDate = `${e.from.year}/${e.from.month}/${e.from.day}` search.SelectStartDate = `${e.from.year}/${e.from.month}/${e.from.day}`
...@@ -50,15 +94,16 @@ export default defineComponent({ ...@@ -50,15 +94,16 @@ export default defineComponent({
if (qDateProxy.value) qDateProxy.value.hide() if (qDateProxy.value) qDateProxy.value.hide()
}, },
optionsFn(cd: any) { optionsFn(cd: any) {
return cd >= date.formatDate(date.adjustDate(new Date(), {year: 2000, month: 1, days: 1 }), 'YYYY/MM/DD') return cd >= date.formatDate(date.adjustDate(new Date(), { year: 2000, month: 1, days: 1 }), 'YYYY/MM/DD')
}, },
} }
return { return {
...methods, ...methods,
search, search,
dateRange, dateRange,
dateRangeFormat dateRangeFormat,
searchCnt,
canHide
} }
} }
}) })
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<q-card class="light-shadow q-pa-md bg-white rounded-borders q-mb-md" flat :class="$q.platform.is.desktop ? 'row' : ''" v-for="(x, index) in orders"> <q-card class="light-shadow q-pa-md bg-white rounded-borders q-mb-md" flat :class="$q.platform.is.desktop ? 'row' : ''" v-for="(x, index) in orders">
<div class="col-2 "> <div class="col-2 ">
<div class="mb-title"> <div class="mb-title">
<i class="iconfont icon-biaoti1"></i><span>{{ $t('travel.planInfo') }}</span> <i class="iconfont icon-biaoti1"></i><span>{{ $t('travel.airInfo') }}</span>
</div> </div>
{{ x.GTeamName }} {{ x.GTeamName }}
<div class="mb"> <div class="mb">
...@@ -19,9 +19,9 @@ ...@@ -19,9 +19,9 @@
<span v-if="x.StartAddress" class="q-mt-md text-weight-bold text-negative">{{ x.StartAddress }} {{ $t('travel.start') }}</span> <span v-if="x.StartAddress" class="q-mt-md text-weight-bold text-negative">{{ x.StartAddress }} {{ $t('travel.start') }}</span>
</div> </div>
</div> </div>
<div class="col-4 q-pl-md"> <div class="col-4" :class="$q.platform.is.desktop ? 'q-pl-md' : ''">
<div class="mb-title"> <div class="mb-title">&nbsp;
<i class="iconfont icon-hangban1"></i><span>{{ $t('travel.airInfo') }}</span> <!-- <i class="iconfont icon-hangban1"></i><span>{{ $t('travel.airInfo') }}</span> -->
</div> </div>
<div class="FlightDiv-TCL cursor-pointer" @click="showDialogF(x)"> <div class="FlightDiv-TCL cursor-pointer" @click="showDialogF(x)">
<div v-for="(subItem, subIndex) in x.TravelTeamFlightList" :key="subIndex + 1000" class="TCL-flighInfoList"> <div v-for="(subItem, subIndex) in x.TravelTeamFlightList" :key="subIndex + 1000" class="TCL-flighInfoList">
...@@ -58,10 +58,15 @@ ...@@ -58,10 +58,15 @@
>{{ x.YSeat }} <span class="item-title q-ml-md">{{ $t('travel.unUseNum') }}:</span>{{ x.SurplusYSeatNum }}</span >{{ x.YSeat }} <span class="item-title q-ml-md">{{ $t('travel.unUseNum') }}:</span>{{ x.SurplusYSeatNum }}</span
> >
</div> </div>
<div class="q-mt-sm"> <div class="mb bold">
<span class="item-title">{{ $t('travel.returnMoney') }}:</span><span class="text-negative">{{ x.RakeBackRatio }} / {{ $t('travel.people') }}</span> <span class="item-title">{{ $t('travel.status.waiting') }}:</span
><span
>0 </span>
</div> </div>
<div class="q-mt-sm"> <div class="q-mt-sm" v-if="isMember">
<span class="item-title">{{ $t('travel.returnMoney') }}:</span><span class="text-negative">{{ x.RakeBackRatio }} / pax</span>
</div>
<div class="q-mt-sm" v-if="isMember">
<span class="item-title text-primary cursor-pointer">{{ $t('travel.queryDetail') }}</span> <span class="item-title text-primary cursor-pointer">{{ $t('travel.queryDetail') }}</span>
<q-popup-proxy :offset="[0, 10]"> <q-popup-proxy :offset="[0, 10]">
<q-card class="" flat> <q-card class="" flat>
...@@ -71,8 +76,10 @@ ...@@ -71,8 +76,10 @@
<div class="q-pa-sm text-center col" style="border-right: 1px solid #eee;">{{ $t('travel.ratio') }}</div> <div class="q-pa-sm text-center col" style="border-right: 1px solid #eee;">{{ $t('travel.ratio') }}</div>
</div> </div>
<div class="row items-center" v-for="(item, index) in x.RakeBackList" :key="index" :class="{'bg-green-2': x.RakeBackRatio == item.Ratio}"> <div class="row items-center" v-for="(item, index) in x.RakeBackList" :key="index" :class="{'bg-green-2': x.RakeBackRatio == item.Ratio}">
<div class="q-pa-sm text-center col" style="border-right: 1px solid #eee;">{{ item.MinGuest }}-{{ item.MaxGuest }}{{ $t('travel.people') }}</div> <div class="q-pa-sm text-center col" style="border-right: 1px solid #eee;">{{ item.MinGuest }}-{{ item.MaxGuest }}
<div class="q-pa-sm text-center col" style="border-right: 1px solid #eee;">{{ item.Ratio }}/{{ $t('travel.people') }}</div> pax
</div>
<div class="q-pa-sm text-center col" style="border-right: 1px solid #eee;">{{ item.Ratio }}/pax</div>
<!-- <div class="q-pa-sm text-center col"> <!-- <div class="q-pa-sm text-center col">
<div class="bg-green" style="width:10px;height:10px;border-radius:50%; display: inline-block;" v-if="x.RakeBackRatio == item.Ratio"></div> <div class="bg-green" style="width:10px;height:10px;border-radius:50%; display: inline-block;" v-if="x.RakeBackRatio == item.Ratio"></div>
</div> --> </div> -->
...@@ -104,7 +111,7 @@ ...@@ -104,7 +111,7 @@
<div class="mb-title"> <div class="mb-title">
<i class="iconfont icon-jiage"></i><span>{{ $t('travel.priceInfo') }}</span> <i class="iconfont icon-jiage"></i><span>{{ $t('travel.priceInfo') }}</span>
</div> </div>
<div class="mb bold"> <div class="mb bold" v-if="isMember">
<span class="item-title">{{ $t('travel.midPrice') }}: </span>{{ x.B2BMemberPrice }} <span class="item-title">{{ $t('travel.midPrice') }}: </span>{{ x.B2BMemberPrice }}
</div> </div>
<div class="mb bold"> <div class="mb bold">
...@@ -113,13 +120,15 @@ ...@@ -113,13 +120,15 @@
{{ x.ChildNoNeedPrice }} {{ x.ChildNoNeedPrice }}
</div> </div>
<div class="mb bold"> <div class="mb bold">
<span class="item-title">{{ $t('travel.Baby') }}:</span> {{ x.BabyPrice }} <span class="item-title q-ml-md">{{ $t('travel.BabyChargePrice') }}: </span>{{ x.BabyChargePrice }} <span class="item-title">{{ $t('travel.Baby') }}:</span> {{ x.BabyPrice }}
<!-- <span class="item-title q-ml-md">{{ $t('travel.BabyChargePrice') }}: </span>{{ x.BabyChargePrice }} -->
<span class="item-title q-ml-md">{{ $t('travel.VisaPrice') }}: </span>{{ x.VisaPrice }}
</div> </div>
<div class="mb bold"> <!-- <div class="mb bold">
<span class="item-title">{{ $t('travel.OldManChargePrice') }}:</span> <span class="item-title">{{ $t('travel.OldManChargePrice') }}:</span>
{{ x.OldManChargePrice }} {{ x.OldManChargePrice }}
<span class="item-title q-ml-md">{{ $t('travel.VisaPrice') }}: </span>{{ x.VisaPrice }} <span class="item-title q-ml-md">{{ $t('travel.VisaPrice') }}: </span>{{ x.VisaPrice }}
</div> </div> -->
<div class="mb bold"> <div class="mb bold">
<span class="item-title">{{ $t('travel.SingleRoomPrice') }}:</span> <span class="item-title">{{ $t('travel.SingleRoomPrice') }}:</span>
{{ x.SingleRoomPrice }} {{ x.SingleRoomPrice }}
...@@ -127,8 +136,8 @@ ...@@ -127,8 +136,8 @@
</div> </div>
</div> </div>
<div class="col-1"> <div class="col-1">
<q-btn color="primary" unelevated @click="ViewPayment(x)">{{ $t('travel.buy') }}</q-btn> <q-btn color="primary" flat dense @click="ViewPayment(x)">{{ $t('travel.buy') }}</q-btn>
<q-btn :class="$q.platform.is.desktop ? 'q-mt-md' : 'q-ml-md'" color="primary" unelevated @click="gotoUrl(x)">{{ $t('travel.payOrder') }}</q-btn> <q-btn v-if="isMember" flat dense :class="$q.platform.is.desktop ? 'q-mt-md' : 'q-ml-md'" color="primary" @click="gotoUrl(x)">{{ $t('travel.payOrder') }}</q-btn>
</div> </div>
<q-dialog width="900" v-model="showItem" trigger="click"> <q-dialog width="900" v-model="showItem" trigger="click">
<div class="TC_tripDetails" style="width: 900px; background-color: #fff"> <div class="TC_tripDetails" style="width: 900px; background-color: #fff">
...@@ -206,6 +215,8 @@ import { currentRouter } from '../../../router' ...@@ -206,6 +215,8 @@ import { currentRouter } from '../../../router'
// import BankAccount from '../../BankAccount.vue' // import BankAccount from '../../BankAccount.vue'
import AddOrder from './addOrder.vue' import AddOrder from './addOrder.vue'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
import { UserGetter } from 'src/store/modules/user/getters'
import { getStoreGetter } from 'src/store/utils'
export default defineComponent({ export default defineComponent({
components: { AddOrder }, components: { AddOrder },
...@@ -214,7 +225,9 @@ export default defineComponent({ ...@@ -214,7 +225,9 @@ export default defineComponent({
const search = inject(DirtionmaryHelper.TRAVEL_ORDER_OBJ) as any const search = inject(DirtionmaryHelper.TRAVEL_ORDER_OBJ) as any
const { t } = useI18n() const { t } = useI18n()
const $q = useQuasar() const $q = useQuasar()
const userInfo = getStoreGetter<UserGetter>('user', 'getUser')
const isMember = userInfo.isMember==1
console.log(userInfo)
watch(search, (n, o) => { watch(search, (n, o) => {
if (data.loading) return if (data.loading) return
data.pages.pageIndex = 1 data.pages.pageIndex = 1
...@@ -374,7 +387,8 @@ export default defineComponent({ ...@@ -374,7 +387,8 @@ export default defineComponent({
return { return {
...toRefs(data), ...toRefs(data),
...methods, ...methods,
moneyFormat moneyFormat,
isMember
} }
} }
}) })
......
...@@ -7,7 +7,11 @@ const routes: RouteRecordRaw[] = [{ ...@@ -7,7 +7,11 @@ const routes: RouteRecordRaw[] = [{
component: () => import('layouts/MainLayout.vue'), component: () => import('layouts/MainLayout.vue'),
children: [{ children: [{
path: '', path: '',
component: () => import('pages/Index.vue') component: () => import('pages/travel/order.vue')
},
{
path: '/notice',
component: () => import('pages/notice/List.vue'),
}, },
{ {
path: '/hotel', path: '/hotel',
...@@ -43,7 +47,7 @@ const routes: RouteRecordRaw[] = [{ ...@@ -43,7 +47,7 @@ const routes: RouteRecordRaw[] = [{
path: '/didahotel', //道旅酒店 path: '/didahotel', //道旅酒店
component: () => import('pages/scattered/didaHotel.vue') component: () => import('pages/scattered/didaHotel.vue')
}, },
{ {
path: '/scattered/HotelDetails/:hotelId/:groupBookingFlg/:lowrateBySetCurrency', path: '/scattered/HotelDetails/:hotelId/:groupBookingFlg/:lowrateBySetCurrency',
component: () => import('pages/scattered/hotelDetails.vue') }, component: () => import('pages/scattered/hotelDetails.vue') },
{ {
......
...@@ -144,6 +144,21 @@ const useMenus = { ...@@ -144,6 +144,21 @@ const useMenus = {
} }
] ]
}) })
menus.push({
name: t('menu.notice.first'),
url: '/notice',
id: 23,
parentId: 0,
icon: 'Shopping/Box1.svg',
childs: [
{
name: t('menu.notice.second'),
url: '/notice',
id: 24,
parentId: 23,
}
]
})
// menus.push({ // menus.push({
// name: t('menu.finance.first'), // name: t('menu.finance.first'),
// url: '', // url: '',
......
...@@ -459,28 +459,28 @@ export function getLangs() { ...@@ -459,28 +459,28 @@ export function getLangs() {
langLocale:"enUS", langLocale:"enUS",
langName:"English" langName:"English"
} }
const koHG:SitLang={ // const koHG:SitLang={
langLocale:"koHG", // langLocale:"koHG",
langName:"한국어", // langName:"한국어",
quasarLang:'ko-KR' // quasarLang:'ko-KR'
} // }
const jaRB:SitLang={ const jaRB:SitLang={
langLocale:"jaRB", langLocale:"jaRB",
langName:"日本語", langName:"日本語",
quasarLang:'zh-TW' quasarLang:'zh-TW'
} }
const inID:SitLang={ // const inID:SitLang={
langLocale:"inID", // langLocale:"inID",
langName:"Indonesia", // langName:"Indonesia",
quasarLang:'in-ID' // quasarLang:'in-ID'
} // }
let langs:SitLang[]=[] let langs:SitLang[]=[]
// 根据域名渲染简体 // 根据域名渲染简体
if(!getDomainName()){ if(!getDomainName()){
langs.push(zhSw) langs.push(zhSw)
}else{ }else{
langs.push(zhTw,koHG,enUs,jaRB,inID) langs.push(zhTw,enUs,jaRB)
} }
return langs return langs
......
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