vue2-client 1.18.30 → 1.18.32

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 (96) hide show
  1. package/.eslintrc.js +90 -90
  2. package/Components.md +60 -60
  3. package/docs/index.md +30 -30
  4. package/index.js +31 -31
  5. package/jest-transform-stub.js +8 -8
  6. package/jest.setup.js +7 -7
  7. package/package.json +1 -1
  8. package/src/assets/img/querySlotDemo.svg +15 -15
  9. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  10. package/src/base-client/components/common/CitySelect/index.js +3 -3
  11. package/src/base-client/components/common/CitySelect/index.md +109 -109
  12. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  13. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  14. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  15. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  16. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  17. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  18. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  19. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  20. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  21. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  22. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  23. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  24. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  25. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  26. package/src/base-client/components/common/Tree/index.js +2 -2
  27. package/src/base-client/components/common/Upload/index.js +3 -3
  28. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  29. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  30. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  31. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  32. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  33. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  34. package/src/base-client/components/common/XDescriptions/index.md +322 -322
  35. package/src/base-client/components/common/XForm/index.md +178 -178
  36. package/src/base-client/components/common/XFormTable/XFormTable.vue +71 -64
  37. package/src/base-client/components/common/XFormTable/demo.vue +2 -1
  38. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  39. package/src/base-client/components/common/XStepView/index.js +3 -3
  40. package/src/base-client/components/common/XStepView/index.md +31 -31
  41. package/src/base-client/components/common/XTable/XTable.vue +1715 -1710
  42. package/src/base-client/components/common/XTable/XTableWrapper.vue +16 -3
  43. package/src/base-client/components/common/XTable/index.md +255 -255
  44. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  45. package/src/base-client/plugins/Config.js +19 -19
  46. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  47. package/src/components/Charts/Bar.vue +62 -62
  48. package/src/components/Charts/ChartCard.vue +134 -134
  49. package/src/components/Charts/Liquid.vue +67 -67
  50. package/src/components/Charts/MiniArea.vue +39 -39
  51. package/src/components/Charts/MiniBar.vue +39 -39
  52. package/src/components/Charts/MiniProgress.vue +75 -75
  53. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  54. package/src/components/Charts/Radar.vue +68 -68
  55. package/src/components/Charts/RankList.vue +77 -77
  56. package/src/components/Charts/TagCloud.vue +113 -113
  57. package/src/components/Charts/TransferBar.vue +64 -64
  58. package/src/components/Charts/Trend.vue +82 -82
  59. package/src/components/Charts/chart.less +12 -12
  60. package/src/components/Charts/smooth.area.less +13 -13
  61. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  62. package/src/components/NumberInfo/index.js +3 -3
  63. package/src/components/NumberInfo/index.less +54 -54
  64. package/src/components/NumberInfo/index.md +43 -43
  65. package/src/components/STable/index.js +11 -2
  66. package/src/components/card/ChartCard.vue +79 -79
  67. package/src/components/chart/Bar.vue +60 -60
  68. package/src/components/chart/MiniArea.vue +67 -67
  69. package/src/components/chart/MiniBar.vue +59 -59
  70. package/src/components/chart/MiniProgress.vue +57 -57
  71. package/src/components/chart/Radar.vue +80 -80
  72. package/src/components/chart/RankingList.vue +60 -60
  73. package/src/components/chart/Trend.vue +79 -79
  74. package/src/components/chart/index.less +9 -9
  75. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  76. package/src/components/input/IInput.vue +66 -66
  77. package/src/components/menu/SideMenu.vue +75 -75
  78. package/src/components/menu/menu.js +273 -273
  79. package/src/components/tool/AStepItem.vue +60 -60
  80. package/src/layouts/CommonLayout.vue +56 -56
  81. package/src/layouts/header/HeaderNotice.vue +177 -177
  82. package/src/lib.js +1 -1
  83. package/src/mock/extend/index.js +84 -84
  84. package/src/mock/goods/index.js +108 -108
  85. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  86. package/src/pages/system/dictionary/index.vue +44 -44
  87. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  88. package/src/pages/system/monitor/operLog/index.vue +37 -37
  89. package/src/router/async/router.map.js +2 -2
  90. package/src/services/api/cas.js +79 -79
  91. package/src/store/modules/setting.js +119 -119
  92. package/src/utils/authority-utils.js +85 -85
  93. package/src/utils/errorCode.js +6 -6
  94. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
  95. package/assets/c__Users_QXLL_AppData_Roaming_Cursor_User_workspaceStorage_4fb3d7e3441d32bc6f2c7358b4188b48_images_e8c132e6dde513250d7f9721712df1f8-f1522a08-1aa0-4866-b4e5-b34cf2e21109.png +0 -0
  96. package/docs/HChart/351/205/215/347/275/256/346/226/207/346/241/243.md +0 -2347
