vue2-client 1.13.10 → 1.13.11

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 (387) hide show
  1. package/.cursorrules +19 -19
  2. package/.env.gaslink +19 -19
  3. package/.env.his +19 -19
  4. package/.env.iot +19 -19
  5. package/.env.liuli +19 -19
  6. package/.env.revenue +19 -19
  7. package/.env.scada +19 -19
  8. package/.eslintrc.js +90 -90
  9. package/CHANGELOG.md +824 -824
  10. package/Components.md +60 -60
  11. package/docs/Logic/345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +45 -45
  12. package/docs/LowCode/lowcode.md +155 -155
  13. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  14. package/docs/index.md +30 -30
  15. package/index.js +31 -31
  16. package/jest-transform-stub.js +8 -8
  17. package/jest.setup.js +7 -7
  18. package/jsconfig.json +19 -19
  19. package/package.json +1 -1
  20. package/public/his/editor/editor.html +51 -51
  21. package/public/his/editor/mock/bind_data.html +779 -779
  22. package/public/his/editor/mock/data_table.html +40 -40
  23. package/public/his/editor/mock/sign.html +75 -75
  24. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  25. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  26. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  27. package/public/his/editor/vender/date97/calendar.js +4 -4
  28. package/public/his/editor/vender/date97/lang/en.js +13 -13
  29. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  30. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  31. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  32. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  33. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  34. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  35. package/public/his/editor/vender/diff.js +1627 -1627
  36. package/public/his/editor/vender/editor.js +1 -1
  37. package/public/his/editor/vender/fabric.js +31187 -31187
  38. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  39. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  40. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  41. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  42. package/public/his/editor/vender/mui/mui.min.css +4 -4
  43. package/public/his/editor/vender/mui/mui.min.js +5 -5
  44. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  45. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  46. package/public/his/editor/vender/qrcode.js +7 -7
  47. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  48. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  49. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  50. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  51. package/public/his/editor/vender/validator.js +5094 -5094
  52. package/public/his/editor/vender/weui/weui.css +5659 -5659
  53. package/public/his/editor/vender/weui/weui.min.css +4 -4
  54. package/public/his/editor/vender/weui/weui.min.js +11 -11
  55. package/public/index.html +27 -27
  56. package/src/ReportView.js +19 -19
  57. package/src/assets/img/querySlotDemo.svg +15 -15
  58. package/src/assets/svg/badtwo.svg +1 -1
  59. package/src/assets/svg/goodtwo.svg +1 -1
  60. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  61. package/src/base-client/components/AI/demo.vue +31 -31
  62. package/src/base-client/components/common/AMisRender/index.js +3 -3
  63. package/src/base-client/components/common/AMisRender/index.vue +263 -263
  64. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +470 -470
  65. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  66. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  67. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  68. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  69. package/src/base-client/components/common/CitySelect/index.js +3 -3
  70. package/src/base-client/components/common/CitySelect/index.md +109 -109
  71. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  72. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  73. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  74. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  75. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  76. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  77. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  78. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  79. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +149 -149
  80. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  81. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  82. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  83. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  84. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  85. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  86. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  87. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  88. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  89. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  90. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  91. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  92. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  93. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  94. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  95. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  96. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  97. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  98. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  99. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  100. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  101. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  102. package/src/base-client/components/common/Recording/index.js +3 -3
  103. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  104. package/src/base-client/components/common/Tree/index.js +2 -2
  105. package/src/base-client/components/common/Upload/index.js +3 -3
  106. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  107. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +1156 -1156
  108. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  109. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +303 -303
  110. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  111. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  112. package/src/base-client/components/common/XAddReport/index.js +3 -3
  113. package/src/base-client/components/common/XAddReport/index.md +56 -56
  114. package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
  115. package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
  116. package/src/base-client/components/common/XButtons/XButtons.vue +71 -71
  117. package/src/base-client/components/common/XButtons/index.js +3 -3
  118. package/src/base-client/components/common/XButtons/index.md +61 -61
  119. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  120. package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
  121. package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
  122. package/src/base-client/components/common/XCollapse/XCollapseDemo.vue +15 -0
  123. package/src/base-client/components/common/XDataCard/index.js +3 -3
  124. package/src/base-client/components/common/XDataCard/index.md +1 -1
  125. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  126. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  127. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  128. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  129. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  130. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  131. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  132. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  133. package/src/base-client/components/common/XForm/XForm.vue +404 -404
  134. package/src/base-client/components/common/XForm/XFormItem.vue +1310 -1310
  135. package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
  136. package/src/base-client/components/common/XForm/XTreeSelect.vue +270 -270
  137. package/src/base-client/components/common/XForm/index.md +178 -178
  138. package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
  139. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  140. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  141. package/src/base-client/components/common/XFormGroupDetails/XFormGroupDetails.vue +72 -72
  142. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  143. package/src/base-client/components/common/XFormTable/demo.vue +76 -76
  144. package/src/base-client/components/common/XFormTable/index.md +92 -92
  145. package/src/base-client/components/common/XImportExcel/XImportExcel.vue +167 -167
  146. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  147. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  148. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  149. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  150. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  151. package/src/base-client/components/common/XPrint/PrintBill.vue +302 -302
  152. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  153. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  154. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  155. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  156. package/src/base-client/components/common/XPrint/index.vue +97 -97
  157. package/src/base-client/components/common/XReport/XReport.vue +892 -892
  158. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  159. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  160. package/src/base-client/components/common/XReport/index.js +3 -3
  161. package/src/base-client/components/common/XReport/index.md +44 -44
  162. package/src/base-client/components/common/XReport/print.js +186 -186
  163. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  164. package/src/base-client/components/common/XReportGrid/XReportDemo.vue +44 -44
  165. package/src/base-client/components/common/XReportGrid/XReportTrGroup.vue +712 -712
  166. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  167. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  168. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  169. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  170. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  171. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  172. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  173. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  174. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  175. package/src/base-client/components/common/XStepView/index.js +3 -3
  176. package/src/base-client/components/common/XStepView/index.md +31 -31
  177. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  178. package/src/base-client/components/common/XTab/index.js +3 -3
  179. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  180. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  181. package/src/base-client/components/common/XTable/XTable.vue +1361 -1361
  182. package/src/base-client/components/common/XTable/XTableWrapper.vue +257 -257
  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/XHDescriptions/XHDescriptions.vue +38 -5
  193. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  194. package/src/base-client/components/his/XSelect/XSelect.vue +72 -72
  195. package/src/base-client/components/his/XTitle/XTitle.vue +39 -39
  196. package/src/base-client/components/index.js +51 -51
  197. package/src/base-client/components/layout/XPageView/XErrorView.vue +11 -11
  198. package/src/base-client/components/layout/XPageView/XPageView.vue +155 -155
  199. package/src/base-client/components/layout/XPageView/index.js +3 -3
  200. package/src/base-client/components/layout/XPageView/index.md +38 -38
  201. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  202. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  203. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  204. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  205. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  206. package/src/base-client/plugins/AppData.js +126 -126
  207. package/src/base-client/plugins/Config.js +19 -19
  208. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  209. package/src/base-client/plugins/Recording.js +258 -258
  210. package/src/base-client/plugins/index.js +23 -23
  211. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  212. package/src/components/Charts/Bar.vue +62 -62
  213. package/src/components/Charts/ChartCard.vue +134 -134
  214. package/src/components/Charts/Liquid.vue +67 -67
  215. package/src/components/Charts/MiniArea.vue +39 -39
  216. package/src/components/Charts/MiniBar.vue +39 -39
  217. package/src/components/Charts/MiniProgress.vue +75 -75
  218. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  219. package/src/components/Charts/Radar.vue +68 -68
  220. package/src/components/Charts/RankList.vue +77 -77
  221. package/src/components/Charts/TagCloud.vue +113 -113
  222. package/src/components/Charts/TransferBar.vue +64 -64
  223. package/src/components/Charts/Trend.vue +82 -82
  224. package/src/components/Charts/chart.less +12 -12
  225. package/src/components/Charts/smooth.area.less +13 -13
  226. package/src/components/CodeMirror/inedx.vue +118 -118
  227. package/src/components/CodeMirror/setting.js +40 -40
  228. package/src/components/FilePreview/FilePreviewDemo.vue +30 -30
  229. package/src/components/HeightScanner/index.vue +571 -571
  230. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  231. package/src/components/NumberInfo/index.js +3 -3
  232. package/src/components/NumberInfo/index.less +54 -54
  233. package/src/components/NumberInfo/index.md +43 -43
  234. package/src/components/STable/index.js +437 -437
  235. package/src/components/card/ChartCard.vue +79 -79
  236. package/src/components/chart/Bar.vue +60 -60
  237. package/src/components/chart/MiniArea.vue +67 -67
  238. package/src/components/chart/MiniBar.vue +59 -59
  239. package/src/components/chart/MiniProgress.vue +57 -57
  240. package/src/components/chart/Radar.vue +80 -80
  241. package/src/components/chart/RankingList.vue +60 -60
  242. package/src/components/chart/Trend.vue +79 -79
  243. package/src/components/chart/index.less +9 -9
  244. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  245. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  246. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  247. package/src/components/checkbox/index.js +9 -9
  248. package/src/components/exception/ExceptionPage.vue +70 -70
  249. package/src/components/g2Charts/constants.js +202 -202
  250. package/src/components/g2Charts/demo.vue +808 -808
  251. package/src/components/g2Charts/designer.vue +228 -228
  252. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  253. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  254. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  255. package/src/components/g2Charts/index.vue +397 -397
  256. package/src/components/index.js +36 -36
  257. package/src/components/input/IInput.vue +66 -66
  258. package/src/components/menu/SideMenu.vue +75 -75
  259. package/src/components/menu/menu.js +273 -273
  260. package/src/components/setting/Setting.vue +234 -234
  261. package/src/components/tool/AStepItem.vue +60 -60
  262. package/src/config/CreateQueryConfig.js +325 -325
  263. package/src/config/default/antd.config.js +89 -89
  264. package/src/config/default/setting.config.js +55 -55
  265. package/src/font-style/font.css +4 -4
  266. package/src/layouts/CommonLayout.vue +56 -56
  267. package/src/layouts/PageLayout.vue +151 -151
  268. package/src/layouts/SinglePageView.vue +136 -136
  269. package/src/layouts/header/AdminHeader.vue +132 -132
  270. package/src/layouts/header/HeaderNotice.vue +177 -177
  271. package/src/layouts/header/InstitutionDetail.vue +181 -181
  272. package/src/layouts/tabs/TabsHead.vue +189 -189
  273. package/src/layouts/tabs/TabsView.vue +389 -389
  274. package/src/lib.js +1 -1
  275. package/src/main.js +34 -34
  276. package/src/mixins/formValidationMixin.js +46 -46
  277. package/src/mock/extend/index.js +84 -84
  278. package/src/mock/goods/index.js +108 -108
  279. package/src/pages/AMisDemo/AMisDemo.vue +325 -325
  280. package/src/pages/AMisDemo/AMisDemo2.vue +74 -74
  281. package/src/pages/DefaultExample/index.vue +77 -77
  282. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  283. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  284. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  285. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  286. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  287. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  288. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  289. package/src/pages/DynamicStatistics/index.vue +282 -282
  290. package/src/pages/Example/childIndex.vue +15 -15
  291. package/src/pages/Example/index.vue +30 -30
  292. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  293. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  294. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  295. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  296. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  297. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  298. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  299. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  300. package/src/pages/Recording/index.vue +77 -77
  301. package/src/pages/ReportGrid/index.vue +76 -76
  302. package/src/pages/ServiceReview/index.vue +284 -284
  303. package/src/pages/SubExample/index.vue +26 -26
  304. package/src/pages/WorkflowDetail/WorkflowDetail.vue +235 -235
  305. package/src/pages/WorkflowDetail/WorkflowPageDetail/LeaveMessage.vue +131 -131
  306. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  307. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformation.vue +302 -302
  308. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformationDetails.vue +276 -276
  309. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandleReso.vue +997 -997
  310. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowTimeline.vue +222 -222
  311. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkOrderParentDetails.vue +233 -233
  312. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowDetailResso.vue +261 -261
  313. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowListResolution.vue +248 -248
  314. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowLog.vue +73 -73
  315. package/src/pages/XPageViewExample/index.vue +38 -38
  316. package/src/pages/XReportView/index.vue +64 -64
  317. package/src/pages/XTreeOneProExample/index.vue +67 -67
  318. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  319. package/src/pages/login/Login.vue +378 -378
  320. package/src/pages/login/LoginV3.vue +389 -389
  321. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  322. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  323. package/src/pages/report/ReportTable.js +124 -124
  324. package/src/pages/resourceManage/orgListManage.vue +98 -98
  325. package/src/pages/system/dictionary/index.vue +44 -44
  326. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  327. package/src/pages/system/monitor/operLog/index.vue +37 -37
  328. package/src/pages/system/settings/modifyPassword.vue +117 -117
  329. package/src/pages/system/ticket/index.vue +480 -480
  330. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  331. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  332. package/src/pages/userInfoDetailManage/FillCardRecordQuery/index.vue +76 -76
  333. package/src/pages/userInfoDetailManage/FillGasRecordQuery/index.vue +74 -74
  334. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  335. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  336. package/src/pages/userInfoDetailManage/MachineRecordQuery/index.vue +74 -74
  337. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  338. package/src/pages/userInfoDetailManage/OtherChargeRecordQuery/index.vue +74 -74
  339. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  340. package/src/pages/userInfoDetailManage/UserHandRecordQuery/index.vue +86 -86
  341. package/src/pages/userInfoDetailManage/UserRecordQuery/index.vue +73 -73
  342. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  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 +126 -119
  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
@@ -1,404 +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
- 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>
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>