vue2-client 1.11.3 → 1.11.5

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 (409) 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/ReportView.js +19 -19
  60. package/src/assets/img/querySlotDemo.svg +15 -15
  61. package/src/assets/svg/badtwo.svg +1 -1
  62. package/src/assets/svg/goodtwo.svg +1 -1
  63. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  64. package/src/base-client/components/AI/demo.vue +31 -31
  65. package/src/base-client/components/common/AMisRender/index.js +3 -3
  66. package/src/base-client/components/common/AMisRender/index.vue +263 -263
  67. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +470 -470
  68. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  69. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  70. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  71. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  72. package/src/base-client/components/common/CitySelect/CitySelect.vue +29 -5
  73. package/src/base-client/components/common/CitySelect/index.js +3 -3
  74. package/src/base-client/components/common/CitySelect/index.md +109 -109
  75. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  76. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  77. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  78. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  79. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  80. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  81. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  82. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  83. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +149 -149
  84. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  85. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  86. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  87. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  88. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  89. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  90. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  91. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  92. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  93. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  94. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  95. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  96. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  97. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  98. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  99. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  100. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  101. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  102. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  103. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  104. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  105. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  106. package/src/base-client/components/common/Recording/index.js +3 -3
  107. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  108. package/src/base-client/components/common/Tree/index.js +2 -2
  109. package/src/base-client/components/common/Upload/Upload.vue +322 -322
  110. package/src/base-client/components/common/Upload/index.js +3 -3
  111. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  112. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +1146 -1146
  113. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  114. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +303 -303
  115. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  116. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  117. package/src/base-client/components/common/XAddReport/index.js +3 -3
  118. package/src/base-client/components/common/XAddReport/index.md +56 -56
  119. package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
  120. package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
  121. package/src/base-client/components/common/XButtons/XButtons.vue +71 -71
  122. package/src/base-client/components/common/XButtons/index.js +3 -3
  123. package/src/base-client/components/common/XButtons/index.md +61 -61
  124. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  125. package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
  126. package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
  127. package/src/base-client/components/common/XConversation/XConversationDemo.vue +28 -28
  128. package/src/base-client/components/common/XDataCard/index.js +3 -3
  129. package/src/base-client/components/common/XDataCard/index.md +1 -1
  130. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  131. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  132. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  133. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  134. package/src/base-client/components/common/XDatePicker/index.vue +259 -259
  135. package/src/base-client/components/common/XDescriptions/XDescriptions.vue +169 -169
  136. package/src/base-client/components/common/XDescriptions/XDescriptionsGroup.vue +304 -304
  137. package/src/base-client/components/common/XDescriptions/demo.vue +50 -50
  138. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  139. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  140. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  141. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  142. package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
  143. package/src/base-client/components/common/XForm/XTreeSelect.vue +264 -264
  144. package/src/base-client/components/common/XForm/index.md +178 -178
  145. package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
  146. package/src/base-client/components/common/XFormGroup/demo.vue +46 -46
  147. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  148. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  149. package/src/base-client/components/common/XFormGroupDetails/XFormGroupDetails.vue +72 -72
  150. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  151. package/src/base-client/components/common/XFormTable/demo.vue +2 -2
  152. package/src/base-client/components/common/XFormTable/index.md +92 -92
  153. package/src/base-client/components/common/XImportExcel/XImportExcel.vue +167 -167
  154. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  155. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  156. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  157. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  158. package/src/base-client/components/common/XPrint/Demo.vue +41 -41
  159. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  160. package/src/base-client/components/common/XPrint/PrintBill.vue +302 -302
  161. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  162. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  163. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  164. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  165. package/src/base-client/components/common/XPrint/index.vue +97 -97
  166. package/src/base-client/components/common/XReport/XReport.vue +892 -892
  167. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  168. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  169. package/src/base-client/components/common/XReport/index.js +3 -3
  170. package/src/base-client/components/common/XReport/index.md +44 -44
  171. package/src/base-client/components/common/XReport/print.js +186 -186
  172. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  173. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  174. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  175. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  176. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  177. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  178. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  179. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  180. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  181. package/src/base-client/components/common/XStepView/index.js +3 -3
  182. package/src/base-client/components/common/XStepView/index.md +31 -31
  183. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  184. package/src/base-client/components/common/XTab/index.js +3 -3
  185. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  186. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  187. package/src/base-client/components/common/XTable/index.md +255 -255
  188. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  189. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  190. package/src/base-client/components/common/XTree/index.js +3 -3
  191. package/src/base-client/components/common/XTree/index.md +36 -36
  192. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  193. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  194. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  195. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  196. package/src/base-client/components/his/XHisEditor/XHisEditor.vue +359 -359
  197. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  198. package/src/base-client/components/index.js +51 -51
  199. package/src/base-client/components/layout/XPageView/XErrorView.vue +11 -11
  200. package/src/base-client/components/layout/XPageView/index.js +3 -3
  201. package/src/base-client/components/layout/XPageView/index.md +38 -38
  202. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  203. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  204. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  205. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  206. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  207. package/src/base-client/plugins/AppData.js +121 -121
  208. package/src/base-client/plugins/Config.js +19 -19
  209. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  210. package/src/base-client/plugins/Recording.js +258 -258
  211. package/src/base-client/plugins/index.js +23 -23
  212. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  213. package/src/bootstrap.js +42 -42
  214. package/src/components/Charts/Bar.vue +62 -62
  215. package/src/components/Charts/ChartCard.vue +134 -134
  216. package/src/components/Charts/Liquid.vue +67 -67
  217. package/src/components/Charts/MiniArea.vue +39 -39
  218. package/src/components/Charts/MiniBar.vue +39 -39
  219. package/src/components/Charts/MiniProgress.vue +75 -75
  220. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  221. package/src/components/Charts/Radar.vue +68 -68
  222. package/src/components/Charts/RankList.vue +77 -77
  223. package/src/components/Charts/TagCloud.vue +113 -113
  224. package/src/components/Charts/TransferBar.vue +64 -64
  225. package/src/components/Charts/Trend.vue +82 -82
  226. package/src/components/Charts/chart.less +12 -12
  227. package/src/components/Charts/smooth.area.less +13 -13
  228. package/src/components/CodeMirror/inedx.vue +118 -118
  229. package/src/components/CodeMirror/setting.js +40 -40
  230. package/src/components/FilePreview/FilePreview.vue +166 -166
  231. package/src/components/HeightScanner/index.vue +571 -571
  232. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  233. package/src/components/NumberInfo/index.js +3 -3
  234. package/src/components/NumberInfo/index.less +54 -54
  235. package/src/components/NumberInfo/index.md +43 -43
  236. package/src/components/STable/index.js +37 -1
  237. package/src/components/card/ChartCard.vue +79 -79
  238. package/src/components/chart/Bar.vue +60 -60
  239. package/src/components/chart/MiniArea.vue +67 -67
  240. package/src/components/chart/MiniBar.vue +59 -59
  241. package/src/components/chart/MiniProgress.vue +57 -57
  242. package/src/components/chart/Radar.vue +80 -80
  243. package/src/components/chart/RankingList.vue +60 -60
  244. package/src/components/chart/Trend.vue +79 -79
  245. package/src/components/chart/index.less +9 -9
  246. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  247. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  248. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  249. package/src/components/checkbox/index.js +9 -9
  250. package/src/components/exception/ExceptionPage.vue +70 -70
  251. package/src/components/g2Charts/constants.js +202 -202
  252. package/src/components/g2Charts/demo.vue +808 -808
  253. package/src/components/g2Charts/designer.vue +228 -228
  254. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  255. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  256. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  257. package/src/components/g2Charts/index.vue +397 -397
  258. package/src/components/index.js +36 -36
  259. package/src/components/input/IInput.vue +66 -66
  260. package/src/components/menu/SideMenu.vue +75 -75
  261. package/src/components/menu/menu.js +273 -273
  262. package/src/components/setting/Setting.vue +234 -234
  263. package/src/components/tool/AStepItem.vue +60 -60
  264. package/src/config/default/antd.config.js +89 -89
  265. package/src/config/default/setting.config.js +55 -55
  266. package/src/expression/ExpressionRunner.ts +28 -0
  267. package/src/expression/TestExpression.ts +72 -0
  268. package/src/expression/core/Delegate.ts +112 -0
  269. package/src/expression/core/Expression.ts +1292 -0
  270. package/src/expression/core/Program.ts +950 -0
  271. package/src/expression/core/Token.ts +29 -0
  272. package/src/expression/enums/ExpressionType.ts +81 -0
  273. package/src/expression/enums/TokenType.ts +13 -0
  274. package/src/expression/exception/BreakWayException.ts +2 -0
  275. package/src/expression/exception/ContinueWayException.ts +2 -0
  276. package/src/expression/exception/ExpressionException.ts +22 -0
  277. package/src/expression/exception/ReturnWayException.ts +14 -0
  278. package/src/expression/exception/ServiceException.ts +22 -0
  279. package/src/expression/instances/JSONArray.ts +48 -0
  280. package/src/expression/instances/JSONObject.ts +105 -0
  281. package/src/expression/instances/LogicConsole.ts +32 -0
  282. package/src/font-style/font.css +4 -4
  283. package/src/layouts/CommonLayout.vue +56 -56
  284. package/src/layouts/GridView.vue +45 -45
  285. package/src/layouts/PageLayout.vue +151 -151
  286. package/src/layouts/SinglePageView.vue +136 -136
  287. package/src/layouts/header/AdminHeader.vue +132 -132
  288. package/src/layouts/header/HeaderNotice.vue +177 -177
  289. package/src/layouts/header/InstitutionDetail.vue +181 -181
  290. package/src/layouts/tabs/TabsHead.vue +189 -189
  291. package/src/layouts/tabs/TabsView.vue +389 -389
  292. package/src/lib.js +1 -1
  293. package/src/main.js +34 -34
  294. package/src/mock/extend/index.js +84 -84
  295. package/src/mock/goods/index.js +108 -108
  296. package/src/pages/AMisDemo/AMisDemo.vue +325 -325
  297. package/src/pages/AMisDemo/AMisDemo2.vue +74 -74
  298. package/src/pages/DefaultExample/index.vue +77 -77
  299. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  300. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  301. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  302. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  303. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  304. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  305. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  306. package/src/pages/DynamicStatistics/index.vue +282 -282
  307. package/src/pages/Example/childIndex.vue +15 -15
  308. package/src/pages/Example/index.vue +30 -30
  309. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  310. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  311. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  312. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  313. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  314. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  315. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  316. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  317. package/src/pages/Recording/index.vue +77 -77
  318. package/src/pages/ServiceReview/index.vue +284 -284
  319. package/src/pages/SubExample/index.vue +26 -26
  320. package/src/pages/WorkflowDetail/WorkFlowDemo.vue +32 -32
  321. package/src/pages/WorkflowDetail/WorkflowPageDetail/LeaveMessage.vue +131 -131
  322. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  323. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformation.vue +302 -302
  324. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformationDetails.vue +276 -276
  325. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandleReso.vue +997 -997
  326. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowTimeline.vue +222 -222
  327. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkOrderParentDetails.vue +233 -233
  328. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowDetailResso.vue +261 -261
  329. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowListResolution.vue +248 -248
  330. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowLog.vue +73 -73
  331. package/src/pages/XPageViewExample/index.vue +38 -38
  332. package/src/pages/XReportView/index.vue +64 -64
  333. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  334. package/src/pages/login/Login.vue +378 -378
  335. package/src/pages/login/LoginV3.vue +389 -389
  336. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  337. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  338. package/src/pages/report/ReportTable.js +124 -124
  339. package/src/pages/resourceManage/orgListManage.vue +98 -98
  340. package/src/pages/system/dictionary/index.vue +44 -44
  341. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  342. package/src/pages/system/monitor/operLog/index.vue +37 -37
  343. package/src/pages/system/settings/modifyPassword.vue +117 -117
  344. package/src/pages/system/ticket/index.vue +480 -480
  345. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  346. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  347. package/src/pages/userInfoDetailManage/FillCardRecordQuery/index.vue +76 -76
  348. package/src/pages/userInfoDetailManage/FillGasRecordQuery/index.vue +74 -74
  349. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  350. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  351. package/src/pages/userInfoDetailManage/MachineRecordQuery/index.vue +74 -74
  352. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  353. package/src/pages/userInfoDetailManage/OtherChargeRecordQuery/index.vue +74 -74
  354. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  355. package/src/pages/userInfoDetailManage/UserChargeRecordQuery/index.vue +92 -92
  356. package/src/pages/userInfoDetailManage/UserHandRecordQuery/index.vue +86 -86
  357. package/src/pages/userInfoDetailManage/UserRecordQuery/index.vue +73 -73
  358. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  359. package/src/pages/userInfoDetailManage/index.vue +82 -82
  360. package/src/pages/userInfoDetailManage/userInfoDetailQueryTabs.vue +132 -132
  361. package/src/plugins/EventLogPlugin.js +33 -33
  362. package/src/plugins/FindParentsData.js +17 -17
  363. package/src/plugins/HiPrintPlugin.js +124 -124
  364. package/src/router/async/config.async.js +35 -35
  365. package/src/router/index.js +27 -27
  366. package/src/router.js +19 -19
  367. package/src/services/DataModel.js +30 -30
  368. package/src/services/LodopFuncs.js +137 -137
  369. package/src/services/api/TicketDetailsViewApi.js +46 -46
  370. package/src/services/api/cas.js +79 -79
  371. package/src/services/api/common.js +346 -346
  372. package/src/services/api/entity.js +18 -18
  373. package/src/services/api/index.js +17 -17
  374. package/src/services/api/restTools.js +145 -145
  375. package/src/services/api/workFlow.js +63 -63
  376. package/src/services/apiService.js +15 -15
  377. package/src/services/user.js +90 -90
  378. package/src/services/v3Api.js +116 -116
  379. package/src/store/modules/account.js +115 -115
  380. package/src/store/modules/index.js +5 -5
  381. package/src/store/modules/lowCode.js +33 -33
  382. package/src/store/modules/setting.js +119 -119
  383. package/src/theme/default/style.less +58 -58
  384. package/src/theme/global.less +159 -159
  385. package/src/utils/authority-utils.js +85 -85
  386. package/src/utils/errorCode.js +6 -6
  387. package/src/utils/formatter.js +74 -74
  388. package/src/utils/htmlToPDF.js +108 -108
  389. package/src/utils/htmlToPDFApi.js +5 -5
  390. package/src/utils/indexedDB.js +234 -234
  391. package/src/utils/login.js +188 -188
  392. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  393. package/src/utils/lowcode/lowcodeLog.js +29 -29
  394. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  395. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  396. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  397. package/src/utils/map-utils.js +47 -47
  398. package/src/utils/reg.js +95 -95
  399. package/src/utils/request.js +362 -362
  400. package/src/utils/runEvalFunction.js +14 -14
  401. package/src/utils/theme-color-replacer-extend.js +92 -92
  402. package/src/utils/util.js +329 -329
  403. package/src/utils/waterMark.js +31 -31
  404. package/test/Amis.spec.js +163 -163
  405. package/test/Tree.spec.js +167 -167
  406. package/test/myDialog.spec.js +46 -46
  407. package/test/util.test.js +52 -52
  408. package/test/v3Api.test.js +1983 -1983
  409. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
