vue2-client 1.12.44 → 1.12.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (388) hide show
  1. package/.cursorrules +19 -19
  2. package/.env +19 -19
  3. package/.env.gaslink +19 -19
  4. package/.env.his +19 -19
  5. package/.env.iot +19 -19
  6. package/.env.liuli +19 -19
  7. package/.env.revenue +19 -19
  8. package/.env.scada +19 -19
  9. package/.eslintrc.js +90 -90
  10. package/CHANGELOG.md +824 -824
  11. package/Components.md +60 -60
  12. package/docs/Logic/345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +45 -45
  13. package/docs/LowCode/lowcode.md +155 -155
  14. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  15. package/docs/index.md +30 -30
  16. package/index.js +31 -31
  17. package/jest-transform-stub.js +8 -8
  18. package/jest.setup.js +7 -7
  19. package/jsconfig.json +19 -19
  20. package/package.json +1 -1
  21. package/public/his/editor/editor.html +51 -51
  22. package/public/his/editor/mock/bind_data.html +779 -779
  23. package/public/his/editor/mock/data_table.html +40 -40
  24. package/public/his/editor/mock/sign.html +75 -75
  25. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  26. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  27. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  28. package/public/his/editor/vender/date97/calendar.js +4 -4
  29. package/public/his/editor/vender/date97/lang/en.js +13 -13
  30. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  31. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  32. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  33. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  34. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  35. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  36. package/public/his/editor/vender/diff.js +1627 -1627
  37. package/public/his/editor/vender/editor.js +1 -1
  38. package/public/his/editor/vender/fabric.js +31187 -31187
  39. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  40. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  41. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  42. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  43. package/public/his/editor/vender/mui/mui.min.css +4 -4
  44. package/public/his/editor/vender/mui/mui.min.js +5 -5
  45. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  46. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  47. package/public/his/editor/vender/qrcode.js +7 -7
  48. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  49. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  50. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  51. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  52. package/public/his/editor/vender/validator.js +5094 -5094
  53. package/public/his/editor/vender/weui/weui.css +5659 -5659
  54. package/public/his/editor/vender/weui/weui.min.css +4 -4
  55. package/public/his/editor/vender/weui/weui.min.js +11 -11
  56. package/public/index.html +27 -27
  57. package/src/ReportView.js +19 -19
  58. package/src/assets/img/querySlotDemo.svg +15 -15
  59. package/src/assets/svg/badtwo.svg +1 -1
  60. package/src/assets/svg/goodtwo.svg +1 -1
  61. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  62. package/src/base-client/components/AI/demo.vue +31 -31
  63. package/src/base-client/components/common/AMisRender/index.js +3 -3
  64. package/src/base-client/components/common/AMisRender/index.vue +263 -263
  65. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +470 -470
  66. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  67. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  68. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  69. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  70. package/src/base-client/components/common/CitySelect/index.js +3 -3
  71. package/src/base-client/components/common/CitySelect/index.md +109 -109
  72. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  73. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  74. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  75. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  76. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  77. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  78. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  79. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  80. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +149 -149
  81. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  82. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  83. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  84. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  85. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  86. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  87. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  88. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  89. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  90. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  91. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  92. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  93. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  94. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  95. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  96. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  97. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  98. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  99. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  100. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  101. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  102. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  103. package/src/base-client/components/common/Recording/index.js +3 -3
  104. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  105. package/src/base-client/components/common/Tree/index.js +2 -2
  106. package/src/base-client/components/common/Upload/index.js +3 -3
  107. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  108. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +1156 -1146
  109. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  110. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +303 -303
  111. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  112. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  113. package/src/base-client/components/common/XAddReport/index.js +3 -3
  114. package/src/base-client/components/common/XAddReport/index.md +56 -56
  115. package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
  116. package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
  117. package/src/base-client/components/common/XButtons/XButtons.vue +71 -71
  118. package/src/base-client/components/common/XButtons/index.js +3 -3
  119. package/src/base-client/components/common/XButtons/index.md +61 -61
  120. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  121. package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
  122. package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
  123. package/src/base-client/components/common/XCollapse/XCollapse.vue +154 -154
  124. package/src/base-client/components/common/XDataCard/index.js +3 -3
  125. package/src/base-client/components/common/XDataCard/index.md +1 -1
  126. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  127. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  128. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  129. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  130. package/src/base-client/components/common/XDatePicker/index.vue +269 -269
  131. package/src/base-client/components/common/XDescriptions/XDescriptions.vue +169 -169
  132. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  133. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  134. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  135. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  136. package/src/base-client/components/common/XForm/XForm.vue +404 -393
  137. package/src/base-client/components/common/XForm/XFormItem.vue +1310 -1265
  138. package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
  139. package/src/base-client/components/common/XForm/XTreeSelect.vue +263 -263
  140. package/src/base-client/components/common/XForm/index.md +178 -178
  141. package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
  142. package/src/base-client/components/common/XFormGroup/demo.vue +4 -2
  143. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  144. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  145. package/src/base-client/components/common/XFormGroupDetails/XFormGroupDetails.vue +72 -72
  146. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  147. package/src/base-client/components/common/XFormTable/index.md +92 -92
  148. package/src/base-client/components/common/XImportExcel/XImportExcel.vue +167 -167
  149. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  150. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  151. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  152. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  153. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  154. package/src/base-client/components/common/XPrint/PrintBill.vue +302 -302
  155. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  156. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  157. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  158. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  159. package/src/base-client/components/common/XPrint/index.vue +97 -97
  160. package/src/base-client/components/common/XReport/XReport.vue +892 -892
  161. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  162. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  163. package/src/base-client/components/common/XReport/index.js +3 -3
  164. package/src/base-client/components/common/XReport/index.md +44 -44
  165. package/src/base-client/components/common/XReport/print.js +186 -186
  166. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  167. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  168. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  169. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  170. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  171. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  172. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  173. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  174. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  175. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  176. package/src/base-client/components/common/XStepView/index.js +3 -3
  177. package/src/base-client/components/common/XStepView/index.md +31 -31
  178. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  179. package/src/base-client/components/common/XTab/index.js +3 -3
  180. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  181. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  182. package/src/base-client/components/common/XTable/XTableWrapper.vue +12 -2
  183. package/src/base-client/components/common/XTable/index.md +255 -255
  184. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  185. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  186. package/src/base-client/components/common/XTree/index.js +3 -3
  187. package/src/base-client/components/common/XTree/index.md +36 -36
  188. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  189. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  190. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  191. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  192. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  193. package/src/base-client/components/index.js +51 -51
  194. package/src/base-client/components/layout/XPageView/XErrorView.vue +11 -11
  195. package/src/base-client/components/layout/XPageView/XPageView.vue +155 -155
  196. package/src/base-client/components/layout/XPageView/index.js +3 -3
  197. package/src/base-client/components/layout/XPageView/index.md +38 -38
  198. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  199. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  200. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  201. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  202. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  203. package/src/base-client/plugins/AppData.js +121 -121
  204. package/src/base-client/plugins/Config.js +19 -19
  205. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  206. package/src/base-client/plugins/Recording.js +258 -258
  207. package/src/base-client/plugins/index.js +23 -23
  208. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  209. package/src/bootstrap.js +42 -42
  210. package/src/components/Charts/Bar.vue +62 -62
  211. package/src/components/Charts/ChartCard.vue +134 -134
  212. package/src/components/Charts/Liquid.vue +67 -67
  213. package/src/components/Charts/MiniArea.vue +39 -39
  214. package/src/components/Charts/MiniBar.vue +39 -39
  215. package/src/components/Charts/MiniProgress.vue +75 -75
  216. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  217. package/src/components/Charts/Radar.vue +68 -68
  218. package/src/components/Charts/RankList.vue +77 -77
  219. package/src/components/Charts/TagCloud.vue +113 -113
  220. package/src/components/Charts/TransferBar.vue +64 -64
  221. package/src/components/Charts/Trend.vue +82 -82
  222. package/src/components/Charts/chart.less +12 -12
  223. package/src/components/Charts/smooth.area.less +13 -13
  224. package/src/components/CodeMirror/inedx.vue +118 -118
  225. package/src/components/CodeMirror/setting.js +40 -40
  226. package/src/components/FilePreview/FilePreview.vue +184 -166
  227. package/src/components/FilePreview/FilePreviewDemo.vue +30 -0
  228. package/src/components/HeightScanner/index.vue +571 -571
  229. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  230. package/src/components/NumberInfo/index.js +3 -3
  231. package/src/components/NumberInfo/index.less +54 -54
  232. package/src/components/NumberInfo/index.md +43 -43
  233. package/src/components/STable/index.js +435 -426
  234. package/src/components/card/ChartCard.vue +79 -79
  235. package/src/components/chart/Bar.vue +60 -60
  236. package/src/components/chart/MiniArea.vue +67 -67
  237. package/src/components/chart/MiniBar.vue +59 -59
  238. package/src/components/chart/MiniProgress.vue +57 -57
  239. package/src/components/chart/Radar.vue +80 -80
  240. package/src/components/chart/RankingList.vue +60 -60
  241. package/src/components/chart/Trend.vue +79 -79
  242. package/src/components/chart/index.less +9 -9
  243. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  244. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  245. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  246. package/src/components/checkbox/index.js +9 -9
  247. package/src/components/exception/ExceptionPage.vue +70 -70
  248. package/src/components/g2Charts/constants.js +202 -202
  249. package/src/components/g2Charts/demo.vue +808 -808
  250. package/src/components/g2Charts/designer.vue +228 -228
  251. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  252. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  253. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  254. package/src/components/g2Charts/index.vue +397 -397
  255. package/src/components/index.js +36 -36
  256. package/src/components/input/IInput.vue +66 -66
  257. package/src/components/menu/SideMenu.vue +75 -75
  258. package/src/components/menu/menu.js +273 -273
  259. package/src/components/setting/Setting.vue +234 -234
  260. package/src/components/tool/AStepItem.vue +60 -60
  261. package/src/config/CreateQueryConfig.js +325 -325
  262. package/src/config/default/antd.config.js +89 -89
  263. package/src/config/default/setting.config.js +55 -55
  264. package/src/font-style/font.css +4 -4
  265. package/src/layouts/CommonLayout.vue +56 -56
  266. package/src/layouts/PageLayout.vue +151 -151
  267. package/src/layouts/SinglePageView.vue +136 -136
  268. package/src/layouts/header/AdminHeader.vue +132 -132
  269. package/src/layouts/header/HeaderNotice.vue +177 -177
  270. package/src/layouts/header/InstitutionDetail.vue +181 -181
  271. package/src/layouts/tabs/TabsHead.vue +189 -189
  272. package/src/layouts/tabs/TabsView.vue +389 -389
  273. package/src/lib.js +1 -1
  274. package/src/main.js +34 -34
  275. package/src/mixins/formValidationMixin.js +46 -0
  276. package/src/mock/extend/index.js +84 -84
  277. package/src/mock/goods/index.js +108 -108
  278. package/src/pages/AMisDemo/AMisDemo.vue +325 -325
  279. package/src/pages/AMisDemo/AMisDemo2.vue +74 -74
  280. package/src/pages/DefaultExample/index.vue +77 -77
  281. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  282. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  283. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  284. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  285. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  286. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  287. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  288. package/src/pages/DynamicStatistics/index.vue +282 -282
  289. package/src/pages/Example/childIndex.vue +15 -15
  290. package/src/pages/Example/index.vue +30 -30
  291. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  292. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  293. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  294. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  295. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  296. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  297. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  298. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  299. package/src/pages/Recording/index.vue +77 -77
  300. package/src/pages/ServiceReview/index.vue +284 -284
  301. package/src/pages/SubExample/index.vue +26 -26
  302. package/src/pages/WorkflowDetail/WorkflowDetail.vue +235 -235
  303. package/src/pages/WorkflowDetail/WorkflowPageDetail/LeaveMessage.vue +131 -131
  304. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  305. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformation.vue +302 -302
  306. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformationDetails.vue +276 -276
  307. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandleReso.vue +997 -997
  308. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowTimeline.vue +222 -222
  309. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkOrderParentDetails.vue +233 -233
  310. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowDetailResso.vue +261 -261
  311. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowListResolution.vue +248 -248
  312. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowLog.vue +73 -73
  313. package/src/pages/XPageViewExample/index.vue +38 -38
  314. package/src/pages/XReportView/index.vue +64 -64
  315. package/src/pages/XTreeOneProExample/index.vue +67 -67
  316. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  317. package/src/pages/login/Login.vue +378 -378
  318. package/src/pages/login/LoginV3.vue +389 -389
  319. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  320. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  321. package/src/pages/report/ReportTable.js +124 -124
  322. package/src/pages/resourceManage/orgListManage.vue +98 -98
  323. package/src/pages/system/dictionary/index.vue +44 -44
  324. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  325. package/src/pages/system/monitor/operLog/index.vue +37 -37
  326. package/src/pages/system/settings/modifyPassword.vue +117 -117
  327. package/src/pages/system/ticket/index.vue +480 -480
  328. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  329. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  330. package/src/pages/userInfoDetailManage/FillCardRecordQuery/index.vue +76 -76
  331. package/src/pages/userInfoDetailManage/FillGasRecordQuery/index.vue +74 -74
  332. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  333. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  334. package/src/pages/userInfoDetailManage/MachineRecordQuery/index.vue +74 -74
  335. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  336. package/src/pages/userInfoDetailManage/OtherChargeRecordQuery/index.vue +74 -74
  337. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  338. package/src/pages/userInfoDetailManage/UserChargeRecordQuery/index.vue +92 -92
  339. package/src/pages/userInfoDetailManage/UserHandRecordQuery/index.vue +86 -86
  340. package/src/pages/userInfoDetailManage/UserRecordQuery/index.vue +73 -73
  341. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  342. package/src/pages/userInfoDetailManage/userInfoDetailQueryTabs.vue +132 -132
  343. package/src/plugins/EventLogPlugin.js +33 -33
  344. package/src/plugins/FindParentsData.js +17 -17
  345. package/src/router/async/config.async.js +35 -35
  346. package/src/router/async/router.map.js +118 -118
  347. package/src/router/index.js +27 -27
  348. package/src/router.js +19 -19
  349. package/src/services/DataModel.js +30 -30
  350. package/src/services/LodopFuncs.js +137 -137
  351. package/src/services/api/TicketDetailsViewApi.js +46 -46
  352. package/src/services/api/cas.js +79 -79
  353. package/src/services/api/common.js +346 -346
  354. package/src/services/api/entity.js +18 -18
  355. package/src/services/api/index.js +17 -17
  356. package/src/services/api/restTools.js +145 -145
  357. package/src/services/api/workFlow.js +63 -63
  358. package/src/services/apiService.js +16 -16
  359. package/src/store/modules/account.js +115 -115
  360. package/src/store/modules/index.js +5 -5
  361. package/src/store/modules/lowCode.js +33 -33
  362. package/src/store/modules/setting.js +119 -119
  363. package/src/theme/default/style.less +58 -58
  364. package/src/theme/global.less +159 -159
  365. package/src/utils/authority-utils.js +85 -85
  366. package/src/utils/errorCode.js +6 -6
  367. package/src/utils/formatter.js +74 -74
  368. package/src/utils/htmlToPDF.js +108 -108
  369. package/src/utils/htmlToPDFApi.js +5 -5
  370. package/src/utils/login.js +188 -188
  371. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  372. package/src/utils/lowcode/lowcodeLog.js +29 -29
  373. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  374. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  375. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  376. package/src/utils/map-utils.js +47 -47
  377. package/src/utils/reg.js +95 -95
  378. package/src/utils/runEvalFunction.js +14 -14
  379. package/src/utils/theme-color-replacer-extend.js +92 -92
  380. package/src/utils/util.js +329 -329
  381. package/src/utils/waterMark.js +31 -31
  382. package/test/Amis.spec.js +164 -164
  383. package/test/Tree.spec.js +168 -168
  384. package/test/myDialog.spec.js +47 -47
  385. package/test/util.test.js +53 -53
  386. package/test/v3Api.test.js +1984 -1984
  387. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
  388. package/src/base-client/components/common/XCollapse/XCollapseDemo.vue +0 -15
