vue2-client 1.15.85 → 1.15.86

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 (698) hide show
  1. package/.claude/settings.local.json +12 -0
  2. package/.cursorrules +19 -19
  3. package/.editorconfig +9 -9
  4. package/.env +20 -20
  5. package/.env.apply +19 -19
  6. package/.env.development +1 -1
  7. package/.env.gaslink +19 -19
  8. package/.env.his +19 -19
  9. package/.env.iot +19 -19
  10. package/.env.liuli +20 -20
  11. package/.env.message +19 -19
  12. package/.env.revenue +19 -19
  13. package/.env.runtime +19 -19
  14. package/.env.scada +19 -19
  15. package/.eslintrc.js +90 -90
  16. package/.eslintrc.json +5 -5
  17. package/CHANGELOG.md +824 -824
  18. package/CLAUDE.md +89 -89
  19. package/Components.md +60 -60
  20. package/README.md +65 -65
  21. package/babel.config.js +21 -21
  22. package/docs/Logic/345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +46 -46
  23. package/docs/LowCode/lowcode.md +155 -155
  24. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  25. package/docs/index.md +30 -30
  26. package/docs/notice.md +22 -22
  27. package/docs//345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +179 -179
  28. package/index.js +31 -31
  29. package/jest-transform-stub.js +8 -8
  30. package/jest.config.js +22 -22
  31. package/jest.setup.js +7 -7
  32. package/jsconfig.json +19 -19
  33. package/package.json +111 -111
  34. package/public/his/editor/editor.html +51 -51
  35. package/public/his/editor/mock/bind_data.html +779 -779
  36. package/public/his/editor/mock/data_table.html +40 -40
  37. package/public/his/editor/mock/sign.html +75 -75
  38. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  39. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  40. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  41. package/public/his/editor/vender/date97/calendar.js +4 -4
  42. package/public/his/editor/vender/date97/lang/en.js +13 -13
  43. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  44. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  45. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  46. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  47. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  48. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  49. package/public/his/editor/vender/diff.js +1627 -1627
  50. package/public/his/editor/vender/editor.js +1 -1
  51. package/public/his/editor/vender/fabric.js +31187 -31187
  52. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  53. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  54. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  55. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  56. package/public/his/editor/vender/mui/mui.min.css +4 -4
  57. package/public/his/editor/vender/mui/mui.min.js +5 -5
  58. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  59. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  60. package/public/his/editor/vender/qrcode.js +7 -7
  61. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  62. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  63. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  64. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  65. package/public/his/editor/vender/validator.js +5094 -5094
  66. package/public/his/editor/vender/weui/weui.css +5659 -5659
  67. package/public/his/editor/vender/weui/weui.min.css +4 -4
  68. package/public/his/editor/vender/weui/weui.min.js +11 -11
  69. package/public/index.html +27 -27
  70. package/src/App.vue +196 -196
  71. package/src/ReportView.js +13 -13
  72. package/src/assets/img/querySlotDemo.svg +15 -15
  73. package/src/assets/svg/badtwo.svg +1 -1
  74. package/src/assets/svg/goodtwo.svg +1 -1
  75. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  76. package/src/base-client/components/AI/demo.vue +31 -31
  77. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +532 -532
  78. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  79. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  80. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  81. package/src/base-client/components/common/AddressSearchCombobox/index.js +3 -3
  82. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  83. package/src/base-client/components/common/AmapMarker/index.js +3 -3
  84. package/src/base-client/components/common/CitySelect/CitySelect.vue +376 -376
  85. package/src/base-client/components/common/CitySelect/demo.vue +43 -43
  86. package/src/base-client/components/common/CitySelect/index.js +3 -3
  87. package/src/base-client/components/common/CitySelect/index.md +109 -109
  88. package/src/base-client/components/common/ColorPickerCombobox/ColorPickerCombobox.vue +99 -99
  89. package/src/base-client/components/common/ColorPickerCombobox/demo.vue +34 -34
  90. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  91. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  92. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  93. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  94. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  95. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  96. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  97. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  98. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +146 -146
  99. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  100. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  101. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  102. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  103. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  104. package/src/base-client/components/common/JSONToTree/index.js +3 -3
  105. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  106. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  107. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  108. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  109. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  110. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  111. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  112. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  113. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  114. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  115. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  116. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  117. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  118. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  119. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  120. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  121. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  122. package/src/base-client/components/common/Recording/index.js +3 -3
  123. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  124. package/src/base-client/components/common/Tree/index.js +2 -2
  125. package/src/base-client/components/common/Upload/Upload.vue +323 -323
  126. package/src/base-client/components/common/Upload/index.js +3 -3
  127. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  128. package/src/base-client/components/common/XAddForm/index.js +3 -3
  129. package/src/base-client/components/common/XAddForm/index.md +61 -61
  130. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +1169 -1169
  131. package/src/base-client/components/common/XAddNativeForm/demo.vue +54 -40
  132. package/src/base-client/components/common/XAddNativeForm/index.js +3 -3
  133. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  134. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +303 -303
  135. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  136. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  137. package/src/base-client/components/common/XAddReport/XAddReport.vue +212 -212
  138. package/src/base-client/components/common/XAddReport/index.js +3 -3
  139. package/src/base-client/components/common/XAddReport/index.md +56 -56
  140. package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
  141. package/src/base-client/components/common/XBadge/index.js +3 -3
  142. package/src/base-client/components/common/XBadge/index.md +39 -39
  143. package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
  144. package/src/base-client/components/common/XButtons/XButtons.vue +284 -284
  145. package/src/base-client/components/common/XButtons/index.js +3 -3
  146. package/src/base-client/components/common/XButtons/index.md +61 -61
  147. package/src/base-client/components/common/XCalendar/XCalendar.vue +369 -369
  148. package/src/base-client/components/common/XCalendar/index.md +284 -284
  149. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  150. package/src/base-client/components/common/XCard/index.js +3 -3
  151. package/src/base-client/components/common/XCard/index.md +43 -43
  152. package/src/base-client/components/common/XCardSet/XCardSet.vue +300 -300
  153. package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
  154. package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
  155. package/src/base-client/components/common/XCollapse/XCollapse.vue +354 -354
  156. package/src/base-client/components/common/XConversation/XConversation.vue +576 -576
  157. package/src/base-client/components/common/XConversation/XConversationDemo.vue +28 -28
  158. package/src/base-client/components/common/XDataCard/XDataCard.vue +629 -629
  159. package/src/base-client/components/common/XDataCard/index.js +3 -3
  160. package/src/base-client/components/common/XDataCard/index.md +1 -1
  161. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  162. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  163. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  164. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  165. package/src/base-client/components/common/XDatePicker/index.vue +276 -276
  166. package/src/base-client/components/common/XDescriptions/XDescriptions.vue +174 -174
  167. package/src/base-client/components/common/XDescriptions/XDescriptionsGroup.vue +314 -314
  168. package/src/base-client/components/common/XDescriptions/demo.vue +51 -51
  169. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  170. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  171. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  172. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  173. package/src/base-client/components/common/XForm/XForm.vue +420 -420
  174. package/src/base-client/components/common/XForm/XFormItem.vue +1474 -1390
  175. package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
  176. package/src/base-client/components/common/XForm/XTreeSelect.vue +276 -276
  177. package/src/base-client/components/common/XForm/demo.vue +105 -105
  178. package/src/base-client/components/common/XForm/index.js +3 -3
  179. package/src/base-client/components/common/XForm/index.md +178 -178
  180. package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
  181. package/src/base-client/components/common/XFormCol/XFormCol.vue +157 -157
  182. package/src/base-client/components/common/XFormCol/index.js +3 -3
  183. package/src/base-client/components/common/XFormCol/index.md +35 -35
  184. package/src/base-client/components/common/XFormGroup/XFormGroup.vue +301 -301
  185. package/src/base-client/components/common/XFormGroup/demo.vue +41 -41
  186. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  187. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  188. package/src/base-client/components/common/XFormGroupDetails/XFormGroupDetails.vue +72 -72
  189. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  190. package/src/base-client/components/common/XFormTable/XFormTable.vue +938 -938
  191. package/src/base-client/components/common/XFormTable/demo.vue +87 -87
  192. package/src/base-client/components/common/XFormTable/index.js +3 -3
  193. package/src/base-client/components/common/XFormTable/index.md +92 -92
  194. package/src/base-client/components/common/XImportExcel/XImportExcel.vue +174 -174
  195. package/src/base-client/components/common/XImportExcel/index.js +3 -3
  196. package/src/base-client/components/common/XImportExcel/index.md +38 -38
  197. package/src/base-client/components/common/XInput/XInput.vue +128 -128
  198. package/src/base-client/components/common/XInput/index.js +3 -3
  199. package/src/base-client/components/common/XInput/index.md +97 -97
  200. package/src/base-client/components/common/XIntervalPicker/XIntervalPicker.vue +121 -121
  201. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  202. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  203. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  204. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  205. package/src/base-client/components/common/XLicensePlate/index.js +3 -3
  206. package/src/base-client/components/common/XLicensePlate/index.md +38 -38
  207. package/src/base-client/components/common/XPrint/Demo.vue +41 -41
  208. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  209. package/src/base-client/components/common/XPrint/PrintBill.vue +308 -308
  210. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  211. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  212. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  213. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  214. package/src/base-client/components/common/XPrint/index.vue +97 -97
  215. package/src/base-client/components/common/XRate/demo.vue +102 -102
  216. package/src/base-client/components/common/XRate/index.vue +149 -149
  217. package/src/base-client/components/common/XReport/XReport.vue +963 -963
  218. package/src/base-client/components/common/XReport/XReportDemo.vue +70 -70
  219. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  220. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  221. package/src/base-client/components/common/XReport/XReportTrGroup.vue +1005 -1005
  222. package/src/base-client/components/common/XReport/index.js +3 -3
  223. package/src/base-client/components/common/XReport/index.md +103 -103
  224. package/src/base-client/components/common/XReport/print.js +186 -186
  225. package/src/base-client/components/common/XReportDrawer/XReportDrawer.vue +201 -201
  226. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  227. package/src/base-client/components/common/XReportGrid/XReport.vue +1075 -1075
  228. package/src/base-client/components/common/XReportGrid/XReportDemo.vue +44 -44
  229. package/src/base-client/components/common/XReportGrid/XReportDesign.vue +620 -620
  230. package/src/base-client/components/common/XReportGrid/XReportTrGroup.vue +723 -723
  231. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  232. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  233. package/src/base-client/components/common/XReportGrid/print.js +184 -184
  234. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  235. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  236. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  237. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  238. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  239. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  240. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  241. package/src/base-client/components/common/XStepView/index.js +3 -3
  242. package/src/base-client/components/common/XStepView/index.md +31 -31
  243. package/src/base-client/components/common/XTab/XTab.vue +299 -299
  244. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  245. package/src/base-client/components/common/XTab/index.js +3 -3
  246. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  247. package/src/base-client/components/common/XTable/ExportExcel.vue +283 -283
  248. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  249. package/src/base-client/components/common/XTable/XTable.vue +1599 -1599
  250. package/src/base-client/components/common/XTable/XTableWrapper.vue +597 -597
  251. package/src/base-client/components/common/XTable/index.js +3 -3
  252. package/src/base-client/components/common/XTable/index.md +255 -255
  253. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  254. package/src/base-client/components/common/XTimeline/XTimeline.vue +358 -358
  255. package/src/base-client/components/common/XTimeline/index.md +191 -191
  256. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  257. package/src/base-client/components/common/XTree/XTreePro.vue +452 -452
  258. package/src/base-client/components/common/XTree/index.js +3 -3
  259. package/src/base-client/components/common/XTree/index.md +36 -36
  260. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  261. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  262. package/src/base-client/components/common/XTreeOne/index.js +3 -3
  263. package/src/base-client/components/common/XUploadFilesView/index.vue +485 -485
  264. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  265. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  266. package/src/base-client/components/his/XCharge/XCharge.vue +238 -238
  267. package/src/base-client/components/his/XCheckbox/XCheckbox.vue +105 -105
  268. package/src/base-client/components/his/XCheckbox/index.md +253 -253
  269. package/src/base-client/components/his/XHDescriptions/XHDescriptions.vue +430 -430
  270. package/src/base-client/components/his/XHDescriptions/index.md +217 -217
  271. package/src/base-client/components/his/XHisEditor/XHisEditor.vue +629 -629
  272. package/src/base-client/components/his/XHisEditor/diagnosisAutocomplete.js +263 -263
  273. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  274. package/src/base-client/components/his/XList/XList.vue +495 -495
  275. package/src/base-client/components/his/XQuestionnaire/XQuestionnaire.json +3 -3
  276. package/src/base-client/components/his/XQuestionnaire/XQuestionnaire.vue +106 -106
  277. package/src/base-client/components/his/XQuestionnaire/XQuestionnaireDemo.vue +51 -51
  278. package/src/base-client/components/his/XQuestionnaire/XQuestionnaireItem.vue +269 -269
  279. package/src/base-client/components/his/XRadio/XRadio.vue +125 -125
  280. package/src/base-client/components/his/XRadio/index.md +234 -234
  281. package/src/base-client/components/his/XSelect/XSelect.vue +72 -72
  282. package/src/base-client/components/his/XShiftSchedule/XShiftSchedule.vue +234 -234
  283. package/src/base-client/components/his/XShiftSchedule/dome.vue +29 -29
  284. package/src/base-client/components/his/XSidebar/XSidebar.vue +240 -240
  285. package/src/base-client/components/his/XTextCard/XTextCard.vue +207 -207
  286. package/src/base-client/components/his/XTimeSelect/XTimeSelect.vue +162 -162
  287. package/src/base-client/components/his/XTimeSelect/XTimeSelectDemo.vue +23 -23
  288. package/src/base-client/components/his/XTitle/README.md +113 -113
  289. package/src/base-client/components/his/XTitle/XTitle.vue +123 -123
  290. package/src/base-client/components/his/XTreeRows/TreeNode.vue +107 -107
  291. package/src/base-client/components/his/XTreeRows/XTreeRows.vue +307 -307
  292. package/src/base-client/components/his/threeTestOrders/dome.vue +68 -68
  293. package/src/base-client/components/his/threeTestOrders/editor.vue +111 -111
  294. package/src/base-client/components/his/threeTestOrders/textBox.vue +457 -457
  295. package/src/base-client/components/his/threeTestOrders/threeTestOrders.vue +475 -475
  296. package/src/base-client/components/index.js +51 -51
  297. package/src/base-client/components/layout/XPageView/RenderRow.vue +88 -88
  298. package/src/base-client/components/layout/XPageView/XErrorView.vue +22 -22
  299. package/src/base-client/components/layout/XPageView/XPageRowTemplate.vue +37 -37
  300. package/src/base-client/components/layout/XPageView/XPageView.vue +223 -223
  301. package/src/base-client/components/layout/XPageView/XTab/XTab.vue +96 -96
  302. package/src/base-client/components/layout/XPageView/XTab/index.js +3 -3
  303. package/src/base-client/components/layout/XPageView/componentTypes.js +22 -22
  304. package/src/base-client/components/layout/XPageView/index.js +2 -2
  305. package/src/base-client/components/layout/XPageView/index.md +96 -96
  306. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  307. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  308. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  309. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  310. package/src/base-client/components/system/DictionaryDetailsView/index.js +3 -3
  311. package/src/base-client/components/system/DictionaryDetailsView/index.md +41 -41
  312. package/src/base-client/components/system/LogDetailsView/LogDetailsView.vue +376 -376
  313. package/src/base-client/components/system/LogDetailsView/index.js +3 -3
  314. package/src/base-client/components/system/LogDetailsView/index.md +41 -41
  315. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  316. package/src/base-client/components/system/QueryParamsDetailsView/index.js +3 -3
  317. package/src/base-client/components/ticket/TicketDetailsView/TicketDetailsView.vue +807 -807
  318. package/src/base-client/components/ticket/TicketDetailsView/index.js +3 -3
  319. package/src/base-client/components/ticket/TicketDetailsView/index.md +29 -29
  320. package/src/base-client/components/ticket/TicketDetailsView/part/TicketDetailsFlow.vue +260 -260
  321. package/src/base-client/components/ticket/TicketDetailsView/part/index.js +3 -3
  322. package/src/base-client/components/ticket/TicketSubmitSuccessView/TicketSubmitSuccessView.vue +532 -532
  323. package/src/base-client/components/ticket/TicketSubmitSuccessView/index.js +3 -3
  324. package/src/base-client/components/ticket/TicketSubmitSuccessView/index.md +29 -29
  325. package/src/base-client/plugins/AppData.js +126 -126
  326. package/src/base-client/plugins/Config.js +19 -19
  327. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  328. package/src/base-client/plugins/PagedList.js +177 -177
  329. package/src/base-client/plugins/Recording.js +258 -258
  330. package/src/base-client/plugins/__tests__/selectValueTypeHelper.test.js +154 -0
  331. package/src/base-client/plugins/authority-plugin.js +167 -167
  332. package/src/base-client/plugins/compatible/LoginServiceOA.js +20 -20
  333. package/src/base-client/plugins/i18n-extend.js +32 -32
  334. package/src/base-client/plugins/index.js +23 -23
  335. package/src/base-client/plugins/moment.js +8 -8
  336. package/src/base-client/plugins/selectValueTypeHelper.js +281 -0
  337. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  338. package/src/bootstrap.js +51 -51
  339. package/src/components/Charts/Bar.vue +62 -62
  340. package/src/components/Charts/ChartCard.vue +134 -134
  341. package/src/components/Charts/Liquid.vue +67 -67
  342. package/src/components/Charts/MiniArea.vue +39 -39
  343. package/src/components/Charts/MiniBar.vue +39 -39
  344. package/src/components/Charts/MiniProgress.vue +75 -75
  345. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  346. package/src/components/Charts/Radar.vue +68 -68
  347. package/src/components/Charts/RankList.vue +77 -77
  348. package/src/components/Charts/TagCloud.vue +113 -113
  349. package/src/components/Charts/TransferBar.vue +64 -64
  350. package/src/components/Charts/Trend.vue +82 -82
  351. package/src/components/Charts/chart.less +12 -12
  352. package/src/components/Charts/smooth.area.less +13 -13
  353. package/src/components/CodeMirror/inedx.vue +118 -118
  354. package/src/components/CodeMirror/setting.js +40 -40
  355. package/src/components/Ellipsis/Ellipsis.vue +65 -65
  356. package/src/components/Ellipsis/index.js +3 -3
  357. package/src/components/Ellipsis/index.md +38 -38
  358. package/src/components/FileImageItem/FileItem.vue +320 -320
  359. package/src/components/FileImageItem/FileItemGroup.vue +197 -197
  360. package/src/components/FileImageItem/ImageItem.vue +107 -107
  361. package/src/components/FileImageItem/index.js +4 -4
  362. package/src/components/FilePreview/FilePreview.vue +181 -181
  363. package/src/components/FilePreview/FilePreviewDemo.vue +30 -30
  364. package/src/components/FilePreview/index.js +3 -3
  365. package/src/components/HeightScanner/index.vue +615 -615
  366. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  367. package/src/components/NumberInfo/index.js +3 -3
  368. package/src/components/NumberInfo/index.less +54 -54
  369. package/src/components/NumberInfo/index.md +43 -43
  370. package/src/components/STable/README.md +341 -341
  371. package/src/components/STable/index.js +558 -558
  372. package/src/components/TableSetting/TableSetting.vue +143 -143
  373. package/src/components/TableSetting/index.js +3 -3
  374. package/src/components/Trend/Trend.vue +41 -41
  375. package/src/components/Trend/index.js +3 -3
  376. package/src/components/Trend/index.less +41 -41
  377. package/src/components/Trend/index.md +45 -45
  378. package/src/components/_util/util.js +46 -46
  379. package/src/components/cache/AKeepAlive.js +179 -179
  380. package/src/components/card/ChartCard.vue +79 -79
  381. package/src/components/chart/Bar.vue +60 -60
  382. package/src/components/chart/MiniArea.vue +67 -67
  383. package/src/components/chart/MiniBar.vue +59 -59
  384. package/src/components/chart/MiniProgress.vue +57 -57
  385. package/src/components/chart/Radar.vue +80 -80
  386. package/src/components/chart/RankingList.vue +60 -60
  387. package/src/components/chart/Trend.vue +79 -79
  388. package/src/components/chart/index.less +9 -9
  389. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  390. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  391. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  392. package/src/components/checkbox/index.js +9 -9
  393. package/src/components/exception/ExceptionPage.vue +70 -70
  394. package/src/components/exception/typeConfig.js +19 -19
  395. package/src/components/form/FormRow.vue +52 -52
  396. package/src/components/g2Charts/constants.js +202 -202
  397. package/src/components/g2Charts/demo.vue +808 -808
  398. package/src/components/g2Charts/designer.vue +228 -228
  399. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  400. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  401. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  402. package/src/components/g2Charts/index.vue +397 -397
  403. package/src/components/index.js +36 -36
  404. package/src/components/index.less +5 -5
  405. package/src/components/input/IInput.vue +66 -66
  406. package/src/components/menu/Contextmenu.vue +84 -84
  407. package/src/components/menu/SideMenu.vue +75 -75
  408. package/src/components/menu/index.less +38 -38
  409. package/src/components/menu/menu.js +273 -273
  410. package/src/components/page/header/PageHeader.vue +64 -64
  411. package/src/components/page/header/index.less +40 -40
  412. package/src/components/result/Result.vue +77 -77
  413. package/src/components/setting/Setting.vue +234 -234
  414. package/src/components/setting/SettingItem.vue +26 -26
  415. package/src/components/setting/i18n.js +117 -117
  416. package/src/components/table/StandardTable.vue +141 -141
  417. package/src/components/table/advance/ActionColumns.vue +158 -158
  418. package/src/components/table/advance/ActionSize.vue +45 -45
  419. package/src/components/table/advance/AdvanceTable.vue +275 -275
  420. package/src/components/table/advance/SearchArea.vue +355 -355
  421. package/src/components/table/advance/index.js +2 -2
  422. package/src/components/table/api/ApiTable.vue +50 -50
  423. package/src/components/task/TaskGroup.vue +80 -80
  424. package/src/components/task/TaskItem.vue +26 -26
  425. package/src/components/tool/AStepItem.vue +60 -60
  426. package/src/components/tool/AvatarList.vue +68 -68
  427. package/src/components/tool/DetailList.vue +157 -157
  428. package/src/components/tool/Drawer.vue +142 -142
  429. package/src/components/tool/FooterToolBar.vue +30 -30
  430. package/src/components/tool/HeadInfo.vue +35 -35
  431. package/src/components/tool/TagSelect.vue +83 -83
  432. package/src/components/tool/TagSelectOption.vue +33 -33
  433. package/src/components/transition/PageToggleTransition.vue +97 -97
  434. package/src/config/CreateQueryConfig.js +325 -325
  435. package/src/config/default/admin.config.js +18 -18
  436. package/src/config/default/animate.config.js +21 -21
  437. package/src/config/default/antd.config.js +89 -89
  438. package/src/config/default/index.js +6 -6
  439. package/src/config/default/setting.config.js +55 -55
  440. package/src/config/index.js +3 -3
  441. package/src/config/replacer/index.js +10 -10
  442. package/src/config/replacer/resolve.config.js +67 -67
  443. package/src/expression/ExpressionRunner.js +26 -26
  444. package/src/expression/TestExpression.js +509 -509
  445. package/src/expression/core/Delegate.js +115 -115
  446. package/src/expression/core/Expression.js +1358 -1358
  447. package/src/expression/core/Program.js +932 -932
  448. package/src/expression/core/Token.js +27 -27
  449. package/src/expression/enums/ExpressionType.js +81 -81
  450. package/src/expression/enums/TokenType.js +11 -11
  451. package/src/expression/exception/BreakWayException.js +2 -2
  452. package/src/expression/exception/ContinueWayException.js +2 -2
  453. package/src/expression/exception/ExpressionException.js +28 -28
  454. package/src/expression/exception/ReturnWayException.js +14 -14
  455. package/src/expression/exception/ServiceException.js +22 -22
  456. package/src/expression/instances/LogicConsole.js +44 -44
  457. package/src/expression/ts/ExpressionRunner.ts +28 -28
  458. package/src/expression/ts/TestExpression.ts +509 -509
  459. package/src/expression/ts/core/Delegate.ts +114 -114
  460. package/src/expression/ts/core/Expression.ts +1309 -1309
  461. package/src/expression/ts/core/Program.ts +950 -950
  462. package/src/expression/ts/core/Token.ts +29 -29
  463. package/src/expression/ts/enums/ExpressionType.ts +81 -81
  464. package/src/expression/ts/enums/TokenType.ts +13 -13
  465. package/src/expression/ts/exception/BreakWayException.ts +2 -2
  466. package/src/expression/ts/exception/ContinueWayException.ts +2 -2
  467. package/src/expression/ts/exception/ExpressionException.ts +28 -28
  468. package/src/expression/ts/exception/ReturnWayException.ts +14 -14
  469. package/src/expression/ts/exception/ServiceException.ts +22 -22
  470. package/src/expression/ts/instances/JSONArray.ts +48 -48
  471. package/src/expression/ts/instances/JSONObject.ts +109 -109
  472. package/src/expression/ts/instances/LogicConsole.ts +32 -32
  473. package/src/font-style/font.css +4 -4
  474. package/src/layouts/AdminLayout.vue +176 -176
  475. package/src/layouts/BlankView.vue +79 -79
  476. package/src/layouts/CommonLayout.vue +56 -56
  477. package/src/layouts/ComponentLayoutOne.vue +47 -47
  478. package/src/layouts/GridView.vue +43 -43
  479. package/src/layouts/PageLayout.vue +151 -151
  480. package/src/layouts/PageView.vue +55 -55
  481. package/src/layouts/SinglePageView.vue +136 -136
  482. package/src/layouts/footer/PageFooter.vue +49 -49
  483. package/src/layouts/header/AdminHeader.vue +132 -132
  484. package/src/layouts/header/HeaderAvatar.vue +64 -64
  485. package/src/layouts/header/HeaderNotice.vue +177 -177
  486. package/src/layouts/header/HeaderSearch.vue +67 -67
  487. package/src/layouts/header/InstitutionDetail.vue +181 -181
  488. package/src/layouts/header/index.less +92 -92
  489. package/src/layouts/tabs/TabsHead.vue +189 -189
  490. package/src/layouts/tabs/TabsView.vue +383 -383
  491. package/src/layouts/tabs/i18n.js +25 -25
  492. package/src/layouts/tabs/index.js +2 -2
  493. package/src/lib.js +1 -1
  494. package/src/logic/LogicRunner.js +62 -62
  495. package/src/logic/TestLogic.js +13 -13
  496. package/src/logic/plugins/common/DateTools.js +35 -35
  497. package/src/logic/plugins/common/VueTools.js +30 -30
  498. package/src/logic/plugins/index.js +7 -7
  499. package/src/logic/ts/LogicRunner.ts +67 -67
  500. package/src/logic/ts/TestLogic.ts +13 -13
  501. package/src/main.js +33 -33
  502. package/src/mixins/formValidationMixin.js +46 -46
  503. package/src/mock/common/activityData.js +32 -32
  504. package/src/mock/common/index.js +89 -89
  505. package/src/mock/common/reportData.js +20 -20
  506. package/src/mock/common/tableData.js +118 -118
  507. package/src/mock/extend/index.js +84 -84
  508. package/src/mock/goods/index.js +108 -108
  509. package/src/mock/index.js +12 -12
  510. package/src/mock/project/index.js +17 -17
  511. package/src/mock/user/current.js +13 -13
  512. package/src/mock/user/login.js +39 -39
  513. package/src/mock/user/routes.js +61 -61
  514. package/src/mock/workplace/index.js +15 -15
  515. package/src/pages/DefaultExample/index.vue +77 -77
  516. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  517. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  518. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  519. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  520. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  521. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  522. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  523. package/src/pages/DynamicStatistics/index.vue +282 -282
  524. package/src/pages/Example/childIndex.vue +15 -15
  525. package/src/pages/Example/index.vue +30 -30
  526. package/src/pages/LogicCallExample/index.vue +46 -46
  527. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  528. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  529. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  530. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  531. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  532. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  533. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  534. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  535. package/src/pages/Recording/index.vue +77 -77
  536. package/src/pages/ReportGrid/index.vue +76 -76
  537. package/src/pages/ReportView.vue +50 -50
  538. package/src/pages/ServiceReview/index.vue +284 -284
  539. package/src/pages/SubExample/index.vue +26 -26
  540. package/src/pages/WorkflowDetail/WorkFlowDemo.vue +47 -47
  541. package/src/pages/WorkflowDetail/WorkFlowDemo2.vue +204 -204
  542. package/src/pages/WorkflowDetail/WorkFlowDemo3.vue +203 -225
  543. package/src/pages/WorkflowDetail/WorkflowDetail.vue +391 -391
  544. package/src/pages/WorkflowDetail/WorkflowPageDetail/LeaveMessage.vue +388 -388
  545. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  546. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformation.vue +415 -415
  547. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformationDetails.vue +276 -276
  548. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandle.vue +1766 -1766
  549. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandleReso.vue +975 -975
  550. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowPreview.vue +109 -109
  551. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowTimeline.vue +929 -929
  552. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkOrderParentDetails.vue +222 -222
  553. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowDetailResso.vue +243 -243
  554. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowListResolution.vue +248 -248
  555. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowLog.vue +188 -188
  556. package/src/pages/WorkflowDetail/WorkflowPageDetail/components/WorkflowPersonSelector.vue +109 -109
  557. package/src/pages/WorkflowDetail/WorkflowPageDetail/worklog.vue +97 -97
  558. package/src/pages/XPageViewExample/index.vue +149 -149
  559. package/src/pages/XReportView/index.vue +64 -64
  560. package/src/pages/XTreeOneProExample/index.vue +67 -67
  561. package/src/pages/addressSelect/addressDemo.vue +24 -24
  562. package/src/pages/addressSelect/index.vue +270 -270
  563. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  564. package/src/pages/dashboard/workplace/i18n.js +40 -40
  565. package/src/pages/dashboard/workplace/index.js +2 -2
  566. package/src/pages/dashboard/workplace/index.less +59 -59
  567. package/src/pages/exception/403.vue +21 -21
  568. package/src/pages/exception/404.vue +24 -24
  569. package/src/pages/exception/500.vue +21 -21
  570. package/src/pages/login/Login.vue +380 -380
  571. package/src/pages/login/LoginV3.vue +389 -389
  572. package/src/pages/login/index.js +2 -2
  573. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  574. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  575. package/src/pages/report/ReportTable.js +124 -124
  576. package/src/pages/report/ReportTableHome.vue +28 -28
  577. package/src/pages/resourceManage/depListManage.vue +23 -23
  578. package/src/pages/resourceManage/funListManage.vue +23 -23
  579. package/src/pages/resourceManage/index.js +15 -15
  580. package/src/pages/resourceManage/orgListManage.vue +98 -98
  581. package/src/pages/resourceManage/resourceManageMain.vue +57 -57
  582. package/src/pages/resourceManage/roleListManage.vue +23 -23
  583. package/src/pages/resourceManage/staffListManage.vue +23 -23
  584. package/src/pages/system/dictionary/index.vue +44 -44
  585. package/src/pages/system/file/Info.vue +56 -56
  586. package/src/pages/system/file/index.vue +317 -317
  587. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  588. package/src/pages/system/monitor/operLog/index.vue +37 -37
  589. package/src/pages/system/settings/index.vue +126 -126
  590. package/src/pages/system/settings/modifyPassword.vue +117 -117
  591. package/src/pages/system/ticket/index.vue +480 -480
  592. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  593. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  594. package/src/pages/userInfoDetailManage/FillCardRecordQuery/index.vue +77 -77
  595. package/src/pages/userInfoDetailManage/FillGasRecordQuery/index.vue +75 -75
  596. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  597. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  598. package/src/pages/userInfoDetailManage/InsuranceDetailQuery/index.vue +64 -64
  599. package/src/pages/userInfoDetailManage/MachineRecordQuery/index.vue +75 -75
  600. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  601. package/src/pages/userInfoDetailManage/OtherChargeRecordQuery/index.vue +75 -75
  602. package/src/pages/userInfoDetailManage/PriceAdjustments/index.vue +64 -64
  603. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  604. package/src/pages/userInfoDetailManage/UserChargeRecordQuery/index.vue +94 -94
  605. package/src/pages/userInfoDetailManage/UserException/index.vue +64 -64
  606. package/src/pages/userInfoDetailManage/UserHandRecordQuery/index.vue +87 -87
  607. package/src/pages/userInfoDetailManage/UserRecordQuery/index.vue +74 -74
  608. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  609. package/src/pages/userInfoDetailManage/index.vue +290 -290
  610. package/src/pages/userInfoDetailManage/uploadFilesHistory/ImagePreview.vue +101 -101
  611. package/src/pages/userInfoDetailManage/uploadFilesHistory/index.vue +129 -129
  612. package/src/pages/userInfoDetailManage/userInfoDetailQueryTabs.vue +144 -144
  613. package/src/plugins/EventLogPlugin.js +33 -33
  614. package/src/plugins/FindParentsData.js +17 -17
  615. package/src/plugins/HiPrintPlugin.js +164 -164
  616. package/src/router/async/config.async.js +35 -35
  617. package/src/router/async/router.map.js +126 -130
  618. package/src/router/guards.js +262 -262
  619. package/src/router/i18n.js +57 -57
  620. package/src/router/index.js +27 -27
  621. package/src/router.js +17 -17
  622. package/src/services/DataModel.js +30 -30
  623. package/src/services/LodopFuncs.js +137 -137
  624. package/src/services/api/DictionaryDetailsViewApi.js +6 -6
  625. package/src/services/api/LogDetailsViewApi.js +10 -10
  626. package/src/services/api/QueryParamsDetailsViewApi.js +6 -6
  627. package/src/services/api/TicketDetailsViewApi.js +46 -46
  628. package/src/services/api/cas.js +79 -79
  629. package/src/services/api/common.js +346 -346
  630. package/src/services/api/entity.js +18 -18
  631. package/src/services/api/index.js +17 -17
  632. package/src/services/api/logininfor/index.js +6 -6
  633. package/src/services/api/manage.js +8 -8
  634. package/src/services/api/restTools.js +215 -215
  635. package/src/services/api/workFlow.js +57 -57
  636. package/src/services/apiService.js +16 -16
  637. package/src/services/dataSource.js +12 -12
  638. package/src/services/index.js +7 -7
  639. package/src/services/user.js +92 -92
  640. package/src/services/v3Api.js +116 -116
  641. package/src/store/index.js +5 -5
  642. package/src/store/modules/account.js +115 -115
  643. package/src/store/modules/index.js +5 -5
  644. package/src/store/modules/lowCode.js +33 -33
  645. package/src/store/modules/setting.js +119 -119
  646. package/src/store/mutation-types.js +4 -4
  647. package/src/theme/antd/ant-menu.less +2 -2
  648. package/src/theme/antd/ant-message.less +3 -3
  649. package/src/theme/antd/ant-table.less +22 -22
  650. package/src/theme/antd/ant-time-picker.less +3 -3
  651. package/src/theme/antd/index.less +3 -3
  652. package/src/theme/default/color.less +43 -43
  653. package/src/theme/default/index.less +3 -3
  654. package/src/theme/default/nprogress.less +76 -76
  655. package/src/theme/default/style.less +58 -58
  656. package/src/theme/global.less +279 -279
  657. package/src/theme/index.less +5 -5
  658. package/src/theme/reportTable.less +58 -58
  659. package/src/theme/theme.less +1 -1
  660. package/src/utils/EncryptUtil.js +162 -162
  661. package/src/utils/Objects.js +25 -25
  662. package/src/utils/authority-utils.js +85 -85
  663. package/src/utils/axios-interceptors.js +100 -100
  664. package/src/utils/colors.js +107 -107
  665. package/src/utils/common.js +10 -10
  666. package/src/utils/errorCode.js +6 -6
  667. package/src/utils/excel/Blob.js +180 -180
  668. package/src/utils/excel/Export2Excel.js +141 -141
  669. package/src/utils/filter.js +21 -21
  670. package/src/utils/formatter.js +74 -74
  671. package/src/utils/htmlToPDF.js +108 -108
  672. package/src/utils/htmlToPDFApi.js +5 -5
  673. package/src/utils/i18n.js +80 -80
  674. package/src/utils/indexedDB.js +549 -549
  675. package/src/utils/login.js +188 -188
  676. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  677. package/src/utils/lowcode/lowcodeLog.js +29 -29
  678. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  679. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  680. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  681. package/src/utils/map-utils.js +47 -47
  682. package/src/utils/microAppUtils.js +49 -49
  683. package/src/utils/reg.js +95 -95
  684. package/src/utils/request.js +395 -395
  685. package/src/utils/routerUtil.js +553 -553
  686. package/src/utils/runEvalFunction.js +14 -14
  687. package/src/utils/theme-color-replacer-extend.js +92 -92
  688. package/src/utils/themeUtil.js +100 -100
  689. package/src/utils/util.js +329 -329
  690. package/src/utils/waterMark.js +31 -31
  691. package/test/Tree.spec.js +168 -168
  692. package/test/myDialog.spec.js +47 -47
  693. package/test/request.test.js +17 -17
  694. package/test/util.test.js +53 -53
  695. package/test/v3Api.test.js +1984 -1984
  696. package/tests/unit/ReportTable.spec.js +16 -16
  697. package/vue.config.js +222 -222
  698. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
