Commit 3fea4fbc06e195bf7df75027d6455f8313b9a02f

Authored by 陈威
1 parent 43c7f2a2
Exists in dev

支持地图省市区经纬度选择版本

backend/form/src/main/resources/template/form/pc/fieldControl.ftl
1 1
2 <#function getNgModel field type> 2 <#function getNgModel field type>
3 - <#assign rtn><#if type!=1>item.${field.name}<#else>data.${field.fieldPath}</#if></#assign>  
4 - <#return rtn> 3 + <#assign rtn><#if type!=1>item.${field.name}<#else>data.${field.fieldPath}</#if></#assign>
  4 + <#return rtn>
5 </#function> 5 </#function>
6 <#function getSubNgModel field type> 6 <#function getSubNgModel field type>
7 - <#assign rtn><#if type!=1>data.${field.boDefAlias}.${field.parentNodeType}_${field.tableName}.${field.name}</#if></#assign>  
8 - <#return rtn> 7 + <#assign rtn><#if type!=1>data.${field.boDefAlias}.${field.parentNodeType}_${field.tableName}.${field.name}</#if></#assign>
  8 + <#return rtn>
9 </#function> 9 </#function>
10 <#function getPermissionLine field type hasLinkage> 10 <#function getPermissionLine field type hasLinkage>
11 - <#assign rtn>  
12 - <#if type!=1 && hasLinkage==true>v-permission-line="'${field.parentNodeType}_${field.tableName}_${field.name}'"<#else></#if></#assign> 11 + <#assign rtn>
  12 + <#if type!=1 && hasLinkage==true>v-permission-line="'${field.parentNodeType}_${field.tableName}_${field.name}'"<#else></#if></#assign>
13 <#return rtn> 13 <#return rtn>
14 </#function> 14 </#function>
15 <#function getAtter field type> 15 <#function getAtter field type>
16 - <#assign rtn><#if type!=1>item.${field.name}<#else>data.${field.tableName}.${field.name}</#if></#assign> 16 + <#assign rtn><#if type!=1>item.${field.name}<#else>data.${field.tableName}.${field.name}</#if></#assign>
17 <#return rtn> 17 <#return rtn>
18 </#function> 18 </#function>
19 <#function getPermission field type> 19 <#function getPermission field type>
@@ -50,188 +50,188 @@ @@ -50,188 +50,188 @@
50 <#function getInput field type hasLinkage > 50 <#function getInput field type hasLinkage >
51 <#assign configAttr = util.getInputAdvancedAttributes(field.options)> 51 <#assign configAttr = util.getInputAdvancedAttributes(field.options)>
52 <#assign rtn> 52 <#assign rtn>
53 - <ht-input <#if field.options.showCondition.fieldPath?if_exists>v-if="${field.options.showCondition.fieldPath}=='${field.options.showCondition.value}'"</#if> 53 + <ht-input <#if field.options.showCondition.fieldPath?if_exists>v-if="${field.options.showCondition.fieldPath}=='${field.options.showCondition.value}'"</#if>
54 v-model="${getNgModel(field,type)}" name="${field.desc}" <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if> 54 v-model="${getNgModel(field,type)}" name="${field.desc}" <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>
55 - <#if field.options.placeholder?if_exists>  
56 - <#if field.placeholderI18nKey?if_exists>  
57 - :placeholder="$td('${field.placeholderI18nKey}','${field.options.placeholder}')"  
58 - <#else>  
59 - placeholder="${field.options.placeholder}"  
60 - </#if>  
61 - </#if>  
62 - :permission="${getPermission(field,type)}"  
63 - ${getPermissionLine(field,type,hasLinkage)}  
64 - <#if field.options.isReadonly ?if_exists>readonly</#if>  
65 - <#if field.options.isInputEdit ?if_exists>:disabled="${field.options.isInputEdit}"</#if>  
66 - <#if field.options.isValidate ?if_exists>:isValidate="${field.options.isValidate}"</#if>  
67 -  
68 - <#if field.options.inputType ?if_exists>:showPassword="${field.options.inputType}"</#if>  
69 - <#if field.options.validate?if_exists && field.options.validate?length gt 0 >:validate="${field.options.validate}"</#if>  
70 - <#if configAttr != "{}">:config-attributes="${configAttr}"</#if>  
71 - <#if field.options.mathExp?if_exists>math-exp="${field.options.mathExp}"</#if>  
72 - <#if field.options.isCountDate> :date-calc-exp="{start:'${field.options.isStartDate}',end:'${field.options.isEndDate}',diffType:'${field.options.countFormat}'}"</#if>  
73 - <#if field.options.formulasDiyJs?if_exists > v-formula="{value:${field.options.formulasDiyJs},bindPath:${getFormula(field,type)}}"</#if>  
74 - <#if field.options.customInput?if_exists> v-formula="{value:'${field.options.customInput}',bindPath:${getFormula(field,type)},type:'default'}"</#if>  
75 - <#if field.options.mapping?if_exists>v-mapping="data.${field.options.mapping}"</#if>  
76 - <#if field.options.width?if_exists>  
77 - style="width: ${field.options.width};"  
78 - </#if> 55 + <#if field.options.placeholder?if_exists>
  56 + <#if field.placeholderI18nKey?if_exists>
  57 + :placeholder="$td('${field.placeholderI18nKey}','${field.options.placeholder}')"
  58 + <#else>
  59 + placeholder="${field.options.placeholder}"
  60 + </#if>
  61 + </#if>
  62 + :permission="${getPermission(field,type)}"
  63 + ${getPermissionLine(field,type,hasLinkage)}
  64 + <#if field.options.isReadonly ?if_exists>readonly</#if>
  65 + <#if field.options.isInputEdit ?if_exists>:disabled="${field.options.isInputEdit}"</#if>
  66 + <#if field.options.isValidate ?if_exists>:isValidate="${field.options.isValidate}"</#if>
  67 +
  68 + <#if field.options.inputType ?if_exists>:showPassword="${field.options.inputType}"</#if>
  69 + <#if field.options.validate?if_exists && field.options.validate?length gt 0 >:validate="${field.options.validate}"</#if>
  70 + <#if configAttr != "{}">:config-attributes="${configAttr}"</#if>
  71 + <#if field.options.mathExp?if_exists>math-exp="${field.options.mathExp}"</#if>
  72 + <#if field.options.isCountDate> :date-calc-exp="{start:'${field.options.isStartDate}',end:'${field.options.isEndDate}',diffType:'${field.options.countFormat}'}"</#if>
  73 + <#if field.options.formulasDiyJs?if_exists > v-formula="{value:${field.options.formulasDiyJs},bindPath:${getFormula(field,type)}}"</#if>
  74 + <#if field.options.customInput?if_exists> v-formula="{value:'${field.options.customInput}',bindPath:${getFormula(field,type)},type:'default'}"</#if>
  75 + <#if field.options.mapping?if_exists>v-mapping="data.${field.options.mapping}"</#if>
  76 + <#if field.options.width?if_exists>
  77 + style="width: ${field.options.width};"
  78 + </#if>
79 ${getHyperlink(field)} 79 ${getHyperlink(field)}
80 - >  
81 - <#if field.options.bindPreAndSufFixjson.preFix?if_exists><template slot="prepend">${field.options.bindPreAndSufFixjson.preFix}</template> </#if>  
82 - <#if field.options.bindPreAndSufFixjson.sufSix?if_exists> <template slot="append">${field.options.bindPreAndSufFixjson.sufSix}</template></#if>  
83 - </ht-input> 80 + >
  81 + <#if field.options.bindPreAndSufFixjson.preFix?if_exists><template slot="prepend">${field.options.bindPreAndSufFixjson.preFix}</template> </#if>
  82 + <#if field.options.bindPreAndSufFixjson.sufSix?if_exists> <template slot="append">${field.options.bindPreAndSufFixjson.sufSix}</template></#if>
  83 + </ht-input>
84 </#assign> 84 </#assign>
85 <#return rtn> 85 <#return rtn>
86 </#function> 86 </#function>
87 <#function getNumberInput field type hasLinkage> 87 <#function getNumberInput field type hasLinkage>
88 <#assign rtn> 88 <#assign rtn>
89 - <ht-input v-model="${getNgModel(field,type)}" name="${field.desc}" ctrlType="${field.ctrlType}" <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>  
90 - type="number" company="${field.options.company}" :permission="${getPermission(field,type)}"  
91 - controlsPosition="${field.options.controlsPosition}"  
92 - contentAlign="${field.options.contentAlign}"  
93 - showCompanys="${field.options.showCompanys}" 89 + <ht-input v-model="${getNgModel(field,type)}" name="${field.desc}" ctrlType="${field.ctrlType}" <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>
  90 + type="number" company="${field.options.company}" :permission="${getPermission(field,type)}"
  91 + controlsPosition="${field.options.controlsPosition}"
  92 + contentAlign="${field.options.contentAlign}"
  93 + showCompanys="${field.options.showCompanys}"
94 <#if field.options.controls> :controls="${field.options.controls}"<#else> :controls="false"</#if> 94 <#if field.options.controls> :controls="${field.options.controls}"<#else> :controls="false"</#if>
95 - <#if field.options.placeholder?if_exists> 95 + <#if field.options.placeholder?if_exists>
96 <#if field.placeholderI18nKey?if_exists> 96 <#if field.placeholderI18nKey?if_exists>
97 :placeholder="$td('${field.placeholderI18nKey}','${field.options.placeholder}')" 97 :placeholder="$td('${field.placeholderI18nKey}','${field.options.placeholder}')"
98 <#else> 98 <#else>
99 placeholder="${field.options.placeholder}" 99 placeholder="${field.options.placeholder}"
100 </#if> 100 </#if>
101 </#if> 101 </#if>
102 - ${getPermissionLine(field,type,hasLinkage)}  
103 - <#if field.options.mathExp?if_exists>math-exp="${field.options.mathExp}"</#if>  
104 - <#if field.options.validate?if_exists && field.options.validate?length gt 0 >:validate="${field.options.validate}"</#if>  
105 - <#if field.options.min?if_exists>:min=${field.options.min?c}</#if>  
106 - <#if field.options.max?if_exists>:max=${field.options.max?c}</#if>  
107 - <#if field.options.step?if_exists>:step=${field.options.step?c}</#if>  
108 - <#if field.options.decimalDigits>:precision=${field.options.decimalDigits}  
109 -  
110 - </#if>  
111 - <#if field.options.filterthousandBit?if_exists>filterthousand-bit</#if> <#--千分位-->  
112 - <#if field.options.filtercurrency?if_exists>filtercurrency</#if> <#--货币大写-->  
113 - <#if field.options.formulasDiyJs?if_exists>v-formula="{value:${field.options.formulasDiyJs},bindPath:${getFormula(field, type)}}"</#if>  
114 - <#if field.options.customInput?if_exists> v-formula="{value:'${field.options.customInput}',bindPath:${getFormula(field,type)},type:'default'}"</#if>  
115 - <#if field.options.mapping?if_exists>v-mapping="data.${field.options.mapping}"</#if>  
116 - <#if field.options.isCountDate>:date-calc-exp="{start:'${field.options.isStartDate}',end:'${field.options.isEndDate}',diffType:'${field.options.countFormat}'}"</#if>  
117 - <#if field.options.width?if_exists>  
118 - style="width: ${field.options.width};"  
119 - </#if> 102 + ${getPermissionLine(field,type,hasLinkage)}
  103 + <#if field.options.mathExp?if_exists>math-exp="${field.options.mathExp}"</#if>
  104 + <#if field.options.validate?if_exists && field.options.validate?length gt 0 >:validate="${field.options.validate}"</#if>
  105 + <#if field.options.min?if_exists>:min=${field.options.min?c}</#if>
  106 + <#if field.options.max?if_exists>:max=${field.options.max?c}</#if>
  107 + <#if field.options.step?if_exists>:step=${field.options.step?c}</#if>
  108 + <#if field.options.decimalDigits>:precision=${field.options.decimalDigits}
  109 +
  110 + </#if>
  111 + <#if field.options.filterthousandBit?if_exists>filterthousand-bit</#if> <#--千分位-->
  112 + <#if field.options.filtercurrency?if_exists>filtercurrency</#if> <#--货币大写-->
  113 + <#if field.options.formulasDiyJs?if_exists>v-formula="{value:${field.options.formulasDiyJs},bindPath:${getFormula(field, type)}}"</#if>
  114 + <#if field.options.customInput?if_exists> v-formula="{value:'${field.options.customInput}',bindPath:${getFormula(field,type)},type:'default'}"</#if>
  115 + <#if field.options.mapping?if_exists>v-mapping="data.${field.options.mapping}"</#if>
  116 + <#if field.options.isCountDate>:date-calc-exp="{start:'${field.options.isStartDate}',end:'${field.options.isEndDate}',diffType:'${field.options.countFormat}'}"</#if>
  117 + <#if field.options.width?if_exists>
  118 + style="width: ${field.options.width};"
  119 + </#if>
120 ${getHyperlink(field)} 120 ${getHyperlink(field)}
121 <#if field.options.disabled ?if_exists>:disabled="${field.options.disabled}"</#if> 121 <#if field.options.disabled ?if_exists>:disabled="${field.options.disabled}"</#if>
122 <#if field.options.isValidate ?if_exists>:isValidate="${field.options.isValidate}"</#if> 122 <#if field.options.isValidate ?if_exists>:isValidate="${field.options.isValidate}"</#if>
123 - >  
124 - </ht-input> 123 + >
  124 + </ht-input>
