Replace external berth dashboard with native Vue interface
- Replace iframe embed with full-featured berth status dashboard - Add BerthDetailsModal and BerthStatusBadge components - Implement search, filtering, and multiple view modes - Add berth management API endpoints (get-by-id, update) - Include measurement conversion utilities and type definitions - Provide status summaries and visual berth overview
This commit is contained in:
122
utils/types.ts
122
utils/types.ts
@@ -1,28 +1,110 @@
|
||||
// Berth Status Enum
|
||||
export enum BerthStatus {
|
||||
Available = 'Available',
|
||||
Waitlist = 'Waitlist',
|
||||
Reserved = 'Reserved',
|
||||
Sold = 'Sold'
|
||||
}
|
||||
|
||||
// Berth Area Enum
|
||||
export enum BerthArea {
|
||||
A = 'A',
|
||||
B = 'B',
|
||||
C = 'C',
|
||||
D = 'D',
|
||||
E = 'E'
|
||||
}
|
||||
|
||||
// Side Pontoon Options
|
||||
export enum SidePontoon {
|
||||
No = 'No',
|
||||
QuaySB = 'Quay SB',
|
||||
QuayPT = 'Quay PT',
|
||||
QuaySBYesPT = 'Quay SB, Yes PT',
|
||||
QuayPTYesSB = 'Quay PT, Yes SB',
|
||||
YesSB = 'Yes SB',
|
||||
YesPT = 'Yes PT'
|
||||
}
|
||||
|
||||
// Mooring Type Options
|
||||
export enum MooringType {
|
||||
SidePierMed = 'Side Pier / Med Mooring',
|
||||
DoubleMed = '2x Med Mooring',
|
||||
SidePierFinger = 'Side Pier / Finger',
|
||||
FingerMed = 'Finger / Med Mooring',
|
||||
DoubleFinger = '2x Finger'
|
||||
}
|
||||
|
||||
// Cleat Type Options
|
||||
export enum CleatType {
|
||||
A3 = 'A3',
|
||||
A5 = 'A5'
|
||||
}
|
||||
|
||||
// Cleat Capacity Options
|
||||
export enum CleatCapacity {
|
||||
TwentyToTwentyFour = '20-24 ton break load',
|
||||
TenToFourteen = '10-14 ton break load'
|
||||
}
|
||||
|
||||
// Bollard Type Options
|
||||
export enum BollardType {
|
||||
TypeA = 'Bull bollard type A',
|
||||
TypeB = 'Bull bollard type B'
|
||||
}
|
||||
|
||||
// Bollard Capacity Options
|
||||
export enum BollardCapacity {
|
||||
Twenty = '20 ton break load',
|
||||
Forty = '40 ton break load'
|
||||
}
|
||||
|
||||
// Access Options
|
||||
export enum Access {
|
||||
CarThreeTonToVessel = 'Car (3t) to Vessel',
|
||||
CarToVessel = 'Car to Vessel',
|
||||
CarToQuaiCartToVessel = 'Car to Quai, Cart to Vessel',
|
||||
CartToVessel = 'Cart to Vessel',
|
||||
CarThreeAndHalfTonToVessel = 'Car (3.5t) to Vessel'
|
||||
}
|
||||
|
||||
// Interested Party with status info
|
||||
export interface InterestedParty extends Interest {
|
||||
linkId?: number; // ID of the link record if needed
|
||||
}
|
||||
|
||||
export interface Berth {
|
||||
Id: number;
|
||||
"Mooring Number": string;
|
||||
Length: string;
|
||||
Draft: string;
|
||||
"Side Pontoon": string;
|
||||
"Mooring Number": string; // e.g., 'A5'
|
||||
Area: string; // Area enum values: A, B, C, D, E
|
||||
Status: string; // BerthStatus enum values
|
||||
"Nominal Boat Size": number; // in feet (imperial)
|
||||
"Water Depth": number; // in feet
|
||||
Length: number; // in feet
|
||||
Width: number; // in feet
|
||||
Depth: number; // in feet
|
||||
"Side Pontoon": string; // SidePontoon enum values
|
||||
"Power Capacity": number;
|
||||
Voltage: number;
|
||||
Status: string;
|
||||
Width: string;
|
||||
Area: string;
|
||||
"Map Data": {};
|
||||
"Nominal Boat Size": number;
|
||||
"Water Depth": string;
|
||||
"Water Depth Is Minimum": boolean;
|
||||
"Width Is Minimum": boolean;
|
||||
"Mooring Type": string;
|
||||
"Cleat Type": string;
|
||||
"Cleat Capacity": string;
|
||||
"Bollard Type": string;
|
||||
"Bollard Capacity": string;
|
||||
Access: string;
|
||||
Price: string;
|
||||
"Mooring Type": string; // MooringType enum values
|
||||
"Cleat Type": string; // CleatType enum values
|
||||
"Cleat Capacity": string; // CleatCapacity enum values
|
||||
"Bollard Type": string; // BollardType enum values
|
||||
"Bollard Capacity": string; // BollardCapacity enum values
|
||||
"Bow Facing": string;
|
||||
"Berth Approved": boolean;
|
||||
Access: string; // Access enum values
|
||||
Price: number;
|
||||
"Interested Parties"?: InterestedParty[];
|
||||
"Map Data"?: {};
|
||||
"Water Depth Is Minimum"?: boolean;
|
||||
"Width Is Minimum"?: boolean;
|
||||
"Berth Approved"?: boolean;
|
||||
"Created At"?: string;
|
||||
"Updated At"?: string;
|
||||
}
|
||||
|
||||
export interface BerthsResponse {
|
||||
list: Berth[];
|
||||
}
|
||||
|
||||
export interface EOIDocument {
|
||||
|
||||
Reference in New Issue
Block a user