Commit 3fea4fbc06e195bf7df75027d6455f8313b9a02f

Authored by 陈威
1 parent 43c7f2a2
Exists in dev

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

backend/form/src/main/resources/template/form/pc/fieldControl.ftl
1 1  
2 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 5 </#function>
6 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 9 </#function>
10 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 13 <#return rtn>
14 14 </#function>
15 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 17 <#return rtn>
18 18 </#function>
19 19 <#function getPermission field type>
... ... @@ -50,188 +50,188 @@
50 50 <#function getInput field type hasLinkage >
51 51 <#assign configAttr = util.getInputAdvancedAttributes(field.options)>
52 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 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 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 84 </#assign>
85 85 <#return rtn>
86 86 </#function>
87 87 <#function getNumberInput field type hasLinkage>
88 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 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 96 <#if field.placeholderI18nKey?if_exists>
97 97 :placeholder="$td('${field.placeholderI18nKey}','${field.options.placeholder}')"
98 98 <#else>
99 99 placeholder="${field.options.placeholder}"
100 100 </#if>
101 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 120 ${getHyperlink(field)}
121 121 <#if field.options.disabled ?if_exists>:disabled="${field.options.disabled}"</#if>
122 122 <#if field.options.isValidate ?if_exists>:isValidate="${field.options.isValidate}"</#if>
123   - >
124   - </ht-input>
  123 + >
  124 + </ht-input>
125 125 </#assign>
126 126 <#return rtn>
127 127 </#function>
128 128 <#function getRadio field type hasLinkage>
129 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 145 </#assign>
146 146 <#return rtn>
147 147 </#function>
148 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 168 </#function>
169 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 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 197 </#function>
198 198  
199 199 <#function getCustomChart field type hasLinkage>
200 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 205 </#assign>
206 206 <#return rtn>
207 207 </#function>
208 208  
209 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 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 227 ${getHyperlink(field)}
228 228 <#if field.options.disabled ?if_exists>:disabled="${field.options.disabled}"</#if>
229 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 235 </#function>
236 236 <#function getEipButton field type hasLinkage>
237 237 <#assign name = util.getJsonByPath(field.options.bindEventjson,'name')>
... ... @@ -239,35 +239,35 @@
239 239 <#assign isShowInput = util.getJsonByPath(field.options.bindEventjson,'isShowInput')>
240 240 <#assign alias = util.getJsonByPath(field.options.bindEventjson,'alias')>
241 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 248 v-model="${getNgModel(field,type)}"
249   - is-show-input
  249 + is-show-input
250 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 258 </#assign>
259 259 <#return rtn>
260 260 </#function>
261 261 <#function getEipDivider field type>
262 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 271 </#assign>
272 272 <#return rtn>
273 273 </#function>
... ... @@ -297,12 +297,12 @@
297 297 ${getPermissionLine(field,type,hasLinkage)}
298 298 <#if field.options.noToolbar?if_exists>noToolbar="${field.options.noToolbar}"</#if>
299 299 <#if field.options.textValue?if_exists>
300   - textValue="${util.toJsonStr(field.options.textValue)}"
  300 + textValue="${util.toJsonStr(field.options.textValue)}"
301 301 </#if>
302 302 <#if field.options.isShowBorder == 1>
303 303 :showBorder="true"
304 304 </#if>
305   - <#if field.options.isShowBorder == 0>
  305 + <#if field.options.isShowBorder == 0>
306 306 :showBorder="false"
307 307 </#if>
308 308 borderColor="${util.toJsonStr(field.options.borderColor)}"
... ... @@ -322,7 +322,7 @@
322 322 name="${field.desc}"
323 323 <#if field.options.showWordLimit?if_exists>:show-word-limit="${field.options.showWordLimit}"</#if>
324 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 326 <#if field.placeholderI18nKey?if_exists>
327 327 :placeholder="$td('${field.placeholderI18nKey}','${field.options.placeholder}')"
328 328 <#else>
... ... @@ -338,11 +338,11 @@
338 338 <#if field.options.formulasDiyJs?if_exists >v-formula="{value:${field.options.formulasDiyJs},bindPath:${getFormula(field, type)}}"</#if>
339 339 <#if field.options.customInput?if_exists> v-formula="{value:'${field.options.customInput}',bindPath:${getFormula(field,type)},type:'default'}"</#if>
340 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 344 ${getHyperlink(field)}
345   - >
  345 + >