125 </#assign> 125 </#assign>
126 <#return rtn> 126 <#return rtn>
127 </#function> 127 </#function>
128 <#function getRadio field type hasLinkage> 128 <#function getRadio field type hasLinkage>
129 <#assign rtn> 129 <#assign rtn>
130 - <ht-radio v-model="${getNgModel(field,type)}" name="${field.desc}" <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>  
131 - <#if field.options.inline >option-layout="vertical"<#else>option-layout="horizontal"</#if>  
132 - <#if field.options.validate?if_exists && field.options.validate?length gt 0 > :validate="${field.options.validate}"</#if>  
133 - ${util.getLinkage(field.options)}  
134 - :ganged="${util.getSelectQuery(field.options,type!=1)}"  
135 - :permission="${getPermission(field,type)}"  
136 - rdlist='${util.getJsonByPath(field.options,'options')}'  
137 - :style='${util.getMapString(field,"controlstyle")}'  
138 - ${getPermissionLine(field,type,hasLinkage)}  
139 - <#if field.options.formulasDiyJs?if_exists > v-formula="{value:${field.options.formulasDiyJs},bindPath:${getFormula(field, type)}}"</#if>  
140 - <#if field.options.customInput?if_exists> v-formula="{value:'${field.options.customInput}',bindPath:${getFormula(field,type)},type:'default'}"</#if>  
141 - <#if field.options.disabled ?if_exists>:disabled="${field.options.disabled}"</#if>  
142 - <#if field.options.isValidate ?if_exists>:isValidate="${field.options.isValidate}"</#if>  
143 - >  
144 - </ht-radio> 130 + <ht-radio v-model="${getNgModel(field,type)}" name="${field.desc}" <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>
  131 + <#if field.options.inline >option-layout="vertical"<#else>option-layout="horizontal"</#if>
  132 + <#if field.options.validate?if_exists && field.options.validate?length gt 0 > :validate="${field.options.validate}"</#if>
  133 + ${util.getLinkage(field.options)}
  134 + :ganged="${util.getSelectQuery(field.options,type!=1)}"
  135 + :permission="${getPermission(field,type)}"
  136 + rdlist='${util.getJsonByPath(field.options,'options')}'
  137 + :style='${util.getMapString(field,"controlstyle")}'
  138 + ${getPermissionLine(field,type,hasLinkage)}
  139 + <#if field.options.formulasDiyJs?if_exists > v-formula="{value:${field.options.formulasDiyJs},bindPath:${getFormula(field, type)}}"</#if>
  140 + <#if field.options.customInput?if_exists> v-formula="{value:'${field.options.customInput}',bindPath:${getFormula(field,type)},type:'default'}"</#if>
  141 + <#if field.options.disabled ?if_exists>:disabled="${field.options.disabled}"</#if>
  142 + <#if field.options.isValidate ?if_exists>:isValidate="${field.options.isValidate}"</#if>
  143 + >
  144 + </ht-radio>
145 </#assign> 145 </#assign>
146 <#return rtn> 146 <#return rtn>
147 </#function> 147 </#function>
148 <#function getCheckbox field type hasLinkage> 148 <#function getCheckbox field type hasLinkage>
149 - <#assign rtn>  
150 - <ht-checkbox v-model="${getNgModel(field,type)}" name="${field.desc}" <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>  
151 - <#if field.options.inline >option-layout="vertical"<#else>option-layout="horizontal"</#if>  
152 - :ganged="${util.getSelectQuery(field.options,type!=1)}"  
153 - :permission="${getPermission(field,type)}"  
154 - :max="${field.options.checkboxMax}"  
155 - <#if field.options.validate?if_exists && field.options.validate?length gt 0 > :validate="${field.options.validate}"</#if>  
156 - ${util.getLinkage(field.options)}  
157 - cklist='${util.getJsonByPath(field.options,'options')}'  
158 - :style='${util.getMapString(field,"controlstyle")}'  
159 - ${getPermissionLine(field,type,hasLinkage)}  
160 - <#if field.options.formulasDiyJs?if_exists > v-formula="{value:${field.options.formulasDiyJs},bindPath:${getFormula(field, type)}}"</#if>  
161 - <#if field.options.customInput?if_exists> v-formula="{value:'${field.options.customInput}',bindPath:${getFormula(field,type)},type:'default'}"</#if>  
162 - <#if field.options.disabled ?if_exists>:disabled="${field.options.disabled}"</#if>  
163 - <#if field.options.isValidate ?if_exists>:isValidate="${field.options.isValidate}"</#if>  
164 - >  
165 - </ht-checkbox>  
166 - </#assign>  
167 - <#return rtn> 149 + <#assign rtn>
  150 + <ht-checkbox v-model="${getNgModel(field,type)}" name="${field.desc}" <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>
  151 + <#if field.options.inline >option-layout="vertical"<#else>option-layout="horizontal"</#if>
  152 + :ganged="${util.getSelectQuery(field.options,type!=1)}"
  153 + :permission="${getPermission(field,type)}"
  154 + :max="${field.options.checkboxMax}"
  155 + <#if field.options.validate?if_exists && field.options.validate?length gt 0 > :validate="${field.options.validate}"</#if>
  156 + ${util.getLinkage(field.options)}
  157 + cklist='${util.getJsonByPath(field.options,'options')}'
  158 + :style='${util.getMapString(field,"controlstyle")}'
  159 + ${getPermissionLine(field,type,hasLinkage)}
  160 + <#if field.options.formulasDiyJs?if_exists > v-formula="{value:${field.options.formulasDiyJs},bindPath:${getFormula(field, type)}}"</#if>
  161 + <#if field.options.customInput?if_exists> v-formula="{value:'${field.options.customInput}',bindPath:${getFormula(field,type)},type:'default'}"</#if>
  162 + <#if field.options.disabled ?if_exists>:disabled="${field.options.disabled}"</#if>
  163 + <#if field.options.isValidate ?if_exists>:isValidate="${field.options.isValidate}"</#if>
  164 + >
  165 + </ht-checkbox>
  166 + </#assign>
  167 + <#return rtn>
168 </#function> 168 </#function>
169 <#function getSelect field type hasLinkage> 169 <#function getSelect field type hasLinkage>
170 - <#assign customQuery = util.getStringConf(field.options.customQuery)>  
171 - <#assign rtn>  
172 - <ht-select v-model="${getNgModel(field,type)}" name="${field.desc}" <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>  
173 - <#if field.options.placeholder?if_exists>  
174 - <#if field.placeholderI18nKey?if_exists>  
175 - :placeholder="$td('${field.placeholderI18nKey}','${field.options.placeholder}')"  
176 - <#else>  
177 - placeholder="${field.options.placeholder}"  
178 - </#if> 170 + <#assign customQuery = util.getStringConf(field.options.customQuery)>
  171 + <#assign rtn>
  172 + <ht-select v-model="${getNgModel(field,type)}" name="${field.desc}" <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>
  173 + <#if field.options.placeholder?if_exists>
  174 + <#if field.placeholderI18nKey?if_exists>
  175 + :placeholder="$td('${field.placeholderI18nKey}','${field.options.placeholder}')"
  176 + <#else>
  177 + placeholder="${field.options.placeholder}"
179 </#if> 178 </#if>
180 - :ganged="${util.getSelectQuery(field.options,type!=1)}"  
181 - <#if field.options.validate?if_exists && field.options.validate?length gt 0 >:validate="${field.options.validate}"</#if>  
182 - ${util.getLinkage(field.options)}  
183 - ${util.getAttrs(':multiple,:filterable,:allowCreate,:related-query',field)}  
184 - :permission="${getPermission(field,type)}"  
185 - :limit-count="${field.options.limitCount!1}"  
186 - :selectlist='${util.getJsonByPath(field.options,'options')}'  
187 - ${getPermissionLine(field,type,hasLinkage)}  
188 - <#if field.options.formulasDiyJs?if_exists >v-formula="{value:${field.options.formulasDiyJs},bindPath:${getFormula(field, type)}}"</#if>  
189 - <#if field.options.customInput?if_exists> v-formula="{value:'${field.options.customInput}',bindPath:${getFormula(field,type)},type:'default'}"</#if>  
190 - <#if field.options.width?if_exists>style="width: ${field.options.width};"</#if>  
191 - <#if field.options.disabled ?if_exists>:disabled="${field.options.disabled}"</#if>  
192 - <#if field.options.isValidate ?if_exists>:isValidate="${field.options.isValidate}"</#if> 179 + </#if>
  180 + :ganged="${util.getSelectQuery(field.options,type!=1)}"
  181 + <#if field.options.validate?if_exists && field.options.validate?length gt 0 >:validate="${field.options.validate}"</#if>
  182 + ${util.getLinkage(field.options)}
  183 + ${util.getAttrs(':multiple,:filterable,:allowCreate,:related-query',field)}
  184 + :permission="${getPermission(field,type)}"
  185 + :limit-count="${field.options.limitCount!1}"
  186 + :selectlist='${util.getJsonByPath(field.options,'options')}'
  187 + ${getPermissionLine(field,type,hasLinkage)}
  188 + <#if field.options.formulasDiyJs?if_exists >v-formula="{value:${field.options.formulasDiyJs},bindPath:${getFormula(field, type)}}"</#if>
  189 + <#if field.options.customInput?if_exists> v-formula="{value:'${field.options.customInput}',bindPath:${getFormula(field,type)},type:'default'}"</#if>
  190 + <#if field.options.width?if_exists>style="width: ${field.options.width};"</#if>
  191 + <#if field.options.disabled ?if_exists>:disabled="${field.options.disabled}"</#if>
  192 + <#if field.options.isValidate ?if_exists>:isValidate="${field.options.isValidate}"</#if>
193 > 193 >
194 - </ht-select>  
195 - </#assign>  
196 - <#return rtn> 194 + </ht-select>
  195 + </#assign>
  196 + <#return rtn>
197 </#function> 197 </#function>
198 198
199 <#function getCustomChart field type hasLinkage> 199 <#function getCustomChart field type hasLinkage>
200 <#assign rtn> 200 <#assign rtn>
201 - <ht-chart alias="${field.options.alias}" id="${field.options.chartId}" width="${field.options.chartWidth}" height="${field.options.chartHeight}" chart-key="${field.key}"  
202 - <#if field.options.selectList?if_exists > selectList="${util.toJsonStr(field.options.selectList)}"</#if>  
203 - <#if field.tableName?if_exists && field.name?if_exists>:permission="${getPermission(field,type)}"</#if>  
204 - ></ht-chart> 201 + <ht-chart alias="${field.options.alias}" id="${field.options.chartId}" width="${field.options.chartWidth}" height="${field.options.chartHeight}" chart-key="${field.key}"
  202 + <#if field.options.selectList?if_exists > selectList="${util.toJsonStr(field.options.selectList)}"</#if>
  203 + <#if field.tableName?if_exists && field.name?if_exists>:permission="${getPermission(field,type)}"</#if>
  204 + ></ht-chart>
205 </#assign> 205 </#assign>
206 <#return rtn> 206 <#return rtn>
207 </#function> 207 </#function>
208 208
209 <#function getDialog field type hasLinkage> 209 <#function getDialog field type hasLinkage>
210 - <#assign name = util.getJsonByPath(field.customDialogjson,'name')>  
211 - <#assign icon = util.getJsonByPath(field.customDialogjson,'icon')>  
212 - <#assign custdialogConf = util.getStringConf(field.options.customDialogjson)>  
213 - <#assign rtn> 210 + <#assign name = util.getJsonByPath(field.customDialogjson,'name')>
  211 + <#assign icon = util.getJsonByPath(field.customDialogjson,'icon')>
  212 + <#assign custdialogConf = util.getStringConf(field.options.customDialogjson)>
  213 + <#assign rtn>
214 <ht-custom-dialog v-model="${getNgModel(field,type)}" model-name="${getNgModel(field,type)}" 214 <ht-custom-dialog v-model="${getNgModel(field,type)}" model-name="${getNgModel(field,type)}"
215 - name="${field.desc}"  
216 - :custdialog='${custdialogConf}'  
217 - placeholder="${field.options.placeholder}"  
218 - :permission="${getPermission(field,type)}"  
219 - style="width: ${field.options.width?default('100%')}"  
220 - atter="${getAtter(field,type)}"  
221 - ${util.getAttrs('tooltipplacement',field)}  
222 - ${getPermissionLine(field,type,hasLinkage)}  
223 - <#if type?if_exists && (type==2 || type == 3)>:subIndex="getPageOffset('data.${subListPath}') + $index"</#if>  
224 - <#if type?if_exists&&type==3>:sunIndex="sunIndex" subPath="data.${subListPath}" :currentSubData="data.${subListPath}"</#if>  
225 - <#if field.options.validate?if_exists && field.options.validate?length gt 0> :validate="${field.options.validate}"</#if>  
226 - :style='${util.getMapString(field,"controlstyle")}' 215 + name="${field.desc}"
  216 + :custdialog='${custdialogConf}'
  217 + placeholder="${field.options.placeholder}"
  218 + :permission="${getPermission(field,type)}"
  219 + style="width: ${field.options.width?default('100%')}"
  220 + atter="${getAtter(field,type)}"
  221 + ${util.getAttrs('tooltipplacement',field)}
  222 + ${getPermissionLine(field,type,hasLinkage)}
  223 + <#if type?if_exists && (type==2 || type == 3)>:subIndex="getPageOffset('data.${subListPath}') + $index"</#if>
  224 + <#if type?if_exists&&type==3>:sunIndex="sunIndex" subPath="data.${subListPath}" :currentSubData="data.${subListPath}"</#if>
  225 + <#if field.options.validate?if_exists && field.options.validate?length gt 0> :validate="${field.options.validate}"</#if>
  226 + :style='${util.getMapString(field,"controlstyle")}'
227 ${getHyperlink(field)} 227 ${getHyperlink(field)}
228 <#if field.options.disabled ?if_exists>:disabled="${field.options.disabled}"</#if> 228 <#if field.options.disabled ?if_exists>:disabled="${field.options.disabled}"</#if>
229 <#if field.options.isValidate ?if_exists>:isValidate="${field.options.isValidate}"</#if> 229 <#if field.options.isValidate ?if_exists>:isValidate="${field.options.isValidate}"</#if>
230 > 230 >
231 - <span slot="labeldesc">${field.desc}</span>  
232 - </ht-custom-dialog>  
233 - </#assign>  
234 - <#return rtn> 231 + <span slot="labeldesc">${field.desc}</span>
  232 + </ht-custom-dialog>
  233 + </#assign>
  234 + <#return rtn>
