vue2-client 1.16.72 → 1.16.74

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 (329) 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/CHANGELOG.md +830 -830
  10. package/CLAUDE.md +97 -97
  11. package/Components.md +60 -60
  12. package/docs/LowCode/lowcode.md +155 -155
  13. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  14. package/docs/index.md +30 -30
  15. package/index.js +31 -31
  16. package/jest-transform-stub.js +8 -8
  17. package/jest.setup.js +7 -7
  18. package/jsconfig.json +19 -19
  19. package/package.json +1 -1
  20. package/public/his/editor/editor.html +51 -51
  21. package/public/his/editor/mock/bind_data.html +779 -779
  22. package/public/his/editor/mock/data_table.html +40 -40
  23. package/public/his/editor/mock/sign.html +75 -75
  24. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  25. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  26. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  27. package/public/his/editor/vender/date97/calendar.js +4 -4
  28. package/public/his/editor/vender/date97/lang/en.js +13 -13
  29. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  30. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  31. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  32. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  33. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  34. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  35. package/public/his/editor/vender/diff.js +1627 -1627
  36. package/public/his/editor/vender/editor.js +1 -1
  37. package/public/his/editor/vender/fabric.js +31187 -31187
  38. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  39. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  40. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  41. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  42. package/public/his/editor/vender/mui/mui.min.css +4 -4
  43. package/public/his/editor/vender/mui/mui.min.js +5 -5
  44. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  45. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  46. package/public/his/editor/vender/qrcode.js +7 -7
  47. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  48. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  49. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  50. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  51. package/public/his/editor/vender/validator.js +5094 -5094
  52. package/public/his/editor/vender/weui/weui.css +5659 -5659
  53. package/public/his/editor/vender/weui/weui.min.css +4 -4
  54. package/public/his/editor/vender/weui/weui.min.js +11 -11
  55. package/src/assets/img/querySlotDemo.svg +15 -15
  56. package/src/assets/svg/badtwo.svg +1 -1
  57. package/src/assets/svg/goodtwo.svg +1 -1
  58. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  59. package/src/base-client/components/AI/demo.vue +31 -31
  60. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  61. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  62. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  63. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  64. package/src/base-client/components/common/CitySelect/index.js +3 -3
  65. package/src/base-client/components/common/CitySelect/index.md +109 -109
  66. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  67. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  68. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  69. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  70. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  71. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  72. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  73. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  74. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  75. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  76. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  77. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  78. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  79. package/src/base-client/components/common/HIS/demo.vue +61 -61
  80. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  81. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  82. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  83. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  84. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  85. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  86. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  87. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  88. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  89. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  90. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  91. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  92. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  93. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  94. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  95. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  96. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  97. package/src/base-client/components/common/Recording/index.js +3 -3
  98. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  99. package/src/base-client/components/common/Tree/index.js +2 -2
  100. package/src/base-client/components/common/Upload/Upload.vue +334 -334
  101. package/src/base-client/components/common/Upload/index.js +3 -3
  102. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  103. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  104. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +304 -304
  105. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  106. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  107. package/src/base-client/components/common/XAddReport/index.js +3 -3
  108. package/src/base-client/components/common/XAddReport/index.md +56 -56
  109. package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
  110. package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
  111. package/src/base-client/components/common/XButtons/index.js +3 -3
  112. package/src/base-client/components/common/XButtons/index.md +61 -61
  113. package/src/base-client/components/common/XCalendar/XCalendar.vue +4 -4
  114. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  115. package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
  116. package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
  117. package/src/base-client/components/common/XDataCard/index.js +3 -3
  118. package/src/base-client/components/common/XDataCard/index.md +1 -1
  119. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  120. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  121. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  122. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  123. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  124. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  125. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  126. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  127. package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
  128. package/src/base-client/components/common/XForm/index.md +178 -178
  129. package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
  130. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  131. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  132. package/src/base-client/components/common/XFormGroupDetails/XFormGroupDetails.vue +72 -72
  133. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  134. package/src/base-client/components/common/XFormTable/index.md +92 -92
  135. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  136. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  137. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  138. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  139. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  140. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  141. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  142. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  143. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  144. package/src/base-client/components/common/XPrint/index.vue +97 -97
  145. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  146. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  147. package/src/base-client/components/common/XReport/index.js +3 -3
  148. package/src/base-client/components/common/XReport/print.js +186 -186
  149. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  150. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  151. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  152. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  153. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  154. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  155. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  156. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  157. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  158. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  159. package/src/base-client/components/common/XStepView/index.js +3 -3
  160. package/src/base-client/components/common/XStepView/index.md +31 -31
  161. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  162. package/src/base-client/components/common/XTab/index.js +3 -3
  163. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  164. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  165. package/src/base-client/components/common/XTable/index.md +255 -255
  166. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  167. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  168. package/src/base-client/components/common/XTree/index.js +3 -3
  169. package/src/base-client/components/common/XTree/index.md +36 -36
  170. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  171. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  172. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  173. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  174. package/src/base-client/components/his/XCharge/XChargeDemo.vue +145 -145
  175. package/src/base-client/components/his/XHDescriptions/XHDescriptions.vue +26 -1
  176. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  177. package/src/base-client/components/his/XIcon/XIcon.vue +73 -0
  178. package/src/base-client/components/his/XIcon/index.js +3 -0
  179. package/src/base-client/components/his/XIcon/index.md +177 -0
  180. package/src/base-client/components/his/XRadio/XRadio.vue +1 -1
  181. package/src/base-client/components/his/XTitle/XTitle.vue +25 -6
  182. package/src/base-client/components/index.js +51 -51
  183. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  184. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  185. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  186. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  187. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  188. package/src/base-client/plugins/Config.js +19 -19
  189. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  190. package/src/base-client/plugins/Recording.js +258 -258
  191. package/src/base-client/plugins/index.js +23 -23
  192. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  193. package/src/components/Charts/Bar.vue +62 -62
  194. package/src/components/Charts/ChartCard.vue +134 -134
  195. package/src/components/Charts/Liquid.vue +67 -67
  196. package/src/components/Charts/MiniArea.vue +39 -39
  197. package/src/components/Charts/MiniBar.vue +39 -39
  198. package/src/components/Charts/MiniProgress.vue +75 -75
  199. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  200. package/src/components/Charts/Radar.vue +68 -68
  201. package/src/components/Charts/RankList.vue +77 -77
  202. package/src/components/Charts/TagCloud.vue +113 -113
  203. package/src/components/Charts/TransferBar.vue +64 -64
  204. package/src/components/Charts/Trend.vue +82 -82
  205. package/src/components/Charts/chart.less +12 -12
  206. package/src/components/Charts/smooth.area.less +13 -13
  207. package/src/components/CodeMirror/inedx.vue +118 -118
  208. package/src/components/CodeMirror/setting.js +40 -40
  209. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  210. package/src/components/NumberInfo/index.js +3 -3
  211. package/src/components/NumberInfo/index.less +54 -54
  212. package/src/components/NumberInfo/index.md +43 -43
  213. package/src/components/card/ChartCard.vue +79 -79
  214. package/src/components/chart/Bar.vue +60 -60
  215. package/src/components/chart/MiniArea.vue +67 -67
  216. package/src/components/chart/MiniBar.vue +59 -59
  217. package/src/components/chart/MiniProgress.vue +57 -57
  218. package/src/components/chart/Radar.vue +80 -80
  219. package/src/components/chart/RankingList.vue +60 -60
  220. package/src/components/chart/Trend.vue +79 -79
  221. package/src/components/chart/index.less +9 -9
  222. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  223. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  224. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  225. package/src/components/checkbox/index.js +9 -9
  226. package/src/components/exception/ExceptionPage.vue +70 -70
  227. package/src/components/g2Charts/constants.js +202 -202
  228. package/src/components/g2Charts/demo.vue +808 -808
  229. package/src/components/g2Charts/designer.vue +228 -228
  230. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  231. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  232. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  233. package/src/components/g2Charts/index.vue +397 -397
  234. package/src/components/index.js +36 -36
  235. package/src/components/input/IInput.vue +66 -66
  236. package/src/components/menu/SideMenu.vue +75 -75
  237. package/src/components/menu/menu.js +273 -273
  238. package/src/components/setting/Setting.vue +234 -234
  239. package/src/components/tool/AStepItem.vue +60 -60
  240. package/src/config/CreateQueryConfig.js +325 -325
  241. package/src/config/default/antd.config.js +89 -89
  242. package/src/config/default/setting.config.js +55 -55
  243. package/src/font-style/font.css +60 -60
  244. package/src/layouts/CommonLayout.vue +56 -56
  245. package/src/layouts/PageLayout.vue +151 -151
  246. package/src/layouts/SinglePageView.vue +136 -136
  247. package/src/layouts/header/AdminHeader.vue +132 -132
  248. package/src/layouts/header/HeaderNotice.vue +177 -177
  249. package/src/layouts/header/InstitutionDetail.vue +181 -181
  250. package/src/layouts/tabs/TabsHead.vue +189 -189
  251. package/src/lib.js +1 -1
  252. package/src/mock/extend/index.js +84 -84
  253. package/src/mock/goods/index.js +108 -108
  254. package/src/pages/DefaultExample/index.vue +77 -77
  255. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  256. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  257. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  258. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  259. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  260. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  261. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  262. package/src/pages/DynamicStatistics/index.vue +282 -282
  263. package/src/pages/Example/childIndex.vue +15 -15
  264. package/src/pages/Example/index.vue +30 -30
  265. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  266. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  267. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  268. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  269. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  270. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  271. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  272. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  273. package/src/pages/Recording/index.vue +77 -77
  274. package/src/pages/ServiceReview/index.vue +284 -284
  275. package/src/pages/SubExample/index.vue +26 -26
  276. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  277. package/src/pages/XReportView/index.vue +64 -64
  278. package/src/pages/XTreeOneProExample/index.vue +67 -67
  279. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  280. package/src/pages/login/Login.vue +379 -379
  281. package/src/pages/login/LoginV3.vue +389 -389
  282. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  283. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  284. package/src/pages/report/ReportTable.js +124 -124
  285. package/src/pages/resourceManage/orgListManage.vue +98 -98
  286. package/src/pages/system/dictionary/index.vue +44 -44
  287. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  288. package/src/pages/system/monitor/operLog/index.vue +37 -37
  289. package/src/pages/system/settings/modifyPassword.vue +117 -117
  290. package/src/pages/system/ticket/index.vue +480 -480
  291. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  292. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  293. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  294. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  295. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  296. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  297. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  298. package/src/plugins/EventLogPlugin.js +33 -33
  299. package/src/plugins/FindParentsData.js +17 -17
  300. package/src/router/async/router.map.js +1 -1
  301. package/src/services/DataModel.js +30 -30
  302. package/src/services/LodopFuncs.js +137 -137
  303. package/src/services/api/TicketDetailsViewApi.js +46 -46
  304. package/src/services/api/cas.js +79 -79
  305. package/src/services/api/entity.js +18 -18
  306. package/src/services/api/index.js +17 -17
  307. package/src/store/modules/account.js +115 -115
  308. package/src/store/modules/index.js +5 -5
  309. package/src/store/modules/lowCode.js +33 -33
  310. package/src/store/modules/setting.js +119 -119
  311. package/src/theme/default/style.less +58 -58
  312. package/src/utils/authority-utils.js +85 -85
  313. package/src/utils/errorCode.js +6 -6
  314. package/src/utils/formatter.js +74 -74
  315. package/src/utils/htmlToPDF.js +108 -108
  316. package/src/utils/htmlToPDFApi.js +5 -5
  317. package/src/utils/login.js +188 -188
  318. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  319. package/src/utils/lowcode/lowcodeLog.js +29 -29
  320. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  321. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  322. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  323. package/src/utils/map-utils.js +47 -47
  324. package/src/utils/reg.js +95 -95
  325. package/src/utils/runEvalFunction.js +14 -14
  326. package/src/utils/theme-color-replacer-extend.js +92 -92
  327. package/src/utils/util.js +329 -329
  328. package/src/utils/waterMark.js +31 -31
  329. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