@@ -1,89 +1,89 @@
1
- // antd 配置
2
- const ANTD = {
3
- primary: {
4
- color: '#1890ff',
5
- warning: '#faad14',
6
- success: '#52c41a',
7
- error: '#f5222d',
8
- light: {
9
- menuColors: ['#000c17', '#001529', '#002140']
10
- },
11
- dark: {
12
- menuColors: ['#000c17', '#001529', '#002140']
13
- },
14
- night: {
15
- menuColors: ['#151515', '#1f1f1f', '#1e1e1e']
16
- }
17
- },
18
- theme: {
19
- dark: {
20
- 'layout-body-background': '#f0f2f5',
21
- 'body-background': '#fff',
22
- 'component-background': '#fff',
23
- 'heading-color': 'rgba(0, 0, 0, 0.85)',
24
- 'text-color': 'rgba(0, 0, 0, 0.65)',
25
- 'text-color-inverse': '#fefefe',
26
- 'text-color-secondary': 'rgba(0, 0, 0, 0.45)',
27
- 'shadow-color': 'rgba(0, 0, 0, 0.15)',
28
- 'border-color-split': '#f0f0f0',
29
- 'border-color-base': '#d9d9d9',
30
- 'background-color-light': '#fafafa',
31
- 'background-color-base': '#f5f5f5',
32
- 'table-selected-row-bg': '#fafafa',
33
- 'table-expanded-row-bg': '#fbfbfb',
34
- 'checkbox-check-color': '#fff',
35
- 'disabled-color': 'rgba(0, 0, 0, 0.25)',
36
- 'menu-dark-color': 'rgba(254, 254, 254, 0.65)',
37
- 'menu-dark-highlight-color': '#fefefe',
38
- 'menu-dark-selected-item-icon-color': '#fefefe',
39
- 'menu-dark-arrow-color': '#fefefe',
40
- 'btn-primary-color': '#fefefe'
41
- },
42
- light: {
43
- 'layout-body-background': '#f0f2f5',
44
- 'body-background': '#fff',
45
- 'component-background': '#fff',
46
- 'heading-color': 'rgba(0, 0, 0, 0.85)',
47
- 'text-color': 'rgba(0, 0, 0, 0.65)',
48
- 'text-color-inverse': '#fefefe',
49
- 'text-color-secondary': 'rgba(0, 0, 0, 0.45)',
50
- 'shadow-color': 'rgba(0, 0, 0, 0.15)',
51
- 'border-color-split': '#f0f0f0',
52
- 'border-color-base': '#d9d9d9',
53
- 'background-color-light': '#fafafa',
54
- 'background-color-base': '#f5f5f5',
55
- 'table-selected-row-bg': '#fafafa',
56
- 'table-expanded-row-bg': '#fbfbfb',
57
- 'checkbox-check-color': '#fff',
58
- 'disabled-color': 'rgba(0, 0, 0, 0.25)',
59
- 'menu-dark-color': 'rgba(1, 1, 1, 0.65)',
60
- 'menu-dark-highlight-color': '#fefefe',
61
- 'menu-dark-arrow-color': '#fefefe',
62
- 'btn-primary-color': '#fefefe'
63
- },
64
- night: {
65
- 'layout-body-background': '#000000',
66
- 'body-background': '#0a0a0a',
67
- 'component-background': '#0a0a0a',
68
- 'heading-color': 'rgba(255, 255, 255, 0.85)',
69
- 'text-color': 'rgba(255, 255, 255, 0.85)',
70
- 'text-color-inverse': '#fefefe',
71
- 'text-color-secondary': 'rgba(255, 255, 255, 0.45)',
72
- 'shadow-color': 'rgba(255, 255, 255, 0.15)',
73
- 'border-color-split': '#101010',
74
- 'border-color-base': '#141414',
75
- 'background-color-light': '#000000',
76
- 'background-color-base': '#1a1a1a',
77
- 'table-selected-row-bg': '#1a1a1a',
78
- 'table-expanded-row-bg': '#1b1b1b',
79
- 'checkbox-check-color': '#0a0a0a',
80
- 'disabled-color': 'rgba(255, 255, 255, 0.25)',
81
- 'menu-dark-color': 'rgba(254, 254, 254, 0.65)',
82
- 'menu-dark-highlight-color': '#fefefe',
83
- 'menu-dark-selected-item-icon-color': '#fefefe',
84
- 'menu-dark-arrow-color': '#fefefe',
85
- 'btn-primary-color': '#fefefe'
86
- }
87
- }
88
- }
89
- module.exports = ANTD
1
+ // antd 配置
2
+ const ANTD = {
3
+ primary: {
4
+ color: '#1890ff',
5
+ warning: '#faad14',
6
+ success: '#52c41a',
7
+ error: '#f5222d',
8
+ light: {
9
+ menuColors: ['#000c17', '#001529', '#002140']
10
+ },
11
+ dark: {
12
+ menuColors: ['#000c17', '#001529', '#002140']
13
+ },
14
+ night: {
15
+ menuColors: ['#151515', '#1f1f1f', '#1e1e1e']
16
+ }
17
+ },
18
+ theme: {
19
+ dark: {
20
+ 'layout-body-background': '#f0f2f5',
21
+ 'body-background': '#fff',
22
+ 'component-background': '#fff',
23
+ 'heading-color': 'rgba(0, 0, 0, 0.85)',
24
+ 'text-color': 'rgba(0, 0, 0, 0.65)',
25
+ 'text-color-inverse': '#fefefe',
26
+ 'text-color-secondary': 'rgba(0, 0, 0, 0.45)',
27
+ 'shadow-color': 'rgba(0, 0, 0, 0.15)',
28
+ 'border-color-split': '#f0f0f0',
29
+ 'border-color-base': '#d9d9d9',
30
+ 'background-color-light': '#fafafa',
31
+ 'background-color-base': '#f5f5f5',
32
+ 'table-selected-row-bg': '#fafafa',
33
+ 'table-expanded-row-bg': '#fbfbfb',
34
+ 'checkbox-check-color': '#fff',
35
+ 'disabled-color': 'rgba(0, 0, 0, 0.25)',
36
+ 'menu-dark-color': 'rgba(254, 254, 254, 0.65)',
37
+ 'menu-dark-highlight-color': '#fefefe',
38
+ 'menu-dark-selected-item-icon-color': '#fefefe',
39
+ 'menu-dark-arrow-color': '#fefefe',
40
+ 'btn-primary-color': '#fefefe'
41
+ },
42
+ light: {
43
+ 'layout-body-background': '#f0f2f5',
44
+ 'body-background': '#fff',
45
+ 'component-background': '#fff',
46
+ 'heading-color': 'rgba(0, 0, 0, 0.85)',
47
+ 'text-color': 'rgba(0, 0, 0, 0.65)',
48
+ 'text-color-inverse': '#fefefe',
49
+ 'text-color-secondary': 'rgba(0, 0, 0, 0.45)',
50
+ 'shadow-color': 'rgba(0, 0, 0, 0.15)',
51
+ 'border-color-split': '#f0f0f0',
52
+ 'border-color-base': '#d9d9d9',
53
+ 'background-color-light': '#fafafa',
54
+ 'background-color-base': '#f5f5f5',
55
+ 'table-selected-row-bg': '#fafafa',
56
+ 'table-expanded-row-bg': '#fbfbfb',
57
+ 'checkbox-check-color': '#fff',
58
+ 'disabled-color': 'rgba(0, 0, 0, 0.25)',
59
+ 'menu-dark-color': 'rgba(1, 1, 1, 0.65)',
60
+ 'menu-dark-highlight-color': '#fefefe',
61
+ 'menu-dark-arrow-color': '#fefefe',
62
+ 'btn-primary-color': '#fefefe'
63
+ },
64
+ night: {
65
+ 'layout-body-background': '#000000',
66
+ 'body-background': '#0a0a0a',
67
+ 'component-background': '#0a0a0a',
68
+ 'heading-color': 'rgba(255, 255, 255, 0.85)',
69
+ 'text-color': 'rgba(255, 255, 255, 0.85)',
70
+ 'text-color-inverse': '#fefefe',
71
+ 'text-color-secondary': 'rgba(255, 255, 255, 0.45)',
72
+ 'shadow-color': 'rgba(255, 255, 255, 0.15)',
73
+ 'border-color-split': '#101010',
74
+ 'border-color-base': '#141414',
75
+ 'background-color-light': '#000000',
76
+ 'background-color-base': '#1a1a1a',
77
+ 'table-selected-row-bg': '#1a1a1a',
78
+ 'table-expanded-row-bg': '#1b1b1b',
79
+ 'checkbox-check-color': '#0a0a0a',
80
+ 'disabled-color': 'rgba(255, 255, 255, 0.25)',
81
+ 'menu-dark-color': 'rgba(254, 254, 254, 0.65)',
82
+ 'menu-dark-highlight-color': '#fefefe',
83
+ 'menu-dark-selected-item-icon-color': '#fefefe',
84
+ 'menu-dark-arrow-color': '#fefefe',
85
+ 'btn-primary-color': '#fefefe'
86
+ }
87
+ }
88
+ }
89
+ module.exports = ANTD
@@ -1,55 +1,55 @@
1
- // 此配置为系统默认设置
2
- module.exports = {
3
- lang: 'CN', // 语言,可选 CN(简体)、HK(繁体)、US(英语),也可扩展其它语言
4
- theme: { // 主题
5
- color: '#1890ff', // 主题色
6
- mode: 'dark', // 主题模式 可选 dark、 light 和 night
7
- success: '#52c41a', // 成功色
8
- warning: '#faad14', // 警告色
9
- error: '#f5222f' // 错误色
10
- },
11
- layout: 'side', // 导航布局,可选 side 和 head,分别为侧边导航和顶部导航
12
- fixedHeader: true, // 固定头部状态栏,true:固定,false:不固定
13
- fixedSideBar: true, // 固定侧边栏,true:固定,false:不固定
14
- fixedTabs: true, // 固定页签头,true:固定,false:不固定
15
- pageWidth: 'fixed', // 内容区域宽度,fixed:固定宽度,fluid:流式宽度
16
- weekMode: false, // 色弱模式,true:开启,false:不开启
17
- multiPage: true, // 多页签模式,true:开启,false:不开启
18
- cachePage: true, // 是否缓存页面数据,仅多页签模式下生效,true 缓存, false 不缓存
19
- hideSetting: false, // 隐藏设置抽屉,true:隐藏,false:不隐藏
20
- homePage: '/dashboard/workplace', // 首页路由, 登陆后默认打开
21
- ticketPage: '/submitTicket', // 提交工单路由
22
- systemName: 'V4基础组件平台', // 系统名称
23
- logoSrc: '/defaultLogo.png', // LOGO路径
24
- systemNameFontSize: '20px', // 系统名称字体大小
25
- systemDesc: '为PC端中、后台系统业务开发提供支持', // 系统描述
26
- copyright: '2022 AoFengSoft', // copyright
27
- copyrightStyle: undefined,
28
- asyncRoutes: true, // 异步加载路由,true:开启,false:不开启
29
- showPageTitle: true, // 是否显示页面标题(PageLayout 布局中的页面标题),true:显示,false:不显示
30
- filterMenu: true, // 根据权限过滤菜单,true:过滤,false:不过滤
31
- animate: { // 动画设置
32
- disabled: true, // 禁用动画,true:禁用,false:启用
33
- name: 'lightSpeed', // 动画效果,支持的动画效果可参考 ./animate.config.js
34
- direction: 'left' // 动画方向,切换页面时动画的方向,参考 ./animate.config.js
35
- },
36
- footerLinks: [ // 页面底部链接,{link: '链接地址', name: '名称/显示文字', icon: '图标,支持 ant design vue 图标库'}
37
- ],
38
- // 菜单工具项显示
39
- menuTools: {
40
- // 通知
41
- notice: true
42
- },
43
- // 旧系统路径
44
- iframeSrc: '/singlepage/index.html',
45
- // 兼容旧版本 V4(最新产品) V3(V3产品) OA(公司OA)
46
- compatible: 'V4',
47
- // 路由资源名称
48
- routeName: '智慧燃气',
49
- // 自定义组件集合 格式为组件名: 组件路径(不需要带@/)
50
- customizeComponent: {},
51
- // 自定义默认头像路径
52
- defaultAvatarUrl: 'https://gw.alipayobjects.com/zos/rmsportal/jZUIxmJycoymBprLOUbT.png',
53
- gaode_key: 'a37ffa0cad038bef7242cdff7084cd36',
54
- gaode_secret_key: 'da72499e61d9299f447bb5b2af9f9e6c',
55
- }
1
+ // 此配置为系统默认设置
2
+ module.exports = {
3
+ lang: 'CN', // 语言,可选 CN(简体)、HK(繁体)、US(英语),也可扩展其它语言
4
+ theme: { // 主题
5
+ color: '#1890ff', // 主题色
6
+ mode: 'dark', // 主题模式 可选 dark、 light 和 night
7
+ success: '#52c41a', // 成功色
8
+ warning: '#faad14', // 警告色
9
+ error: '#f5222f' // 错误色
10
+ },
11
+ layout: 'side', // 导航布局,可选 side 和 head,分别为侧边导航和顶部导航
12
+ fixedHeader: true, // 固定头部状态栏,true:固定,false:不固定
13
+ fixedSideBar: true, // 固定侧边栏,true:固定,false:不固定
14
+ fixedTabs: true, // 固定页签头,true:固定,false:不固定
15
+ pageWidth: 'fixed', // 内容区域宽度,fixed:固定宽度,fluid:流式宽度
16
+ weekMode: false, // 色弱模式,true:开启,false:不开启
17
+ multiPage: true, // 多页签模式,true:开启,false:不开启
18
+ cachePage: true, // 是否缓存页面数据,仅多页签模式下生效,true 缓存, false 不缓存
19
+ hideSetting: false, // 隐藏设置抽屉,true:隐藏,false:不隐藏
20
+ homePage: '/dashboard/workplace', // 首页路由, 登陆后默认打开
21
+ ticketPage: '/submitTicket', // 提交工单路由
22
+ systemName: 'V4基础组件平台', // 系统名称
23
+ logoSrc: '/defaultLogo.png', // LOGO路径
24
+ systemNameFontSize: '20px', // 系统名称字体大小
25
+ systemDesc: '为PC端中、后台系统业务开发提供支持', // 系统描述
26
+ copyright: '2022 AoFengSoft', // copyright
27
+ copyrightStyle: undefined,
28
+ asyncRoutes: true, // 异步加载路由,true:开启,false:不开启
29
+ showPageTitle: true, // 是否显示页面标题(PageLayout 布局中的页面标题),true:显示,false:不显示
30
+ filterMenu: true, // 根据权限过滤菜单,true:过滤,false:不过滤
31
+ animate: { // 动画设置
32
+ disabled: true, // 禁用动画,true:禁用,false:启用
33
+ name: 'lightSpeed', // 动画效果,支持的动画效果可参考 ./animate.config.js
34
+ direction: 'left' // 动画方向,切换页面时动画的方向,参考 ./animate.config.js
35
+ },
36
+ footerLinks: [ // 页面底部链接,{link: '链接地址', name: '名称/显示文字', icon: '图标,支持 ant design vue 图标库'}
37
+ ],
38
+ // 菜单工具项显示
39
+ menuTools: {
40
+ // 通知
41
+ notice: true
42
+ },
43
+ // 旧系统路径
44
+ iframeSrc: '/singlepage/index.html',
45
+ // 兼容旧版本 V4(最新产品) V3(V3产品) OA(公司OA)
46
+ compatible: 'V4',
47
+ // 路由资源名称
48
+ routeName: '智慧燃气',
49
+ // 自定义组件集合 格式为组件名: 组件路径(不需要带@/)
50
+ customizeComponent: {},
51
+ // 自定义默认头像路径
52
+ defaultAvatarUrl: 'https://gw.alipayobjects.com/zos/rmsportal/jZUIxmJycoymBprLOUbT.png',
53
+ gaode_key: 'a37ffa0cad038bef7242cdff7084cd36',
54
+ gaode_secret_key: 'da72499e61d9299f447bb5b2af9f9e6c',
55
+ }
@@ -0,0 +1,28 @@
1
+ import Program from './core/Program'
2
+ import Delegate from './core/Delegate'
3
+ import JSONObject from "./instances/JSONObject";
4
+
5
+ export default class ExpressionRunner {
6
+ /**
7
+ * Runs an expression with parameters
8
+ *
9
+ * @param source Expression source
10
+ * @param params Expression parameters
11
+ * @returns The result of the expression
12
+ */
13
+ public static run(source: string, params: JSONObject): any {
14
+ const delegate: Delegate = this.getDelegate(source);
15
+ return delegate.invoke(params);
16
+ }
17
+
18
+ /**
19
+ * Gets the delegate for the expression
20
+ *
21
+ * @param source Expression source
22
+ * @returns A delegate to invoke
23
+ */
24
+ public static getDelegate(source: string): Delegate {
25
+ // Parse the source and return a delegate
26
+ return new Program(source).parse();
27
+ }
28
+ }
@@ -0,0 +1,72 @@
1
+ import ExpressionRunner from './ExpressionRunner'
2
+ import Program from "./core/Program";
3
+ import JSONObject from "./instances/JSONObject";
4
+ import LogicConsole from "./instances/LogicConsole";
5
+
6
+ testValidate()
7
+
8
+ /**
9
+ * validate
10
+ */
11
+ function testValidate () {
12
+ const expression = `
13
+ validate {
14
+ model: {
15
+ required: true,
16
+ },
17
+ visible: {
18
+ default: 1 + 1,
19
+ },
20
+ isAep: {
21
+ default: 3
22
+ },
23
+ testJson: {
24
+ required: true,
25
+ items: {
26
+ userid: {
27
+ required: true
28
+ }
29
+ }
30
+ },
31
+ testGroup: {
32
+ mode: "atLeastOne",
33
+ fields: [
34
+ "test1",
35
+ "test2"
36
+ ]
37
+ }
38
+ },
39
+ data.isAep == 3 :(
40
+ log.info(123)
41
+ ),null,
42
+ log.info(data)
43
+ `
44
+ const data = {
45
+ model: 'a',
46
+ test1: 'b',
47
+ isAep: null,
48
+ testJson: {
49
+ userid: {}
50
+ }
51
+ }
52
+ runExpression(expression, data)
53
+ }
54
+
55
+ function runExpression (expression: string, data?: any) {
56
+ const program = new Program(expression)
57
+ const d = program.parse()
58
+ const params = {};
59
+ if (data == null) {
60
+ data = {}
61
+ }
62
+ params['data'] = data
63
+ params['log'] = new LogicConsole()
64
+ params['b'] = 5
65
+ try {
66
+ const result = d.invoke(new JSONObject(params))
67
+ console.log(result)
68
+ return result
69
+ } catch (e) {
70
+ throw e
71
+ }
72
+ }
@@ -0,0 +1,112 @@
1
+ import Expression from './Expression'
2
+ import ExpressionType from '../enums/ExpressionType'
3
+ import ReturnWayException from "../exception/ReturnWayException"
4
+ import JSONObject from "../instances/JSONObject"
5
+
6
+ export default class Delegate {
7
+ private exp: Expression;
8
+ private source: string;
9
+ private lambdaOutProps: string[] = [];
10
+ private objectNames: JSONObject;
11
+
12
+ constructor(exp: Expression, source: string, objectNames?: JSONObject) {
13
+ this.exp = exp;
14
+ this.source = source;
15
+ if (objectNames) {
16
+ this.objectNames = objectNames;
17
+ } else {
18
+ this.objectNames = new JSONObject();
19
+ }
20
+ }
21
+
22
+ // 执行程序,执行前,参数必须实例化
23
+ invoke(params?: JSONObject): any {
24
+ if (params == null) {
25
+ params = new JSONObject();
26
+ }
27
+ // 把初始参数给参数表
28
+ this.objectNames = params;
29
+ // 沿根Expression节点遍历,把delegate传递下去
30
+ this.putDelegate(this.exp);
31
+ // 调用exp的执行过程
32
+ try {
33
+ return this.exp.invoke();
34
+ } catch (returnWay) {
35
+ if (returnWay instanceof ReturnWayException) {
36
+ return returnWay.getReturnObject();
37
+ }
38
+ throw returnWay;
39
+ }
40
+ }
41
+
42
+ // 沿根节点递归,传递delegate的过程
43
+ private putDelegate(parent: Expression): void {
44
+ for (const child of parent.children) {
45
+ // 有些节点会放空的子节点
46
+ if (child == null) {
47
+ continue;
48
+ }
49
+ // try特殊处理
50
+ if (child.type === ExpressionType.Try) {
51
+ const exps: Expression[] = child.value as Expression[];
52
+ if (exps[0] != null) {
53
+ exps[0].setDelegate(this);
54
+ this.putDelegate(exps[0]);
55
+ }
56
+ if (exps[1] != null) {
57
+ exps[1].setDelegate(this);
58
+ this.putDelegate(exps[1]);
59
+ }
60
+ }
61
+ child.setDelegate(this);
62
+ this.putDelegate(child);
63
+ }
64
+ }
65
+
66
+ // 获取表达式
67
+ getExp(): Expression {
68
+ return this.exp;
69
+ }
70
+
71
+ // 获取对象值存储
72
+ getObjectNames(): JSONObject {
73
+ return this.objectNames;
74
+ }
75
+
76
+ // 获取lambda外层参数名
77
+ getLambdaOutProps(): string[] {
78
+ return this.lambdaOutProps;
79
+ }
80
+
81
+ // 存储对象值
82
+ put(key: string, value: any): void {
83
+ this.objectNames.put(key, value);
84
+ }
85
+
86
+ // 获取对象值
87
+ get(key: string): any {
88
+ return this.objectNames.get(key);
89
+ }
90
+
91
+ // 检查是否包含某个键
92
+ containsKey(key: string): boolean {
93
+ return this.objectNames.has(key);
94
+ }
95
+
96
+ // 获取源代码
97
+ getSource(): string {
98
+ return this.source;
99
+ }
100
+
101
+ // 使用参数调用
102
+ apply(params?: JSONObject): any {
103
+ if (params === null) {
104
+ params = new JSONObject();
105
+ }
106
+ const map = this.objectNames;
107
+ this.lambdaOutProps.push(...map.keySet());
108
+ const lambdaMap = new JSONObject(map)
109
+ lambdaMap.put("data", params);
110
+ return this.invoke(lambdaMap);
111
+ }
112
+ }