forked from Yara724/api
197 lines
7.0 KiB
TypeScript
197 lines
7.0 KiB
TypeScript
export const PR = {
|
|
reportTitle: "گزارش پرونده بیمه گر",
|
|
publicId: "شناسه عمومی",
|
|
requestNo: "شماره درخواست",
|
|
empty: "-",
|
|
ownerSection: "مالک خودروی زیان دیده",
|
|
driverSection: "راننده خودروی زیان دیده",
|
|
insuranceSection: "اطلاعات بیمه (بدنه و شخص ثالث)",
|
|
vehicleSection: "اطلاعات خودرو",
|
|
accidentSection: "گزارش حادثه",
|
|
name: "نام",
|
|
phone: "شماره تلفن",
|
|
nationalCode: "کد ملی",
|
|
birthDate: "تاریخ تولد",
|
|
sheba: "شماره شبا",
|
|
licenseType: "نوع گواهینامه",
|
|
licenseDate: "تاریخ گواهینامه",
|
|
licenseNumber: "شماره گواهینامه",
|
|
driverLicense: "گواهینامه راننده",
|
|
data: "اطلاعات",
|
|
date: "تاریخ",
|
|
time: "زمان",
|
|
experts: "کارشناس(ان)",
|
|
location: "موقعیت (عرض و طول جغرافیایی)",
|
|
weather: "وضعیت آب و هوا",
|
|
road: "وضعیت جاده",
|
|
light: "وضعیت نور",
|
|
blameStatus: "وضعیت مقصر",
|
|
claimStatus: "وضعیت خسارت",
|
|
expertDecision: "نظر کارشناس مقصر",
|
|
accidentWay: "نحوه برخورد",
|
|
accidentReason: "علت حادثه",
|
|
accidentType: "نوع حادثه",
|
|
damageExpertDate: "تاریخ ارزیابی کارشناس خسارت",
|
|
damageExpertNotes: "توضیحات کارشناس خسارت",
|
|
partyDescription: "توضیحات طرف",
|
|
} as const;
|
|
|
|
const KEY_LABELS: Record<string, string> = {
|
|
policyNumber: "شماره بیمهنامه",
|
|
company: "شرکت بیمه",
|
|
insurerCompany: "شرکت بیمهگر",
|
|
startDate: "تاریخ شروع",
|
|
endDate: "تاریخ پایان",
|
|
financialCeiling: "سقف مالی",
|
|
coverages: "پوششها",
|
|
plateId: "پلاک",
|
|
name: "نام",
|
|
model: "مدل",
|
|
type: "نوع",
|
|
carName: "نام خودرو",
|
|
carModel: "مدل خودرو",
|
|
carType: "نوع خودرو",
|
|
isNew: "خودرو نو",
|
|
isNewCar: "خودرو نو",
|
|
leftDigits: "دو رقم چپ پلاک",
|
|
centerAlphabet: "حرف پلاک",
|
|
centerDigits: "سه رقم وسط پلاک",
|
|
ir: "کد ایران",
|
|
plate: "پلاک",
|
|
CompanyName: "نام شرکت",
|
|
PolicyNumber: "شماره بیمهنامه",
|
|
PolicyStartDate: "تاریخ شروع بیمه",
|
|
PolicyEndDate: "تاریخ پایان بیمه",
|
|
LicenseType: "نوع گواهینامه",
|
|
licenseType: "نوع گواهینامه",
|
|
IssueDate: "تاریخ صدور",
|
|
issueDate: "تاریخ صدور",
|
|
ExpireDate: "تاریخ انقضا",
|
|
expireDate: "تاریخ انقضا",
|
|
party: "طرف",
|
|
insurance: "بیمه",
|
|
carBodyInsurance: "بیمه بدنه",
|
|
inquiry: "استعلام",
|
|
thirdParty: "شخص ثالث",
|
|
carBody: "بدنه",
|
|
claim: "خسارت",
|
|
vehicle: "خودرو",
|
|
blame: "مقصر",
|
|
items: "موارد",
|
|
value: "مقدار",
|
|
mapped: "نتیجه استعلام",
|
|
has: "موجود",
|
|
updatedAt: "بهروزرسانی",
|
|
source: "منبع",
|
|
PrntPlcyCmpDocNo: "شماره سند شرکت",
|
|
MapTypNam: "نام نوع خودرو",
|
|
MtrNum: "شماره موتور",
|
|
ShsNum: "شماره شاسی",
|
|
vin: "VIN",
|
|
VinNumberField: "VIN",
|
|
DisFnYrPrcnt: "درصد تخفیف مالی",
|
|
DisLfYrPrcnt: "درصد تخفیف جانی",
|
|
DisPrsnYrPrcnt: "درصد تخفیف شخص ثالث",
|
|
MapVehicleSystemName: "سیستم خودرو",
|
|
LfCvrCptl: "سرمایه پوشش جانی",
|
|
FnCvrCptl: "سرمایه پوشش مالی",
|
|
PrsnCvrCptl: "سرمایه پوشش شخص ثالث",
|
|
PersonCvrCptl: "سرمایه پوشش شخص",
|
|
LifeCvrCptl: "سرمایه پوشش حیات",
|
|
FinancialCvrCptl: "سرمایه پوشش مالی",
|
|
VehicleSystemCode: "کد سیستم خودرو",
|
|
CarGroupCode: "کد گروه خودرو",
|
|
CylCnt: "تعداد سیلندر",
|
|
LastCompanyDocumentNumber: "شماره سند آخرین شرکت",
|
|
UsageCode: "کد کاربری",
|
|
MapUsageCode: "کد کاربری نگاشتشده",
|
|
MapUsageName: "نام کاربری",
|
|
Plk1: "دو رقم چپ پلاک",
|
|
Plk2: "حرف پلاک",
|
|
Plk3: "سه رقم وسط پلاک",
|
|
PlkSrl: "کد ایران پلاک",
|
|
SystemField: "سیستم",
|
|
TypeField: "تیپ",
|
|
UsageField: "کاربری",
|
|
MainColorField: "رنگ اصلی",
|
|
SecondColorField: "رنگ فرعی",
|
|
ModelField: "مدل",
|
|
CapacityField: "ظرفیت",
|
|
CacityField: "ظرفیت",
|
|
CylinderNumberField: "تعداد سیلندر",
|
|
EngineNumberField: "شماره موتور",
|
|
ChassisNumberField: "شماره شاسی",
|
|
InstallDateField: "تاریخ نصب",
|
|
AxelNumberField: "تعداد محور",
|
|
WheelNumberField: "تعداد چرخ",
|
|
CompanyCode: "کد شرکت",
|
|
SatrtDate: "تاریخ شروع",
|
|
EndDate: "تاریخ پایان",
|
|
PolicyHealthLossCount: "تعداد خسارت جانی",
|
|
PolicyFinancialLossCount: "تعداد خسارت مالی",
|
|
PolicyPersonLossCount: "تعداد خسارت شخص ثالث",
|
|
Tonage: "تناژ",
|
|
ThirdPolicyCode: "کد بیمهنامه ثالث",
|
|
SystemCodeCii: "کد سیستم",
|
|
SystemNameCii: "نام سیستم",
|
|
TypeCodeCii: "کد نوع",
|
|
TypeNameCii: "نام نوع",
|
|
UsageNameCii: "نام کاربری",
|
|
UsageCodeCii: "کد کاربری",
|
|
ModelCii: "مدل",
|
|
StatusTypeCode: "کد وضعیت",
|
|
label_fa: "برچسب فارسی",
|
|
catalogKey: "کلید کاتالوگ",
|
|
};
|
|
|
|
const STATUS_LABELS: Record<string, string> = {
|
|
AGREED: "توافق",
|
|
DISAGREEMENT: "اختلاف نظر",
|
|
UNKNOWN: "نامشخص",
|
|
APPROVED: "تأیید شده",
|
|
REJECTED: "رد شده",
|
|
NEEDS_REVISION: "نیاز به بازبینی",
|
|
UNDER_REVIEW: "در حال بررسی",
|
|
PENDING: "در انتظار",
|
|
true: "بله",
|
|
false: "خیر",
|
|
};
|
|
|
|
/** Turn `party.insurance.policyNumber` into a Persian label. */
|
|
export function persianFieldPath(path: string): string {
|
|
if (!path) return PR.data;
|
|
const parts = path.split(".").filter(Boolean);
|
|
const last = parts[parts.length - 1] ?? path;
|
|
const translatedLast = KEY_LABELS[last] ?? last;
|
|
|
|
const inquiryRoot = parts.find(
|
|
(p) => p === "thirdParty" || p === "carBody" || p === "mapped",
|
|
);
|
|
if (inquiryRoot === "thirdParty") {
|
|
return `بیمه شخص ثالث / ${translatedLast}`;
|
|
}
|
|
if (inquiryRoot === "carBody") {
|
|
return `بیمه بدنه / ${translatedLast}`;
|
|
}
|
|
if (parts[0] === "party" && parts[1] === "insurance") {
|
|
return `بیمه / ${translatedLast}`;
|
|
}
|
|
if (parts[0] === "claim" && parts[1] === "vehicle") {
|
|
return `خودرو / ${translatedLast}`;
|
|
}
|
|
if (parts[0] === "party" && parts[1] === "vehicle") {
|
|
return `خودرو / ${translatedLast}`;
|
|
}
|
|
|
|
if (parts.length === 1) return translatedLast;
|
|
|
|
const translated = parts.map((part) => KEY_LABELS[part] ?? part);
|
|
return translated.join(" / ");
|
|
}
|
|
|
|
export function persianStatus(value: unknown): string | undefined {
|
|
if (value === undefined || value === null || value === "") return undefined;
|
|
const key = String(value);
|
|
return STATUS_LABELS[key] ?? key;
|
|
}
|