@@ -0,0 +1,177 @@
1
+ # XIcon 自定义图标组件
2
+
3
+ ## 概述
4
+
5
+ XIcon 是一个统一管理自定义图标的组件,提供了丰富的内置图标,支持自定义样式,并且可以与 XTitle 组件无缝集成。
6
+
7
+ ## 特性
8
+
9
+ - 🎨 丰富的内置图标库
10
+ - 🎯 支持自定义样式
11
+ - 🔧 易于扩展新图标
12
+ - 📱 响应式设计
13
+ - 🎪 与 XTitle 组件完美集成
14
+
15
+ # XIcon 自定义图标组件
16
+
17
+ ## 概述
18
+
19
+ XIcon 是一个专门管理自定义图标的组件,**动态加载** `src/assets/svg/his/` 目录下的 SVG 文件,支持自定义样式,并且可以与 XTitle 组件无缝集成。
20
+
21
+ ## 特性
22
+
23
+ - 🎨 **动态加载 SVG 文件**,无需硬编码图标内容
24
+ - 🎯 支持自定义样式
25
+ - 🔧 **自动发现新图标**,添加 SVG 文件即可使用
26
+ - 📱 响应式设计
27
+ - 🎪 与 XTitle 组件完美集成
28
+ - ⚡ 纯 SVG 渲染,性能优异
29
+ - 💾 SVG 内容缓存,避免重复加载
30
+
31
+ ## 内置图标
32
+
33
+ 组件会自动加载 `src/assets/svg/his/` 目录下的所有 SVG 文件,使用文件名(去掉 `.svg` 扩展名)作为图标名称。
34
+
35
+ ### 当前可用的图标
36
+ - `icon001` - HIS 系统图标(来自 `icon001.svg`)
37
+
38
+ ### 添加新图标
39
+ 只需在 `src/assets/svg/his/` 目录下添加新的 SVG 文件,组件会自动发现并可以使用:
40
+
41
+ ```bash
42
+ # 添加新图标文件
43
+ src/assets/svg/his/
44
+ ├── icon001.svg # 已存在
45
+ ├── icon002.svg # 新添加的图标
46
+ ├── user.svg # 新添加的图标
47
+ └── setting.svg # 新添加的图标
48
+ ```
49
+
50
+ 使用方式:
51
+ ```vue
52
+ <XIcon name="icon002" />
53
+ <XIcon name="user" />
54
+ <XIcon name="setting" />
55
+ ```
56
+
57
+ ## 基础用法
58
+
59
+ ```vue
60
+ <template>
61
+ <!-- 使用动态加载的图标 -->
62
+ <XIcon name="icon001" />
63
+
64
+ <!-- 自定义样式 -->
65
+ <XIcon
66
+ name="icon001"
67
+ :style="{ color: '#52c41a', fontSize: '20px' }"
68
+ />
69
+
70
+ <!-- 自定义类名 -->
71
+ <XIcon
72
+ name="icon001"
73
+ className="custom-icon"
74
+ />
75
+ </template>
76
+
77
+ <script setup>
78
+ import XIcon from '@/base-client/components/his/XIcon/XIcon.vue'
79
+ </script>
80
+ ```
81
+
82
+ ## 在 XTitle 中使用
83
+
84
+ ```vue
85
+ <template>
86
+ <!-- 使用 Ant Design 内置图标 -->
87
+ <XTitle icon="user" title="用户管理" />
88
+ <XTitle icon="setting" title="系统设置" />
89
+
90
+ <!-- 使用动态加载的自定义图标 -->
91
+ <XTitle customIcon="icon001" title="HIS 系统" />
92
+
93
+ <!-- 配置图标颜色 -->
94
+ <XTitle customIcon="icon001" title="HIS 系统" iconColor="red" />
95
+
96
+ <!-- 配置图标大小 -->
97
+ <XTitle customIcon="icon001" title="HIS 系统" iconSize="24px" />
98
+
99
+ <!-- 组合使用 -->
100
+ <XTitle customIcon="icon001" title="HIS 系统" iconColor="blue" iconSize="20px" dot />
101
+
102
+ <!-- 使用自定义 SVG 组件 -->
103
+ <XTitle :iconComponent="CustomIcon" title="自定义图标" />
104
+ </template>
105
+
106
+ <script setup>
107
+ import XTitle from '@/base-client/components/his/XTitle/XTitle.vue'
108
+ import CustomIcon from './CustomIcon.vue'
109
+ </script>
110
+ ```
111
+
112
+ ## XTitle 属性说明
113
+
114
+ ### 默认样式
115
+ XTitle 组件默认包含以下样式:
116
+ - 只有右侧有 8px 间距
117
+ - 图标垂直居中对齐
118
+ - 图标默认样式(16px 字体大小)
119
+
120
+ ### 图标样式属性
121
+ | 属性 | 类型 | 默认值 | 说明 |
122
+ |------|------|--------|------|
123
+ | `iconColor` | String | - | 图标颜色,支持 CSS 颜色值 |
124
+ | `iconSize` | String | - | 图标大小,支持 CSS 尺寸值 |
125
+ | `iconStyle` | Object | - | 自定义样式对象,会合并到图标样式中 |
126
+
127
+ ### 其他样式属性
128
+ - `dot` - 显示圆点
129
+ - `nodot` - 隐藏圆点
130
+ - `center` - 居中对齐
131
+ - `littlefont` - 小字体
132
+
133
+ ## Props
134
+
135
+ | 参数 | 说明 | 类型 | 默认值 |
136
+ |------|------|------|--------|
137
+ | name | 图标名称 | String | - |
138
+ | style | 自定义样式 | Object | {} |
139
+ | className | 自定义类名 | String | '' |
140
+
141
+ ## 扩展新图标
142
+
143
+ 现在添加新图标非常简单,**无需修改代码**:
144
+
145
+ 1. **添加 SVG 文件**:在 `src/assets/svg/his/` 目录下添加新的 SVG 文件
146
+ 2. **使用图标**:直接使用文件名(去掉 `.svg` 扩展名)作为图标名称
147
+
148
+ ```bash
149
+ # 示例:添加新图标
150
+ src/assets/svg/his/
151
+ ├── icon001.svg # 已存在
152
+ ├── icon002.svg # 新添加
153
+ ├── user.svg # 新添加
154
+ └── setting.svg # 新添加
155
+ ```
156
+
157
+ ```vue
158
+ <!-- 直接使用,无需任何配置 -->
159
+ <XIcon name="icon002" />
160
+ <XIcon name="user" />
161
+ <XIcon name="setting" />
162
+ ```
163
+
164
+ ### SVG 文件要求
165
+ - 文件格式:`.svg`
166
+ - 文件位置:`src/assets/svg/his/` 目录
167
+ - 文件内容:标准的 SVG 格式,包含 `<path>` 元素
168
+ - 命名:使用有意义的文件名,去掉 `.svg` 扩展名后就是图标名称
169
+
170
+ ## 注意事项
171
+
172
+ 1. **动态加载**:图标会在首次使用时动态加载,后续使用会从缓存中读取
173
+ 2. **SVG 格式**:确保在不同分辨率下都能清晰显示
174
+ 3. **颜色继承**:所有图标都使用 `currentColor` 作为填充色,会自动继承父元素的文字颜色
175
+ 4. **文件命名**:使用有意义的文件名,避免特殊字符和空格
176
+ 5. **SVG 结构**:确保 SVG 文件包含有效的 `<path>` 元素
177
+ 6. **缓存机制**:SVG 内容会被缓存,避免重复加载
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div class="x-radio-container" :class="wrapperClassObject()">
3
3
  <a-radio-group v-model="innerValue" @change="onChange" :class="['x-radio-group', { 'x-radio-group-left': config.alignLeft }]">