235 </#function> 235 </#function>
236 <#function getEipButton field type hasLinkage> 236 <#function getEipButton field type hasLinkage>
237 <#assign name = util.getJsonByPath(field.options.bindEventjson,'name')> 237 <#assign name = util.getJsonByPath(field.options.bindEventjson,'name')>
@@ -239,35 +239,35 @@ @@ -239,35 +239,35 @@
239 <#assign isShowInput = util.getJsonByPath(field.options.bindEventjson,'isShowInput')> 239 <#assign isShowInput = util.getJsonByPath(field.options.bindEventjson,'isShowInput')>
240 <#assign alias = util.getJsonByPath(field.options.bindEventjson,'alias')> 240 <#assign alias = util.getJsonByPath(field.options.bindEventjson,'alias')>
241 <#assign rtn> 241 <#assign rtn>
242 - <ht-button  
243 - <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>  
244 - icon="${icon}"  
245 - btn-name="${name}"  
246 - <#if field.tableName?if_exists && field.name?if_exists && !field.options.bindEventjson.isShowInput>:permission="${getPermission(field,type)}"</#if>  
247 - <#if field.options.bindEventjson.isShowInput> 242 + <ht-button
  243 + <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>
  244 + icon="${icon}"
  245 + btn-name="${name}"
  246 + <#if field.tableName?if_exists && field.name?if_exists && !field.options.bindEventjson.isShowInput>:permission="${getPermission(field,type)}"</#if>
  247 + <#if field.options.bindEventjson.isShowInput>
248 v-model="${getNgModel(field,type)}" 248 v-model="${getNgModel(field,type)}"
249 - is-show-input 249 + is-show-input
250 :permission="${getPermission(field,type)}" 250 :permission="${getPermission(field,type)}"
251 - </#if>  
252 - <#if field.options.formulasDiyJs?if_exists>v-formula="{value:'${field.options.formulasDiyJs}',bindPath:${getFormula(field, type)}}"</#if>  
253 - <#if field.options.customInput?if_exists> v-formula="{value:'${field.options.customInput}',bindPath:${getFormula(field,type)},type:'default'}"</#if>  
254 - <#if field.options.showCondition.fieldPath?if_exists>v-if="${field.options.showCondition.fieldPath}=='${field.options.showCondition.value}'"</#if>  
255 - ${getPermissionLine(field,type,hasLinkage)}  
256 - script="${field.options.script}">  
257 - </ht-button> 251 + </#if>
  252 + <#if field.options.formulasDiyJs?if_exists>v-formula="{value:'${field.options.formulasDiyJs}',bindPath:${getFormula(field, type)}}"</#if>
  253 + <#if field.options.customInput?if_exists> v-formula="{value:'${field.options.customInput}',bindPath:${getFormula(field,type)},type:'default'}"</#if>
  254 + <#if field.options.showCondition.fieldPath?if_exists>v-if="${field.options.showCondition.fieldPath}=='${field.options.showCondition.value}'"</#if>
  255 + ${getPermissionLine(field,type,hasLinkage)}
  256 + script="${field.options.script}">
  257 + </ht-button>
258 </#assign> 258 </#assign>
259 <#return rtn> 259 <#return rtn>
260 </#function> 260 </#function>
261 <#function getEipDivider field type> 261 <#function getEipDivider field type>
262 <#assign rtn> 262 <#assign rtn>
263 - <ht-divider  
264 - <#if field.options.position?if_exists>content-position="${field.options.position}"</#if>  
265 - <#if field.options.color?if_exists>color="${field.options.color}"</#if>  
266 - >  
267 - <template>  
268 - <i <#if field.options.customDialogjson.icon?if_exists>class="${field.options.customDialogjson.icon}"</#if>><#if field.options.content?if_exists>${field.options.content}</#if></i>  
269 - </template>  
270 - </ht-divider> 263 + <ht-divider
  264 + <#if field.options.position?if_exists>content-position="${field.options.position}"</#if>
  265 + <#if field.options.color?if_exists>color="${field.options.color}"</#if>
  266 + >
  267 + <template>
  268 + <i <#if field.options.customDialogjson.icon?if_exists>class="${field.options.customDialogjson.icon}"</#if>><#if field.options.content?if_exists>${field.options.content}</#if></i>
  269 + </template>
  270 + </ht-divider>
271 </#assign> 271 </#assign>
272 <#return rtn> 272 <#return rtn>
273 </#function> 273 </#function>
@@ -297,12 +297,12 @@ @@ -297,12 +297,12 @@
297 ${getPermissionLine(field,type,hasLinkage)} 297 ${getPermissionLine(field,type,hasLinkage)}
298 <#if field.options.noToolbar?if_exists>noToolbar="${field.options.noToolbar}"</#if> 298 <#if field.options.noToolbar?if_exists>noToolbar="${field.options.noToolbar}"</#if>
299 <#if field.options.textValue?if_exists> 299 <#if field.options.textValue?if_exists>
300 - textValue="${util.toJsonStr(field.options.textValue)}" 300 + textValue="${util.toJsonStr(field.options.textValue)}"
301 </#if> 301 </#if>
302 <#if field.options.isShowBorder == 1> 302 <#if field.options.isShowBorder == 1>
303 :showBorder="true" 303 :showBorder="true"
304 </#if> 304 </#if>
305 - <#if field.options.isShowBorder == 0> 305 + <#if field.options.isShowBorder == 0>
306 :showBorder="false" 306 :showBorder="false"
307 </#if> 307 </#if>
308 borderColor="${util.toJsonStr(field.options.borderColor)}" 308 borderColor="${util.toJsonStr(field.options.borderColor)}"
@@ -322,7 +322,7 @@ @@ -322,7 +322,7 @@
322 name="${field.desc}" 322 name="${field.desc}"
323 <#if field.options.showWordLimit?if_exists>:show-word-limit="${field.options.showWordLimit}"</#if> 323 <#if field.options.showWordLimit?if_exists>:show-word-limit="${field.options.showWordLimit}"</#if>
324 <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if> 324 <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>
325 - <#if field.options.placeholder?if_exists> 325 + <#if field.options.placeholder?if_exists>
326 <#if field.placeholderI18nKey?if_exists> 326 <#if field.placeholderI18nKey?if_exists>
327 :placeholder="$td('${field.placeholderI18nKey}','${field.options.placeholder}')" 327 :placeholder="$td('${field.placeholderI18nKey}','${field.options.placeholder}')"
328 <#else> 328 <#else>
@@ -338,11 +338,11 @@ @@ -338,11 +338,11 @@
338 <#if field.options.formulasDiyJs?if_exists >v-formula="{value:${field.options.formulasDiyJs},bindPath:${getFormula(field, type)}}"</#if> 338 <#if field.options.formulasDiyJs?if_exists >v-formula="{value:${field.options.formulasDiyJs},bindPath:${getFormula(field, type)}}"</#if>
339 <#if field.options.customInput?if_exists> v-formula="{value:'${field.options.customInput}',bindPath:${getFormula(field,type)},type:'default'}"</#if> 339 <#if field.options.customInput?if_exists> v-formula="{value:'${field.options.customInput}',bindPath:${getFormula(field,type)},type:'default'}"</#if>
340 <#if field.options.mapping?if_exists>v-mapping="data.${field.options.mapping}"</#if> 340 <#if field.options.mapping?if_exists>v-mapping="data.${field.options.mapping}"</#if>
341 - <#if field.options.width?if_exists>  
342 - style="width: ${field.options.width};"  
343 - </#if> 341 + <#if field.options.width?if_exists>
  342 + style="width: ${field.options.width};"
  343 + </#if>
344 ${getHyperlink(field)} 344 ${getHyperlink(field)}
345 - > 345 + >
346 </ht-input> 346 </ht-input>
347 </#assign> 347 </#assign>
348 </#if> 348 </#if>
@@ -351,8 +351,8 @@ @@ -351,8 +351,8 @@
351 <#function getFont field type > 351 <#function getFont field type >
352 <#assign rtn> 352 <#assign rtn>
353 <#if field.options.textValue?if_exists> 353 <#if field.options.textValue?if_exists>
354 - <ht-editor <#if field.tableName?if_exists && field.name?if_exists>:permission="${getPermission(field,type)}"</#if>  
355 - text-value="${util.toJsonStr(field.options.textValue)}" 354 + <ht-editor <#if field.tableName?if_exists && field.name?if_exists>:permission="${getPermission(field,type)}"</#if>
  355 + text-value="${util.toJsonStr(field.options.textValue)}"
356 <#if field.options.isShowBorder && field.options.isShowBorder == "0">show-border</#if> 356 <#if field.options.isShowBorder && field.options.isShowBorder == "0">show-border</#if>
357 <#if field.options.isShowBorder && field.options.isShowBorder == "0">border-color="${util.toJsonStr(field.options.borderColor)}"</#if> 357 <#if field.options.isShowBorder && field.options.isShowBorder == "0">border-color="${util.toJsonStr(field.options.borderColor)}"</#if>
358 ${getHyperlink(field)} 358 ${getHyperlink(field)}
@@ -364,7 +364,7 @@ @@ -364,7 +364,7 @@
364 <#function getQRcode field type > 364 <#function getQRcode field type >
365 <#assign rtn> 365 <#assign rtn>
366 <ht-qrcode :inst-id="instId" :def-id="defId" :is-support-mobile="isSupportMobile" 366 <ht-qrcode :inst-id="instId" :def-id="defId" :is-support-mobile="isSupportMobile"
367 - <#if field.tableName?if_exists && field.name?if_exists>:permission="${getPermission(field,type)}"</#if>></ht-qrcode> 367 + <#if field.tableName?if_exists && field.name?if_exists>:permission="${getPermission(field,type)}"</#if>></ht-qrcode>
368 </#assign> 368 </#assign>
369 <#return rtn> 369 <#return rtn>
370 </#function> 370 </#function>
@@ -372,94 +372,94 @@ @@ -372,94 +372,94 @@
372 <#assign rtn> 372 <#assign rtn>
373 <#assign allowPreview = util.getJsonByPath(field.options.file,'allowPreview','false')> 373 <#assign allowPreview = util.getJsonByPath(field.options.file,'allowPreview','false')>
374 <#assign allowDownload = util.getJsonByPath(field.options.file,'allowDownload','false')> 374 <#assign allowDownload = util.getJsonByPath(field.options.file,'allowDownload','false')>
375 - <ht-file v-model="${getNgModel(field,type)}" name="${field.desc}"  
376 - <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>  
377 - :permission="${getPermission(field,type)}"  
378 - <#if field.options.validate?if_exists && field.options.validate?length gt 0>:validate="${field.options.validate}"</#if>  
379 - ${util.getAttrs('propConf,accept',field)}  
380 - :limit="${field.options.file.limit}"  
381 - :allow-preview="${allowPreview}"  
382 - :allow-download="${allowDownload}"  
383 - :size="${util.getToString(field.options.file.size)}"  
384 - ${getPermissionLine(field,type,hasLinkage)}  
385 - :multiple="${util.getJsonByPath(field.options.file,'multiple','false')}"  
386 - :simplicity="${util.getJsonByPath(field.options.file,'simplicity','false')}"  
387 - :flow-data="extendProp">  
388 - </ht-file> 375 + <ht-file v-model="${getNgModel(field,type)}" name="${field.desc}"
  376 + <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>
  377 + :permission="${getPermission(field,type)}"
  378 + <#if field.options.validate?if_exists && field.options.validate?length gt 0>:validate="${field.options.validate}"</#if>
  379 + ${util.getAttrs('propConf,accept',field)}
  380 + :limit="${field.options.file.limit}"
  381 + :allow-preview="${allowPreview}"
  382 + :allow-download="${allowDownload}"
  383 + :size="${util.getToString(field.options.file.size)}"
  384 + ${getPermissionLine(field,type,hasLinkage)}
  385 + :multiple="${util.getJsonByPath(field.options.file,'multiple','false')}"
  386 + :simplicity="${util.getJsonByPath(field.options.file,'simplicity','false')}"
  387 + :flow-data="extendProp">
  388 + </ht-file>
389 </#assign> 389 </#assign>
390 <#return rtn> 390 <#return rtn>
391 </#function> 391 </#function>
392 <#function getDic field type hasLinkage > 392 <#function getDic field type hasLinkage >
393 <#assign rtn> 393 <#assign rtn>
394 - <ht-dictionary v-model="${getNgModel(field,type)}" name="${field.desc}" <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>  
395 - :permission="${getPermission(field,type)}"  
396 - <#if field.options.validate?if_exists && field.options.validate?length gt 0 > :validate="${field.options.validate}"</#if>  
397 - dickey="${field.options.dic}"  
398 - ${util.getAttrs(':filterable',field)}  
399 - ${getPermissionLine(field,type,hasLinkage)}  
400 - <#if field.options.placeholder?if_exists>  
401 - <#if field.placeholderI18nKey?if_exists>  
402 - :placeholder="$td('${field.placeholderI18nKey}','${field.options.placeholder}')"  
403 - <#else>  
404 - placeholder="${field.options.placeholder}"  
405 - </#if> 394 + <ht-dictionary v-model="${getNgModel(field,type)}" name="${field.desc}" <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>
  395 + :permission="${getPermission(field,type)}"
  396 + <#if field.options.validate?if_exists && field.options.validate?length gt 0 > :validate="${field.options.validate}"</#if>
  397 + dickey="${field.options.dic}"
  398 + ${util.getAttrs(':filterable',field)}
  399 + ${getPermissionLine(field,type,hasLinkage)}
  400 + <#if field.options.placeholder?if_exists>
  401 + <#if field.placeholderI18nKey?if_exists>
  402 + :placeholder="$td('${field.placeholderI18nKey}','${field.options.placeholder}')"
  403 + <#else>
  404 + placeholder="${field.options.placeholder}"
406 </#if> 405 </#if>
  406 + </#if>
