vue2-client 1.17.40 → 1.17.42

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 (352) 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/paymentMethod/package.info +1 -1
  68. package/src/assets/img/querySlotDemo.svg +15 -15
  69. package/src/assets/svg/badtwo.svg +1 -1
  70. package/src/assets/svg/goodtwo.svg +1 -1
  71. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  72. package/src/base-client/components/AI/demo.vue +31 -31
  73. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  74. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  75. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  76. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  77. package/src/base-client/components/common/CitySelect/index.js +3 -3
  78. package/src/base-client/components/common/CitySelect/index.md +109 -109
  79. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  80. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  81. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  82. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  83. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  84. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  85. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  86. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  87. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  88. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  89. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  90. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  91. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  92. package/src/base-client/components/common/HIS/HFormTable/HFormTable.vue +3 -1
  93. package/src/base-client/components/common/HIS/demo.vue +61 -61
  94. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  95. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  96. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  97. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  98. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  99. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  100. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  101. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  102. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  103. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  104. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  105. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  106. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  107. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  108. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  109. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  110. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  111. package/src/base-client/components/common/Recording/index.js +3 -3
  112. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  113. package/src/base-client/components/common/Tree/index.js +2 -2
  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/XFormTable.vue +1093 -1093
  147. package/src/base-client/components/common/XFormTable/demo.vue +113 -113
  148. package/src/base-client/components/common/XFormTable/index.md +92 -92
  149. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  150. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  151. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  152. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  153. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  154. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  155. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  156. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  157. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  158. package/src/base-client/components/common/XPrint/index.vue +97 -97
  159. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  160. package/src/base-client/components/common/XReport/XReportHospitalizationDemo.vue +45 -0
  161. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  162. package/src/base-client/components/common/XReport/index.js +3 -3
  163. package/src/base-client/components/common/XReport/print.js +186 -186
  164. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  165. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  166. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  167. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  168. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  169. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  170. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  171. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  172. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  173. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  174. package/src/base-client/components/common/XStepView/index.js +3 -3
  175. package/src/base-client/components/common/XStepView/index.md +31 -31
  176. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  177. package/src/base-client/components/common/XTab/index.js +3 -3
  178. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  179. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  180. package/src/base-client/components/common/XTable/XTableWrapper.vue +706 -706
  181. package/src/base-client/components/common/XTable/index.md +255 -255
  182. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  183. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  184. package/src/base-client/components/common/XTree/index.js +3 -3
  185. package/src/base-client/components/common/XTree/index.md +36 -36
  186. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  187. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  188. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  189. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  190. package/src/base-client/components/his/HChart/HChart.vue +493 -0
  191. package/src/base-client/components/his/HChart/demo.vue +88 -0
  192. package/src/base-client/components/his/HChart/index.md +798 -0
  193. package/src/base-client/components/his/XCharge/XChargeDemo.vue +145 -145
  194. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  195. package/src/base-client/components/his/XIcon/XIcon.vue +73 -73
  196. package/src/base-client/components/his/XIcon/index.js +3 -3
  197. package/src/base-client/components/his/XIcon/index.md +177 -177
  198. package/src/base-client/components/index.js +51 -51
  199. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  200. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  201. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  202. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  203. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  204. package/src/base-client/plugins/Config.js +19 -19
  205. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  206. package/src/base-client/plugins/Recording.js +258 -258
  207. package/src/base-client/plugins/index.js +23 -23
  208. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  209. package/src/components/Charts/Bar.vue +62 -62
  210. package/src/components/Charts/ChartCard.vue +134 -134
  211. package/src/components/Charts/Liquid.vue +67 -67
  212. package/src/components/Charts/MiniArea.vue +39 -39
  213. package/src/components/Charts/MiniBar.vue +39 -39
  214. package/src/components/Charts/MiniProgress.vue +75 -75
  215. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  216. package/src/components/Charts/Radar.vue +68 -68
  217. package/src/components/Charts/RankList.vue +77 -77
  218. package/src/components/Charts/TagCloud.vue +113 -113
  219. package/src/components/Charts/TransferBar.vue +64 -64
  220. package/src/components/Charts/Trend.vue +82 -82
  221. package/src/components/Charts/chart.less +12 -12
  222. package/src/components/Charts/smooth.area.less +13 -13
  223. package/src/components/CodeMirror/inedx.vue +118 -118
  224. package/src/components/CodeMirror/setting.js +40 -40
  225. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  226. package/src/components/NumberInfo/index.js +3 -3
  227. package/src/components/NumberInfo/index.less +54 -54
  228. package/src/components/NumberInfo/index.md +43 -43
  229. package/src/components/STable/index.js +771 -771
  230. package/src/components/card/ChartCard.vue +79 -79
  231. package/src/components/chart/Bar.vue +60 -60
  232. package/src/components/chart/MiniArea.vue +67 -67
  233. package/src/components/chart/MiniBar.vue +59 -59
  234. package/src/components/chart/MiniProgress.vue +57 -57
  235. package/src/components/chart/Radar.vue +80 -80
  236. package/src/components/chart/RankingList.vue +60 -60
  237. package/src/components/chart/Trend.vue +79 -79
  238. package/src/components/chart/index.less +9 -9
  239. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  240. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  241. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  242. package/src/components/checkbox/index.js +9 -9
  243. package/src/components/exception/ExceptionPage.vue +70 -70
  244. package/src/components/g2Charts/constants.js +202 -202
  245. package/src/components/g2Charts/demo.vue +808 -808
  246. package/src/components/g2Charts/designer.vue +228 -228
  247. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  248. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  249. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  250. package/src/components/g2Charts/index.vue +397 -397
  251. package/src/components/index.js +36 -36
  252. package/src/components/input/IInput.vue +66 -66
  253. package/src/components/menu/SideMenu.vue +75 -75
  254. package/src/components/menu/menu.js +273 -273
  255. package/src/components/setting/Setting.vue +234 -234
  256. package/src/components/tool/AStepItem.vue +60 -60
  257. package/src/config/CreateQueryConfig.js +325 -325
  258. package/src/config/default/antd.config.js +89 -89
  259. package/src/config/default/setting.config.js +55 -55
  260. package/src/font-style/font.css +60 -60
  261. package/src/layouts/CommonLayout.vue +56 -56
  262. package/src/layouts/PageLayout.vue +151 -151
  263. package/src/layouts/SinglePageView.vue +136 -136
  264. package/src/layouts/header/AdminHeader.vue +132 -132
  265. package/src/layouts/header/HeaderNotice.vue +177 -177
  266. package/src/layouts/header/InstitutionDetail.vue +181 -181
  267. package/src/layouts/tabs/TabsHead.vue +189 -189
  268. package/src/lib.js +1 -1
  269. package/src/mock/extend/index.js +84 -84
  270. package/src/mock/goods/index.js +108 -108
  271. package/src/pages/DefaultExample/index.vue +77 -77
  272. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  273. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  274. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  275. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  276. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  277. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  278. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  279. package/src/pages/DynamicStatistics/index.vue +282 -282
  280. package/src/pages/Example/childIndex.vue +15 -15
  281. package/src/pages/Example/index.vue +30 -30
  282. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  283. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  284. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  285. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  286. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  287. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  288. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  289. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  290. package/src/pages/Recording/index.vue +77 -77
  291. package/src/pages/ServiceReview/index.vue +284 -284
  292. package/src/pages/SubExample/index.vue +26 -26
  293. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  294. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandle.vue +1815 -1815
  295. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowTimeline.vue +1014 -1014
  296. package/src/pages/WorkflowDetail/WorkflowPageDetail/worklog.vue +3 -2
  297. package/src/pages/XReportView/index.vue +64 -64
  298. package/src/pages/XTreeOneProExample/index.vue +67 -67
  299. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  300. package/src/pages/login/Login.vue +379 -379
  301. package/src/pages/login/LoginV3.vue +389 -389
  302. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  303. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  304. package/src/pages/report/ReportTable.js +124 -124
  305. package/src/pages/resourceManage/orgListManage.vue +98 -98
  306. package/src/pages/system/dictionary/index.vue +44 -44
  307. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  308. package/src/pages/system/monitor/operLog/index.vue +37 -37
  309. package/src/pages/system/settings/modifyPassword.vue +117 -117
  310. package/src/pages/system/ticket/index.vue +480 -480
  311. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  312. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  313. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  314. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  315. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  316. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  317. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  318. package/src/plugins/EventLogPlugin.js +33 -33
  319. package/src/plugins/FindParentsData.js +17 -17
  320. package/src/router/async/router.map.js +134 -133
  321. package/src/services/DataModel.js +30 -30
  322. package/src/services/LodopFuncs.js +137 -137
  323. package/src/services/api/TicketDetailsViewApi.js +46 -46
  324. package/src/services/api/cas.js +79 -79
  325. package/src/services/api/entity.js +18 -18
  326. package/src/services/api/index.js +17 -17
  327. package/src/store/modules/account.js +121 -121
  328. package/src/store/modules/index.js +5 -5
  329. package/src/store/modules/lowCode.js +33 -33
  330. package/src/store/modules/setting.js +119 -119
  331. package/src/theme/default/style.less +58 -58
  332. package/src/theme/global.less +311 -311
  333. package/src/utils/authority-utils.js +85 -85
  334. package/src/utils/errorCode.js +6 -6
  335. package/src/utils/formatter.js +74 -74
  336. package/src/utils/htmlToPDF.js +108 -108
  337. package/src/utils/htmlToPDFApi.js +5 -5
  338. package/src/utils/login.js +188 -188
  339. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  340. package/src/utils/lowcode/lowcodeLog.js +29 -29
  341. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  342. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  343. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  344. package/src/utils/map-utils.js +47 -47
  345. package/src/utils/reg.js +95 -95
  346. package/src/utils/runEvalFunction.js +14 -14
  347. package/src/utils/theme-color-replacer-extend.js +92 -92
  348. package/src/utils/util.js +329 -329
  349. package/src/utils/waterMark.js +31 -31
  350. package/src-base-client/components/his/XCharge/README.md +0 -0
  351. package/src-base-client/components/his/XCharge/XCharge.vue +0 -0
  352. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
