You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

316 lines
10 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

"use client";
import type { Priority1ShipmentType } from "@/workers/rpa/priority1/shipment-types";
/** Priority1 官网 #freight-shipment 选项2026-06 页面实测) */
export const P1_SHIPMENT_FREQUENCY_VALUES = [
"1-5",
"5-10",
"10-30",
"30-100",
"100+",
"One Time Shipment",
] as const;
export type P1ShipmentFrequency = (typeof P1_SHIPMENT_FREQUENCY_VALUES)[number];
export const P1_FREQUENCY_OPTIONS: Array<{
value: P1ShipmentFrequency;
label: string;
}> = [
{ value: "1-5", label: "每月 15 票" },
{ value: "5-10", label: "每月 510 票" },
{ value: "10-30", label: "每月 1030 票" },
{ value: "30-100", label: "每月 30100 票" },
{ value: "100+", label: "每月 100 票以上" },
{ value: "One Time Shipment", label: "单次发货" },
];
/** Step 1 运输类型卡片界面中文RPA 仍用英文 card 文本) */
export const P1_SHIPMENT_CARDS: Array<{
id: Priority1ShipmentType;
title: string;
description: string;
}> = [
{
id: "ltl",
title: "零担运输",
description:
"适用于 15,000 磅以下小票货;共享车厢空间,按实际占用计费。",
},
{
id: "ftl",
title: "整车运输",
description:
"适用于最高约 45,000 磅整车;可询价干货厢、平板、温控、加急等车型。",
},
{
id: "expedited",
title: "加急运输",
description:
"时效敏感或高价值货物,最高约 10,000 磅Sprinter 厢式车与直卡可选。",
},
];
/** Step 2 标题 */
export const P1_STEP2_HEADING: Record<Priority1ShipmentType, string> = {
ltl: "零担运输报价",
ftl: "整车运输报价",
expedited: "加急运输报价",
};
export const P1_STEP2_SUBTITLE =
"填写货物与车型信息,提交后系统将在 Priority1 官网按相同参数自动询价。";
/** 零担 Step 2 — 对齐官网 LTL Step 2 */
export const P1_LTL_UI = {
freightSection: "货物信息",
length: "长度",
width: "宽度",
height: "高度",
dimensionUnit: "in",
totalWeight: "总重量",
weightUnit: "lbs",
packaging: "货物如何包装?",
palletCount: "托盘数量",
freightClass: "货运等级",
pickupSection: "提货信息",
pickupLocation: "提货地点类型",
pickupServices: "提货附加服务(可选)",
deliverySection: "派送信息",
deliveryLocation: "派送地点类型",
deliveryServices: "派送附加服务(可选)",
} as const;
/** 整车 Step 2 区块文案 */
export const P1_FTL_UI = {
selectTrailer: "选择拖车类型",
openDeckType: "开放式平板类型",
openDeckPlaceholder: "请选择平板子类型",
tempMin: "最低温度°F",
tempMax: "最高温度°F",
tempMinPlaceholder: "请输入最低温度",
tempMaxPlaceholder: "请输入最高温度",
selectExpeditedTrailer: "选择加急车型",
liftgate: "尾板(升降尾板)",
liftgateDesc:
"在无装卸台或叉车的场所安全装卸重货,适合紧急派送。",
additionalServices: "附加服务(可选)",
specialHandling: "特殊处理要求(可选)",
freightSection: "货物信息",
commodity: "您运送的是什么?",
commodityPlaceholder: "例如:托盘",
totalWeight: "总重量",
weightUnit: "lbs",
palletCount: "托盘数量",
palletPlaceholder: "请输入托盘数量",
subtitle:
"填写货运详情,查看可节省的费用;在 CaboTMS 获取实时市场价格并在线预订。",
} as const;
/** 加急主类型 Step 2 — 对齐官网 EXPEDITED QUOTE */
export const P1_EXPEDITED_UI = {
selectTrailer: "选择拖车类型",
additionalServices: "附加服务(可选)",
freightSection: "货物信息",
commodity: "您运送的是什么?",
totalWeight: "总重量",
subtitle:
"可在 CaboTMS 即时询价并预订 Sprinter 厢式车或直卡加急运单,支持紧急、周末及尾板选项。",
} as const;
export const P1_COMMON_UI = {
step1: "第 1 步",
step2: "第 2 步",
step2Of2: "第 2 步(共 2 步)",
shipmentType: "运输类型",
originZip: "起运邮编",
destZip: "目的邮编",
frequency: "每月发货频次",
pickupDate: "提货日期",
pickupDateHint: "仅可选择今天之后的日期",
email: "商务邮箱",
getQuotes: "获取即时报价",
backStep1: "返回第 1 步",
stickyHint: "填写完成后点击按钮进入下一步或提交询价",
} as const;
/** 整车 — 主拖车四选一id 对应 RPA */
export const P1_FTL_TRAILERS = [
{
id: "dry_van" as const,
label: "干货厢式车",
desc: "53 英尺全封闭厢;最多约 26 托盘、45,000 磅,最常选。",
},
{
id: "open_deck" as const,
label: "开放式平板",
desc: "无顶无侧板;含平板、阶梯板、侧帘、鹅颈低板等。",
},
{
id: "temperature_controlled" as const,
label: "温控冷藏车",
desc: "全封闭冷藏厢,内置温控单元。",
},
{
id: "ftl_expedited" as const,
label: "加急运输",
desc: "Sprinter 厢式车与直卡,适合时效敏感货。",
},
];
/** Open Deck 子类型value 为官网选项文本,供 RPA selectOption */
export const P1_OPEN_DECK_OPTIONS = [
{ value: "48 Foot Flatbed", label: "48 英尺平板车" },
{ value: "53 Foot Flatbed", label: "53 英尺平板车" },
{ value: "48 Foot Step Deck", label: "48 英尺阶梯式平板" },
{ value: "53 Foot Step Deck", label: "53 英尺阶梯式平板" },
{ value: "Removable Gooseneck", label: "可拆卸鹅颈车" },
{ value: "Double Drop", label: "双降平板车" },
{ value: "Conestoga", label: "伸缩蓬车" },
{ value: "Hot Shot/Gooseneck", label: "轻型急件 / 鹅颈车" },
];
/** 整车标准附加服务(干货厢 / 平板 / 温控)— Full FTL + Partial PTL + Team Drivers */
export const P1_FTL_ADDITIONAL = [
{
id: "full_ftl" as const,
label: "整车 FTL",
desc: "大批量、专属运力、较短在途时间。",
},
{
id: "partial_ptl" as const,
label: "拼车 PTL",
desc: "中等货量拼车,分摊车厢成本。",
},
{
id: "team_drivers" as const,
label: "双驾团队",
desc: "紧急货物,尽可能缩短在途时间。",
},
];
/** @deprecated 请使用 P1_FTL_ADDITIONAL */
export const P1_FTL_ADDITIONAL_STANDARD = P1_FTL_ADDITIONAL.filter(
(s) => s.id !== "team_drivers",
);
/** FTL 内嵌 Expedited — 附加服务仅尾板卡片 */
export const P1_FTL_LIFTGATE_SERVICE = {
label: "尾板(升降尾板)",
desc: "在无装卸台或叉车的场所安全装卸重货,适合紧急派送。",
} as const;
/** FTL 内嵌 Expedited — 特殊处理value 为官网标签) */
export const P1_SPECIAL_HANDLING = [
{ value: "Hazmat", label: "危险品" },
{ value: "High Value", label: "高价值物品" },
{ value: "Tanker Endorsed", label: "油罐车背书" },
{ value: "Overdimensional", label: "超限货物" },
];
/** 加急车型(整车内嵌加急 / 主类型加急共用) */
export const P1_EXP_TRAILERS = [
{
id: "sprinter_van" as const,
label: "Sprinter 厢式车",
desc: "约 172×52×72 in最多 3 托盘、3,500 磅;非 dock 高度。",
},
{
id: "small_straight" as const,
label: "小型直卡",
desc: "约 169×90×101 in最多 6 托盘、5,000 磅。",
},
{
id: "large_straight" as const,
label: "大型直卡",
desc: "约 312×96×96 in最多 14 托盘、10,000 磅。",
},
];
export const P1_PACKAGING_OPTIONS = [
{ value: "Pallet", label: "托盘" },
{ value: "Crate", label: "木箱" },
{ value: "Box", label: "纸箱" },
{ value: "Bundle", label: "捆扎" },
];
export const P1_LOCATION_OPTIONS = [
{ value: "Residence / Home Business", label: "住宅 / 家庭办公" },
{
value: "Business (with loading docks or forklift)",
label: "商业(有装卸台或叉车)",
},
{
value: "Business (no loading dock, no forklift)",
label: "商业(无装卸台、无叉车)",
},
];
export const P1_PICKUP_ACCESSORIALS = [
{ value: "Liftgate at Pickup", label: "提货尾板" },
{ value: "Inside Pickup", label: "室内提货" },
{ value: "Limited Access Pickup", label: "限制进入" },
{ value: "Residential Pickup", label: "住宅提货" },
];
export const P1_DELIVERY_ACCESSORIALS = [
{ value: "Liftgate at Delivery", label: "派送尾板" },
{ value: "Inside Delivery", label: "室内派送" },
{ value: "Delivery Appointment", label: "派送预约" },
{ value: "Call Before Delivery", label: "派送前电话" },
{ value: "Limited Access Delivery", label: "限制进入" },
{ value: "Hazardous Material", label: "危险品" },
{ value: "Residential Delivery", label: "住宅派送" },
];
export const P1_FREIGHT_CLASS_OPTIONS = [
{ value: "Not Sure", label: "不确定" },
{ value: "50", label: "50" },
{ value: "55", label: "55" },
{ value: "60", label: "60" },
{ value: "65", label: "65" },
{ value: "70", label: "70" },
{ value: "77.5", label: "77.5" },
{ value: "85", label: "85" },
{ value: "92.5", label: "92.5" },
{ value: "100", label: "100" },
{ value: "110", label: "110" },
{ value: "125", label: "125" },
{ value: "150", label: "150" },
{ value: "175", label: "175" },
{ value: "200", label: "200" },
{ value: "250", label: "250" },
{ value: "300", label: "300" },
{ value: "400", label: "400" },
{ value: "500", label: "500" },
];
/** Priority1 报价结果页(中文展示) */
export const P1_RESULT_UI = {
title: "即时报价方案",
intro:
"以下为 Priority1 官网即时报价,金额与有效期与页面展示一致。",
standardLtl: "标准零担LTL",
quoteBadge: (n: number) => `报价 ${n}`,
transit: (days: number) =>
days === 1 ? "时效1 个工作日" : `时效:${days} 个工作日`,
transitUnknown: "时效:—",
expiration: "报价失效日",
delivery: "预计送达日",
dateUnknown: "—",
ftlTitle: "即时报价方案",
ftlIntro: "整车报价按日历展示各提货日价格,与官网一致。",
ftlLowest: (amount: string) => `本月最低报价:$${amount}`,
shippingDetails: "运单摘要",
from: "起运",
to: "目的",
date: "提货日",
weight: "重量",
items: "货物",
requestNewQuote: "重新询价",
schedule: "日程",
} as const;
export { p1DateFromIso, p1DateToIso } from "@/lib/priority1/date-format";