@movvjs/svelte-schedule-view 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.svelte-kit/__package__/i18n/locales/en.json +3 -1
- package/.svelte-kit/__package__/i18n/locales/ko.json +3 -1
- package/.svelte-kit/__package__/i18n/locales/vi.json +3 -1
- package/.svelte-kit/__package__/i18n/locales/zh-cn.json +3 -1
- package/.svelte-kit/__package__/i18n/locales/zh-tw.json +3 -1
- package/.svelte-kit/__package__/schedule-view/BookingInfo.svelte +47 -14
- package/.svelte-kit/__package__/schedule-view/api/common/index.d.ts +1 -0
- package/.svelte-kit/__package__/schedule-view/api/common/index.js +9 -0
- package/.svelte-kit/__package__/schedule-view/assets/scss/indie_booking.scss +58 -1
- package/.svelte-kit/__package__/schedule-view/components/flight-search/FlightSearch.svelte +193 -120
- package/.svelte-kit/__package__/schedule-view/components/flight-search/FlightSearch.svelte.d.ts +10 -2
- package/.svelte-kit/__package__/schedule-view/stores/booking.d.ts +2 -0
- package/.svelte-kit/__package__/schedule-view/stores/booking.js +4 -2
- package/.svelte-kit/__package__/schedule-view/types/flight.d.ts +1 -1
- package/.svelte-kit/generated/server/internal.js +1 -1
- package/dist/i18n/locales/en.json +3 -1
- package/dist/i18n/locales/ko.json +3 -1
- package/dist/i18n/locales/vi.json +3 -1
- package/dist/i18n/locales/zh-cn.json +3 -1
- package/dist/i18n/locales/zh-tw.json +3 -1
- package/dist/schedule-view/BookingInfo.svelte +47 -14
- package/dist/schedule-view/api/common/index.d.ts +1 -0
- package/dist/schedule-view/api/common/index.js +9 -0
- package/dist/schedule-view/assets/scss/indie_booking.scss +58 -1
- package/dist/schedule-view/components/flight-search/FlightSearch.svelte +193 -120
- package/dist/schedule-view/components/flight-search/FlightSearch.svelte.d.ts +10 -2
- package/dist/schedule-view/stores/booking.d.ts +2 -0
- package/dist/schedule-view/stores/booking.js +4 -2
- package/dist/schedule-view/types/flight.d.ts +1 -1
- package/package.json +1 -1
- package/src/lib/i18n/locales/en.json +3 -1
- package/src/lib/i18n/locales/ko.json +3 -1
- package/src/lib/i18n/locales/vi.json +3 -1
- package/src/lib/i18n/locales/zh-cn.json +3 -1
- package/src/lib/i18n/locales/zh-tw.json +3 -1
- package/src/lib/schedule-view/BookingInfo.svelte +49 -15
- package/src/lib/schedule-view/api/common/index.ts +10 -0
- package/src/lib/schedule-view/assets/scss/indie_booking.scss +58 -1
- package/src/lib/schedule-view/components/flight-search/FlightSearch.svelte +208 -126
- package/src/lib/schedule-view/stores/booking.ts +8 -2
- package/src/lib/schedule-view/types/flight.ts +1 -1
- package/src/routes/development/+page.svelte +1 -1
- package/sync-git.sh +43 -0
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"file": "File",
|
|
21
21
|
"fileUpload": "Upload file",
|
|
22
22
|
"firstName": "First name",
|
|
23
|
-
"flight": "Flight",
|
|
23
|
+
"flight": "Flight Info",
|
|
24
24
|
"guestName": "Guest Name",
|
|
25
25
|
"hours": "{hour} hour(s)",
|
|
26
26
|
"lastName": "Last name",
|
|
@@ -80,8 +80,10 @@
|
|
|
80
80
|
"noFlightsWereFound": "No flights were found.",
|
|
81
81
|
"pleaseEnterFlightNo": "Please enter flight No.",
|
|
82
82
|
"pleaseSelectAFlightNo": "Please select a flight No.",
|
|
83
|
+
"pleaseSelectAnAirport": "Please select an airport.",
|
|
83
84
|
"pleaseSelectDate": "Please select a date.",
|
|
84
85
|
"selectFlightNo": "Select Flight No.",
|
|
86
|
+
"selectTerminal": "Please select a terminal.",
|
|
85
87
|
"terminal": "Terminal {number}"
|
|
86
88
|
},
|
|
87
89
|
"placeholder": {
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"file": "파일",
|
|
21
21
|
"fileUpload": "파일 업로드",
|
|
22
22
|
"firstName": "이름",
|
|
23
|
-
"flight": "항공편",
|
|
23
|
+
"flight": "항공편 정보",
|
|
24
24
|
"guestName": "사용자명",
|
|
25
25
|
"hours": "{hour} 시간",
|
|
26
26
|
"lastName": "성",
|
|
@@ -67,8 +67,10 @@
|
|
|
67
67
|
"noFlightsWereFound": "항공편을 찾을 수 없습니다.",
|
|
68
68
|
"pleaseEnterFlightNo": "항공편명을 입력해주세요.",
|
|
69
69
|
"pleaseSelectAFlightNo": "항공편명을 선택해주세요.",
|
|
70
|
+
"pleaseSelectAnAirport": "공항을 선택해주세요.",
|
|
70
71
|
"pleaseSelectDate": "날짜를 선택해주세요.",
|
|
71
72
|
"selectFlightNo": "항공편명 선택",
|
|
73
|
+
"selectTerminal": "터미널을 선택해주세요.",
|
|
72
74
|
"terminal": "터미널 {number}"
|
|
73
75
|
},
|
|
74
76
|
"placeholder": {
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"file": "Tệp",
|
|
21
21
|
"fileUpload": "Cập nhật dử liệu",
|
|
22
22
|
"firstName": "Tên đầu tiên",
|
|
23
|
-
"flight": "
|
|
23
|
+
"flight": "Thông tin chuyến bay",
|
|
24
24
|
"guestName": "Tên khách",
|
|
25
25
|
"hours": "{hour} giờ",
|
|
26
26
|
"lastName": "Họ",
|
|
@@ -67,8 +67,10 @@
|
|
|
67
67
|
"noFlightsWereFound": "Không tìm thấy chuyến bay.",
|
|
68
68
|
"pleaseEnterFlightNo": "Vui lòng nhập số chuyến bay",
|
|
69
69
|
"pleaseSelectAFlightNo": "Vui lòng chọn số chuyến bay",
|
|
70
|
+
"pleaseSelectAnAirport": "Vui lòng chọn một sân bay.",
|
|
70
71
|
"pleaseSelectDate": "Vui lòng chọn một ngày.",
|
|
71
72
|
"selectFlightNo": "Chọn số chuyến bay",
|
|
73
|
+
"selectTerminal": "Vui lòng chọn một thiết bị đầu cuối.",
|
|
72
74
|
"terminal": "Nhà ga số 2"
|
|
73
75
|
},
|
|
74
76
|
"placeholder": {
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"file": "档案",
|
|
21
21
|
"fileUpload": "上传文件",
|
|
22
22
|
"firstName": "名",
|
|
23
|
-
"flight": "
|
|
23
|
+
"flight": "航班信息",
|
|
24
24
|
"guestName": "乘客姓名",
|
|
25
25
|
"hours": "{hour} 小时",
|
|
26
26
|
"lastName": "姓",
|
|
@@ -67,8 +67,10 @@
|
|
|
67
67
|
"noFlightsWereFound": "未找到航班。",
|
|
68
68
|
"pleaseEnterFlightNo": "请输入航班号",
|
|
69
69
|
"pleaseSelectAFlightNo": "请选择航班号",
|
|
70
|
+
"pleaseSelectAnAirport": "请选择一个机场。",
|
|
70
71
|
"pleaseSelectDate": "请选择日期。",
|
|
71
72
|
"selectFlightNo": "选择航班号",
|
|
73
|
+
"selectTerminal": "请选择一个终端。",
|
|
72
74
|
"terminal": "第{number}航站楼"
|
|
73
75
|
},
|
|
74
76
|
"placeholder": {
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"file": "檔案",
|
|
21
21
|
"fileUpload": "上傳文件",
|
|
22
22
|
"firstName": "名",
|
|
23
|
-
"flight": "
|
|
23
|
+
"flight": "航班資訊",
|
|
24
24
|
"guestName": "乘客姓名",
|
|
25
25
|
"hours": "{hour} 小時",
|
|
26
26
|
"lastName": "姓",
|
|
@@ -67,8 +67,10 @@
|
|
|
67
67
|
"noFlightsWereFound": "未找到航班。",
|
|
68
68
|
"pleaseEnterFlightNo": "請輸入航班號碼",
|
|
69
69
|
"pleaseSelectAFlightNo": "請選擇航班號碼",
|
|
70
|
+
"pleaseSelectAnAirport": "請選擇機場。",
|
|
70
71
|
"pleaseSelectDate": "請選擇日期。",
|
|
71
72
|
"selectFlightNo": "選擇航班號碼",
|
|
73
|
+
"selectTerminal": "請選擇一個終端。",
|
|
72
74
|
"terminal": "第{number}航廈"
|
|
73
75
|
},
|
|
74
76
|
"placeholder": {
|
|
@@ -14,7 +14,7 @@ import FlightSearch from "./components/flight-search/FlightSearch.svelte";
|
|
|
14
14
|
import PhoneNumberInput from "./PhoneNumberInput.svelte";
|
|
15
15
|
import FileUploader from "./FileUploader.svelte";
|
|
16
16
|
import CarSearch from "./CarSearch.svelte";
|
|
17
|
-
const { stdt, fullName, pax, extraServices, files, plans } = originalBooking;
|
|
17
|
+
const { stdt, fullName, pax, extraServices, files, plans, isFlightService } = originalBooking;
|
|
18
18
|
const {
|
|
19
19
|
withPreserveAndPreview,
|
|
20
20
|
hour,
|
|
@@ -45,9 +45,9 @@ async function copyContents() {
|
|
|
45
45
|
texts.push(`${$t("booking.startTime")} : ${dayjs($stdt).format("HH:mm")}`);
|
|
46
46
|
texts.push(`${$t("booking.carInfo")} : ${getCarName($originalBooking.carInfo, { seat: true, seatPostfix: $t("booking.seater") })}`);
|
|
47
47
|
texts.push(`${$t("booking.pax")} : ${$pax}`);
|
|
48
|
-
|
|
49
|
-
`${$t("booking.flight")} : ${$originalBooking.flight?.name
|
|
50
|
-
|
|
48
|
+
if ($isFlightService) {
|
|
49
|
+
texts.push(`${$t("booking.flight")} : ${[$originalBooking.flight?.name, getTerminalName($originalBooking.flight)].filter(Boolean).join(" / ")}`);
|
|
50
|
+
}
|
|
51
51
|
texts.push(`${$t("booking.guestName")} : ${$fullName}`);
|
|
52
52
|
texts.push(`${$t("booking.telNo")} : ${$originalBooking.tel || "- -"}`);
|
|
53
53
|
const extraServiceText = $originalBooking.extra?.length > 0 ? $originalBooking.extra.map((s) => $t(`extraServiceType.${s.type}`)).join(", ") : "- -";
|
|
@@ -104,13 +104,46 @@ async function toggleAutoPicket(e) {
|
|
|
104
104
|
function openFlightSearch() {
|
|
105
105
|
flightSearch$.open({
|
|
106
106
|
dateTime: $copiedBooking.ymd,
|
|
107
|
-
|
|
107
|
+
airport: (() => {
|
|
108
|
+
if ($copiedBooking.serviceType === BookingServiceType.pickup) {
|
|
109
|
+
return {
|
|
110
|
+
iata: $copiedBooking.origin?.iata || null,
|
|
111
|
+
code: $copiedBooking.origin?.code || null
|
|
112
|
+
};
|
|
113
|
+
} else if ($copiedBooking.serviceType === BookingServiceType.sending) {
|
|
114
|
+
return {
|
|
115
|
+
iata: $copiedBooking.dest?.iata || null,
|
|
116
|
+
code: $copiedBooking.dest?.code || null
|
|
117
|
+
};
|
|
118
|
+
} else {
|
|
119
|
+
return null;
|
|
120
|
+
}
|
|
121
|
+
})(),
|
|
122
|
+
terminalOnly: $copiedBooking.serviceType === BookingServiceType.sending
|
|
108
123
|
}).then((flight) => {
|
|
109
124
|
$copiedBooking.flight = flight;
|
|
110
125
|
}).catch((e) => {
|
|
111
126
|
alert.open({ title: $t("alert.error"), text: e.message });
|
|
112
127
|
});
|
|
113
128
|
}
|
|
129
|
+
function getTerminalName(flight) {
|
|
130
|
+
if (!flight.arrivalTerminal)
|
|
131
|
+
return null;
|
|
132
|
+
if (flight.selectType === "AUTO") {
|
|
133
|
+
switch (flight.arrivalTerminal) {
|
|
134
|
+
case "I":
|
|
135
|
+
return "International";
|
|
136
|
+
case "D":
|
|
137
|
+
return "Domestic";
|
|
138
|
+
default:
|
|
139
|
+
return `Terminal ${flight.arrivalTerminal}`;
|
|
140
|
+
}
|
|
141
|
+
} else if (flight.selectType === "MANUAL") {
|
|
142
|
+
return flight.arrivalTerminal;
|
|
143
|
+
} else {
|
|
144
|
+
return null;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
114
147
|
</script>
|
|
115
148
|
|
|
116
149
|
<Translation bind:this={translation$} />
|
|
@@ -168,17 +201,17 @@ function openFlightSearch() {
|
|
|
168
201
|
</td>
|
|
169
202
|
</tr>
|
|
170
203
|
|
|
171
|
-
{#if $
|
|
204
|
+
{#if $isFlightService}
|
|
172
205
|
<tr>
|
|
173
206
|
<th>{$t('booking.flight')}</th>
|
|
174
207
|
<td>
|
|
175
208
|
{#if !$isEdit}
|
|
176
209
|
{#if $originalBooking.flight}
|
|
177
210
|
<p class="indie_value-text flight">
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
211
|
+
{@html [$originalBooking.flight.name, getTerminalName($originalBooking.flight)]
|
|
212
|
+
.map((value, i) => (value ? (i === 0 ? `<b>${value}</b>` : value) : null))
|
|
213
|
+
.filter(Boolean)
|
|
214
|
+
.join(' / ')}
|
|
182
215
|
</p>
|
|
183
216
|
{#if $originalBooking.flight.selectType === 'MANUAL'}
|
|
184
217
|
<div class="indie_exclamation_mark_box sm black">
|
|
@@ -192,10 +225,10 @@ function openFlightSearch() {
|
|
|
192
225
|
<!-- -->
|
|
193
226
|
{#if $copiedBooking.flight}
|
|
194
227
|
<p class="indie_value-text flight">
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
228
|
+
{@html [$copiedBooking.flight.name, getTerminalName($copiedBooking.flight)]
|
|
229
|
+
.map((value, i) => (value ? (i === 0 ? `<b>${value}</b>` : value) : null))
|
|
230
|
+
.filter(Boolean)
|
|
231
|
+
.join(' / ')}
|
|
199
232
|
</p>
|
|
200
233
|
<button type="button" class="indie_btn_squre only refresh_black mgl10" on:click={() => openFlightSearch()}>다시선택</button>
|
|
201
234
|
{#if $copiedBooking.flight.selectType !== 'AUTO'}
|
|
@@ -114,4 +114,13 @@ export class CommonAPI {
|
|
|
114
114
|
throw Error('Invalid target');
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
|
+
static async getPoiTerminals(code) {
|
|
118
|
+
const { data } = await axios.get(`/common/poiTerminal/list/${code}`);
|
|
119
|
+
if (data.mode === false) {
|
|
120
|
+
throw new Error(data.msg);
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
return data.list;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
117
126
|
}
|
|
@@ -3038,8 +3038,9 @@
|
|
|
3038
3038
|
|
|
3039
3039
|
.map_box{
|
|
3040
3040
|
flex-grow: 1;
|
|
3041
|
-
background-color:
|
|
3041
|
+
background-color: royalblue;
|
|
3042
3042
|
position: relative;
|
|
3043
|
+
overflow: hidden;
|
|
3043
3044
|
|
|
3044
3045
|
.indie_ic_map_loca{
|
|
3045
3046
|
position: relative;
|
|
@@ -4611,5 +4612,61 @@
|
|
|
4611
4612
|
}
|
|
4612
4613
|
}
|
|
4613
4614
|
|
|
4615
|
+
|
|
4616
|
+
|
|
4617
|
+
|
|
4618
|
+
//마진 값
|
|
4619
|
+
.mg{
|
|
4620
|
+
@for $i from 0 through 40{
|
|
4621
|
+
@if(($i % 5) == 0){
|
|
4622
|
+
&t#{$i}{margin-top: #{$i}px;}
|
|
4623
|
+
&l#{$i}{margin-left: #{$i}px;}
|
|
4624
|
+
&r#{$i}{margin-right: #{$i}px;}
|
|
4625
|
+
&b#{$i}{margin-bottom: #{$i}px;}
|
|
4626
|
+
}
|
|
4627
|
+
}
|
|
4628
|
+
|
|
4629
|
+
&TMinus{
|
|
4630
|
+
margin-top: -1px;
|
|
4631
|
+
}
|
|
4632
|
+
|
|
4633
|
+
&-l-auto{
|
|
4634
|
+
margin-left: auto;
|
|
4635
|
+
}
|
|
4636
|
+
&-r-auto{
|
|
4637
|
+
margin-right: auto;
|
|
4638
|
+
}
|
|
4639
|
+
}
|
|
4640
|
+
|
|
4641
|
+
//패딩 값
|
|
4642
|
+
.pd{
|
|
4643
|
+
@for $i from 0 through 40{
|
|
4644
|
+
@if(($i % 5) == 0){
|
|
4645
|
+
&t#{$i}{padding-top: #{$i}px;}
|
|
4646
|
+
&l#{$i}{padding-left: #{$i}px;}
|
|
4647
|
+
&r#{$i}{padding-right: #{$i}px;}
|
|
4648
|
+
&b#{$i}{padding-bottom: #{$i}px;}
|
|
4649
|
+
}
|
|
4650
|
+
}
|
|
4651
|
+
}
|
|
4652
|
+
|
|
4653
|
+
// 넓이 값 - 퍼센트
|
|
4654
|
+
.w{
|
|
4655
|
+
@for $i from 0 through 100{
|
|
4656
|
+
@if(($i % 5) == 0){
|
|
4657
|
+
&#{$i}{width: #{$i + '%'};}
|
|
4658
|
+
}
|
|
4659
|
+
}
|
|
4660
|
+
}
|
|
4661
|
+
|
|
4662
|
+
// 넓이 값 - 픽셀
|
|
4663
|
+
.w{
|
|
4664
|
+
@for $i from 0 through 500{
|
|
4665
|
+
@if(($i % 10) == 0){
|
|
4666
|
+
&#{$i}px{width: #{$i + 'px'};}
|
|
4667
|
+
}
|
|
4668
|
+
}
|
|
4669
|
+
}
|
|
4670
|
+
|
|
4614
4671
|
}
|
|
4615
4672
|
|