При загрузки КП загружается из аналогичного поля в Предложении вывести на форму в разделе Лизинг рядом с полем Продукт
158 lines
5.0 KiB
TypeScript
158 lines
5.0 KiB
TypeScript
/* eslint-disable canonical/sort-keys */
|
|
import { z } from 'zod';
|
|
|
|
const ValuesSchema = z.object({
|
|
addEquipmentPrice: z.number(),
|
|
balanceHolder: z.number(),
|
|
bonusCoefficient: z.number(),
|
|
brand: z.string().nullable(),
|
|
calcBroker: z.string().nullable(),
|
|
calcBrokerRewardCondition: z.string().nullable(),
|
|
calcBrokerRewardSum: z.number(),
|
|
calcDoubleAgent: z.string().nullable(),
|
|
calcDoubleAgentRewardCondition: z.string().nullable(),
|
|
calcDoubleAgentRewardSumm: z.number(),
|
|
calcFinDepartment: z.string().nullable(),
|
|
calcType: z.number(),
|
|
clientRisk: z.string().nullable(),
|
|
clientType: z.string().nullable(),
|
|
comissionPerc: z.number(),
|
|
comissionRub: z.number(),
|
|
configuration: z.string().nullable(),
|
|
costIncrease: z.boolean(),
|
|
countSeats: z.number(),
|
|
creditRate: z.number(),
|
|
dealer: z.string().nullable(),
|
|
dealerBroker: z.string().nullable(),
|
|
dealerBrokerRewardCondition: z.string().nullable(),
|
|
dealerBrokerRewardSumm: z.number(),
|
|
dealerPerson: z.string().nullable(),
|
|
dealerRewardCondition: z.string().nullable(),
|
|
dealerRewardSumm: z.number(),
|
|
deliveryTime: z.number(),
|
|
disableChecks: z.boolean(),
|
|
engineHours: z.number(),
|
|
engineType: z.number().nullable(),
|
|
engineVolume: z.number(),
|
|
finDepartmentRewardCondtion: z.string().nullable(),
|
|
finDepartmentRewardSumm: z.number(),
|
|
firstPaymentPerc: z.number(),
|
|
firstPaymentRub: z.number(),
|
|
fuelCard: z.string().nullable(),
|
|
fullPriceWithDiscount: z.boolean(),
|
|
GPSBrand: z.string().nullable(),
|
|
GPSModel: z.string().nullable(),
|
|
graphType: z.number(),
|
|
highSeasonStart: z.number().nullable(),
|
|
importerRewardPerc: z.number(),
|
|
importerRewardRub: z.number(),
|
|
importProgram: z.string().nullable(),
|
|
importProgramSum: z.number(),
|
|
indAgent: z.string().nullable(),
|
|
indAgentRewardCondition: z.string().nullable(),
|
|
indAgentRewardSumm: z.number(),
|
|
insAgeDrivers: z.number(),
|
|
insDecentral: z.boolean(),
|
|
insExpDrivers: z.number(),
|
|
insFranchise: z.number(),
|
|
insNSIB: z.string().nullable(),
|
|
insUnlimitDrivers: z.boolean(),
|
|
insurance: z.boolean(),
|
|
IRR_Perc: z.number(),
|
|
lastPaymentPerc: z.number(),
|
|
lastPaymentRedemption: z.boolean(),
|
|
lastPaymentRub: z.number(),
|
|
lastPaymentRule: z.number().nullable(),
|
|
lead: z.string().nullable(),
|
|
leaseObjectCategory: z.number().nullable(),
|
|
leaseObjectCount: z.number(),
|
|
leaseObjectMotorPower: z.number(),
|
|
leaseObjectPrice: z.number(),
|
|
leaseObjectPriceWthtVAT: z.number(),
|
|
leaseObjectType: z.string().nullable(),
|
|
leaseObjectUsed: z.boolean(),
|
|
leaseObjectUseFor: z.number().nullable(),
|
|
leaseObjectYear: z.number(),
|
|
leasingPeriod: z.number(),
|
|
leasingWithoutKasko: z.string().nullable(),
|
|
legalClientRegion: z.string().nullable(),
|
|
legalClientTown: z.string().nullable(),
|
|
maxMass: z.number(),
|
|
maxPriceChange: z.number(),
|
|
maxSpeed: z.number(),
|
|
mileage: z.number(),
|
|
minPriceChange: z.number(),
|
|
model: z.string().nullable(),
|
|
NSIB: z.boolean(),
|
|
objectCategoryTax: z.number().nullable(),
|
|
objectRegionRegistration: z.string().nullable(),
|
|
objectRegistration: z.number().nullable(),
|
|
objectTypeTax: z.number().nullable(),
|
|
opportunity: z.string().nullable(),
|
|
parmentsDecreasePercent: z.number(),
|
|
pi: z.number(),
|
|
priceWithDiscount: z.boolean(),
|
|
product: z.string().nullable(),
|
|
quote: z.string().nullable(),
|
|
quoteContactGender: z.number().nullable(),
|
|
quoteName: z.string().nullable(),
|
|
quoteRedemptionGraph: z.boolean(),
|
|
rate: z.string().nullable(),
|
|
recalcWithRevision: z.boolean(),
|
|
redemptionPaymentSum: z.number().nullable(),
|
|
regionRegistration: z.string().nullable(),
|
|
registration: z.string().nullable(),
|
|
registrationQuote: z.boolean(),
|
|
requirementTelematic: z.number().nullable(),
|
|
saleBonus: z.number(),
|
|
seasonType: z.number().nullable(),
|
|
showFinGAP: z.boolean(),
|
|
subsidy: z.string().nullable(),
|
|
supplierCurrency: z.string().nullable(),
|
|
supplierDiscountPerc: z.number(),
|
|
supplierDiscountRub: z.number(),
|
|
supplierFinancing: z.boolean(),
|
|
tarif: z.string().nullable(),
|
|
technicalCard: z.string().nullable(),
|
|
technicalCardQuote: z.boolean(),
|
|
telematic: z.string().nullable(),
|
|
totalPayments: z.number(),
|
|
townRegistration: z.string().nullable(),
|
|
tracker: z.string().nullable(),
|
|
typePTS: z.number().nullable(),
|
|
user: z.string().nullable(),
|
|
VATInLeaseObjectPrice: z.number(),
|
|
vehicleTaxInLeasingPeriod: z.number(),
|
|
vehicleTaxInYear: z.number(),
|
|
vin: z.string().nullable(),
|
|
withTrailer: z.boolean(),
|
|
partialVAT: z.boolean(),
|
|
floatingRate: z.boolean(),
|
|
|
|
/**
|
|
* Link Values
|
|
*/
|
|
downloadKp: z.string().nullable(),
|
|
kpUrl: z.string().nullable(),
|
|
leadUrl: z.string().nullable(),
|
|
opportunityUrl: z.string().nullable(),
|
|
quoteUrl: z.string().nullable(),
|
|
|
|
/**
|
|
* Readonly Values
|
|
*/
|
|
depreciationGroup: z.string().nullable(),
|
|
discountRub: z.number(),
|
|
insKaskoPriceLeasePeriod: z.number(),
|
|
irrInfo: z.object({
|
|
min: z.number(),
|
|
max: z.number(),
|
|
}),
|
|
leaseObjectRiskName: z.string().nullable(),
|
|
plPriceRub: z.number(),
|
|
registrationDescription: z.string().nullable(),
|
|
subsidySum: z.number(),
|
|
});
|
|
|
|
export default ValuesSchema;
|