vue2-client 1.17.20 → 1.17.22

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 (344) hide show
  1. package/.claude/settings.local.json +20 -20
  2. package/.cursorrules +19 -19
  3. package/.env.apply +19 -19
  4. package/.env.gaslink +19 -19
  5. package/.env.his +19 -19
  6. package/.env.liuli +20 -20
  7. package/.env.scada +19 -19
  8. package/.eslintrc.js +90 -90
  9. package/.serena/memories/code_style_conventions.md +217 -217
  10. package/.serena/memories/project_overview.md +54 -54
  11. package/.serena/memories/project_structure.md +329 -329
  12. package/.serena/memories/suggested_commands.md +127 -127
  13. package/.serena/memories/task_completion_checklist.md +183 -183
  14. package/.serena/memories/tech_stack.md +94 -94
  15. package/CHANGELOG.md +830 -830
  16. package/CLAUDE.md +97 -97
  17. package/Components.md +60 -60
  18. package/docs/LowCode/lowcode.md +155 -155
  19. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  20. package/docs/index.md +30 -30
  21. package/index.js +31 -31
  22. package/jest-transform-stub.js +8 -8
  23. package/jest.setup.js +7 -7
  24. package/jsconfig.json +19 -19
  25. package/package.json +1 -1
  26. package/public/his/editor/editor.html +51 -51
  27. package/public/his/editor/mock/bind_data.html +779 -779
  28. package/public/his/editor/mock/data_table.html +40 -40
  29. package/public/his/editor/mock/sign.html +75 -75
  30. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  31. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  32. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  33. package/public/his/editor/vender/date97/calendar.js +4 -4
  34. package/public/his/editor/vender/date97/lang/en.js +13 -13
  35. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  36. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  37. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  38. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  39. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  40. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  41. package/public/his/editor/vender/diff.js +1627 -1627
  42. package/public/his/editor/vender/editor.js +1 -1
  43. package/public/his/editor/vender/fabric.js +31187 -31187
  44. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  45. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  46. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  47. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  48. package/public/his/editor/vender/mui/mui.min.css +4 -4
  49. package/public/his/editor/vender/mui/mui.min.js +5 -5
  50. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  51. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  52. package/public/his/editor/vender/qrcode.js +7 -7
  53. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  54. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  55. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  56. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  57. package/public/his/editor/vender/validator.js +5094 -5094
  58. package/public/his/editor/vender/weui/weui.css +5659 -5659
  59. package/public/his/editor/vender/weui/weui.min.css +4 -4
  60. package/public/his/editor/vender/weui/weui.min.js +11 -11
  61. package/src/assets/img/paymentMethod/icon1.png +0 -0
  62. package/src/assets/img/paymentMethod/icon2.png +0 -0
  63. package/src/assets/img/paymentMethod/icon3.png +0 -0
  64. package/src/assets/img/paymentMethod/icon4.png +0 -0
  65. package/src/assets/img/paymentMethod/icon5.png +0 -0
  66. package/src/assets/img/paymentMethod/icon6.png +0 -0
  67. package/src/assets/img/querySlotDemo.svg +15 -15
  68. package/src/assets/svg/badtwo.svg +1 -1
  69. package/src/assets/svg/goodtwo.svg +1 -1
  70. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  71. package/src/base-client/components/AI/demo.vue +31 -31
  72. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  73. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  74. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  75. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  76. package/src/base-client/components/common/CitySelect/index.js +3 -3
  77. package/src/base-client/components/common/CitySelect/index.md +109 -109
  78. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  79. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  80. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  81. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  82. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  83. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  84. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  85. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  86. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  87. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  88. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  89. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  90. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  91. package/src/base-client/components/common/HIS/HFormTable/HFormTable.vue +3 -1
  92. package/src/base-client/components/common/HIS/demo.vue +61 -61
  93. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  94. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  95. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  96. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  97. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  98. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  99. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  100. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  101. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  102. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  103. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  104. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  105. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  106. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  107. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  108. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  109. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  110. package/src/base-client/components/common/Recording/index.js +3 -3
  111. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  112. package/src/base-client/components/common/Tree/index.js +2 -2
  113. package/src/base-client/components/common/Upload/Upload.vue +334 -334
  114. package/src/base-client/components/common/Upload/index.js +3 -3
  115. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  116. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  117. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +304 -304
  118. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  119. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  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/index.js +3 -3
  125. package/src/base-client/components/common/XButtons/index.md +61 -61
  126. package/src/base-client/components/common/XCalendar/XCalendar.vue +4 -4
  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/XDataCard/index.js +3 -3
  131. package/src/base-client/components/common/XDataCard/index.md +1 -1
  132. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  133. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  134. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  135. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  136. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  137. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  138. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  139. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  140. package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
  141. package/src/base-client/components/common/XForm/index.md +178 -178
  142. package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
  143. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  144. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  145. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  146. package/src/base-client/components/common/XFormTable/index.md +92 -92
  147. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  148. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  149. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  150. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  151. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  152. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  153. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  154. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  155. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  156. package/src/base-client/components/common/XPrint/index.vue +97 -97
  157. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  158. package/src/base-client/components/common/XReport/XReportHospitalizationDemo.vue +45 -0
  159. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  160. package/src/base-client/components/common/XReport/index.js +3 -3
  161. package/src/base-client/components/common/XReport/print.js +186 -186
  162. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  163. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  164. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  165. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  166. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  167. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  168. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  169. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  170. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  171. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  172. package/src/base-client/components/common/XStepView/index.js +3 -3
  173. package/src/base-client/components/common/XStepView/index.md +31 -31
  174. package/src/base-client/components/common/XTab/XTab.vue +1 -3
  175. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  176. package/src/base-client/components/common/XTab/index.js +3 -3
  177. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  178. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  179. package/src/base-client/components/common/XTable/index.md +255 -255
  180. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  181. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  182. package/src/base-client/components/common/XTree/index.js +3 -3
  183. package/src/base-client/components/common/XTree/index.md +36 -36
  184. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  185. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  186. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  187. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  188. package/src/base-client/components/his/XCharge/XChargeDemo.vue +145 -145
  189. package/src/base-client/components/his/XHDescriptions/XHDescriptions.vue +109 -10
  190. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  191. package/src/base-client/components/his/XIcon/XIcon.vue +73 -73
  192. package/src/base-client/components/his/XIcon/index.js +3 -3
  193. package/src/base-client/components/his/XIcon/index.md +177 -177
  194. package/src/base-client/components/index.js +51 -51
  195. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  196. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  197. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  198. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  199. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  200. package/src/base-client/plugins/Config.js +19 -19
  201. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  202. package/src/base-client/plugins/Recording.js +258 -258
  203. package/src/base-client/plugins/index.js +23 -23
  204. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  205. package/src/components/Charts/Bar.vue +62 -62
  206. package/src/components/Charts/ChartCard.vue +134 -134
  207. package/src/components/Charts/Liquid.vue +67 -67
  208. package/src/components/Charts/MiniArea.vue +39 -39
  209. package/src/components/Charts/MiniBar.vue +39 -39
  210. package/src/components/Charts/MiniProgress.vue +75 -75
  211. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  212. package/src/components/Charts/Radar.vue +68 -68
  213. package/src/components/Charts/RankList.vue +77 -77
  214. package/src/components/Charts/TagCloud.vue +113 -113
  215. package/src/components/Charts/TransferBar.vue +64 -64
  216. package/src/components/Charts/Trend.vue +82 -82
  217. package/src/components/Charts/chart.less +12 -12
  218. package/src/components/Charts/smooth.area.less +13 -13
  219. package/src/components/CodeMirror/inedx.vue +118 -118
  220. package/src/components/CodeMirror/setting.js +40 -40
  221. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  222. package/src/components/NumberInfo/index.js +3 -3
  223. package/src/components/NumberInfo/index.less +54 -54
  224. package/src/components/NumberInfo/index.md +43 -43
  225. package/src/components/card/ChartCard.vue +79 -79
  226. package/src/components/chart/Bar.vue +60 -60
  227. package/src/components/chart/MiniArea.vue +67 -67
  228. package/src/components/chart/MiniBar.vue +59 -59
  229. package/src/components/chart/MiniProgress.vue +57 -57
  230. package/src/components/chart/Radar.vue +80 -80
  231. package/src/components/chart/RankingList.vue +60 -60
  232. package/src/components/chart/Trend.vue +79 -79
  233. package/src/components/chart/index.less +9 -9
  234. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  235. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  236. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  237. package/src/components/checkbox/index.js +9 -9
  238. package/src/components/exception/ExceptionPage.vue +70 -70
  239. package/src/components/g2Charts/constants.js +202 -202
  240. package/src/components/g2Charts/demo.vue +808 -808
  241. package/src/components/g2Charts/designer.vue +228 -228
  242. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  243. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  244. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  245. package/src/components/g2Charts/index.vue +397 -397
  246. package/src/components/index.js +36 -36
  247. package/src/components/input/IInput.vue +66 -66
  248. package/src/components/menu/SideMenu.vue +75 -75
  249. package/src/components/menu/menu.js +273 -273
  250. package/src/components/setting/Setting.vue +234 -234
  251. package/src/components/tool/AStepItem.vue +60 -60
  252. package/src/config/CreateQueryConfig.js +325 -325
  253. package/src/config/default/antd.config.js +89 -89
  254. package/src/config/default/setting.config.js +55 -55
  255. package/src/font-style/font.css +60 -60
  256. package/src/layouts/CommonLayout.vue +56 -56
  257. package/src/layouts/PageLayout.vue +151 -151
  258. package/src/layouts/SinglePageView.vue +136 -136
  259. package/src/layouts/header/AdminHeader.vue +132 -132
  260. package/src/layouts/header/HeaderNotice.vue +177 -177
  261. package/src/layouts/header/InstitutionDetail.vue +181 -181
  262. package/src/layouts/tabs/TabsHead.vue +189 -189
  263. package/src/lib.js +1 -1
  264. package/src/mock/extend/index.js +84 -84
  265. package/src/mock/goods/index.js +108 -108
  266. package/src/pages/DefaultExample/index.vue +77 -77
  267. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  268. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  269. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  270. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  271. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  272. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  273. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  274. package/src/pages/DynamicStatistics/index.vue +282 -282
  275. package/src/pages/Example/childIndex.vue +15 -15
  276. package/src/pages/Example/index.vue +30 -30
  277. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  278. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  279. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  280. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  281. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  282. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  283. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  284. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  285. package/src/pages/Recording/index.vue +77 -77
  286. package/src/pages/ServiceReview/index.vue +284 -284
  287. package/src/pages/SubExample/index.vue +26 -26
  288. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  289. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandle.vue +1811 -1811
  290. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowTimeline.vue +1014 -1014
  291. package/src/pages/XReportView/index.vue +64 -64
  292. package/src/pages/XTreeOneProExample/index.vue +67 -67
  293. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  294. package/src/pages/login/Login.vue +379 -379
  295. package/src/pages/login/LoginV3.vue +389 -389
  296. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  297. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  298. package/src/pages/report/ReportTable.js +124 -124
  299. package/src/pages/resourceManage/orgListManage.vue +98 -98
  300. package/src/pages/system/dictionary/index.vue +44 -44
  301. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  302. package/src/pages/system/monitor/operLog/index.vue +37 -37
  303. package/src/pages/system/settings/modifyPassword.vue +117 -117
  304. package/src/pages/system/ticket/index.vue +480 -480
  305. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  306. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  307. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  308. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  309. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  310. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  311. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  312. package/src/plugins/EventLogPlugin.js +33 -33
  313. package/src/plugins/FindParentsData.js +17 -17
  314. package/src/services/DataModel.js +30 -30
  315. package/src/services/LodopFuncs.js +137 -137
  316. package/src/services/api/TicketDetailsViewApi.js +46 -46
  317. package/src/services/api/cas.js +79 -79
  318. package/src/services/api/entity.js +18 -18
  319. package/src/services/api/index.js +17 -17
  320. package/src/store/modules/account.js +121 -121
  321. package/src/store/modules/index.js +5 -5
  322. package/src/store/modules/lowCode.js +33 -33
  323. package/src/store/modules/setting.js +119 -119
  324. package/src/theme/default/style.less +58 -58
  325. package/src/utils/authority-utils.js +85 -85
  326. package/src/utils/errorCode.js +6 -6
  327. package/src/utils/formatter.js +74 -74
  328. package/src/utils/htmlToPDF.js +108 -108
  329. package/src/utils/htmlToPDFApi.js +5 -5
  330. package/src/utils/login.js +188 -188
  331. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  332. package/src/utils/lowcode/lowcodeLog.js +29 -29
  333. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  334. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  335. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  336. package/src/utils/map-utils.js +47 -47
  337. package/src/utils/reg.js +95 -95
  338. package/src/utils/runEvalFunction.js +14 -14
  339. package/src/utils/theme-color-replacer-extend.js +92 -92
  340. package/src/utils/util.js +329 -329
  341. package/src/utils/waterMark.js +31 -31
  342. package/src-base-client/components/his/XCharge/README.md +0 -0
  343. package/src-base-client/components/his/XCharge/XCharge.vue +0 -0
  344. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