346 346 </ht-input>
347 347 </#assign>
348 348 </#if>
... ... @@ -351,8 +351,8 @@
351 351 <#function getFont field type >
352 352 <#assign rtn>
353 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 356 <#if field.options.isShowBorder && field.options.isShowBorder == "0">show-border</#if>
357 357 <#if field.options.isShowBorder && field.options.isShowBorder == "0">border-color="${util.toJsonStr(field.options.borderColor)}"</#if>
358 358 ${getHyperlink(field)}
... ... @@ -364,7 +364,7 @@
364 364 <#function getQRcode field type >
365 365 <#assign rtn>
366 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 368 </#assign>
369 369 <#return rtn>
370 370 </#function>
... ... @@ -372,94 +372,94 @@
372 372 <#assign rtn>
373 373 <#assign allowPreview = util.getJsonByPath(field.options.file,'allowPreview','false')>
374 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 389 </#assign>
390 390 <#return rtn>
391 391 </#function>
392 392 <#function getDic field type hasLinkage >
393 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 405 </#if>
  406 + </#if>
407 407 <#if field.options.disabled ?if_exists>:disabled="${field.options.disabled}"</#if>
408 408 <#if field.options.isValidate ?if_exists>:isValidate="${field.options.isValidate}"</#if>
409 409 ${getHyperlink(field)}
410 410 >
411   - </ht-dictionary>
  411 + </ht-dictionary>
412 412 </#assign>
413 413 <#return rtn>
414 414 </#function>
415 415 <#function getTag field type hasLinkage>
416 416 <#assign rtn>
417 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 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 434 </ht-tag>
435 435 </#assign>
436 436 <#return rtn>
437 437 </#function>
438 438 <#function getDropdown field type hasLinkage >
439   - <#assign customQuery = util.getStringConf(field.options.customQuery)>
  439 + <#assign customQuery = util.getStringConf(field.options.customQuery)>
440 440 <#assign rtn>
441 441 <ht-select-tree :ganged="${util.getSelectQuery(field.options,type!=1)}"
442   - v-model="${getNgModel(field,type)}"
  442 + v-model="${getNgModel(field,type)}"
443 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 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 464 </ht-select-tree>
465 465 </#assign>
... ... @@ -474,12 +474,12 @@
474 474 :ganged="${util.getSelectQuery(field.options,type!=1)}"
475 475 :style='${util.getMapString(field,"controlstyle")}'
476 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 481 </#if>
  482 + </#if>
483 483 ${getPermissionLine(field,type,hasLinkage)}
484 484 <#if field.options.validate?if_exists && field.options.validate?length gt 0> :validate="${field.options.validate}"</#if>
485 485 <#if field.options.mapping?if_exists>v-mapping="data.${field.options.mapping}"</#if>
... ... @@ -496,13 +496,13 @@
496 496 <#if field.options.validate?if_exists && field.options.validate?length gt 0 >:validate="${field.options.validate}"</#if>
497 497 :permission="${getPermission(field,type)}"
498 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 504 </#if>
  505 + </#if>
506 506 ${getPermissionLine(field,type,hasLinkage)}
507 507 <#if field.options.disabled ?if_exists>:disabled="${field.options.disabled}"</#if>
508 508 <#if field.options.isValidate ?if_exists>:isValidate="${field.options.isValidate}"</#if>
... ... @@ -513,88 +513,88 @@
513 513 </#function>
514 514 <#function getEipDate field type hasLinkage >
515 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 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 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 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 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 598 </#switch>
599 599 <#return rtn>
600 600 </#function>
... ... @@ -604,18 +604,18 @@
604 604 <ht-date-picker
605 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 606 :permission="${getPermission(field,type)}"
607   - ${getPermissionLine(field,type,hasLinkage)}
  607 + ${getPermissionLine(field,type,hasLinkage)}