407 <#if field.options.disabled ?if_exists>:disabled="${field.options.disabled}"</#if> 407 <#if field.options.disabled ?if_exists>:disabled="${field.options.disabled}"</#if>
408 <#if field.options.isValidate ?if_exists>:isValidate="${field.options.isValidate}"</#if> 408 <#if field.options.isValidate ?if_exists>:isValidate="${field.options.isValidate}"</#if>
409 ${getHyperlink(field)} 409 ${getHyperlink(field)}
410 > 410 >
411 - </ht-dictionary> 411 + </ht-dictionary>
412 </#assign> 412 </#assign>
413 <#return rtn> 413 <#return rtn>
414 </#function> 414 </#function>
415 <#function getTag field type hasLinkage> 415 <#function getTag field type hasLinkage>
416 <#assign rtn> 416 <#assign rtn>
417 <ht-tag 417 <ht-tag
418 - v-model="${getNgModel(field,type)}"  
419 - name="${field.desc}"  
420 - :permission="${getPermission(field,type)}"  
421 - <#if field.options.validate?if_exists && field.options.validate?length gt 0>:validate="${field.options.validate}"</#if>  
422 - tag-key="${field.options.tag}"  
423 - <#if field.options.placeholder?if_exists>  
424 - <#if field.placeholderI18nKey?if_exists>  
425 - :placeholder="$td('${field.placeholderI18nKey}','${field.options.placeholder}')"  
426 - <#else>  
427 - placeholder="${field.options.placeholder}"  
428 - </#if> 418 + v-model="${getNgModel(field,type)}"
  419 + name="${field.desc}"
  420 + :permission="${getPermission(field,type)}"
  421 + <#if field.options.validate?if_exists && field.options.validate?length gt 0>:validate="${field.options.validate}"</#if>
  422 + tag-key="${field.options.tag}"
  423 + <#if field.options.placeholder?if_exists>
  424 + <#if field.placeholderI18nKey?if_exists>
  425 + :placeholder="$td('${field.placeholderI18nKey}','${field.options.placeholder}')"
  426 + <#else>
  427 + placeholder="${field.options.placeholder}"
429 </#if> 428 </#if>
430 - ${getPermissionLine(field,type,hasLinkage)}  
431 - ${util.getAttrs(':filterable',field)}  
432 - ${util.getAttrs(':expand',field)}  
433 - ${util.getAttrs(':multiple',field)}> 429 + </#if>
  430 + ${getPermissionLine(field,type,hasLinkage)}
  431 + ${util.getAttrs(':filterable',field)}
  432 + ${util.getAttrs(':expand',field)}
  433 + ${util.getAttrs(':multiple',field)}>
434 </ht-tag> 434 </ht-tag>
435 </#assign> 435 </#assign>
436 <#return rtn> 436 <#return rtn>
437 </#function> 437 </#function>
438 <#function getDropdown field type hasLinkage > 438 <#function getDropdown field type hasLinkage >
439 - <#assign customQuery = util.getStringConf(field.options.customQuery)> 439 + <#assign customQuery = util.getStringConf(field.options.customQuery)>
440 <#assign rtn> 440 <#assign rtn>
441 <ht-select-tree :ganged="${util.getSelectQuery(field.options,type!=1)}" 441 <ht-select-tree :ganged="${util.getSelectQuery(field.options,type!=1)}"
442 - v-model="${getNgModel(field,type)}" 442 + v-model="${getNgModel(field,type)}"
443 name="${field.desc}" 443 name="${field.desc}"
444 - <#if field.options.placeholder?if_exists>  
445 - <#if field.placeholderI18nKey?if_exists>  
446 - :placeholder="$td('${field.placeholderI18nKey}','${field.options.placeholder}')"  
447 - <#else>  
448 - placeholder="${field.options.placeholder}"  
449 - </#if> 444 + <#if field.options.placeholder?if_exists>
  445 + <#if field.placeholderI18nKey?if_exists>
  446 + :placeholder="$td('${field.placeholderI18nKey}','${field.options.placeholder}')"
  447 + <#else>
  448 + placeholder="${field.options.placeholder}"
450 </#if> 449 </#if>
451 - <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>  
452 - ${util.getAttrs(':multiple,:filterable,:allowCreate',field)}  
453 - :permission="${getPermission(field,type)}"  
454 - ${getPermissionLine(field,type,hasLinkage)}  
455 - <#if field.options.validate?if_exists && field.options.validate?length gt 0 >:validate="${field.options.validate}"</#if>  
456 - <#if field.options.formulasDiyJs?if_exists >v-formula="{value:${field.options.formulasDiyJs},bindPath:${getFormula(field, type)}}"</#if>  
457 - <#if field.options.customInput?if_exists> v-formula="{value:'${field.options.customInput}',bindPath:${getFormula(field,type)},type:'default'}"</#if>  
458 - <#if field.options.limitCount?if_exists>:limit-count="${field.options.limitCount}"</#if>  
459 - <#if field.options.disabled ?if_exists>:disabled="${field.options.disabled}"</#if>  
460 - <#if field.options.isValidate ?if_exists>:isValidate="${field.options.isValidate}"</#if>  
461 - <#if field.options.customQuery.treeDataMode ?if_exists>:treeDataMode="${field.options.customQuery.treeDataMode}"</#if>  
462 - <#if field.options.customQuery.pvalue?if_exists > :pvalue="getPvalue('${field.options.customQuery.pvalue}')"</#if> 450 + </#if>
  451 + <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>
  452 + ${util.getAttrs(':multiple,:filterable,:allowCreate',field)}
  453 + :permission="${getPermission(field,type)}"
  454 + ${getPermissionLine(field,type,hasLinkage)}
  455 + <#if field.options.validate?if_exists && field.options.validate?length gt 0 >:validate="${field.options.validate}"</#if>
  456 + <#if field.options.formulasDiyJs?if_exists >v-formula="{value:${field.options.formulasDiyJs},bindPath:${getFormula(field, type)}}"</#if>
  457 + <#if field.options.customInput?if_exists> v-formula="{value:'${field.options.customInput}',bindPath:${getFormula(field,type)},type:'default'}"</#if>
  458 + <#if field.options.limitCount?if_exists>:limit-count="${field.options.limitCount}"</#if>
  459 + <#if field.options.disabled ?if_exists>:disabled="${field.options.disabled}"</#if>
  460 + <#if field.options.isValidate ?if_exists>:isValidate="${field.options.isValidate}"</#if>
  461 + <#if field.options.customQuery.treeDataMode ?if_exists>:treeDataMode="${field.options.customQuery.treeDataMode}"</#if>
  462 + <#if field.options.customQuery.pvalue?if_exists > :pvalue="getPvalue('${field.options.customQuery.pvalue}')"</#if>
463 > 463 >
464 </ht-select-tree> 464 </ht-select-tree>
465 </#assign> 465 </#assign>
@@ -474,12 +474,12 @@ @@ -474,12 +474,12 @@
474 :ganged="${util.getSelectQuery(field.options,type!=1)}" 474 :ganged="${util.getSelectQuery(field.options,type!=1)}"
475 :style='${util.getMapString(field,"controlstyle")}' 475 :style='${util.getMapString(field,"controlstyle")}'
476 <#if field.options.placeholder?if_exists> 476 <#if field.options.placeholder?if_exists>
477 - <#if field.placeholderI18nKey?if_exists>  
478 - :placeholder="$td('${field.placeholderI18nKey}','${field.options.placeholder}')"  
479 - <#else>  
480 - placeholder="${field.options.placeholder}"  
481 - </#if> 477 + <#if field.placeholderI18nKey?if_exists>
  478 + :placeholder="$td('${field.placeholderI18nKey}','${field.options.placeholder}')"
  479 + <#else>
  480 + placeholder="${field.options.placeholder}"
482 </#if> 481 </#if>
  482 + </#if>
483 ${getPermissionLine(field,type,hasLinkage)} 483 ${getPermissionLine(field,type,hasLinkage)}
484 <#if field.options.validate?if_exists && field.options.validate?length gt 0> :validate="${field.options.validate}"</#if> 484 <#if field.options.validate?if_exists && field.options.validate?length gt 0> :validate="${field.options.validate}"</#if>
485 <#if field.options.mapping?if_exists>v-mapping="data.${field.options.mapping}"</#if> 485 <#if field.options.mapping?if_exists>v-mapping="data.${field.options.mapping}"</#if>
@@ -496,13 +496,13 @@ @@ -496,13 +496,13 @@
496 <#if field.options.validate?if_exists && field.options.validate?length gt 0 >:validate="${field.options.validate}"</#if> 496 <#if field.options.validate?if_exists && field.options.validate?length gt 0 >:validate="${field.options.validate}"</#if>
497 :permission="${getPermission(field,type)}" 497 :permission="${getPermission(field,type)}"
498 :ganged="${util.getSelectQuery(field.options,type!=1)}" 498 :ganged="${util.getSelectQuery(field.options,type!=1)}"
499 - <#if field.options.placeholder?if_exists>  
500 - <#if field.placeholderI18nKey?if_exists>  
501 - :placeholder="$td('${field.placeholderI18nKey}','${field.options.placeholder}')"  
502 - <#else>  
503 - placeholder="${field.options.placeholder}"  
504 - </#if> 499 + <#if field.options.placeholder?if_exists>
  500 + <#if field.placeholderI18nKey?if_exists>
  501 + :placeholder="$td('${field.placeholderI18nKey}','${field.options.placeholder}')"
  502 + <#else>
  503 + placeholder="${field.options.placeholder}"
505 </#if> 504 </#if>
  505 + </#if>
506 ${getPermissionLine(field,type,hasLinkage)} 506 ${getPermissionLine(field,type,hasLinkage)}
507 <#if field.options.disabled ?if_exists>:disabled="${field.options.disabled}"</#if> 507 <#if field.options.disabled ?if_exists>:disabled="${field.options.disabled}"</#if>
508 <#if field.options.isValidate ?if_exists>:isValidate="${field.options.isValidate}"</#if> 508 <#if field.options.isValidate ?if_exists>:isValidate="${field.options.isValidate}"</#if>
@@ -513,88 +513,88 @@ @@ -513,88 +513,88 @@
513 </#function> 513 </#function>
514 <#function getEipDate field type hasLinkage > 514 <#function getEipDate field type hasLinkage >
515 <#assign day = util.getJsonByPath(field.options,'day','0')> 515 <#assign day = util.getJsonByPath(field.options,'day','0')>
516 - <#assign showDate = util.getJsonByPath(field.options,'showCurrentDate','false')> 516 + <#assign showDate = util.getJsonByPath(field.options,'showCurrentDate','false')>
517 <#switch field.options.type> 517 <#switch field.options.type>
518 - <#case 'date' >  
519 - <#assign rtn>  
520 - <ht-date  
521 - v-model="${getNgModel(field,type)}" name="${field.desc}" <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>  
522 - <#if field.options.isServerDate>is-server-date</#if>  
523 - :permission="${getPermission(field,type)}"  
524 - ${getPermissionLine(field,type,hasLinkage)}  
525 - <#if field.options.validate?if_exists && field.options.validate?length gt 0 > :validate="${field.options.validate}"</#if>  
526 - <#if showDate == 'true'>show-date</#if>  
527 - <#if field.options.isInputEdit ?if_exists>:disabled="${field.options.isInputEdit}"</#if>  
528 -  
529 - <#if day != '0'&& day ?if_exists>:day="${day}"</#if>  
530 - <#if field.options.inputFormat?if_exists && field.options.inputFormat?length gt 0>format="${field.options.inputFormat}"</#if>  
531 - <#if field.options.format?if_exists && field.options.format?length gt 0>value-format="${field.options.format}"</#if>  
532 - <#if field.options.placeholder?if_exists>  
533 - <#if field.placeholderI18nKey?if_exists>  
534 - :placeholder="$td('${field.placeholderI18nKey}','${field.options.placeholder}')"  
535 - <#else>  
536 - placeholder="${field.options.placeholder}" 518 + <#case 'date' >
  519 + <#assign rtn>
  520 + <ht-date
  521 + v-model="${getNgModel(field,type)}" name="${field.desc}" <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>
  522 + <#if field.options.isServerDate>is-server-date</#if>
  523 + :permission="${getPermission(field,type)}"
  524 + ${getPermissionLine(field,type,hasLinkage)}
  525 + <#if field.options.validate?if_exists && field.options.validate?length gt 0 > :validate="${field.options.validate}"</#if>
  526 + <#if showDate == 'true'>show-date</#if>
  527 + <#if field.options.isInputEdit ?if_exists>:disabled="${field.options.isInputEdit}"</#if>
  528 +
  529 + <#if day != '0'&& day ?if_exists>:day="${day}"</#if>
  530 + <#if field.options.inputFormat?if_exists && field.options.inputFormat?length gt 0>format="${field.options.inputFormat}"</#if>
  531 + <#if field.options.format?if_exists && field.options.format?length gt 0>value-format="${field.options.format}"</#if>
  532 + <#if field.options.placeholder?if_exists>
  533 + <#if field.placeholderI18nKey?if_exists>
  534 + :placeholder="$td('${field.placeholderI18nKey}','${field.options.placeholder}')"
  535 + <#else>
  536 + placeholder="${field.options.placeholder}"
  537 + </#if>
537 </#if> 538 </#if>
538 - </#if>  
539 - <#if field.options.mapping?if_exists>v-mapping="data.${field.options.mapping}"</#if>  
540 - <#if field.options.formulasDiyJs?if_exists>v-formula="{value:${field.options.formulasDiyJs},bindPath:${getFormula(field, type)},format:'${field.options.format}'}"</#if>  
541 - <#if field.options.customInput?if_exists> v-formula="{value:'${field.options.customInput}',bindPath:${getFormula(field,type)},format:'${field.options.format}',type:'default'}"</#if>  
542 - <#if field.options.width?if_exists>style="width: ${field.options.width};"</#if>  
543 - ${getHyperlink(field)}  
544 - <#if field.options.disabled ?if_exists>:disabled="${field.options.disabled}"</#if>  
545 - <#if field.options.isValidate ?if_exists>:isValidate="${field.options.isValidate}"</#if>  
546 - >  
547 - </ht-date>  
548 - </#assign>  
549 - <#break>  
550 - <#case 'picker' >  
551 - <#assign rtn>  
552 - <ht-time-picker  
553 - v-model="${getNgModel(field,type)}" name="${field.desc}" <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>  
554 - :permission="${getPermission(field,type)}"  
555 - ${getPermissionLine(field,type,hasLinkage)}  
556 - <#if field.options.placeholder?if_exists>  
557 - <#if field.placeholderI18nKey?if_exists>  
558 - :placeholder="$td('${field.placeholderI18nKey}','${field.options.placeholder}')"  
559 - <#else>  
560 - placeholder="${field.options.placeholder}" 539 + <#if field.options.mapping?if_exists>v-mapping="data.${field.options.mapping}"</#if>
  540 + <#if field.options.formulasDiyJs?if_exists>v-formula="{value:${field.options.formulasDiyJs},bindPath:${getFormula(field, type)},format:'${field.options.format}'}"</#if>
  541 + <#if field.options.customInput?if_exists> v-formula="{value:'${field.options.customInput}',bindPath:${getFormula(field,type)},format:'${field.options.format}',type:'default'}"</#if>
  542 + <#if field.options.width?if_exists>style="width: ${field.options.width};"</#if>
  543 + ${getHyperlink(field)}
  544 + <#if field.options.disabled ?if_exists>:disabled="${field.options.disabled}"</#if>
  545 + <#if field.options.isValidate ?if_exists>:isValidate="${field.options.isValidate}"</#if>
  546 + >
  547 + </ht-date>
  548 + </#assign>
  549 + <#break>
  550 + <#case 'picker' >
  551 + <#assign rtn>
  552 + <ht-time-picker
  553 + v-model="${getNgModel(field,type)}" name="${field.desc}" <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>
  554 + :permission="${getPermission(field,type)}"
  555 + ${getPermissionLine(field,type,hasLinkage)}
  556 + <#if field.options.placeholder?if_exists>
  557 + <#if field.placeholderI18nKey?if_exists>
  558 + :placeholder="$td('${field.placeholderI18nKey}','${field.options.placeholder}')"
  559 + <#else>
  560 + placeholder="${field.options.placeholder}"
  561 + </#if>