@@ -1,2347 +0,0 @@
1
- # HChart 组件配置文档
2
-
3
- ## 目录
4
-
5
- 1. [概述](#概述)
6
- 2. [基础配置结构](#基础配置结构)
7
- 3. [图表类型配置](#图表类型配置)
8
- - [柱状图 (bar)](#柱状图-bar)
9
- - [折线图 (line)](#折线图-line)
10
- - [饼图 (pie)](#饼图-pie)
11
- - [区间折线图 (range-line)](#区间折线图-range-line)
12
- 4. [筛选模式配置](#筛选模式配置)
13
- - [单选过滤 (radioFilter)](#单选过滤-radiofilter)
14
- - [侧边列表 (sideList)](#侧边列表-sidelist)
15
- - [级联筛选 (sideList.cascade)](#级联筛选-sidelistcascade)
16
- 5. [数据模式配置](#数据模式配置)
17
- - [静态数据 (dataset)](#静态数据-dataset)
18
- - [逻辑数据 (data)](#逻辑数据-data)
19
- 6. [完整配置示例](#完整配置示例)
20
- 7. [高级配置](#高级配置)
21
-
22
- ---
23
-
24
- ## 概述
25
-
26
- `HChart` 是一个配置驱动的通用图表组件,支持多种图表类型、筛选模式和数据源。
27
-
28
- ### 核心特性
29
-
30
- - **4种图表类型**:柱状图、折线图、饼图、区间折线图
31
- - **3种筛选模式**:单选过滤、侧边列表、级联筛选
32
- - **2种数据模式**:静态数据、逻辑数据
33
- - **自动颜色渐变**:单色自动生成渐变色数组
34
- - **深度配置合并**:支持与 ECharts 原生配置深度合并
35
-
36
- ---
37
-
38
- ## 基础配置结构
39
-
40
- 所有配置都遵循以下基础结构:
41
-
42
- ```json
43
- {
44
- "type": "bar|line|pie|range-line",
45
- "xtitle": "图表标题",
46
- "xtitleAttrs": {},
47
- "style": {},
48
-
49
- // 数据来源(二选一)
50
- "dataset": [...], // 静态数据
51
- "data": "logicName", // 逻辑数据
52
-
53
- // 筛选配置(可选)
54
- "radioFilter": {...},
55
- "sideList": {...},
56
-
57
- // 图表类型专属配置
58
- // ... 见各图表类型章节
59
-
60
- // ECharts 原生配置(可选)
61
- "options": {...},
62
- "legend": {...},
63
- "grid": {...}
64
- }
65
- ```
66
-
67
- ### 字段说明
68
-
69
- | 字段 | 类型 | 必填 | 说明 |
70
- |------|------|------|------|
71
- | `type` | `string` | ✅ | 图表类型:`bar`、`line`、`pie`、`range-line` |
72
- | `xtitle` | `string` | ❌ | 图表标题(注意:不是 `title`) |
73
- | `xtitleAttrs` | `object` | ❌ | 透传给 XTitle 组件的属性 |
74
- | `style` | `object` | ❌ | 图表容器的样式对象 |
75
- | `dataset` | `array\|object` | ⚠️ | 静态数据(与 `data` 二选一) |
76
- | `data` | `string` | ⚠️ | 逻辑名称(与 `dataset` 二选一) |
77
- | `dataMapping` | `object` | ❌ | 数据字段映射(仅逻辑数据模式) |
78
- | `radioFilter` | `object` | ❌ | 单选过滤配置 |
79
- | `sideList` | `object` | ❌ | 侧边列表/级联筛选配置 |
80
- | `options` | `object` | ❌ | ECharts 原生配置(会与预设合并) |
81
-
82
- ---
83
-
84
- ## 图表类型配置
85
-
86
- ### 柱状图 (bar)
87
-
88
- #### 专用配置字段
89
-
90
- | 字段 | 类型 | 默认值 | 说明 |
91
- |------|------|--------|------|
92
- | `barColor` | `string` | `#3362DA` | 柱子颜色 |
93
- | `barHighlightColor` | `string` | `#4C7CFF` | 高亮颜色(点击/悬停) |
94
- | `valueSuffix` | `string` | `''` | 数值后缀(如 `%`、`人次`) |
95
- | `yMax` | `number` | `100` | Y轴最大值 |
96
-
97
- #### 基础配置示例
98
-
99
- ```json
100
- {
101
- "type": "bar",
102
- "xtitle": "满意度统计",
103
- "barColor": "#3E7BFA",
104
- "barHighlightColor": "#6898FF",
105
- "valueSuffix": "%",
106
- "yMax": 100,
107
- "dataset": [
108
- { "label": "一月", "value": 90 },
109
- { "label": "二月", "value": 95 },
110
- { "label": "三月", "value": 88 }
111
- ]
112
- }
113
- ```
114
-
115
- #### 数据格式要求
116
-
117
- ```json
118
- [
119
- { "label": "标签", "value": 数值 }
120
- ]
121
- ```
122
-
123
- ---
124
-
125
- ### 折线图 (line)
126
-
127
- #### 专用配置字段
128
-
129
- | 字段 | 类型 | 默认值 | 说明 |
130
- |------|------|--------|------|
131
- | `highlightColor` | `string` | `#1F5BFF` | 高亮节点/文本颜色 |
132
- | `lineColor` | `string` | `#1F66FF` | 折线颜色 |
133
- | `areaStartColor` | `string` | `rgba(31, 91, 255, 0.25)` | 面积渐变起始色 |
134
- | `areaEndColor` | `string` | `rgba(31, 91, 255, 0.02)` | 面积渐变结束色 |
135
- | `valueSuffix` | `string` | `''` | 数值后缀 |
136
- | `smooth` | `boolean` | `false` | 是否平滑曲线 |
137
- | `symbolSize` | `number` | `12` | 基准点大小 |
138
- | `activeSymbolSize` | `number` | `symbolSize + 4` | 选中点大小 |
139
- | `inactivePointFill` | `string` | `#fff` | 非激活点填充色 |
140
- | `pointBorderWidth` | `number` | `4` | 点边框宽度 |
141
-
142
- #### 基础配置示例
143
-
144
- ```json
145
- {
146
- "type": "line",
147
- "xtitle": "门急诊量趋势",
148
- "smooth": true,
149
- "valueSuffix": "人次",
150
- "highlightColor": "#FF6A00",
151
- "lineColor": "#FF9240",
152
- "areaStartColor": "rgba(255, 146, 64, 0.35)",
153
- "areaEndColor": "rgba(255, 146, 64, 0.02)",
154
- "dataset": [
155
- { "label": "周一", "value": 1200 },
156
- { "label": "周二", "value": 1350 },
157
- { "label": "周三", "value": 1100 }
158
- ]
159
- }
160
- ```
161
-
162
- #### 数据格式要求
163
-
164
- ```json
165
- [
166
- { "label": "标签", "value": 数值 }
167
- ]
168
- ```
169
-
170
- ---
171
-
172
- ### 饼图 (pie)
173
-
174
- #### 专用配置字段
175
-
176
- 饼图没有专用配置字段,主要使用通用配置和 `options`。
177
-
178
- #### 基础配置示例
179
-
180
- ```json
181
- {
182
- "type": "pie",
183
- "xtitle": "患者来源占比",
184
- "dataset": [
185
- { "label": "门诊", "value": 60 },
186
- { "label": "住院", "value": 30 },
187
- { "label": "急诊", "value": 10 }
188
- ],
189
- "options": {
190
- "legend": {
191
- "orient": "vertical",
192
- "right": 10,
193
- "top": "center"
194
- }
195
- }
196
- }
197
- ```
198
-
199
- #### 数据格式要求
200
-
201
- ```json
202
- [
203
- { "label": "标签", "value": 数值 }
204
- ]
205
- ```
206
-
207
- ---
208
-
209
- ### 区间折线图 (range-line)
210
-
211
- #### 专用配置字段
212
-
213
- | 字段 | 类型 | 默认值 | 说明 |
214
- |------|------|--------|------|
215
- | `highField` | `string` | `high` | 高值字段名 |
216
- | `lowField` | `string` | `low` | 低值字段名 |
217
- | `highName` | `string` | `流入` | 高值折线名称(图例/tooltip) |
218
- | `lowName` | `string` | `流出` | 低值折线名称(图例/tooltip) |
219
- | `highColor` | `string` | `#1F66FF` | 高值折线颜色 |
220
- | `lowColor` | `string` | `#A8C4FF` | 低值折线颜色 |
221
- | `rangeLineColor` | `string` | `#1F66FF` | 差值连线颜色 |
222
- | `rangeLineType` | `string` | `solid` | 差值连线类型:`solid` / `dashed` |
223
- | `valueSuffix` | `string` | `''` | 数值后缀 |
224
- | `showRangeLines` | `boolean` | `true` | 是否显示差值连线 |
225
- | `smooth` | `boolean` | `false` | 是否平滑曲线 |
226
- | `symbolSize` | `number` | `10` | 点大小 |
227
- | `pointBorderWidth` | `number` | `3` | 点边框宽度 |
228
-
229
- #### 基础配置示例
230
-
231
- ```json
232
- {
233
- "type": "range-line",
234
- "xtitle": "现金出入",
235
- "highField": "inflow",
236
- "lowField": "outflow",
237
- "highName": "经营现金流入",
238
- "lowName": "经营现金流出",
239
- "highColor": "#3362DA",
240
- "lowColor": "#A8C4FF",
241
- "rangeLineColor": "#3362DA",
242
- "rangeLineType": "solid",
243
- "valueSuffix": "万",
244
- "showRangeLines": true,
245
- "smooth": false,
246
- "symbolSize": 10,
247
- "dataset": [
248
- { "label": "01月", "inflow": 900, "outflow": 700 },
249
- { "label": "02月", "inflow": 1500, "outflow": 920 }
250
- ]
251
- }
252
- ```
253
-
254
- #### 数据格式要求
255
-
256
- ```json
257
- [
258
- {
259
- "label": "标签",
260
- "highField值": 数值, // 如 "inflow": 900
261
- "lowField值": 数值 // 如 "outflow": 700
262
- }
263
- ]
264
- ```
265
-
266
- ---
267
-
268
- ## 筛选模式配置
269
-
270
- ### 单选过滤 (radioFilter)
271
-
272
- 在图表顶部显示一排单选按钮(pill 样式),用于切换维度。
273
-
274
- #### 配置结构
275
-
276
- ```json
277
- {
278
- "radioFilter": {
279
- "label": "时间维度",
280
- "field": "dateType",
281
- "defaultValue": "month",
282
- "options": [
283
- { "label": "年", "value": "year" },
284
- { "label": "季", "value": "quarter" },
285
- { "label": "月", "value": "month" }
286
- ]
287
- }
288
- }
289
- ```
290
-
291
- #### 字段说明
292
-
293
- | 字段 | 类型 | 必填 | 说明 |
294
- |------|------|------|------|
295
- | `label` | `string` | ❌ | 筛选器标签 |
296
- | `field` | `string` | ❌ | 查询参数 key(逻辑数据模式)或 `prop` |
297
- | `defaultValue` | `string` | ❌ | 默认选中的 value |
298
- | `options` | `array` | ✅ | 选项数组,每项包含 `label` 和 `value` |
299
-
300
- #### 与静态数据联动
301
-
302
- 当使用静态 `dataset` 时,`radioFilter` 的当前选中值会作为 key 去 `dataset` 对象中取对应的数组:
303
-
304
- ```json
305
- {
306
- "type": "bar",
307
- "radioFilter": {
308
- "field": "dateType",
309
- "defaultValue": "month",
310
- "options": [
311
- { "label": "月", "value": "month" },
312
- { "label": "年", "value": "year" }
313
- ]
314
- },
315
- "dataset": {
316
- "month": [
317
- { "label": "01月", "value": 100 },
318
- { "label": "02月", "value": 120 }
319
- ],
320
- "year": [
321
- { "label": "2022", "value": 1200 },
322
- { "label": "2023", "value": 1500 }
323
- ]
324
- }
325
- }
326
- ```
327
-
328
- ---
329
-
330
- ### 侧边列表 (sideList)
331
-
332
- 在图表左侧显示一列按钮,用于切换分类。
333
-
334
- #### 配置结构(非级联模式)
335
-
336
- ```json
337
- {
338
- "sideList": {
339
- "label": "科室",
340
- "title": "科室", // 与 label 等价
341
- "field": "deptCode",
342
- "prop": "deptCode", // 与 field 等价
343
- "defaultValue": "dept01",
344
- "options": [
345
- { "label": "心内科", "value": "dept01", "badge": "热门" },
346
- { "label": "呼吸科", "value": "dept02" }
347
- ]
348
- }
349
- }
350
- ```
351
-
352
- #### 字段说明
353
-
354
- | 字段 | 类型 | 必填 | 说明 |
355
- |------|------|------|------|
356
- | `label` | `title` | `string` | ❌ | 列表标题 |
357
- | `field` | `prop` | `string` | ❌ | 查询参数 key(逻辑数据模式),默认 `category` |
358
- | `defaultValue` | `string` | ❌ | 默认选中的 value |
359
- | `options` | `array` | ✅ | 选项数组,每项包含 `label`、`value`、`badge`(可选) |
360
- | `mode` | `string` | ❌ | 不设置或非 `cascade` 时为侧边列表模式 |
361
-
362
- #### 与静态数据联动
363
-
364
- ```json
365
- {
366
- "type": "line",
367
- "sideList": {
368
- "label": "科室",
369
- "defaultValue": "dept01",
370
- "options": [
371
- { "label": "心内科", "value": "dept01" },
372
- { "label": "呼吸科", "value": "dept02" }
373
- ]
374
- },
375
- "dataset": {
376
- "dept01": [
377
- { "label": "周一", "value": 100 },
378
- { "label": "周二", "value": 120 }
379
- ],
380
- "dept02": [
381
- { "label": "周一", "value": 80 },
382
- { "label": "周二", "value": 90 }
383
- ]
384
- }
385
- }
386
- ```
387
-
388
- ---
389
-
390
- ### 级联筛选 (sideList.cascade)
391
-
392
- 在图表顶部显示多列级联选择(如:院区 → 楼栋 → 科室)。
393
-
394
- #### 配置结构
395
-
396
- ```json
397
- {
398
- "sideList": {
399
- "mode": "cascade",
400
- "label": "筛选条件",
401
- "levels": [
402
- {
403
- "label": "院区",
404
- "title": "院区", // 与 label 等价
405
- "field": "areaCode",
406
- "defaultValue": "A",
407
- "subtitle": "可选",
408
- "options": [
409
- { "label": "一院区", "value": "A" },
410
- { "label": "二院区", "value": "B" }
411
- ]
412
- },
413
- {
414
- "label": "楼栋",
415
- "field": "buildingCode",
416
- "options": {
417
- "A": [
418
- { "label": "1号楼", "value": "A1" },
419
- { "label": "2号楼", "value": "A2" }
420
- ],
421
- "B": [
422
- { "label": "3号楼", "value": "B3" }
423
- ],
424
- "default": []
425
- }
426
- }
427
- ]
428
- }
429
- }
430
- ```
431
-
432
- #### 字段说明
433
-
434
- | 字段 | 类型 | 必填 | 说明 |
435
- |------|------|------|------|
436
- | `mode` | `string` | ✅ | 必须为 `"cascade"` |
437
- | `label` / `title` | `string` | ❌ | 级联面板标题 |
438
- | `levels` | `array` | ✅ | 级联层级数组 |
439
-
440
- **levels 每项字段:**
441
-
442
- | 字段 | 类型 | 必填 | 说明 |
443
- |------|------|------|------|
444
- | `label` / `title` | `string` | ❌ | 列标题 |
445
- | `subtitle` | `string` | ❌ | 列副标题 |
446
- | `field` / `prop` | `string` | ❌ | 查询参数 key,默认 `cascade-field-{index}` |
447
- | `defaultValue` | `string` | ❌ | 默认选中的 value |
448
- | `options` | `array\|object` | ✅ | 选项数组或对象(见下方说明) |
449
-
450
- **options 的两种写法:**
451
-
452
- 1. **直接数组**(第一级常用):
453
- ```json
454
- "options": [
455
- { "label": "一院区", "value": "A" }
456
- ]
457
- ```
458
-
459
- 2. **对象映射**(子级根据父级值动态切换):
460
- ```json
461
- "options": {
462
- "A": [
463
- { "label": "1号楼", "value": "A1" }
464
- ],
465
- "B": [
466
- { "label": "3号楼", "value": "B3" }
467
- ],
468
- "default": [] // 兜底数组
469
- }
470
- ```
471
-
472
- #### 与静态数据联动
473
-
474
- 级联筛选会按选中的层级值(如 `["A", "A1"]`)去 `dataset` 对象中嵌套取值:
475
-
476
- ```json
477
- {
478
- "type": "bar",
479
- "sideList": {
480
- "mode": "cascade",
481
- "levels": [
482
- {
483
- "label": "院区",
484
- "field": "areaCode",
485
- "defaultValue": "A",
486
- "options": [
487
- { "label": "一院区", "value": "A" }
488
- ]
489
- },
490
- {
491
- "label": "楼栋",
492
- "field": "buildingCode",
493
- "options": {
494
- "A": [
495
- { "label": "1号楼", "value": "A1" }
496
- ]
497
- }
498
- }
499
- ]
500
- },
501
- "dataset": {
502
- "A": {
503
- "A1": [
504
- { "label": "一月", "value": 100 }
505
- ]
506
- }
507
- }
508
- }
509
- ```
510
-
511
- ---
512
-
513
- ## 数据模式配置
514
-
515
- ### 静态数据 (dataset)
516
-
517
- 直接在配置中提供数据,支持简单数组或嵌套对象。
518
-
519
- #### 简单数组
520
-
521
- ```json
522
- {
523
- "type": "bar",
524
- "dataset": [
525
- { "label": "一月", "value": 120 },
526
- { "label": "二月", "value": 80 }
527
- ]
528
- }
529
- ```
530
-
531
- #### 嵌套对象(与筛选联动)
532
-
533
- ```json
534
- {
535
- "type": "line",
536
- "radioFilter": {
537
- "defaultValue": "month",
538
- "options": [
539
- { "label": "月", "value": "month" },
540
- { "label": "年", "value": "year" }
541
- ]
542
- },
543
- "dataset": {
544
- "month": [
545
- { "label": "01月", "value": 100 }
546
- ],
547
- "year": [
548
- { "label": "2022", "value": 1200 }
549
- ]
550
- }
551
- }
552
- ```
553
-
554
- #### 数据提取规则
555
-
556
- 组件会按以下顺序尝试提取数组:
557
-
558
- 1. 如果 `dataset` 是数组,直接使用
559
- 2. 如果是对象:
560
- - 有筛选时,用当前选中值作为 key 取子数组
561
- - 无筛选时,尝试 `dataset.data`、`dataset.result`、`dataset.list` 等字段
562
- - 如果仍找不到,取对象中第一个数组类型的值
563
-
564
- ---
565
-
566
- ### 逻辑数据 (data)
567
-
568
- 通过后端逻辑获取数据,使用 `runLogic` 调用。
569
-
570
- #### 配置结构
571
-
572
- ```json
573
- {
574
- "type": "bar",
575
- "data": "logicName_getBarData",
576
- "dataMapping": {
577
- "labelField": "xName",
578
- "valueField": "totalCount"
579
- }
580
- }
581
- ```
582
-
583
- #### 字段说明
584
-
585
- | 字段 | 类型 | 必填 | 说明 |
586
- |------|------|------|------|
587
- | `data` | `string` | ✅ | 逻辑名称 |
588
- | `dataMapping` | `object` | ❌ | 字段映射(见下方) |
589
-
590
- **dataMapping 字段:**
591
-
592
- | 字段 | 类型 | 默认值 | 说明 |
593
- |------|------|--------|------|
594
- | `labelField` | `string` | `label` | 标签字段名 |
595
- | `valueField` | `string` | `value` | 数值字段名 |
596
-
597
- #### 查询参数构建
598
-
599
- 逻辑数据模式会自动合并以下参数:
600
-
601
- 1. `fixedQueryForm`(组件 props)
602
- 2. `listQueryParams`(侧边列表/级联筛选的选中值)
603
- 3. `filterQueryParams`(单选过滤的选中值)
604
-
605
- 最终调用:`runLogic(config.data, queryPayload, serviceName)`
606
-
607
- #### 数据转换
608
-
609
- 后端返回的数据会被 `transformData` 转换:
610
-
611
- 1. 尝试从 `data`、`result`、`list`、`items`、`records` 字段提取数组
612
- 2. 如果仍找不到,取对象中第一个数组类型的值
613
- 3. 使用 `dataMapping` 映射字段,或自动识别 `label/name/text` + `value/count`
614
-
615
- ---
616
-
617
- ## 完整配置示例
618
-
619
- ### 示例 1:区间折线图 + 单选过滤 + 静态数据
620
-
621
- ```json
622
- {
623
- "type": "range-line",
624
- "xtitle": "现金出入",
625
- "highColor": "#3362DA",
626
- "lowColor": "#A8C4FF",
627
- "rangeLineColor": "#3362DA",
628
- "rangeLineType": "solid",
629
- "highName": "经营现金流入",
630
- "lowName": "经营现金流出",
631
- "highField": "inflow",
632
- "lowField": "outflow",
633
- "valueSuffix": "万",
634
- "showRangeLines": true,
635
- "smooth": false,
636
- "symbolSize": 10,
637
- "radioFilter": {
638
- "field": "dateType",
639
- "defaultValue": "month",
640
- "options": [
641
- { "label": "年", "value": "year" },
642
- { "label": "季", "value": "quarter" },
643
- { "label": "月", "value": "month" }
644
- ]
645
- },
646
- "dataset": {
647
- "month": [
648
- { "label": "01月", "inflow": 900, "outflow": 700 },
649
- { "label": "02月", "inflow": 1500, "outflow": 920 }
650
- ],
651
- "quarter": [
652
- { "label": "Q1", "inflow": 3450, "outflow": 2370 }
653
- ],
654
- "year": [
655
- { "label": "2022", "inflow": 14200, "outflow": 10500 }
656
- ]
657
- }
658
- }
659
- ```
660
-
661
- ### 示例 2:柱状图 + 侧边列表 + 逻辑数据
662
-
663
- ```json
664
- {
665
- "type": "bar",
666
- "xtitle": "科室就诊量",
667
- "barColor": "#3E7BFA",
668
- "valueSuffix": "人次",
669
- "yMax": 200,
670
- "sideList": {
671
- "label": "科室",
672
- "field": "deptCode",
673
- "defaultValue": "dept01",
674
- "options": [
675
- { "label": "心内科", "value": "dept01" },
676
- { "label": "呼吸科", "value": "dept02" }
677
- ]
678
- },
679
- "data": "logic_getDeptVisits",
680
- "dataMapping": {
681
- "labelField": "date",
682
- "valueField": "visitCount"
683
- }
684
- }
685
- ```
686
-
687
- ### 示例 3:折线图 + 级联筛选 + 静态数据
688
-
689
- ```json
690
- {
691
- "type": "line",
692
- "xtitle": "床位使用率趋势",
693
- "smooth": true,
694
- "valueSuffix": "%",
695
- "highlightColor": "#1F5BFF",
696
- "sideList": {
697
- "mode": "cascade",
698
- "label": "筛选条件",
699
- "levels": [
700
- {
701
- "label": "院区",
702
- "field": "areaCode",
703
- "defaultValue": "A",
704
- "options": [
705
- { "label": "一院区", "value": "A" },
706
- { "label": "二院区", "value": "B" }
707
- ]
708
- },
709
- {
710
- "label": "楼栋",
711
- "field": "buildingCode",
712
- "options": {
713
- "A": [
714
- { "label": "1号楼", "value": "A1" }
715
- ],
716
- "B": [
717
- { "label": "3号楼", "value": "B3" }
718
- ]
719
- }
720
- }
721
- ]
722
- },
723
- "dataset": {
724
- "A": {
725
- "A1": [
726
- { "label": "周一", "value": 85 },
727
- { "label": "周二", "value": 90 }
728
- ]
729
- },
730
- "B": {
731
- "B3": [
732
- { "label": "周一", "value": 75 },
733
- { "label": "周二", "value": 80 }
734
- ]
735
- }
736
- }
737
- }
738
- ```
739
-
740
- ### 示例 4:饼图 + 单选过滤 + 逻辑数据
741
-
742
- ```json
743
- {
744
- "type": "pie",
745
- "xtitle": "患者来源占比",
746
- "radioFilter": {
747
- "field": "timeType",
748
- "defaultValue": "month",
749
- "options": [
750
- { "label": "本月", "value": "month" },
751
- { "label": "本年", "value": "year" }
752
- ]
753
- },
754
- "data": "logic_getPatientSource",
755
- "dataMapping": {
756
- "labelField": "sourceName",
757
- "valueField": "count"
758
- },
759
- "options": {
760
- "legend": {
761
- "orient": "vertical",
762
- "right": 10,
763
- "top": "center"
764
- }
765
- }
766
- }
767
- ```
768
-
769
- ### 示例 5:折线图 + 级联筛选 + 时间粒度筛选 + 静态数据(患者常住地数据)
770
-
771
- ```json
772
- {
773
- "type": "line",
774
- "xtitle": "患者常住地数据",
775
- "smooth": false,
776
- "valueSuffix": "",
777
- "highlightColor": "#1F5BFF",
778
- "lineColor": "#1F66FF",
779
- "areaStartColor": "rgba(31, 102, 255, 0.25)",
780
- "areaEndColor": "rgba(31, 102, 255, 0.02)",
781
- "symbolSize": 12,
782
- "radioFilter": {
783
- "label": "时间粒度",
784
- "field": "timeGranularity",
785
- "defaultValue": "week",
786
- "options": [
787
- { "label": "周", "value": "week" },
788
- { "label": "月", "value": "month" },
789
- { "label": "年", "value": "year" }
790
- ]
791
- },
792
- "sideList": {
793
- "mode": "cascade",
794
- "label": "区域筛选",
795
- "levels": [
796
- {
797
- "label": "省份",
798
- "field": "province",
799
- "defaultValue": "江苏",
800
- "options": [
801
- { "label": "江苏", "value": "江苏" },
802
- { "label": "浙江", "value": "浙江" }
803
- ]
804
- },
805
- {
806
- "label": "城市",
807
- "field": "city",
808
- "options": {
809
- "江苏": [
810
- { "label": "南京", "value": "南京" },
811
- { "label": "苏州", "value": "苏州" }
812
- ],
813
- "浙江": [
814
- { "label": "杭州", "value": "杭州" },
815
- { "label": "宁波", "value": "宁波" }
816
- ],
817
- "default": []
818
- }
819
- },
820
- {
821
- "label": "区县",
822
- "field": "district",
823
- "options": {
824
- "南京": [
825
- { "label": "鼓楼区", "value": "鼓楼区" },
826
- { "label": "玄武区", "value": "玄武区" },
827
- { "label": "秦淮区", "value": "秦淮区" }
828
- ],
829
- "苏州": [
830
- { "label": "工业园区", "value": "工业园区" },
831
- { "label": "姑苏区", "value": "姑苏区" },
832
- { "label": "相城区", "value": "相城区" }
833
- ],
834
- "杭州": [
835
- { "label": "西湖区", "value": "西湖区" },
836
- { "label": "上城区", "value": "上城区" },
837
- { "label": "下城区", "value": "下城区" }
838
- ],
839
- "宁波": [
840
- { "label": "海曙区", "value": "海曙区" },
841
- { "label": "江北区", "value": "江北区" },
842
- { "label": "鄞州区", "value": "鄞州区" }
843
- ],
844
- "default": []
845
- }
846
- },
847
- {
848
- "label": "街道",
849
- "field": "street",
850
- "options": {
851
- "鼓楼区": [
852
- { "label": "南京鼓楼街道", "value": "南京鼓楼街道" },
853
- { "label": "湖南路街道", "value": "湖南路街道" },
854
- { "label": "中央门街道", "value": "中央门街道" },
855
- { "label": "挹江门街道", "value": "挹江门街道" }
856
- ],
857
- "玄武区": [
858
- { "label": "新街口街道", "value": "新街口街道" },
859
- { "label": "梅园新村街道", "value": "梅园新村街道" },
860
- { "label": "锁金村街道", "value": "锁金村街道" },
861
- { "label": "孝陵卫街道", "value": "孝陵卫街道" }
862
- ],
863
- "秦淮区": [
864
- { "label": "夫子庙街道", "value": "夫子庙街道" },
865
- { "label": "朝天宫街道", "value": "朝天宫街道" },
866
- { "label": "五老村街道", "value": "五老村街道" },
867
- { "label": "双塘街道", "value": "双塘街道" }
868
- ],
869
- "工业园区": [
870
- { "label": "娄葑街道", "value": "娄葑街道" },
871
- { "label": "斜塘街道", "value": "斜塘街道" },
872
- { "label": "唯亭街道", "value": "唯亭街道" },
873
- { "label": "胜浦街道", "value": "胜浦街道" }
874
- ],
875
- "姑苏区": [
876
- { "label": "观前街道", "value": "观前街道" },
877
- { "label": "平江街道", "value": "平江街道" },
878
- { "label": "双塔街道", "value": "双塔街道" },
879
- { "label": "沧浪街道", "value": "沧浪街道" }
880
- ],
881
- "相城区": [
882
- { "label": "元和街道", "value": "元和街道" },
883
- { "label": "黄桥街道", "value": "黄桥街道" },
884
- { "label": "北桥街道", "value": "北桥街道" },
885
- { "label": "望亭街道", "value": "望亭街道" }
886
- ],
887
- "西湖区": [
888
- { "label": "文新街道", "value": "文新街道" },
889
- { "label": "古荡街道", "value": "古荡街道" },
890
- { "label": "北山街道", "value": "北山街道" },
891
- { "label": "西溪街道", "value": "西溪街道" }
892
- ],
893
- "上城区": [
894
- { "label": "湖滨街道", "value": "湖滨街道" },
895
- { "label": "小营街道", "value": "小营街道" },
896
- { "label": "望江街道", "value": "望江街道" },
897
- { "label": "南星街道", "value": "南星街道" }
898
- ],
899
- "下城区": [
900
- { "label": "武林街道", "value": "武林街道" },
901
- { "label": "长庆街道", "value": "长庆街道" },
902
- { "label": "潮鸣街道", "value": "潮鸣街道" },
903
- { "label": "朝晖街道", "value": "朝晖街道" }
904
- ],
905
- "海曙区": [
906
- { "label": "鼓楼街道", "value": "鼓楼街道" },
907
- { "label": "月湖街道", "value": "月湖街道" },
908
- { "label": "南门街道", "value": "南门街道" },
909
- { "label": "西门街道", "value": "西门街道" }
910
- ],
911
- "江北区": [
912
- { "label": "中马街道", "value": "中马街道" },
913
- { "label": "白沙街道", "value": "白沙街道" },
914
- { "label": "孔浦街道", "value": "孔浦街道" },
915
- { "label": "文教街道", "value": "文教街道" }
916
- ],
917
- "鄞州区": [
918
- { "label": "中河街道", "value": "中河街道" },
919
- { "label": "首南街道", "value": "首南街道" },
920
- { "label": "钟公庙街道", "value": "钟公庙街道" },
921
- { "label": "下应街道", "value": "下应街道" }
922
- ],
923
- "default": []
924
- }
925
- }
926
- ]
927
- },
928
- "dataset": {
929
- "week": {
930
- "江苏": {
931
- "南京": {
932
- "鼓楼区": {
933
- "南京鼓楼街道": [
934
- { "label": "周一", "value": 26 },
935
- { "label": "周二", "value": 24 },
936
- { "label": "周三", "value": 21 },
937
- { "label": "周四", "value": 28 },
938
- { "label": "周五", "value": 23 },
939
- { "label": "周六", "value": 19 },
940
- { "label": "周日", "value": 17 }
941
- ],
942
- "湖南路街道": [
943
- { "label": "周一", "value": 22 },
944
- { "label": "周二", "value": 20 },
945
- { "label": "周三", "value": 18 },
946
- { "label": "周四", "value": 25 },
947
- { "label": "周五", "value": 21 },
948
- { "label": "周六", "value": 16 },
949
- { "label": "周日", "value": 14 }
950
- ],
951
- "中央门街道": [
952
- { "label": "周一", "value": 19 },
953
- { "label": "周二", "value": 17 },
954
- { "label": "周三", "value": 15 },
955
- { "label": "周四", "value": 22 },
956
- { "label": "周五", "value": 18 },
957
- { "label": "周六", "value": 13 },
958
- { "label": "周日", "value": 11 }
959
- ],
960
- "挹江门街道": [
961
- { "label": "周一", "value": 16 },
962
- { "label": "周二", "value": 14 },
963
- { "label": "周三", "value": 12 },
964
- { "label": "周四", "value": 19 },
965
- { "label": "周五", "value": 15 },
966
- { "label": "周六", "value": 10 },
967
- { "label": "周日", "value": 8 }
968
- ]
969
- },
970
- "玄武区": {
971
- "新街口街道": [
972
- { "label": "周一", "value": 28 },
973
- { "label": "周二", "value": 26 },
974
- { "label": "周三", "value": 23 },
975
- { "label": "周四", "value": 30 },
976
- { "label": "周五", "value": 25 },
977
- { "label": "周六", "value": 21 },
978
- { "label": "周日", "value": 19 }
979
- ],
980
- "梅园新村街道": [
981
- { "label": "周一", "value": 24 },
982
- { "label": "周二", "value": 22 },
983
- { "label": "周三", "value": 20 },
984
- { "label": "周四", "value": 27 },
985
- { "label": "周五", "value": 23 },
986
- { "label": "周六", "value": 18 },
987
- { "label": "周日", "value": 16 }
988
- ],
989
- "锁金村街道": [
990
- { "label": "周一", "value": 21 },
991
- { "label": "周二", "value": 19 },
992
- { "label": "周三", "value": 17 },
993
- { "label": "周四", "value": 24 },
994
- { "label": "周五", "value": 20 },
995
- { "label": "周六", "value": 15 },
996
- { "label": "周日", "value": 13 }
997
- ],
998
- "孝陵卫街道": [
999
- { "label": "周一", "value": 18 },
1000
- { "label": "周二", "value": 16 },
1001
- { "label": "周三", "value": 14 },
1002
- { "label": "周四", "value": 21 },
1003
- { "label": "周五", "value": 17 },
1004
- { "label": "周六", "value": 12 },
1005
- { "label": "周日", "value": 10 }
1006
- ]
1007
- },
1008
- "秦淮区": {
1009
- "夫子庙街道": [
1010
- { "label": "周一", "value": 25 },
1011
- { "label": "周二", "value": 23 },
1012
- { "label": "周三", "value": 20 },
1013
- { "label": "周四", "value": 27 },
1014
- { "label": "周五", "value": 22 },
1015
- { "label": "周六", "value": 18 },
1016
- { "label": "周日", "value": 16 }
1017
- ],
1018
- "朝天宫街道": [
1019
- { "label": "周一", "value": 20 },
1020
- { "label": "周二", "value": 18 },
1021
- { "label": "周三", "value": 16 },
1022
- { "label": "周四", "value": 23 },
1023
- { "label": "周五", "value": 19 },
1024
- { "label": "周六", "value": 14 },
1025
- { "label": "周日", "value": 12 }
1026
- ],
1027
- "五老村街道": [
1028
- { "label": "周一", "value": 17 },
1029
- { "label": "周二", "value": 15 },
1030
- { "label": "周三", "value": 13 },
1031
- { "label": "周四", "value": 20 },
1032
- { "label": "周五", "value": 16 },
1033
- { "label": "周六", "value": 11 },
1034
- { "label": "周日", "value": 9 }
1035
- ],
1036
- "双塘街道": [
1037
- { "label": "周一", "value": 15 },
1038
- { "label": "周二", "value": 13 },
1039
- { "label": "周三", "value": 11 },
1040
- { "label": "周四", "value": 18 },
1041
- { "label": "周五", "value": 14 },
1042
- { "label": "周六", "value": 9 },
1043
- { "label": "周日", "value": 7 }
1044
- ]
1045
- }
1046
- },
1047
- "苏州": {
1048
- "工业园区": {
1049
- "娄葑街道": [
1050
- { "label": "周一", "value": 23 },
1051
- { "label": "周二", "value": 21 },
1052
- { "label": "周三", "value": 19 },
1053
- { "label": "周四", "value": 26 },
1054
- { "label": "周五", "value": 22 },
1055
- { "label": "周六", "value": 17 },
1056
- { "label": "周日", "value": 15 }
1057
- ],
1058
- "斜塘街道": [
1059
- { "label": "周一", "value": 19 },
1060
- { "label": "周二", "value": 17 },
1061
- { "label": "周三", "value": 15 },
1062
- { "label": "周四", "value": 22 },
1063
- { "label": "周五", "value": 18 },
1064
- { "label": "周六", "value": 13 },
1065
- { "label": "周日", "value": 11 }
1066
- ],
1067
- "唯亭街道": [
1068
- { "label": "周一", "value": 16 },
1069
- { "label": "周二", "value": 14 },
1070
- { "label": "周三", "value": 12 },
1071
- { "label": "周四", "value": 19 },
1072
- { "label": "周五", "value": 15 },
1073
- { "label": "周六", "value": 10 },
1074
- { "label": "周日", "value": 8 }
1075
- ],
1076
- "胜浦街道": [
1077
- { "label": "周一", "value": 14 },
1078
- { "label": "周二", "value": 12 },
1079
- { "label": "周三", "value": 10 },
1080
- { "label": "周四", "value": 17 },
1081
- { "label": "周五", "value": 13 },
1082
- { "label": "周六", "value": 8 },
1083
- { "label": "周日", "value": 6 }
1084
- ]
1085
- },
1086
- "姑苏区": {
1087
- "观前街道": [
1088
- { "label": "周一", "value": 27 },
1089
- { "label": "周二", "value": 25 },
1090
- { "label": "周三", "value": 22 },
1091
- { "label": "周四", "value": 29 },
1092
- { "label": "周五", "value": 24 },
1093
- { "label": "周六", "value": 20 },
1094
- { "label": "周日", "value": 18 }
1095
- ],
1096
- "平江街道": [
1097
- { "label": "周一", "value": 22 },
1098
- { "label": "周二", "value": 20 },
1099
- { "label": "周三", "value": 18 },
1100
- { "label": "周四", "value": 25 },
1101
- { "label": "周五", "value": 21 },
1102
- { "label": "周六", "value": 16 },
1103
- { "label": "周日", "value": 14 }
1104
- ],
1105
- "双塔街道": [
1106
- { "label": "周一", "value": 18 },
1107
- { "label": "周二", "value": 16 },
1108
- { "label": "周三", "value": 14 },
1109
- { "label": "周四", "value": 21 },
1110
- { "label": "周五", "value": 17 },
1111
- { "label": "周六", "value": 12 },
1112
- { "label": "周日", "value": 10 }
1113
- ],
1114
- "沧浪街道": [
1115
- { "label": "周一", "value": 16 },
1116
- { "label": "周二", "value": 14 },
1117
- { "label": "周三", "value": 12 },
1118
- { "label": "周四", "value": 19 },
1119
- { "label": "周五", "value": 15 },
1120
- { "label": "周六", "value": 10 },
1121
- { "label": "周日", "value": 8 }
1122
- ]
1123
- },
1124
- "相城区": {
1125
- "元和街道": [
1126
- { "label": "周一", "value": 20 },
1127
- { "label": "周二", "value": 18 },
1128
- { "label": "周三", "value": 16 },
1129
- { "label": "周四", "value": 23 },
1130
- { "label": "周五", "value": 19 },
1131
- { "label": "周六", "value": 14 },
1132
- { "label": "周日", "value": 12 }
1133
- ],
1134
- "黄桥街道": [
1135
- { "label": "周一", "value": 15 },
1136
- { "label": "周二", "value": 13 },
1137
- { "label": "周三", "value": 11 },
1138
- { "label": "周四", "value": 18 },
1139
- { "label": "周五", "value": 14 },
1140
- { "label": "周六", "value": 9 },
1141
- { "label": "周日", "value": 7 }
1142
- ],
1143
- "北桥街道": [
1144
- { "label": "周一", "value": 12 },
1145
- { "label": "周二", "value": 10 },
1146
- { "label": "周三", "value": 8 },
1147
- { "label": "周四", "value": 15 },
1148
- { "label": "周五", "value": 11 },
1149
- { "label": "周六", "value": 6 },
1150
- { "label": "周日", "value": 4 }
1151
- ],
1152
- "望亭街道": [
1153
- { "label": "周一", "value": 10 },
1154
- { "label": "周二", "value": 8 },
1155
- { "label": "周三", "value": 6 },
1156
- { "label": "周四", "value": 13 },
1157
- { "label": "周五", "value": 9 },
1158
- { "label": "周六", "value": 4 },
1159
- { "label": "周日", "value": 2 }
1160
- ]
1161
- }
1162
- }
1163
- },
1164
- "浙江": {
1165
- "杭州": {
1166
- "西湖区": {
1167
- "文新街道": [
1168
- { "label": "周一", "value": 24 },
1169
- { "label": "周二", "value": 22 },
1170
- { "label": "周三", "value": 20 },
1171
- { "label": "周四", "value": 27 },
1172
- { "label": "周五", "value": 23 },
1173
- { "label": "周六", "value": 18 },
1174
- { "label": "周日", "value": 16 }
1175
- ],
1176
- "古荡街道": [
1177
- { "label": "周一", "value": 20 },
1178
- { "label": "周二", "value": 18 },
1179
- { "label": "周三", "value": 16 },
1180
- { "label": "周四", "value": 23 },
1181
- { "label": "周五", "value": 19 },
1182
- { "label": "周六", "value": 14 },
1183
- { "label": "周日", "value": 12 }
1184
- ],
1185
- "北山街道": [
1186
- { "label": "周一", "value": 17 },
1187
- { "label": "周二", "value": 15 },
1188
- { "label": "周三", "value": 13 },
1189
- { "label": "周四", "value": 20 },
1190
- { "label": "周五", "value": 16 },
1191
- { "label": "周六", "value": 11 },
1192
- { "label": "周日", "value": 9 }
1193
- ],
1194
- "西溪街道": [
1195
- { "label": "周一", "value": 15 },
1196
- { "label": "周二", "value": 13 },
1197
- { "label": "周三", "value": 11 },
1198
- { "label": "周四", "value": 18 },
1199
- { "label": "周五", "value": 14 },
1200
- { "label": "周六", "value": 9 },
1201
- { "label": "周日", "value": 7 }
1202
- ]
1203
- },
1204
- "上城区": {
1205
- "湖滨街道": [
1206
- { "label": "周一", "value": 26 },
1207
- { "label": "周二", "value": 24 },
1208
- { "label": "周三", "value": 21 },
1209
- { "label": "周四", "value": 28 },
1210
- { "label": "周五", "value": 23 },
1211
- { "label": "周六", "value": 19 },
1212
- { "label": "周日", "value": 17 }
1213
- ],
1214
- "小营街道": [
1215
- { "label": "周一", "value": 21 },
1216
- { "label": "周二", "value": 19 },
1217
- { "label": "周三", "value": 17 },
1218
- { "label": "周四", "value": 24 },
1219
- { "label": "周五", "value": 20 },
1220
- { "label": "周六", "value": 15 },
1221
- { "label": "周日", "value": 13 }
1222
- ],
1223
- "望江街道": [
1224
- { "label": "周一", "value": 18 },
1225
- { "label": "周二", "value": 16 },
1226
- { "label": "周三", "value": 14 },
1227
- { "label": "周四", "value": 21 },
1228
- { "label": "周五", "value": 17 },
1229
- { "label": "周六", "value": 12 },
1230
- { "label": "周日", "value": 10 }
1231
- ],
1232
- "南星街道": [
1233
- { "label": "周一", "value": 16 },
1234
- { "label": "周二", "value": 14 },
1235
- { "label": "周三", "value": 12 },
1236
- { "label": "周四", "value": 19 },
1237
- { "label": "周五", "value": 15 },
1238
- { "label": "周六", "value": 10 },
1239
- { "label": "周日", "value": 8 }
1240
- ]
1241
- },
1242
- "下城区": {
1243
- "武林街道": [
1244
- { "label": "周一", "value": 25 },
1245
- { "label": "周二", "value": 23 },
1246
- { "label": "周三", "value": 20 },
1247
- { "label": "周四", "value": 27 },
1248
- { "label": "周五", "value": 22 },
1249
- { "label": "周六", "value": 18 },
1250
- { "label": "周日", "value": 16 }
1251
- ],
1252
- "长庆街道": [
1253
- { "label": "周一", "value": 19 },
1254
- { "label": "周二", "value": 17 },
1255
- { "label": "周三", "value": 15 },
1256
- { "label": "周四", "value": 22 },
1257
- { "label": "周五", "value": 18 },
1258
- { "label": "周六", "value": 13 },
1259
- { "label": "周日", "value": 11 }
1260
- ],
1261
- "潮鸣街道": [
1262
- { "label": "周一", "value": 16 },
1263
- { "label": "周二", "value": 14 },
1264
- { "label": "周三", "value": 12 },
1265
- { "label": "周四", "value": 19 },
1266
- { "label": "周五", "value": 15 },
1267
- { "label": "周六", "value": 10 },
1268
- { "label": "周日", "value": 8 }
1269
- ],
1270
- "朝晖街道": [
1271
- { "label": "周一", "value": 14 },
1272
- { "label": "周二", "value": 12 },
1273
- { "label": "周三", "value": 10 },
1274
- { "label": "周四", "value": 17 },
1275
- { "label": "周五", "value": 13 },
1276
- { "label": "周六", "value": 8 },
1277
- { "label": "周日", "value": 6 }
1278
- ]
1279
- }
1280
- },
1281
- "宁波": {
1282
- "海曙区": {
1283
- "鼓楼街道": [
1284
- { "label": "周一", "value": 23 },
1285
- { "label": "周二", "value": 21 },
1286
- { "label": "周三", "value": 19 },
1287
- { "label": "周四", "value": 26 },
1288
- { "label": "周五", "value": 22 },
1289
- { "label": "周六", "value": 17 },
1290
- { "label": "周日", "value": 15 }
1291
- ],
1292
- "月湖街道": [
1293
- { "label": "周一", "value": 19 },
1294
- { "label": "周二", "value": 17 },
1295
- { "label": "周三", "value": 15 },
1296
- { "label": "周四", "value": 22 },
1297
- { "label": "周五", "value": 18 },
1298
- { "label": "周六", "value": 13 },
1299
- { "label": "周日", "value": 11 }
1300
- ],
1301
- "南门街道": [
1302
- { "label": "周一", "value": 16 },
1303
- { "label": "周二", "value": 14 },
1304
- { "label": "周三", "value": 12 },
1305
- { "label": "周四", "value": 19 },
1306
- { "label": "周五", "value": 15 },
1307
- { "label": "周六", "value": 10 },
1308
- { "label": "周日", "value": 8 }
1309
- ],
1310
- "西门街道": [
1311
- { "label": "周一", "value": 14 },
1312
- { "label": "周二", "value": 12 },
1313
- { "label": "周三", "value": 10 },
1314
- { "label": "周四", "value": 17 },
1315
- { "label": "周五", "value": 13 },
1316
- { "label": "周六", "value": 8 },
1317
- { "label": "周日", "value": 6 }
1318
- ]
1319
- },
1320
- "江北区": {
1321
- "中马街道": [
1322
- { "label": "周一", "value": 21 },
1323
- { "label": "周二", "value": 19 },
1324
- { "label": "周三", "value": 17 },
1325
- { "label": "周四", "value": 24 },
1326
- { "label": "周五", "value": 20 },
1327
- { "label": "周六", "value": 15 },
1328
- { "label": "周日", "value": 13 }
1329
- ],
1330
- "白沙街道": [
1331
- { "label": "周一", "value": 17 },
1332
- { "label": "周二", "value": 15 },
1333
- { "label": "周三", "value": 13 },
1334
- { "label": "周四", "value": 20 },
1335
- { "label": "周五", "value": 16 },
1336
- { "label": "周六", "value": 11 },
1337
- { "label": "周日", "value": 9 }
1338
- ],
1339
- "孔浦街道": [
1340
- { "label": "周一", "value": 14 },
1341
- { "label": "周二", "value": 12 },
1342
- { "label": "周三", "value": 10 },
1343
- { "label": "周四", "value": 17 },
1344
- { "label": "周五", "value": 13 },
1345
- { "label": "周六", "value": 8 },
1346
- { "label": "周日", "value": 6 }
1347
- ],
1348
- "文教街道": [
1349
- { "label": "周一", "value": 12 },
1350
- { "label": "周二", "value": 10 },
1351
- { "label": "周三", "value": 8 },
1352
- { "label": "周四", "value": 15 },
1353
- { "label": "周五", "value": 11 },
1354
- { "label": "周六", "value": 6 },
1355
- { "label": "周日", "value": 4 }
1356
- ]
1357
- },
1358
- "鄞州区": {
1359
- "中河街道": [
1360
- { "label": "周一", "value": 22 },
1361
- { "label": "周二", "value": 20 },
1362
- { "label": "周三", "value": 18 },
1363
- { "label": "周四", "value": 25 },
1364
- { "label": "周五", "value": 21 },
1365
- { "label": "周六", "value": 16 },
1366
- { "label": "周日", "value": 14 }
1367
- ],
1368
- "首南街道": [
1369
- { "label": "周一", "value": 18 },
1370
- { "label": "周二", "value": 16 },
1371
- { "label": "周三", "value": 14 },
1372
- { "label": "周四", "value": 21 },
1373
- { "label": "周五", "value": 17 },
1374
- { "label": "周六", "value": 12 },
1375
- { "label": "周日", "value": 10 }
1376
- ],
1377
- "钟公庙街道": [
1378
- { "label": "周一", "value": 15 },
1379
- { "label": "周二", "value": 13 },
1380
- { "label": "周三", "value": 11 },
1381
- { "label": "周四", "value": 18 },
1382
- { "label": "周五", "value": 14 },
1383
- { "label": "周六", "value": 9 },
1384
- { "label": "周日", "value": 7 }
1385
- ],
1386
- "下应街道": [
1387
- { "label": "周一", "value": 13 },
1388
- { "label": "周二", "value": 11 },
1389
- { "label": "周三", "value": 9 },
1390
- { "label": "周四", "value": 16 },
1391
- { "label": "周五", "value": 12 },
1392
- { "label": "周六", "value": 7 },
1393
- { "label": "周日", "value": 5 }
1394
- ]
1395
- }
1396
- }
1397
- }
1398
- },
1399
- "month": {
1400
- "江苏": {
1401
- "南京": {
1402
- "鼓楼区": {
1403
- "南京鼓楼街道": [
1404
- { "label": "1月", "value": 720 },
1405
- { "label": "2月", "value": 680 },
1406
- { "label": "3月", "value": 750 },
1407
- { "label": "4月", "value": 780 },
1408
- { "label": "5月", "value": 820 },
1409
- { "label": "6月", "value": 800 }
1410
- ],
1411
- "湖南路街道": [
1412
- { "label": "1月", "value": 610 },
1413
- { "label": "2月", "value": 580 },
1414
- { "label": "3月", "value": 640 },
1415
- { "label": "4月", "value": 670 },
1416
- { "label": "5月", "value": 700 },
1417
- { "label": "6月", "value": 680 }
1418
- ],
1419
- "中央门街道": [
1420
- { "label": "1月", "value": 520 },
1421
- { "label": "2月", "value": 490 },
1422
- { "label": "3月", "value": 540 },
1423
- { "label": "4月", "value": 570 },
1424
- { "label": "5月", "value": 600 },
1425
- { "label": "6月", "value": 580 }
1426
- ],
1427
- "挹江门街道": [
1428
- { "label": "1月", "value": 440 },
1429
- { "label": "2月", "value": 410 },
1430
- { "label": "3月", "value": 460 },
1431
- { "label": "4月", "value": 490 },
1432
- { "label": "5月", "value": 520 },
1433
- { "label": "6月", "value": 500 }
1434
- ]
1435
- },
1436
- "玄武区": {
1437
- "新街口街道": [
1438
- { "label": "1月", "value": 780 },
1439
- { "label": "2月", "value": 740 },
1440
- { "label": "3月", "value": 810 },
1441
- { "label": "4月", "value": 840 },
1442
- { "label": "5月", "value": 880 },
1443
- { "label": "6月", "value": 860 }
1444
- ],
1445
- "梅园新村街道": [
1446
- { "label": "1月", "value": 670 },
1447
- { "label": "2月", "value": 630 },
1448
- { "label": "3月", "value": 690 },
1449
- { "label": "4月", "value": 720 },
1450
- { "label": "5月", "value": 750 },
1451
- { "label": "6月", "value": 730 }
1452
- ],
1453
- "锁金村街道": [
1454
- { "label": "1月", "value": 580 },
1455
- { "label": "2月", "value": 540 },
1456
- { "label": "3月", "value": 600 },
1457
- { "label": "4月", "value": 630 },
1458
- { "label": "5月", "value": 660 },
1459
- { "label": "6月", "value": 640 }
1460
- ],
1461
- "孝陵卫街道": [
1462
- { "label": "1月", "value": 490 },
1463
- { "label": "2月", "value": 460 },
1464
- { "label": "3月", "value": 510 },
1465
- { "label": "4月", "value": 540 },
1466
- { "label": "5月", "value": 570 },
1467
- { "label": "6月", "value": 550 }
1468
- ]
1469
- },
1470
- "秦淮区": {
1471
- "夫子庙街道": [
1472
- { "label": "1月", "value": 700 },
1473
- { "label": "2月", "value": 660 },
1474
- { "label": "3月", "value": 730 },
1475
- { "label": "4月", "value": 760 },
1476
- { "label": "5月", "value": 800 },
1477
- { "label": "6月", "value": 780 }
1478
- ],
1479
- "朝天宫街道": [
1480
- { "label": "1月", "value": 560 },
1481
- { "label": "2月", "value": 530 },
1482
- { "label": "3月", "value": 590 },
1483
- { "label": "4月", "value": 620 },
1484
- { "label": "5月", "value": 650 },
1485
- { "label": "6月", "value": 630 }
1486
- ],
1487
- "五老村街道": [
1488
- { "label": "1月", "value": 470 },
1489
- { "label": "2月", "value": 440 },
1490
- { "label": "3月", "value": 500 },
1491
- { "label": "4月", "value": 530 },
1492
- { "label": "5月", "value": 560 },
1493
- { "label": "6月", "value": 540 }
1494
- ],
1495
- "双塘街道": [
1496
- { "label": "1月", "value": 420 },
1497
- { "label": "2月", "value": 390 },
1498
- { "label": "3月", "value": 450 },
1499
- { "label": "4月", "value": 480 },
1500
- { "label": "5月", "value": 510 },
1501
- { "label": "6月", "value": 490 }
1502
- ]
1503
- }
1504
- },
1505
- "苏州": {
1506
- "工业园区": {
1507
- "娄葑街道": [
1508
- { "label": "1月", "value": 640 },
1509
- { "label": "2月", "value": 600 },
1510
- { "label": "3月", "value": 670 },
1511
- { "label": "4月", "value": 700 },
1512
- { "label": "5月", "value": 740 },
1513
- { "label": "6月", "value": 720 }
1514
- ],
1515
- "斜塘街道": [
1516
- { "label": "1月", "value": 530 },
1517
- { "label": "2月", "value": 500 },
1518
- { "label": "3月", "value": 560 },
1519
- { "label": "4月", "value": 590 },
1520
- { "label": "5月", "value": 620 },
1521
- { "label": "6月", "value": 600 }
1522
- ],
1523
- "唯亭街道": [
1524
- { "label": "1月", "value": 440 },
1525
- { "label": "2月", "value": 410 },
1526
- { "label": "3月", "value": 470 },
1527
- { "label": "4月", "value": 500 },
1528
- { "label": "5月", "value": 530 },
1529
- { "label": "6月", "value": 510 }
1530
- ],
1531
- "胜浦街道": [
1532
- { "label": "1月", "value": 380 },
1533
- { "label": "2月", "value": 350 },
1534
- { "label": "3月", "value": 410 },
1535
- { "label": "4月", "value": 440 },
1536
- { "label": "5月", "value": 470 },
1537
- { "label": "6月", "value": 450 }
1538
- ]
1539
- },
1540
- "姑苏区": {
1541
- "观前街道": [
1542
- { "label": "1月", "value": 750 },
1543
- { "label": "2月", "value": 710 },
1544
- { "label": "3月", "value": 780 },
1545
- { "label": "4月", "value": 810 },
1546
- { "label": "5月", "value": 850 },
1547
- { "label": "6月", "value": 830 }
1548
- ],
1549
- "平江街道": [
1550
- { "label": "1月", "value": 610 },
1551
- { "label": "2月", "value": 580 },
1552
- { "label": "3月", "value": 640 },
1553
- { "label": "4月", "value": 670 },
1554
- { "label": "5月", "value": 700 },
1555
- { "label": "6月", "value": 680 }
1556
- ],
1557
- "双塔街道": [
1558
- { "label": "1月", "value": 500 },
1559
- { "label": "2月", "value": 470 },
1560
- { "label": "3月", "value": 530 },
1561
- { "label": "4月", "value": 560 },
1562
- { "label": "5月", "value": 590 },
1563
- { "label": "6月", "value": 570 }
1564
- ],
1565
- "沧浪街道": [
1566
- { "label": "1月", "value": 440 },
1567
- { "label": "2月", "value": 410 },
1568
- { "label": "3月", "value": 470 },
1569
- { "label": "4月", "value": 500 },
1570
- { "label": "5月", "value": 530 },
1571
- { "label": "6月", "value": 510 }
1572
- ]
1573
- },
1574
- "相城区": {
1575
- "元和街道": [
1576
- { "label": "1月", "value": 560 },
1577
- { "label": "2月", "value": 530 },
1578
- { "label": "3月", "value": 590 },
1579
- { "label": "4月", "value": 620 },
1580
- { "label": "5月", "value": 650 },
1581
- { "label": "6月", "value": 630 }
1582
- ],
1583
- "黄桥街道": [
1584
- { "label": "1月", "value": 420 },
1585
- { "label": "2月", "value": 390 },
1586
- { "label": "3月", "value": 450 },
1587
- { "label": "4月", "value": 480 },
1588
- { "label": "5月", "value": 510 },
1589
- { "label": "6月", "value": 490 }
1590
- ],
1591
- "北桥街道": [
1592
- { "label": "1月", "value": 330 },
1593
- { "label": "2月", "value": 300 },
1594
- { "label": "3月", "value": 360 },
1595
- { "label": "4月", "value": 390 },
1596
- { "label": "5月", "value": 420 },
1597
- { "label": "6月", "value": 400 }
1598
- ],
1599
- "望亭街道": [
1600
- { "label": "1月", "value": 280 },
1601
- { "label": "2月", "value": 250 },
1602
- { "label": "3月", "value": 310 },
1603
- { "label": "4月", "value": 340 },
1604
- { "label": "5月", "value": 370 },
1605
- { "label": "6月", "value": 350 }
1606
- ]
1607
- }
1608
- }
1609
- },
1610
- "浙江": {
1611
- "杭州": {
1612
- "西湖区": {
1613
- "文新街道": [
1614
- { "label": "1月", "value": 670 },
1615
- { "label": "2月", "value": 630 },
1616
- { "label": "3月", "value": 700 },
1617
- { "label": "4月", "value": 730 },
1618
- { "label": "5月", "value": 760 },
1619
- { "label": "6月", "value": 740 }
1620
- ],
1621
- "古荡街道": [
1622
- { "label": "1月", "value": 560 },
1623
- { "label": "2月", "value": 530 },
1624
- { "label": "3月", "value": 590 },
1625
- { "label": "4月", "value": 620 },
1626
- { "label": "5月", "value": 650 },
1627
- { "label": "6月", "value": 630 }
1628
- ],
1629
- "北山街道": [
1630
- { "label": "1月", "value": 470 },
1631
- { "label": "2月", "value": 440 },
1632
- { "label": "3月", "value": 500 },
1633
- { "label": "4月", "value": 530 },
1634
- { "label": "5月", "value": 560 },
1635
- { "label": "6月", "value": 540 }
1636
- ],
1637
- "西溪街道": [
1638
- { "label": "1月", "value": 420 },
1639
- { "label": "2月", "value": 390 },
1640
- { "label": "3月", "value": 450 },
1641
- { "label": "4月", "value": 480 },
1642
- { "label": "5月", "value": 510 },
1643
- { "label": "6月", "value": 490 }
1644
- ]
1645
- },
1646
- "上城区": {
1647
- "湖滨街道": [
1648
- { "label": "1月", "value": 720 },
1649
- { "label": "2月", "value": 680 },
1650
- { "label": "3月", "value": 750 },
1651
- { "label": "4月", "value": 780 },
1652
- { "label": "5月", "value": 820 },
1653
- { "label": "6月", "value": 800 }
1654
- ],
1655
- "小营街道": [
1656
- { "label": "1月", "value": 580 },
1657
- { "label": "2月", "value": 540 },
1658
- { "label": "3月", "value": 600 },
1659
- { "label": "4月", "value": 630 },
1660
- { "label": "5月", "value": 660 },
1661
- { "label": "6月", "value": 640 }
1662
- ],
1663
- "望江街道": [
1664
- { "label": "1月", "value": 500 },
1665
- { "label": "2月", "value": 470 },
1666
- { "label": "3月", "value": 530 },
1667
- { "label": "4月", "value": 560 },
1668
- { "label": "5月", "value": 590 },
1669
- { "label": "6月", "value": 570 }
1670
- ],
1671
- "南星街道": [
1672
- { "label": "1月", "value": 440 },
1673
- { "label": "2月", "value": 410 },
1674
- { "label": "3月", "value": 470 },
1675
- { "label": "4月", "value": 500 },
1676
- { "label": "5月", "value": 530 },
1677
- { "label": "6月", "value": 510 }
1678
- ]
1679
- },
1680
- "下城区": {
1681
- "武林街道": [
1682
- { "label": "1月", "value": 700 },
1683
- { "label": "2月", "value": 660 },
1684
- { "label": "3月", "value": 730 },
1685
- { "label": "4月", "value": 760 },
1686
- { "label": "5月", "value": 800 },
1687
- { "label": "6月", "value": 780 }
1688
- ],
1689
- "长庆街道": [
1690
- { "label": "1月", "value": 530 },
1691
- { "label": "2月", "value": 500 },
1692
- { "label": "3月", "value": 560 },
1693
- { "label": "4月", "value": 590 },
1694
- { "label": "5月", "value": 620 },
1695
- { "label": "6月", "value": 600 }
1696
- ],
1697
- "潮鸣街道": [
1698
- { "label": "1月", "value": 440 },
1699
- { "label": "2月", "value": 410 },
1700
- { "label": "3月", "value": 470 },
1701
- { "label": "4月", "value": 500 },
1702
- { "label": "5月", "value": 530 },
1703
- { "label": "6月", "value": 510 }
1704
- ],
1705
- "朝晖街道": [
1706
- { "label": "1月", "value": 380 },
1707
- { "label": "2月", "value": 350 },
1708
- { "label": "3月", "value": 410 },
1709
- { "label": "4月", "value": 440 },
1710
- { "label": "5月", "value": 470 },
1711
- { "label": "6月", "value": 450 }
1712
- ]
1713
- }
1714
- },
1715
- "宁波": {
1716
- "海曙区": {
1717
- "鼓楼街道": [
1718
- { "label": "1月", "value": 640 },
1719
- { "label": "2月", "value": 600 },
1720
- { "label": "3月", "value": 670 },
1721
- { "label": "4月", "value": 700 },
1722
- { "label": "5月", "value": 740 },
1723
- { "label": "6月", "value": 720 }
1724
- ],
1725
- "月湖街道": [
1726
- { "label": "1月", "value": 530 },
1727
- { "label": "2月", "value": 500 },
1728
- { "label": "3月", "value": 560 },
1729
- { "label": "4月", "value": 590 },
1730
- { "label": "5月", "value": 620 },
1731
- { "label": "6月", "value": 600 }
1732
- ],
1733
- "南门街道": [
1734
- { "label": "1月", "value": 440 },
1735
- { "label": "2月", "value": 410 },
1736
- { "label": "3月", "value": 470 },
1737
- { "label": "4月", "value": 500 },
1738
- { "label": "5月", "value": 530 },
1739
- { "label": "6月", "value": 510 }
1740
- ],
1741
- "西门街道": [
1742
- { "label": "1月", "value": 380 },
1743
- { "label": "2月", "value": 350 },
1744
- { "label": "3月", "value": 410 },
1745
- { "label": "4月", "value": 440 },
1746
- { "label": "5月", "value": 470 },
1747
- { "label": "6月", "value": 450 }
1748
- ]
1749
- },
1750
- "江北区": {
1751
- "中马街道": [
1752
- { "label": "1月", "value": 580 },
1753
- { "label": "2月", "value": 540 },
1754
- { "label": "3月", "value": 600 },
1755
- { "label": "4月", "value": 630 },
1756
- { "label": "5月", "value": 660 },
1757
- { "label": "6月", "value": 640 }
1758
- ],
1759
- "白沙街道": [
1760
- { "label": "1月", "value": 470 },
1761
- { "label": "2月", "value": 440 },
1762
- { "label": "3月", "value": 500 },
1763
- { "label": "4月", "value": 530 },
1764
- { "label": "5月", "value": 560 },
1765
- { "label": "6月", "value": 540 }
1766
- ],
1767
- "孔浦街道": [
1768
- { "label": "1月", "value": 380 },
1769
- { "label": "2月", "value": 350 },
1770
- { "label": "3月", "value": 410 },
1771
- { "label": "4月", "value": 440 },
1772
- { "label": "5月", "value": 470 },
1773
- { "label": "6月", "value": 450 }
1774
- ],
1775
- "文教街道": [
1776
- { "label": "1月", "value": 330 },
1777
- { "label": "2月", "value": 300 },
1778
- { "label": "3月", "value": 360 },
1779
- { "label": "4月", "value": 390 },
1780
- { "label": "5月", "value": 420 },
1781
- { "label": "6月", "value": 400 }
1782
- ]
1783
- },
1784
- "鄞州区": {
1785
- "中河街道": [
1786
- { "label": "1月", "value": 610 },
1787
- { "label": "2月", "value": 580 },
1788
- { "label": "3月", "value": 640 },
1789
- { "label": "4月", "value": 670 },
1790
- { "label": "5月", "value": 700 },
1791
- { "label": "6月", "value": 680 }
1792
- ],
1793
- "首南街道": [
1794
- { "label": "1月", "value": 500 },
1795
- { "label": "2月", "value": 470 },
1796
- { "label": "3月", "value": 530 },
1797
- { "label": "4月", "value": 560 },
1798
- { "label": "5月", "value": 590 },
1799
- { "label": "6月", "value": 570 }
1800
- ],
1801
- "钟公庙街道": [
1802
- { "label": "1月", "value": 420 },
1803
- { "label": "2月", "value": 390 },
1804
- { "label": "3月", "value": 450 },
1805
- { "label": "4月", "value": 480 },
1806
- { "label": "5月", "value": 510 },
1807
- { "label": "6月", "value": 490 }
1808
- ],
1809
- "下应街道": [
1810
- { "label": "1月", "value": 360 },
1811
- { "label": "2月", "value": 330 },
1812
- { "label": "3月", "value": 390 },
1813
- { "label": "4月", "value": 420 },
1814
- { "label": "5月", "value": 450 },
1815
- { "label": "6月", "value": 430 }
1816
- ]
1817
- }
1818
- }
1819
- }
1820
- },
1821
- "year": {
1822
- "江苏": {
1823
- "南京": {
1824
- "鼓楼区": {
1825
- "南京鼓楼街道": [
1826
- { "label": "2020", "value": 8500 },
1827
- { "label": "2021", "value": 9200 },
1828
- { "label": "2022", "value": 9800 },
1829
- { "label": "2023", "value": 10500 },
1830
- { "label": "2024", "value": 11200 }
1831
- ],
1832
- "湖南路街道": [
1833
- { "label": "2020", "value": 7200 },
1834
- { "label": "2021", "value": 7800 },
1835
- { "label": "2022", "value": 8300 },
1836
- { "label": "2023", "value": 8900 },
1837
- { "label": "2024", "value": 9500 }
1838
- ],
1839
- "中央门街道": [
1840
- { "label": "2020", "value": 6100 },
1841
- { "label": "2021", "value": 6600 },
1842
- { "label": "2022", "value": 7000 },
1843
- { "label": "2023", "value": 7500 },
1844
- { "label": "2024", "value": 8000 }
1845
- ],
1846
- "挹江门街道": [
1847
- { "label": "2020", "value": 5200 },
1848
- { "label": "2021", "value": 5600 },
1849
- { "label": "2022", "value": 6000 },
1850
- { "label": "2023", "value": 6400 },
1851
- { "label": "2024", "value": 6800 }
1852
- ]
1853
- },
1854
- "玄武区": {
1855
- "新街口街道": [
1856
- { "label": "2020", "value": 9200 },
1857
- { "label": "2021", "value": 9900 },
1858
- { "label": "2022", "value": 10500 },
1859
- { "label": "2023", "value": 11200 },
1860
- { "label": "2024", "value": 12000 }
1861
- ],
1862
- "梅园新村街道": [
1863
- { "label": "2020", "value": 7900 },
1864
- { "label": "2021", "value": 8500 },
1865
- { "label": "2022", "value": 9000 },
1866
- { "label": "2023", "value": 9600 },
1867
- { "label": "2024", "value": 10200 }
1868
- ],
1869
- "锁金村街道": [
1870
- { "label": "2020", "value": 6800 },
1871
- { "label": "2021", "value": 7300 },
1872
- { "label": "2022", "value": 7800 },
1873
- { "label": "2023", "value": 8300 },
1874
- { "label": "2024", "value": 8800 }
1875
- ],
1876
- "孝陵卫街道": [
1877
- { "label": "2020", "value": 5800 },
1878
- { "label": "2021", "value": 6200 },
1879
- { "label": "2022", "value": 6700 },
1880
- { "label": "2023", "value": 7100 },
1881
- { "label": "2024", "value": 7600 }
1882
- ]
1883
- },
1884
- "秦淮区": {
1885
- "夫子庙街道": [
1886
- { "label": "2020", "value": 8400 },
1887
- { "label": "2021", "value": 9100 },
1888
- { "label": "2022", "value": 9700 },
1889
- { "label": "2023", "value": 10300 },
1890
- { "label": "2024", "value": 11000 }
1891
- ],
1892
- "朝天宫街道": [
1893
- { "label": "2020", "value": 6700 },
1894
- { "label": "2021", "value": 7200 },
1895
- { "label": "2022", "value": 7700 },
1896
- { "label": "2023", "value": 8200 },
1897
- { "label": "2024", "value": 8700 }
1898
- ],
1899
- "五老村街道": [
1900
- { "label": "2020", "value": 5600 },
1901
- { "label": "2021", "value": 6000 },
1902
- { "label": "2022", "value": 6500 },
1903
- { "label": "2023", "value": 6900 },
1904
- { "label": "2024", "value": 7400 }
1905
- ],
1906
- "双塘街道": [
1907
- { "label": "2020", "value": 5000 },
1908
- { "label": "2021", "value": 5400 },
1909
- { "label": "2022", "value": 5800 },
1910
- { "label": "2023", "value": 6200 },
1911
- { "label": "2024", "value": 6600 }
1912
- ]
1913
- }
1914
- },
1915
- "苏州": {
1916
- "工业园区": {
1917
- "娄葑街道": [
1918
- { "label": "2020", "value": 7600 },
1919
- { "label": "2021", "value": 8200 },
1920
- { "label": "2022", "value": 8800 },
1921
- { "label": "2023", "value": 9400 },
1922
- { "label": "2024", "value": 10000 }
1923
- ],
1924
- "斜塘街道": [
1925
- { "label": "2020", "value": 6300 },
1926
- { "label": "2021", "value": 6800 },
1927
- { "label": "2022", "value": 7300 },
1928
- { "label": "2023", "value": 7800 },
1929
- { "label": "2024", "value": 8300 }
1930
- ],
1931
- "唯亭街道": [
1932
- { "label": "2020", "value": 5200 },
1933
- { "label": "2021", "value": 5600 },
1934
- { "label": "2022", "value": 6000 },
1935
- { "label": "2023", "value": 6400 },
1936
- { "label": "2024", "value": 6800 }
1937
- ],
1938
- "胜浦街道": [
1939
- { "label": "2020", "value": 4500 },
1940
- { "label": "2021", "value": 4800 },
1941
- { "label": "2022", "value": 5200 },
1942
- { "label": "2023", "value": 5600 },
1943
- { "label": "2024", "value": 6000 }
1944
- ]
1945
- },
1946
- "姑苏区": {
1947
- "观前街道": [
1948
- { "label": "2020", "value": 9000 },
1949
- { "label": "2021", "value": 9700 },
1950
- { "label": "2022", "value": 10300 },
1951
- { "label": "2023", "value": 11000 },
1952
- { "label": "2024", "value": 11700 }
1953
- ],
1954
- "平江街道": [
1955
- { "label": "2020", "value": 7300 },
1956
- { "label": "2021", "value": 7900 },
1957
- { "label": "2022", "value": 8400 },
1958
- { "label": "2023", "value": 9000 },
1959
- { "label": "2024", "value": 9600 }
1960
- ],
1961
- "双塔街道": [
1962
- { "label": "2020", "value": 6000 },
1963
- { "label": "2021", "value": 6400 },
1964
- { "label": "2022", "value": 6900 },
1965
- { "label": "2023", "value": 7300 },
1966
- { "label": "2024", "value": 7800 }
1967
- ],
1968
- "沧浪街道": [
1969
- { "label": "2020", "value": 5300 },
1970
- { "label": "2021", "value": 5700 },
1971
- { "label": "2022", "value": 6100 },
1972
- { "label": "2023", "value": 6500 },
1973
- { "label": "2024", "value": 6900 }
1974
- ]
1975
- },
1976
- "相城区": {
1977
- "元和街道": [
1978
- { "label": "2020", "value": 6700 },
1979
- { "label": "2021", "value": 7200 },
1980
- { "label": "2022", "value": 7700 },
1981
- { "label": "2023", "value": 8200 },
1982
- { "label": "2024", "value": 8700 }
1983
- ],
1984
- "黄桥街道": [
1985
- { "label": "2020", "value": 5000 },
1986
- { "label": "2021", "value": 5400 },
1987
- { "label": "2022", "value": 5800 },
1988
- { "label": "2023", "value": 6200 },
1989
- { "label": "2024", "value": 6600 }
1990
- ],
1991
- "北桥街道": [
1992
- { "label": "2020", "value": 3900 },
1993
- { "label": "2021", "value": 4200 },
1994
- { "label": "2022", "value": 4600 },
1995
- { "label": "2023", "value": 5000 },
1996
- { "label": "2024", "value": 5400 }
1997
- ],
1998
- "望亭街道": [
1999
- { "label": "2020", "value": 3300 },
2000
- { "label": "2021", "value": 3600 },
2001
- { "label": "2022", "value": 4000 },
2002
- { "label": "2023", "value": 4400 },
2003
- { "label": "2024", "value": 4800 }
2004
- ]
2005
- }
2006
- }
2007
- },
2008
- "浙江": {
2009
- "杭州": {
2010
- "西湖区": {
2011
- "文新街道": [
2012
- { "label": "2020", "value": 8000 },
2013
- { "label": "2021", "value": 8600 },
2014
- { "label": "2022", "value": 9200 },
2015
- { "label": "2023", "value": 9800 },
2016
- { "label": "2024", "value": 10400 }
2017
- ],
2018
- "古荡街道": [
2019
- { "label": "2020", "value": 6700 },
2020
- { "label": "2021", "value": 7200 },
2021
- { "label": "2022", "value": 7700 },
2022
- { "label": "2023", "value": 8200 },
2023
- { "label": "2024", "value": 8700 }
2024
- ],
2025
- "北山街道": [
2026
- { "label": "2020", "value": 5600 },
2027
- { "label": "2021", "value": 6000 },
2028
- { "label": "2022", "value": 6500 },
2029
- { "label": "2023", "value": 6900 },
2030
- { "label": "2024", "value": 7400 }
2031
- ],
2032
- "西溪街道": [
2033
- { "label": "2020", "value": 5000 },
2034
- { "label": "2021", "value": 5400 },
2035
- { "label": "2022", "value": 5800 },
2036
- { "label": "2023", "value": 6200 },
2037
- { "label": "2024", "value": 6600 }
2038
- ]
2039
- },
2040
- "上城区": {
2041
- "湖滨街道": [
2042
- { "label": "2020", "value": 8600 },
2043
- { "label": "2021", "value": 9300 },
2044
- { "label": "2022", "value": 9900 },
2045
- { "label": "2023", "value": 10500 },
2046
- { "label": "2024", "value": 11200 }
2047
- ],
2048
- "小营街道": [
2049
- { "label": "2020", "value": 6900 },
2050
- { "label": "2021", "value": 7400 },
2051
- { "label": "2022", "value": 7900 },
2052
- { "label": "2023", "value": 8400 },
2053
- { "label": "2024", "value": 8900 }
2054
- ],
2055
- "望江街道": [
2056
- { "label": "2020", "value": 6000 },
2057
- { "label": "2021", "value": 6400 },
2058
- { "label": "2022", "value": 6900 },
2059
- { "label": "2023", "value": 7300 },
2060
- { "label": "2024", "value": 7800 }
2061
- ],
2062
- "南星街道": [
2063
- { "label": "2020", "value": 5300 },
2064
- { "label": "2021", "value": 5700 },
2065
- { "label": "2022", "value": 6100 },
2066
- { "label": "2023", "value": 6500 },
2067
- { "label": "2024", "value": 6900 }
2068
- ]
2069
- },
2070
- "下城区": {
2071
- "武林街道": [
2072
- { "label": "2020", "value": 8400 },
2073
- { "label": "2021", "value": 9100 },
2074
- { "label": "2022", "value": 9700 },
2075
- { "label": "2023", "value": 10300 },
2076
- { "label": "2024", "value": 11000 }
2077
- ],
2078
- "长庆街道": [
2079
- { "label": "2020", "value": 6300 },
2080
- { "label": "2021", "value": 6800 },
2081
- { "label": "2022", "value": 7300 },
2082
- { "label": "2023", "value": 7800 },
2083
- { "label": "2024", "value": 8300 }
2084
- ],
2085
- "潮鸣街道": [
2086
- { "label": "2020", "value": 5300 },
2087
- { "label": "2021", "value": 5700 },
2088
- { "label": "2022", "value": 6100 },
2089
- { "label": "2023", "value": 6500 },
2090
- { "label": "2024", "value": 6900 }
2091
- ],
2092
- "朝晖街道": [
2093
- { "label": "2020", "value": 4500 },
2094
- { "label": "2021", "value": 4800 },
2095
- { "label": "2022", "value": 5200 },
2096
- { "label": "2023", "value": 5600 },
2097
- { "label": "2024", "value": 6000 }
2098
- ]
2099
- }
2100
- },
2101
- "宁波": {
2102
- "海曙区": {
2103
- "鼓楼街道": [
2104
- { "label": "2020", "value": 7600 },
2105
- { "label": "2021", "value": 8200 },
2106
- { "label": "2022", "value": 8800 },
2107
- { "label": "2023", "value": 9400 },
2108
- { "label": "2024", "value": 10000 }
2109
- ],
2110
- "月湖街道": [
2111
- { "label": "2020", "value": 6300 },
2112
- { "label": "2021", "value": 6800 },
2113
- { "label": "2022", "value": 7300 },
2114
- { "label": "2023", "value": 7800 },
2115
- { "label": "2024", "value": 8300 }
2116
- ],
2117
- "南门街道": [
2118
- { "label": "2020", "value": 5300 },
2119
- { "label": "2021", "value": 5700 },
2120
- { "label": "2022", "value": 6100 },
2121
- { "label": "2023", "value": 6500 },
2122
- { "label": "2024", "value": 6900 }
2123
- ],
2124
- "西门街道": [
2125
- { "label": "2020", "value": 4500 },
2126
- { "label": "2021", "value": 4800 },
2127
- { "label": "2022", "value": 5200 },
2128
- { "label": "2023", "value": 5600 },
2129
- { "label": "2024", "value": 6000 }
2130
- ]
2131
- },
2132
- "江北区": {
2133
- "中马街道": [
2134
- { "label": "2020", "value": 6900 },
2135
- { "label": "2021", "value": 7400 },
2136
- { "label": "2022", "value": 7900 },
2137
- { "label": "2023", "value": 8400 },
2138
- { "label": "2024", "value": 8900 }
2139
- ],
2140
- "白沙街道": [
2141
- { "label": "2020", "value": 5600 },
2142
- { "label": "2021", "value": 6000 },
2143
- { "label": "2022", "value": 6500 },
2144
- { "label": "2023", "value": 6900 },
2145
- { "label": "2024", "value": 7400 }
2146
- ],
2147
- "孔浦街道": [
2148
- { "label": "2020", "value": 4500 },
2149
- { "label": "2021", "value": 4800 },
2150
- { "label": "2022", "value": 5200 },
2151
- { "label": "2023", "value": 5600 },
2152
- { "label": "2024", "value": 6000 }
2153
- ],
2154
- "文教街道": [
2155
- { "label": "2020", "value": 3900 },
2156
- { "label": "2021", "value": 4200 },
2157
- { "label": "2022", "value": 4600 },
2158
- { "label": "2023", "value": 5000 },
2159
- { "label": "2024", "value": 5400 }
2160
- ]
2161
- },
2162
- "鄞州区": {
2163
- "中河街道": [
2164
- { "label": "2020", "value": 7300 },
2165
- { "label": "2021", "value": 7900 },
2166
- { "label": "2022", "value": 8400 },
2167
- { "label": "2023", "value": 9000 },
2168
- { "label": "2024", "value": 9600 }
2169
- ],
2170
- "首南街道": [
2171
- { "label": "2020", "value": 6000 },
2172
- { "label": "2021", "value": 6400 },
2173
- { "label": "2022", "value": 6900 },
2174
- { "label": "2023", "value": 7300 },
2175
- { "label": "2024", "value": 7800 }
2176
- ],
2177
- "钟公庙街道": [
2178
- { "label": "2020", "value": 5000 },
2179
- { "label": "2021", "value": 5400 },
2180
- { "label": "2022", "value": 5800 },
2181
- { "label": "2023", "value": 6200 },
2182
- { "label": "2024", "value": 6600 }
2183
- ],
2184
- "下应街道": [
2185
- { "label": "2020", "value": 4300 },
2186
- { "label": "2021", "value": 4600 },
2187
- { "label": "2022", "value": 5000 },
2188
- { "label": "2023", "value": 5400 },
2189
- { "label": "2024", "value": 5800 }
2190
- ]
2191
- }
2192
- }
2193
- }
2194
- }
2195
- }
2196
- }
2197
- ```
2198
-
2199
- **说明:**
2200
- - 此配置包含4级级联筛选:省份 → 城市 → 区县 → 街道
2201
- - 时间粒度筛选支持:周、月、年三种维度
2202
- - 数据覆盖了江苏、浙江两个省份,每个省份2个城市,每个城市3个区县,每个区县4个街道,共48个街道的数据
2203
- - 周数据:显示周一到周日的患者数量
2204
- - 月数据:显示1-6月的患者数量
2205
- - 年数据:显示2020-2024年的患者数量
2206
- - 折线图配置了面积填充效果,符合图片中的视觉效果
2207
-
2208
- ---
2209
-
2210
- ## 高级配置
2211
-
2212
- ### 颜色渐变
2213
-
2214
- 当 `options.color` 为单个颜色字符串或长度为 1 的数组时,组件会自动生成渐变色数组:
2215
-
2216
- ```json
2217
- {
2218
- "type": "bar",
2219
- "options": {
2220
- "color": "#3362DA" // 自动生成渐变数组
2221
- }
2222
- }
2223
- ```
2224
-
2225
- 如果已提供多色数组,则直接使用:
2226
-
2227
- ```json
2228
- {
2229
- "type": "bar",
2230
- "options": {
2231
- "color": ["#3362DA", "#4C7CFF", "#6898FF"]
2232
- }
2233
- }
2234
- ```
2235
-
2236
- ### ECharts 原生配置合并
2237
-
2238
- `options` 中的配置会与预设配置深度合并:
2239
-
2240
- ```json
2241
- {
2242
- "type": "line",
2243
- "options": {
2244
- "color": "#FF6A00",
2245
- "legend": {
2246
- "show": true,
2247
- "top": 10
2248
- },
2249
- "grid": {
2250
- "top": 60,
2251
- "left": 80
2252
- },
2253
- "xAxis": {
2254
- "axisLabel": {
2255
- "rotate": 45
2256
- }
2257
- },
2258
- "series": [
2259
- {
2260
- "name": "自定义系列",
2261
- "type": "line"
2262
- }
2263
- ]
2264
- }
2265
- }
2266
- ```
2267
-
2268
- **合并规则:**
2269
-
2270
- - `xAxis.data`:如果用户配置为空数组或未定义,使用预设的 data
2271
- - `series`:会与预设 series 按索引深度合并
2272
- - 其他配置:直接覆盖预设
2273
-
2274
- ### 样式配置
2275
-
2276
- ```json
2277
- {
2278
- "xtitle": "图表标题",
2279
- "xtitleAttrs": {
2280
- "size": "small"
2281
- },
2282
- "style": {
2283
- "height": "400px",
2284
- "width": "100%"
2285
- }
2286
- }
2287
- ```
2288
-
2289
- ---
2290
-
2291
- ## 注意事项
2292
-
2293
- 1. **标题字段**:使用 `xtitle`,不是 `title`
2294
- 2. **数据格式**:所有图表类型的数据都必须是 `{ label, value }` 格式(`range-line` 还需要 `highField` 和 `lowField` 对应的字段)
2295
- 3. **筛选联动**:静态 `dataset` 的 key 必须与筛选器的 `value` 匹配
2296
- 4. **级联选项**:子级的 `options` 如果是对象,key 必须与父级选中值匹配
2297
- 5. **逻辑数据**:确保后端返回的数据能被 `transformData` 正确提取和转换
2298
-
2299
- ---
2300
-
2301
- ## 使用方式
2302
-
2303
- ### 方式 1:直接传入 config
2304
-
2305
- ```vue
2306
- <template>
2307
- <h-chart :config="chartConfig" />
2308
- </template>
2309
-
2310
- <script setup>
2311
- const chartConfig = {
2312
- type: 'bar',
2313
- xtitle: '示例图表',
2314
- dataset: [
2315
- { label: '一月', value: 100 }
2316
- ]
2317
- }
2318
- </script>
2319
- ```
2320
-
2321
- ### 方式 2:通过 queryParamsName 从后端获取
2322
-
2323
- ```vue
2324
- <template>
2325
- <h-chart
2326
- query-params-name="his.bar.chart.config.001"
2327
- service-name="af-his"
2328
- :fixed-query-form="{ condition: '1=1', orgId: currentOrgId }"
2329
- />
2330
- </template>
2331
- ```
2332
-
2333
- 后端返回的配置结构即为本文档描述的 JSON 格式。
2334
-
2335
- ---
2336
-
2337
- ## 总结
2338
-
2339
- `HChart` 组件通过灵活的配置组合,可以满足大部分图表展示需求:
2340
-
2341
- - **图表类型**:4 种预设类型,支持自定义扩展
2342
- - **筛选模式**:3 种筛选方式,可组合使用
2343
- - **数据模式**:静态数据或逻辑数据,自动适配
2344
- - **配置合并**:支持与 ECharts 原生配置深度合并
2345
-
2346
- 如有疑问,请参考组件源码或联系开发团队。
2347
-