vue2-client 1.10.21 → 1.10.26

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 (426) 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.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/babel.config.js +21 -21
  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/docs//345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +174 -174
  17. package/index.js +31 -31
  18. package/jest-transform-stub.js +8 -8
  19. package/jest.config.js +21 -21
  20. package/jest.setup.js +7 -7
  21. package/jsconfig.json +19 -19
  22. package/package.json +107 -107
  23. package/public/his/editor/editor.html +51 -51
  24. package/public/his/editor/mock/bind_data.html +779 -779
  25. package/public/his/editor/mock/data_table.html +40 -40
  26. package/public/his/editor/mock/sign.html +75 -75
  27. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  28. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  29. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  30. package/public/his/editor/vender/date97/calendar.js +4 -4
  31. package/public/his/editor/vender/date97/lang/en.js +13 -13
  32. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  33. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  34. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  35. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  36. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  37. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  38. package/public/his/editor/vender/diff.js +1627 -1627
  39. package/public/his/editor/vender/editor.js +1 -1
  40. package/public/his/editor/vender/fabric.js +31187 -31187
  41. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  42. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  43. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  44. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  45. package/public/his/editor/vender/mui/mui.min.css +4 -4
  46. package/public/his/editor/vender/mui/mui.min.js +5 -5
  47. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  48. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  49. package/public/his/editor/vender/qrcode.js +7 -7
  50. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  51. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  52. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  53. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  54. package/public/his/editor/vender/validator.js +5094 -5094
  55. package/public/his/editor/vender/weui/weui.css +5659 -5659
  56. package/public/his/editor/vender/weui/weui.min.css +4 -4
  57. package/public/his/editor/vender/weui/weui.min.js +11 -11
  58. package/public/index.html +27 -27
  59. package/src/App.vue +196 -196
  60. package/src/ReportView.js +19 -19
  61. package/src/assets/img/querySlotDemo.svg +15 -15
  62. package/src/assets/svg/badtwo.svg +1 -1
  63. package/src/assets/svg/goodtwo.svg +1 -1
  64. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  65. package/src/base-client/components/AI/demo.vue +31 -31
  66. package/src/base-client/components/common/AMisRender/index.js +3 -3
  67. package/src/base-client/components/common/AMisRender/index.vue +263 -263
  68. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +470 -470
  69. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  70. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  71. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  72. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  73. package/src/base-client/components/common/CitySelect/CitySelect.vue +342 -342
  74. package/src/base-client/components/common/CitySelect/index.js +3 -3
  75. package/src/base-client/components/common/CitySelect/index.md +109 -109
  76. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  77. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  78. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  79. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  80. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  81. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  82. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  83. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  84. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +149 -149
  85. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  86. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  87. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  88. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  89. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  90. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  91. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  92. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  93. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  94. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  95. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  96. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  97. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  98. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  99. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  100. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  101. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  102. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  103. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  104. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  105. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  106. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  107. package/src/base-client/components/common/Recording/index.js +3 -3
  108. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  109. package/src/base-client/components/common/Tree/index.js +2 -2
  110. package/src/base-client/components/common/Upload/Upload.vue +322 -322
  111. package/src/base-client/components/common/Upload/index.js +3 -3
  112. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  113. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +1146 -1146
  114. package/src/base-client/components/common/XAddNativeForm/demo.vue +43 -43
  115. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  116. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +303 -303
  117. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  118. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  119. package/src/base-client/components/common/XAddReport/XAddReport.vue +207 -207
  120. package/src/base-client/components/common/XAddReport/index.js +3 -3
  121. package/src/base-client/components/common/XAddReport/index.md +56 -56
  122. package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
  123. package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
  124. package/src/base-client/components/common/XButtons/XButtons.vue +71 -71
  125. package/src/base-client/components/common/XButtons/index.js +3 -3
  126. package/src/base-client/components/common/XButtons/index.md +61 -61
  127. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  128. package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
  129. package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
  130. package/src/base-client/components/common/XConversation/XConversation.vue +263 -263
  131. package/src/base-client/components/common/XConversation/XConversationDemo.vue +28 -28
  132. package/src/base-client/components/common/XDataCard/XDataCard.vue +565 -411
  133. package/src/base-client/components/common/XDataCard/index.js +3 -3
  134. package/src/base-client/components/common/XDataCard/index.md +1 -1
  135. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  136. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  137. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  138. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  139. package/src/base-client/components/common/XDatePicker/index.vue +259 -259
  140. package/src/base-client/components/common/XDescriptions/XDescriptions.vue +169 -169
  141. package/src/base-client/components/common/XDescriptions/XDescriptionsGroup.vue +304 -304
  142. package/src/base-client/components/common/XDescriptions/demo.vue +50 -50
  143. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  144. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  145. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  146. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  147. package/src/base-client/components/common/XForm/XForm.vue +393 -393
  148. package/src/base-client/components/common/XForm/XFormItem.vue +1286 -1286
  149. package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
  150. package/src/base-client/components/common/XForm/XTreeSelect.vue +250 -250
  151. package/src/base-client/components/common/XForm/index.md +178 -178
  152. package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
  153. package/src/base-client/components/common/XFormCol/XFormCol.vue +157 -157
  154. package/src/base-client/components/common/XFormGroup/XFormGroup.vue +304 -304
  155. package/src/base-client/components/common/XFormGroup/demo.vue +46 -46
  156. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  157. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  158. package/src/base-client/components/common/XFormGroupDetails/XFormGroupDetails.vue +72 -72
  159. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  160. package/src/base-client/components/common/XFormTable/XFormTable.vue +856 -856
  161. package/src/base-client/components/common/XFormTable/demo.vue +60 -60
  162. package/src/base-client/components/common/XFormTable/index.md +92 -92
  163. package/src/base-client/components/common/XImportExcel/XImportExcel.vue +167 -167
  164. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  165. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  166. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  167. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  168. package/src/base-client/components/common/XPrint/Demo.vue +41 -41
  169. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  170. package/src/base-client/components/common/XPrint/PrintBill.vue +302 -302
  171. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  172. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  173. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  174. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  175. package/src/base-client/components/common/XPrint/index.vue +97 -97
  176. package/src/base-client/components/common/XReport/XReport.vue +892 -892
  177. package/src/base-client/components/common/XReport/XReportDemo.vue +71 -304
  178. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  179. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  180. package/src/base-client/components/common/XReport/XReportTrGroup.vue +816 -808
  181. package/src/base-client/components/common/XReport/index.js +3 -3
  182. package/src/base-client/components/common/XReport/index.md +44 -44
  183. package/src/base-client/components/common/XReportDrawer/XReportDrawer.vue +201 -201
  184. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  185. package/src/base-client/components/common/XReportGrid/XReport.vue +1070 -1070
  186. package/src/base-client/components/common/XReportGrid/XReportDemo.vue +47 -47
  187. package/src/base-client/components/common/XReportGrid/XReportDesign.vue +628 -628
  188. package/src/base-client/components/common/XReportGrid/XReportJsonRender.vue +380 -380
  189. package/src/base-client/components/common/XReportGrid/XReportTrGroup.vue +1104 -1104
  190. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  191. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  192. package/src/base-client/components/common/XReportGrid/print.js +184 -184
  193. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  194. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  195. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  196. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  197. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  198. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  199. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  200. package/src/base-client/components/common/XStepView/index.js +3 -3
  201. package/src/base-client/components/common/XStepView/index.md +31 -31
  202. package/src/base-client/components/common/XTab/XTab.vue +201 -201
  203. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  204. package/src/base-client/components/common/XTab/index.js +3 -3
  205. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  206. package/src/base-client/components/common/XTable/ExportExcel.vue +276 -284
  207. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  208. package/src/base-client/components/common/XTable/XTable.vue +1431 -1431
  209. package/src/base-client/components/common/XTable/index.md +255 -255
  210. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  211. package/src/base-client/components/common/XTree/XTree.vue +424 -423
  212. package/src/base-client/components/common/XTree/XTreePro.vue +452 -451
  213. package/src/base-client/components/common/XTree/index.js +3 -3
  214. package/src/base-client/components/common/XTree/index.md +36 -36
  215. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  216. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  217. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  218. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  219. package/src/base-client/components/his/XHisEditor/XHisEditor.vue +359 -359
  220. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  221. package/src/base-client/components/index.js +51 -51
  222. package/src/base-client/components/layout/XPageView/RenderRow.vue +63 -63
  223. package/src/base-client/components/layout/XPageView/XErrorView.vue +11 -11
  224. package/src/base-client/components/layout/XPageView/XPageView.vue +155 -155
  225. package/src/base-client/components/layout/XPageView/index.js +3 -3
  226. package/src/base-client/components/layout/XPageView/index.md +38 -38
  227. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  228. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  229. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  230. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  231. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  232. package/src/base-client/plugins/AppData.js +121 -121
  233. package/src/base-client/plugins/Config.js +19 -19
  234. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  235. package/src/base-client/plugins/Recording.js +258 -258
  236. package/src/base-client/plugins/index.js +23 -23
  237. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  238. package/src/bootstrap.js +42 -42
  239. package/src/components/Charts/Bar.vue +62 -62
  240. package/src/components/Charts/ChartCard.vue +134 -134
  241. package/src/components/Charts/Liquid.vue +67 -67
  242. package/src/components/Charts/MiniArea.vue +39 -39
  243. package/src/components/Charts/MiniBar.vue +39 -39
  244. package/src/components/Charts/MiniProgress.vue +75 -75
  245. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  246. package/src/components/Charts/Radar.vue +68 -68
  247. package/src/components/Charts/RankList.vue +77 -77
  248. package/src/components/Charts/TagCloud.vue +113 -113
  249. package/src/components/Charts/TransferBar.vue +64 -64
  250. package/src/components/Charts/Trend.vue +82 -82
  251. package/src/components/Charts/chart.less +12 -12
  252. package/src/components/Charts/smooth.area.less +13 -13
  253. package/src/components/CodeMirror/inedx.vue +118 -118
  254. package/src/components/CodeMirror/setting.js +40 -40
  255. package/src/components/FilePreview/FilePreview.vue +166 -166
  256. package/src/components/HeightScanner/index.vue +571 -571
  257. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  258. package/src/components/NumberInfo/index.js +3 -3
  259. package/src/components/NumberInfo/index.less +54 -54
  260. package/src/components/NumberInfo/index.md +43 -43
  261. package/src/components/STable/index.js +390 -390
  262. package/src/components/card/ChartCard.vue +79 -79
  263. package/src/components/chart/Bar.vue +60 -60
  264. package/src/components/chart/MiniArea.vue +67 -67
  265. package/src/components/chart/MiniBar.vue +59 -59
  266. package/src/components/chart/MiniProgress.vue +57 -57
  267. package/src/components/chart/Radar.vue +80 -80
  268. package/src/components/chart/RankingList.vue +60 -60
  269. package/src/components/chart/Trend.vue +79 -79
  270. package/src/components/chart/index.less +9 -9
  271. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  272. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  273. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  274. package/src/components/checkbox/index.js +9 -9
  275. package/src/components/exception/ExceptionPage.vue +70 -70
  276. package/src/components/g2Charts/constants.js +202 -202
  277. package/src/components/g2Charts/demo.vue +808 -808
  278. package/src/components/g2Charts/designer.vue +228 -228
  279. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  280. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  281. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  282. package/src/components/g2Charts/index.vue +397 -397
  283. package/src/components/index.js +36 -36
  284. package/src/components/input/IInput.vue +66 -66
  285. package/src/components/menu/SideMenu.vue +75 -75
  286. package/src/components/menu/menu.js +273 -273
  287. package/src/components/setting/Setting.vue +234 -234
  288. package/src/components/tool/AStepItem.vue +60 -60
  289. package/src/config/CreateQueryConfig.js +325 -325
  290. package/src/config/default/antd.config.js +89 -89
  291. package/src/config/default/setting.config.js +55 -55
  292. package/src/font-style/font.css +4 -4
  293. package/src/layouts/CommonLayout.vue +56 -56
  294. package/src/layouts/GridView.vue +45 -45
  295. package/src/layouts/PageLayout.vue +151 -151
  296. package/src/layouts/SinglePageView.vue +136 -136
  297. package/src/layouts/header/AdminHeader.vue +132 -132
  298. package/src/layouts/header/HeaderNotice.vue +177 -177
  299. package/src/layouts/header/InstitutionDetail.vue +181 -181
  300. package/src/layouts/tabs/TabsHead.vue +189 -189
  301. package/src/layouts/tabs/TabsView.vue +389 -389
  302. package/src/lib.js +1 -1
  303. package/src/main.js +34 -34
  304. package/src/mock/extend/index.js +84 -84
  305. package/src/mock/goods/index.js +108 -108
  306. package/src/pages/AMisDemo/AMisDemo.vue +325 -325
  307. package/src/pages/AMisDemo/AMisDemo2.vue +74 -74
  308. package/src/pages/DefaultExample/index.vue +77 -77
  309. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  310. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  311. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  312. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  313. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  314. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  315. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  316. package/src/pages/DynamicStatistics/index.vue +282 -282
  317. package/src/pages/Example/childIndex.vue +15 -15
  318. package/src/pages/Example/index.vue +30 -30
  319. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  320. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  321. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  322. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  323. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  324. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  325. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  326. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  327. package/src/pages/Recording/index.vue +77 -77
  328. package/src/pages/ReportGrid/index.vue +76 -76
  329. package/src/pages/ServiceReview/index.vue +284 -284
  330. package/src/pages/SubExample/index.vue +26 -26
  331. package/src/pages/WorkflowDetail/WorkFlowDemo.vue +32 -32
  332. package/src/pages/WorkflowDetail/WorkflowDetail.vue +230 -230
  333. package/src/pages/WorkflowDetail/WorkflowPageDetail/LeaveMessage.vue +131 -131
  334. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  335. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformation.vue +302 -302
  336. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformationDetails.vue +276 -276
  337. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandle.vue +864 -864
  338. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandleReso.vue +997 -997
  339. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowTimeline.vue +222 -222
  340. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkOrderParentDetails.vue +233 -233
  341. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowDetailResso.vue +261 -261
  342. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowListResolution.vue +248 -248
  343. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowLog.vue +73 -73
  344. package/src/pages/XPageViewExample/index.vue +38 -38
  345. package/src/pages/XReportView/index.vue +64 -64
  346. package/src/pages/XTreeOneProExample/index.vue +67 -67
  347. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  348. package/src/pages/login/Login.vue +378 -378
  349. package/src/pages/login/LoginV3.vue +389 -389
  350. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  351. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  352. package/src/pages/report/ReportTable.js +124 -124
  353. package/src/pages/resourceManage/orgListManage.vue +98 -98
  354. package/src/pages/system/dictionary/index.vue +44 -44
  355. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  356. package/src/pages/system/monitor/operLog/index.vue +37 -37
  357. package/src/pages/system/settings/modifyPassword.vue +117 -117
  358. package/src/pages/system/ticket/index.vue +480 -480
  359. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  360. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  361. package/src/pages/userInfoDetailManage/FillCardRecordQuery/index.vue +76 -76
  362. package/src/pages/userInfoDetailManage/FillGasRecordQuery/index.vue +74 -74
  363. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  364. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  365. package/src/pages/userInfoDetailManage/MachineRecordQuery/index.vue +74 -74
  366. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  367. package/src/pages/userInfoDetailManage/OtherChargeRecordQuery/index.vue +74 -74
  368. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  369. package/src/pages/userInfoDetailManage/UserChargeRecordQuery/index.vue +92 -92
  370. package/src/pages/userInfoDetailManage/UserHandRecordQuery/index.vue +86 -86
  371. package/src/pages/userInfoDetailManage/UserRecordQuery/index.vue +73 -73
  372. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  373. package/src/pages/userInfoDetailManage/index.vue +82 -82
  374. package/src/pages/userInfoDetailManage/userInfoDetailQueryTabs.vue +132 -132
  375. package/src/plugins/EventLogPlugin.js +33 -33
  376. package/src/plugins/FindParentsData.js +17 -17
  377. package/src/plugins/HiPrintPlugin.js +124 -124
  378. package/src/router/async/config.async.js +35 -35
  379. package/src/router/async/router.map.js +188 -188
  380. package/src/router/guards.js +263 -263
  381. package/src/router/index.js +27 -27
  382. package/src/router.js +19 -19
  383. package/src/services/DataModel.js +30 -30
  384. package/src/services/LodopFuncs.js +137 -137
  385. package/src/services/api/TicketDetailsViewApi.js +46 -46
  386. package/src/services/api/cas.js +79 -79
  387. package/src/services/api/common.js +346 -346
  388. package/src/services/api/entity.js +18 -18
  389. package/src/services/api/index.js +17 -17
  390. package/src/services/api/restTools.js +145 -145
  391. package/src/services/api/workFlow.js +63 -63
  392. package/src/services/apiService.js +15 -15
  393. package/src/services/user.js +90 -90
  394. package/src/services/v3Api.js +116 -116
  395. package/src/store/modules/account.js +115 -115
  396. package/src/store/modules/index.js +5 -5
  397. package/src/store/modules/lowCode.js +33 -33
  398. package/src/store/modules/setting.js +119 -119
  399. package/src/theme/default/style.less +58 -58
  400. package/src/theme/global.less +159 -159
  401. package/src/utils/authority-utils.js +85 -85
  402. package/src/utils/errorCode.js +6 -6
  403. package/src/utils/formatter.js +74 -74
  404. package/src/utils/htmlToPDF.js +108 -108
  405. package/src/utils/htmlToPDFApi.js +5 -5
  406. package/src/utils/indexedDB.js +263 -263
  407. package/src/utils/login.js +188 -188
  408. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  409. package/src/utils/lowcode/lowcodeLog.js +29 -29
  410. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  411. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  412. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  413. package/src/utils/microAppUtils.js +40 -40
  414. package/src/utils/reg.js +95 -95
  415. package/src/utils/request.js +362 -362
  416. package/src/utils/routerUtil.js +450 -450
  417. package/src/utils/runEvalFunction.js +14 -14
  418. package/src/utils/util.js +329 -329
  419. package/src/utils/waterMark.js +31 -31
  420. package/test/Amis.spec.js +163 -163
  421. package/test/Tree.spec.js +167 -167
  422. package/test/myDialog.spec.js +46 -46
  423. package/test/util.test.js +52 -52
  424. package/test/v3Api.test.js +1983 -1983
  425. package/vue.config.js +213 -213
  426. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
@@ -1,393 +1,393 @@
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'+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-show="!advanced" style="display: inline-flex; align-items: center;">
56
- <a-icon type="eye" :style="iconStyle"/>&nbsp;更多条件
57
- </span>
58
- <span v-show="advanced" 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'+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-show="!advanced" style="display: inline-flex; align-items: center;">
56
+ <a-icon type="eye" :style="iconStyle"/>&nbsp;更多条件
57
+ </span>
58
+ <span v-show="advanced" 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>