561 </#if> 562 </#if>
562 - </#if>  
563 - <#if field.options.validate?if_exists && field.options.validate?length gt 0>:validate="${field.options.validate}"</#if>  
564 - <#if field.options.width?if_exists>style="width: ${field.options.width};"</#if>  
565 - <#if field.options.formulasDiyJs?if_exists>v-formula="{value:${field.options.formulasDiyJs},bindPath:${getFormula(field, type)},format:'${field.options.format}'}"</#if>  
566 - <#if field.options.customInput?if_exists> v-formula="{value:'${field.options.customInput}',bindPath:${getFormula(field,type)},format:'${field.options.format}',type:'default'}"</#if>  
567 - <#if field.options.disabled ?if_exists>:disabled="${field.options.disabled}"</#if>  
568 - <#if field.options.isValidate ?if_exists>:isValidate="${field.options.isValidate}"</#if>  
569 - >  
570 - </ht-time-picker>  
571 - </#assign>  
572 - <#break>  
573 - <#case 'select' >  
574 - <#assign rtn>  
575 - <ht-time-select  
576 - v-model="${getNgModel(field,type)}" name="${field.desc}" <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>  
577 - :permission="${getPermission(field,type)}"  
578 - ${getPermissionLine(field,type,hasLinkage)}  
579 - <#if field.options.validate?if_exists && field.options.validate?length gt 0> :validate="${field.options.validate}"</#if>  
580 - <#if field.options.placeholder?if_exists>  
581 - <#if field.placeholderI18nKey?if_exists>  
582 - :placeholder="$td('${field.placeholderI18nKey}','${field.options.placeholder}')"  
583 - <#else>  
584 - placeholder="${field.options.placeholder}" 563 + <#if field.options.validate?if_exists && field.options.validate?length gt 0>:validate="${field.options.validate}"</#if>
  564 + <#if field.options.width?if_exists>style="width: ${field.options.width};"</#if>
  565 + <#if field.options.formulasDiyJs?if_exists>v-formula="{value:${field.options.formulasDiyJs},bindPath:${getFormula(field, type)},format:'${field.options.format}'}"</#if>
  566 + <#if field.options.customInput?if_exists> v-formula="{value:'${field.options.customInput}',bindPath:${getFormula(field,type)},format:'${field.options.format}',type:'default'}"</#if>
  567 + <#if field.options.disabled ?if_exists>:disabled="${field.options.disabled}"</#if>
  568 + <#if field.options.isValidate ?if_exists>:isValidate="${field.options.isValidate}"</#if>
  569 + >
  570 + </ht-time-picker>
  571 + </#assign>
  572 + <#break>
  573 + <#case 'select' >
  574 + <#assign rtn>
  575 + <ht-time-select
  576 + v-model="${getNgModel(field,type)}" name="${field.desc}" <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>
  577 + :permission="${getPermission(field,type)}"
  578 + ${getPermissionLine(field,type,hasLinkage)}
  579 + <#if field.options.validate?if_exists && field.options.validate?length gt 0> :validate="${field.options.validate}"</#if>
  580 + <#if field.options.placeholder?if_exists>
  581 + <#if field.placeholderI18nKey?if_exists>
  582 + :placeholder="$td('${field.placeholderI18nKey}','${field.options.placeholder}')"
  583 + <#else>
  584 + placeholder="${field.options.placeholder}"
  585 + </#if>
585 </#if> 586 </#if>
586 - </#if>  
587 - <#if field.options.mapping?if_exists>v-mapping="data.${field.options.mapping}"</#if>  
588 - <#if field.options.formulasDiyJs?if_exists>v-formula="{value:${field.options.formulasDiyJs},bindPath:${getFormula(field, type)},format:'${(field.options.type =='select')?string('HH:mm:ss','HH:mm')}'}"</#if>  
589 - <#if field.options.customInput?if_exists> v-formula="{value:'${field.options.customInput}',bindPath:${getFormula(field,type)},format:'${(field.options.type =='select')?string('HH:mm:ss','HH:mm')}',type:'default'}"</#if>  
590 - <#if field.options.width?if_exists>style="width: ${field.options.width};"</#if>  
591 - ${getHyperlink(field)}  
592 - <#if field.options.disabled ?if_exists>:disabled="${field.options.disabled}"</#if>  
593 - <#if field.options.isValidate ?if_exists>:isValidate="${field.options.isValidate}"</#if>  
594 - >  
595 - </ht-time-select>  
596 - </#assign>  
597 - <#break> 587 + <#if field.options.mapping?if_exists>v-mapping="data.${field.options.mapping}"</#if>
  588 + <#if field.options.formulasDiyJs?if_exists>v-formula="{value:${field.options.formulasDiyJs},bindPath:${getFormula(field, type)},format:'${(field.options.type =='select')?string('HH:mm:ss','HH:mm')}'}"</#if>
  589 + <#if field.options.customInput?if_exists> v-formula="{value:'${field.options.customInput}',bindPath:${getFormula(field,type)},format:'${(field.options.type =='select')?string('HH:mm:ss','HH:mm')}',type:'default'}"</#if>
  590 + <#if field.options.width?if_exists>style="width: ${field.options.width};"</#if>
  591 + ${getHyperlink(field)}
  592 + <#if field.options.disabled ?if_exists>:disabled="${field.options.disabled}"</#if>
  593 + <#if field.options.isValidate ?if_exists>:isValidate="${field.options.isValidate}"</#if>
  594 + >
  595 + </ht-time-select>
  596 + </#assign>
  597 + <#break>
598 </#switch> 598 </#switch>
599 <#return rtn> 599 <#return rtn>
600 </#function> 600 </#function>
@@ -604,18 +604,18 @@ @@ -604,18 +604,18 @@
604 <ht-date-picker 604 <ht-date-picker
605 v-model="${getNgModel(field,type)}" name="${field.desc}" <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if> 605 v-model="${getNgModel(field,type)}" name="${field.desc}" <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>
606 :permission="${getPermission(field,type)}" 606 :permission="${getPermission(field,type)}"
607 - ${getPermissionLine(field,type,hasLinkage)} 607 + ${getPermissionLine(field,type,hasLinkage)}
608 <#if field.options.placeholder?if_exists> 608 <#if field.options.placeholder?if_exists>
609 - <#if field.placeholderI18nKey?if_exists>  
610 - :placeholder="$td('${field.placeholderI18nKey}','${field.options.placeholder}')"  
611 - <#else>  
612 - placeholder="${field.options.placeholder}"  
613 - </#if> 609 + <#if field.placeholderI18nKey?if_exists>
  610 + :placeholder="$td('${field.placeholderI18nKey}','${field.options.placeholder}')"
  611 + <#else>
  612 + placeholder="${field.options.placeholder}"
614 </#if> 613 </#if>
615 - <#if field.options.validate?if_exists && field.options.validate?length gt 0>:validate="${field.options.validate}"</#if> 614 + </#if>
  615 + <#if field.options.validate?if_exists && field.options.validate?length gt 0>:validate="${field.options.validate}"</#if>
616 <#if field.options.inputFormat?if_exists && field.options.inputFormat?length gt 0>format="${field.options.inputFormat}"<#else>format="yyyy-MM-dd"</#if> 616 <#if field.options.inputFormat?if_exists && field.options.inputFormat?length gt 0>format="${field.options.inputFormat}"<#else>format="yyyy-MM-dd"</#if>
617 <#if field.options.inputFormat?if_exists && field.options.inputFormat?length gt 0>value-format="${field.options.inputFormat}"<#else>value-format="yyyy-MM-dd"</#if> 617 <#if field.options.inputFormat?if_exists && field.options.inputFormat?length gt 0>value-format="${field.options.inputFormat}"<#else>value-format="yyyy-MM-dd"</#if>
618 - <#if field.options.width?if_exists>style="width: ${field.options.width};"</#if> 618 + <#if field.options.width?if_exists>style="width: ${field.options.width};"</#if>
619 ${getHyperlink(field)} 619 ${getHyperlink(field)}
620 > 620 >
621 </ht-date-picker> 621 </ht-date-picker>
@@ -626,18 +626,18 @@ @@ -626,18 +626,18 @@
626 <#function getEipTimePicker field type hasLinkage > 626 <#function getEipTimePicker field type hasLinkage >
627 <#assign rtn> 627 <#assign rtn>
628 <ht-time-picker is-range 628 <ht-time-picker is-range
629 - v-model="${getNgModel(field,type)}" name="${field.desc}" <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>  
630 - :permission="${getPermission(field,type)}" 629 + v-model="${getNgModel(field,type)}" name="${field.desc}" <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>
  630 + :permission="${getPermission(field,type)}"
631 ${getPermissionLine(field,type,hasLinkage)} 631 ${getPermissionLine(field,type,hasLinkage)}
632 <#if field.options.placeholder?if_exists> 632 <#if field.options.placeholder?if_exists>
633 - <#if field.placeholderI18nKey?if_exists>  
634 - :placeholder="$td('${field.placeholderI18nKey}','${field.options.placeholder}')"  
635 - <#else>  
636 - placeholder="${field.options.placeholder}"  
637 - </#if> 633 + <#if field.placeholderI18nKey?if_exists>
  634 + :placeholder="$td('${field.placeholderI18nKey}','${field.options.placeholder}')"
  635 + <#else>
  636 + placeholder="${field.options.placeholder}"
638 </#if> 637 </#if>
639 - <#if field.options.validate?if_exists && field.options.validate?length gt 0>:validate="${field.options.validate}"</#if>  
640 - <#if field.options.width?if_exists>style="width: ${field.options.width};"</#if> 638 + </#if>
  639 + <#if field.options.validate?if_exists && field.options.validate?length gt 0>:validate="${field.options.validate}"</#if>
  640 + <#if field.options.width?if_exists>style="width: ${field.options.width};"</#if>
641 > 641 >
642 </ht-time-picker> 642 </ht-time-picker>
643 </#assign> 643 </#assign>
@@ -647,85 +647,85 @@ @@ -647,85 +647,85 @@
647 <#function getEipRelFlow field type hasLinkage > 647 <#function getEipRelFlow field type hasLinkage >
648 <#assign rtn> 648 <#assign rtn>
649 <ht-relevant-flow v-model="${getNgModel(field,type)}" name="${field.desc}" 649 <ht-relevant-flow v-model="${getNgModel(field,type)}" name="${field.desc}"
650 - <#if field.options.flowRangeKey?if_exists>flowRangeKey="${field.options.flowRangeKey}"</#if>  
651 - <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>  
652 - :permission="${getPermission(field,type)}"  
653 - :search-config="{isPaging:${field.options.isPaging},pageSize:${field.options.pageSize}}"  
654 - ></ht-relevant-flow> 650 + <#if field.options.flowRangeKey?if_exists>flowRangeKey="${field.options.flowRangeKey}"</#if>
  651 + <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>
  652 + :permission="${getPermission(field,type)}"
  653 + :search-config="{isPaging:${field.options.isPaging},pageSize:${field.options.pageSize}}"
  654 + ></ht-relevant-flow>
655 </#assign> 655 </#assign>
656 <#return rtn> 656 <#return rtn>
657 </#function> 657 </#function>
658 <#function getEipImg field type > 658 <#function getEipImg field type >
659 - <#assign rtn>  
660 - <ht-image  
661 - <#if field.options.isDisplay?if_exists>:is-display="${field.options.isDisplay?default(false)}"</#if>  
662 - <#if field.options.imgSrc?if_exists>img-src="${field.options.imgSrc}" :is-display="false"</#if>  
663 - file-json='${field.options.fileJson}'  
664 - :img-height='${field.options.size.height?default(0)}'  
665 - :img-width='${field.options.size.width?default(0)}'  
666 - <#if field.options.openUrl?if_exists>open-url="${field.options.openUrl}"</#if>  
667 - <#if field.options.openType?if_exists>open-type="${field.options.openType}"</#if>  
668 - <#if field.tableName?if_exists && field.name?if_exists>:permission="${getPermission(field,type)}"</#if>  
669 - />  
670 - </#assign>  
671 - <#return rtn> 659 + <#assign rtn>
  660 + <ht-image
  661 + <#if field.options.isDisplay?if_exists>:is-display="${field.options.isDisplay?default(false)}"</#if>
  662 + <#if field.options.imgSrc?if_exists>img-src="${field.options.imgSrc}" :is-display="false"</#if>
  663 + file-json='${field.options.fileJson}'
  664 + :img-height='${field.options.size.height?default(0)}'
  665 + :img-width='${field.options.size.width?default(0)}'
  666 + <#if field.options.openUrl?if_exists>open-url="${field.options.openUrl}"</#if>
  667 + <#if field.options.openType?if_exists>open-type="${field.options.openType}"</#if>
  668 + <#if field.tableName?if_exists && field.name?if_exists>:permission="${getPermission(field,type)}"</#if>
  669 + />
  670 + </#assign>
  671 + <#return rtn>