@@ -1,258 +1,258 @@
1
- // recordingPlugin.js
2
- export default {
3
- install (Vue) {
4
- Vue.prototype.$recording = {
5
- isRecording: false, // 标识是否正在录音
6
- mediaRecorder: null, // MediaRecorder 实例
7
- audioChunks: [], // 存储录音数据块
8
- audioUrl: null, // 录音生成的 URL
9
- inputData: '',
10
- audioContext: null,
11
- audioStream: null,
12
- ws: null,
13
- resolvePromise: null, // 用于保存 Promise 的 resolve 函数
14
-
15
- async startRecording () {
16
- this.inputData = ''
17
- this.audioChunks = []
18
-
19
- const url = 'ws://192.168.50.67:30288/websocket/bash' // WebSocket地址
20
- this.setupWebSocket(url)
21
-
22
- // 等待 WebSocket 连接成功
23
- const result = await this.waitForWebSocketConnection()
24
-
25
- if (result) {
26
- return {
27
- code: 500,
28
- msg: result
29
- }
30
- }
31
-
32
- this.isRecording = true
33
-
34
- // 初始化 AudioContext
35
- this.audioContext = new (window.AudioContext || window.webkitAudioContext)()
36
-
37
- if (!navigator.mediaDevices || !navigator.mediaDevices.getUserMedia) {
38
- this.ws.close()
39
- return {
40
- code: 500,
41
- msg: '录音软件不支持您的浏览器!请使用现代浏览器或确保您正在使用 HTTPS。'
42
- }
43
- }
44
- // 获取麦克风输入流
45
- this.audioStream = await navigator.mediaDevices.getUserMedia({ audio: true })
46
-
47
- // 设置音频处理流程
48
- this.setupAudioProcessing()
49
-
50
- return {
51
- code: 200,
52
- msg: '开始录音'
53
- }
54
- },
55
-
56
- setupWebSocket (url) {
57
- this.ws = new WebSocket(url)
58
-
59
- this.ws.onmessage = (event) => {
60
- const data = JSON.parse(event.data)
61
- console.log('Result:', data.result)
62
- if (data.result !== undefined) {
63
- this.inputData += data.result
64
- }
65
- if (!this.isRecording) {
66
- this.ws.close()
67
- }
68
- }
69
-
70
- this.ws.onclose = () => {
71
- console.log('WebSocket closed.')
72
- this.resRecordingData()
73
- this.resolvePromise(this.inputData)
74
- }
75
- this.ws.onerror = (error) => console.error('WebSocket error:', error)
76
- },
77
-
78
- waitForWebSocketConnection () {
79
- return new Promise((resolve) => {
80
- this.ws.onopen = () => {
81
- console.log('WebSocket 连接成功')
82
- resolve()
83
- }
84
-
85
- this.ws.onerror = (error) => {
86
- resolve('WebSocket 连接失败: ' + error.message)
87
- }
88
- })
89
- },
90
-
91
- setupAudioProcessing () {
92
- try {
93
- const source = this.audioContext.createMediaStreamSource(this.audioStream)
94
- const processor = this.audioContext.createScriptProcessor(4096, 1, 1)
95
-
96
- processor.onaudioprocess = (e) => {
97
- // if (!this.isRecording) return
98
-
99
- const inputData = e.inputBuffer.getChannelData(0)
100
-
101
- // Resample to 16000 Hz if needed
102
- const resampledData = this.resample(inputData, this.audioContext.sampleRate, 16000)
103
-
104
- this.audioChunks.push(new Float32Array(resampledData))
105
-
106
- // Convert to 16-bit PCM and send via WebSocket
107
- const byteArray = this.convertTo16BitPCM(resampledData)
108
-
109
- const finalData = new Uint8Array(1 + byteArray.length) // 创建最终数据数组
110
- finalData[0] = 1 // 第一个字节为类型,值为1
111
- finalData.set(byteArray, 1) // 设置实际数据
112
-
113
- this.ws.send(finalData) // 发送最终数据
114
- }
115
-
116
- source.connect(processor)
117
- processor.connect(this.audioContext.destination)
118
- return {
119
- code: 200,
120
- msg: '录音初始化成功'
121
- }
122
- } catch (error) {
123
- console.error('Error setting up audio processing:', error)
124
- return {
125
- code: 500,
126
- msg: '录音初始化出错:' + error.message
127
- }
128
- }
129
- },
130
-
131
- stopRecording () {
132
- console.log('停止录音')
133
-
134
- // 停止麦克风流
135
- if (this.audioStream) {
136
- this.audioStream.getTracks().forEach((track) => track.stop())
137
- }
138
-
139
- if (this.audioContext) {
140
- this.audioContext.close()
141
- }
142
-
143
- // 发送结束信号
144
- const endSignal = new Uint8Array(1) // 创建一个长度为1的Uint8Array
145
- endSignal[0] = 2 // 直接发送类型,值为2
146
- this.ws.send(endSignal) // 发送结束信号
147
-
148
- this.isRecording = false
149
-
150
- return {
151
- code: 200,
152
- msg: '录音已停止'
153
- }
154
- },
155
-
156
- saveAudioFile () {
157
- const audioBuffer = this.mergeAudioChunks(this.audioChunks)
158
-
159
- // 转换为 WAV 格式
160
- const wavBlob = this.encodeWAV(audioBuffer, 16000)
161
-
162
- // 创建下载链接并触发下载
163
- const url = URL.createObjectURL(wavBlob)
164
- const a = document.createElement('a')
165
- a.style.display = 'none'
166
- a.href = url
167
- a.download = 'recording.wav'
168
- document.body.appendChild(a)
169
- a.click()
170
- window.URL.revokeObjectURL(url)
171
- },
172
-
173
- mergeAudioChunks (chunks) {
174
- const length = chunks.reduce((sum, chunk) => sum + chunk.length, 0)
175
- const result = new Float32Array(length)
176
- let offset = 0
177
- for (const chunk of chunks) {
178
- result.set(chunk, offset)
179
- offset += chunk.length
180
- }
181
- return result
182
- },
183
-
184
- encodeWAV (samples, sampleRate) {
185
- const buffer = new ArrayBuffer(44 + samples.length * 2)
186
- const view = new DataView(buffer)
187
-
188
- const writeString = (view, offset, string) => {
189
- for (let i = 0; i < string.length; i++) {
190
- view.setUint8(offset + i, string.charCodeAt(i))
191
- }
192
- }
193
-
194
- writeString(view, 0, 'RIFF')
195
- view.setUint32(4, 36 + samples.length * 2, true)
196
- writeString(view, 8, 'WAVE')
197
-
198
- writeString(view, 12, 'fmt ')
199
- view.setUint32(16, 16, true)
200
- view.setUint16(20, 1, true)
201
- view.setUint16(22, 1, true)
202
- view.setUint32(24, sampleRate, true)
203
- view.setUint32(28, sampleRate * 2, true)
204
- view.setUint16(32, 2, true)
205
- view.setUint16(34, 16, true)
206
-
207
- writeString(view, 36, 'data')
208
- view.setUint32(40, samples.length * 2, true)
209
-
210
- let offset = 44
211
- for (let i = 0; i < samples.length; i++) {
212
- const s = Math.max(-1, Math.min(1, samples[i]))
213
- view.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7fff, true)
214
- offset += 2
215
- }
216
-
217
- return new Blob([buffer], { type: 'audio/wav' })
218
- },
219
-
220
- resample (data, inputSampleRate, outputSampleRate) {
221
- if (inputSampleRate === outputSampleRate) {
222
- return data
223
- }
224
- const sampleRateRatio = inputSampleRate / outputSampleRate
225
- const newLength = Math.round(data.length / sampleRateRatio)
226
- const resampledData = new Float32Array(newLength)
227
- for (let i = 0; i < newLength; i++) {
228
- const index = Math.round(i * sampleRateRatio)
229
- resampledData[i] = data[index]
230
- }
231
- return resampledData
232
- },
233
-
234
- convertTo16BitPCM (data) {
235
- const output = new Int16Array(data.length)
236
- for (let i = 0; i < data.length; i++) {
237
- output[i] = Math.max(-1, Math.min(1, data[i])) * 0x7fff
238
- }
239
- return new Uint8Array(output.buffer)
240
- },
241
-
242
- async getRecordingData () {
243
- return new Promise((resolve) => {
244
- this.resolvePromise = resolve
245
-
246
- if (!this.ws) {
247
- // 如果 WebSocket 未初始化,直接拒绝
248
- console.log('错误结束')
249
- resolve(this.inputData)
250
- }
251
- })
252
- },
253
-
254
- resRecordingData () {
255
- }
256
- }
257
- }
258
- }
1
+ // recordingPlugin.js
2
+ export default {
3
+ install (Vue) {
4
+ Vue.prototype.$recording = {
5
+ isRecording: false, // 标识是否正在录音
6
+ mediaRecorder: null, // MediaRecorder 实例
7
+ audioChunks: [], // 存储录音数据块
8
+ audioUrl: null, // 录音生成的 URL
9
+ inputData: '',
10
+ audioContext: null,
11
+ audioStream: null,
12
+ ws: null,
13
+ resolvePromise: null, // 用于保存 Promise 的 resolve 函数
14
+
15
+ async startRecording () {
16
+ this.inputData = ''
17
+ this.audioChunks = []
18
+
19
+ const url = 'ws://192.168.50.67:30288/websocket/bash' // WebSocket地址
20
+ this.setupWebSocket(url)
21
+
22
+ // 等待 WebSocket 连接成功
23
+ const result = await this.waitForWebSocketConnection()
24
+
25
+ if (result) {
26
+ return {
27
+ code: 500,
28
+ msg: result
29
+ }
30
+ }
31
+
32
+ this.isRecording = true
33
+
34
+ // 初始化 AudioContext
35
+ this.audioContext = new (window.AudioContext || window.webkitAudioContext)()
36
+
37
+ if (!navigator.mediaDevices || !navigator.mediaDevices.getUserMedia) {
38
+ this.ws.close()
39
+ return {
40
+ code: 500,
41
+ msg: '录音软件不支持您的浏览器!请使用现代浏览器或确保您正在使用 HTTPS。'
42
+ }
43
+ }
44
+ // 获取麦克风输入流
45
+ this.audioStream = await navigator.mediaDevices.getUserMedia({ audio: true })
46
+
47
+ // 设置音频处理流程
48
+ this.setupAudioProcessing()
49
+
50
+ return {
51
+ code: 200,
52
+ msg: '开始录音'
53
+ }
54
+ },
55
+
56
+ setupWebSocket (url) {
57
+ this.ws = new WebSocket(url)
58
+
59
+ this.ws.onmessage = (event) => {
60
+ const data = JSON.parse(event.data)
61
+ console.log('Result:', data.result)
62
+ if (data.result !== undefined) {
63
+ this.inputData += data.result
64
+ }
65
+ if (!this.isRecording) {
66
+ this.ws.close()
67
+ }
68
+ }
69
+
70
+ this.ws.onclose = () => {
71
+ console.log('WebSocket closed.')
72
+ this.resRecordingData()
73
+ this.resolvePromise(this.inputData)
74
+ }
75
+ this.ws.onerror = (error) => console.error('WebSocket error:', error)
76
+ },
77
+
78
+ waitForWebSocketConnection () {
79
+ return new Promise((resolve) => {
80
+ this.ws.onopen = () => {
81
+ console.log('WebSocket 连接成功')
82
+ resolve()
83
+ }
84
+
85
+ this.ws.onerror = (error) => {
86
+ resolve('WebSocket 连接失败: ' + error.message)
87
+ }
88
+ })
89
+ },
90
+
91
+ setupAudioProcessing () {
92
+ try {
93
+ const source = this.audioContext.createMediaStreamSource(this.audioStream)
94
+ const processor = this.audioContext.createScriptProcessor(4096, 1, 1)
95
+
96
+ processor.onaudioprocess = (e) => {
97
+ // if (!this.isRecording) return
98
+
99
+ const inputData = e.inputBuffer.getChannelData(0)
100
+
101
+ // Resample to 16000 Hz if needed
102
+ const resampledData = this.resample(inputData, this.audioContext.sampleRate, 16000)
103
+
104
+ this.audioChunks.push(new Float32Array(resampledData))
105
+
106
+ // Convert to 16-bit PCM and send via WebSocket
107
+ const byteArray = this.convertTo16BitPCM(resampledData)
108
+
109
+ const finalData = new Uint8Array(1 + byteArray.length) // 创建最终数据数组
110
+ finalData[0] = 1 // 第一个字节为类型,值为1
111
+ finalData.set(byteArray, 1) // 设置实际数据
112
+
113
+ this.ws.send(finalData) // 发送最终数据
114
+ }
115
+
116
+ source.connect(processor)
117
+ processor.connect(this.audioContext.destination)
118
+ return {
119
+ code: 200,
120
+ msg: '录音初始化成功'
121
+ }
122
+ } catch (error) {
123
+ console.error('Error setting up audio processing:', error)
124
+ return {
125
+ code: 500,
126
+ msg: '录音初始化出错:' + error.message
127
+ }
128
+ }
129
+ },
130
+
131
+ stopRecording () {
132
+ console.log('停止录音')
133
+
134
+ // 停止麦克风流
135
+ if (this.audioStream) {
136
+ this.audioStream.getTracks().forEach((track) => track.stop())
137
+ }
138
+
139
+ if (this.audioContext) {
140
+ this.audioContext.close()
141
+ }
142
+
143
+ // 发送结束信号
144
+ const endSignal = new Uint8Array(1) // 创建一个长度为1的Uint8Array
145
+ endSignal[0] = 2 // 直接发送类型,值为2
146
+ this.ws.send(endSignal) // 发送结束信号
147
+
148
+ this.isRecording = false
149
+
150
+ return {
151
+ code: 200,
152
+ msg: '录音已停止'
153
+ }
154
+ },
155
+
156
+ saveAudioFile () {
157
+ const audioBuffer = this.mergeAudioChunks(this.audioChunks)
158
+
159
+ // 转换为 WAV 格式
160
+ const wavBlob = this.encodeWAV(audioBuffer, 16000)
161
+
162
+ // 创建下载链接并触发下载
163
+ const url = URL.createObjectURL(wavBlob)
164
+ const a = document.createElement('a')
165
+ a.style.display = 'none'
166
+ a.href = url
167
+ a.download = 'recording.wav'
168
+ document.body.appendChild(a)
169
+ a.click()
170
+ window.URL.revokeObjectURL(url)
171
+ },
172
+
173
+ mergeAudioChunks (chunks) {
174
+ const length = chunks.reduce((sum, chunk) => sum + chunk.length, 0)
175
+ const result = new Float32Array(length)
176
+ let offset = 0
177
+ for (const chunk of chunks) {
178
+ result.set(chunk, offset)
179
+ offset += chunk.length
180
+ }
181
+ return result
182
+ },
183
+
184
+ encodeWAV (samples, sampleRate) {
185
+ const buffer = new ArrayBuffer(44 + samples.length * 2)
186
+ const view = new DataView(buffer)
187
+
188
+ const writeString = (view, offset, string) => {
189
+ for (let i = 0; i < string.length; i++) {
190
+ view.setUint8(offset + i, string.charCodeAt(i))
191
+ }
192
+ }
193
+
194
+ writeString(view, 0, 'RIFF')
195
+ view.setUint32(4, 36 + samples.length * 2, true)
196
+ writeString(view, 8, 'WAVE')
197
+
198
+ writeString(view, 12, 'fmt ')
199
+ view.setUint32(16, 16, true)
200
+ view.setUint16(20, 1, true)
201
+ view.setUint16(22, 1, true)
202
+ view.setUint32(24, sampleRate, true)
203
+ view.setUint32(28, sampleRate * 2, true)
204
+ view.setUint16(32, 2, true)
205
+ view.setUint16(34, 16, true)
206
+
207
+ writeString(view, 36, 'data')
208
+ view.setUint32(40, samples.length * 2, true)
209
+
210
+ let offset = 44
211
+ for (let i = 0; i < samples.length; i++) {
212
+ const s = Math.max(-1, Math.min(1, samples[i]))
213
+ view.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7fff, true)
214
+ offset += 2
215
+ }
216
+
217
+ return new Blob([buffer], { type: 'audio/wav' })
218
+ },
219
+
220
+ resample (data, inputSampleRate, outputSampleRate) {
221
+ if (inputSampleRate === outputSampleRate) {
222
+ return data
223
+ }
224
+ const sampleRateRatio = inputSampleRate / outputSampleRate
225
+ const newLength = Math.round(data.length / sampleRateRatio)
226
+ const resampledData = new Float32Array(newLength)
227
+ for (let i = 0; i < newLength; i++) {
228
+ const index = Math.round(i * sampleRateRatio)
229
+ resampledData[i] = data[index]
230
+ }
231
+ return resampledData
232
+ },
233
+
234
+ convertTo16BitPCM (data) {
235
+ const output = new Int16Array(data.length)
236
+ for (let i = 0; i < data.length; i++) {
237
+ output[i] = Math.max(-1, Math.min(1, data[i])) * 0x7fff
238
+ }
239
+ return new Uint8Array(output.buffer)
240
+ },
241
+
242
+ async getRecordingData () {
243
+ return new Promise((resolve) => {
244
+ this.resolvePromise = resolve
245
+
246
+ if (!this.ws) {
247
+ // 如果 WebSocket 未初始化,直接拒绝
248
+ console.log('错误结束')
249
+ resolve(this.inputData)
250
+ }
251
+ })
252
+ },
253
+
254
+ resRecordingData () {
255
+ }
256
+ }
257
+ }
258
+ }
@@ -1,23 +1,23 @@
1
- import GetLoginInfoService from '@vue2-client/base-client/plugins/GetLoginInfoService'
2
- import GetAppDataService from '@vue2-client/base-client/plugins/AppData'
3
- import getConfig from '@vue2-client/base-client/plugins/Config'
4
- import moment from '@vue2-client/base-client/plugins/moment'
5
- import recording from '@vue2-client/base-client/plugins/Recording'
6
-
7
- import VueI18nPlugin from './i18n-extend'
8
- import AuthorityPlugin from './authority-plugin'
9
- import TabsPagePlugin from './tabs-page-plugin'
10
-
11
- const Plugins = {
12
- install: function (Vue) {
13
- Vue.use(GetLoginInfoService)
14
- Vue.use(GetAppDataService)
15
- Vue.use(getConfig)
16
- Vue.use(moment)
17
- Vue.use(VueI18nPlugin)
18
- Vue.use(AuthorityPlugin)
19
- Vue.use(TabsPagePlugin)
20
- Vue.use(recording)
21
- }
22
- }
23
- export default Plugins
1
+ import GetLoginInfoService from '@vue2-client/base-client/plugins/GetLoginInfoService'
2
+ import GetAppDataService from '@vue2-client/base-client/plugins/AppData'
3
+ import getConfig from '@vue2-client/base-client/plugins/Config'
4
+ import moment from '@vue2-client/base-client/plugins/moment'
5
+ import recording from '@vue2-client/base-client/plugins/Recording'
6
+
7
+ import VueI18nPlugin from './i18n-extend'
8
+ import AuthorityPlugin from './authority-plugin'
9
+ import TabsPagePlugin from './tabs-page-plugin'
10
+
11
+ const Plugins = {
12
+ install: function (Vue) {
13
+ Vue.use(GetLoginInfoService)
14
+ Vue.use(GetAppDataService)
15
+ Vue.use(getConfig)
16
+ Vue.use(moment)
17
+ Vue.use(VueI18nPlugin)
18
+ Vue.use(AuthorityPlugin)
19
+ Vue.use(TabsPagePlugin)
20
+ Vue.use(recording)
21
+ }
22
+ }
23
+ export default Plugins
@@ -1,39 +1,39 @@
1
- const TabsPagePlugin = {
2
- install (Vue) {
3
- Vue.mixin({
4
- methods: {
5
- $closePage (closeRoute, nextRoute) {
6
- const event = new CustomEvent('page:close', { detail: { closeRoute, nextRoute } })
7
- window.dispatchEvent(event)
8
- },
9
- $refreshPage (route) {
10
- const path = typeof route === 'object' ? route.path : route
11
- const event = new CustomEvent('page:refresh', { detail: { pageKey: path } })
12
- window.dispatchEvent(event)
13
- },
14
- $openPage (route, title) {
15
- this.$setPageTitle(route, title)
16
- this.$router.push(route)
17
- },
18
- $setPageTitle (route, title) {
19
- if (title) {
20
- // let path = typeof route === 'object' ? route.path : route
21
- // path = path && path.split('?')[0]
22
- const path = typeof route === 'object' ? this.$router.resolve(route).route.fullPath : route
23
- this.$store.commit('setting/setCustomTitle', { path, title })
24
- }
25
- }
26
- },
27
- computed: {
28
- customTitle () {
29
- const customTitles = this.$store.state.setting.customTitles
30
- // const path = this.$route.path.split('?')[0]
31
- const custom = customTitles.find(item => item.path === this.$route.fullPath)
32
- return custom && custom.title
33
- }
34
- }
35
- })
36
- }
37
- }
38
-
39
- export default TabsPagePlugin
1
+ const TabsPagePlugin = {
2
+ install (Vue) {
3
+ Vue.mixin({
4
+ methods: {
5
+ $closePage (closeRoute, nextRoute) {
6
+ const event = new CustomEvent('page:close', { detail: { closeRoute, nextRoute } })
7
+ window.dispatchEvent(event)
8
+ },
9
+ $refreshPage (route) {
10
+ const path = typeof route === 'object' ? route.path : route
11
+ const event = new CustomEvent('page:refresh', { detail: { pageKey: path } })
12
+ window.dispatchEvent(event)
13
+ },
14
+ $openPage (route, title) {
15
+ this.$setPageTitle(route, title)
16
+ this.$router.push(route)
17
+ },
18
+ $setPageTitle (route, title) {
19
+ if (title) {
20
+ // let path = typeof route === 'object' ? route.path : route
21
+ // path = path && path.split('?')[0]
22
+ const path = typeof route === 'object' ? this.$router.resolve(route).route.fullPath : route
23
+ this.$store.commit('setting/setCustomTitle', { path, title })
24
+ }
25
+ }
26
+ },
27
+ computed: {
28
+ customTitle () {
29
+ const customTitles = this.$store.state.setting.customTitles
30
+ // const path = this.$route.path.split('?')[0]
31
+ const custom = customTitles.find(item => item.path === this.$route.fullPath)
32
+ return custom && custom.title
33
+ }
34
+ }
35
+ })
36
+ }
37
+ }
38
+
39
+ export default TabsPagePlugin