vue2-client 1.16.12 → 1.16.13

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 (322) hide show
  1. package/.cursorrules +19 -19
  2. package/.env.apply +19 -19
  3. package/.env.gaslink +19 -19
  4. package/.env.his +19 -19
  5. package/.env.liuli +20 -20
  6. package/.env.scada +19 -19
  7. package/.eslintrc.js +90 -90
  8. package/CHANGELOG.md +824 -824
  9. package/Components.md +60 -60
  10. package/docs/LowCode/lowcode.md +155 -155
  11. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  12. package/docs/index.md +30 -30
  13. package/index.js +31 -31
  14. package/jest-transform-stub.js +8 -8
  15. package/jest.setup.js +7 -7
  16. package/jsconfig.json +19 -19
  17. package/package.json +1 -1
  18. package/public/his/editor/editor.html +51 -51
  19. package/public/his/editor/mock/bind_data.html +779 -779
  20. package/public/his/editor/mock/data_table.html +40 -40
  21. package/public/his/editor/mock/sign.html +75 -75
  22. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  23. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  24. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  25. package/public/his/editor/vender/date97/calendar.js +4 -4
  26. package/public/his/editor/vender/date97/lang/en.js +13 -13
  27. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  28. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  29. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  30. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  31. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  32. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  33. package/public/his/editor/vender/diff.js +1627 -1627
  34. package/public/his/editor/vender/editor.js +1 -1
  35. package/public/his/editor/vender/fabric.js +31187 -31187
  36. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  37. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  38. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  39. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  40. package/public/his/editor/vender/mui/mui.min.css +4 -4
  41. package/public/his/editor/vender/mui/mui.min.js +5 -5
  42. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  43. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  44. package/public/his/editor/vender/qrcode.js +7 -7
  45. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  46. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  47. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  48. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  49. package/public/his/editor/vender/validator.js +5094 -5094
  50. package/public/his/editor/vender/weui/weui.css +5659 -5659
  51. package/public/his/editor/vender/weui/weui.min.css +4 -4
  52. package/public/his/editor/vender/weui/weui.min.js +11 -11
  53. package/src/assets/img/querySlotDemo.svg +15 -15
  54. package/src/assets/svg/badtwo.svg +1 -1
  55. package/src/assets/svg/goodtwo.svg +1 -1
  56. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  57. package/src/base-client/components/AI/demo.vue +31 -31
  58. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  59. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  60. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  61. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  62. package/src/base-client/components/common/CitySelect/index.js +3 -3
  63. package/src/base-client/components/common/CitySelect/index.md +109 -109
  64. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  65. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  66. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  67. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  68. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  69. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  70. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  71. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  72. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  73. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  74. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  75. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  76. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  77. package/src/base-client/components/common/HIS/HFormTable/HFormTable.vue +28 -4
  78. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  79. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  80. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  81. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  82. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  83. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  84. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  85. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  86. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  87. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  88. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  89. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  90. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  91. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  92. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  93. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  94. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  95. package/src/base-client/components/common/Recording/index.js +3 -3
  96. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  97. package/src/base-client/components/common/Tree/index.js +2 -2
  98. package/src/base-client/components/common/Upload/index.js +3 -3
  99. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  100. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  101. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +303 -303
  102. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  103. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  104. package/src/base-client/components/common/XAddReport/index.js +3 -3
  105. package/src/base-client/components/common/XAddReport/index.md +56 -56
  106. package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
  107. package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
  108. package/src/base-client/components/common/XButtons/index.js +3 -3
  109. package/src/base-client/components/common/XButtons/index.md +61 -61
  110. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  111. package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
  112. package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
  113. package/src/base-client/components/common/XDataCard/index.js +3 -3
  114. package/src/base-client/components/common/XDataCard/index.md +1 -1
  115. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  116. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  117. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  118. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  119. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  120. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  121. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  122. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  123. package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
  124. package/src/base-client/components/common/XForm/index.md +178 -178
  125. package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
  126. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  127. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  128. package/src/base-client/components/common/XFormGroupDetails/XFormGroupDetails.vue +72 -72
  129. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  130. package/src/base-client/components/common/XFormTable/index.md +92 -92
  131. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  132. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  133. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  134. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  135. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  136. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  137. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  138. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  139. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  140. package/src/base-client/components/common/XPrint/index.vue +97 -97
  141. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  142. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  143. package/src/base-client/components/common/XReport/index.js +3 -3
  144. package/src/base-client/components/common/XReport/print.js +186 -186
  145. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  146. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  147. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  148. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  149. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  150. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  151. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  152. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  153. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  154. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  155. package/src/base-client/components/common/XStepView/index.js +3 -3
  156. package/src/base-client/components/common/XStepView/index.md +31 -31
  157. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  158. package/src/base-client/components/common/XTab/index.js +3 -3
  159. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  160. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  161. package/src/base-client/components/common/XTable/index.md +255 -255
  162. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  163. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  164. package/src/base-client/components/common/XTree/index.js +3 -3
  165. package/src/base-client/components/common/XTree/index.md +36 -36
  166. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  167. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  168. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  169. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  170. package/src/base-client/components/his/XCharge/XChargeDemo.vue +32 -0
  171. package/src/base-client/components/his/XHisEditor/XHisEditor.vue +26 -15
  172. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  173. package/src/base-client/components/index.js +51 -51
  174. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  175. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  176. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  177. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  178. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  179. package/src/base-client/plugins/Config.js +19 -19
  180. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  181. package/src/base-client/plugins/Recording.js +258 -258
  182. package/src/base-client/plugins/index.js +23 -23
  183. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  184. package/src/components/Charts/Bar.vue +62 -62
  185. package/src/components/Charts/ChartCard.vue +134 -134
  186. package/src/components/Charts/Liquid.vue +67 -67
  187. package/src/components/Charts/MiniArea.vue +39 -39
  188. package/src/components/Charts/MiniBar.vue +39 -39
  189. package/src/components/Charts/MiniProgress.vue +75 -75
  190. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  191. package/src/components/Charts/Radar.vue +68 -68
  192. package/src/components/Charts/RankList.vue +77 -77
  193. package/src/components/Charts/TagCloud.vue +113 -113
  194. package/src/components/Charts/TransferBar.vue +64 -64
  195. package/src/components/Charts/Trend.vue +82 -82
  196. package/src/components/Charts/chart.less +12 -12
  197. package/src/components/Charts/smooth.area.less +13 -13
  198. package/src/components/CodeMirror/inedx.vue +118 -118
  199. package/src/components/CodeMirror/setting.js +40 -40
  200. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  201. package/src/components/NumberInfo/index.js +3 -3
  202. package/src/components/NumberInfo/index.less +54 -54
  203. package/src/components/NumberInfo/index.md +43 -43
  204. package/src/components/card/ChartCard.vue +79 -79
  205. package/src/components/chart/Bar.vue +60 -60
  206. package/src/components/chart/MiniArea.vue +67 -67
  207. package/src/components/chart/MiniBar.vue +59 -59
  208. package/src/components/chart/MiniProgress.vue +57 -57
  209. package/src/components/chart/Radar.vue +80 -80
  210. package/src/components/chart/RankingList.vue +60 -60
  211. package/src/components/chart/Trend.vue +79 -79
  212. package/src/components/chart/index.less +9 -9
  213. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  214. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  215. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  216. package/src/components/checkbox/index.js +9 -9
  217. package/src/components/exception/ExceptionPage.vue +70 -70
  218. package/src/components/g2Charts/constants.js +202 -202
  219. package/src/components/g2Charts/demo.vue +808 -808
  220. package/src/components/g2Charts/designer.vue +228 -228
  221. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  222. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  223. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  224. package/src/components/g2Charts/index.vue +397 -397
  225. package/src/components/index.js +36 -36
  226. package/src/components/input/IInput.vue +66 -66
  227. package/src/components/menu/SideMenu.vue +75 -75
  228. package/src/components/menu/menu.js +273 -273
  229. package/src/components/setting/Setting.vue +234 -234
  230. package/src/components/tool/AStepItem.vue +60 -60
  231. package/src/config/CreateQueryConfig.js +325 -325
  232. package/src/config/default/antd.config.js +89 -89
  233. package/src/config/default/setting.config.js +55 -55
  234. package/src/font-style/font.css +60 -60
  235. package/src/layouts/CommonLayout.vue +56 -56
  236. package/src/layouts/PageLayout.vue +151 -151
  237. package/src/layouts/SinglePageView.vue +136 -136
  238. package/src/layouts/header/AdminHeader.vue +132 -132
  239. package/src/layouts/header/HeaderNotice.vue +177 -177
  240. package/src/layouts/header/InstitutionDetail.vue +181 -181
  241. package/src/layouts/tabs/TabsHead.vue +189 -189
  242. package/src/lib.js +1 -1
  243. package/src/mock/extend/index.js +84 -84
  244. package/src/mock/goods/index.js +108 -108
  245. package/src/pages/DefaultExample/index.vue +77 -77
  246. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  247. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  248. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  249. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  250. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  251. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  252. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  253. package/src/pages/DynamicStatistics/index.vue +282 -282
  254. package/src/pages/Example/childIndex.vue +15 -15
  255. package/src/pages/Example/index.vue +30 -30
  256. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  257. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  258. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  259. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  260. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  261. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  262. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  263. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  264. package/src/pages/Recording/index.vue +77 -77
  265. package/src/pages/ServiceReview/index.vue +284 -284
  266. package/src/pages/SubExample/index.vue +26 -26
  267. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  268. package/src/pages/XReportView/index.vue +64 -64
  269. package/src/pages/XTreeOneProExample/index.vue +67 -67
  270. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  271. package/src/pages/login/Login.vue +379 -379
  272. package/src/pages/login/LoginV3.vue +389 -389
  273. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  274. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  275. package/src/pages/report/ReportTable.js +124 -124
  276. package/src/pages/resourceManage/orgListManage.vue +98 -98
  277. package/src/pages/system/dictionary/index.vue +44 -44
  278. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  279. package/src/pages/system/monitor/operLog/index.vue +37 -37
  280. package/src/pages/system/settings/modifyPassword.vue +117 -117
  281. package/src/pages/system/ticket/index.vue +480 -480
  282. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  283. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  284. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  285. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  286. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  287. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  288. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  289. package/src/plugins/EventLogPlugin.js +33 -33
  290. package/src/plugins/FindParentsData.js +17 -17
  291. package/src/router/async/config.async.js +35 -35
  292. package/src/router/index.js +27 -27
  293. package/src/services/DataModel.js +30 -30
  294. package/src/services/LodopFuncs.js +137 -137
  295. package/src/services/api/TicketDetailsViewApi.js +46 -46
  296. package/src/services/api/cas.js +79 -79
  297. package/src/services/api/common.js +346 -346
  298. package/src/services/api/entity.js +18 -18
  299. package/src/services/api/index.js +17 -17
  300. package/src/store/modules/account.js +115 -115
  301. package/src/store/modules/index.js +5 -5
  302. package/src/store/modules/lowCode.js +33 -33
  303. package/src/store/modules/setting.js +119 -119
  304. package/src/theme/default/style.less +58 -58
  305. package/src/utils/authority-utils.js +85 -85
  306. package/src/utils/errorCode.js +6 -6
  307. package/src/utils/formatter.js +74 -74
  308. package/src/utils/htmlToPDF.js +108 -108
  309. package/src/utils/htmlToPDFApi.js +5 -5
  310. package/src/utils/login.js +188 -188
  311. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  312. package/src/utils/lowcode/lowcodeLog.js +29 -29
  313. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  314. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  315. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  316. package/src/utils/map-utils.js +47 -47
  317. package/src/utils/reg.js +95 -95
  318. package/src/utils/runEvalFunction.js +14 -14
  319. package/src/utils/theme-color-replacer-extend.js +92 -92
  320. package/src/utils/util.js +329 -329
  321. package/src/utils/waterMark.js +31 -31
  322. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