672 </#function> 672 </#function>
673 <#function getEipViewer field type hasLinkage> 673 <#function getEipViewer field type hasLinkage>
674 <#assign rtn> 674 <#assign rtn>
675 <#assign allowPreview = util.getJsonByPath(field.options.file,'allowPreview','true')> 675 <#assign allowPreview = util.getJsonByPath(field.options.file,'allowPreview','true')>
676 <#assign allowDownload = util.getJsonByPath(field.options.file,'allowDownload','false')> 676 <#assign allowDownload = util.getJsonByPath(field.options.file,'allowDownload','false')>
677 - <ht-picture v-model="${getNgModel(field,type)}" name="${field.desc}"  
678 - <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>  
679 - :permission="${getPermission(field,type)}"  
680 - <#if field.options.validate?if_exists && field.options.validate?length gt 0>:validate="${field.options.validate}"</#if>  
681 - :limit="${field.options.file.limit}"  
682 - <#if field.options.imgHeight?if_exists>img-height="${field.options.imgHeight}"</#if>  
683 - <#if field.options.imgWidth?if_exists>img-width="${field.options.imgWidth}"</#if>  
684 - upload-type="${field.options.uploadType}"  
685 - :allow-preview="${allowPreview}"  
686 - :allow-download="${allowDownload}"  
687 - openUrl="${field.options.openUrl}"  
688 - ${getPermissionLine(field,type,hasLinkage)}  
689 - :multiple="${util.getJsonByPath(field.options.file,'multiple','false')}"  
690 - <#if field.options.file.compress?if_exists>:compress="${field.options.file.compress}"</#if>  
691 - :flow-data="extendProp">  
692 - </ht-picture> 677 + <ht-picture v-model="${getNgModel(field,type)}" name="${field.desc}"
  678 + <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>
  679 + :permission="${getPermission(field,type)}"
  680 + <#if field.options.validate?if_exists && field.options.validate?length gt 0>:validate="${field.options.validate}"</#if>
  681 + :limit="${field.options.file.limit}"
  682 + <#if field.options.imgHeight?if_exists>img-height="${field.options.imgHeight}"</#if>
  683 + <#if field.options.imgWidth?if_exists>img-width="${field.options.imgWidth}"</#if>
  684 + upload-type="${field.options.uploadType}"
  685 + :allow-preview="${allowPreview}"
  686 + :allow-download="${allowDownload}"
  687 + openUrl="${field.options.openUrl}"
  688 + ${getPermissionLine(field,type,hasLinkage)}
  689 + :multiple="${util.getJsonByPath(field.options.file,'multiple','false')}"
  690 + <#if field.options.file.compress?if_exists>:compress="${field.options.file.compress}"</#if>
  691 + :flow-data="extendProp">
  692 + </ht-picture>
693 </#assign> 693 </#assign>
694 <#return rtn> 694 <#return rtn>
695 </#function> 695 </#function>
696 <#function getSwitch field type hasLinkage> 696 <#function getSwitch field type hasLinkage>
697 - <#assign rtn>  
698 - <ht-switch v-model="${getNgModel(field,type)}" 697 + <#assign rtn>
  698 + <ht-switch v-model="${getNgModel(field,type)}"
699 <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if> 699 <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>
700 - :permission="${getPermission(field,type)}"  
701 - ${getPermissionLine(field,type,hasLinkage)}  
702 - <#if field.options.validate?if_exists && field.options.validate?length gt 0>:validate="${field.options.validate}"</#if> 700 + :permission="${getPermission(field,type)}"
  701 + ${getPermissionLine(field,type,hasLinkage)}
  702 + <#if field.options.validate?if_exists && field.options.validate?length gt 0>:validate="${field.options.validate}"</#if>
703 active-value="${field.options.activeValue}" 703 active-value="${field.options.activeValue}"
704 inactive-value="${field.options.inactiveValue}" 704 inactive-value="${field.options.inactiveValue}"
705 active-text="${field.options.activeText}" 705 active-text="${field.options.activeText}"
706 inactive-text="${field.options.inactiveText}" 706 inactive-text="${field.options.inactiveText}"
707 - <#if field.options.formulasDiyJs?if_exists >v-formula="{value:${field.options.formulasDiyJs},bindPath:${getFormula(field, type)}}"</#if>  
708 - <#if field.options.customInput?if_exists> v-formula="{value:'${field.options.customInput}',bindPath:${getFormula(field,type)},type:'default'}"</#if>  
709 - >  
710 - </ht-switch>  
711 - </#assign>  
712 - <#return rtn> 707 + <#if field.options.formulasDiyJs?if_exists >v-formula="{value:${field.options.formulasDiyJs},bindPath:${getFormula(field, type)}}"</#if>
  708 + <#if field.options.customInput?if_exists> v-formula="{value:'${field.options.customInput}',bindPath:${getFormula(field,type)},type:'default'}"</#if>
  709 + >
  710 + </ht-switch>
  711 + </#assign>
  712 + <#return rtn>
713 </#function> 713 </#function>
714 714
715 <#function getUrlParameter field type hasLinkage> 715 <#function getUrlParameter field type hasLinkage>
716 - <#assign rtn>  
717 - <ht-url-parameter v-model="${getNgModel(field,type)}"  
718 - <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>  
719 - :permission="${getPermission(field,type)}"  
720 - ${getPermissionLine(field,type,hasLinkage)}  
721 - <#if field.options.validate?if_exists && field.options.validate?length gt 0>:validate="${field.options.validate}"</#if>  
722 - bindKey="${field.options.bindKey}"  
723 - <#if field.options.formulasDiyJs?if_exists >v-formula="{value:${field.options.formulasDiyJs},bindPath:${getFormula(field, type)}}"</#if>  
724 - <#if field.options.customInput?if_exists> v-formula="{value:'${field.options.customInput}',bindPath:${getFormula(field,type)}}"</#if>  
725 - >  
726 - </ht-url-parameter>  
727 - </#assign>  
728 - <#return rtn> 716 + <#assign rtn>
  717 + <ht-url-parameter v-model="${getNgModel(field,type)}"
  718 + <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>
  719 + :permission="${getPermission(field,type)}"
  720 + ${getPermissionLine(field,type,hasLinkage)}
  721 + <#if field.options.validate?if_exists && field.options.validate?length gt 0>:validate="${field.options.validate}"</#if>
  722 + bindKey="${field.options.bindKey}"
  723 + <#if field.options.formulasDiyJs?if_exists >v-formula="{value:${field.options.formulasDiyJs},bindPath:${getFormula(field, type)}}"</#if>
  724 + <#if field.options.customInput?if_exists> v-formula="{value:'${field.options.customInput}',bindPath:${getFormula(field,type)}}"</#if>
  725 + >
  726 + </ht-url-parameter>
  727 + </#assign>
  728 + <#return rtn>
729 </#function> 729 </#function>
730 730
731 <#function getHistoricalApproval field type > 731 <#function getHistoricalApproval field type >
@@ -738,36 +738,43 @@ @@ -738,36 +738,43 @@
738 <#return rtn> 738 <#return rtn>
739 </#function> 739 </#function>
740 <#function getEipMap field type > 740 <#function getEipMap field type >
741 - <#assign rtn>  
742 - <ht-map v-model="${getNgModel(field,type)}"  
743 - :permission="${getPermission(field,type)}"  
744 - heightMap="${field.options.heightMap}"  
745 - widthMap="${field.options.widthMap}"  
746 - showEffect="${field.options.showEffect}"  
747 - <#if field.options.locationPath> locationPath="data.${field.options.locationPath}"</#if>  
748 - <#if formSetting.display>displayStyle=${formSetting.display}</#if>  
749 - name="${field.desc}"  
750 - <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if> 741 + <#assign rtn>
  742 + <ht-map v-model="${getNgModel(field,type)}"
  743 + :permission="${getPermission(field,type)}"
  744 + heightMap="${field.options.heightMap}"
  745 + widthMap="${field.options.widthMap}"
  746 + showEffect="${field.options.showEffect}"
  747 + <#if field.options.locationPath> locationPath="data.${field.options.locationPath}"</#if>
  748 + <#if field.options.longitudePath> longitudePath="data.${field.options.longitudePath}"</#if>
  749 + <#if field.options.latitudePath> latitudePath="data.${field.options.latitudePath}"</#if>
  750 + <#if field.options.provincePath> provincePath="data.${field.options.provincePath}"</#if>
  751 + <#if field.options.cityPath> cityPath="data.${field.options.cityPath}"</#if>
  752 + <#if field.options.districtPath> districtPath="data.${field.options.districtPath}"</#if>
  753 + <#if field.options.streetPath> streetPath="data.${field.options.streetPath}"</#if>
  754 + <#if formSetting.display>displayStyle=${formSetting.display}</#if>
  755 + name="${field.desc}"
  756 +
  757 + <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>
751 <#if field.options.isAddPosition>:append-position="${field.options.isAddPosition}"</#if> 758 <#if field.options.isAddPosition>:append-position="${field.options.isAddPosition}"</#if>
752 ></ht-map> 759 ></ht-map>
753 - </#assign>  
754 - <#return rtn> 760 + </#assign>
  761 + <#return rtn>
755 </#function> 762 </#function>
756 <#function getOffice field type hasLinkage> 763 <#function getOffice field type hasLinkage>
757 <#assign rtn> 764 <#assign rtn>
758 -<#-- <span>office组件尚未实现...</span>--> 765 + <#-- <span>office组件尚未实现...</span>-->
759 </#assign> 766 </#assign>
760 <#return rtn> 767 <#return rtn>
761 </#function> 768 </#function>
762 <#function getSignature field type hasLinkage> 769 <#function getSignature field type hasLinkage>
763 <#assign rtn> 770 <#assign rtn>
764 -<#-- <span>签名组件尚未实现...</span>--> 771 + <#-- <span>签名组件尚未实现...</span>-->
765 </#assign> 772 </#assign>
766 <#return rtn> 773 <#return rtn>
767 </#function> 774 </#function>
768 <#function getFlowChart field type> 775 <#function getFlowChart field type>
769 <#assign rtn> 776 <#assign rtn>
770 -<#-- <span>流程图组件尚未实现...</span>--> 777 + <#-- <span>流程图组件尚未实现...</span>-->
771 </#assign> 778 </#assign>
772 <#return rtn> 779 <#return rtn>
773 </#function> 780 </#function>
@@ -779,67 +786,67 @@ @@ -779,67 +786,67 @@
779 </#function> 786 </#function>
780 <#-- 子表关联查询回填 --> 787 <#-- 子表关联查询回填 -->
781 <#function getSubtableCustomQueryBackfill layout > 788 <#function getSubtableCustomQueryBackfill layout >
782 - <#assign queryConfig = util.getStringConf(layout.customQuery)>  
783 - <#assign rtn>  
784 - <ht-subtable-backfill  
785 - :customQuery='${queryConfig}'  
786 - :max-row="${util.getNumber(layout.options.maxRow, 0)}"  
787 - init-fill-data="${layout.initTemplateData}"  
788 - init-fill-data-type="${layout.initTemplateDataType}"  
789 - :extend-prop="extendProp"  
790 - />  
791 - </#assign>  
792 - <#return rtn> 789 + <#assign queryConfig = util.getStringConf(layout.customQuery)>
  790 + <#assign rtn>
  791 + <ht-subtable-backfill
  792 + :customQuery='${queryConfig}'
  793 + :max-row="${util.getNumber(layout.options.maxRow, 0)}"
  794 + init-fill-data="${layout.initTemplateData}"
  795 + init-fill-data-type="${layout.initTemplateDataType}"
  796 + :extend-prop="extendProp"
  797 + />
  798 + </#assign>
  799 + <#return rtn>
793 </#function> 800 </#function>
794 <#-- 标题 简单文字方法 --> 801 <#-- 标题 简单文字方法 -->
795 <#function getText field> 802 <#function getText field>
796 - <#assign rtn>  
797 - <ht-text fontSize="${field.options.fontSize}" fontWeight="${field.options.fontWeight}" ctrlType="${field.ctrlType}"  
798 - textValue="${util.getBase64(field.options.textValue)}" textAlign="${field.options.textAlign}" paddingTop="${field.options.paddingTop}"  
799 - <#if field.options.color>color="${field.options.color}"<#else>color="${formSetting.fontColor?replace('\"','')}"</#if>  
800 - <#if field.tableName?if_exists && field.name?if_exists>:permission="${getPermission(field,type)}"</#if>  
801 - paddingBottom="${field.options.paddingBottom}" paddingLeft="${field.options.paddingLeft}" paddingRight="${field.options.paddingRight}">  
802 - <template #tip>  
803 - <#if field.options.tip?default("")?trim?length gt 1>  
804 - <el-tooltip placement="top">  
805 - <div slot="content" >${field.options.tip}</div>  
806 - <i class="el-icon-question" />  
807 - </el-tooltip>  
808 - </#if> 803 + <#assign rtn>
  804 + <ht-text fontSize="${field.options.fontSize}" fontWeight="${field.options.fontWeight}" ctrlType="${field.ctrlType}"
  805 + textValue="${util.getBase64(field.options.textValue)}" textAlign="${field.options.textAlign}" paddingTop="${field.options.paddingTop}"
  806 + <#if field.options.color>color="${field.options.color}"<#else>color="${formSetting.fontColor?replace('\"','')}"</#if>
  807 + <#if field.tableName?if_exists && field.name?if_exists>:permission="${getPermission(field,type)}"</#if>
  808 + paddingBottom="${field.options.paddingBottom}" paddingLeft="${field.options.paddingLeft}" paddingRight="${field.options.paddingRight}">
  809 + <template #tip>
  810 + <#if field.options.tip?default("")?trim?length gt 1>
  811 + <el-tooltip placement="top">
  812 + <div slot="content" >${field.options.tip}</div>
  813 + <i class="el-icon-question" />
  814 + </el-tooltip>
  815 + </#if>
