vue2-client 1.18.29 → 1.18.30

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.
@@ -0,0 +1,2347 @@
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
+