vue2-client 1.17.49 → 1.17.50
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.
- package/.claude/settings.local.json +20 -20
- package/.cursorrules +19 -19
- package/.env.apply +19 -19
- package/.env.gaslink +19 -19
- package/.env.his +19 -19
- package/.env.liuli +20 -20
- package/.env.scada +19 -19
- package/.eslintrc.js +90 -90
- package/.serena/memories/code_style_conventions.md +217 -217
- package/.serena/memories/project_overview.md +54 -54
- package/.serena/memories/project_structure.md +329 -329
- package/.serena/memories/suggested_commands.md +127 -127
- package/.serena/memories/task_completion_checklist.md +183 -183
- package/.serena/memories/tech_stack.md +94 -94
- package/CHANGELOG.md +830 -830
- package/CLAUDE.md +97 -97
- package/Components.md +60 -60
- package/docs/LowCode/lowcode.md +155 -155
- package/docs/LowCode/lowcodeForDeveloper.md +230 -230
- package/docs/index.md +30 -30
- package/index.js +31 -31
- package/jest-transform-stub.js +8 -8
- package/jest.setup.js +7 -7
- package/jsconfig.json +19 -19
- package/package.json +1 -1
- package/public/his/editor/editor.html +51 -51
- package/public/his/editor/mock/bind_data.html +779 -779
- package/public/his/editor/mock/data_table.html +40 -40
- package/public/his/editor/mock/sign.html +75 -75
- package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
- package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
- package/public/his/editor/vender/date97/WdatePicker.js +677 -677
- package/public/his/editor/vender/date97/calendar.js +4 -4
- package/public/his/editor/vender/date97/lang/en.js +13 -13
- package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
- package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
- package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
- package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
- package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
- package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
- package/public/his/editor/vender/diff.js +1627 -1627
- package/public/his/editor/vender/editor.js +1 -1
- package/public/his/editor/vender/fabric.js +31187 -31187
- package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
- package/public/his/editor/vender/jquery/jquery.js +10872 -10872
- package/public/his/editor/vender/jquery/jquery.print.js +255 -255
- package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
- package/public/his/editor/vender/mui/mui.min.css +4 -4
- package/public/his/editor/vender/mui/mui.min.js +5 -5
- package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
- package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
- package/public/his/editor/vender/qrcode.js +7 -7
- package/public/his/editor/vender/requirejs/require.js +2145 -2145
- package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
- package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
- package/public/his/editor/vender/signature/jSignature.js +1486 -1486
- package/public/his/editor/vender/validator.js +5094 -5094
- package/public/his/editor/vender/weui/weui.css +5659 -5659
- package/public/his/editor/vender/weui/weui.min.css +4 -4
- package/public/his/editor/vender/weui/weui.min.js +11 -11
- package/src/assets/img/paymentMethod/package.info +1 -1
- package/src/assets/img/querySlotDemo.svg +15 -15
- package/src/assets/svg/badtwo.svg +1 -1
- package/src/assets/svg/goodtwo.svg +1 -1
- package/src/base-client/components/AI/AskAiBtn.vue +136 -136
- package/src/base-client/components/AI/demo.vue +31 -31
- package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
- package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
- package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
- package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
- package/src/base-client/components/common/CitySelect/index.js +3 -3
- package/src/base-client/components/common/CitySelect/index.md +109 -109
- package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
- package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
- package/src/base-client/components/common/CreateQuery/index.js +3 -3
- package/src/base-client/components/common/CreateQuery/index.md +42 -42
- package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
- package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
- package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
- package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
- package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
- package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
- package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
- package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
- package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
- package/src/base-client/components/common/HIS/demo.vue +61 -61
- package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
- package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
- package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
- package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
- package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
- package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
- package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
- package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
- package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
- package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
- package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
- package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
- package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
- package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
- package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
- package/src/base-client/components/common/PersonSetting/index.js +3 -3
- package/src/base-client/components/common/Recording/Recording.vue +243 -243
- package/src/base-client/components/common/Recording/index.js +3 -3
- package/src/base-client/components/common/Tree/Tree.vue +149 -149
- package/src/base-client/components/common/Tree/index.js +2 -2
- package/src/base-client/components/common/Upload/index.js +3 -3
- package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
- package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
- package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +304 -304
- package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
- package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
- package/src/base-client/components/common/XAddReport/index.js +3 -3
- package/src/base-client/components/common/XAddReport/index.md +56 -56
- package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
- package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
- package/src/base-client/components/common/XButtons/index.js +3 -3
- package/src/base-client/components/common/XButtons/index.md +61 -61
- package/src/base-client/components/common/XCalendar/XCalendar.vue +4 -4
- package/src/base-client/components/common/XCard/XCard.vue +64 -64
- package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
- package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
- package/src/base-client/components/common/XDataCard/index.js +3 -3
- package/src/base-client/components/common/XDataCard/index.md +1 -1
- package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
- package/src/base-client/components/common/XDataDrawer/index.js +3 -3
- package/src/base-client/components/common/XDataDrawer/index.md +41 -41
- package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
- package/src/base-client/components/common/XDatePicker/index.vue +0 -2
- package/src/base-client/components/common/XDescriptions/index.js +3 -3
- package/src/base-client/components/common/XDescriptions/index.md +83 -83
- package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
- package/src/base-client/components/common/XDetailsView/index.js +3 -3
- package/src/base-client/components/common/XForm/XForm.vue +16 -10
- package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
- package/src/base-client/components/common/XForm/index.md +178 -178
- package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
- package/src/base-client/components/common/XFormGroup/index.js +3 -3
- package/src/base-client/components/common/XFormGroup/index.md +38 -38
- package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
- package/src/base-client/components/common/XFormTable/XFormTable.vue +1252 -1093
- package/src/base-client/components/common/XFormTable/demo.vue +121 -113
- package/src/base-client/components/common/XFormTable/index.md +92 -92
- package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
- package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
- package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
- package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
- package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
- package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
- package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
- package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
- package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
- package/src/base-client/components/common/XPrint/index.vue +97 -97
- package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
- package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
- package/src/base-client/components/common/XReport/index.js +3 -3
- package/src/base-client/components/common/XReportDrawer/index.js +3 -3
- package/src/base-client/components/common/XReportGrid/index.js +3 -3
- package/src/base-client/components/common/XReportGrid/index.md +44 -44
- package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
- package/src/base-client/components/common/XReportSlot/index.js +3 -3
- package/src/base-client/components/common/XReportSlot/index.md +48 -48
- package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
- package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
- package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
- package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
- package/src/base-client/components/common/XStepView/index.js +3 -3
- package/src/base-client/components/common/XStepView/index.md +31 -31
- package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
- package/src/base-client/components/common/XTab/index.js +3 -3
- package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
- package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
- package/src/base-client/components/common/XTable/XTable.vue +4 -1
- package/src/base-client/components/common/XTable/XTableWrapper.vue +738 -732
- package/src/base-client/components/common/XTable/index.md +255 -255
- package/src/base-client/components/common/XTagGroup/index.vue +52 -52
- package/src/base-client/components/common/XTree/XTree.vue +424 -424
- package/src/base-client/components/common/XTree/index.js +3 -3
- package/src/base-client/components/common/XTree/index.md +36 -36
- package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
- package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
- package/src/base-client/components/common/richTextModal/index.vue +56 -56
- package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
- package/src/base-client/components/his/XCharge/XChargeDemo.vue +145 -145
- package/src/base-client/components/his/XHisEditor/index.js +3 -3
- package/src/base-client/components/index.js +51 -51
- package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
- package/src/base-client/components/layout/XTreeView/index.js +3 -3
- package/src/base-client/components/layout/XTreeView/index.md +46 -46
- package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
- package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
- package/src/base-client/plugins/Config.js +19 -19
- package/src/base-client/plugins/GetLoginInfoService.js +183 -183
- package/src/base-client/plugins/Recording.js +258 -258
- package/src/base-client/plugins/index.js +23 -23
- package/src/base-client/plugins/tabs-page-plugin.js +39 -39
- package/src/components/Charts/Bar.vue +62 -62
- package/src/components/Charts/ChartCard.vue +134 -134
- package/src/components/Charts/Liquid.vue +67 -67
- package/src/components/Charts/MiniArea.vue +39 -39
- package/src/components/Charts/MiniBar.vue +39 -39
- package/src/components/Charts/MiniProgress.vue +75 -75
- package/src/components/Charts/MiniSmoothArea.vue +40 -40
- package/src/components/Charts/Radar.vue +68 -68
- package/src/components/Charts/RankList.vue +77 -77
- package/src/components/Charts/TagCloud.vue +113 -113
- package/src/components/Charts/TransferBar.vue +64 -64
- package/src/components/Charts/Trend.vue +82 -82
- package/src/components/Charts/chart.less +12 -12
- package/src/components/Charts/smooth.area.less +13 -13
- package/src/components/CodeMirror/inedx.vue +118 -118
- package/src/components/CodeMirror/setting.js +40 -40
- package/src/components/NumberInfo/NumberInfo.vue +54 -54
- package/src/components/NumberInfo/index.js +3 -3
- package/src/components/NumberInfo/index.less +54 -54
- package/src/components/NumberInfo/index.md +43 -43
- package/src/components/card/ChartCard.vue +79 -79
- package/src/components/chart/Bar.vue +60 -60
- package/src/components/chart/MiniArea.vue +67 -67
- package/src/components/chart/MiniBar.vue +59 -59
- package/src/components/chart/MiniProgress.vue +57 -57
- package/src/components/chart/Radar.vue +80 -80
- package/src/components/chart/RankingList.vue +60 -60
- package/src/components/chart/Trend.vue +79 -79
- package/src/components/chart/index.less +9 -9
- package/src/components/checkbox/ColorCheckbox.vue +157 -157
- package/src/components/checkbox/ImgCheckbox.vue +117 -117
- package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
- package/src/components/checkbox/index.js +9 -9
- package/src/components/exception/ExceptionPage.vue +70 -70
- package/src/components/g2Charts/constants.js +202 -202
- package/src/components/g2Charts/demo.vue +808 -808
- package/src/components/g2Charts/designer.vue +228 -228
- package/src/components/g2Charts/designerBaseConfig.vue +61 -61
- package/src/components/g2Charts/designerDataConfig.vue +259 -259
- package/src/components/g2Charts/designerStyleConfig.vue +16 -16
- package/src/components/g2Charts/index.vue +397 -397
- package/src/components/index.js +36 -36
- package/src/components/input/IInput.vue +66 -66
- package/src/components/menu/SideMenu.vue +75 -75
- package/src/components/menu/menu.js +273 -273
- package/src/components/setting/Setting.vue +234 -234
- package/src/components/tool/AStepItem.vue +60 -60
- package/src/config/CreateQueryConfig.js +325 -325
- package/src/config/default/antd.config.js +89 -89
- package/src/config/default/setting.config.js +55 -55
- package/src/font-style/font.css +60 -60
- package/src/layouts/CommonLayout.vue +56 -56
- package/src/layouts/PageLayout.vue +151 -151
- package/src/layouts/SinglePageView.vue +136 -136
- package/src/layouts/header/AdminHeader.vue +132 -132
- package/src/layouts/header/HeaderNotice.vue +177 -177
- package/src/layouts/header/InstitutionDetail.vue +181 -181
- package/src/layouts/tabs/TabsHead.vue +189 -189
- package/src/lib.js +1 -1
- package/src/mock/extend/index.js +84 -84
- package/src/mock/goods/index.js +108 -108
- package/src/pages/DefaultExample/index.vue +77 -77
- package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
- package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
- package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
- package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
- package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
- package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
- package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
- package/src/pages/DynamicStatistics/index.vue +282 -282
- package/src/pages/Example/childIndex.vue +15 -15
- package/src/pages/Example/index.vue +30 -30
- package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
- package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
- package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
- package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
- package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
- package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
- package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
- package/src/pages/NewDynamicStatistics/index.vue +258 -258
- package/src/pages/Recording/index.vue +77 -77
- package/src/pages/ServiceReview/index.vue +284 -284
- package/src/pages/SubExample/index.vue +26 -26
- package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
- package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandle.vue +1815 -1815
- package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowTimeline.vue +1014 -1014
- package/src/pages/XReportView/index.vue +64 -64
- package/src/pages/XTreeOneProExample/index.vue +67 -67
- package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
- package/src/pages/login/Login.vue +379 -379
- package/src/pages/login/LoginV3.vue +389 -389
- package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
- package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
- package/src/pages/report/ReportTable.js +124 -124
- package/src/pages/resourceManage/orgListManage.vue +98 -98
- package/src/pages/system/dictionary/index.vue +44 -44
- package/src/pages/system/monitor/loginInfor/index.vue +37 -37
- package/src/pages/system/monitor/operLog/index.vue +37 -37
- package/src/pages/system/settings/modifyPassword.vue +117 -117
- package/src/pages/system/ticket/index.vue +480 -480
- package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
- package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
- package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
- package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
- package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
- package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
- package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
- package/src/plugins/EventLogPlugin.js +33 -33
- package/src/plugins/FindParentsData.js +17 -17
- package/src/router/async/router.map.js +2 -2
- package/src/services/DataModel.js +30 -30
- package/src/services/LodopFuncs.js +137 -137
- package/src/services/api/TicketDetailsViewApi.js +46 -46
- package/src/services/api/cas.js +79 -79
- package/src/services/api/entity.js +18 -18
- package/src/services/api/index.js +17 -17
- package/src/store/modules/account.js +121 -121
- package/src/store/modules/index.js +5 -5
- package/src/store/modules/lowCode.js +33 -33
- package/src/store/modules/setting.js +119 -119
- package/src/theme/default/style.less +58 -58
- package/src/theme/global.less +313 -313
- package/src/utils/authority-utils.js +85 -85
- package/src/utils/errorCode.js +6 -6
- package/src/utils/formatter.js +74 -74
- package/src/utils/htmlToPDF.js +108 -108
- package/src/utils/htmlToPDFApi.js +5 -5
- package/src/utils/login.js +188 -188
- package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
- package/src/utils/lowcode/lowcodeLog.js +29 -29
- package/src/utils/lowcode/lowcodeUtils.js +373 -373
- package/src/utils/lowcode/registerComponentForEditor.js +1 -1
- package/src/utils/lowcode/registerComponentForRender.js +11 -11
- package/src/utils/reg.js +95 -95
- package/src/utils/runEvalFunction.js +14 -14
- package/src/utils/theme-color-replacer-extend.js +92 -92
- package/src/utils/util.js +329 -329
- package/src/utils/waterMark.js +31 -31
- package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
|
@@ -1,218 +1,218 @@
|
|
|
1
|
-
# Vue2-Client 代码风格和约定
|
|
2
|
-
|
|
3
|
-
## 总体原则
|
|
4
|
-
- 编写简洁、技术性的JavaScript代码
|
|
5
|
-
- 提供准确的代码示例
|
|
6
|
-
- 优先迭代和模块化,避免代码重复
|
|
7
|
-
- 使用描述性变量名(如:isLoading, hasError)
|
|
8
|
-
|
|
9
|
-
## Vue组件开发规范
|
|
10
|
-
|
|
11
|
-
### 组件API风格
|
|
12
|
-
**优先使用**:
|
|
13
|
-
- Vue 2.7组合API + setup语法糖
|
|
14
|
-
- 声明式编程模式
|
|
15
|
-
|
|
16
|
-
**避免使用**(除非修改现有代码):
|
|
17
|
-
- 选项API (Options API)
|
|
18
|
-
- 传统的setup标签形式
|
|
19
|
-
|
|
20
|
-
### 示例:推荐的组件结构
|
|
21
|
-
```vue
|
|
22
|
-
<script setup>
|
|
23
|
-
import { ref, computed } from 'vue'
|
|
24
|
-
|
|
25
|
-
// 使用组合API
|
|
26
|
-
const isLoading = ref(false)
|
|
27
|
-
const hasError = ref(false)
|
|
28
|
-
|
|
29
|
-
// 计算属性使用箭头函数
|
|
30
|
-
const displayText = computed(() => {
|
|
31
|
-
return isLoading.value ? '加载中...' : '已完成'
|
|
32
|
-
})
|
|
33
|
-
|
|
34
|
-
// 方法使用箭头函数
|
|
35
|
-
const handleClick = () => {
|
|
36
|
-
isLoading.value = true
|
|
37
|
-
}
|
|
38
|
-
</script>
|
|
39
|
-
|
|
40
|
-
<template>
|
|
41
|
-
<div>{{ displayText }}</div>
|
|
42
|
-
</template>
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
## 命名约定
|
|
46
|
-
|
|
47
|
-
### 目录命名
|
|
48
|
-
- 使用kebab-case(小写带破折号)
|
|
49
|
-
- 示例:`components/auth-wizard`、`pages/user-manage`
|
|
50
|
-
|
|
51
|
-
### 文件命名
|
|
52
|
-
- **组件文件**:使用PascalCase
|
|
53
|
-
- 示例:`AuthWizard.vue`、`UserTable.vue`
|
|
54
|
-
- **可组合函数**:使用camelCase
|
|
55
|
-
- 示例:`useAuthState.js`、`useFormValidation.js`
|
|
56
|
-
- **工具函数**:使用camelCase
|
|
57
|
-
- 示例:`formatDate.js`、`encryptData.js`
|
|
58
|
-
|
|
59
|
-
### 变量命名
|
|
60
|
-
- **布尔值**:使用助动词前缀
|
|
61
|
-
- `isLoading`、`hasError`、`canEdit`、`shouldShow`
|
|
62
|
-
- **普通变量**:使用camelCase
|
|
63
|
-
- `userData`、`pageTitle`、`apiResponse`
|
|
64
|
-
- **常量**:使用UPPER_SNAKE_CASE
|
|
65
|
-
- `API_BASE_URL`、`MAX_RETRY_COUNT`
|
|
66
|
-
|
|
67
|
-
## 项目特定约定
|
|
68
|
-
|
|
69
|
-
### X组件命名规范
|
|
70
|
-
Base-client中的核心组件使用X前缀:
|
|
71
|
-
- `XForm`:表单组件
|
|
72
|
-
- `XTable`:表格组件
|
|
73
|
-
- `XCard`:卡片组件
|
|
74
|
-
- `XPageView`:页面视图组件
|
|
75
|
-
|
|
76
|
-
### 组件文件结构
|
|
77
|
-
```
|
|
78
|
-
src/
|
|
79
|
-
├── base-client/ # 基础组件(全局注册)
|
|
80
|
-
│ ├── components/ # X系列组件
|
|
81
|
-
│ └── plugins/ # 全局插件
|
|
82
|
-
├── components/ # 通用组件(按需引入)
|
|
83
|
-
├── pages/ # 页面组件
|
|
84
|
-
└── layouts/ # 布局组件
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
## 代码格式规范
|
|
88
|
-
|
|
89
|
-
### 语法和格式
|
|
90
|
-
- **箭头函数**:方法和计算属性统一使用箭头函数
|
|
91
|
-
- **简洁语法**:避免条件语句中不必要的花括号
|
|
92
|
-
```javascript
|
|
93
|
-
// 推荐
|
|
94
|
-
if (isValid) return true
|
|
95
|
-
|
|
96
|
-
// 避免(简单语句)
|
|
97
|
-
if (isValid) {
|
|
98
|
-
return true
|
|
99
|
-
}
|
|
100
|
-
```
|
|
101
|
-
- **模板语法**:使用声明式渲染,避免在模板中写复杂逻辑
|
|
102
|
-
|
|
103
|
-
### 导入顺序
|
|
104
|
-
文件导入按以下顺序组织:
|
|
105
|
-
1. Vue核心和第三方库
|
|
106
|
-
2. 组件导入
|
|
107
|
-
3. 可组合函数(composables)
|
|
108
|
-
4. 工具函数(helpers)
|
|
109
|
-
5. 静态内容(assets、styles)
|
|
110
|
-
6. 类型定义(如果有)
|
|
111
|
-
|
|
112
|
-
示例:
|
|
113
|
-
```javascript
|
|
114
|
-
// 1. 核心库
|
|
115
|
-
import { ref, computed } from 'vue'
|
|
116
|
-
import { message } from 'ant-design-vue'
|
|
117
|
-
|
|
118
|
-
// 2. 组件
|
|
119
|
-
import UserForm from '@/components/UserForm.vue'
|
|
120
|
-
|
|
121
|
-
// 3. 可组合函数
|
|
122
|
-
import { useAuth } from '@/composables/useAuth'
|
|
123
|
-
|
|
124
|
-
// 4. 工具
|
|
125
|
-
import { formatDate } from '@/utils/date'
|
|
126
|
-
|
|
127
|
-
// 5. 样式
|
|
128
|
-
import './styles.less'
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
## Less样式规范
|
|
132
|
-
|
|
133
|
-
### 样式组织
|
|
134
|
-
- 使用Less预处理器
|
|
135
|
-
- 主题变量定义在`src/theme/`
|
|
136
|
-
- 组件样式与组件文件共同放置
|
|
137
|
-
- 使用BEM命名规范(可选,但推荐)
|
|
138
|
-
|
|
139
|
-
### 示例
|
|
140
|
-
```less
|
|
141
|
-
.user-table {
|
|
142
|
-
&__header {
|
|
143
|
-
padding: 16px;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
&__body {
|
|
147
|
-
min-height: 400px;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
## 注释规范
|
|
153
|
-
|
|
154
|
-
### 注释语言
|
|
155
|
-
- **必须使用中文**编写注释
|
|
156
|
-
- 代码注释、文档、说明都使用中文
|
|
157
|
-
|
|
158
|
-
### 注释格式
|
|
159
|
-
```javascript
|
|
160
|
-
/**
|
|
161
|
-
* 用户认证可组合函数
|
|
162
|
-
* @returns {Object} 返回认证状态和方法
|
|
163
|
-
*/
|
|
164
|
-
const useAuth = () => {
|
|
165
|
-
// 检查用户是否已登录
|
|
166
|
-
const isLoggedIn = ref(false)
|
|
167
|
-
|
|
168
|
-
return { isLoggedIn }
|
|
169
|
-
}
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
## 配置驱动开发规范
|
|
173
|
-
|
|
174
|
-
### JSON配置
|
|
175
|
-
项目采用配置驱动模式,组件行为通过JSON配置定义:
|
|
176
|
-
```javascript
|
|
177
|
-
// XForm配置示例
|
|
178
|
-
const formConfig = {
|
|
179
|
-
columns: [
|
|
180
|
-
{
|
|
181
|
-
title: '用户名',
|
|
182
|
-
key: 'username',
|
|
183
|
-
type: 'input',
|
|
184
|
-
required: true
|
|
185
|
-
}
|
|
186
|
-
]
|
|
187
|
-
}
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
### 配置文件位置
|
|
191
|
-
- 系统配置:`src/config/`
|
|
192
|
-
- 默认配置:`src/config/default/`
|
|
193
|
-
- 配置替换器:`src/config/replacer/`
|
|
194
|
-
|
|
195
|
-
## ESLint规范
|
|
196
|
-
- 开发时默认禁用ESLint(--no-eslint)
|
|
197
|
-
- 提交前必须运行`npm run lint`检查
|
|
198
|
-
- 遵循Vue官方ESLint规则
|
|
199
|
-
- 标准JavaScript风格(@vue/eslint-config-standard)
|
|
200
|
-
|
|
201
|
-
## Git提交规范
|
|
202
|
-
虽然项目未强制要求,但推荐使用约定式提交:
|
|
203
|
-
- `feat:` 新功能
|
|
204
|
-
- `fix:` 修复bug
|
|
205
|
-
- `docs:` 文档更新
|
|
206
|
-
- `style:` 代码格式调整
|
|
207
|
-
- `refactor:` 重构
|
|
208
|
-
- `test:` 测试相关
|
|
209
|
-
- `chore:` 构建或工具变更
|
|
210
|
-
|
|
211
|
-
## 最佳实践
|
|
212
|
-
1. **组件复用**:优先使用base-client中的X组件
|
|
213
|
-
2. **配置优于编码**:能用配置实现的不写硬编码
|
|
214
|
-
3. **mixins使用**:表单验证等共享逻辑使用mixins
|
|
215
|
-
4. **响应式设计**:使用XFormCol栅格系统
|
|
216
|
-
5. **API调用**:统一使用`src/services/apiService.js`
|
|
217
|
-
6. **数据转换**:遵循DataModel模式
|
|
1
|
+
# Vue2-Client 代码风格和约定
|
|
2
|
+
|
|
3
|
+
## 总体原则
|
|
4
|
+
- 编写简洁、技术性的JavaScript代码
|
|
5
|
+
- 提供准确的代码示例
|
|
6
|
+
- 优先迭代和模块化,避免代码重复
|
|
7
|
+
- 使用描述性变量名(如:isLoading, hasError)
|
|
8
|
+
|
|
9
|
+
## Vue组件开发规范
|
|
10
|
+
|
|
11
|
+
### 组件API风格
|
|
12
|
+
**优先使用**:
|
|
13
|
+
- Vue 2.7组合API + setup语法糖
|
|
14
|
+
- 声明式编程模式
|
|
15
|
+
|
|
16
|
+
**避免使用**(除非修改现有代码):
|
|
17
|
+
- 选项API (Options API)
|
|
18
|
+
- 传统的setup标签形式
|
|
19
|
+
|
|
20
|
+
### 示例:推荐的组件结构
|
|
21
|
+
```vue
|
|
22
|
+
<script setup>
|
|
23
|
+
import { ref, computed } from 'vue'
|
|
24
|
+
|
|
25
|
+
// 使用组合API
|
|
26
|
+
const isLoading = ref(false)
|
|
27
|
+
const hasError = ref(false)
|
|
28
|
+
|
|
29
|
+
// 计算属性使用箭头函数
|
|
30
|
+
const displayText = computed(() => {
|
|
31
|
+
return isLoading.value ? '加载中...' : '已完成'
|
|
32
|
+
})
|
|
33
|
+
|
|
34
|
+
// 方法使用箭头函数
|
|
35
|
+
const handleClick = () => {
|
|
36
|
+
isLoading.value = true
|
|
37
|
+
}
|
|
38
|
+
</script>
|
|
39
|
+
|
|
40
|
+
<template>
|
|
41
|
+
<div>{{ displayText }}</div>
|
|
42
|
+
</template>
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## 命名约定
|
|
46
|
+
|
|
47
|
+
### 目录命名
|
|
48
|
+
- 使用kebab-case(小写带破折号)
|
|
49
|
+
- 示例:`components/auth-wizard`、`pages/user-manage`
|
|
50
|
+
|
|
51
|
+
### 文件命名
|
|
52
|
+
- **组件文件**:使用PascalCase
|
|
53
|
+
- 示例:`AuthWizard.vue`、`UserTable.vue`
|
|
54
|
+
- **可组合函数**:使用camelCase
|
|
55
|
+
- 示例:`useAuthState.js`、`useFormValidation.js`
|
|
56
|
+
- **工具函数**:使用camelCase
|
|
57
|
+
- 示例:`formatDate.js`、`encryptData.js`
|
|
58
|
+
|
|
59
|
+
### 变量命名
|
|
60
|
+
- **布尔值**:使用助动词前缀
|
|
61
|
+
- `isLoading`、`hasError`、`canEdit`、`shouldShow`
|
|
62
|
+
- **普通变量**:使用camelCase
|
|
63
|
+
- `userData`、`pageTitle`、`apiResponse`
|
|
64
|
+
- **常量**:使用UPPER_SNAKE_CASE
|
|
65
|
+
- `API_BASE_URL`、`MAX_RETRY_COUNT`
|
|
66
|
+
|
|
67
|
+
## 项目特定约定
|
|
68
|
+
|
|
69
|
+
### X组件命名规范
|
|
70
|
+
Base-client中的核心组件使用X前缀:
|
|
71
|
+
- `XForm`:表单组件
|
|
72
|
+
- `XTable`:表格组件
|
|
73
|
+
- `XCard`:卡片组件
|
|
74
|
+
- `XPageView`:页面视图组件
|
|
75
|
+
|
|
76
|
+
### 组件文件结构
|
|
77
|
+
```
|
|
78
|
+
src/
|
|
79
|
+
├── base-client/ # 基础组件(全局注册)
|
|
80
|
+
│ ├── components/ # X系列组件
|
|
81
|
+
│ └── plugins/ # 全局插件
|
|
82
|
+
├── components/ # 通用组件(按需引入)
|
|
83
|
+
├── pages/ # 页面组件
|
|
84
|
+
└── layouts/ # 布局组件
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## 代码格式规范
|
|
88
|
+
|
|
89
|
+
### 语法和格式
|
|
90
|
+
- **箭头函数**:方法和计算属性统一使用箭头函数
|
|
91
|
+
- **简洁语法**:避免条件语句中不必要的花括号
|
|
92
|
+
```javascript
|
|
93
|
+
// 推荐
|
|
94
|
+
if (isValid) return true
|
|
95
|
+
|
|
96
|
+
// 避免(简单语句)
|
|
97
|
+
if (isValid) {
|
|
98
|
+
return true
|
|
99
|
+
}
|
|
100
|
+
```
|
|
101
|
+
- **模板语法**:使用声明式渲染,避免在模板中写复杂逻辑
|
|
102
|
+
|
|
103
|
+
### 导入顺序
|
|
104
|
+
文件导入按以下顺序组织:
|
|
105
|
+
1. Vue核心和第三方库
|
|
106
|
+
2. 组件导入
|
|
107
|
+
3. 可组合函数(composables)
|
|
108
|
+
4. 工具函数(helpers)
|
|
109
|
+
5. 静态内容(assets、styles)
|
|
110
|
+
6. 类型定义(如果有)
|
|
111
|
+
|
|
112
|
+
示例:
|
|
113
|
+
```javascript
|
|
114
|
+
// 1. 核心库
|
|
115
|
+
import { ref, computed } from 'vue'
|
|
116
|
+
import { message } from 'ant-design-vue'
|
|
117
|
+
|
|
118
|
+
// 2. 组件
|
|
119
|
+
import UserForm from '@/components/UserForm.vue'
|
|
120
|
+
|
|
121
|
+
// 3. 可组合函数
|
|
122
|
+
import { useAuth } from '@/composables/useAuth'
|
|
123
|
+
|
|
124
|
+
// 4. 工具
|
|
125
|
+
import { formatDate } from '@/utils/date'
|
|
126
|
+
|
|
127
|
+
// 5. 样式
|
|
128
|
+
import './styles.less'
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## Less样式规范
|
|
132
|
+
|
|
133
|
+
### 样式组织
|
|
134
|
+
- 使用Less预处理器
|
|
135
|
+
- 主题变量定义在`src/theme/`
|
|
136
|
+
- 组件样式与组件文件共同放置
|
|
137
|
+
- 使用BEM命名规范(可选,但推荐)
|
|
138
|
+
|
|
139
|
+
### 示例
|
|
140
|
+
```less
|
|
141
|
+
.user-table {
|
|
142
|
+
&__header {
|
|
143
|
+
padding: 16px;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
&__body {
|
|
147
|
+
min-height: 400px;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## 注释规范
|
|
153
|
+
|
|
154
|
+
### 注释语言
|
|
155
|
+
- **必须使用中文**编写注释
|
|
156
|
+
- 代码注释、文档、说明都使用中文
|
|
157
|
+
|
|
158
|
+
### 注释格式
|
|
159
|
+
```javascript
|
|
160
|
+
/**
|
|
161
|
+
* 用户认证可组合函数
|
|
162
|
+
* @returns {Object} 返回认证状态和方法
|
|
163
|
+
*/
|
|
164
|
+
const useAuth = () => {
|
|
165
|
+
// 检查用户是否已登录
|
|
166
|
+
const isLoggedIn = ref(false)
|
|
167
|
+
|
|
168
|
+
return { isLoggedIn }
|
|
169
|
+
}
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
## 配置驱动开发规范
|
|
173
|
+
|
|
174
|
+
### JSON配置
|
|
175
|
+
项目采用配置驱动模式,组件行为通过JSON配置定义:
|
|
176
|
+
```javascript
|
|
177
|
+
// XForm配置示例
|
|
178
|
+
const formConfig = {
|
|
179
|
+
columns: [
|
|
180
|
+
{
|
|
181
|
+
title: '用户名',
|
|
182
|
+
key: 'username',
|
|
183
|
+
type: 'input',
|
|
184
|
+
required: true
|
|
185
|
+
}
|
|
186
|
+
]
|
|
187
|
+
}
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### 配置文件位置
|
|
191
|
+
- 系统配置:`src/config/`
|
|
192
|
+
- 默认配置:`src/config/default/`
|
|
193
|
+
- 配置替换器:`src/config/replacer/`
|
|
194
|
+
|
|
195
|
+
## ESLint规范
|
|
196
|
+
- 开发时默认禁用ESLint(--no-eslint)
|
|
197
|
+
- 提交前必须运行`npm run lint`检查
|
|
198
|
+
- 遵循Vue官方ESLint规则
|
|
199
|
+
- 标准JavaScript风格(@vue/eslint-config-standard)
|
|
200
|
+
|
|
201
|
+
## Git提交规范
|
|
202
|
+
虽然项目未强制要求,但推荐使用约定式提交:
|
|
203
|
+
- `feat:` 新功能
|
|
204
|
+
- `fix:` 修复bug
|
|
205
|
+
- `docs:` 文档更新
|
|
206
|
+
- `style:` 代码格式调整
|
|
207
|
+
- `refactor:` 重构
|
|
208
|
+
- `test:` 测试相关
|
|
209
|
+
- `chore:` 构建或工具变更
|
|
210
|
+
|
|
211
|
+
## 最佳实践
|
|
212
|
+
1. **组件复用**:优先使用base-client中的X组件
|
|
213
|
+
2. **配置优于编码**:能用配置实现的不写硬编码
|
|
214
|
+
3. **mixins使用**:表单验证等共享逻辑使用mixins
|
|
215
|
+
4. **响应式设计**:使用XFormCol栅格系统
|
|
216
|
+
5. **API调用**:统一使用`src/services/apiService.js`
|
|
217
|
+
6. **数据转换**:遵循DataModel模式
|
|
218
218
|
7. **错误处理**:使用axios拦截器统一处理
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
# Vue2-Client 项目概述
|
|
2
|
-
|
|
3
|
-
## 项目目的
|
|
4
|
-
Vue2-Client是一个基于Vue Antd Admin封装的**通用基础组件库**,旨在为企业级应用提供统一的UI组件和开发框架。
|
|
5
|
-
|
|
6
|
-
## 核心定位
|
|
7
|
-
- **可复用组件库**:提供一套完整的企业级UI组件
|
|
8
|
-
- **低代码平台基础**:支持通过JSON配置驱动的动态UI生成
|
|
9
|
-
- **多业务场景支持**:适用于医院信息系统(HIS)、工单管理、系统管理等多个领域
|
|
10
|
-
- **多环境部署**:支持gaslink、revenue、liuli、scada、iot、his等多个部署环境
|
|
11
|
-
|
|
12
|
-
## 主要功能模块
|
|
13
|
-
|
|
14
|
-
### 1. Base-Client基础组件系统
|
|
15
|
-
核心组件库,包含:
|
|
16
|
-
- **X系列组件**:XForm、XTable、XFormTable、XPageView等配置驱动组件
|
|
17
|
-
- **全局插件**:认证、国际化、页面管理等Vue插件
|
|
18
|
-
- 所有base-client组件全局注册,整个应用直接可用
|
|
19
|
-
|
|
20
|
-
### 2. 低代码平台集成
|
|
21
|
-
- 内置低代码编辑器和渲染器
|
|
22
|
-
- 支持通过JSON配置动态生成表单、表格和页面布局
|
|
23
|
-
- 逻辑运行器系统(LogicRunner)和表达式求值(ExpressionRunner)
|
|
24
|
-
- 自定义组件注册系统
|
|
25
|
-
|
|
26
|
-
### 3. 业务页面模块
|
|
27
|
-
- **系统管理**:用户、角色、权限管理
|
|
28
|
-
- **工单流程**:工单详情、流程审批
|
|
29
|
-
- **资源管理**:资源分配和管理
|
|
30
|
-
- **动态统计**:数据可视化和报表
|
|
31
|
-
- **HIS医院系统**:医疗信息管理相关功能
|
|
32
|
-
|
|
33
|
-
### 4. 配置驱动开发
|
|
34
|
-
- 通过`src/config/`中的配置文件定义组件行为
|
|
35
|
-
- 支持多环境配置切换
|
|
36
|
-
- 统一的配置管理和替换机制
|
|
37
|
-
|
|
38
|
-
## 技术特点
|
|
39
|
-
1. **配置优于编码**:大部分UI通过JSON配置生成,减少重复代码
|
|
40
|
-
2. **组件化架构**:高度模块化,易于维护和扩展
|
|
41
|
-
3. **主题定制**:支持动态主题色替换
|
|
42
|
-
4. **国际化支持**:内置i18n支持多语言
|
|
43
|
-
5. **响应式设计**:基于Ant Design栅格系统的响应式布局
|
|
44
|
-
|
|
45
|
-
## 目标用户
|
|
46
|
-
- 企业内部开发团队
|
|
47
|
-
- 需要快速构建管理系统的项目
|
|
48
|
-
- 低代码平台的二次开发者
|
|
49
|
-
- 需要统一UI规范的多系统项目
|
|
50
|
-
|
|
51
|
-
## 项目状态
|
|
52
|
-
- 当前版本:v1.17.13
|
|
53
|
-
- 维护状态:活跃开发中
|
|
54
|
-
- Git分支:dev分支
|
|
1
|
+
# Vue2-Client 项目概述
|
|
2
|
+
|
|
3
|
+
## 项目目的
|
|
4
|
+
Vue2-Client是一个基于Vue Antd Admin封装的**通用基础组件库**,旨在为企业级应用提供统一的UI组件和开发框架。
|
|
5
|
+
|
|
6
|
+
## 核心定位
|
|
7
|
+
- **可复用组件库**:提供一套完整的企业级UI组件
|
|
8
|
+
- **低代码平台基础**:支持通过JSON配置驱动的动态UI生成
|
|
9
|
+
- **多业务场景支持**:适用于医院信息系统(HIS)、工单管理、系统管理等多个领域
|
|
10
|
+
- **多环境部署**:支持gaslink、revenue、liuli、scada、iot、his等多个部署环境
|
|
11
|
+
|
|
12
|
+
## 主要功能模块
|
|
13
|
+
|
|
14
|
+
### 1. Base-Client基础组件系统
|
|
15
|
+
核心组件库,包含:
|
|
16
|
+
- **X系列组件**:XForm、XTable、XFormTable、XPageView等配置驱动组件
|
|
17
|
+
- **全局插件**:认证、国际化、页面管理等Vue插件
|
|
18
|
+
- 所有base-client组件全局注册,整个应用直接可用
|
|
19
|
+
|
|
20
|
+
### 2. 低代码平台集成
|
|
21
|
+
- 内置低代码编辑器和渲染器
|
|
22
|
+
- 支持通过JSON配置动态生成表单、表格和页面布局
|
|
23
|
+
- 逻辑运行器系统(LogicRunner)和表达式求值(ExpressionRunner)
|
|
24
|
+
- 自定义组件注册系统
|
|
25
|
+
|
|
26
|
+
### 3. 业务页面模块
|
|
27
|
+
- **系统管理**:用户、角色、权限管理
|
|
28
|
+
- **工单流程**:工单详情、流程审批
|
|
29
|
+
- **资源管理**:资源分配和管理
|
|
30
|
+
- **动态统计**:数据可视化和报表
|
|
31
|
+
- **HIS医院系统**:医疗信息管理相关功能
|
|
32
|
+
|
|
33
|
+
### 4. 配置驱动开发
|
|
34
|
+
- 通过`src/config/`中的配置文件定义组件行为
|
|
35
|
+
- 支持多环境配置切换
|
|
36
|
+
- 统一的配置管理和替换机制
|
|
37
|
+
|
|
38
|
+
## 技术特点
|
|
39
|
+
1. **配置优于编码**:大部分UI通过JSON配置生成,减少重复代码
|
|
40
|
+
2. **组件化架构**:高度模块化,易于维护和扩展
|
|
41
|
+
3. **主题定制**:支持动态主题色替换
|
|
42
|
+
4. **国际化支持**:内置i18n支持多语言
|
|
43
|
+
5. **响应式设计**:基于Ant Design栅格系统的响应式布局
|
|
44
|
+
|
|
45
|
+
## 目标用户
|
|
46
|
+
- 企业内部开发团队
|
|
47
|
+
- 需要快速构建管理系统的项目
|
|
48
|
+
- 低代码平台的二次开发者
|
|
49
|
+
- 需要统一UI规范的多系统项目
|
|
50
|
+
|
|
51
|
+
## 项目状态
|
|
52
|
+
- 当前版本:v1.17.13
|
|
53
|
+
- 维护状态:活跃开发中
|
|
54
|
+
- Git分支:dev分支
|
|
55
55
|
- 部署环境:支持多环境部署
|