809 </template> 816 </template>
810 - </ht-text>  
811 - </#assign>  
812 - <#return rtn> 817 + </ht-text>
  818 + </#assign>
  819 + <#return rtn>
813 </#function> 820 </#function>
814 <#-- 说明 方法 --> 821 <#-- 说明 方法 -->
815 <#function getExplain field> 822 <#function getExplain field>
816 - <#assign rtn>  
817 - <ht-explain  
818 - <#if field.options.textValue?if_exists>  
819 - textValue="${field.options.textValue}"  
820 - </#if>  
821 - marginTop="${field.options.marginTop}" marginBottom="${field.options.marginBottom}"  
822 - fontColor="${formSetting.fontColor?replace('\"','')}"  
823 - <#if field.tableName?if_exists && field.name?if_exists>:permission="${getPermission(field,type)}"</#if>  
824 - <#if field.options.isLabelShow?if_exists>isLabelShow</#if>  
825 - ${getHyperlink(field)}  
826 - >  
827 - <template #tip>  
828 - <#if field.options.tip?default("")?trim?length gt 1>  
829 - <el-tooltip placement="top">  
830 - <div slot="content" >${field.options.tip}</div>  
831 - <i class="el-icon-question" />  
832 - </el-tooltip>  
833 - </#if>  
834 - </template>  
835 - </ht-explain>  
836 - </#assign>  
837 - <#return rtn> 823 + <#assign rtn>
  824 + <ht-explain
  825 + <#if field.options.textValue?if_exists>
  826 + textValue="${field.options.textValue}"
  827 + </#if>
  828 + marginTop="${field.options.marginTop}" marginBottom="${field.options.marginBottom}"
  829 + fontColor="${formSetting.fontColor?replace('\"','')}"
  830 + <#if field.tableName?if_exists && field.name?if_exists>:permission="${getPermission(field,type)}"</#if>
  831 + <#if field.options.isLabelShow?if_exists>isLabelShow</#if>
  832 + ${getHyperlink(field)}
  833 + >
  834 + <template #tip>
  835 + <#if field.options.tip?default("")?trim?length gt 1>
  836 + <el-tooltip placement="top">
  837 + <div slot="content" >${field.options.tip}</div>
  838 + <i class="el-icon-question" />
  839 + </el-tooltip>
  840 + </#if>
  841 + </template>
  842 + </ht-explain>
  843 + </#assign>
  844 + <#return rtn>
838 </#function> 845 </#function>
839 846
840 <#function getOpinion field type> 847 <#function getOpinion field type>
841 <#assign rtn> 848 <#assign rtn>
842 - <ht-opinion :permission="${getPermission(field,type)}" :flow-data="extendProp"></ht-opinion> 849 + <ht-opinion :permission="${getPermission(field,type)}" :flow-data="extendProp"></ht-opinion>
843 </#assign> 850 </#assign>
844 <#return rtn> 851 <#return rtn>
845 </#function> 852 </#function>
@@ -851,14 +858,14 @@ @@ -851,14 +858,14 @@
851 :permission="${getPermission(field,type)}" 858 :permission="${getPermission(field,type)}"
852 name="${field.desc}" 859 name="${field.desc}"
853 <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if> 860 <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>
854 - <#if field.options.allowHalf?if_exists>allow-half</#if>  
855 - <#if field.options.max?if_exists>:max="${field.options.max}"</#if>  
856 - <#if field.options.defaultValue?if_exists>:default-value="${field.options.defaultValue}"</#if>  
857 - <#if field.options.showScore?if_exists>show-score</#if>  
858 - <#if field.options.iconClass?if_exists>icon-class="${field.options.iconClass}"</#if>  
859 - <#if field.options.activeColor?if_exists>active-color="${field.options.activeColor}"</#if> 861 + <#if field.options.allowHalf?if_exists>allow-half</#if>
  862 + <#if field.options.max?if_exists>:max="${field.options.max}"</#if>
  863 + <#if field.options.defaultValue?if_exists>:default-value="${field.options.defaultValue}"</#if>
  864 + <#if field.options.showScore?if_exists>show-score</#if>
  865 + <#if field.options.iconClass?if_exists>icon-class="${field.options.iconClass}"</#if>
  866 + <#if field.options.activeColor?if_exists>active-color="${field.options.activeColor}"</#if>
860 867
861 - ></ht-rate> 868 + ></ht-rate>
862 </#assign> 869 </#assign>
863 <#return rtn> 870 <#return rtn>
864 </#function> 871 </#function>
@@ -867,17 +874,17 @@ @@ -867,17 +874,17 @@
867 <#function getSlider field type> 874 <#function getSlider field type>
868 <#assign rtn> 875 <#assign rtn>
869 <ht-slider v-model="${getNgModel(field,type)}" 876 <ht-slider v-model="${getNgModel(field,type)}"
870 - :permission="${getPermission(field,type)}"  
871 - :is-preview="isPreview"  
872 - name="${field.desc}"  
873 - <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>  
874 - <#if field.options.showInput?if_exists>show-input</#if>  
875 - <#if field.options.max?if_exists>:max="${field.options.max}"</#if>  
876 - <#if field.options.min?if_exists>:min="${field.options.min}"</#if>  
877 - <#if field.options.step?if_exists>:step="${field.options.step}"</#if>  
878 - <#if field.options.validate?if_exists>:validate="${field.options.validate}" </#if>  
879 - <#if field.options.defaultValue?if_exists>:default-value="${field.options.defaultValue}"</#if>  
880 - ></ht-slider> 877 + :permission="${getPermission(field,type)}"
  878 + :is-preview="isPreview"
  879 + name="${field.desc}"
  880 + <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>
  881 + <#if field.options.showInput?if_exists>show-input</#if>
  882 + <#if field.options.max?if_exists>:max="${field.options.max}"</#if>
  883 + <#if field.options.min?if_exists>:min="${field.options.min}"</#if>
  884 + <#if field.options.step?if_exists>:step="${field.options.step}"</#if>
  885 + <#if field.options.validate?if_exists>:validate="${field.options.validate}" </#if>
  886 + <#if field.options.defaultValue?if_exists>:default-value="${field.options.defaultValue}"</#if>
  887 + ></ht-slider>
881 </#assign> 888 </#assign>
882 <#return rtn> 889 <#return rtn>
883 </#function> 890 </#function>
@@ -932,54 +939,54 @@ @@ -932,54 +939,54 @@
932 <#function getIframe field type hasLinkage> 939 <#function getIframe field type hasLinkage>
933 <#assign rtn> 940 <#assign rtn>
934 <ht-iframe 941 <ht-iframe
935 - v-if="${getPermission(field,type)}!='n'" 942 + v-if="${getPermission(field,type)}!='n'"
936 src="${field.options.iframeSrc}" 943 src="${field.options.iframeSrc}"
937 height="${field.options.iframeSrcHeight}" 944 height="${field.options.iframeSrcHeight}"
938 width="${field.options.iframeSrcWidth}" 945 width="${field.options.iframeSrcWidth}"
939 style="border-color:${field.options.lableColor}" 946 style="border-color:${field.options.lableColor}"
940 - iframe-name="${field.options.iframeNmae}" 947 + iframe-name="${field.options.iframeNmae}"
941 frameborder="${field.options.frameborder}" 948 frameborder="${field.options.frameborder}"
942 - iframeType="${field.options.iframeType}"  
943 - iframeSrcJs="${field.options.iframeSrcJs}" 949 + iframeType="${field.options.iframeType}"
  950 + iframeSrcJs="${field.options.iframeSrcJs}"
944 :data="data" 951 :data="data"
945 :permission="permission" 952 :permission="permission"
946 :inst-id="instId" 953 :inst-id="instId"
947 :isBusinessForm="${field.options.isBusinessForm? string("true","false")}" 954 :isBusinessForm="${field.options.isBusinessForm? string("true","false")}"
948 :urlParameter='${util.getMapString(field.options,"urlParameter")}' 955 :urlParameter='${util.getMapString(field.options,"urlParameter")}'
949 :returnParameter='${util.getMapString(field.options,"returnParameter")}' 956 :returnParameter='${util.getMapString(field.options,"returnParameter")}'
950 - ></ht-iframe> 957 + ></ht-iframe>
951 </#assign> 958 </#assign>
952 <#return rtn> 959 <#return rtn>
953 </#function> 960 </#function>
954 <#-- 注意不能加空格 --> 961 <#-- 注意不能加空格 -->
955 <#macro input field type hasLinkage> 962 <#macro input field type hasLinkage>
956 -<#switch field.ctrlType>  
957 - <#case 'input' ><#--单行文本框-->${getInput(field,type,hasLinkage)}  
958 -<#break>  
959 - <#case 'textarea'><#--多行文本框-->${getTextarea(field,type,hasLinkage)}  
960 -<#break>  
961 - <#case 'richText'><#--多行文本框-->${getTextarea(field,type,hasLinkage)}  
962 -<#break>  
963 - <#case 'property-text'><#--属性文本-->${getTextarea(field,type,hasLinkage)}  
964 -<#break>  
965 - <#case 'text'>${getFont(field,type)}  
966 -<#break>  
967 - <#case 'QRcode'>${getQRcode(field,type)}  
968 -<#break>  
969 - <#case 'number'><#--数字框-->${getNumberInput(field,type,hasLinkage)}  
970 -<#break>  
971 - <#case 'currency'><#--数字框-->${getNumberInput(field,type,hasLinkage)}  
972 -<#break>  
973 - <#case 'radio'><#--单选框-->${getRadio(field,type,hasLinkage)}  
974 -<#break>  
975 - <#case 'checkbox'><#--多选框-->${getCheckbox(field,type,hasLinkage)}  
976 -<#break>  
977 - <#case 'select'><#--下拉框-->${getSelect(field,type,hasLinkage)}  
978 -<#break>  
979 - <#case 'dialog'><#--对话框-->${getDialog(field,type,hasLinkage)}  
980 -<#break>  
981 - <#case 'selector'><#--选择器(包括组织,岗位,角色,用户选择器等控件组合)-->  
982 - <${util.getHtSelectorType(field.options,type!=1)} 963 + <#switch field.ctrlType>
  964 + <#case 'input' ><#--单行文本框-->${getInput(field,type,hasLinkage)}
  965 + <#break>
  966 + <#case 'textarea'><#--多行文本框-->${getTextarea(field,type,hasLinkage)}
  967 + <#break>
  968 + <#case 'richText'><#--多行文本框-->${getTextarea(field,type,hasLinkage)}
  969 + <#break>
  970 + <#case 'property-text'><#--属性文本-->${getTextarea(field,type,hasLinkage)}
  971 + <#break>
  972 + <#case 'text'>${getFont(field,type)}
  973 + <#break>
  974 + <#case 'QRcode'>${getQRcode(field,type)}
  975 + <#break>
  976 + <#case 'number'><#--数字框-->${getNumberInput(field,type,hasLinkage)}
  977 + <#break>
  978 + <#case 'currency'><#--数字框-->${getNumberInput(field,type,hasLinkage)}
  979 + <#break>
  980 + <#case 'radio'><#--单选框-->${getRadio(field,type,hasLinkage)}
  981 + <#break>
  982 + <#case 'checkbox'><#--多选框-->${getCheckbox(field,type,hasLinkage)}
  983 + <#break>
  984 + <#case 'select'><#--下拉框-->${getSelect(field,type,hasLinkage)}
  985 + <#break>
  986 + <#case 'dialog'><#--对话框-->${getDialog(field,type,hasLinkage)}
  987 + <#break>
  988 + <#case 'selector'><#--选择器(包括组织,岗位,角色,用户选择器等控件组合)-->
  989 + <${util.getHtSelectorType(field.options,type!=1)}
983 v-model="${getNgModel(field,type)}" 990 v-model="${getNgModel(field,type)}"
984 ${util.getAttrs(':validate',field)} 991 ${util.getAttrs(':validate',field)}
985 name="${field.desc}" 992 name="${field.desc}"
@@ -995,124 +1002,124 @@ @@ -995,124 +1002,124 @@
995 <#if field.options.selector.isSingle>single</#if> 1002 <#if field.options.selector.isSingle>single</#if>
996 <#if field.options.validate?if_exists >:validate="${field.options.validate}" </#if> 1003 <#if field.options.validate?if_exists >:validate="${field.options.validate}" </#if>
997 <#if field.options.placeholder?if_exists> 1004 <#if field.options.placeholder?if_exists>
998 - <#if field.placeholderI18nKey?if_exists>  
999 - :placeholder="$td('${field.placeholderI18nKey}','${field.options.placeholder}')"  
1000 - <#else>  
1001 - placeholder="${field.options.placeholder}"  
1002 - </#if>  
1003 - </#if>  
1004 - <#if field.options.width?if_exists>style="width: ${field.options.width};"</#if>  
1005 - ${getPermissionLine(field,type,hasLinkage)}  
1006 - <#if field.options.disabled ?if_exists>:disabled="${field.options.disabled}"</#if>  
1007 - <#if field.options.isValidate ?if_exists>:isValidate="${field.options.isValidate}"</#if>  
1008 - ${getHyperlink(field)} 1005 + <#if field.placeholderI18nKey?if_exists>
  1006 + :placeholder="$td('${field.placeholderI18nKey}','${field.options.placeholder}')"
  1007 + <#else>
  1008 + placeholder="${field.options.placeholder}"
  1009 + </#if>
  1010 + </#if>
  1011 + <#if field.options.width?if_exists>style="width: ${field.options.width};"</#if>
  1012 + ${getPermissionLine(field,type,hasLinkage)}
  1013 + <#if field.options.disabled ?if_exists>:disabled="${field.options.disabled}"</#if>
  1014 + <#if field.options.isValidate ?if_exists>:isValidate="${field.options.isValidate}"</#if>
  1015 + ${getHyperlink(field)}
