chore: departure real line number (wip)

This commit is contained in:
2025-07-06 15:50:30 +02:00
parent 022e937a17
commit 0fae903884
2 changed files with 42 additions and 23 deletions
+40 -22
View File
@@ -60,18 +60,35 @@
<tr v-for="(row, i) in computedTimetableRows"> <tr v-for="(row, i) in computedTimetableRows">
<!-- Line no. --> <!-- Line no. -->
<td <td
class="text-center align-top border-l border-l-black dark:border-l-white" class="text-center align-top border-l border-l-black dark:border-l-white relative"
:class="{ :class="{
'border-t border-t-black dark:border-t-white': 'border-t border-t-black dark:border-t-white':
row.lastRowRef != null && row.lastRowRef.realLine != row.realLine, row.lastRowRef != null && row.lastRowRef.arrivalLineNumber != row.arrivalLineNumber,
'border-b border-b-black dark:border-b-white': i == computedTimetableRows.length - 1 'border-b border-b-black dark:border-b-white': i == computedTimetableRows.length - 1
}" }"
> >
{{ <div class="absolute -top-[0.5px] left-0 w-full h-full">
row.lastRowRef == null || row.lastRowRef.realLine != row.realLine <table class="h-full w-full border-collapse">
? row.realLine <tbody>
: '&nbsp;' <!-- Arrival Km -->
}} <tr class="align-top">
<td>
{{
row.lastRowRef == null ||
row.lastRowRef.arrivalLineNumber != row.arrivalLineNumber
? row.arrivalLineNumber
: '&nbsp;'
}}
</td>
</tr>
<!-- Departure Km -->
<tr class="align-top">
<!-- <td>{{ row.departureLineNumber != row.arrivalLineNumber ? row.departureLineNumber : '&nbsp;' }}</td> -->
</tr>
</tbody>
</table>
</div>
</td> </td>
<!-- Km --> <!-- Km -->
@@ -94,7 +111,7 @@
(row.lastRowRef.departureSpeedL == row.arrivalSpeedL && (row.lastRowRef.departureSpeedL == row.arrivalSpeedL &&
row.lastRowRef.departureSpeedP == row.arrivalSpeedP && row.lastRowRef.departureSpeedP == row.arrivalSpeedP &&
row.lastRowRef.departureTracks == row.arrivalTracks && row.lastRowRef.departureTracks == row.arrivalTracks &&
row.lastRowRef.realLine == row.realLine) row.lastRowRef.arrivalLineNumber == row.arrivalLineNumber)
}" }"
> >
{{ row.arrivalKm }} {{ row.arrivalKm }}
@@ -412,7 +429,8 @@ const computedTimetableRows = computed(() => {
let arrivalKm = 0, let arrivalKm = 0,
arrivalTracks = 0, arrivalTracks = 0,
departureTracks = 2, departureTracks = 2,
realLineNo = 0, arrivalLineNumber = 0,
departureLineNumber = 0,
abbrevs = [] as string[]; abbrevs = [] as string[];
if (currentPath.departureLineData) { if (currentPath.departureLineData) {
@@ -421,17 +439,16 @@ const computedTimetableRows = computed(() => {
? Math.min(currentPath.departureLineData.routeSpeedExit, stockVmax) ? Math.min(currentPath.departureLineData.routeSpeedExit, stockVmax)
: departureSpeedL; : departureSpeedL;
// departureSpeed = Math.min(currentPath.departureLineData.routeSpeed, stockVmax);
departureTracks = currentPath.departureLineData.routeTracks; departureTracks = currentPath.departureLineData.routeTracks;
// arrivalSpeed = departureSpeed;
arrivalSpeedL = departureSpeedL; arrivalSpeedL = departureSpeedL;
arrivalSpeedP = departureSpeedP; arrivalSpeedP = departureSpeedP;
arrivalTracks = departureTracks; arrivalTracks = departureTracks;
realLineNo = currentPath.departureLineData?.realLineNo ?? 0; departureLineNumber = currentPath.departureLineData?.realLineNo ?? 0;
arrivalLineNumber = departureLineNumber;
abbrevs = getAbbrevs(currentPath.departureLineData); abbrevs = getAbbrevs(currentPath.departureLineData);
} }
@@ -452,12 +469,13 @@ const computedTimetableRows = computed(() => {
: arrivalSpeedP; : arrivalSpeedP;
arrivalTracks = currentPath.arrivalLineData.routeTracks; arrivalTracks = currentPath.arrivalLineData.routeTracks;
realLineNo = currentPath.arrivalLineData.realLineNo ?? 0; arrivalLineNumber = currentPath.arrivalLineData.realLineNo ?? 0;
abbrevs = getAbbrevs(currentPath.arrivalLineData); abbrevs = getAbbrevs(currentPath.arrivalLineData);
} }
departureSpeedL = arrivalSpeedL; departureSpeedL = arrivalSpeedL;
departureSpeedP = arrivalSpeedP; departureSpeedP = arrivalSpeedP;
departureLineNumber = arrivalLineNumber;
departureTracks = arrivalTracks; departureTracks = arrivalTracks;
} }
@@ -485,7 +503,9 @@ const computedTimetableRows = computed(() => {
departureSpeedL = correctedDepartureSpeedL; departureSpeedL = correctedDepartureSpeedL;
departureSpeedP = correctedDepartureSpeedP; departureSpeedP = correctedDepartureSpeedP;
realLineNo = internalRouteInfo.realLineNo ?? realLineNo; arrivalLineNumber = internalRouteInfo.realLineNo ?? arrivalLineNumber;
departureLineNumber = internalRouteInfo.realLineNo ?? departureLineNumber;
abbrevs = getAbbrevs(internalRouteInfo); abbrevs = getAbbrevs(internalRouteInfo);
correctedDepartureTracks = internalRouteInfo.routeTracks; correctedDepartureTracks = internalRouteInfo.routeTracks;
@@ -495,6 +515,7 @@ const computedTimetableRows = computed(() => {
arrivalSpeedL = departureSpeedL; arrivalSpeedL = departureSpeedL;
arrivalSpeedP = departureSpeedP; arrivalSpeedP = departureSpeedP;
arrivalTracks = departureTracks; arrivalTracks = departureTracks;
arrivalLineNumber = departureLineNumber;
} }
} }
@@ -511,7 +532,8 @@ const computedTimetableRows = computed(() => {
stopTime: stop.stopTime ? (stop.departureTimestamp - stop.arrivalTimestamp) / 60000 : 0, stopTime: stop.stopTime ? (stop.departureTimestamp - stop.arrivalTimestamp) / 60000 : 0,
stopType: stop.stopType, stopType: stop.stopType,
sceneryName: currentPath.sceneryName, sceneryName: currentPath.sceneryName,
realLine: realLineNo == 0 ? '' : realLineNo.toString(), arrivalLineNumber: arrivalLineNumber == 0 ? '' : arrivalLineNumber.toString(),
departureLineNumber: departureLineNumber == 0 ? '' : departureLineNumber.toString(),
driveTime: lastDepartureTimestamp ? stop.arrivalTimestamp - lastDepartureTimestamp : 0, driveTime: lastDepartureTimestamp ? stop.arrivalTimestamp - lastDepartureTimestamp : 0,
abbrevs: [...pointAbbrevs, ...abbrevs], abbrevs: [...pointAbbrevs, ...abbrevs],
@@ -582,7 +604,8 @@ const computedTimetableRows = computed(() => {
? Math.min(currentPath.departureLineData.routeSpeedExit, stockVmax) ? Math.min(currentPath.departureLineData.routeSpeedExit, stockVmax)
: stopRows[i].departureSpeedL; : stopRows[i].departureSpeedL;
stopRows[i].realLine = currentPath.departureLineData.realLineNo?.toString() ?? ''; stopRows[i].arrivalLineNumber =
currentPath.departureLineData.realLineNo?.toString() ?? '';
if (stopRows[i].isMain || stopRows[i].pointName.endsWith(', podg')) { if (stopRows[i].isMain || stopRows[i].pointName.endsWith(', podg')) {
stopRows[i].departureSpeedL = Math.min( stopRows[i].departureSpeedL = Math.min(
@@ -604,11 +627,6 @@ const computedTimetableRows = computed(() => {
// currentPath.departureLineData.isRouteSBL // currentPath.departureLineData.isRouteSBL
// ); // );
/*
if (currentPath.departureLineData.isRouteSBL)
arrivalKm = stop.stopDistance + (currentPath.departureLineData.routeSpeed <= 130 ? 1.0 : 2.0);
else */
abbrevs = getAbbrevs(currentPath.departureLineData); abbrevs = getAbbrevs(currentPath.departureLineData);
stopRows[i].abbrevs = abbrevs; stopRows[i].abbrevs = abbrevs;
break; break;
+2 -1
View File
@@ -134,7 +134,8 @@ export interface StopRow {
stopType: string; stopType: string;
scheduledArrivalDate: Date | null; scheduledArrivalDate: Date | null;
scheduledDepartureDate: Date | null; scheduledDepartureDate: Date | null;
realLine: string; arrivalLineNumber: string;
departureLineNumber: string;
driveTime: number; driveTime: number;
abbrevs: string[]; abbrevs: string[];
sceneryName: string; sceneryName: string;