@@ -1,576 +1,576 @@
1
- <template>
2
- <div>
3
- <div class="chat-container" v-if="loading">
4
- <!-- 对话展示区域 -->
5
- <div class="chat-content" ref="chatContent">
6
- <div
7
- v-for="(message, index) in messages"
8
- :key="index"
9
- :class="['chat-message', message.type]"
10
- >
11
- <span class="chat-avatar">{{ message.type === 'user' ? '👤' : '🤖' }}</span>
12
- <div class="chat-text-wrapper">
13
- <div
14
- class="chat-text markdown-body"
15
- v-if="message.text"
16
- v-html="renderMarkdown(message.text)"
17
- ></div>
18
- <div class="chat-text" v-else-if="message.state === 'loading'">
19
- <a-spin :spinning="true"/>
20
- </div>
21
- <a-button
22
- v-if="message.sourceInfo"
23
- type="link"
24
- class="source-info-btn"
25
- @click="showSourceInfo(message.sourceInfo)"
26
- >
27
- 查看源信息
28
- </a-button>
29
- </div>
30
- </div>
31
- </div>
32
-
33
- <!-- 输入框和发送按钮 -->
34
- <div class="chat-input-wrapper">
35
- <div class="chat-input">
36
- <a-input
37
- v-model="inputMessage"
38
- placeholder="Type your message..."
39
- @pressEnter="sendMessage"
40
- />
41
- <a-button type="primary" @click="sendMessage">发送</a-button>
42
- </div>
43
- </div>
44
- </div>
45
- <a-spin :spinning="!loading"/>
46
-
47
- <!-- 源信息弹窗 -->
48
- <a-modal
49
- v-model="sourceInfoVisible"
50
- title="源信息"
51
- :footer="null"
52
- width="600px"
53
- >
54
- <div class="source-info-content markdown-body" v-html="renderMarkdown(currentSourceInfo)"></div>
55
- </a-modal>
56
- </div>
57
- </template>
58
-
59
- <script>
60
- import { runLogic } from '@vue2-client/services/api/common'
61
- import { postByServiceName, startEventStreamPOST } from '@vue2-client/services/api/restTools'
62
- import moment from 'moment/moment'
63
- import { marked } from 'marked'
64
-
65
- export default {
66
- inject: {
67
- getSelectedId: {
68
- default: () => () => {
69
- console.warn('getSelectedId is not provided.')
70
- return null
71
- },
72
- },
73
- setGlobalData: {
74
- default: () => () => {
75
- console.warn('setGlobalData is not provided.')
76
- return null
77
- },
78
- },
79
- getGlobalData: {
80
- default: () => () => {
81
- console.warn('getGlobalData is not provided.')
82
- return null
83
- },
84
- },
85
- getSelectedData: {
86
- default: () => () => {
87
- console.warn('getSelectedData is not provided.')
88
- return null
89
- },
90
- },
91
- getMixinData: {
92
- default: () => () => {
93
- console.warn('getMixinData is not provided.')
94
- return {}
95
- },
96
- },
97
- getOutEnv: {
98
- default: () => () => {
99
- console.warn('getOutEnv is not provided.')
100
- return {}
101
- },
102
- },
103
- currUser: {
104
- default: () => () => {
105
- console.warn('currUser is not provided.')
106
- return {}
107
- },
108
- }
109
- },
110
- name: 'XConversation',
111
- props: {
112
- prompt: {
113
- type: String,
114
- default: undefined
115
- }
116
- },
117
- data () {
118
- return {
119
- serviceName: undefined,
120
- // 组件加载状态
121
- loading: false,
122
- // 配置内容
123
- renderConfig: {
124
- // 请求logic 名称
125
- logicName: '',
126
- // 请求api 地址
127
- api: '',
128
- // 请求流式api 地址
129
- streamApi: '',
130
- // 聊天室id 当type为AI 时必传
131
- chatId: '',
132
- // ai 模型 当type为AI 时必传
133
- aiModel: '',
134
- type: ''
135
- },
136
- // 用户输入的内容
137
- inputMessage: '',
138
- additionalInfo: {},
139
- stopConnection: undefined,
140
- messages: [ // 消息列表
141
- { type: 'bot', text: '你好! 今天有什么能帮到您的?' },
142
- ],
143
- sourceInfoVisible: false,
144
- currentSourceInfo: '',
145
- }
146
- },
147
- methods: {
148
- renderMarkdown (text) {
149
- if (!text) return ''
150
-
151
- // 预处理文本,处理特殊字符
152
- const processedText = text
153
-
154
- try {
155
- // 配置 marked 选项
156
- marked.setOptions({
157
- breaks: true, // 支持换行符
158
- gfm: true, // 启用 GitHub 风格的 Markdown
159
- headerIds: false, // 禁用标题 ID
160
- mangle: false, // 禁用标题 ID 混淆
161
- sanitize: false // 允许 HTML 标签
162
- })
163
- const rendered = marked(processedText)
164
- this.scrollToBottom()
165
- return rendered
166
- } catch (error) {
167
- console.error('Markdown 渲染错误:', error)
168
- return processedText
169
- }
170
- },
171
- setAddtionalInfo (params) {
172
- this.additionalInfo = params
173
- },
174
- init (params) {
175
- this.renderConfig = params
176
- this.loading = true
177
- this.serviceName = params.serviceName || process.env.VUE_APP_SERVICE_NAME
178
- },
179
- scrollToBottom () {
180
- this.$nextTick(() => {
181
- const chatContent = this.$refs.chatContent
182
- if (chatContent) {
183
- chatContent.scrollTop = chatContent.scrollHeight
184
- }
185
- })
186
- },
187
- async sendMessage () {
188
- if (this.renderConfig.type === 'AI') {
189
- // 验证 chatId 和 aiModel
190
- if (!this.renderConfig.chatId || !this.renderConfig.aiModel) {
191
- this.$message.error('chatId 和 aiModel 不能为空,请检查调用逻辑')
192
- return
193
- }
194
- }
195
- if (!this.inputMessage.trim()) return
196
-
197
- // 添加用户消息
198
- this.messages.push({ type: 'user', text: this.inputMessage })
199
- this.scrollToBottom()
200
-
201
- // 清空输入框
202
- const userMessage = this.inputMessage
203
- this.inputMessage = ''
204
-
205
- // 通过logic获取消息
206
- if (this.renderConfig.logicName) {
207
- const response = await runLogic(this.renderConfig.logicName, {
208
- question: userMessage,
209
- additionalInfo: this.additionalInfo
210
- }, this.serviceName)
211
-
212
- // 遍历并保存 additionalInfo
213
- console.log(response)
214
- if (response.additionalInfo) {
215
- Object.entries(response.additionalInfo).forEach(([key, value]) => {
216
- // 如果值是字符串类型,尝试转换为数字
217
- if (typeof value === 'string' && !isNaN(value)) {
218
- const numberValue = Number(value)
219
- // 检查转换后的值是否是有限数字
220
- if (isFinite(numberValue)) {
221
- this.additionalInfo[key] = numberValue
222
- } else {
223
- this.additionalInfo[key] = value
224
- }
225
- } else {
226
- this.additionalInfo[key] = value
227
- }
228
- })
229
- }
230
- console.log(this.additionalInfo)
231
- if (typeof response.value === 'string') {
232
- try {
233
- response.value = JSON.parse(response.value)
234
- } catch (e) {
235
- console.error('JSON解析失败:', e)
236
- }
237
- }
238
- console.log(response.value)
239
- this.messages.push({
240
- type: 'bot',
241
- text: response.value,
242
- sourceInfo: response.sourceInfo || ''
243
- })
244
- } else if (this.renderConfig.api) {
245
- // 通过api获取消息
246
- this.messages.push({ type: 'bot', state: 'loading', sourceInfo: '' })
247
- this.messages[this.messages.length - 1].text = await postByServiceName(this.renderConfig.api, {
248
- userMessage,
249
- additionalInfo: this.additionalInfo,
250
- model: this.renderConfig.aiModel,
251
- chatId: this.renderConfig.chatId || moment().format('YYYYMMDDHHmmss'),
252
- prompt: this.prompt
253
- }, this.serviceName)
254
- this.$forceUpdate()
255
- } else if (this.renderConfig.streamApi) {
256
- // 通过流式api 获取消息
257
- this.messages.push({ type: 'bot', state: 'loading', sourceInfo: '' })
258
-
259
- // 如果存在之前的连接,先关闭它
260
- if (this.stopConnection) {
261
- this.stopConnection()
262
- }
263
-
264
- let currentMessage = ''
265
- this.stopConnection = startEventStreamPOST(
266
- this.renderConfig.streamApi,
267
- {
268
- userMessage,
269
- model: this.renderConfig.aiModel,
270
- chatId: this.renderConfig.chatId || moment().format('YYYYMMDDHHmmss'),
271
- prompt: this.prompt,
272
- additionalInfo: this.additionalInfo
273
- },
274
- {},
275
- (data, type) => {
276
- // 处理 additionalInfo 事件
277
- if (type === 'additionalInfo') {
278
- console.log('收到 additionalInfo:', data)
279
- if (data) {
280
- // 更新 additionalInfo
281
- this.additionalInfo = {
282
- ...this.additionalInfo,
283
- ...data
284
- }
285
- // 触发全局数据更新
286
- this.setGlobalData?.(this.additionalInfo)
287
- }
288
- return
289
- }
290
-
291
- if (type === 'sourceInfo') {
292
- console.log('收到 sourceInfo:', data)
293
- if (data) {
294
- // 更新 sourceInfo
295
- this.messages[this.messages.length - 1].sourceInfo = data.replace(/<br\s*\/?>/gi, '\n')
296
- }
297
- return
298
- }
299
- // 处理普通消息
300
- if (this.messages[this.messages.length - 1].state === 'loading') {
301
- this.messages[this.messages.length - 1].state = undefined
302
- }
303
- currentMessage += data
304
- this.messages[this.messages.length - 1].text = currentMessage.replace(/<br\s*\/?>/gi, '\n')
305
- this.renderMarkdown(this.messages[this.messages.length - 1].text)
306
- this.$forceUpdate()
307
- },
308
- (error) => {
309
- console.error('流式请求错误:', error)
310
- this.messages[this.messages.length - 1].state = undefined
311
- this.messages[this.messages.length - 1].text = '抱歉,消息发送失败,请重试。'
312
- this.$forceUpdate()
313
- }
314
- )
315
- }
316
- },
317
- setHistoryMessages (messages) {
318
- console.log(messages)
319
- // 清空现有消息
320
- this.messages = []
321
- // 添加历史消息
322
- messages.forEach(msg => {
323
- this.messages.push({
324
- type: msg.role === 'user' ? 'user' : 'bot',
325
- text: msg.content
326
- })
327
- })
328
- this.scrollToBottom()
329
- },
330
- showSourceInfo (sourceInfo) {
331
- this.currentSourceInfo = typeof sourceInfo === 'string'
332
- ? sourceInfo
333
- : JSON.stringify(sourceInfo, null, 2)
334
- this.sourceInfoVisible = true
335
- },
336
- },
337
- mounted () {
338
- this.setAddtionalInfo(this.getMixinData())
339
- },
340
- beforeDestroy () {
341
- if (this.stopConnection) {
342
- this.stopConnection()
343
- }
344
- },
345
- watch: {
346
- messages: {
347
- handler () {
348
- this.scrollToBottom()
349
- },
350
- deep: true
351
- },
352
- 'messages.$[].text': {
353
- handler () {
354
- this.scrollToBottom()
355
- },
356
- deep: true
357
- }
358
- }
359
- }
360
- </script>
361
-
362
- <style scoped>
363
- .chat-container {
364
- display: flex;
365
- flex-direction: column;
366
- height: 600px; /* 设置最小高度 */
367
- border: 1px solid #d9d9d9;
368
- border-radius: 4px;
369
- overflow: hidden;
370
- position: relative;
371
- }
372
-
373
- .chat-content {
374
- flex: 1;
375
- padding: 16px;
376
- overflow-y: auto;
377
- background: #f5f5f5;
378
- padding-bottom: 60px; /* 为底部输入框留出空间 */
379
- }
380
-
381
- .chat-message {
382
- display: flex;
383
- align-items: flex-start;
384
- margin-bottom: 10px;
385
- }
386
-
387
- .chat-message.user {
388
- justify-content: flex-end;
389
- }
390
-
391
- .chat-message.bot {
392
- justify-content: flex-start;
393
- }
394
-
395
- .chat-avatar {
396
- margin: 0 8px;
397
- }
398
-
399
- .chat-text-wrapper {
400
- display: flex;
401
- flex-direction: column;
402
- max-width: 70%;
403
- }
404
-
405
- .chat-text {
406
- padding: 8px 12px;
407
- border-radius: 4px;
408
- background-color: #fff;
409
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
410
- }
411
-
412
- .chat-message.user .chat-text {
413
- background-color: #e6f7ff;
414
- }
415
-
416
- .chat-input-wrapper {
417
- position: absolute;
418
- bottom: 0;
419
- left: 0;
420
- right: 0;
421
- background: #fff;
422
- border-top: 1px solid #d9d9d9;
423
- padding: 8px;
424
- }
425
-
426
- .chat-input {
427
- display: flex;
428
- gap: 10px;
429
- }
430
-
431
- .chat-input a-input {
432
- flex: 1;
433
- }
434
-
435
- code {
436
- background-color: #f5f5f5;
437
- border-radius: 4px;
438
- padding: 2px 4px;
439
- font-size: 90%;
440
- }
441
-
442
- /* 添加 Markdown 样式 */
443
- .markdown-body {
444
- font-size: 14px;
445
- line-height: 1.6;
446
- }
447
-
448
- .markdown-body h1,
449
- .markdown-body h2,
450
- .markdown-body h3,
451
- .markdown-body h4,
452
- .markdown-body h5,
453
- .markdown-body h6 {
454
- margin-top: 16px;
455
- margin-bottom: 8px;
456
- font-weight: 600;
457
- }
458
-
459
- .markdown-body pre {
460
- background-color: #f6f8fa;
461
- border-radius: 6px;
462
- padding: 16px;
463
- overflow: auto;
464
- }
465
-
466
- .markdown-body code {
467
- background-color: #f6f8fa;
468
- border-radius: 3px;
469
- padding: 0.2em 0.4em;
470
- font-size: 85%;
471
- }
472
-
473
- .markdown-body p {
474
- margin-bottom: 16px;
475
- }
476
-
477
- .markdown-body ul,
478
- .markdown-body ol {
479
- padding-left: 2em;
480
- margin-bottom: 16px;
481
- }
482
-
483
- /* 按钮样式 */
484
- .markdown-body :deep(button) {
485
- display: inline-block;
486
- padding: 4px 15px;
487
- font-size: 14px;
488
- font-weight: 400;
489
- line-height: 1.5715;
490
- text-align: center;
491
- white-space: nowrap;
492
- background: #fff;
493
- border: 1px solid #d9d9d9;
494
- border-radius: 2px;
495
- cursor: pointer;
496
- transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
497
- user-select: none;
498
- touch-action: manipulation;
499
- margin: 4px 8px 4px 0;
500
- }
501
-
502
- .markdown-body :deep(button:hover) {
503
- color: #40a9ff;
504
- border-color: #40a9ff;
505
- background: #fff;
506
- }
507
-
508
- .markdown-body :deep(button:active) {
509
- color: #096dd9;
510
- border-color: #096dd9;
511
- background: #fff;
512
- }
513
-
514
- /* Markdown 按钮样式 */
515
- .markdown-button {
516
- display: inline-block;
517
- padding: 4px 15px;
518
- font-size: 14px;
519
- font-weight: 400;
520
- line-height: 1.5715;
521
- text-align: center;
522
- white-space: nowrap;
523
- background: #fff;
524
- border: 1px solid #d9d9d9;
525
- border-radius: 2px;
526
- cursor: pointer;
527
- transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
528
- user-select: none;
529
- touch-action: manipulation;
530
- margin: 4px 8px 4px 0;
531
- }
532
-
533
- .markdown-button:hover {
534
- color: #40a9ff;
535
- border-color: #40a9ff;
536
- background: #fff;
537
- }
538
-
539
- .markdown-button:active {
540
- color: #096dd9;
541
- border-color: #096dd9;
542
- background: #fff;
543
- }
544
-
545
- .source-info-btn {
546
- font-size: 12px;
547
- padding: 0;
548
- margin-top: 4px;
549
- align-self: flex-start;
550
- }
551
-
552
- .source-info-content {
553
- background-color: #f5f5f5;
554
- padding: 16px;
555
- border-radius: 4px;
556
- max-height: 400px;
557
- overflow-y: auto;
558
- white-space: pre-wrap;
559
- word-break: break-all;
560
- }
561
-
562
- .source-info-content :deep(pre) {
563
- background-color: #f6f8fa;
564
- border-radius: 6px;
565
- padding: 16px;
566
- overflow: auto;
567
- margin: 0;
568
- }
569
-
570
- .source-info-content :deep(code) {
571
- background-color: #f6f8fa;
572
- border-radius: 3px;
573
- padding: 0.2em 0.4em;
574
- font-size: 85%;
575
- }
576
- </style>
1
+ <template>
2
+ <div>
3
+ <div class="chat-container" v-if="loading">
4
+ <!-- 对话展示区域 -->
5
+ <div class="chat-content" ref="chatContent">
6
+ <div
7
+ v-for="(message, index) in messages"
8
+ :key="index"
9
+ :class="['chat-message', message.type]"
10
+ >
11
+ <span class="chat-avatar">{{ message.type === 'user' ? '👤' : '🤖' }}</span>
12
+ <div class="chat-text-wrapper">
13
+ <div
14
+ class="chat-text markdown-body"
15
+ v-if="message.text"
16
+ v-html="renderMarkdown(message.text)"
17
+ ></div>
18
+ <div class="chat-text" v-else-if="message.state === 'loading'">
19
+ <a-spin :spinning="true"/>
20
+ </div>
21
+ <a-button
22
+ v-if="message.sourceInfo"
23
+ type="link"
24
+ class="source-info-btn"
25
+ @click="showSourceInfo(message.sourceInfo)"
26
+ >
27
+ 查看源信息
28
+ </a-button>
29
+ </div>
30
+ </div>
31
+ </div>
32
+
33
+ <!-- 输入框和发送按钮 -->
34
+ <div class="chat-input-wrapper">
35
+ <div class="chat-input">
36
+ <a-input
37
+ v-model="inputMessage"
38
+ placeholder="Type your message..."
39
+ @pressEnter="sendMessage"
40
+ />
41
+ <a-button type="primary" @click="sendMessage">发送</a-button>
42
+ </div>
43
+ </div>
44
+ </div>
45
+ <a-spin :spinning="!loading"/>
46
+
47
+ <!-- 源信息弹窗 -->
48
+ <a-modal
49
+ v-model="sourceInfoVisible"
50
+ title="源信息"
51
+ :footer="null"
52
+ width="600px"
53
+ >
54
+ <div class="source-info-content markdown-body" v-html="renderMarkdown(currentSourceInfo)"></div>
55
+ </a-modal>
56
+ </div>
57
+ </template>
58
+
59
+ <script>
60
+ import { runLogic } from '@vue2-client/services/api/common'
61
+ import { postByServiceName, startEventStreamPOST } from '@vue2-client/services/api/restTools'
62
+ import moment from 'moment/moment'
63
+ import { marked } from 'marked'
64
+
65
+ export default {
66
+ inject: {
67
+ getSelectedId: {
68
+ default: () => () => {
69
+ console.warn('getSelectedId is not provided.')
70
+ return null
71
+ },
72
+ },
73
+ setGlobalData: {
74
+ default: () => () => {
75
+ console.warn('setGlobalData is not provided.')
76
+ return null
77
+ },
78
+ },
79
+ getGlobalData: {
80
+ default: () => () => {
81
+ console.warn('getGlobalData is not provided.')
82
+ return null
83
+ },
84
+ },
85
+ getSelectedData: {
86
+ default: () => () => {
87
+ console.warn('getSelectedData is not provided.')
88
+ return null
89
+ },
90
+ },
91
+ getMixinData: {
92
+ default: () => () => {
93
+ console.warn('getMixinData is not provided.')
94
+ return {}
95
+ },
96
+ },
97
+ getOutEnv: {
98
+ default: () => () => {
99
+ console.warn('getOutEnv is not provided.')
100
+ return {}
101
+ },
102
+ },
103
+ currUser: {
104
+ default: () => () => {
105
+ console.warn('currUser is not provided.')
106
+ return {}
107
+ },
108
+ }
109
+ },
110
+ name: 'XConversation',
111
+ props: {
112
+ prompt: {
113
+ type: String,
114
+ default: undefined
115
+ }
116
+ },
117
+ data () {
118
+ return {
119
+ serviceName: undefined,
120
+ // 组件加载状态
121
+ loading: false,
122
+ // 配置内容
123
+ renderConfig: {
124
+ // 请求logic 名称
125
+ logicName: '',
126
+ // 请求api 地址
127
+ api: '',
128
+ // 请求流式api 地址
129
+ streamApi: '',
130
+ // 聊天室id 当type为AI 时必传
131
+ chatId: '',
132
+ // ai 模型 当type为AI 时必传
133
+ aiModel: '',
134
+ type: ''
135
+ },
136
+ // 用户输入的内容
137
+ inputMessage: '',
138
+ additionalInfo: {},
139
+ stopConnection: undefined,
140
+ messages: [ // 消息列表
141
+ { type: 'bot', text: '你好! 今天有什么能帮到您的?' },
142
+ ],
143
+ sourceInfoVisible: false,
144
+ currentSourceInfo: '',
145
+ }
146
+ },
147
+ methods: {
148
+ renderMarkdown (text) {
149
+ if (!text) return ''
150
+
151
+ // 预处理文本,处理特殊字符
152
+ const processedText = text
153
+
154
+ try {
155
+ // 配置 marked 选项
156
+ marked.setOptions({
157
+ breaks: true, // 支持换行符
158
+ gfm: true, // 启用 GitHub 风格的 Markdown
159
+ headerIds: false, // 禁用标题 ID
160
+ mangle: false, // 禁用标题 ID 混淆
161
+ sanitize: false // 允许 HTML 标签
162
+ })
163
+ const rendered = marked(processedText)
164
+ this.scrollToBottom()
165
+ return rendered
166
+ } catch (error) {
167
+ console.error('Markdown 渲染错误:', error)
168
+ return processedText
169
+ }
170
+ },
171
+ setAddtionalInfo (params) {
172
+ this.additionalInfo = params
173
+ },
174
+ init (params) {
175
+ this.renderConfig = params
176
+ this.loading = true
177
+ this.serviceName = params.serviceName || process.env.VUE_APP_SERVICE_NAME
178
+ },
179
+ scrollToBottom () {
180
+ this.$nextTick(() => {
181
+ const chatContent = this.$refs.chatContent
182
+ if (chatContent) {
183
+ chatContent.scrollTop = chatContent.scrollHeight
184
+ }
185
+ })
186
+ },
187
+ async sendMessage () {
188
+ if (this.renderConfig.type === 'AI') {
189
+ // 验证 chatId 和 aiModel
190
+ if (!this.renderConfig.chatId || !this.renderConfig.aiModel) {
191
+ this.$message.error('chatId 和 aiModel 不能为空,请检查调用逻辑')
192
+ return
193
+ }
194
+ }
195
+ if (!this.inputMessage.trim()) return
196
+
197
+ // 添加用户消息
198
+ this.messages.push({ type: 'user', text: this.inputMessage })
199
+ this.scrollToBottom()
200
+
201
+ // 清空输入框
202
+ const userMessage = this.inputMessage
203
+ this.inputMessage = ''
204
+
205
+ // 通过logic获取消息
206
+ if (this.renderConfig.logicName) {
207
+ const response = await runLogic(this.renderConfig.logicName, {
208
+ question: userMessage,
209
+ additionalInfo: this.additionalInfo
210
+ }, this.serviceName)
211
+
212
+ // 遍历并保存 additionalInfo
213
+ console.log(response)
214
+ if (response.additionalInfo) {
215
+ Object.entries(response.additionalInfo).forEach(([key, value]) => {
216
+ // 如果值是字符串类型,尝试转换为数字
217
+ if (typeof value === 'string' && !isNaN(value)) {
218
+ const numberValue = Number(value)
219
+ // 检查转换后的值是否是有限数字
220
+ if (isFinite(numberValue)) {
221
+ this.additionalInfo[key] = numberValue
222
+ } else {
223
+ this.additionalInfo[key] = value
224
+ }
225
+ } else {
226
+ this.additionalInfo[key] = value
227
+ }
228
+ })
229
+ }
230
+ console.log(this.additionalInfo)
231
+ if (typeof response.value === 'string') {
232
+ try {
233
+ response.value = JSON.parse(response.value)
234
+ } catch (e) {
235
+ console.error('JSON解析失败:', e)
236
+ }
237
+ }
238
+ console.log(response.value)
239
+ this.messages.push({
240
+ type: 'bot',
241
+ text: response.value,
242
+ sourceInfo: response.sourceInfo || ''
243
+ })
244
+ } else if (this.renderConfig.api) {
245
+ // 通过api获取消息
246
+ this.messages.push({ type: 'bot', state: 'loading', sourceInfo: '' })
247
+ this.messages[this.messages.length - 1].text = await postByServiceName(this.renderConfig.api, {
248
+ userMessage,
249
+ additionalInfo: this.additionalInfo,
250
+ model: this.renderConfig.aiModel,
251
+ chatId: this.renderConfig.chatId || moment().format('YYYYMMDDHHmmss'),
252
+ prompt: this.prompt
253
+ }, this.serviceName)
254
+ this.$forceUpdate()
255
+ } else if (this.renderConfig.streamApi) {
256
+ // 通过流式api 获取消息
257
+ this.messages.push({ type: 'bot', state: 'loading', sourceInfo: '' })
258
+
259
+ // 如果存在之前的连接,先关闭它
260
+ if (this.stopConnection) {
261
+ this.stopConnection()
262
+ }
263
+
264
+ let currentMessage = ''
265
+ this.stopConnection = startEventStreamPOST(
266
+ this.renderConfig.streamApi,
267
+ {
268
+ userMessage,
269
+ model: this.renderConfig.aiModel,
270
+ chatId: this.renderConfig.chatId || moment().format('YYYYMMDDHHmmss'),
271
+ prompt: this.prompt,
272
+ additionalInfo: this.additionalInfo
273
+ },
274
+ {},
275
+ (data, type) => {
276
+ // 处理 additionalInfo 事件
277
+ if (type === 'additionalInfo') {
278
+ console.log('收到 additionalInfo:', data)
279
+ if (data) {
280
+ // 更新 additionalInfo
281
+ this.additionalInfo = {
282
+ ...this.additionalInfo,
283
+ ...data
284
+ }
285
+ // 触发全局数据更新
286
+ this.setGlobalData?.(this.additionalInfo)
287
+ }
288
+ return
289
+ }
290
+
291
+ if (type === 'sourceInfo') {
292
+ console.log('收到 sourceInfo:', data)
293
+ if (data) {
294
+ // 更新 sourceInfo
295
+ this.messages[this.messages.length - 1].sourceInfo = data.replace(/<br\s*\/?>/gi, '\n')
296
+ }
297
+ return
298
+ }
299
+ // 处理普通消息
300
+ if (this.messages[this.messages.length - 1].state === 'loading') {
301
+ this.messages[this.messages.length - 1].state = undefined
302
+ }
303
+ currentMessage += data
304
+ this.messages[this.messages.length - 1].text = currentMessage.replace(/<br\s*\/?>/gi, '\n')
305
+ this.renderMarkdown(this.messages[this.messages.length - 1].text)
306
+ this.$forceUpdate()
307
+ },
308
+ (error) => {
309
+ console.error('流式请求错误:', error)
310
+ this.messages[this.messages.length - 1].state = undefined
311
+ this.messages[this.messages.length - 1].text = '抱歉,消息发送失败,请重试。'
312
+ this.$forceUpdate()
313
+ }
314
+ )
315
+ }
316
+ },
317
+ setHistoryMessages (messages) {
318
+ console.log(messages)
319
+ // 清空现有消息
320
+ this.messages = []
321
+ // 添加历史消息
322
+ messages.forEach(msg => {
323
+ this.messages.push({
324
+ type: msg.role === 'user' ? 'user' : 'bot',
325
+ text: msg.content
326
+ })
327
+ })
328
+ this.scrollToBottom()
329
+ },
330
+ showSourceInfo (sourceInfo) {
331
+ this.currentSourceInfo = typeof sourceInfo === 'string'
332
+ ? sourceInfo
333
+ : JSON.stringify(sourceInfo, null, 2)
334
+ this.sourceInfoVisible = true
335
+ },
336
+ },
337
+ mounted () {
338
+ this.setAddtionalInfo(this.getMixinData())
339
+ },
340
+ beforeDestroy () {
341
+ if (this.stopConnection) {
342
+ this.stopConnection()
343
+ }
344
+ },
345
+ watch: {
346
+ messages: {
347
+ handler () {
348
+ this.scrollToBottom()
349
+ },
350
+ deep: true
351
+ },
352
+ 'messages.$[].text': {
353
+ handler () {
354
+ this.scrollToBottom()
355
+ },
356
+ deep: true
357
+ }
358
+ }
359
+ }
360
+ </script>
361
+
362
+ <style scoped>
363
+ .chat-container {
364
+ display: flex;
365
+ flex-direction: column;
366
+ height: 600px; /* 设置最小高度 */
367
+ border: 1px solid #d9d9d9;
368
+ border-radius: 4px;
369
+ overflow: hidden;
370
+ position: relative;
371
+ }
372
+
373
+ .chat-content {
374
+ flex: 1;
375
+ padding: 16px;
376
+ overflow-y: auto;
377
+ background: #f5f5f5;
378
+ padding-bottom: 60px; /* 为底部输入框留出空间 */
379
+ }
380
+
381
+ .chat-message {
382
+ display: flex;
383
+ align-items: flex-start;
384
+ margin-bottom: 10px;
385
+ }
386
+
387
+ .chat-message.user {
388
+ justify-content: flex-end;
389
+ }
390
+
391
+ .chat-message.bot {
392
+ justify-content: flex-start;
393
+ }
394
+
395
+ .chat-avatar {
396
+ margin: 0 8px;
397
+ }
398
+
399
+ .chat-text-wrapper {
400
+ display: flex;
401
+ flex-direction: column;
402
+ max-width: 70%;
403
+ }
404
+
405
+ .chat-text {
406
+ padding: 8px 12px;
407
+ border-radius: 4px;
408
+ background-color: #fff;
409
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
410
+ }
411
+
412
+ .chat-message.user .chat-text {
413
+ background-color: #e6f7ff;
414
+ }
415
+
416
+ .chat-input-wrapper {
417
+ position: absolute;
418
+ bottom: 0;
419
+ left: 0;
420
+ right: 0;
421
+ background: #fff;
422
+ border-top: 1px solid #d9d9d9;
423
+ padding: 8px;
424
+ }
425
+
426
+ .chat-input {
427
+ display: flex;
428
+ gap: 10px;
429
+ }
430
+
431
+ .chat-input a-input {
432
+ flex: 1;
433
+ }
434
+
435
+ code {
436
+ background-color: #f5f5f5;
437
+ border-radius: 4px;
438
+ padding: 2px 4px;
439
+ font-size: 90%;
440
+ }
441
+
442
+ /* 添加 Markdown 样式 */
443
+ .markdown-body {
444
+ font-size: 14px;
445
+ line-height: 1.6;
446
+ }
447
+
448
+ .markdown-body h1,
449
+ .markdown-body h2,
450
+ .markdown-body h3,
451
+ .markdown-body h4,
452
+ .markdown-body h5,
453
+ .markdown-body h6 {
454
+ margin-top: 16px;
455
+ margin-bottom: 8px;
456
+ font-weight: 600;
457
+ }
458
+
459
+ .markdown-body pre {
460
+ background-color: #f6f8fa;
461
+ border-radius: 6px;
462
+ padding: 16px;
463
+ overflow: auto;
464
+ }
465
+
466
+ .markdown-body code {
467
+ background-color: #f6f8fa;
468
+ border-radius: 3px;
469
+ padding: 0.2em 0.4em;
470
+ font-size: 85%;
471
+ }
472
+
473
+ .markdown-body p {
474
+ margin-bottom: 16px;
475
+ }
476
+
477
+ .markdown-body ul,
478
+ .markdown-body ol {
479
+ padding-left: 2em;
480
+ margin-bottom: 16px;
481
+ }
482
+
483
+ /* 按钮样式 */
484
+ .markdown-body :deep(button) {
485
+ display: inline-block;
486
+ padding: 4px 15px;
487
+ font-size: 14px;
488
+ font-weight: 400;
489
+ line-height: 1.5715;
490
+ text-align: center;
491
+ white-space: nowrap;
492
+ background: #fff;
493
+ border: 1px solid #d9d9d9;
494
+ border-radius: 2px;
495
+ cursor: pointer;
496
+ transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
497
+ user-select: none;
498
+ touch-action: manipulation;
499
+ margin: 4px 8px 4px 0;
500
+ }
501
+
502
+ .markdown-body :deep(button:hover) {
503
+ color: #40a9ff;
504
+ border-color: #40a9ff;
505
+ background: #fff;
506
+ }
507
+
508
+ .markdown-body :deep(button:active) {
509
+ color: #096dd9;
510
+ border-color: #096dd9;
511
+ background: #fff;
512
+ }
513
+
514
+ /* Markdown 按钮样式 */
515
+ .markdown-button {
516
+ display: inline-block;
517
+ padding: 4px 15px;
518
+ font-size: 14px;
519
+ font-weight: 400;
520
+ line-height: 1.5715;
521
+ text-align: center;
522
+ white-space: nowrap;
523
+ background: #fff;
524
+ border: 1px solid #d9d9d9;
525
+ border-radius: 2px;
526
+ cursor: pointer;
527
+ transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
528
+ user-select: none;
529
+ touch-action: manipulation;
530
+ margin: 4px 8px 4px 0;
531
+ }
532
+
533
+ .markdown-button:hover {
534
+ color: #40a9ff;
535
+ border-color: #40a9ff;
536
+ background: #fff;
537
+ }
538
+
539
+ .markdown-button:active {
540
+ color: #096dd9;
541
+ border-color: #096dd9;
542
+ background: #fff;
543
+ }
544
+
545
+ .source-info-btn {
546
+ font-size: 12px;
547
+ padding: 0;
548
+ margin-top: 4px;
549
+ align-self: flex-start;
550
+ }
551
+
552
+ .source-info-content {
553
+ background-color: #f5f5f5;
554
+ padding: 16px;
555
+ border-radius: 4px;
556
+ max-height: 400px;
557
+ overflow-y: auto;
558
+ white-space: pre-wrap;
559
+ word-break: break-all;
560
+ }
561
+
562
+ .source-info-content :deep(pre) {
563
+ background-color: #f6f8fa;
564
+ border-radius: 6px;
565
+ padding: 16px;
566
+ overflow: auto;
567
+ margin: 0;
568
+ }
569
+
570
+ .source-info-content :deep(code) {
571
+ background-color: #f6f8fa;
572
+ border-radius: 3px;
573
+ padding: 0.2em 0.4em;
574
+ font-size: 85%;
575
+ }
576
+ </style>