@@ -1,259 +1,259 @@
1
- <script setup>
2
- import {
3
- fromItemLabelMap,
4
- operationOptions,
5
- sortBy,
6
- sortType,
7
- yValueType
8
- } from '@vue2-client/components/g2Charts/constants'
9
- import { computed, inject, watch } from 'vue'
10
-
11
- const config = inject('config')
12
- const fieldColumn = inject('fieldColumnOptions')
13
-
14
- // 当前y轴类型下的查询模式
15
- const yFiledMolds = computed(() => {
16
- return yValueType.filter(item => item.value === config.value.yFieldType)[0]?.molds || []
17
- })
18
-
19
- // 修改添加y数据字段方法,增加饼图限制
20
- const addYField = () => {
21
- // 如果是饼图且已有字段,则不允许添加
22
- if (config.value.type === 'pie' && config.value.yField?.length >= 1) {
23
- return
24
- }
25
- config.value.yField.push({
26
- field: undefined,
27
- mold: 'sum',
28
- label: undefined // 添加label属性
29
- })
30
- }
31
-
32
- // 删除字段
33
- const removeField = (index) => {
34
- config.value.yField.splice(index, 1)
35
- }
36
-
37
- // 上移字段
38
- const moveFieldUp = (index) => {
39
- if (index > 0) {
40
- const temp = config.value.yField[index]
41
- config.value.yField.splice(index, 1)
42
- config.value.yField.splice(index - 1, 0, temp)
43
- }
44
- }
45
-
46
- // 下移字段
47
- const moveFieldDown = (index) => {
48
- if (index < config.value.yField.length - 1) {
49
- const temp = config.value.yField[index]
50
- config.value.yField.splice(index, 1)
51
- config.value.yField.splice(index + 1, 0, temp)
52
- }
53
- }
54
-
55
- // 修改处理操作的实现
56
- const handleMenuClick = ({ key }, index) => {
57
- console.log('Menu clicked:', key, 'at index:', index)
58
- switch (key) {
59
- case 'delete':
60
- removeField(index)
61
- break
62
- case 'moveUp':
63
- moveFieldUp(index)
64
- break
65
- case 'moveDown':
66
- moveFieldDown(index)
67
- break
68
- }
69
- }
70
-
71
- // 修改显示添加按钮的计算属性
72
- const showAddFieldBtn = computed(() => {
73
- if (config.value.type === 'pie') {
74
- return !config.value.yField?.length || config.value.yField.length === 0
75
- }
76
- return !config.value.Group
77
- })
78
-
79
- // 修改显示分组字段的计算属性,只负责计算显示逻辑
80
- const showGroupField = computed(() => {
81
- // 饼图不显示分组
82
- if (config.value.type === 'pie') {
83
- return false
84
- }
85
-
86
- // 多个数据字段时不显示分组
87
- if (config.value.yField.length > 1) {
88
- return false
89
- }
90
- return true
91
- })
92
-
93
- // 添加对y轴字段数量的监听,处理分组配置
94
- watch(
95
- () => config.value.yField.length,
96
- (newLength) => {
97
- if (newLength > 1) {
98
- config.value.Group = false
99
- config.value.groupField = undefined
100
- }
101
- }
102
- )
103
-
104
- // 添加对图表类型的监听,处理分组配置
105
- watch(
106
- () => config.value.type,
107
- (newType) => {
108
- if (newType === 'pie') {
109
- config.value.Group = false
110
- config.value.groupField = undefined
111
- }
112
- }
113
- )
114
-
115
- // 添加对分组开关的监听
116
- watch(() => config.value.Group, (newValue) => {
117
- // 当分组关闭时,清除分组字段
118
- if (!newValue) {
119
- config.value.groupField = undefined
120
- }
121
- })
122
-
123
- // 修改字段类型变更处理
124
- const fieldTypeChange = (type) => {
125
- if (type === 'count') {
126
- // 类型为统计记录总数时,清空字段 不能选择y轴字段
127
- config.value.yField = []
128
- }
129
- }
130
-
131
- const validateYFields = computed(() => {
132
- if (config.value.yFieldType === 'sum' && (!config.value.yField || config.value.yField.length === 0)) {
133
- return '请至少添加一个统计字段'
134
- }
135
- if (config.value.yFieldType === 'sum' && config.value.yField.some(field => !field.field)) {
136
- return '请选择统计字段'
137
- }
138
- return ''
139
- })
140
-
141
- // 添加横轴字段验证
142
- const validateXField = computed(() => {
143
- if (!config.value.xField) {
144
- return '请选择横轴字段'
145
- }
146
- return ''
147
- })
148
-
149
- // 添加 field 变化的监听处理
150
- const handleFieldChange = (value, index) => {
151
- // 从 fieldColumn 中找到对应的字段配置
152
- const fieldConfig = fieldColumn.value.find(item => item.value === value)
153
- if (fieldConfig) {
154
- // 自动设置 label 为字段的显示名称
155
- config.value.yField[index].label = fieldConfig.label
156
- }
157
- }
158
-
159
- </script>
160
-
161
- <template>
162
- <div>
163
- <a-form-model-item
164
- :label="fromItemLabelMap[config.type]['xField']"
165
- :validateStatus="validateXField ? 'error' : ''"
166
- :help="validateXField">
167
- <a-select
168
- v-model="config.xField"
169
- style="width: 100%"
170
- :showSearch="true"
171
- :getPopupContainer=" triggerNode => { return triggerNode.parentNode } "
172
- :options="fieldColumn"
173
- placeholder="选择横轴字段"
174
- >
175
- </a-select>
176
- </a-form-model-item>
177
- <a-form-model-item label="排序依据">
178
- <a-radio-group v-model="config.xFieldSortBy">
179
- <a-radio-button :value="item.value" :key="index" v-for="(item,index) in sortBy">
180
- <a-tooltip :title="item.placeholder">
181
- {{ item.label }}
182
- </a-tooltip>
183
- </a-radio-button>
184
- </a-radio-group>
185
- </a-form-model-item>
186
- <a-form-model-item label="排序规则">
187
- <a-radio-group v-model="config.xFieldSortType">
188
- <a-radio-button :value="item.value" :key="index" v-for="(item,index) in sortType">
189
- {{ item.label }}
190
- </a-radio-button>
191
- </a-radio-group>
192
- </a-form-model-item>
193
-
194
- <a-form-model-item :label="fromItemLabelMap[config.type]['yFieldType']" :validateStatus="validateYFields ? 'error' : ''" :help="validateYFields">
195
- <a-select
196
- v-model="config.yFieldType"
197
- style="width: 100%"
198
- :options="yValueType"
199
- placeholder="设置纵轴字段"
200
- @change="fieldTypeChange"
201
- />
202
- <template v-if="config.yFieldType === 'sum'">
203
- <a-input-group compact style="width: 100%;margin-top: 12px" v-for="(item,index) in config.yField" :key="index">
204
- <a-select
205
- :options="fieldColumn"
206
- :getPopupContainer=" triggerNode => { return triggerNode.parentNode } "
207
- :showSearch="true"
208
- v-model="item.field"
209
- placeholder="选择字段"
210
- style="width: 45%"
211
- @change="(value) => handleFieldChange(value, index)"
212
- />
213
- <a-select
214
- :options="yFiledMolds"
215
- v-model="item.mold"
216
- placeholder="统计方式"
217
- style="width: 30%"
218
- :showArrow="false"/>
219
- <a-dropdown>
220
- <a-menu slot="overlay" @click="e => handleMenuClick(e, index)">
221
- <a-menu-item
222
- :key="operaItem.value"
223
- v-for="operaItem in operationOptions"
224
- :disabled="(operaItem.value === 'moveUp' && index === 0) || (operaItem.value === 'moveDown' && index === config.yField.length - 1)"
225
- >
226
- <a-icon :type="operaItem.icon"/>
227
- {{ operaItem.label }}
228
- </a-menu-item>
229
- </a-menu>
230
- <a-button icon="more"/>
231
- </a-dropdown>
232
- </a-input-group>
233
- <a-tooltip :title="config.type === 'pie' ? '饼图只能添加一个统计字段' : '仅可选择值为数字的字段'" v-if="showAddFieldBtn">
234
- <a-button type="link" @click="addYField">
235
- <a-icon type="plus"/>
236
- 添加字段
237
- </a-button>
238
- </a-tooltip>
239
- </template>
240
- </a-form-model-item> <!-- 修改分组字段的显示条件 -->
241
- <template v-if="showGroupField">
242
- <a-form-item label="分组聚合" style="margin-top: 12px">
243
- <a-switch checked-children="开" un-checked-children="关" v-model="config.Group"/>
244
- <a-select
245
- v-if="config.Group"
246
- v-model="config.groupField"
247
- style="width: 100%"
248
- :options="fieldColumn"
249
- placeholder="选择分组字段"
250
- >
251
- </a-select>
252
- </a-form-item>
253
- </template>
254
- </div>
255
- </template>
256
-
257
- <style scoped lang="less">
258
-
259
- </style>
1
+ <script setup>
2
+ import {
3
+ fromItemLabelMap,
4
+ operationOptions,
5
+ sortBy,
6
+ sortType,
7
+ yValueType
8
+ } from '@vue2-client/components/g2Charts/constants'
9
+ import { computed, inject, watch } from 'vue'
10
+
11
+ const config = inject('config')
12
+ const fieldColumn = inject('fieldColumnOptions')
13
+
14
+ // 当前y轴类型下的查询模式
15
+ const yFiledMolds = computed(() => {
16
+ return yValueType.filter(item => item.value === config.value.yFieldType)[0]?.molds || []
17
+ })
18
+
19
+ // 修改添加y数据字段方法,增加饼图限制
20
+ const addYField = () => {
21
+ // 如果是饼图且已有字段,则不允许添加
22
+ if (config.value.type === 'pie' && config.value.yField?.length >= 1) {
23
+ return
24
+ }
25
+ config.value.yField.push({
26
+ field: undefined,
27
+ mold: 'sum',
28
+ label: undefined // 添加label属性
29
+ })
30
+ }
31
+
32
+ // 删除字段
33
+ const removeField = (index) => {
34
+ config.value.yField.splice(index, 1)
35
+ }
36
+
37
+ // 上移字段
38
+ const moveFieldUp = (index) => {
39
+ if (index > 0) {
40
+ const temp = config.value.yField[index]
41
+ config.value.yField.splice(index, 1)
42
+ config.value.yField.splice(index - 1, 0, temp)
43
+ }
44
+ }
45
+
46
+ // 下移字段
47
+ const moveFieldDown = (index) => {
48
+ if (index < config.value.yField.length - 1) {
49
+ const temp = config.value.yField[index]
50
+ config.value.yField.splice(index, 1)
51
+ config.value.yField.splice(index + 1, 0, temp)
52
+ }
53
+ }
54
+
55
+ // 修改处理操作的实现
56
+ const handleMenuClick = ({ key }, index) => {
57
+ console.log('Menu clicked:', key, 'at index:', index)
58
+ switch (key) {
59
+ case 'delete':
60
+ removeField(index)
61
+ break
62
+ case 'moveUp':
63
+ moveFieldUp(index)
64
+ break
65
+ case 'moveDown':
66
+ moveFieldDown(index)
67
+ break
68
+ }
69
+ }
70
+
71
+ // 修改显示添加按钮的计算属性
72
+ const showAddFieldBtn = computed(() => {
73
+ if (config.value.type === 'pie') {
74
+ return !config.value.yField?.length || config.value.yField.length === 0
75
+ }
76
+ return !config.value.Group
77
+ })
78
+
79
+ // 修改显示分组字段的计算属性,只负责计算显示逻辑
80
+ const showGroupField = computed(() => {
81
+ // 饼图不显示分组
82
+ if (config.value.type === 'pie') {
83
+ return false
84
+ }
85
+
86
+ // 多个数据字段时不显示分组
87
+ if (config.value.yField.length > 1) {
88
+ return false
89
+ }
90
+ return true
91
+ })
92
+
93
+ // 添加对y轴字段数量的监听,处理分组配置
94
+ watch(
95
+ () => config.value.yField.length,
96
+ (newLength) => {
97
+ if (newLength > 1) {
98
+ config.value.Group = false
99
+ config.value.groupField = undefined
100
+ }
101
+ }
102
+ )
103
+
104
+ // 添加对图表类型的监听,处理分组配置
105
+ watch(
106
+ () => config.value.type,
107
+ (newType) => {
108
+ if (newType === 'pie') {
109
+ config.value.Group = false
110
+ config.value.groupField = undefined
111
+ }
112
+ }
113
+ )
114
+
115
+ // 添加对分组开关的监听
116
+ watch(() => config.value.Group, (newValue) => {
117
+ // 当分组关闭时,清除分组字段
118
+ if (!newValue) {
119
+ config.value.groupField = undefined
120
+ }
121
+ })
122
+
123
+ // 修改字段类型变更处理
124
+ const fieldTypeChange = (type) => {
125
+ if (type === 'count') {
126
+ // 类型为统计记录总数时,清空字段 不能选择y轴字段
127
+ config.value.yField = []
128
+ }
129
+ }
130
+
131
+ const validateYFields = computed(() => {
132
+ if (config.value.yFieldType === 'sum' && (!config.value.yField || config.value.yField.length === 0)) {
133
+ return '请至少添加一个统计字段'
134
+ }
135
+ if (config.value.yFieldType === 'sum' && config.value.yField.some(field => !field.field)) {
136
+ return '请选择统计字段'
137
+ }
138
+ return ''
139
+ })
140
+
141
+ // 添加横轴字段验证
142
+ const validateXField = computed(() => {
143
+ if (!config.value.xField) {
144
+ return '请选择横轴字段'
145
+ }
146
+ return ''
147
+ })
148
+
149
+ // 添加 field 变化的监听处理
150
+ const handleFieldChange = (value, index) => {
151
+ // 从 fieldColumn 中找到对应的字段配置
152
+ const fieldConfig = fieldColumn.value.find(item => item.value === value)
153
+ if (fieldConfig) {
154
+ // 自动设置 label 为字段的显示名称
155
+ config.value.yField[index].label = fieldConfig.label
156
+ }
157
+ }
158
+
159
+ </script>
160
+
161
+ <template>
162
+ <div>
163
+ <a-form-model-item
164
+ :label="fromItemLabelMap[config.type]['xField']"
165
+ :validateStatus="validateXField ? 'error' : ''"
166
+ :help="validateXField">
167
+ <a-select
168
+ v-model="config.xField"
169
+ style="width: 100%"
170
+ :showSearch="true"
171
+ :getPopupContainer=" triggerNode => { return triggerNode.parentNode } "
172
+ :options="fieldColumn"
173
+ placeholder="选择横轴字段"
174
+ >
175
+ </a-select>
176
+ </a-form-model-item>
177
+ <a-form-model-item label="排序依据">
178
+ <a-radio-group v-model="config.xFieldSortBy">
179
+ <a-radio-button :value="item.value" :key="index" v-for="(item,index) in sortBy">
180
+ <a-tooltip :title="item.placeholder">
181
+ {{ item.label }}
182
+ </a-tooltip>
183
+ </a-radio-button>
184
+ </a-radio-group>
185
+ </a-form-model-item>
186
+ <a-form-model-item label="排序规则">
187
+ <a-radio-group v-model="config.xFieldSortType">
188
+ <a-radio-button :value="item.value" :key="index" v-for="(item,index) in sortType">
189
+ {{ item.label }}
190
+ </a-radio-button>
191
+ </a-radio-group>
192
+ </a-form-model-item>
193
+
194
+ <a-form-model-item :label="fromItemLabelMap[config.type]['yFieldType']" :validateStatus="validateYFields ? 'error' : ''" :help="validateYFields">
195
+ <a-select
196
+ v-model="config.yFieldType"
197
+ style="width: 100%"
198
+ :options="yValueType"
199
+ placeholder="设置纵轴字段"
200
+ @change="fieldTypeChange"
201
+ />
202
+ <template v-if="config.yFieldType === 'sum'">
203
+ <a-input-group compact style="width: 100%;margin-top: 12px" v-for="(item,index) in config.yField" :key="index">
204
+ <a-select
205
+ :options="fieldColumn"
206
+ :getPopupContainer=" triggerNode => { return triggerNode.parentNode } "
207
+ :showSearch="true"
208
+ v-model="item.field"
209
+ placeholder="选择字段"
210
+ style="width: 45%"
211
+ @change="(value) => handleFieldChange(value, index)"
212
+ />
213
+ <a-select
214
+ :options="yFiledMolds"
215
+ v-model="item.mold"
216
+ placeholder="统计方式"
217
+ style="width: 30%"
218
+ :showArrow="false"/>
219
+ <a-dropdown>
220
+ <a-menu slot="overlay" @click="e => handleMenuClick(e, index)">
221
+ <a-menu-item
222
+ :key="operaItem.value"
223
+ v-for="operaItem in operationOptions"
224
+ :disabled="(operaItem.value === 'moveUp' && index === 0) || (operaItem.value === 'moveDown' && index === config.yField.length - 1)"
225
+ >
226
+ <a-icon :type="operaItem.icon"/>
227
+ {{ operaItem.label }}
228
+ </a-menu-item>
229
+ </a-menu>
230
+ <a-button icon="more"/>
231
+ </a-dropdown>
232
+ </a-input-group>
233
+ <a-tooltip :title="config.type === 'pie' ? '饼图只能添加一个统计字段' : '仅可选择值为数字的字段'" v-if="showAddFieldBtn">
234
+ <a-button type="link" @click="addYField">
235
+ <a-icon type="plus"/>
236
+ 添加字段
237
+ </a-button>
238
+ </a-tooltip>
239
+ </template>
240
+ </a-form-model-item> <!-- 修改分组字段的显示条件 -->
241
+ <template v-if="showGroupField">
242
+ <a-form-item label="分组聚合" style="margin-top: 12px">
243
+ <a-switch checked-children="开" un-checked-children="关" v-model="config.Group"/>
244
+ <a-select
245
+ v-if="config.Group"
246
+ v-model="config.groupField"
247
+ style="width: 100%"
248
+ :options="fieldColumn"
249
+ placeholder="选择分组字段"
250
+ >
251
+ </a-select>
252
+ </a-form-item>
253
+ </template>
254
+ </div>
255
+ </template>
256
+
257
+ <style scoped lang="less">
258
+
259
+ </style>
@@ -1,16 +1,16 @@
1
- <script setup>
2
- // import { inject } from 'vue'
3
-
4
- // const config = inject('config')
5
-
6
- </script>
7
-
8
- <template>
9
- <div>
10
- 自定义样式暂未实现
11
- </div>
12
- </template>
13
-
14
- <style scoped lang="less">
15
-
16
- </style>
1
+ <script setup>
2
+ // import { inject } from 'vue'
3
+
4
+ // const config = inject('config')
5
+
6
+ </script>
7
+
8
+ <template>
9
+ <div>
10
+ 自定义样式暂未实现
11
+ </div>
12
+ </template>
13
+
14
+ <style scoped lang="less">
15
+
16
+ </style>