1009 > 1016 >
1010 - </${util.getHtSelectorType(field.options,type!=1)}>  
1011 -<#break>  
1012 -<#case 'immediate-single'><#-- 表单实时控件 单行 -->  
1013 - <ht-readonly-input type="text" ${util.getAttrs('inputType,placeholder,tooltipplacement', field)} name="${field.desc}"  
1014 - <#if field.tableName?if_exists && field.name?if_exists>:permission="${getPermission(field,type)}"</#if>  
1015 - style="font-weight:${util.getStyleBold(field,'boldValue')};${util.getStyles(field,'color','valueColor')}"  
1016 - :style='${util.getMapString(field,"controlstyle")}'  
1017 - <#if field.options.script?if_exists>script="${field.options.script}"</#if>  
1018 - v-model="${getNgModel(field,type)}"  
1019 - <#if field.options.formulasDiyJs?if_exists > v-formula="{value:${field.options.formulasDiyJs},bindPath:${getFormula(field,type)}}"</#if>  
1020 - <#if field.options.customInput?if_exists> v-formula="{value:'${field.options.customInput}',bindPath:${getFormula(field,type)},type:'default'}"</#if>  
1021 - <#if field.options.width?if_exists>style="width: ${field.options.width};"</#if>  
1022 - >  
1023 - </ht-readonly-input>  
1024 -<#break>  
1025 -<#case 'immediate-textarea'><#-- 表单实时控件 多行 -->  
1026 - <ht-readonly-input type="text" ${util.getAttrs('inputType,placeholder,tooltipplacement',field)} name="${field.desc}"  
1027 - <#if field.tableName?if_exists && field.name?if_exists>:permission="${getPermission(field,type)}"  
1028 - </#if> style="font-weight:${util.getStyleBold(field,'boldValue')};${util.getStyles(field,'color','valueColor')}"  
1029 - :style='${util.getMapString(field,"controlstyle")}'  
1030 - <#if field.options.script?if_exists>script="${field.options.script}"</#if>  
1031 - v-model="${getNgModel(field,type)}"  
1032 - <#if field.options.formulasDiyJs?if_exists > v-formula="{value:${field.options.formulasDiyJs},bindPath:${getFormula(field,type)}}"</#if>  
1033 - <#if field.options.customInput?if_exists> v-formula="{value:'${field.options.customInput}',bindPath:${getFormula(field,type)},type:'default'}"</#if>  
1034 - <#if field.options.width?if_exists>style="width: ${field.options.width};"</#if>  
1035 - >  
1036 - </ht-readonly-input>  
1037 -<#break>  
1038 -<#case 'milepost'><#-- 里程碑 -->  
1039 - <ht-milepost v-model="${getNgModel(field,type)}"  
1040 - direction='${field.options.direction}'  
1041 - <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>  
1042 - :permission="${getPermission(field,type)}"  
1043 - content='${util.objectToJsonString(field.options.steps)}'></ht-milepost>  
1044 -<#break>  
1045 - <#case 'attachment'><#--附件上传-->${getAttachment(field,type,hasLinkage)}  
1046 -<#break>  
1047 - <#case 'dic'><#--数据字典-->${getDic(field,type,hasLinkage)}  
1048 - <#break> 1017 + </${util.getHtSelectorType(field.options,type!=1)}>
  1018 + <#break>
  1019 + <#case 'immediate-single'><#-- 表单实时控件 单行 -->
  1020 + <ht-readonly-input type="text" ${util.getAttrs('inputType,placeholder,tooltipplacement', field)} name="${field.desc}"
  1021 + <#if field.tableName?if_exists && field.name?if_exists>:permission="${getPermission(field,type)}"</#if>
  1022 + style="font-weight:${util.getStyleBold(field,'boldValue')};${util.getStyles(field,'color','valueColor')}"
  1023 + :style='${util.getMapString(field,"controlstyle")}'
  1024 + <#if field.options.script?if_exists>script="${field.options.script}"</#if>
  1025 + v-model="${getNgModel(field,type)}"
  1026 + <#if field.options.formulasDiyJs?if_exists > v-formula="{value:${field.options.formulasDiyJs},bindPath:${getFormula(field,type)}}"</#if>
  1027 + <#if field.options.customInput?if_exists> v-formula="{value:'${field.options.customInput}',bindPath:${getFormula(field,type)},type:'default'}"</#if>
  1028 + <#if field.options.width?if_exists>style="width: ${field.options.width};"</#if>
  1029 + >
  1030 + </ht-readonly-input>
  1031 + <#break>
  1032 + <#case 'immediate-textarea'><#-- 表单实时控件 多行 -->
  1033 + <ht-readonly-input type="text" ${util.getAttrs('inputType,placeholder,tooltipplacement',field)} name="${field.desc}"
  1034 + <#if field.tableName?if_exists && field.name?if_exists>:permission="${getPermission(field,type)}"
  1035 + </#if> style="font-weight:${util.getStyleBold(field,'boldValue')};${util.getStyles(field,'color','valueColor')}"
  1036 + :style='${util.getMapString(field,"controlstyle")}'
  1037 + <#if field.options.script?if_exists>script="${field.options.script}"</#if>
  1038 + v-model="${getNgModel(field,type)}"
  1039 + <#if field.options.formulasDiyJs?if_exists > v-formula="{value:${field.options.formulasDiyJs},bindPath:${getFormula(field,type)}}"</#if>
  1040 + <#if field.options.customInput?if_exists> v-formula="{value:'${field.options.customInput}',bindPath:${getFormula(field,type)},type:'default'}"</#if>
  1041 + <#if field.options.width?if_exists>style="width: ${field.options.width};"</#if>
  1042 + >
  1043 + </ht-readonly-input>
  1044 + <#break>
  1045 + <#case 'milepost'><#-- 里程碑 -->
  1046 + <ht-milepost v-model="${getNgModel(field,type)}"
  1047 + direction='${field.options.direction}'
  1048 + <#if type!=1>model-name="${getSubNgModel(field,type)}"<#else>model-name="${getNgModel(field,type)}"</#if>
  1049 + :permission="${getPermission(field,type)}"
  1050 + content='${util.objectToJsonString(field.options.steps)}'></ht-milepost>
  1051 + <#break>
  1052 + <#case 'attachment'><#--附件上传-->${getAttachment(field,type,hasLinkage)}
  1053 + <#break>
  1054 + <#case 'dic'><#--数据字典-->${getDic(field,type,hasLinkage)}
  1055 + <#break>
1049 <#case 'tag'>${getTag(field,type,hasLinkage)} 1056 <#case 'tag'>${getTag(field,type,hasLinkage)}
1050 -<#break>  
1051 - <#case 'dropdown'><#--下拉树-->${getDropdown(field,type,hasLinkage)}  
1052 -<#break>  
1053 -<#break>  
1054 - <#case 'autocomplete'><#--自动完成-->${getAutocomplete(field,type,hasLinkage)}  
1055 -<#break>  
1056 -<#break>  
1057 - <#case 'eip-cascader'><#--级联-->${getEipCascader(field,type,hasLinkage)}  
1058 -<#break>  
1059 - <#case 'button'>${getEipButton(field,type,hasLinkage)}  
1060 -<#break>  
1061 - <#case 'divider'>${getEipDivider(field,type)} <#--分割线-->  
1062 -<#break>  
1063 - <#case 'date'>${getEipDate(field,type,hasLinkage)} <#--日期-->  
1064 -<#break>  
1065 - <#case 'time'>${getEipDate(field,type,hasLinkage)} <#--时间-->  
1066 -<#break>  
1067 - <#case 'date-picker'>${getEipDatePicker(field,type,hasLinkage)} <#--日期范围-->  
1068 -<#break>  
1069 - <#case 'time-picker'>${getEipTimePicker(field,type,hasLinkage)} <#--时间范围-->  
1070 -<#break>  
1071 - <#case 'related-process'>${getEipRelFlow(field,type,hasLinkage)} <#--相关流程控件-->  
1072 -<#break>  
1073 - <#case 'image'>${getEipImg(field,type)} <#--图片控件-->  
1074 -<#break>  
1075 - <#case 'imageViewer'>${getEipViewer(field,type,hasLinkage)} <#--图片控件-->  
1076 -<#break>  
1077 - <#case 'switch'>${getSwitch(field,type,hasLinkage)} <#-- 开关控件 -->  
1078 -<#break>  
1079 - <#case 'amap'>${getEipMap(field,type)} <#-- 地图控件 -->  
1080 -<#break>  
1081 - <#case 'signature'>${getSignature(field,type,hasLinkage)} <#-- 签章控件 -->  
1082 -<#break>  
1083 - <#case 'handSignature'>${getHandSignature(field,type,hasLinkage)} <#-- 手动签章控件 -->  
1084 -<#break>  
1085 - <#case 'processForecast'>${getProcessForecast(field,type,hasLinkage)} <#-- 审批预测 -->  
1086 -<#break>  
1087 - <#case 'htCustomComponent'>${getCustomComponent(field,type)} <#--DIV组件控件-->  
1088 -<#break>  
1089 - <#case 'office'>${getOffice(field,type,hasLinkage)} <#-- office控件 -->  
1090 -<#break>  
1091 - <#case 'customChart'><#--自定义视图-->${getCustomChart(field,type,hasLinkage)}  
1092 -<#break>  
1093 -<#case 'flowChart'>${getFlowChart(field,type)} <#-- 流程图控件 -->  
1094 -<#break>  
1095 -<#case 'approvalHistory'>${getApprovalHistory(field,type)} <#-- 审批历史控件 -->  
1096 -<#break>  
1097 -<#case 'big-title'>${getText(field)} <#-- 大标题 -->  
1098 -<#break>  
1099 -<#case 'small-title'>${getText(field)} <#-- 小标题 -->  
1100 -<#break>  
1101 -<#case 'simple-text'>${getText(field)} <#-- 文字 -->  
1102 -<#break>  
1103 -<#case 'explain'>${getExplain(field)} <#-- 说明 -->  
1104 -<#break>  
1105 -<#case 'opinion'>${getOpinion(field, type)} <#-- 审批意见 -->  
1106 -<#break>  
1107 -<#case 'rate'>${getRate(field, type)}  
1108 -<#break>  
1109 -<#case 'slider'>${getSlider(field, type)}  
1110 -<#break>  
1111 -<#case 'iframe'>${getIframe(field, type)}  
1112 -<#break>  
1113 -<#case 'historicalApproval'>${getHistoricalApproval(field,type)}  
1114 -<#break>  
1115 -<#case 'urlParameter'>${getUrlParameter(field, type)}  
1116 -<#break>  
1117 -</#switch> 1057 + <#break>
  1058 + <#case 'dropdown'><#--下拉树-->${getDropdown(field,type,hasLinkage)}
  1059 + <#break>
  1060 + <#break>
  1061 + <#case 'autocomplete'><#--自动完成-->${getAutocomplete(field,type,hasLinkage)}
  1062 + <#break>
  1063 + <#break>
  1064 + <#case 'eip-cascader'><#--级联-->${getEipCascader(field,type,hasLinkage)}
  1065 + <#break>
  1066 + <#case 'button'>${getEipButton(field,type,hasLinkage)}
  1067 + <#break>
  1068 + <#case 'divider'>${getEipDivider(field,type)} <#--分割线-->
  1069 + <#break>
  1070 + <#case 'date'>${getEipDate(field,type,hasLinkage)} <#--日期-->
  1071 + <#break>
  1072 + <#case 'time'>${getEipDate(field,type,hasLinkage)} <#--时间-->
  1073 + <#break>
  1074 + <#case 'date-picker'>${getEipDatePicker(field,type,hasLinkage)} <#--日期范围-->
  1075 + <#break>
  1076 + <#case 'time-picker'>${getEipTimePicker(field,type,hasLinkage)} <#--时间范围-->
  1077 + <#break>
  1078 + <#case 'related-process'>${getEipRelFlow(field,type,hasLinkage)} <#--相关流程控件-->
  1079 + <#break>
  1080 + <#case 'image'>${getEipImg(field,type)} <#--图片控件-->
  1081 + <#break>
  1082 + <#case 'imageViewer'>${getEipViewer(field,type,hasLinkage)} <#--图片控件-->
  1083 + <#break>
  1084 + <#case 'switch'>${getSwitch(field,type,hasLinkage)} <#-- 开关控件 -->
  1085 + <#break>
  1086 + <#case 'amap'>${getEipMap(field,type)} <#-- 地图控件 -->
  1087 + <#break>
  1088 + <#case 'signature'>${getSignature(field,type,hasLinkage)} <#-- 签章控件 -->
  1089 + <#break>
  1090 + <#case 'handSignature'>${getHandSignature(field,type,hasLinkage)} <#-- 手动签章控件 -->
  1091 + <#break>
  1092 + <#case 'processForecast'>${getProcessForecast(field,type,hasLinkage)} <#-- 审批预测 -->
  1093 + <#break>
  1094 + <#case 'htCustomComponent'>${getCustomComponent(field,type)} <#--DIV组件控件-->
  1095 + <#break>
  1096 + <#case 'office'>${getOffice(field,type,hasLinkage)} <#-- office控件 -->
  1097 + <#break>
  1098 + <#case 'customChart'><#--自定义视图-->${getCustomChart(field,type,hasLinkage)}
  1099 + <#break>
  1100 + <#case 'flowChart'>${getFlowChart(field,type)} <#-- 流程图控件 -->
  1101 + <#break>
  1102 + <#case 'approvalHistory'>${getApprovalHistory(field,type)} <#-- 审批历史控件 -->
  1103 + <#break>
  1104 + <#case 'big-title'>${getText(field)} <#-- 大标题 -->
  1105 + <#break>
  1106 + <#case 'small-title'>${getText(field)} <#-- 小标题 -->
  1107 + <#break>
  1108 + <#case 'simple-text'>${getText(field)} <#-- 文字 -->
  1109 + <#break>
  1110 + <#case 'explain'>${getExplain(field)} <#-- 说明 -->
  1111 + <#break>
  1112 + <#case 'opinion'>${getOpinion(field, type)} <#-- 审批意见 -->
  1113 + <#break>
  1114 + <#case 'rate'>${getRate(field, type)}
  1115 + <#break>
  1116 + <#case 'slider'>${getSlider(field, type)}
  1117 + <#break>
  1118 + <#case 'iframe'>${getIframe(field, type)}
  1119 + <#break>
  1120 + <#case 'historicalApproval'>${getHistoricalApproval(field,type)}
  1121 + <#break>
  1122 + <#case 'urlParameter'>${getUrlParameter(field, type)}
  1123 + <#break>
  1124 + </#switch>
1118 </#macro> 1125 </#macro>