@@ -1,393 +1,404 @@
1
- <template>
2
- <div :style="{marginBottom: !visible ? '12px':''}">
3
- <div v-if="visible && realJsonData.length > 0" class="table-page-search-wrapper">
4
- <a-form-model
5
- v-if="loaded"
6
- ref="form"
7
- :model="form"
8
- :rules="rules"
9
- layout="inline">
10
- <a-row :gutter="24" type="flex">
11
- <x-form-item
12
- v-for="(item, index) in realJsonData.slice(0,7)"
13
- :showLabel="!simpleMode"
14
- :key="`${queryParamsName}-item-${index}`"
15
- :attr="item"
16
- :form="form"
17
- :service-name="serviceName"
18
- :get-data-params="getDataParams"
19
- :env="env"
20
- :setForm="setForm"
21
- @mounted="onItemMounted"
22
- />
23
- <template v-for="(groupItem, groupIndex) in groupJsonData">
24
- <x-form-item
25
- v-for="(item, index) in groupItem.groupItems"
26
- :showLabel="!simpleMode"
27
- :key="`group-${groupIndex}-item-${index}`"
28
- :attr="item"
29
- :form="form"
30
- :service-name="serviceName"
31
- :get-data-params="getDataParams"
32
- :env="env"
33
- :setForm="setForm"
34
- />
35
- </template>
36
- <x-form-item
37
- v-show="advanced"
38
- v-for="(item, index) in realJsonData.slice(7)"
39
- :showLabel="!simpleMode"
40
- :key="`advanced-${queryParamsName}-item-${index}`"
41
- :attr="item"
42
- :form="form"
43
- :service-name="serviceName"
44
- :get-data-params="getDataParams"
45
- :env="env"
46
- :setForm="setForm"
47
- @mounted="onItemMounted"
48
- />
49
- <a-col style="margin-left: auto">
50
- <span
51
- :style="advanced && { float: 'right', overflow: 'hidden' } || {} "
52
- class="table-page-search-submitButtons">
53
- <template v-if="realJsonData.length >7">
54
- <a @click="toggleAdvanced">
55
- <span v-if="!advanced" style="display: inline-flex; align-items: center;">
56
- <a-icon type="eye" :style="iconStyle"/>&nbsp;更多条件
57
- </span>
58
- <span v-else style="display: inline-flex; align-items: center;">
59
- <a-icon type="eye-invisible" :style="iconStyle"/>&nbsp;收起更多
60
- </span>
61
- </a>
62
- <a-divider type="vertical"/>
63
- </template>
64
- <a-button
65
- v-if="!simpleMode"
66
- htmlType="submit"
67
- type="primary"
68
- @click="onSubmit">
69
- <a-icon :style="iconStyle" type="search"/>查询
70
- </a-button>
71
- <a-button v-if="!simpleMode" style="margin-left: 8px" @click="resetForm">重置</a-button>
72
- <slot></slot>
73
- </span>
74
- </a-col>
75
- </a-row>
76
- </a-form-model>
77
- <div class="next-divider-dashed" role="separator"></div>
78
- </div>
79
- </div>
80
- </template>
81
- <script>
82
- import XFormItem from '@vue2-client/base-client/components/common/XForm/XFormItem'
83
- import { mapState } from 'vuex'
84
- import moment from 'moment'
85
- import { executeStrFunctionByContext } from '@vue2-client/utils/runEvalFunction'
86
- import { getConfigByNameAsync, runLogic } from '@vue2-client/services/api/common'
87
- import * as util from '@vue2-client/utils/util'
88
-
89
- export default {
90
- name: 'XForm',
91
- components: {
92
- XFormItem
93
- },
94
- data () {
95
- return {
96
- // 内容加载是否完成
97
- loaded: false,
98
- // 服务名称
99
- serviceName: undefined,
100
- // 是否展开条件
101
- advanced: false,
102
- // 表单Model
103
- form: undefined,
104
- // 校验
105
- rules: {},
106
- // 图标样式
107
- iconStyle: {
108
- position: 'relative',
109
- top: '1px'
110
- },
111
- // 表单项集合
112
- formItems: [],
113
- // 是否显示
114
- visible: true,
115
- // 调用logic获取数据源的追加参数
116
- getDataParams: {},
117
- // 当前环境
118
- env: 'prod',
119
- // 暂存 form 的默认值
120
- defaultMap: {},
121
- // 已经渲染得 x-from-item 为了让所有节点init执行完在调用 table 查询
122
- mountedCount: 0,
123
- // 是否简易模式
124
- simpleMode: false,
125
- queryParamsName: ''
126
- }
127
- },
128
- computed: {
129
- ...mapState('account', { currUser: 'user' }),
130
- // 过滤掉仅用于新增/修改场景的表单项
131
- realJsonData: function () {
132
- return this.formItems.filter(item => (!item.isOnlyAddOrEdit && item.type !== 'group') || (item.type === 'group' && item.groupItems.some(groupItem => !groupItem.isOnlyAddOrEdit)))
133
- },
134
- // 过滤出用于新增/修改场景的表单项
135
- groupJsonData: function () {
136
- return this.formItems.filter((item) => {
137
- return item.type === 'group'
138
- }).map((item) => {
139
- item.groupItems = item.groupItems.filter(item => !item.isOnlyAddOrEdit).map((groupItem) => {
140
- // 只保留第一个下划线后面的内容
141
- // groupItem.model = groupItem.model.substring(groupItem.model.indexOf('_') + 1)
142
- return groupItem
143
- })
144
- return item
145
- }
146
- )
147
- },
148
- },
149
- methods: {
150
- init (params) {
151
- const {
152
- formItems, serviceName, getDataParams = {}, env = 'prod', simpleMode = false, funcData = {},
153
- queryParamsName = 'localConfig'
154
- } = params
155
- this.mountedCount = 0
156
- this.queryParamsName = queryParamsName
157
- this.loaded = false
158
- this.formItems = JSON.parse(JSON.stringify(formItems))
159
- this.serviceName = serviceName
160
- this.env = env
161
- this.simpleMode = simpleMode
162
- const formData = {}
163
- for (let i = 0; i < this.realJsonData.length; i++) {
164
- const item = this.realJsonData[i]
165
- this.setFormProps(formData, item)
166
- }
167
- if (this.realJsonData.length === 0) {
168
- this.$nextTick(() => {
169
- this.$emit('itemsMounted')
170
- })
171
- }
172
- // 处理分组数据表单
173
- for (let i = 0; i < this.groupJsonData.length; i++) {
174
- const groupItem = this.groupJsonData[i]
175
- for (let j = 0; j < groupItem.groupItems.length; j++) {
176
- const item = groupItem.groupItems[j]
177
- this.setFormProps(formData, item)
178
- }
179
- }
180
- this.form = formData
181
- try {
182
- if (funcData.queryFormInit) {
183
- if (!funcData.queryFormInit.startsWith('async')) {
184
- funcData.queryFormInit = `async ${funcData.queryFormInit}`
185
- }
186
- executeStrFunctionByContext(this, funcData.queryFormInit, [util, runLogic, getConfigByNameAsync]).then(res => {
187
- this.form = Object.assign({}, this.form, res)
188
- })
189
- }
190
- } catch (e) {
191
- console.error('queryFormInit error', e)
192
- }
193
- this.getDataParams = getDataParams
194
- this.loaded = true
195
- },
196
- onItemMounted (_h) {
197
- this.mountedCount += 1
198
- if (this.mountedCount === this.realJsonData.length) {
199
- // 所有 x-from-item 挂载完成,触发父组件中的 xTable.init
200
- this.$emit('itemsMounted')
201
- }
202
- },
203
- // 时间组件赋默认值
204
- getDateRange ({ type, queryFormDefault: defaultValue, queryType, queryValueFormat: defaultFormat, name }) {
205
- const formatMap = {
206
- yearPicker: 'YYYY',
207
- yearRangePicker: 'YYYY',
208
- monthPicker: 'YYYY-MM',
209
- monthRangePicker: 'YYYY-MM',
210
- datePicker: 'YYYY-MM-DD',
211
- rangePicker: 'YYYY-MM-DD HH:mm:ss',
212
- }
213
- let format = formatMap[type]
214
-
215
- if (defaultFormat) {
216
- format = defaultFormat
217
- }
218
-
219
- let start, end
220
-
221
- switch (defaultValue) {
222
- case 'curYear':
223
- start = moment().startOf('year').format(format)
224
- end = moment().endOf('year').format(format)
225
- break
226
- case 'curMonth':
227
- start = moment().startOf('month').format(format)
228
- end = moment().endOf('month').format(format)
229
- break
230
- case 'curDay':
231
- start = moment().startOf('day').format(format)
232
- end = moment().endOf('day').format(format)
233
- break
234
- case 'curTime':
235
- start = moment().format(format)
236
- end = moment().format(format)
237
- break
238
- default:
239
- return undefined
240
- }
241
- if (['monthPicker', 'yearPicker', 'datePicker'].includes(type)) {
242
- if (queryType === 'BETWEEN') {
243
- return [start, end]
244
- }
245
- if (name.indexOf('开始') > -1 || name.indexOf('起始') > -1) {
246
- return start
247
- } else {
248
- return end
249
- }
250
- } else if (['rangePicker', 'yearRangePicker', 'monthRangePicker'].includes(type)) {
251
- return [start, end]
252
- }
253
- return [start, end]
254
- },
255
- setFormProps (formData, item) {
256
- formData[item.model] = undefined
257
- if (item.queryFormDefault) {
258
- if (['datePicker', 'rangePicker', 'yearPicker', 'monthPicker', 'yearRangePicker', 'monthRangePicker'].includes(item.type)) {
259
- formData[item.model] = this.getDateRange(item)
260
- } else if (['treeSelect', 'select', 'checkbox'].includes(item.type) && ['curOrgId', 'curDepId', 'curUserId'].includes(item.queryFormDefault)) {
261
- if (item.queryFormDefault === 'curOrgId') {
262
- formData[item.model] = item.type === 'select' ? this.currUser.orgid : [this.currUser.orgid]
263
- }
264
- if (item.queryFormDefault === 'curDepId') {
265
- formData[item.model] = item.type === 'select' ? this.currUser.depids : [this.currUser.depids]
266
- }
267
- if (item.queryFormDefault === 'curUserId') {
268
- formData[item.model] = item.type === 'select' ? this.currUser.id : [this.currUser.id]
269
- }
270
- } else {
271
- formData[item.model] = item.queryFormDefault
272
- }
273
- if (item.forceQueryDefault) {
274
- this.defaultMap[item.model] = formData[item.model]
275
- }
276
- } else {
277
- if (['datePicker', 'rangePicker', 'yearPicker', 'monthPicker', 'yearRangePicker', 'monthRangePicker'].includes(item.type)) {
278
- if (item.queryType === 'BETWEEN') {
279
- formData[item.model] = []
280
- }
281
- }
282
- }
283
- if (item.rule) {
284
- this.rules[item.model] = []
285
- const required = item.rule.queryRequired ? item.rule.queryRequired === true || item.rule.queryRequired === 'true' : false
286
- let trigger
287
- let message
288
- if (required) {
289
- switch (item.type) {
290
- case 'select':
291
- case 'checkbox':
292
- case 'radio':
293
- case 'treeSelect':
294
- case 'rangePicker':
295
- case 'monthPicker':
296
- case 'yearPicker':
297
- case 'datePicker':
298
- case 'file':
299
- case 'image':
300
- case 'citySelect':
301
- case 'addressSearch':
302
- case 'personSetting':
303
- message = '请选择' + item.name
304
- trigger = 'change'
305
- break
306
- default:
307
- message = '请输入' + item.name
308
- trigger = 'blur'
309
- }
310
- this.rules[item.model].push({
311
- required: true,
312
- message: message,
313
- trigger: trigger
314
- })
315
- }
316
-
317
- switch (item.rule.queryType) {
318
- case 'customJs': {
319
- this.rules[item.model].push({
320
- validator: (rule, value, callback) => {
321
- this.customJsValidate(rule, value, callback, item)
322
- },
323
- trigger: 'blur'
324
- })
325
- break
326
- }
327
- }
328
- }
329
- },
330
- customJsValidate (rule, value, callback, item) {
331
- if (item.rule.customQueryValidatorFunc) {
332
- executeStrFunctionByContext(this, item.rule.customQueryValidatorFunc, [rule, value, callback, this.form, item, util, runLogic, getConfigByNameAsync])
333
- } else {
334
- callback()
335
- }
336
- },
337
- toggleAdvanced () {
338
- this.advanced = !this.advanced
339
- this.$emit('toggleAdvanced')
340
- },
341
- toggleVisible () {
342
- this.visible = !this.visible
343
- return this.visible
344
- },
345
- resetForm () {
346
- this.$refs.form.resetFields()
347
- },
348
- onSubmit () {
349
- this.$refs.form.validate(valid => {
350
- for (const key of Object.keys(this.form)) {
351
- if (this.form[key] === null || this.form[key] === '') {
352
- this.form[key] = undefined
353
- }
354
- if (Array.isArray(this.form[key]) && this.form[key].length === 0) {
355
- this.form[key] = undefined
356
- }
357
- // 如果 form 中没有值,但是有默认值
358
- if (this.form[key] === undefined && this.defaultMap[key] !== undefined) {
359
- this.form = Object.assign({}, this.form, this.defaultMap)
360
- }
361
- }
362
- const requestParameters = Object.assign({}, this.form)
363
- const data = {
364
- valid: valid,
365
- form: requestParameters
366
- }
367
- this.$emit('onSubmit', data)
368
- })
369
- },
370
- exports () {
371
- this.$emit('exports', this.form)
372
- },
373
- setForm (obj) {
374
- this.form = Object.assign(this.form, obj)
375
- },
376
- }
377
- }
378
- </script>
379
- <style lang="less" scoped>
380
- :deep(.ant-form-inline .ant-form-item) {
381
- margin-right: 0px;
382
- margin-top: 0px;
383
- margin-bottom: 12px;
384
-
385
- .ant-form-item-control-wrapper {
386
- min-width: 0;
387
- }
388
- }
389
-
390
- :deep(.table-page-search-wrapper .table-page-search-submitButtons) {
391
- margin-top: 0px;
392
- }
393
- </style>
1
+ <template>
2
+ <div :style="{marginBottom: !visible ? '12px':''}">
3
+ <div v-if="visible && realJsonData.length > 0" class="table-page-search-wrapper">
4
+ <a-form-model
5
+ v-if="loaded"
6
+ ref="form"
7
+ :model="form"
8
+ :rules="rules"
9
+ layout="inline">
10
+ <a-row :gutter="24" type="flex">
11
+ <x-form-item
12
+ v-for="(item, index) in realJsonData.slice(0,7)"
13
+ :showLabel="!simpleMode"
14
+ :key="`${queryParamsName}-item-${index}`"
15
+ :attr="item"
16
+ :form="form"
17
+ :service-name="serviceName"
18
+ :get-data-params="getDataParams"
19
+ :env="env"
20
+ :setForm="setForm"
21
+ @mounted="onItemMounted"
22
+ />
23
+ <template v-for="(groupItem, groupIndex) in groupJsonData">
24
+ <x-form-item
25
+ v-for="(item, index) in groupItem.groupItems"
26
+ :showLabel="!simpleMode"
27
+ :key="`group-${groupIndex}-item-${index}`"
28
+ :attr="item"
29
+ :form="form"
30
+ :service-name="serviceName"
31
+ :get-data-params="getDataParams"
32
+ :env="env"
33
+ :setForm="setForm"
34
+ />
35
+ </template>
36
+ <x-form-item
37
+ v-show="advanced"
38
+ v-for="(item, index) in realJsonData.slice(7)"
39
+ :showLabel="!simpleMode"
40
+ :key="`advanced-${queryParamsName}-item-${index}`"
41
+ :attr="item"
42
+ :form="form"
43
+ :service-name="serviceName"
44
+ :get-data-params="getDataParams"
45
+ :env="env"
46
+ :setForm="setForm"
47
+ @mounted="onItemMounted"
48
+ />
49
+ <a-col style="margin-left: auto">
50
+ <span
51
+ :style="advanced && { float: 'right', overflow: 'hidden' } || {} "
52
+ class="table-page-search-submitButtons">
53
+ <template v-if="realJsonData.length >7">
54
+ <a @click="toggleAdvanced">
55
+ <span v-if="!advanced" style="display: inline-flex; align-items: center;">
56
+ <a-icon type="eye" :style="iconStyle"/>&nbsp;更多条件
57
+ </span>
58
+ <span v-else style="display: inline-flex; align-items: center;">
59
+ <a-icon type="eye-invisible" :style="iconStyle"/>&nbsp;收起更多
60
+ </span>
61
+ </a>
62
+ <a-divider type="vertical"/>
63
+ </template>
64
+ <a-button
65
+ v-if="!simpleMode"
66
+ htmlType="submit"
67
+ type="primary"
68
+ @click="onSubmit">
69
+ <a-icon :style="iconStyle" type="search"/>查询
70
+ </a-button>
71
+ <a-button v-if="!simpleMode" style="margin-left: 8px" @click="resetForm">重置</a-button>
72
+ <slot></slot>
73
+ </span>
74
+ </a-col>
75
+ </a-row>
76
+ </a-form-model>
77
+ <div class="next-divider-dashed" role="separator"></div>
78
+ </div>
79
+ </div>
80
+ </template>
81
+ <script>
82
+ import XFormItem from '@vue2-client/base-client/components/common/XForm/XFormItem'
83
+ import { mapState } from 'vuex'
84
+ import moment from 'moment'
85
+ import { executeStrFunctionByContext } from '@vue2-client/utils/runEvalFunction'
86
+ import { getConfigByNameAsync, runLogic } from '@vue2-client/services/api/common'
87
+ import * as util from '@vue2-client/utils/util'
88
+ import formValidationMixin from '@vue2-client/mixins/formValidationMixin'
89
+
90
+ export default {
91
+ name: 'XForm',
92
+ components: {
93
+ XFormItem
94
+ },
95
+ mixins: [formValidationMixin],
96
+ data () {
97
+ return {
98
+ // 内容加载是否完成
99
+ loaded: false,
100
+ // 服务名称
101
+ serviceName: undefined,
102
+ // 是否展开条件
103
+ advanced: false,
104
+ // 表单Model
105
+ form: undefined,
106
+ // 校验
107
+ rules: {},
108
+ // 图标样式
109
+ iconStyle: {
110
+ position: 'relative',
111
+ top: '1px'
112
+ },
113
+ // 表单项集合
114
+ formItems: [],
115
+ // 是否显示
116
+ visible: true,
117
+ // 调用logic获取数据源的追加参数
118
+ getDataParams: {},
119
+ // 当前环境
120
+ env: 'prod',
121
+ // 暂存 form 的默认值
122
+ defaultMap: {},
123
+ // 已经渲染得 x-from-item 为了让所有节点init执行完在调用 table 查询
124
+ mountedCount: 0,
125
+ // 是否简易模式
126
+ simpleMode: false,
127
+ queryParamsName: ''
128
+ }
129
+ },
130
+ computed: {
131
+ ...mapState('account', { currUser: 'user' }),
132
+ // 过滤掉仅用于新增/修改场景的表单项
133
+ realJsonData: function () {
134
+ return this.formItems.filter(item => (!item.isOnlyAddOrEdit && item.type !== 'group') || (item.type === 'group' && item.groupItems.some(groupItem => !groupItem.isOnlyAddOrEdit)))
135
+ },
136
+ // 过滤出用于新增/修改场景的表单项
137
+ groupJsonData: function () {
138
+ return this.formItems.filter((item) => {
139
+ return item.type === 'group'
140
+ }).map((item) => {
141
+ item.groupItems = item.groupItems.filter(item => !item.isOnlyAddOrEdit).map((groupItem) => {
142
+ // 只保留第一个下划线后面的内容
143
+ // groupItem.model = groupItem.model.substring(groupItem.model.indexOf('_') + 1)
144
+ return groupItem
145
+ })
146
+ return item
147
+ }
148
+ )
149
+ },
150
+ },
151
+ provide () {
152
+ return {
153
+ XFormContext: this,
154
+ // 移除必填项
155
+ removeRequired: this.removeRequired,
156
+ // 设置必填项
157
+ setRequired: this.setRequired,
158
+ }
159
+ },
160
+ methods: {
161
+ init (params) {
162
+ const {
163
+ formItems, serviceName, getDataParams = {}, env = 'prod', simpleMode = false, funcData = {},
164
+ queryParamsName = 'localConfig'
165
+ } = params
166
+ this.mountedCount = 0
167
+ this.queryParamsName = queryParamsName
168
+ this.loaded = false
169
+ this.formItems = JSON.parse(JSON.stringify(formItems))
170
+ this.serviceName = serviceName
171
+ this.env = env
172
+ this.simpleMode = simpleMode
173
+ const formData = {}
174
+ for (let i = 0; i < this.realJsonData.length; i++) {
175
+ const item = this.realJsonData[i]
176
+ this.setFormProps(formData, item)
177
+ }
178
+ if (this.realJsonData.length === 0) {
179
+ this.$nextTick(() => {
180
+ this.$emit('itemsMounted')
181
+ })
182
+ }
183
+ // 处理分组数据表单
184
+ for (let i = 0; i < this.groupJsonData.length; i++) {
185
+ const groupItem = this.groupJsonData[i]
186
+ for (let j = 0; j < groupItem.groupItems.length; j++) {
187
+ const item = groupItem.groupItems[j]
188
+ this.setFormProps(formData, item)
189
+ }
190
+ }
191
+ this.form = formData
192
+ try {
193
+ if (funcData.queryFormInit) {
194
+ if (!funcData.queryFormInit.startsWith('async')) {
195
+ funcData.queryFormInit = `async ${funcData.queryFormInit}`
196
+ }
197
+ executeStrFunctionByContext(this, funcData.queryFormInit, [util, runLogic, getConfigByNameAsync]).then(res => {
198
+ this.form = Object.assign({}, this.form, res)
199
+ })
200
+ }
201
+ } catch (e) {
202
+ console.error('queryFormInit error', e)
203
+ }
204
+ this.getDataParams = getDataParams
205
+ this.loaded = true
206
+ },
207
+ onItemMounted (_h) {
208
+ this.mountedCount += 1
209
+ if (this.mountedCount === this.realJsonData.length) {
210
+ // 所有 x-from-item 挂载完成,触发父组件中的 xTable.init
211
+ this.$emit('itemsMounted')
212
+ }
213
+ },
214
+ // 时间组件赋默认值
215
+ getDateRange ({ type, queryFormDefault: defaultValue, queryType, queryValueFormat: defaultFormat, name }) {
216
+ const formatMap = {
217
+ yearPicker: 'YYYY',
218
+ yearRangePicker: 'YYYY',
219
+ monthPicker: 'YYYY-MM',
220
+ monthRangePicker: 'YYYY-MM',
221
+ datePicker: 'YYYY-MM-DD',
222
+ rangePicker: 'YYYY-MM-DD HH:mm:ss',
223
+ }
224
+ let format = formatMap[type]
225
+
226
+ if (defaultFormat) {
227
+ format = defaultFormat
228
+ }
229
+
230
+ let start, end
231
+
232
+ switch (defaultValue) {
233
+ case 'curYear':
234
+ start = moment().startOf('year').format(format)
235
+ end = moment().endOf('year').format(format)
236
+ break
237
+ case 'curMonth':
238
+ start = moment().startOf('month').format(format)
239
+ end = moment().endOf('month').format(format)
240
+ break
241
+ case 'curDay':
242
+ start = moment().startOf('day').format(format)
243
+ end = moment().endOf('day').format(format)
244
+ break
245
+ case 'curTime':
246
+ start = moment().format(format)
247
+ end = moment().format(format)
248
+ break
249
+ default:
250
+ return undefined
251
+ }
252
+ if (['monthPicker', 'yearPicker', 'datePicker'].includes(type)) {
253
+ if (queryType === 'BETWEEN') {
254
+ return [start, end]
255
+ }
256
+ if (name.indexOf('开始') > -1 || name.indexOf('起始') > -1) {
257
+ return start
258
+ } else {
259
+ return end
260
+ }
261
+ } else if (['rangePicker', 'yearRangePicker', 'monthRangePicker'].includes(type)) {
262
+ return [start, end]
263
+ }
264
+ return [start, end]
265
+ },
266
+ setFormProps (formData, item) {
267
+ formData[item.model] = undefined
268
+ if (item.queryFormDefault) {
269
+ if (['datePicker', 'rangePicker', 'yearPicker', 'monthPicker', 'yearRangePicker', 'monthRangePicker'].includes(item.type)) {
270
+ formData[item.model] = this.getDateRange(item)
271
+ } else if (['treeSelect', 'select', 'checkbox'].includes(item.type) && ['curOrgId', 'curDepId', 'curUserId'].includes(item.queryFormDefault)) {
272
+ if (item.queryFormDefault === 'curOrgId') {
273
+ formData[item.model] = item.type === 'select' ? this.currUser.orgid : [this.currUser.orgid]
274
+ }
275
+ if (item.queryFormDefault === 'curDepId') {
276
+ formData[item.model] = item.type === 'select' ? this.currUser.depids : [this.currUser.depids]
277
+ }
278
+ if (item.queryFormDefault === 'curUserId') {
279
+ formData[item.model] = item.type === 'select' ? this.currUser.id : [this.currUser.id]
280
+ }
281
+ } else {
282
+ formData[item.model] = item.queryFormDefault
283
+ }
284
+ if (item.forceQueryDefault) {
285
+ this.defaultMap[item.model] = formData[item.model]
286
+ }
287
+ } else {
288
+ if (['datePicker', 'rangePicker', 'yearPicker', 'monthPicker', 'yearRangePicker', 'monthRangePicker'].includes(item.type)) {
289
+ if (item.queryType === 'BETWEEN') {
290
+ formData[item.model] = []
291
+ }
292
+ }
293
+ }
294
+ if (item.rule) {
295
+ this.rules[item.model] = []
296
+ const required = item.rule.queryRequired ? item.rule.queryRequired === true || item.rule.queryRequired === 'true' : false
297
+ let trigger
298
+ let message
299
+ if (required) {
300
+ switch (item.type) {
301
+ case 'select':
302
+ case 'checkbox':
303
+ case 'radio':
304
+ case 'treeSelect':
305
+ case 'rangePicker':
306
+ case 'monthPicker':
307
+ case 'yearPicker':
308
+ case 'datePicker':
309
+ case 'file':
310
+ case 'image':
311
+ case 'citySelect':
312
+ case 'addressSearch':
313
+ case 'personSetting':
314
+ message = '请选择' + item.name
315
+ trigger = 'change'
316
+ break
317
+ default:
318
+ message = '请输入' + item.name
319
+ trigger = 'blur'
320
+ }
321
+ this.rules[item.model].push({
322
+ required: true,
323
+ message: message,
324
+ trigger: trigger
325
+ })
326
+ }
327
+
328
+ switch (item.rule.queryType) {
329
+ case 'customJs': {
330
+ this.rules[item.model].push({
331
+ validator: (rule, value, callback) => {
332
+ this.customJsValidate(rule, value, callback, item)
333
+ },
334
+ trigger: 'blur'
335
+ })
336
+ break
337
+ }
338
+ }
339
+ }
340
+ },
341
+ customJsValidate (rule, value, callback, item) {
342
+ if (item.rule.customQueryValidatorFunc) {
343
+ executeStrFunctionByContext(this, item.rule.customQueryValidatorFunc, [rule, value, callback, this.form, item, util, runLogic, getConfigByNameAsync])
344
+ } else {
345
+ callback()
346
+ }
347
+ },
348
+ toggleAdvanced () {
349
+ this.advanced = !this.advanced
350
+ this.$emit('toggleAdvanced')
351
+ },
352
+ toggleVisible () {
353
+ this.visible = !this.visible
354
+ return this.visible
355
+ },
356
+ resetForm () {
357
+ this.$refs.form.resetFields()
358
+ },
359
+ onSubmit () {
360
+ this.$refs.form.validate(valid => {
361
+ for (const key of Object.keys(this.form)) {
362
+ if (this.form[key] === null || this.form[key] === '') {
363
+ this.form[key] = undefined
364
+ }
365
+ if (Array.isArray(this.form[key]) && this.form[key].length === 0) {
366
+ this.form[key] = undefined
367
+ }
368
+ // 如果 form 中没有值,但是有默认值
369
+ if (this.form[key] === undefined && this.defaultMap[key] !== undefined) {
370
+ this.form = Object.assign({}, this.form, this.defaultMap)
371
+ }
372
+ }
373
+ const requestParameters = Object.assign({}, this.form)
374
+ const data = {
375
+ valid: valid,
376
+ form: requestParameters
377
+ }
378
+ this.$emit('onSubmit', data)
379
+ })
380
+ },
381
+ exports () {
382
+ this.$emit('exports', this.form)
383
+ },
384
+ setForm (obj) {
385
+ this.form = Object.assign(this.form, obj)
386
+ },
387
+ }
388
+ }
389
+ </script>
390
+ <style lang="less" scoped>
391
+ :deep(.ant-form-inline .ant-form-item) {
392
+ margin-right: 0px;
393
+ margin-top: 0px;
394
+ margin-bottom: 12px;
395
+
396
+ .ant-form-item-control-wrapper {
397
+ min-width: 0;
398
+ }
399
+ }
400
+
401
+ :deep(.table-page-search-wrapper .table-page-search-submitButtons) {
402
+ margin-top: 0px;
403
+ }
404
+ </style>