4
- <div
4
+ <div
5
5
  v-for="item in data"
6
6
  :key="item.value"
7
7
  class="x-radio-item-container"
@@ -6,6 +6,8 @@
6
6
  :class="{ 'with-underline': config.line === 'line' }">
7
7
  <div class="title-content">
8
8
  <div class="title-dot"></div>
9
+ <a-icon v-if="attrs.icon && !attrs.customIcon" :type="attrs.icon" class="title-icon" />
10
+ <XIcon v-if="attrs.customIcon" :name="attrs.customIcon" class="title-icon" />
9
11
  <span>{{ config.label }}</span>
10
12
  </div>
11
13
  <div
@@ -22,6 +24,7 @@
22
24
 
23
25
  <script setup>
24
26
  import { ref, computed, onMounted, useAttrs } from 'vue'
27
+ import XIcon from '../XIcon/XIcon.vue'
25
28
 
26
29
  const props = defineProps({
27
30
  queryParamsName: {
@@ -171,20 +174,36 @@ onMounted(() => {
171
174
  }
172
175
  }
173
176
 
177
+ .title-icon {
178
+ font-size: 16px;
179
+ flex-shrink: 0;
180
+ display: inline-flex;
181
+ align-items: center;
182
+ justify-content: center;
183
+ vertical-align: baseline;
184
+ line-height: 1;
185
+ color: #5D5C5C;
186
+ margin-right: 8px;
187
+ transform: translateY(0.1em);
188
+ }
189
+
190
+ // title-content 默认样式 - 只保留右侧间距
191
+ .x-title-container {
192
+ :deep(.title-content) {
193
+ display: flex;
194
+ align-items: baseline;
195
+ }
196
+ }
197
+
174
198
  // dot 和 nodot 样式的公共部分
175
199
  .x-title-dot,
176
200
  .x-title-nodot {
177
201
  &.x-title-container,
178
202
  .x-title-container {
179
- :deep(.title-content) {
180
- display: flex;
181
- align-items: center;
182
- gap: 8px;
183
- }
184
-
185
203
  :deep(.title-dot) {
186
204
  width: 14px;
187
205
  height: 14px;
206
+ margin-right: 8px;
188
207
  flex-shrink: 0;
189
208
  }
190
209
  }
@@ -1,51 +1,51 @@
1
- import XForm from './common/XForm'
2
- import XAddForm from './common/XAddForm'
3
- import XAddNativeForm from './common/XAddNativeForm'
4
- import XFormCol from './common/XFormCol'
5
- import XTable from './common/XTable'
6
- import XTreeOne from './common/XTreeOne'
7
- import XImportExcel from './common/XImportExcel'
8
- import XDataDrawer from './common/XDataDrawer'
9
- import XCard from './common/XCard'
10
- import XBadge from './common/XBadge'
11
- import Upload from './common/Upload'
12
- import JSONToTree from './common/JSONToTree'
13
- import FormGroupEdit from './common/FormGroupEdit'
14
- import FormGroupQuery from './common/FormGroupQuery'
15
- import AddressSearchCombobox from './common/AddressSearchCombobox'
16
- import AmapMarker from './common/AmapMarker'
17
- import PersonSetting from './common/PersonSetting'
18
- import XFormTable from './common/XFormTable'
19
- import XStepView from './common/XStepView'
20
- import Tree from './common/Tree'
21
- import CreateQuery from './common/CreateQuery'
22
- import CreateSimpleFormQuery from './common/CreateSimpleFormQuery'
23
- import XFormGroup from './common/XFormGroup'
24
- import XDescriptionsGroup from './common/XDescriptions/XDescriptionsGroup.vue'
25
-
26
- export default {
27
- AddressSearchCombobox,
28
- AmapMarker,
29
- CreateQuery,
30
- CreateSimpleFormQuery,
31
- FormGroupEdit,
32
- FormGroupQuery,
33
- JSONToTree,
34
- PersonSetting,
35
- Tree,
36
- Upload,
37
- XAddForm,
38
- XAddNativeForm,
39
- XBadge,
40
- XCard,
41
- XDataDrawer,
42
- XDescriptionsGroup,
43
- XForm,
44
- XFormCol,
45
- XFormGroup,
46
- XFormTable,
47
- XImportExcel,
48
- XStepView,
49
- XTable,
50
- XTreeOne
51
- }
1
+ import XForm from './common/XForm'
2
+ import XAddForm from './common/XAddForm'
3
+ import XAddNativeForm from './common/XAddNativeForm'
4
+ import XFormCol from './common/XFormCol'
5
+ import XTable from './common/XTable'
6
+ import XTreeOne from './common/XTreeOne'
7
+ import XImportExcel from './common/XImportExcel'
8
+ import XDataDrawer from './common/XDataDrawer'
9
+ import XCard from './common/XCard'
10
+ import XBadge from './common/XBadge'
11
+ import Upload from './common/Upload'
12
+ import JSONToTree from './common/JSONToTree'
13
+ import FormGroupEdit from './common/FormGroupEdit'
14
+ import FormGroupQuery from './common/FormGroupQuery'
15
+ import AddressSearchCombobox from './common/AddressSearchCombobox'
16
+ import AmapMarker from './common/AmapMarker'
17
+ import PersonSetting from './common/PersonSetting'
18
+ import XFormTable from './common/XFormTable'
19
+ import XStepView from './common/XStepView'
20
+ import Tree from './common/Tree'
21
+ import CreateQuery from './common/CreateQuery'
22
+ import CreateSimpleFormQuery from './common/CreateSimpleFormQuery'
23
+ import XFormGroup from './common/XFormGroup'
24
+ import XDescriptionsGroup from './common/XDescriptions/XDescriptionsGroup.vue'
25
+
26
+ export default {
27
+ AddressSearchCombobox,
28
+ AmapMarker,
29
+ CreateQuery,
30
+ CreateSimpleFormQuery,
31
+ FormGroupEdit,
32
+ FormGroupQuery,
33
+ JSONToTree,
34
+ PersonSetting,
35
+ Tree,
36
+ Upload,
37
+ XAddForm,
38
+ XAddNativeForm,
39
+ XBadge,
40
+ XCard,
41
+ XDataDrawer,
42
+ XDescriptionsGroup,
43
+ XForm,
44
+ XFormCol,
45
+ XFormGroup,
46
+ XFormTable,
47
+ XImportExcel,
48
+ XStepView,
49
+ XTable,
50
+ XTreeOne
51
+ }
@@ -1,130 +1,130 @@
1
- <template>
2
- <component-layout-one v-if="loaded" :siderProps="{width: leftWidth, collapsible: collapsible, collapsedWidth: collapsedWidth, theme: 'light'}">
3
- <template slot="left">
4
- <div class="bg-white pd-20" :style="{height: treeHeight}">
5
- <x-tree-pro
6
- :config-name="configName"
7
- :serviceName="serviceName"
8
- :env="env"
9
- :countVisible="countVisible"
10
- @action="action"
11
- @treeOnChecked="treeOnChecked"
12
- @itemChecked="itemChecked"
13
- ref="xtree"
14
- ></x-tree-pro>
15
- </div>
16
- </template>
17
- <div style="margin-left: 12px">
18
- <slot></slot>
19
- </div>
20
- </component-layout-one>
21
- </template>
22
-
23
- <script>
24
- import ComponentLayoutOne from '@vue2-client/layouts/ComponentLayoutOne'
25
- import XTreePro from '@vue2-client/base-client/components/common/XTree/XTreePro'
26
- export default {
27
- name: 'XTreeView',
28
- components: { ComponentLayoutOne, XTreePro },
29
- data () {
30
- return {
31
- // 加载状态
32
- loaded: false,
33
- // xTree 配置名称
34
- configName: undefined,
35
- // 环境
36
- env: undefined,
37
- // 命名空间
38
- serviceName: undefined,
39
- // 左侧宽度
40
- leftWidth: undefined,
41
- // 是否允许收起
42
- collapsible: undefined,
43
- // 左侧收起后宽度
44
- collapsedWidth: undefined,
45
- // 是否显示数量
46
- countVisible: undefined,
47
- // 树高度
48
- treeHeight: undefined,
49
- // 用于展示筛选出的数据
50
- searchData: [],
51
- // 查询值
52
- searchValue: ''
53
- }
54
- },
55
- methods: {
56
- init (params) {
57
- const {
58
- // xTree 配置名称
59
- configName,
60
- // 环境
61
- env = 'prod',
62
- // 命名空间
63
- serviceName,
64
- // 左侧宽度
65
- leftWidth = 300,
66
- // 是否允许收起
67
- collapsible = true,
68
- // 左侧收起后宽度
69
- collapsedWidth = 0,
70
- // 是否显示数量
71
- countVisible = false,
72
- // 树高度
73
- treeHeight = '85vh'
74
- } = params
75
- this.loaded = false
76
- this.configName = configName
77
- this.env = env
78
- this.serviceName = serviceName
79
- this.leftWidth = leftWidth
80
- this.collapsible = collapsible
81
- this.collapsedWidth = collapsedWidth
82
- this.countVisible = countVisible
83
- this.treeHeight = treeHeight
84
- this.loaded = true
85
- },
86
- /**
87
- * 详情按钮事件
88
- * @param record 本条数据
89
- * @param id 数据标识
90
- * @param actionType 操作类型
91
- * @param fun 向上级传递的事件
92
- */
93
- action (record, id, actionType, fun = 'action') {
94
- this.$emit(fun, record, id, actionType)
95
- },
96
- refresh () {
97
- this.$refs.xtree.refresh()
98
- },
99
- treeOnChecked (checkedKeys, deepNodes, deepKeys) {
100
- this.$emit('treeOnChecked', checkedKeys, deepNodes, deepKeys)
101
- },
102
- itemChecked (node) {
103
- this.$emit('itemChecked', node)
104
- },
105
- onChange (e) {
106
- const name = e.target.value
107
- this.searchValue = name
108
- this.searchData = []
109
- for (const row of this.treeData) {
110
- if (row.title.indexOf(name) > -1) {
111
- this.searchData.push(row)
112
- }
113
- }
114
- },
115
- close () {
116
- this.loaded = false
117
- }
118
- }
119
- }
120
- </script>
121
-
122
- <style lang="less" scoped>
123
- .pd-20 {
124
- padding: 20px;
125
- }
126
- /deep/ .ant-tree-switcher-icon svg{
127
- width: 1.5em;
128
- height: 1.5em;
129
- }
130
- </style>
1
+ <template>
2
+ <component-layout-one v-if="loaded" :siderProps="{width: leftWidth, collapsible: collapsible, collapsedWidth: collapsedWidth, theme: 'light'}">
3
+ <template slot="left">
4
+ <div class="bg-white pd-20" :style="{height: treeHeight}">
5
+ <x-tree-pro
6
+ :config-name="configName"
7
+ :serviceName="serviceName"
8
+ :env="env"
9
+ :countVisible="countVisible"
10
+ @action="action"
11
+ @treeOnChecked="treeOnChecked"
12
+ @itemChecked="itemChecked"
13
+ ref="xtree"
14
+ ></x-tree-pro>
15
+ </div>
16
+ </template>
17
+ <div style="margin-left: 12px">
18
+ <slot></slot>
19
+ </div>
20
+ </component-layout-one>
21
+ </template>
22
+
23
+ <script>
24
+ import ComponentLayoutOne from '@vue2-client/layouts/ComponentLayoutOne'
25
+ import XTreePro from '@vue2-client/base-client/components/common/XTree/XTreePro'
26
+ export default {
27
+ name: 'XTreeView',
28
+ components: { ComponentLayoutOne, XTreePro },
29
+ data () {
30
+ return {
31
+ // 加载状态
32
+ loaded: false,
33
+ // xTree 配置名称
34
+ configName: undefined,
35
+ // 环境
36
+ env: undefined,
37
+ // 命名空间
38
+ serviceName: undefined,
39
+ // 左侧宽度
40
+ leftWidth: undefined,
41
+ // 是否允许收起
42
+ collapsible: undefined,
43
+ // 左侧收起后宽度
44
+ collapsedWidth: undefined,
45
+ // 是否显示数量
46
+ countVisible: undefined,
47
+ // 树高度
48
+ treeHeight: undefined,
49
+ // 用于展示筛选出的数据
50
+ searchData: [],
51
+ // 查询值
52
+ searchValue: ''
53
+ }
54
+ },
55
+ methods: {
56
+ init (params) {
57
+ const {
58
+ // xTree 配置名称
59
+ configName,
60
+ // 环境
61
+ env = 'prod',
62
+ // 命名空间
63
+ serviceName,
64
+ // 左侧宽度
65
+ leftWidth = 300,
66
+ // 是否允许收起
67
+ collapsible = true,
68
+ // 左侧收起后宽度
69
+ collapsedWidth = 0,
70
+ // 是否显示数量
71
+ countVisible = false,
72
+ // 树高度
73
+ treeHeight = '85vh'
74
+ } = params
75
+ this.loaded = false
76
+ this.configName = configName
77
+ this.env = env
78
+ this.serviceName = serviceName
79
+ this.leftWidth = leftWidth
80
+ this.collapsible = collapsible
81
+ this.collapsedWidth = collapsedWidth
82
+ this.countVisible = countVisible
83
+ this.treeHeight = treeHeight
84
+ this.loaded = true
85
+ },
86
+ /**
87
+ * 详情按钮事件
88
+ * @param record 本条数据
89
+ * @param id 数据标识
90
+ * @param actionType 操作类型
91
+ * @param fun 向上级传递的事件
92
+ */
93
+ action (record, id, actionType, fun = 'action') {
94
+ this.$emit(fun, record, id, actionType)
95
+ },
96
+ refresh () {
97
+ this.$refs.xtree.refresh()
98
+ },
99
+ treeOnChecked (checkedKeys, deepNodes, deepKeys) {
100
+ this.$emit('treeOnChecked', checkedKeys, deepNodes, deepKeys)
101
+ },
102
+ itemChecked (node) {
103
+ this.$emit('itemChecked', node)
104
+ },
105
+ onChange (e) {
106
+ const name = e.target.value
107
+ this.searchValue = name
108
+ this.searchData = []
109
+ for (const row of this.treeData) {
110
+ if (row.title.indexOf(name) > -1) {
111
+ this.searchData.push(row)
112
+ }
113
+ }
114
+ },
115
+ close () {
116
+ this.loaded = false
117
+ }
118
+ }
119
+ }
120
+ </script>
121
+
122
+ <style lang="less" scoped>
123
+ .pd-20 {
124
+ padding: 20px;
125
+ }
126
+ /deep/ .ant-tree-switcher-icon svg{
127
+ width: 1.5em;
128
+ height: 1.5em;
129
+ }
130
+ </style>
@@ -1,3 +1,3 @@
1
- import XTreeView from './XTreeView'
2
-
3
- export default XTreeView
1
+ import XTreeView from './XTreeView'
2
+
3
+ export default XTreeView