AppFormMarco.vm 76 KB

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