AppFormMarco.vm 75 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520
  1. #set($pKeyName = "${context.pKeyName}")
  2. #set($mastTableList = $context.mastTable)
  3. #set($setPermission = '$'+"permission")
  4. #set($toast='this.$u.toast(res.msg)')
  5. #set($menuId = "menuId")
  6. #set($useBtnPermission=${context.useBtnPermission})
  7. #set($useFormPermission=${context.useFormPermission})
  8. #set($isFlow=${context.isFlow})
  9. #set($isTab=${context.isTab})
  10. #set($filterableModel=['select','cascader','treeSelect'])
  11. #set($noVmodel=['groupTitle','divider','text','button',"link","alert","barcode","qrcode"])
  12. #set($showModelDisabledList=['rate','slider',"colorPicker"])
  13. ##系统控件jnpfkey
  14. #set($systemJnpfKey=['createUser','createTime','modifyUser','modifyTime','currOrganize','currPosition','billRule'])
  15. ## 布局控件
  16. #set($layoutList=['tab','collapse','steps'])
  17. #set($showModelList=['rate','slider','uploadFile','inputNumber',"uploadImg","editor","colorPicker","sign","input","location","signature"])
  18. #set($extraList=['relationForm','popupSelect'])
  19. ## 获取表单信息
  20. #macro(AppFormRendering)
  21. #foreach($fieLdsModel in ${context.form})
  22. #set($jnpfkey = "${fieLdsModel.jnpfKey}")
  23. #set($isEnd = "${fieLdsModel.isEnd}")
  24. #set($formModel = ${fieLdsModel.formModel})
  25. #set($config=$formModel.config)
  26. #set($span=$config.span)
  27. #set($outermost = ${formModel.outermost})
  28. #set($header = ${formModel.header})
  29. #if($jnpfkey=='card' || $jnpfkey=='row')
  30. #if(${config.app}==true)
  31. #if(${isEnd}=='0')
  32. <view class="jnpf-card">
  33. #if($header)
  34. <view class="jnpf-card-cap u-line-1">#if(${formModel.headerI18nCode}){{$t('${formModel.headerI18nCode}')}}#else ${header} #end
  35. #if(${config.tipLabel})<u-icon name="question-circle-fill" class="u-m-l-10" color="#a0acb7"
  36. @click="clickIcon(#if(${formModel.headerI18nCode}) $t('${formModel.headerI18nCode}') #else '${header}'#end,#if(${config.tipLabelI18nCode})$t('${config.tipLabelI18nCode}') #else '${config.tipLabel}' #end)"/>#end</view>
  37. #end
  38. #else
  39. </view>
  40. #end
  41. #end
  42. ## 步骤条表单
  43. #elseif($jnpfkey=='steps')
  44. #set($stepsModel = ${formModel.model})
  45. #set($stepNum = ${formModel.childNum})
  46. #if(${config.app}==true)
  47. #if(${isEnd}=='0')
  48. #if(${outermost}=='0')
  49. <view prop="${formModel.model}">
  50. <u-steps class="step-container" :list="${stepsModel}Data" name="title" :current="${stepsModel}Current"
  51. #if(${formModel.simple}==true)mode="dot" #else mode="number"#end @change="${stepsModel}"/>
  52. <view>
  53. #else
  54. <view v-show="${stepNum} == ${stepsModel}Current">
  55. #end
  56. #else
  57. #if(${outermost}=='0')
  58. </view>
  59. </view>
  60. #else
  61. </view>
  62. #end
  63. #end
  64. #end
  65. #elseif($jnpfkey=='collapse')
  66. #set($collapse = "u-collapse")
  67. #set($tabNum = ${formModel.childNum})
  68. #if(${outermost}=='1')
  69. #set($collapse = "u-collapse-item")
  70. #end
  71. #if(${config.app}==true)
  72. #if(${isEnd}=='0')
  73. #if(${outermost}=='0')
  74. <${collapse} ref="${formModel.model}Current" :accordion="${formModel.accordion}" v-model="${formModel.model}Current">
  75. #else
  76. <${collapse} #if($formModel.titleI18nCode) :title="$t('${formModel.titleI18nCode}')" #else title="${formModel.title}"#end
  77. @change="onCollapseChange" :open="${formModel.model}active.indexOf('${formModel.name}')>-1" name="${formModel.name}" class="collapse-item">
  78. #end
  79. #else
  80. </${collapse}>
  81. #end
  82. #end
  83. #elseif(${noVmodel.contains($jnpfkey)})
  84. #set($defaultName="")
  85. #set($tag=${config.tag})
  86. #set($divider ="")
  87. #set($itemBox = "form-item-box")
  88. #set($itemLabel = "")
  89. #if($jnpfkey=="groupTitle")
  90. #set($itemBox="")
  91. #elseif($jnpfkey=="divider")
  92. #set($divider ="half-width=""200"" height=""80""")
  93. #set($defaultName="$formModel.content")
  94. #elseif($jnpfkey=="qrcode")
  95. #set($itemLabel = "${config.label}")
  96. #elseif($jnpfkey=="barcode")
  97. #set($itemLabel = "${config.label}")
  98. #end
  99. #if(${config.app}==true)
  100. #if(${itemBox})
  101. <view class="u-p-l-20 u-p-r-20 ${itemBox}">
  102. <u-form-item #if($itemLabel) #if(${config.labelI18nCode}) :label="$t('${config.labelI18nCode}')+'${context.labelSuffix}'" #else label="${itemLabel}${context.labelSuffix}" #end
  103. #if($config.labelWidth) label-width="${config.labelWidth}"#end
  104. #if(${config.tipLabel}) left-icon="question-circle-fill" @clickIcon="clickIcon(#if(${config.labelI18nCode}) $t('${config.labelI18nCode}') #else '${itemLabel}' #end,#if(${config.tipLabelI18nCode}) $t('${config.tipLabelI18nCode}')#else '${config.tipLabel}') #end" :left-icon-style="{'color':'#a0acb7'}"#end#end>
  105. #end
  106. <${tag}
  107. #if($formModel.dataType) dataType='${formModel.dataType}' :formData="${context.formModel}" :key="timeKey" #end
  108. #if($formModel.height) :height='${formModel.height}'#end
  109. #if($formModel.width) :width='${formModel.width}'#end
  110. #if($formModel.format) format='${formModel.format}'#end
  111. #if($formModel.staticText) staticText='${formModel.staticText}'#end
  112. #if($formModel.lineColor) lineColor='${formModel.lineColor}'#end
  113. #if($formModel.background) background='${formModel.background}'#end
  114. #if($formModel.relationField) relationField='${formModel.relationField}'#end
  115. #if($formModel.colorDark) colorDark='${formModel.colorDark}'#end
  116. #if($formModel.colorLight) colorLight='${formModel.colorLight}'#end
  117. #if($formModel.title || $formModel.titleI18nCode) #if(${formModel.titleI18nCode}) :title="$t('${formModel.titleI18nCode}', '${formModel.title}')"
  118. #else title="${formModel.title}" #end#end
  119. #if($formModel.description || $formModel.descriptionI18nCode) #if(${formModel.descriptionI18nCode}) :description="$t('${formModel.descriptionI18nCode}', '${formModel.description}')"
  120. #else description="${formModel.description}" #end#end
  121. #if($formModel.closeText || $formModel.closeTextI18nCode) #if(${formModel.closeTextI18nCode}) :closeText="$t('${formModel.closeTextI18nCode}', '${formModel.closeText}')"
  122. #else closeText="${formModel.closeText}" #end#end
  123. #if($formModel.tagIcon) tagIcon='${formModel.tagIcon}'#end
  124. #if($formModel.showIcon) showIcon #end
  125. #if($formModel.closable) closable #end
  126. #if($formModel.target) target='${formModel.target}'#end
  127. #if($formModel.href) href='${formModel.href}'#end
  128. #if($formModel.buttonText || $formModel.buttonTextI18nCode) #if(${formModel.buttonTextI18nCode}) :buttonText="$t('${formModel.buttonTextI18nCode}', '${formModel.buttonText}')"
  129. #else buttonText="${formModel.buttonText}" #end#end
  130. #if($formModel.align) align='${formModel.align}'#end
  131. #if($formModel.type) type='${formModel.type}'#end
  132. #if($formModel.textStyle) :textStyle='${formModel.textStyle}'#end
  133. #if($config.defaultValue) value="${config.defaultValue}"#end
  134. #if($formModel.helpMessage && ${formModel.content}) helpMessage ="${formModel.helpMessage}" #if(${formModel.helpMessageI18nCode}) :tipLabel="$t('${formModel.helpMessageI18nCode}')"
  135. #else tipLabel="${formModel.helpMessage}"#end @groupIcon="clickIcon(#if(${formModel.contentI18nCode}) $t('${formModel.contentI18nCode}') #else `${formModel.content}` #end,#if(${formModel.helpMessageI18nCode}) $t('${formModel.helpMessageI18nCode}')#else `${formModel.helpMessage}` #end)" #end
  136. #if($divider) ${divider}#end
  137. #if($formModel.content) #if(${formModel.contentI18nCode}) :value="$t('${formModel.contentI18nCode}')"#else value="${formModel.content}" #end #if(${formModel.contentI18nCode}) :content="$t('${formModel.contentI18nCode}')"#else content="${formModel.content}" #end#end
  138. #if($formModel.contentPosition) contentPosition="${formModel.contentPosition}" #end>
  139. #if(${defaultName})
  140. $!{defaultName}
  141. #end
  142. </${tag}>
  143. #if(${itemBox})
  144. </u-form-item>
  145. </view>
  146. #end
  147. #end
  148. #elseif($jnpfkey=='tab')
  149. #set($tabModel = ${formModel.model})
  150. #set($tabNum = ${formModel.childNum})
  151. #if(${config.app}==true)
  152. #if(${isEnd}=='0')
  153. #if(${outermost}=='0')
  154. <view prop="${formModel.model}">
  155. <u-tabs ref="${formModel.model}Current" :is-scroll="false" :list="${tabModel}Data" name="title" v-model="${tabModel}Current" @change="${tabModel}"/>
  156. <view>
  157. #else
  158. <view v-show="${tabNum} == ${tabModel}Current">
  159. #end
  160. #else
  161. #if(${outermost}=='0')
  162. </view>
  163. </view>
  164. #else
  165. </view>
  166. #end
  167. #end
  168. #end
  169. #elseif($jnpfkey=='mastTable')
  170. #set($mastTableModel = $fieLdsModel.formMastTableModel)
  171. #set($html = $mastTableModel.mastTable.fieLdsModel)
  172. #set($formModel="${context.formModel}")
  173. #set($showModel="")
  174. #set($tableModel = "")
  175. #appForm('mastTable' $html $formModel $showModel $tableModel)
  176. #elseif($jnpfkey=='mast')
  177. #set($html = $fieLdsModel.formColumnModel.fieLdsModel)
  178. #set($formModel = "${context.formModel}")
  179. #set($showModel="")
  180. #set($tableModel = "")
  181. #appForm('mast' $html $formModel $showModel $tableModel)
  182. #elseif($jnpfkey=='table')
  183. #set($child = $fieLdsModel.childList)
  184. #set($childApp=$child.app)
  185. #set($tableModel = ${child.tableModel})
  186. #set($columnBtnsList = ${child.columnBtnsList})
  187. #set($footerBtnsList = ${child.footerBtnsList})
  188. #set($className = "")
  189. #foreach($children in ${context.children})
  190. #if(${children.tableModel}==${child.tableModel})
  191. #set($className = "${children.className}")
  192. #end
  193. #end
  194. #set($showJudge= "")
  195. #set($showTableWrite="")
  196. #if(${isFlow}==false && ${useFormPermission})
  197. #set($showJudge= "v-if="""+"${setPermission}.hasFormP('"+${tableModel}+"',menuId)"+"""")
  198. #elseif(${isFlow})
  199. #set($showJudge= "v-if="""+"judgeShow('"+${className}+"List')"+"""")
  200. #set($showTableWrite="!judgeWrite('"+${className}+"List')")
  201. #end
  202. #if($childApp == true)
  203. <view class="jnpf-table"#if(${showJudge}) $showJudge#end>
  204. <view class="jnpf-table-title u-line-1">
  205. #if(${child.labelI18nCode}) {{$t('${child.labelI18nCode}')}} #else ${child.label} #end
  206. #if(${child.tipLabel})
  207. <u-icon name="question-circle-fill" class="u-m-l-10" color="#a0acb7" @click="clickIcon(#if(${child.labelI18nCode}) $t('${child.labelI18nCode}') #else '${child.label}'#end,#if(${child.tipLabelI18nCode}) $t('${child.tipLabelI18nCode}') #else '${child.tipLabel}'#end)"/>
  208. #end
  209. </view>
  210. <view class="jnpf-table-item" v-for="(item,i) in ${context.formModel}.${className}List" :key="i">
  211. <view class="jnpf-table-item-title">
  212. <view class="jnpf-table-item-title-num">({{i+1}})</view>
  213. <template v-if="true">
  214. #foreach($columnList in ${child.columnBtnsList})
  215. #set($btnvalue = "$columnList.value")
  216. #set($btnlabel = "$columnList.label")
  217. #set($btnshow = $columnList.show)
  218. #set($btnType = "$columnList.btnType")
  219. #set($btnIcon = "$columnList.btnIcon")
  220. #set($btnConfirm = $columnList.showConfirm)
  221. #if($btnshow)
  222. #if($btnvalue=='copy')
  223. <view class="jnpf-table-copy-btn" v-if="#if($showTableWrite) ${showTableWrite} && #end true" @click="copy${className}List(i)">#if(${columnList.labelI18nCode}) {{$t('${columnList.labelI18nCode}')}} #else ${btnlabel} #end</view>
  224. #elseif($btnvalue=='remove')
  225. <view class="jnpf-table-delete-btn" v-if="#if($showTableWrite) ${showTableWrite} && #end true" @click="del${className}List(i,${btnConfirm})">#if(${columnList.labelI18nCode}) {{$t('${columnList.labelI18nCode}')}} #else ${btnlabel} #end</view>
  226. #end
  227. #end
  228. #end
  229. </template>
  230. </view>
  231. #foreach($childListAll in ${child.childList})
  232. #set($html = $childListAll.fieLdsModel)
  233. #set($formModel="${context.formModel}.${className}List[i]")
  234. #set($showModel="${className}")
  235. #appForm('table' $html $formModel $showModel $tableModel)
  236. #end
  237. </view>
  238. <view class="jnpf-table-footer-btn" #if(${showTableWrite}) v-if="$showTableWrite"#end>
  239. #foreach($footerList in ${child.footerBtnsList})
  240. #set($btnvalue = "$footerList.value")
  241. #set($btnlabel = "$footerList.label")
  242. #set($btnshow = $footerList.show)
  243. #set($btnType = "$footerList.btnType")
  244. #set($btnIcon = "$footerList.btnIcon")
  245. #if($btnshow && $btnvalue!='batchRemove' && $footerList.actionType!=2)
  246. <view class="jnpf-table-btn jnpf-table-${btnType}-btn" @click="add${className}List('${btnvalue}')" >
  247. <text class="jnpf-table-btn-icon ${btnIcon}"/>
  248. <text class="jnpf-table-btn-text">#if(${footerList.labelI18nCode}) {{$t('${footerList.labelI18nCode}')}} #else ${btnlabel} #end</text>
  249. </view>
  250. #end
  251. #end
  252. </view>
  253. #set($showSummary = $child.showSummary)
  254. #if($showSummary)
  255. <view class="jnpf-table-item" v-if="Object.keys(${className}()).length">
  256. <view class="jnpf-table-item-title u-flex u-row-between">
  257. <text class="jnpf-table-item-title-num">#if(${child.labelI18nCode}){{$t('${child.labelI18nCode}')}}#else${child.label}#end{{$t('component.table.summary','合计')}}</text>
  258. </view>
  259. <view class="u-p-l-20 u-p-r-20 form-item-box">
  260. <u-form-item v-for="(item,i) in ${className}()" :key="i" :label="item.name">
  261. <JnpfInput v-model="item.val" disabled placeholder="" />
  262. </u-form-item>
  263. </view>
  264. </view>
  265. #end
  266. </view>
  267. #end
  268. #end
  269. #end
  270. #end
  271. #macro(appForm $key $html $formModel $showModel $tableModel)
  272. #set($model = "${html.vModel}")
  273. #set($slot = ${html.slot})
  274. #set($prop="${html.vModel}")
  275. #set($config = $html.config)
  276. #set($placeholder = "${html.placeholder}")
  277. #set($show = ${config.noShow})
  278. #if(${isFlow})
  279. #set($show = false)
  280. #end
  281. #set($vmodel="${formModel}.${model}")
  282. #set($modelProps="")
  283. #set($modelOptions="")
  284. #set($modelUpload="")
  285. #set($modelColumnOptions="")
  286. #set($modelExtraOptions="")
  287. #set($jnpfkey="${config.jnpfKey}")
  288. #set($tag="")
  289. #set($labelSuffix="${context.labelSuffix}")
  290. #set($list="${model}")
  291. #set($type=${html.type})
  292. #set($showList = ${model})
  293. #set($isStorage="${html.isStorage}")
  294. #set($showJudge="")
  295. #if(${isFlow}==false && ${useFormPermission})
  296. #set($showJudge= "v-if="""+"${setPermission}.hasFormP('"+${showList}+"',menuId)"+"""")
  297. #elseif(${isFlow})
  298. #set($showJudge= "v-if="""+"judgeShow('"+${showList}+"')"+"""")
  299. #end
  300. #set($relationField="")
  301. #set($relationModel = "")
  302. #set($roleOrgroup = "")
  303. #set($showWrite = "")
  304. #set($required = ".${prop}")
  305. #set($childoptions="")
  306. #set($inputalign="")
  307. #set($ableRelationIds="")
  308. #set($rowIndex="")
  309. #set($formData="")
  310. #set($templateJson="")
  311. #set($maskConfig="")
  312. #set($locationScope="")
  313. #set($startTime="")
  314. #set($endTime="")
  315. #set($dataType="${config.dataType}")
  316. #if($jnpfkey=='input')
  317. #set($maskConfig="maskConfig.${model}")
  318. #end
  319. #if($jnpfkey=='location')
  320. #set($locationScope="locationScope.${model}")
  321. #end
  322. #if($jnpfkey=='userSelect' && ${html.relationField})
  323. #set($ableRelationIds="${context.formModel}.${html.relationField}")
  324. #if($html.relationChild)
  325. #set($ableRelationIds="${context.formModel}.${showModel}List[i].${html.relationField}")
  326. #end
  327. #end
  328. #if($jnpfkey=='datePicker' || $jnpfkey=='timePicker')
  329. #set($startRelationField="''")
  330. #if($config.startRelationField)
  331. #set($startRelationField="${context.formModel}.${config.startRelationField}")
  332. #if($config.startChild)
  333. #set($startRelationField="${context.formModel}.${showModel}List[i].${config.startRelationField}")
  334. #end
  335. #end
  336. #set($startTimeValue="#if(${config.startTimeValue})'${config.startTimeValue}'#else''#end")
  337. #set($startTimeType="#if(${config.startTimeType})${config.startTimeType}#else''#end")
  338. #set($startTimeTarget="#if(${config.startTimeTarget})${config.startTimeTarget}#else''#end")
  339. #set($endRelationField="''")
  340. #if($config.endRelationField)
  341. #set($endRelationField="${context.formModel}.${config.endRelationField}")
  342. #if($config.endChild)
  343. #set($endRelationField="${context.formModel}.${showModel}List[i].${config.endRelationField}")
  344. #end
  345. #end
  346. #set($endTimeValue="#if(${config.endTimeValue})'${config.endTimeValue}'#else''#end")
  347. #set($endTimeType="#if(${config.endTimeType})${config.endTimeType}#else''#end")
  348. #set($endTimeTarget="#if(${config.endTimeTarget})${config.endTimeTarget}#else''#end")
  349. #set($startTime="dateTime(${config.startTimeRule},${startTimeType},${startTimeTarget},${startTimeValue},${startRelationField})")
  350. #set($endTime="dateTime(${config.endTimeRule},${endTimeType},${endTimeTarget},${endTimeValue},${endRelationField})")
  351. #if($jnpfkey=='timePicker')
  352. #set($startTime="time(${config.startTimeRule},${startTimeType},${startTimeTarget},${startTimeValue},'${html.format}',${startRelationField})")
  353. #set($endTime="time(${config.endTimeRule},${endTimeType},${endTimeTarget},${endTimeValue},'${html.format}',${endRelationField})")
  354. #end
  355. #end
  356. #set($configLabel="${config.label}")
  357. #if($jnpfkey=='roleSelect' || $jnpfkey=='groupSelect')
  358. #set($roleOrgroup = "vModel='"+${prop}+"'")
  359. #end
  360. #if($jnpfkey=='relationForm' || $jnpfkey=='popupSelect'|| $jnpfkey=='popupTableSelect'|| $jnpfkey=='autoComplete')
  361. #set($relationField = "relationField='"+${html.relationField}+"'")
  362. #set($relationModel = "vModel='"+${prop}+"'")
  363. #set($rowIndex="null")
  364. #set($formData="${context.formModel}")
  365. #set($templateJson="interfaceRes.${model}")
  366. #end
  367. #if($jnpfkey=='popupAttr' || $jnpfkey=='relationFormAttr')
  368. #set($relationField = "relationField='"+${html.relationField}+"'")
  369. #if($isStorage=='0')
  370. #if(${isFlow}==false && ${useFormPermission})
  371. #set($showJudge= "v-if="""+"${setPermission}.hasFormP('"+${html.relationField}+"',menuId)"+"""")
  372. #elseif(${isFlow})
  373. #set($showJudge = "v-if="""+"judgeShow('"+${html.relationField}+"')"+"""")
  374. #end
  375. #end
  376. #set($showList = "")
  377. #end
  378. #if($key=='table')
  379. #set($showList="")
  380. #set($labelSuffix="")
  381. #set($prop="")
  382. #set($required = "")
  383. #if(${isFlow}==false)
  384. #if(${html.disabled})
  385. #set($showWrite="disabled")
  386. #end
  387. #if(${useFormPermission})
  388. #set($showJudge= "v-if="""+"${setPermission}.hasFormP('"+${tableModel}+"-"+${model}+"',menuId)"+"""")
  389. #end
  390. #elseif(${isFlow})
  391. #set($required = "['${showModel}List-${model}']")
  392. #set($showJudge= "v-if="""+"judgeShow('"+${showModel}+"List-"+${model}+"')"+"""")
  393. #set($showWrite=":disabled=""judgeWrite('"+${showModel}+"List')||judgeWrite('"+${showModel}+"List-"+${model}+"')""")
  394. #end
  395. #set($childoptions="${showModel}")
  396. #if($jnpfkey=='input')
  397. #set($maskConfig="maskConfig.${showModel}${model}")
  398. #end
  399. #if($jnpfkey=='location')
  400. #set($locationScope="locationScope.${showModel}${model}")
  401. #end
  402. #if($jnpfkey=='relationForm' || $jnpfkey=='popupSelect'|| $jnpfkey=='popupTableSelect'|| $jnpfkey=='autoComplete')
  403. #set($relationModel = ":vModel=""'"+${model}+"'+i""")
  404. #set($rowIndex="i")
  405. #set($formData="${context.formModel}")
  406. #set($templateJson="interfaceRes.${showModel}${model}")
  407. #end
  408. #if($jnpfkey=='popupAttr' || $jnpfkey=='relationFormAttr')
  409. #set($relationField = ":relationField=""'"+${html.relationField}+"'+i""")
  410. #if($isStorage=='0')
  411. #if(${isFlow}==false && ${useFormPermission})
  412. #set($showJudge= "v-if="""+"${setPermission}.hasFormP('"+${tableModel}+"-"+${html.relationField}+"',menuId)"+"""")
  413. #elseif(${isFlow})
  414. #set($showJudge= "v-if="""+"judgeShow('"+${showModel}+"List-"+${html.relationField}+"')"+"""")
  415. #end
  416. #end
  417. #set($showWrite="")
  418. #end
  419. #end
  420. #if(${showList})
  421. #set($showWrite="")
  422. #if(${isFlow}==false && ${html.disabled})
  423. #set($showWrite="disabled")
  424. #elseif(${isFlow})
  425. #set($showWrite=":disabled=""judgeWrite('"+${showList}+"')""")
  426. #end
  427. #end
  428. #if($jnpfkey=='createUser' || $jnpfkey=='createTime' || $jnpfkey=='modifyUser' || $jnpfkey=='modifyTime' || $jnpfkey=='currOrganize' || $jnpfkey=='currDept' || $jnpfkey=='currPosition' || $jnpfkey=='billRule')
  429. ## #set($placeholder = "系统自动生成")
  430. #set($html.placeholderI18nCode = "component.jnpf.common.autoGenerate")
  431. #set($showWrite="disabled")
  432. #end
  433. #if($jnpfkey=='input' || $jnpfkey=='textarea' || $jnpfkey=='modifyUser' || $jnpfkey=='modifyTime' || $jnpfkey=='billRule')
  434. #if($jnpfkey=='textarea')
  435. #set($type = "textarea")
  436. #end
  437. #set($inputalign="right")
  438. #elseif($jnpfkey=='editor')
  439. #set($configLabel="")
  440. #elseif($jnpfkey=='uploadImg')
  441. #set($modelUpload="${vmodel}")
  442. #elseif($jnpfkey=='popupSelect')
  443. #set($type = "popup")
  444. #elseif($jnpfkey=='relationForm')
  445. #set($type = "relation")
  446. #elseif($jnpfkey=='datePicker' || $jnpfkey=='timePicker')
  447. #set($type = "date")
  448. #if($jnpfkey=='timePicker')
  449. #set($type = "time")
  450. #end
  451. #elseif($jnpfkey=='organizeSelect' || $jnpfkey=='depSelect' || $jnpfkey=='posSelect' )
  452. #if($jnpfkey=='organizeSelect')
  453. #set($type = "organize")
  454. #elseif($jnpfkey=='depSelect')
  455. #set($type = "department")
  456. #elseif($jnpfkey=='posSelect')
  457. #set($type = "position")
  458. #end
  459. #elseif($jnpfkey=='popupAttr')
  460. #set($type = "popupAttr")
  461. #elseif($jnpfkey=='relationFormAttr')
  462. #set($type = "relationFormAttr")
  463. #end
  464. #if($jnpfkey=='checkbox' || $jnpfkey=='select' || $jnpfkey=='cascader'|| $jnpfkey=='radio' || $jnpfkey=='treeSelect')
  465. #set($modelProps="${childoptions}${list}Props")
  466. #set($modelOptions="${childoptions}${list}Options")
  467. #if(${childoptions} && ${dataType}=='dynamic')
  468. #set($modelOptions="${context.formModel}.${childoptions}List[i].${list}Options")
  469. #end
  470. #end
  471. #if($jnpfkey=='relationForm' || $jnpfkey=='popupSelect'|| $jnpfkey=='popupTableSelect')
  472. #set($modelColumnOptions="${childoptions}${list}ColumnOptions")
  473. #if($key!='table')
  474. #set($modelExtraOptions="${childoptions}${list}ExtraOptions")
  475. #end
  476. #end
  477. #set($tag=${config.tag})
  478. #if($jnpfkey=='popupTableSelect')
  479. #set($tag='JnpfPopupSelect')
  480. #end
  481. #set($end ="/"+ ${tag})
  482. #if($show == false && ${config.app}==true)
  483. #if($tag)
  484. <view class="u-p-l-20 u-p-r-20 form-item-box">
  485. <u-form-item #if($showJudge) ${showJudge} #end
  486. #if($model) #if($isFlow):required="requiredList${required}" #else #if($config.required==true) required #end #end #end
  487. #if($config.showLabel && $config.showLabel == true)
  488. #if($configLabel) #if(${config.labelI18nCode}) :label="$t('${config.labelI18nCode}')+'${labelSuffix}'"#else label="${configLabel}${labelSuffix}" #end#end
  489. #if((${config.labelI18nCode} || $config.tipLabel) && $jnpfkey!='editor' && $configLabel) left-icon="question-circle-fill" @clickIcon="clickIcon(#if(${config.labelI18nCode}) $t('${config.labelI18nCode}')#else'${configLabel}' #end,#if(${config.tipLabelI18nCode}) $t('${config.tipLabelI18nCode}') #else '${config.tipLabel}'#end)" :left-icon-style="{'color':'#a0acb7'}" #end
  490. #if($key!='table')
  491. #if($config.labelWidth) label-width="${config.labelWidth}"#end
  492. #end
  493. #end
  494. #if($prop) prop="${prop}" #end
  495. #if($jnpfkey=='relationForm' || $jnpfkey=='popupSelect') class="relation-item--left"#end>
  496. <${tag} #if($model)v-model="${vmodel}"#if(${showWrite}) ${showWrite} #end#end
  497. #if($model)
  498. #if($key=='table')
  499. @change="changeData('${showModel}-${model}',i)"
  500. :fieldKey="'${showModel}-${model}'+i"
  501. #else
  502. @change="changeData('${model}',-1)"
  503. :fieldKey="'${model}'"
  504. #end
  505. #end
  506. #if($jnpfkey=='uploadFile') :list="${vmodel}" #end
  507. #if($slot.prepend) prepend="${slot.prepend}" #end
  508. #if($slot.append) append="${slot.append}" #end
  509. #if($rowIndex) :rowIndex="${rowIndex}" #end
  510. #if($formData) :formData="${formData}" #end
  511. #if($templateJson) :templateJson="${templateJson}" #end
  512. #if($jnpfkey=='relationForm') :queryType=#if(${html.queryType})"${html.queryType}"#else"0"#end #end
  513. #if($html.isInvoke) isInvoke #end
  514. #if($html.allowhalf) allow-half #end
  515. #if($ableRelationIds) :ableRelationIds = "${ableRelationIds}" #end
  516. #if($startTime) :startTime="${startTime}" #end
  517. #if($endTime) :endTime="${endTime}" #end
  518. #if($html.isStorage || $html.isStorage=='0') :isStorage="${html.isStorage}" #end
  519. #if($inputalign) input-align='right' #end
  520. #if($html.prefixIcon) prefix-icon="${html.prefixIcon}" #end
  521. #if($html.suffixIcon) suffix-icon="${html.suffixIcon}" #end
  522. #if($html.selectType) selectType="${html.selectType}" #end
  523. #if($html.useScan) useScan #end
  524. #if($html.useMask) useMask #end
  525. #if($html.showCount) showCount #end
  526. #if($html.showPassword) showPassword #end
  527. #if($maskConfig) :maskConfig="${maskConfig}" #end
  528. #if($html.autoLocation) autoLocation #end
  529. #if($html.enableLocationScope) enableLocationScope #end
  530. #if($html.adjustmentScope) :adjustmentScope="${html.adjustmentScope}" #end
  531. #if($html.enableDesktopLocation) enableDesktopLocation #end
  532. #if($locationScope) :locationScope="${locationScope}" #end
  533. #if($html.ableIds) :ableIds="ableAll.${showModel}${model}ableIds" #end
  534. #if($html.format) format="${html.format}" #end
  535. #if($html.showLevel) showLevel="${html.showLevel}" #end
  536. #if($html.optionType) optionType="${html.optionType}" #end
  537. #if($html.tipText) tipText="${html.tipText}" #end
  538. #if($html.total) :total="${html.total}" #end
  539. #if($html.precision) :precision="${html.precision}" #end
  540. #if($html.direction) direction="${html.direction}" #end
  541. #if($html.isAmountChinese) isAmountChinese #end
  542. #if($html.thousands) thousands #end
  543. #if($html.addonAfter) addonAfter="${html.addonAfter}" #end
  544. #if($html.addonBefore) addonBefore="${html.addonBefore}" #end
  545. #if($html.controls) :controls="${html.controls}" #end
  546. #if($html.hasPage) hasPage #end
  547. #if($html.clearable) clearable #end
  548. #if($html.filterable) filterable #end
  549. #if($html.propsValue) propsValue="${html.propsValue}" #end
  550. #if($html.popupWidth) popupWidth="${html.popupWidth}" #end
  551. #if($html.popupTitle) popupTitle="${html.popupTitle}" #end
  552. #if($html.popupType) popupType="${html.popupType}" #end
  553. #if($relationField) ${relationField} #end
  554. #if($relationModel) ${relationModel} #end
  555. #if($roleOrgroup) ${roleOrgroup} #end
  556. #if($html.showField) showField="${html.showField}" #end
  557. #if($modelColumnOptions) :columnOptions="${modelColumnOptions}"#end
  558. #if($modelExtraOptions) :extraOptions="${modelExtraOptions}"#end
  559. #if($html.modelId) modelId="${html.modelId}" #end
  560. #if($html.interfaceId) interfaceId="${html.interfaceId}" #end
  561. #if($html.pageSize) :pageSize="${html.pageSize}" #end
  562. #if($html.sizeUnit) sizeUnit="${html.sizeUnit}" #end
  563. #if($html.accept) accept="${html.accept}" #end
  564. #if($html.fileSize) :fileSize="${html.fileSize}" #end
  565. #if($html.limit) :limit="${html.limit}" #end
  566. #if($html.pathType) pathType="${html.pathType}" #end
  567. #if($html.sortRule) :sortRule='${html.sortRule}' #end
  568. #if($html.timeFormat) timeFormat="${html.timeFormat}" #end
  569. #if($html.folder) folder="${html.folder}" #end
  570. #if($html.placeholderI18nCode) :placeholder="$t('${html.placeholderI18nCode}')" #else placeholder="${placeholder}"#end
  571. #if($modelProps) :props="${modelProps}"#end
  572. #if($modelOptions) :options="${modelOptions}"#end
  573. #if($modelUpload) :value="${modelUpload}"#end
  574. #if($html.multiple) :multiple="${html.multiple}"#end
  575. #if($html.maxlength) :maxlength="${html.maxlength}"#end
  576. #if($html.min) :min="${html.min}"#end
  577. #if($html.level || ${html.level}==0) :level="${html.level}" #end
  578. #if($html.count) :max="${html.count}"#end
  579. #if($html.max) :max="${html.max}"#end
  580. #if($type) type="${type}"#end
  581. #if($html.step) :step="${html.step}"#end
  582. #if($html.textStyle) :textStyle='${html.textStyle}'#end
  583. #if($html.readonly) readonly#end
  584. #if($jnpfkey == 'slider' ) style="width: 100%;"#end
  585. #if($html.contentPosition) contentPosition="${html.contentPosition}"#end>
  586. </${tag}>
  587. </u-form-item>
  588. </view>
  589. #end
  590. #end
  591. #end
  592. ## 获取详情信息
  593. #macro(AppDetailRendering)
  594. #foreach($fieLdsModel in ${context.form})
  595. #set($jnpfkey = "${fieLdsModel.jnpfKey}")
  596. #set($isEnd = "${fieLdsModel.isEnd}")
  597. #set($formModel = ${fieLdsModel.formModel})
  598. #set($config=$formModel.config)
  599. #set($span=$config.span)
  600. #set($outermost = ${formModel.outermost})
  601. #set($header = ${formModel.header})
  602. #if($jnpfkey=='card' || $jnpfkey=='row')
  603. #if(${config.app}==true)
  604. #if(${isEnd}=='0')
  605. <view class="jnpf-card">
  606. #if($header)
  607. <view class="jnpf-card-cap u-line-1">#if(${formModel.headerI18nCode}){{$t('${formModel.headerI18nCode}')}}#else ${header} #end
  608. #if(${config.tipLabel})<u-icon name="question-circle-fill" class="u-m-l-10" color="#a0acb7"
  609. @click="clickIcon(#if(${formModel.headerI18nCode}) $t('${formModel.headerI18nCode}') #else '${header}'#end,#if(${config.tipLabelI18nCode})$t('${config.tipLabelI18nCode}') #else '${config.tipLabel}' #end)"/>#end</view>
  610. #end
  611. #else
  612. </view>
  613. #end
  614. #end
  615. #elseif($jnpfkey=='tab')
  616. #set($tabModel = ${formModel.model})
  617. #set($tabNum = ${formModel.childNum})
  618. #if(${config.app}==true)
  619. #if(${isEnd}=='0')
  620. #if(${outermost}=='0')
  621. <view prop="${formModel.model}">
  622. <u-tabs ref="${formModel.model}Current" :is-scroll="false" :list="${tabModel}Data" name="title" v-model="${tabModel}Current" @change="${tabModel}"/>
  623. <view>
  624. #else
  625. <view v-show="${tabNum} == ${tabModel}Current">
  626. #end
  627. #else
  628. #if(${outermost}=='0')
  629. </view>
  630. </view>
  631. #else
  632. </view>
  633. #end
  634. #end
  635. #end
  636. #elseif($jnpfkey=='steps')
  637. #set($stepsModel = ${formModel.model})
  638. #set($stepNum = ${formModel.childNum})
  639. #if(${config.app}==true)
  640. #if(${isEnd}=='0')
  641. #if(${outermost}=='0')
  642. <view prop="${formModel.model}">
  643. <u-steps class="step-container" :list="${stepsModel}Data" name="title" :current="${stepsModel}Current"
  644. #if(${formModel.simple}==true)mode="dot" #else mode="number"#end @change="${stepsModel}"/>
  645. <view>
  646. #else
  647. <view v-show="${stepNum} == ${stepsModel}Current">
  648. #end
  649. #else
  650. #if(${outermost}=='0')
  651. </view>
  652. </view>
  653. #else
  654. </view>
  655. #end
  656. #end
  657. #end
  658. #elseif($jnpfkey=='collapse')
  659. #set($collapse = "u-collapse")
  660. #set($tabNum = ${formModel.childNum})
  661. #if(${outermost}=='1')
  662. #set($collapse = "u-collapse-item")
  663. #end
  664. #if(${config.app}==true)
  665. #if(${isEnd}=='0')
  666. #if(${outermost}=='0')
  667. <${collapse} ref="${formModel.model}Current" :accordion="${formModel.accordion}" v-model="${formModel.model}Current">
  668. #else
  669. <${collapse} #if($formModel.titleI18nCode) :title="$t('${formModel.titleI18nCode}')" #else title="${formModel.title}"#end
  670. @change="onCollapseChange" :open="${formModel.model}active.indexOf('${formModel.name}')>-1" name="${formModel.name}" class="collapse-item">
  671. #end
  672. #else
  673. </${collapse}>
  674. #end
  675. #end
  676. #elseif(${noVmodel.contains($jnpfkey)})
  677. #set($defaultName="")
  678. #set($tag=${config.tag})
  679. #set($divider ="")
  680. #set($itemBox = "form-item-box")
  681. #set($itemLabel = "")
  682. #if($jnpfkey=="groupTitle")
  683. #set($itemBox="")
  684. #elseif($jnpfkey=="divider")
  685. #set($divider ="half-width=""200"" height=""80""")
  686. #set($defaultName=$formModel.content)
  687. #elseif($jnpfkey=="qrcode")
  688. #set($itemLabel = "${config.label}")
  689. #elseif($jnpfkey=="barcode")
  690. #set($itemLabel = "${config.label}")
  691. #end
  692. #if(${config.app}==true)
  693. <view class="u-p-l-20 u-p-r-20 ${itemBox}">
  694. #if(${itemBox})
  695. <u-form-item #if($itemLabel) #if(${config.labelI18nCode}) :label="$t('${config.labelI18nCode}')+'${context.labelSuffix}'" #else label="${itemLabel}${context.labelSuffix}" #end
  696. #if($config.labelWidth) label-width="${config.labelWidth}"#end
  697. #if(${config.tipLabel}) left-icon="question-circle-fill" @clickIcon="clickIcon(#if(${config.labelI18nCode}) $t('${config.labelI18nCode}') #else '${itemLabel}' #end,#if(${config.tipLabelI18nCode}) $t('${config.tipLabelI18nCode}')#else '${config.tipLabel}') #end" :left-icon-style="{'color':'#a0acb7'}"#end#end>
  698. #end
  699. <${tag}
  700. #if($formModel.dataType) dataType='${formModel.dataType}' :formData="${context.formModel}" :key="timeKey" #end
  701. #if($formModel.height) :height='${formModel.height}'#end
  702. #if($formModel.width) :width='${formModel.width}'#end
  703. #if($formModel.format) format='${formModel.format}'#end
  704. #if($formModel.staticText) staticText='${formModel.staticText}'#end
  705. #if($formModel.lineColor) lineColor='${formModel.lineColor}'#end
  706. #if($formModel.background) background='${formModel.background}'#end
  707. #if($formModel.relationField) relationField='${formModel.relationField}_id'#end
  708. #if($formModel.colorDark) colorDark='${formModel.colorDark}'#end
  709. #if($formModel.colorLight) colorLight='${formModel.colorLight}'#end
  710. #if($formModel.title || $formModel.titleI18nCode) #if(${formModel.titleI18nCode}) :title="$t('${formModel.titleI18nCode}', '${formModel.title}')"
  711. #else title="${formModel.title}" #end#end
  712. #if($formModel.tagIcon) tagIcon='${formModel.tagIcon}'#end
  713. #if($formModel.showIcon) showIcon #end
  714. #if($formModel.closable) closable #end
  715. #if($formModel.target) target='${formModel.target}'#end
  716. #if($formModel.href) href='${formModel.href}'#end
  717. #if($formModel.buttonText || $formModel.buttonTextI18nCode) #if(${formModel.buttonTextI18nCode}) :buttonText="$t('${formModel.buttonTextI18nCode}', '${formModel.buttonText}')"
  718. #else buttonText="${formModel.buttonText}" #end#end
  719. #if($formModel.align) align='${formModel.align}'#end
  720. #if($formModel.type) type='${formModel.type}'#end
  721. #if($formModel.textStyle) :textStyle='${formModel.textStyle}'#end
  722. #if($config.defaultValue) value="${config.defaultValue}"#end
  723. #if($formModel.helpMessage && ${formModel.content}) helpMessage ="${formModel.helpMessage}" #if(${formModel.helpMessageI18nCode}) :tipLabel="$t('${formModel.helpMessageI18nCode}')"
  724. #else tipLabel="${formModel.helpMessage}"#end @groupIcon="clickIcon(#if(${formModel.contentI18nCode}) $t('${formModel.contentI18nCode}') #else `${formModel.content}` #end,#if(${formModel.helpMessageI18nCode}) $t('${formModel.helpMessageI18nCode}')#else `${formModel.helpMessage}` #end)" #end
  725. #if($divider) ${divider}#end
  726. #if($formModel.helpMessage) #if(${formModel.helpMessageI18nCode}) :helpMessage ="$t('${formModel.helpMessageI18nCode}')" #else helpMessage ="${formModel.helpMessage}" #end #end
  727. #if($formModel.content) #if(${formModel.contentI18nCode}) :value="$t('${formModel.contentI18nCode}')"#else value="${formModel.content}" #end #if(${formModel.contentI18nCode}) :content="$t('${formModel.contentI18nCode}')"#else content="${formModel.content}" #end#end
  728. #if($formModel.contentPosition) contentPosition="${formModel.contentPosition}" #end>
  729. #if(${defaultName})
  730. $!{defaultName}
  731. #end
  732. </${tag}>
  733. #if(${itemBox})
  734. </u-form-item>
  735. #end
  736. </view>
  737. #end
  738. #elseif($jnpfkey=='mastTable')
  739. #set($mastTableModel = $fieLdsModel.formMastTableModel)
  740. #set($html = $mastTableModel.mastTable.fieLdsModel)
  741. #set($formModel="${context.formModel}")
  742. #set($showModel="")
  743. #set($tableFieldModel="")
  744. #appDetail('mastTable' $html $formModel $showModel $tableFieldModel)
  745. #elseif($jnpfkey=='mast')
  746. #set($html = $fieLdsModel.formColumnModel.fieLdsModel)
  747. #set($formModel = "${context.formModel}")
  748. #set($showModel="")
  749. #set($tableFieldModel="")
  750. #appDetail('mast' $html $formModel $showModel $tableFieldModel)
  751. #elseif($jnpfkey=='table')
  752. #set($child = $fieLdsModel.childList)
  753. #set($tableModel = ${child.tableModel})
  754. #set($tableFieldModel="${tableModel}")
  755. #set($childApp=$child.app)
  756. #set($className = "")
  757. #foreach($children in ${context.children})
  758. #if(${children.tableModel}==${child.tableModel})
  759. #set($className = "${children.className}")
  760. #end
  761. #end
  762. #set($showJudge= "")
  763. #set($showTableWrite="")
  764. #if($childApp == true)
  765. <view class="jnpf-table"#if(${showJudge}) $showJudge#end #if($useFormPermission==true) v-if="${setPermission}.hasFormP('${tableModel}',menuId)"#end>
  766. <view class="jnpf-table-title u-line-1">
  767. #if(${child.labelI18nCode}) {{$t('${child.labelI18nCode}')}} #else ${child.label} #end
  768. #if(${child.tipLabel})
  769. <u-icon name="question-circle-fill" class="u-m-l-10" color="#a0acb7" @click="clickIcon(#if(${child.labelI18nCode}) $t('${child.labelI18nCode}') #else '${child.label}'#end,#if(${child.tipLabelI18nCode}) $t('${child.tipLabelI18nCode}') #else '${child.tipLabel}'#end)"/>
  770. #end
  771. </view>
  772. <view class="jnpf-table-item" v-for="(item,i) in ${context.formModel}.${tableFieldModel}" :key="i">
  773. <view class="jnpf-table-item-title">
  774. <view class="jnpf-table-item-title-num">({{i+1}})</view>
  775. </view>
  776. #foreach($childListAll in ${child.childList})
  777. #set($html = $childListAll.fieLdsModel)
  778. #set($formModel="${context.formModel}.${tableFieldModel}[i]")
  779. #set($showModel="${className}")
  780. #appDetail('table' $html $formModel $showModel $tableFieldModel)
  781. #end
  782. </view>
  783. #set($showSummary = $child.showSummary)
  784. #if($showSummary)
  785. <view class="jnpf-table-item" v-if="Object.keys(${className}()).length">
  786. <view class="jnpf-table-item-title u-flex u-row-between">
  787. <text class="jnpf-table-item-title-num">#if(${child.labelI18nCode}){{$t('${child.labelI18nCode}')}}#else${child.label}#end{{$t('component.table.summary','合计')}}</text>
  788. </view>
  789. <view class="u-p-l-20 u-p-r-20 form-item-box">
  790. <u-form-item v-for="(item,i) in ${className}()" :key="i" :label="item.name">
  791. <JnpfInput v-model="item.val" disabled placeholder="" />
  792. </u-form-item>
  793. </view>
  794. </view>
  795. #end
  796. </view>
  797. #end
  798. #end
  799. #end
  800. #end
  801. #macro(appDetail $key $html $formModel $showModel $tableFieldModel)
  802. #set($model = "${html.vModel}")
  803. #set($slot = ${html.slot})
  804. #set($prop="${html.vModel}")
  805. #set($config = $html.config)
  806. #set($show = ${config.noShow})
  807. #set($vmodel="${formModel}.${model}")
  808. #set($labelSuffix="${context.labelSuffix}")
  809. #set($jnpfkey="${config.jnpfKey}")
  810. #set($tag="view")
  811. #set($list="${model}")
  812. #set($maskConfig = "maskConfig.${model}")
  813. #set($type=${html.type})
  814. #set($showJudge= "")
  815. #set($inputalign="")
  816. #set($isStorage="${html.isStorage}")
  817. #set($hasFormP="#if($tableFieldModel)${tableFieldModel}-#end${model}")
  818. #set($relationField="")
  819. #set($relationModel = "")
  820. #set($roleOrgroup = "")
  821. #set($permission = "${useFormPermission}")
  822. #set($childoptions="")
  823. #set($ableRelationIds="")
  824. #if($jnpfkey=='userSelect' && ${html.relationField})
  825. #set($ableRelationIds="${context.formModel}.${html.relationField}")
  826. #end
  827. #set($configLabel="${config.label}")
  828. #if($jnpfkey=='roleSelect' || $jnpfkey=='groupSelect')
  829. #set($roleOrgroup = "vModel='"+${prop}+"'")
  830. #end
  831. #if($jnpfkey=='relationForm' || $jnpfkey=='popupSelect'|| $jnpfkey=='popupTableSelect')
  832. #set($relationField = "relationField='"+${html.relationField}+"'")
  833. #set($relationModel = "vModel='"+${prop}+"'")
  834. #end
  835. #if($jnpfkey=='popupAttr' || $jnpfkey=='relationFormAttr')
  836. #set($relationField = "relationField='"+${html.relationField}+"'")
  837. #set($showList = "")
  838. #set($showJudge = "")
  839. #set($permission = "${useFormPermission}")
  840. #if($isStorage=='0')
  841. #set($hasFormP="#if($tableFieldModel)${tableFieldModel}-#end${html.relationField}")
  842. #set($model = "${html.relationField}")
  843. #set($vmodel="${formModel}.${html.relationField}_${html.showField}")
  844. #end
  845. #end
  846. #if($key=='table')
  847. #set($labelSuffix="")
  848. #set($prop="")
  849. #set($childoptions="${showModel}")
  850. #if($jnpfkey=='relationForm' || $jnpfkey=='popupSelect'|| $jnpfkey=='popupTableSelect')
  851. #set($relationModel = ":vModel=""'"+${model}+"'+i""")
  852. #if($jnpfkey=='relationForm' || $jnpfkey=='popupSelect')
  853. #set($relationModel = ":vModel=""'"+${model}+"_JnpfTable_"+${config.relationTable}+"'+i""")
  854. #end
  855. #end
  856. #if($jnpfkey=='popupAttr' || $jnpfkey=='relationFormAttr')
  857. #set($relationField = ":relationField=""'"+${html.relationField}+"_JnpfTable_"+${config.relationTable}+"'+i""")
  858. #set($showList = "")
  859. #set($permission = "${useFormPermission}")
  860. #if($isStorage=='0')
  861. #set($hasFormP="#if($tableFieldModel)${tableFieldModel}-#end${html.relationField}")
  862. #set($model = "${html.relationField}")
  863. #set($vmodel="${formModel}.${html.relationField}_${html.showField}")
  864. #end
  865. #end
  866. #if($jnpfkey=='userSelect' && ${html.relationField})
  867. #set($ableRelationIds="${context.formModel}.${showModel}List[i].${html.relationField}")
  868. #end
  869. #set($maskConfig = "maskConfig.${showModel}${model}")
  870. #end
  871. #if($jnpfkey=='input' || $jnpfkey=='textarea' || $jnpfkey=='modifyUser' || $jnpfkey=='modifyTime' || $jnpfkey=='billRule')
  872. #set($inputalign="right")
  873. #end
  874. #if($jnpfkey=='inputNumber')
  875. #set($tag = "jnpf-number-box")
  876. #elseif($jnpfkey=='slider')
  877. #set($tag = "jnpf-slider")
  878. #elseif($jnpfkey=='input')
  879. #set($tag = "jnpf-input")
  880. #elseif($jnpfkey=='rate')
  881. #set($tag = "jnpf-rate")
  882. #elseif($jnpfkey=='editor')
  883. #set($configLabel="")
  884. #set($tag = "jnpf-editor")
  885. #elseif($jnpfkey=='uploadImg')
  886. #set($tag = "jnpf-upload")
  887. #elseif($jnpfkey=='uploadFile')
  888. #set($tag = "jnpf-file")
  889. #elseif($jnpfkey=='sign')
  890. #set($tag = "jnpf-sign")
  891. #elseif($jnpfkey=='location')
  892. #set($tag = "jnpf-location")
  893. #elseif($jnpfkey=='colorPicker')
  894. #set($tag = "jnpf-colorPicker")
  895. #elseif($jnpfkey=='signature')
  896. #set($tag = "jnpf-signature")
  897. #end
  898. #if($config.tag && $tag!='view')
  899. #set($tag = $config.tag)
  900. #end
  901. #set($end ="/"+ ${tag})
  902. #if($show == false && ${config.app}==true)
  903. #if($tag)
  904. <view class="u-p-l-20 u-p-r-20 form-item-box">
  905. <u-form-item #if($permission) #if($useFormPermission==true) v-if="${setPermission}.hasFormP('${hasFormP}',menuId)"#end#end
  906. #if($config.showLabel && $config.showLabel == true)
  907. #if($configLabel) #if(${config.labelI18nCode}) :label="$t('${config.labelI18nCode}')+'${labelSuffix}'"#else label="${configLabel}${labelSuffix}" #end#end
  908. #if((${config.labelI18nCode} || $config.tipLabel) && $jnpfkey!='editor' && $configLabel) left-icon="question-circle-fill" @clickIcon="clickIcon(#if(${config.labelI18nCode}) $t('${config.labelI18nCode}')#else'${configLabel}' #end,#if(${config.tipLabelI18nCode}) $t('${config.tipLabelI18nCode}') #else '${config.tipLabel}'#end)" :left-icon-style="{'color':'#a0acb7'}" #end
  909. #if($showJudge) ${showJudge}#end
  910. #if($config.labelWidth) label-width="${config.labelWidth}"#end#end
  911. #if($jnpfkey=='relationForm' || $jnpfkey=='popupSelect') class="relation-item--left"#end>
  912. <${tag}
  913. #set($classText="jnpf-detail-text")
  914. #if($jnpfkey=='editor')
  915. #set($classText="editor-box")
  916. #end
  917. class = "${classText}"
  918. #if($html.count) :max="${html.count}"#end
  919. #if($html.max) :max="${html.max}"#end
  920. #if(${showModelList.contains($jnpfkey)}) v-model="${vmodel}"
  921. #if(${showModelDisabledList.contains($jnpfkey)}) disabled #else detailed #end
  922. #if(${maskConfig}) :maskConfig="${maskConfig}" #end
  923. #end
  924. #if($jnpfkey=='editor') :html="${vmodel}" #end
  925. #if($jnpfkey=='sign') :fieldKey="${html.vModel}" #end
  926. #if($jnpfkey=='relationForm') @click.native="toDetail(${vmodel}_id,'${html.modelId}')" #end
  927. #if($slot.prepend) prepend="${slot.prepend}" #end
  928. #if($slot.append) append="${slot.append}" #end
  929. #if($html.allowhalf) allow-half #end
  930. #if($ableRelationIds) :ableRelationIds = "${ableRelationIds}" #end
  931. #if($html.isStorage || $html.isStorage=='0') isStorage="${html.isStorage}" #end
  932. #if($inputalign) input-align='right' #end
  933. #if($html.prefixIcon) prefix-icon="${html.prefixIcon}" #end
  934. #if($html.suffixIcon) suffix-icon="${html.suffixIcon}" #end
  935. #if($html.selectType) selectType="${html.selectType}" #end
  936. #if($html.description) description="${html.description}" #end
  937. #if($html.closeText) closeText="${html.closeText}" #end
  938. #if($html.direction) direction="${html.direction}" #end
  939. #if($html.isAmountChinese) isAmountChinese #end
  940. #if($html.thousands) thousands #end
  941. #if($html.useMask) useMask #end
  942. #if($html.enableLocationScope) enableLocationScope #end
  943. #if($html.addonAfter) addonAfter="${html.addonAfter}" #end
  944. #if($html.addonBefore) addonBefore="${html.addonBefore}" #end
  945. #if($html.controls) :controls="${html.controls}" #end
  946. #if($html.hasPage) hasPage #end
  947. #if($html.filterable || $html.filterable=='false') :showSearch='${html.filterable}' #end
  948. #if($html.propsValue) propsValue="${html.propsValue}" #end
  949. #if($html.popupWidth) popupWidth="${html.popupWidth}" #end
  950. #if($html.popupTitle) popupTitle="${html.popupTitle}" #end
  951. #if($html.popupType) popupType="${html.popupType}" #end
  952. #if($relationField) ${relationField} #end
  953. #if($relationModel) ${relationModel} #end
  954. #if($roleOrgroup) ${roleOrgroup} #end
  955. #if($html.showField) showField="${html.showField}" #end
  956. #if($html.modelId) modelId="${html.modelId}" #end
  957. #if($html.interfaceId) interfaceId="${html.interfaceId}" #end
  958. #if($html.pageSize) :pageSize="${html.pageSize}" #end
  959. #if($html.accept) accept="${html.accept}" #end
  960. #if($html.folder) folder="${html.folder}" #end
  961. #if($html.multiple) :multiple="${html.multiple}"#end
  962. #if($html.maxlength) :maxlength="${html.maxlength}"#end
  963. #if($html.min) :min="${html.min}"#end
  964. #if($html.level || ${html.level}==0) :level="${html.level}" #end
  965. #if($type) type="${type}"#end
  966. #if($html.step) :step="${html.step}"#end
  967. #if($html.textStyle) :textStyle='${html.textStyle}'#end
  968. #if($html.readonly) readonly#end
  969. #if($html.contentPosition) contentPosition="${html.contentPosition}"#end>
  970. #if($model && !${showModelList.contains($jnpfkey)})
  971. #if($jnpfkey=='relationForm')
  972. <view class="jnpf-detail-text" style="color:rgb(41, 121, 255)">
  973. {{${vmodel}}}
  974. </view>
  975. #else
  976. {{${vmodel}}}
  977. #end
  978. #end
  979. #if($key!='table' && ${extraList.contains($jnpfkey)})
  980. <DisplayList v-if="Object.keys(extraOptions.${model}ExtraOptions).length" :extraObj="extraData.${model}" :extraOptions="extraOptions.${model}ExtraOptions">
  981. </DisplayList>
  982. #end
  983. </${tag}>
  984. </u-form-item>
  985. </view>
  986. #end
  987. #end
  988. #end
  989. ## 联动
  990. #macro(appableAll $fieLdsModel,$childList)
  991. #set($html = $fieLdsModel)
  992. #set($vModel = "${childList}${html.vModel}")
  993. #set($config = $html.config)
  994. #set($dataType = "${config.dataType}")
  995. #if(${html.ableIds})
  996. ${vModel}ableIds:${html.ableIds},
  997. #end
  998. #end
  999. ## 必填
  1000. #macro(appRule $fieLdsModel)
  1001. #set($html = $fieLdsModel)
  1002. #set($vModel = "${html.vModel}")
  1003. #set($config = $html.config)
  1004. #set($label = "${config.label}")
  1005. #set($jnpfkey = "${config.jnpfKey}")
  1006. #set($listSize=$!{config.regList})
  1007. #set($defaultValue=${config.defaultValue})
  1008. #set($defaultValueSize=$!{config.defaultValue})
  1009. #set($trigger = ${config.trigger})
  1010. #if(${trigger.substring(0,1)}!='[')
  1011. #set($trigger = "'"+ ${config.trigger}+ "'")
  1012. #end
  1013. #if($vModel)
  1014. #if(!$config.defaultValue && $config.defaultValue==[])
  1015. #set($messages='请至少选择一个')
  1016. #elseif(${config.defaultValue} && (${defaultValueSize} || $defaultValueSize.size()>0))
  1017. #set($messages='请至少选择一个')
  1018. #elseif($html.placeholder)
  1019. #set($messages=${html.placeholder})
  1020. #else
  1021. #set($messages='不能为空')
  1022. #end
  1023. #if(${config.required}==true|| (${listSize} && $listSize.size()>0))
  1024. ${vModel}: [
  1025. #if($config.required==true)
  1026. {
  1027. required: true,
  1028. message: '${label}$!{messages}',
  1029. #if($jnpfkey=='checkbox' || $jnpfkey=='timeRange' || $jnpfkey=='dateRange' || $jnpfkey=='areaSelect' || $jnpfkey=='cascader')
  1030. type:'array',
  1031. #elseif($jnpfkey=='organizeSelect' || $jnpfkey=='uploadFile' || $jnpfkey=="uploadImg")
  1032. type:'array',
  1033. #elseif($jnpfkey=='userSelect' || $jnpfkey=='usersSelect' || $jnpfkey=='select' || $jnpfkey=='depSelect' || $jnpfkey=='posSelect' || $jnpfkey=='popupTableSelect'|| $jnpfkey=='groupSelect'|| $jnpfkey=='roleSelect' || $jnpfkey=='treeSelect')
  1034. #if(${html.multiple}=='true')
  1035. type:'array',
  1036. #end
  1037. #end
  1038. },
  1039. #end
  1040. #if($listSize.size()>0)
  1041. #foreach($regList in ${config.regList})
  1042. {
  1043. pattern: ${regList.pattern},
  1044. message: '${label}${regList.message}',
  1045. #if($jnpfkey=='checkbox' || $jnpfkey=='timeRange' || $jnpfkey=='dateRange' || $jnpfkey=='areaSelect' || $jnpfkey=='cascader')
  1046. type:'array',
  1047. #elseif($jnpfkey=='organizeSelect' || $jnpfkey=='uploadFile' || $jnpfkey=="uploadImg")
  1048. type:'array',
  1049. #elseif($jnpfkey=='userSelect' || $jnpfkey=='usersSelect' || $jnpfkey=='select' || $jnpfkey=='depSelect' || $jnpfkey=='posSelect' || $jnpfkey=='popupTableSelect'|| $jnpfkey=='groupSelect'|| $jnpfkey=='roleSelect' || $jnpfkey=='treeSelect')
  1050. #if(${html.multiple}=='true')
  1051. type:'array',
  1052. #end
  1053. #end
  1054. },
  1055. #end
  1056. #end
  1057. ],
  1058. #end
  1059. #end
  1060. #end
  1061. ## 下拉数据
  1062. #macro(list $fieLdsModel,$childList)
  1063. #set($html = $fieLdsModel)
  1064. #set($vModel = "${childList}${html.vModel}")
  1065. #set($config = $html.config)
  1066. #set($jnpfkey = "$config.jnpfKey")
  1067. #if(${config.dataType}=='dictionary'||${config.dataType}=='dynamic')
  1068. ${vModel}Options:[],
  1069. #elseif(${config.dataType} == "static")
  1070. #if($html.slot.options)
  1071. ${vModel}Options:${html.slot.options},
  1072. #elseif($html.options)
  1073. ${vModel}Options:${html.options},
  1074. #end
  1075. #end
  1076. #if($html.props)
  1077. #set($propsModel = ${html.props})
  1078. ${vModel}Props:{"label":"${propsModel.label}","value":"${propsModel.value}","multiple":${propsModel.multiple},"children":"${propsModel.children}"},
  1079. #end
  1080. #if($config.props)
  1081. ${vModel}Props:{"label":"${config.props.label}","value":"${config.props.value}"},
  1082. #end
  1083. #if($jnpfkey=='relationForm' || $jnpfkey=='popupSelect' || $jnpfkey=='popupTableSelect')
  1084. ${vModel}ColumnOptions:[
  1085. #foreach($columnOptions in ${html.columnOptions})
  1086. {
  1087. "label":"${columnOptions.label}",
  1088. "value":"${columnOptions.value}"
  1089. },
  1090. #end
  1091. ],
  1092. #extraOptions($fieLdsModel,$childList)
  1093. #end
  1094. #end
  1095. ## 弹窗列表展示
  1096. #macro(extraOptions $fieLdsModel,$childList)
  1097. #set($html = $fieLdsModel)
  1098. #set($vModel = "${childList}${html.vModel}")
  1099. #set($config = $html.config)
  1100. #set($jnpfkey = "$config.jnpfKey")
  1101. #if($jnpfkey=='relationForm' || $jnpfkey=='popupSelect' || $jnpfkey=='popupTableSelect')
  1102. ${vModel}ExtraOptions:[
  1103. #foreach($extraOptions in ${html.extraOptions})
  1104. {
  1105. "label":"${extraOptions.label}",
  1106. "value":"${extraOptions.value}"
  1107. },
  1108. #end
  1109. ],
  1110. #end
  1111. #end
  1112. ## 弹窗数据
  1113. #macro(extraData $fieLdsModel,$childList,$data)
  1114. #set($html = $fieLdsModel)
  1115. #set($vModel = "${childList}${html.vModel}")
  1116. #set($config = $html.config)
  1117. #set($jnpfkey = "$config.jnpfKey")
  1118. #if($jnpfkey=='relationForm' || $jnpfkey=='popupSelect')
  1119. #if($data)
  1120. #if($jnpfkey=='relationForm')
  1121. get${vModel}ExtraInfo(){
  1122. if (!this.${context.formModel}.${vModel}_id) return;
  1123. let query = {
  1124. id: this.${context.formModel}.${vModel}_id,
  1125. #if(${html.propsValue})propsValue: '${html.propsValue}'#end
  1126. };
  1127. getRelationFormDetail('${html.modelId}', query).then(res => {
  1128. if (!res.data || !res.data.data) return
  1129. let data = JSON.parse(res.data.data)
  1130. this.extraData.${vModel} = data
  1131. })
  1132. },
  1133. #else
  1134. get${vModel}ExtraInfo(){
  1135. if (!this.${context.formModel}.${vModel}_id) return;
  1136. const paramList = this.getParamList('${vModel}');
  1137. const query = {
  1138. ids: [this.${context.formModel}.${vModel}_id],
  1139. interfaceId: '${html.interfaceId}',
  1140. propsValue: '${html.propsValue}',
  1141. relationField: '${html.relationField}',
  1142. paramList,
  1143. };
  1144. getDataInterfaceDataInfoByIds('${html.interfaceId}', query).then(res => {
  1145. const data = res.data && res.data.length ? res.data[0] : {};
  1146. this.extraData.${vModel} = data;
  1147. });
  1148. },
  1149. #end
  1150. #else
  1151. this.get${vModel}ExtraInfo()
  1152. #end
  1153. #end
  1154. #end
  1155. ## option方法
  1156. #macro(options $fieLdsModel,$childList)
  1157. #set($html = $fieLdsModel)
  1158. #set($vModel = "${childList}${html.vModel}")
  1159. #set($config = $html.config)
  1160. #set($dataType = "${config.dataType}")
  1161. #if(${dataType}=='dictionary' || ${dataType}=='dynamic')
  1162. this.get${vModel}Options()
  1163. #end
  1164. #end
  1165. ## option接口
  1166. #macro(optionsData $fieLdsModel,$childList)
  1167. #set($html = $fieLdsModel)
  1168. #set($vModel = "${childList}${html.vModel}")
  1169. #set($config = $html.config)
  1170. #set($dataType = "${config.dataType}")
  1171. #set($jnpfkey="${config.jnpfKey}")
  1172. #set($changeDataFormType = "1")
  1173. #set($changeDataFormData = "${html.vModel}")
  1174. #if($childList)
  1175. #set($changeDataFormData = "${childList}"+"List")
  1176. #set($changeDataFormType = "2")
  1177. #end
  1178. #set($defaultValue='""')
  1179. #if($!config.valueType=='String')
  1180. #set($defaultValue="'$!{config.defaultValue}'")
  1181. #elseif($!config.valueType=='undefined')
  1182. #set($defaultValue='""')
  1183. #else
  1184. #set($defaultValue=$!{config.defaultValue})
  1185. #end
  1186. #if(${dataType}=='dictionary')
  1187. get${vModel}Options() {
  1188. getDictionaryDataSelector('${config.dictionaryType}').then(res => {
  1189. this.${vModel}Options = res.data.list
  1190. })
  1191. },
  1192. #elseif(${dataType}=='dynamic')
  1193. get${vModel}Options() {
  1194. const edit = this.isEdit
  1195. const index = this.childIndex
  1196. let templateJsonList = JSON.parse(JSON.stringify(this.interfaceRes.${vModel}))
  1197. for (let i = 0; i < templateJsonList.length; i++) {
  1198. let json = templateJsonList[i];
  1199. if(json.relationField && json.sourceType == 1){
  1200. let relationFieldAll = json.relationField.split("-");
  1201. let val = json.defaultValue;
  1202. if(relationFieldAll.length>1 && index>-1){
  1203. val = this.${context.formModel}[relationFieldAll[0]+'List']&&this.${context.formModel}[relationFieldAll[0]+'List'].length?this.${context.formModel}[relationFieldAll[0]+'List'][index][relationFieldAll[1]]:''
  1204. }else {
  1205. val = this.${context.formModel}[relationFieldAll]?this.${context.formModel}[relationFieldAll]:""
  1206. }
  1207. json.defaultValue = val
  1208. }
  1209. }
  1210. let template ={
  1211. paramList:templateJsonList
  1212. }
  1213. getDataInterfaceRes('${config.propsUrl}',template).then(res => {
  1214. let data = res.data
  1215. this.${vModel}Options = data
  1216. #if($childList)
  1217. if(index==-1) return
  1218. this.${context.formModel}.${childList}List[index].${html.vModel}Options =data
  1219. #end
  1220. if (!edit) return
  1221. this.changeDataFormData(${changeDataFormType},'${changeDataFormData}','${html.vModel}',index,${defaultValue},edit)
  1222. })
  1223. },
  1224. #end
  1225. #end
  1226. ## 用户联动
  1227. #macro(ableRelation $fieLdsModel,$childList)
  1228. #set($html = $fieLdsModel)
  1229. #set($vModel = "${childList}${html.vModel}")
  1230. #set($config = $html.config)
  1231. #set($dataType = "${config.dataType}")
  1232. #set($relationField = ${html.relationField})
  1233. #set($relationChild = "${html.relationChild}")
  1234. #if(${vModel} && ${relationField})
  1235. #if($relationChild)
  1236. #if($childList)${childList}#end${relationField}:"#if($childList)${childList}-#end${html.vModel}",
  1237. #else
  1238. ${relationField}:"${vModel}",
  1239. #end
  1240. #end
  1241. #end
  1242. ## 远端数据
  1243. #macro(faceRes $fieLdsModel,$childList)
  1244. #set($html = $fieLdsModel)
  1245. #set($vModel = "${childList}${html.vModel}")
  1246. #set($config = $html.config)
  1247. #set($dataType = "${config.dataType}")
  1248. #if(${vModel})
  1249. ${vModel}:[
  1250. #foreach($templateJson in ${config.templateJson})
  1251. {
  1252. fieldName:"${templateJson.fieldName}",
  1253. field:"${templateJson.field}",
  1254. defaultValue:"${templateJson.defaultValue}",
  1255. jnpfKey:"$!{templateJson.jnpfKey}",
  1256. dataType:"${templateJson.dataType}",
  1257. id:"${templateJson.id}",
  1258. required:"${templateJson.required}",
  1259. relationField:"${templateJson.relationField}",
  1260. sourceType:${templateJson.sourceType},
  1261. },
  1262. #end
  1263. ],
  1264. #end
  1265. #end
  1266. ## 单行输入
  1267. #macro(maskConfig $fieLdsModel,$childList)
  1268. #set($html = $fieLdsModel)
  1269. #set($vModel = "${childList}${html.vModel}")
  1270. #if(${vModel})
  1271. ${vModel}:{
  1272. #set($config = ${html.maskConfig})
  1273. #if($config)
  1274. filler:"${config.filler}",
  1275. maskType:${config.maskType},
  1276. prefixType:${config.prefixType},
  1277. prefixLimit:${config.prefixLimit},
  1278. prefixSpecifyChar:"${config.prefixSpecifyChar}",
  1279. suffixType:${config.suffixType},
  1280. suffixLimit:${config.suffixLimit},
  1281. suffixSpecifyChar:"${config.suffixSpecifyChar}",
  1282. ignoreChar:"${config.ignoreChar}",
  1283. useUnrealMask:${config.useUnrealMask},
  1284. unrealMaskLength:${config.unrealMaskLength},
  1285. #end
  1286. },
  1287. #end
  1288. #end
  1289. ## 定位
  1290. #macro(locationScope $fieLdsModel,$childList)
  1291. #set($html = $fieLdsModel)
  1292. #set($vModel = "${childList}${html.vModel}")
  1293. #if(${vModel})
  1294. ${vModel}:[
  1295. #foreach($locationScope in ${html.locationScope})
  1296. {
  1297. lng:${locationScope.lng},
  1298. lat:${locationScope.lat},
  1299. radius:${locationScope.radius},
  1300. name:"$!{locationScope.name}",
  1301. id:"${locationScope.id}",
  1302. },
  1303. #end
  1304. ],
  1305. #end
  1306. #end
  1307. ## 默认值
  1308. #macro(formDefaultData $key $fieLdsModel $formModel)
  1309. #set($html = $fieLdsModel)
  1310. #set($eachFiled = "${html.vModel}")
  1311. #set($config = $html.config)
  1312. #set($jnpfkey = "${config.jnpfKey}")
  1313. #set($defaultCurrent=${config.defaultCurrent})
  1314. #set($multiple=${html.multiple})
  1315. #set($format=${html.format})
  1316. #set($timeFormat = "this."+'$'+"u.timeFormat")
  1317. #if($defaultCurrent)
  1318. #if($jnpfkey=='datePicker')
  1319. ${formModel}.${eachFiled} = new Date().getTime()
  1320. #elseif($jnpfkey=='timePicker')
  1321. ${formModel}.${eachFiled} = ${timeFormat}(new Date().getTime(),this.formatType['${format}'])
  1322. #elseif($jnpfkey=='depSelect')
  1323. if(this.userInfo.departmentId != null && this.userInfo.departmentId != '') {
  1324. #if($multiple)
  1325. ${formModel}.${eachFiled} = [this.userInfo.departmentId]
  1326. #else
  1327. ${formModel}.${eachFiled} = this.userInfo.departmentId
  1328. #end
  1329. }
  1330. #elseif($jnpfkey=="organizeSelect" )
  1331. if(this.userInfo.organizeIdList instanceof Array && this.userInfo.organizeIdList.length > 0) {
  1332. #if($multiple)
  1333. ${formModel}.${eachFiled} = [this.userInfo.organizeIdList]
  1334. #else
  1335. ${formModel}.${eachFiled} = this.userInfo.organizeIdList
  1336. #end
  1337. }
  1338. #elseif($jnpfkey=='userSelect')
  1339. #if($multiple)
  1340. ${formModel}.${eachFiled} = [this.userInfo.userId]
  1341. #else
  1342. ${formModel}.${eachFiled} = this.userInfo.userId
  1343. #end
  1344. #elseif($jnpfkey=='posSelect')
  1345. if(this.userInfo.positionIds instanceof Array && this.userInfo.positionIds.length > 0) {
  1346. #if($multiple)
  1347. ${formModel}.${eachFiled} = this.userInfo.positionIds.map(o => o.id)
  1348. #else
  1349. ${formModel}.${eachFiled} = this.userInfo.positionIds[0].id
  1350. #end
  1351. }
  1352. #elseif($jnpfkey=='roleSelect')
  1353. if(this.userInfo.roleIds instanceof Array && this.userInfo.roleIds.length > 0) {
  1354. #if($multiple)
  1355. ${formModel}.${eachFiled} = this.userInfo.roleIds
  1356. #else
  1357. ${formModel}.${eachFiled} = this.userInfo.roleIds[0]
  1358. #end
  1359. }
  1360. #elseif($jnpfkey=='groupSelect')
  1361. if(this.userInfo.groupIds instanceof Array && this.userInfo.groupIds.length > 0) {
  1362. #if($multiple)
  1363. ${formModel}.${eachFiled} = this.userInfo.groupIds
  1364. #else
  1365. ${formModel}.${eachFiled} = this.userInfo.groupIds[0]
  1366. #end
  1367. }
  1368. #elseif($jnpfkey=='usersSelect')
  1369. #if($multiple)
  1370. ${formModel}.${eachFiled} = [this.userInfo.userId+"--user"]
  1371. #else
  1372. ${formModel}.${eachFiled} = this.userInfo.userId+"--user"
  1373. #end
  1374. #elseif($jnpfkey=='sign')
  1375. if(this.userInfo.signImg != null && this.userInfo.signImg != '') {
  1376. ${formModel}.${eachFiled} = this.userInfo.signImg
  1377. }
  1378. #end
  1379. #end
  1380. #end
  1381. #macro(indexDefaultData $key $fieLdsModel $formModel)
  1382. #set($eachFiled = "${fieLdsModel.vModel}")
  1383. #set($value = ${fieLdsModel.value})
  1384. #set($valueType=$fieLdsModel.config.valueType)
  1385. #if($valueType=='String')
  1386. #set($value="'"+$value+"'")
  1387. #end
  1388. #if($value)
  1389. ${formModel}.${eachFiled} = $value
  1390. #end
  1391. #end
  1392. ## 列表控件
  1393. #macro(codeIndex $formModel)
  1394. #set($html = $formModel)
  1395. #set($config = $html.config)
  1396. #set($jnpfkey = "${config.jnpfKey}")
  1397. #set($dateType = "")
  1398. #set($model = "${html.vModel}")
  1399. #set($label = $html.label)
  1400. #set($mastModel="searchForm."+"${model}")
  1401. #set($tag = "$jnpfkey")
  1402. #set($type = "")
  1403. #set($bh = "")
  1404. #set($inputalign="")
  1405. #if($jnpfkey=='input' || $jnpfkey=='textarea' || $jnpfkey=='billRule')
  1406. #set($inputalign="right")
  1407. #elseif($jnpfkey=='datePicker'|| $jnpfkey=='createTime' || $jnpfkey=='modifyTime' || $jnpfkey=='timePicker')
  1408. #set($dateType = "date")
  1409. #if($jnpfkey=='timePicker')
  1410. #set($dateType = "time")
  1411. #end
  1412. #elseif($jnpfkey=='userSelect' || $jnpfkey=='createUser' || $jnpfkey=='modifyUser')
  1413. #set($bh = "650")
  1414. #elseif($jnpfkey=='organizeSelect' || $jnpfkey=='depSelect' || $jnpfkey=='posSelect' || $jnpfkey=='currOrganize' || $jnpfkey=='currDept' || $jnpfkey=='currPosition')
  1415. #if($jnpfkey=='depSelect' || $jnpfkey=='currDept')
  1416. #set($type = "department")
  1417. #elseif($jnpfkey=='posSelect' || $jnpfkey=='currPosition')
  1418. #set($type = "position")
  1419. #end
  1420. #end
  1421. #set($tag=${config.tag})
  1422. #if($jnpfkey=='checkbox'||$jnpfkey=='select'||$jnpfkey=='radio')
  1423. #set($tag="JnpfSelect")
  1424. #end
  1425. #if($jnpfkey=='posSelect' || $jnpfkey=='currPosition')
  1426. #set($tag="JnpfPosSelect")
  1427. #end
  1428. #if($jnpfkey=='depSelect' || $jnpfkey=='currDept')
  1429. #set($tag="JnpfDepSelect")
  1430. #end
  1431. #if($jnpfkey=='organizeSelect' || $jnpfkey=='currOrganize')
  1432. #set($tag="JnpfOrganizeSelect")
  1433. #end
  1434. #if($jnpfkey=='inputNumber' || $jnpfkey=='calculate' || $jnpfkey=='slider' || $jnpfkey=='rate')
  1435. #set($tag="JnpfNumberRange")
  1436. #end
  1437. #if($jnpfkey=='input' || $jnpfkey=='text'|| $jnpfkey=='link'|| $jnpfkey=='billRule' || $jnpfkey=='location')
  1438. #set($tag="JnpfInput")
  1439. #end
  1440. #if($jnpfkey=='userSelect' || $jnpfkey=='createUser' || $jnpfkey=='modifyUser')
  1441. #set($tag="JnpfUserSelect")
  1442. #end
  1443. #if($jnpfkey=='datePicker'|| $jnpfkey=='createTime' || $jnpfkey=='modifyTime' )
  1444. #set($tag="JnpfDateRange")
  1445. #end
  1446. #if($jnpfkey=='timePicker')
  1447. #set($tag="JnpfTimeRange")
  1448. #end
  1449. #set($placeholder="common.chooseText")
  1450. #if($jnpfkey=='input' || $jnpfkey=='textarea'|| $jnpfkey=='billRule')
  1451. #set($placeholder="common.inputText")
  1452. #end
  1453. #set($modelprops="")
  1454. #set($modeloptions="")
  1455. #if($jnpfkey=='radio' || $jnpfkey=='checkbox' || $jnpfkey=='select' || $jnpfkey=='cascader' || $jnpfkey=='treeSelect')
  1456. #set($modelprops="${model}Props")
  1457. #set($modeloptions="${model}Options")
  1458. #end
  1459. #if($tag && !${html.noShow})
  1460. <u-form-item #if(${html.labelI18nCode}) :label="$t('${html.labelI18nCode}','${label}')" #else label= "${label}"#end>
  1461. <$tag v-model="${mastModel}"
  1462. :placeholder="$t('${placeholder}')+ ' ' + #if(${html.labelI18nCode})$t('${html.labelI18nCode}','${label}')#else'${label}'#end"
  1463. :key="'${mastModel}'"
  1464. #if(${filterableModel.contains($jnpfkey)}) filterable #end
  1465. #if($dateType) jnpfKey="${dateType}" #end
  1466. #if(${bh}) :bh="650" #end
  1467. #if($inputalign) input-align='right' #end
  1468. #if(${type}) type="${type}"#end
  1469. #set($selectTypes = ${html.selectType})
  1470. #if(${selectTypes}!='custom')
  1471. #set($selectTypes = "all")
  1472. #end
  1473. #if($html.total) :total="${html.total}" #end
  1474. #if($html.clearable) clearable #end
  1475. #if($html.format) format="${html.format}" #end
  1476. #if($html.interfaceId) interfaceId="${html.interfaceId}" #end
  1477. #if($html.templateJson) :templateJson="interfaceRes.${model}" #end
  1478. #if($html.relationField) relationField="${html.relationField}" #end
  1479. #if($selectTypes) selectType="${selectTypes}" #end
  1480. #if($html.searchMultiple) :multiple="${html.searchMultiple}"#end
  1481. #if($html.ableIds) :ableIds="ableAll.${model}ableIds" #end
  1482. #if(${html.level}) :level="${html.level}" #end
  1483. #if(${modelprops}) :props="${modelprops}" #end
  1484. #if(${modeloptions}) :options="${modeloptions}" #end/>
  1485. </u-form-item>
  1486. #end
  1487. #end
  1488. ## 列表搜索
  1489. #macro(AppSearchRendering)
  1490. #foreach($searchAll in ${context.searchAll})
  1491. #set($html = ${searchAll.html})
  1492. #codeIndex($html)
  1493. #end
  1494. #end
  1495. ## 列表
  1496. #macro(codeOptionsList $fieLdsModel $tabList)
  1497. #set($html = $fieLdsModel)
  1498. #set($vModel = "${html.vModel}")
  1499. #set($config = $html.config)
  1500. #set($dataType = "${config.dataType}")
  1501. #if(${dataType}=='dictionary')
  1502. get${vModel}Options() {
  1503. getDictionaryDataSelector('${config.dictionaryType}').then(res => {
  1504. this.${vModel}Options = res.data.list
  1505. })
  1506. },
  1507. #elseif(${dataType}=='dynamic')
  1508. get${vModel}Options() {
  1509. let templateJsonList = JSON.parse(JSON.stringify(this.interfaceRes.${vModel}))
  1510. let template = {
  1511. paramList: templateJsonList
  1512. }
  1513. getDataInterfaceRes('${config.propsUrl}',template).then(res => {
  1514. let data = res.data
  1515. this.${vModel}Options = data
  1516. })
  1517. },
  1518. #end
  1519. #end