608 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 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 616 <#if field.options.inputFormat?if_exists && field.options.inputFormat?length gt 0>format="${field.options.inputFormat}"<#else>format="yyyy-MM-dd"</#if>
617 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 619 ${getHyperlink(field)}
620 620 >
621 621 </ht-date-picker>
... ... @@ -626,18 +626,18 @@
626 626 <#function getEipTimePicker field type hasLinkage >
627 627 <#assign rtn>
628 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 631 ${getPermissionLine(field,type,hasLinkage)}
632 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 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 642 </ht-time-picker>
643 643 </#assign>
... ... @@ -647,85 +647,85 @@
647 647 <#function getEipRelFlow field type hasLinkage >
648 648 <#assign rtn>
649 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 655 </#assign>
656 656 <#return rtn>
657 657 </#function>
658 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 672 </#function>
673 673 <#function getEipViewer field type hasLinkage>
674 674 <#assign rtn>
675 675 <#assign allowPreview = util.getJsonByPath(field.options.file,'allowPreview','true')>
676 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 693 </#assign>
694 694 <#return rtn>
695 695 </#function>
696 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 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 703 active-value="${field.options.activeValue}"
704 704 inactive-value="${field.options.inactiveValue}"
705 705 active-text="${field.options.activeText}"
706 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 713 </#function>
714 714  
715 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 729 </#function>
730 730  
731 731 <#function getHistoricalApproval field type >
... ... @@ -738,36 +738,43 @@
738 738 <#return rtn>
739 739 </#function>
740 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 758 <#if field.options.isAddPosition>:append-position="${field.options.isAddPosition}"</#if>
752 759 ></ht-map>
753   - </#assign>
754   - <#return rtn>
  760 + </#assign>
  761 + <#return rtn>
755 762 </#function>
756 763 <#function getOffice field type hasLinkage>
757 764 <#assign rtn>
758   -<#-- <span>office组件尚未实现...</span>-->
  765 + <#-- <span>office组件尚未实现...</span>-->
759 766 </#assign>
760 767 <#return rtn>
761 768 </#function>
762 769 <#function getSignature field type hasLinkage>
763 770 <#assign rtn>
764   -<#-- <span>签名组件尚未实现...</span>-->
  771 + <#-- <span>签名组件尚未实现...</span>-->
765 772 </#assign>
766 773 <#return rtn>
767 774 </#function>
768 775 <#function getFlowChart field type>
769 776 <#assign rtn>
770   -<#-- <span>流程图组件尚未实现...</span>-->
  777 + <#-- <span>流程图组件尚未实现...</span>-->
771 778 </#assign>
772 779 <#return rtn>
773 780 </#function>
... ... @@ -779,67 +786,67 @@
779 786 </#function>
780 787 <#-- 子表关联查询回填 -->
781 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 800 </#function>
794 801 <#-- 标题 简单文字方法 -->
795 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 816 </template>
810   - </ht-text>
811   - </#assign>
812   - <#return rtn>
  817 + </ht-text>
  818 + </#assign>
  819 + <#return rtn>
813 820 </#function>
814 821 <#-- 说明 方法 -->
815 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 845 </#function>
839 846  
840 847 <#function getOpinion field type>
841 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 850 </#assign>
844 851 <#return rtn>
845 852 </#function>
... ... @@ -851,14 +858,14 @@
851 858 :permission="${getPermission(field,type)}"
852 859 name="${field.desc}"
853 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 869 </#assign>
863 870 <#return rtn>
864 871 </#function>
... ... @@ -867,17 +874,17 @@
867 874 <#function getSlider field type>
868 875 <#assign rtn>
869 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 888 </#assign>
882 889 <#return rtn>
883 890 </#function>
... ... @@ -932,54 +939,54 @@
932 939 <#function getIframe field type hasLinkage>
933 940 <#assign rtn>
934 941 <ht-iframe
935   - v-if="${getPermission(field,type)}!='n'"
  942 + v-if="${getPermission(field,type)}!='n'"
936 943 src="${field.options.iframeSrc}"
937 944 height="${field.options.iframeSrcHeight}"
938 945 width="${field.options.iframeSrcWidth}"
939 946 style="border-color:${field.options.lableColor}"
940   - iframe-name="${field.options.iframeNmae}"
  947 + iframe-name="${field.options.iframeNmae}"
941 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 951 :data="data"
945 952 :permission="permission"
946 953 :inst-id="instId"
947 954 :isBusinessForm="${field.options.isBusinessForm? string("true","false")}"
948 955 :urlParameter='${util.getMapString(field.options,"urlParameter")}'
949 956 :returnParameter='${util.getMapString(field.options,"returnParameter")}'
950   - ></ht-iframe>
  957 + ></ht-iframe>
951 958 </#assign>
952 959 <#return rtn>
953 960 </#function>
954 961 <#-- 注意不能加空格 -->
955 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 990 v-model="${getNgModel(field,type)}"
984 991 ${util.getAttrs(':validate',field)}
985 992 name="${field.desc}"
... ... @@ -995,124 +1002,124 @@
995 1002 <#if field.options.selector.isSingle>single</#if>
996 1003 <#if field.options.validate?if_exists >:validate="${field.options.validate}" </#if>
997 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 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 1125 </#macro>
... ...