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

修改

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