{% macro renderProps(props) %}
{% autoescape false %}
{% for key, val in props %}
{% if val is same as(true) %}
{{- ' ' ~ key -}}
{% elseif val is same as(false) or val is null %}
{% elseif val is iterable %}
{% elseif (val ~ '') matches '/^-?\\d+(\\.\\d+)?$/' %}
{{- ' :' ~ key ~ '="' ~ val ~ '"' -}}
{% elseif val is not null and val != "" %}
{{- ' ' ~ key ~ '="' ~ val ~ '"' -}}
{% endif %}
{% endfor %}
{% endautoescape %}
{% endmacro %}
{% macro renderField(field, config, _self) %}
{% if field.name == 'layout' %}
{% for child in field.children %}
{{ _self.renderField(child, config, _self) -}}
{% endfor %}
{% else %}
{% if field.name in ['text', 'textarea', 'password'] %}
{% elseif field.name == 'number' %}
{% elseif field.name == 'select' %}
{% for item in field.options %}
{% endfor %}
{% elseif field.name == 'cascader' %}
{% elseif field.name == 'radio' %}
{% for item in field.options %}
{% if field.style == 'button' %}
{% else %}
{% endif %}
{% endfor %}
{% elseif field.name == 'checkbox' %}
{% for item in field.options %}
{% if field.style == 'button' %}
{% else %}
{% endif %}
{% endfor %}
{% elseif field.name == 'switch' %}
{% elseif field.name == 'slider' %}
{% elseif field.name == 'time' %}
{% elseif field.name == 'timerange' %}
{% elseif field.name == 'date' %}
{% elseif field.name == 'daterange' %}
{% elseif field.name == 'rate' %}
{% elseif field.name == 'color' %}
{% elseif field.name == 'upload' %}
{% if field.props.listType == 'text' or field.props.listType == 'picture' %}
{{ field.btnText }}
{% else %}
{% endif %}
{% if field.tip %}
{{ field.tip }}
{% endif %}
{% elseif field.name == 'button' %}
{% if field.btnText %}
{{ field.btnText }}
{% endif %}
{% endif %}
{% endif %}
{% endmacro %}
{% macro renderFormDefaults(fields) %}
{% for field in fields %}
{# 如果是容器,递归 children #}
{% if field.children is defined and field.children is iterable %}
{{ _self.renderFormDefaults(field.children) }}
{% elseif field.field_name is defined %}
{% set val = field.value is defined ? field.value : null %}
{{ field.field_name }}: {{ val is null ? 'null' : val }},
{% endif %}
{% endfor %}
{% endmacro %}
{% macro js_object(rule) %}
{ {% for k, v in rule %}
{{ k }}: '{{ v }}'
{%- if not loop.last %}, {% endif %}
{% endfor %} }
{% endmacro %}
{% macro renderRules(fields) %}
{% for field in fields %}
{% if field.children is defined and field.children is iterable %}
{{- _self.renderRules(field.children) -}}
{% elseif field.field_name is defined %}
{% if (field.rules is defined and field.rules|length > 0) or field.required|default(false) == true %}
{{ field.field_name }}: [
{# 输出规则数组 #}
{% if field.required|default(false) == true %}
{ required: true, message: '该项必填', trigger: 'blur' },
{% endif %}
{% if field.rules is defined and field.rules|length > 0 %}
{% for rule in field.rules %}
{{ _self.js_object(rule) }}
{% endfor %}
{% endif %}],
{% endif %}
{% endif %}
{% endfor %}
{% endmacro %}
{% for field in fields %}
{{ _self.renderField(field, config, _self) -}}
{% endfor %}
取 消
保 存