@@ -1,243 +1,243 @@
1
- <template>
2
- <div>
3
- <a-button type="primary" @click="startRecording" :disabled="isRecording">开始录音</a-button>
4
- <a-button type="primary" @click="stopRecording" :disabled="!isRecording">停止录音</a-button>
5
- <!-- <audio v-if="audioUrl" :src="audioUrl" controls></audio>-->
6
- </div>
7
- </template>
8
-
9
- <script>
10
- import { getConfigByName } from '@vue2-client/services/api/common'
11
- export default {
12
- name: 'PersonSetting',
13
- data () {
14
- return {
15
- isRecording: false, // 标识是否正在录音
16
- mediaRecorder: null, // MediaRecorder 实例
17
- audioChunks: [], // 存储录音数据块
18
- audioUrl: null, // 录音生成的 URL
19
- inputData: '',
20
- config: {}
21
- }
22
- },
23
- props: {},
24
- watch: {},
25
- components: {},
26
- created () {
27
- getConfigByName('V4RecodingConfig', undefined, (x) => {
28
- Object.assign(this.config, x)
29
- })
30
- },
31
- methods: {
32
- async startRecording () {
33
- this.inputData = ''
34
- this.audioChunks = []
35
- const url = this.config.webSocketURL ? this.config.webSocketURL : 'ws://192.168.50.67:31090/websocket/bash' // WebSocket地址
36
- this.setupWebSocket(url)
37
-
38
- // 等待 WebSocket 连接成功
39
- await this.waitForWebSocketConnection()
40
-
41
- this.isRecording = true
42
-
43
- // 初始化 AudioContext
44
- this.audioContext = new (window.AudioContext || window.webkitAudioContext)()
45
-
46
- if (!navigator.mediaDevices || !navigator.mediaDevices.getUserMedia) {
47
- throw new Error(
48
- '录音软件不支持您的浏览器!请使用现代浏览器或确保您正在使用 HTTPS。'
49
- )
50
- }
51
-
52
- // 获取麦克风输入流
53
- this.audioStream = await navigator.mediaDevices.getUserMedia({ audio: true })
54
-
55
- // 设置音频处理流程
56
- this.setupAudioProcessing()
57
- },
58
- setupWebSocket (url) {
59
- this.ws = new WebSocket(url)
60
-
61
- this.ws.onmessage = (event) => {
62
- const data = JSON.parse(event.data)
63
- console.log('Result:', data.result)
64
- if (data.result !== undefined) {
65
- this.inputData += data.result
66
- }
67
- if (!this.isRecording) {
68
- this.ws.close()
69
- this.resRecordingData()
70
- }
71
- }
72
-
73
- this.ws.onclose = () => console.log('WebSocket closed.')
74
- this.ws.onerror = (error) => console.error('WebSocket error:', error)
75
- },
76
-
77
- waitForWebSocketConnection () {
78
- return new Promise((resolve, reject) => {
79
- this.ws.onopen = () => {
80
- console.log('WebSocket 连接成功')
81
- resolve()
82
- }
83
-
84
- this.ws.onerror = (error) => {
85
- reject(new Error('WebSocket 连接失败: ' + error.message))
86
- }
87
- })
88
- },
89
-
90
- setupAudioProcessing () {
91
- try {
92
- const source = this.audioContext.createMediaStreamSource(this.audioStream)
93
- const processor = this.audioContext.createScriptProcessor(4096, 1, 1)
94
-
95
- processor.onaudioprocess = (e) => {
96
- if (!this.isRecording) return
97
-
98
- const inputData = e.inputBuffer.getChannelData(0)
99
-
100
- // 收集音频数据块
101
-
102
- // Resample to 16000 Hz if needed
103
- const resampledData = this.resample(inputData, this.audioContext.sampleRate, 16000)
104
-
105
- this.audioChunks.push(new Float32Array(resampledData))
106
-
107
- // Convert to 16-bit PCM and send via WebSocket
108
- const byteArray = this.convertTo16BitPCM(resampledData)
109
- this.ws.send(byteArray)
110
- }
111
-
112
- source.connect(processor)
113
- processor.connect(this.audioContext.destination)
114
- } catch (error) {
115
- console.error('Error setting up audio processing:', error)
116
- throw error
117
- }
118
- },
119
-
120
- stopRecording () {
121
- this.isRecording = false
122
-
123
- // 停止麦克风流
124
- if (this.audioStream) {
125
- this.audioStream.getTracks().forEach((track) => track.stop())
126
- }
127
-
128
- // 合并音频数据块并保存为文件
129
- // this.saveAudioFile()
130
-
131
- // 关闭 WebSocket
132
- // if (this.ws) {
133
- // this.ws.close()
134
- // }
135
-
136
- if (this.audioContext) {
137
- this.audioContext.close()
138
- }
139
- },
140
-
141
- saveAudioFile () {
142
- // 合并所有音频块
143
- const audioBuffer = this.mergeAudioChunks(this.audioChunks)
144
-
145
- // 转换为 WAV 格式
146
- const wavBlob = this.encodeWAV(audioBuffer, 16000)
147
-
148
- // 创建下载链接并触发下载
149
- const url = URL.createObjectURL(wavBlob)
150
- const a = document.createElement('a')
151
- a.style.display = 'none'
152
- a.href = url
153
- a.download = 'recording.wav'
154
- document.body.appendChild(a)
155
- a.click()
156
- window.URL.revokeObjectURL(url)
157
- },
158
-
159
- mergeAudioChunks (chunks) {
160
- const length = chunks.reduce((sum, chunk) => sum + chunk.length, 0)
161
- const result = new Float32Array(length)
162
- let offset = 0
163
- for (const chunk of chunks) {
164
- result.set(chunk, offset)
165
- offset += chunk.length
166
- }
167
- return result
168
- },
169
-
170
- encodeWAV (samples, sampleRate) {
171
- const buffer = new ArrayBuffer(44 + samples.length * 2) // 每个样本占2字节
172
- const view = new DataView(buffer)
173
-
174
- const writeString = (view, offset, string) => {
175
- for (let i = 0; i < string.length; i++) {
176
- view.setUint8(offset + i, string.charCodeAt(i))
177
- }
178
- }
179
-
180
- // WAV文件头
181
- writeString(view, 0, 'RIFF') // ChunkID
182
- view.setUint32(4, 36 + samples.length * 2, true) // ChunkSize
183
- writeString(view, 8, 'WAVE') // Format
184
-
185
- // fmt子块
186
- writeString(view, 12, 'fmt ') // Subchunk1ID
187
- view.setUint32(16, 16, true) // Subchunk1Size (PCM格式固定为16)
188
- view.setUint16(20, 1, true) // AudioFormat (PCM为1)
189
- view.setUint16(22, 1, true) // NumChannels (单声道为1)
190
- view.setUint32(24, sampleRate, true) // SampleRate
191
- view.setUint32(28, sampleRate * 2, true) // ByteRate (SampleRate * NumChannels * BitsPerSample/8)
192
- view.setUint16(32, 2, true) // BlockAlign (NumChannels * BitsPerSample/8)
193
- view.setUint16(34, 16, true) // BitsPerSample
194
-
195
- // data子块
196
- writeString(view, 36, 'data') // Subchunk2ID
197
- view.setUint32(40, samples.length * 2, true) // Subchunk2Size
198
-
199
- // 写入PCM数据
200
- let offset = 44
201
- for (let i = 0; i < samples.length; i++) {
202
- const s = Math.max(-1, Math.min(1, samples[i])) // 限制范围为[-1, 1]
203
- view.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7FFF, true) // 转换为16位PCM
204
- offset += 2
205
- }
206
-
207
- return new Blob([buffer], { type: 'audio/wav' })
208
- },
209
-
210
- resample (data, inputSampleRate, outputSampleRate) {
211
- if (inputSampleRate === outputSampleRate) {
212
- return data
213
- }
214
- const sampleRateRatio = inputSampleRate / outputSampleRate
215
- const newLength = Math.round(data.length / sampleRateRatio)
216
- const resampledData = new Float32Array(newLength)
217
- for (let i = 0; i < newLength; i++) {
218
- const index = Math.round(i * sampleRateRatio)
219
- resampledData[i] = data[index]
220
- }
221
- return resampledData
222
- },
223
- convertTo16BitPCM (data) {
224
- const output = new Int16Array(data.length)
225
- for (let i = 0; i < data.length; i++) {
226
- output[i] = Math.max(-1, Math.min(1, data[i])) * 0x7FFF
227
- }
228
- return new Uint8Array(output.buffer)
229
- },
230
- getRecordingData () {
231
- return this.inputData
232
- },
233
- resRecordingData () {
234
- this.$emit('recordingData', this.inputData)
235
- }
236
- }
237
- }
238
-
239
- </script>
240
-
241
- <style lang="less" scoped>
242
-
243
- </style>
1
+ <template>
2
+ <div>
3
+ <a-button type="primary" @click="startRecording" :disabled="isRecording">开始录音</a-button>
4
+ <a-button type="primary" @click="stopRecording" :disabled="!isRecording">停止录音</a-button>
5
+ <!-- <audio v-if="audioUrl" :src="audioUrl" controls></audio>-->
6
+ </div>
7
+ </template>
8
+
9
+ <script>
10
+ import { getConfigByName } from '@vue2-client/services/api/common'
11
+ export default {
12
+ name: 'PersonSetting',
13
+ data () {
14
+ return {
15
+ isRecording: false, // 标识是否正在录音
16
+ mediaRecorder: null, // MediaRecorder 实例
17
+ audioChunks: [], // 存储录音数据块
18
+ audioUrl: null, // 录音生成的 URL
19
+ inputData: '',
20
+ config: {}
21
+ }
22
+ },
23
+ props: {},
24
+ watch: {},
25
+ components: {},
26
+ created () {
27
+ getConfigByName('V4RecodingConfig', undefined, (x) => {
28
+ Object.assign(this.config, x)
29
+ })
30
+ },
31
+ methods: {
32
+ async startRecording () {
33
+ this.inputData = ''
34
+ this.audioChunks = []
35
+ const url = this.config.webSocketURL ? this.config.webSocketURL : 'ws://192.168.50.67:31090/websocket/bash' // WebSocket地址
36
+ this.setupWebSocket(url)
37
+
38
+ // 等待 WebSocket 连接成功
39
+ await this.waitForWebSocketConnection()
40
+
41
+ this.isRecording = true
42
+
43
+ // 初始化 AudioContext
44
+ this.audioContext = new (window.AudioContext || window.webkitAudioContext)()
45
+
46
+ if (!navigator.mediaDevices || !navigator.mediaDevices.getUserMedia) {
47
+ throw new Error(
48
+ '录音软件不支持您的浏览器!请使用现代浏览器或确保您正在使用 HTTPS。'
49
+ )
50
+ }
51
+
52
+ // 获取麦克风输入流
53
+ this.audioStream = await navigator.mediaDevices.getUserMedia({ audio: true })
54
+
55
+ // 设置音频处理流程
56
+ this.setupAudioProcessing()
57
+ },
58
+ setupWebSocket (url) {
59
+ this.ws = new WebSocket(url)
60
+
61
+ this.ws.onmessage = (event) => {
62
+ const data = JSON.parse(event.data)
63
+ console.log('Result:', data.result)
64
+ if (data.result !== undefined) {
65
+ this.inputData += data.result
66
+ }
67
+ if (!this.isRecording) {
68
+ this.ws.close()
69
+ this.resRecordingData()
70
+ }
71
+ }
72
+
73
+ this.ws.onclose = () => console.log('WebSocket closed.')
74
+ this.ws.onerror = (error) => console.error('WebSocket error:', error)
75
+ },
76
+
77
+ waitForWebSocketConnection () {
78
+ return new Promise((resolve, reject) => {
79
+ this.ws.onopen = () => {
80
+ console.log('WebSocket 连接成功')
81
+ resolve()
82
+ }
83
+
84
+ this.ws.onerror = (error) => {
85
+ reject(new Error('WebSocket 连接失败: ' + error.message))
86
+ }
87
+ })
88
+ },
89
+
90
+ setupAudioProcessing () {
91
+ try {
92
+ const source = this.audioContext.createMediaStreamSource(this.audioStream)
93
+ const processor = this.audioContext.createScriptProcessor(4096, 1, 1)
94
+
95
+ processor.onaudioprocess = (e) => {
96
+ if (!this.isRecording) return
97
+
98
+ const inputData = e.inputBuffer.getChannelData(0)
99
+
100
+ // 收集音频数据块
101
+
102
+ // Resample to 16000 Hz if needed
103
+ const resampledData = this.resample(inputData, this.audioContext.sampleRate, 16000)
104
+
105
+ this.audioChunks.push(new Float32Array(resampledData))
106
+
107
+ // Convert to 16-bit PCM and send via WebSocket
108
+ const byteArray = this.convertTo16BitPCM(resampledData)
109
+ this.ws.send(byteArray)
110
+ }
111
+
112
+ source.connect(processor)
113
+ processor.connect(this.audioContext.destination)
114
+ } catch (error) {
115
+ console.error('Error setting up audio processing:', error)
116
+ throw error
117
+ }
118
+ },
119
+
120
+ stopRecording () {
121
+ this.isRecording = false
122
+
123
+ // 停止麦克风流
124
+ if (this.audioStream) {
125
+ this.audioStream.getTracks().forEach((track) => track.stop())
126
+ }
127
+
128
+ // 合并音频数据块并保存为文件
129
+ // this.saveAudioFile()
130
+
131
+ // 关闭 WebSocket
132
+ // if (this.ws) {
133
+ // this.ws.close()
134
+ // }
135
+
136
+ if (this.audioContext) {
137
+ this.audioContext.close()
138
+ }
139
+ },
140
+
141
+ saveAudioFile () {
142
+ // 合并所有音频块
143
+ const audioBuffer = this.mergeAudioChunks(this.audioChunks)
144
+
145
+ // 转换为 WAV 格式
146
+ const wavBlob = this.encodeWAV(audioBuffer, 16000)
147
+
148
+ // 创建下载链接并触发下载
149
+ const url = URL.createObjectURL(wavBlob)
150
+ const a = document.createElement('a')
151
+ a.style.display = 'none'
152
+ a.href = url
153
+ a.download = 'recording.wav'
154
+ document.body.appendChild(a)
155
+ a.click()
156
+ window.URL.revokeObjectURL(url)
157
+ },
158
+
159
+ mergeAudioChunks (chunks) {
160
+ const length = chunks.reduce((sum, chunk) => sum + chunk.length, 0)
161
+ const result = new Float32Array(length)
162
+ let offset = 0
163
+ for (const chunk of chunks) {
164
+ result.set(chunk, offset)
165
+ offset += chunk.length
166
+ }
167
+ return result
168
+ },
169
+
170
+ encodeWAV (samples, sampleRate) {
171
+ const buffer = new ArrayBuffer(44 + samples.length * 2) // 每个样本占2字节
172
+ const view = new DataView(buffer)
173
+
174
+ const writeString = (view, offset, string) => {
175
+ for (let i = 0; i < string.length; i++) {
176
+ view.setUint8(offset + i, string.charCodeAt(i))
177
+ }
178
+ }
179
+
180
+ // WAV文件头
181
+ writeString(view, 0, 'RIFF') // ChunkID
182
+ view.setUint32(4, 36 + samples.length * 2, true) // ChunkSize
183
+ writeString(view, 8, 'WAVE') // Format
184
+
185
+ // fmt子块
186
+ writeString(view, 12, 'fmt ') // Subchunk1ID
187
+ view.setUint32(16, 16, true) // Subchunk1Size (PCM格式固定为16)
188
+ view.setUint16(20, 1, true) // AudioFormat (PCM为1)
189
+ view.setUint16(22, 1, true) // NumChannels (单声道为1)
190
+ view.setUint32(24, sampleRate, true) // SampleRate
191
+ view.setUint32(28, sampleRate * 2, true) // ByteRate (SampleRate * NumChannels * BitsPerSample/8)
192
+ view.setUint16(32, 2, true) // BlockAlign (NumChannels * BitsPerSample/8)
193
+ view.setUint16(34, 16, true) // BitsPerSample
194
+
195
+ // data子块
196
+ writeString(view, 36, 'data') // Subchunk2ID
197
+ view.setUint32(40, samples.length * 2, true) // Subchunk2Size
198
+
199
+ // 写入PCM数据
200
+ let offset = 44
201
+ for (let i = 0; i < samples.length; i++) {
202
+ const s = Math.max(-1, Math.min(1, samples[i])) // 限制范围为[-1, 1]
203
+ view.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7FFF, true) // 转换为16位PCM
204
+ offset += 2
205
+ }
206
+
207
+ return new Blob([buffer], { type: 'audio/wav' })
208
+ },
209
+
210
+ resample (data, inputSampleRate, outputSampleRate) {
211
+ if (inputSampleRate === outputSampleRate) {
212
+ return data
213
+ }
214
+ const sampleRateRatio = inputSampleRate / outputSampleRate
215
+ const newLength = Math.round(data.length / sampleRateRatio)
216
+ const resampledData = new Float32Array(newLength)
217
+ for (let i = 0; i < newLength; i++) {
218
+ const index = Math.round(i * sampleRateRatio)
219
+ resampledData[i] = data[index]
220
+ }
221
+ return resampledData
222
+ },
223
+ convertTo16BitPCM (data) {
224
+ const output = new Int16Array(data.length)
225
+ for (let i = 0; i < data.length; i++) {
226
+ output[i] = Math.max(-1, Math.min(1, data[i])) * 0x7FFF
227
+ }
228
+ return new Uint8Array(output.buffer)
229
+ },
230
+ getRecordingData () {
231
+ return this.inputData
232
+ },
233
+ resRecordingData () {
234
+ this.$emit('recordingData', this.inputData)
235
+ }
236
+ }
237
+ }
238
+
239
+ </script>
240
+
241
+ <style lang="less" scoped>
242
+
243
+ </style>
@@ -1,3 +1,3 @@
1
- import Recording from './Recording.vue'
2
-
3
- export default Recording
1
+ import Recording from './Recording.vue'
2
+
3
+ export default Recording