Skip to content

常用变量说明

本文档列出合同模板中当前系统实际支持的全部变量,以后端渲染代码(OrderService::generateContract 等)为准整理。 模板编辑时请只使用本文档列出的变量名;写错或自定义拼写的变量不会被替换,会原样留在合同里。

一、变量基本格式

变量使用双大括号包裹,全小写、单词间用下划线连接(snake_case):

html
<p>客户姓名:{{customer_name}}</p>
<p>车牌号:{{license_plate}}</p>
规则正确示例错误示例
snake_case 小写下划线{{customer_name}}{{customerName}}
全部小写{{order_amount}}{{OrderAmount}}
下划线连接{{license_plate}}{{license-plate}}
英文命名{{vehicle_brand}}{{车辆品牌}}

二、变量总表

2.1 合同信息

变量说明取值来源 / 格式
{{contract_number}}合同编号与订单编号一致(如 202606101430251234
{{effective_date}}合同生效日期格式:2026年6月10日
{{expire_date}}合同到期日期格式:2027年6月10日
{{sign_date}}签署日期客户已签署时取实际签字日期,未签署取当天
{{order_date}}订单日期取订单的下单日期,备用变量

2.2 客户信息

变量说明取值来源 / 格式
{{customer_name}}客户姓名客户资料
{{customer_phone}}联系电话客户资料
{{customer_id_number}}证件号码客户资料
{{customer_id_type}}证件类型(自动显示中文)身份证 / 护照 / 军官证 / 营业执照
{{customer_address}}客户地址客户资料
{{customer_signature}}客户签名图片特殊变量:合同生成时保留占位,客户签署后在 PDF 导出/预览时自动注入签名图片;未签署时显示为空

证件类型注意

系统仅对 身份证/护照/军官证/营业执照 四种类型做中文转换,其他证件类型会默认显示为「身份证」,涉及其他证件类型时请勿依赖该变量。

2.3 车辆信息

变量说明取值来源 / 格式
{{vehicle_brand}}车辆品牌订单车辆信息,如 特斯拉
{{vehicle_model_name}}车型名称订单车辆信息,如 Model 3
{{vehicle_model_code}}厂牌型号编码订单车辆信息
{{vehicle_brand_model}}品牌+型号(自动组合)特斯拉 Model 3
{{license_plate}}车牌号浙A12345
{{vin}}车架号(VIN)17 位车辆识别码
{{engine_number}}发动机号订单车辆信息
{{vehicle_type}}车辆属性(自动显示中文)新车 / 二手车
{{vehicle_mileage}}表显里程(公里)35000
{{purchase_amount}}购车发票金额158000.00
{{purchase_date}}购车发票日期格式:2025年3月15日
{{register_date}}首次登记日期格式:2025年3月15日

2.4 产品信息

变量说明取值来源 / 格式
{{product_id}}产品 ID关联产品
{{product_name}}产品名称三众电车
{{product_display_name}}产品显示名称取产品的显示名称,未配置时回退为产品名称
{{warranty_coverage}}保修范围说明⚠️ 当前为固定文本「(详见本合同保障范围条款)」,不读取产品字段
{{exemption_clause}}免责条款取产品的免责条款配置
{{service_phone}}服务电话取产品的服务电话配置

2.5 订单信息

变量说明取值来源 / 格式
{{order_amount}}订单金额6888.00
{{amount_in_words}}订单金额大写(自动转换)陆仟捌佰捌拾捌元整
{{payment_plan}}付款方式(自动显示中文)全款 / 分期
{{remarks}}订单备注取订单备注
{{service_term_desc}}服务期限描述(自动拼接)2026年03月24日到2034年03月23日或160000公里终止,两者先到为准
{{service_duration_months}}保障月数36
{{service_duration_years}}保障年限(月数÷12,保留 1 位小数)3.0
{{coverage_mileage}}保障里程(公里)160000
{{supplier_name}}供应商(承保公司)名称取公司全称,未配置时回退为公司简称

2.6 系统生成

变量说明取值来源 / 格式
{{date_now}}当前日期格式:2026年6月10日
{{tenant_name}}租户名称⚠️ 当前固定输出「平台」
{{company_seal_image}}公司公章图片读取关联产品的公章配置并自动嵌入图片;产品未配置公章时输出为空

三、自定义变量

在模板编辑页的「自定义变量」字段中以 JSON 格式定义:

json
{
  "deductible_amount": "500",
  "gift_description": "赠送一次基础保养"
}

在模板中同样用 {{deductible_amount}} 引用。

注意事项:

  • 自定义变量名同样必须遵循 snake_case 规范。
  • ⚠️ 内置变量优先:如果自定义变量与内置变量同名,实际生效的是内置变量(系统会忽略同名的自定义值)。请避免与上面的内置变量重名。
  • 未定义的变量不会被替换,会以 {{xxx}} 原文形式留在合同中。

四、历史资料差异说明

早期文档《模板变量命名规范》(cankao/模板变量命名.md)中的部分写法与当前系统实际行为不一致,以本文档为准:

早期文档写法当前系统实际变量
{{vehicle_model}}{{vehicle_model_name}} / {{vehicle_model_code}}
{{vehicle_attribute}}{{vehicle_type}}
{{mileage}}{{vehicle_mileage}}
日期格式 2026-06-10实际输出 2026年6月10日
自定义变量覆盖内置变量实际是内置变量优先

五、常见问题

Q:变量写错了会怎样? A:不会被替换,{{custmer_name}}(拼写错误)会原样显示在合同中。保存模板后请生成一份测试合同核对。

Q:数据为空时显示什么? A:显示为空白。建议在模板排版时为空值预留合理版式。

Q:一个模板能用多少个变量? A:没有数量限制。

Q:旧模板里的 memberName{{service_fee}} 这些写法还能用吗? A:不能。系统不会自动转换旧变量名,必须手工改为标准变量,对应关系见 一级合同模板变量说明

车辆保险/延保业务管理系统 用户使用文档