-
+
-
-
+
-
-
-
+
+
-
-
-
-
- 行政执法
-
-
-
-
-
-
-
- 单独执法
-
-
- {{ coordination.singleNum.toLocaleString() }}
- {{ coordination.singlePer }}%
-
-
-
-
- {{ Math.abs(coordination.singleYoy) }}%
+
+
+
行政执法
+
+
+
+
+ {{ coordination.singleNum.toLocaleString() }}
+ {{ coordination.singlePer }}%
+
+
+
-
-
+
+
- 同比
-
-
- {{ Math.abs(coordination.singleRr) }}%
+ {{ Math.abs(coordination.singleYoy) }}%
+
+
+
+
+
- 环比
+ {{ Math.abs(coordination.singleRr) }}%
+
-
-
- 联合执法
-
-
- {{ coordination.unionNum.toLocaleString() }}
- {{ coordination.unionPer }}%
-
-
-
-
- {{ Math.abs(coordination.unionYoy) }}%
+
+
+
+
+ {{ coordination.unionNum.toLocaleString() }}
+ {{ coordination.unionPer }}%
+
+
+
-
-
+
+
- 同比
-
-
- {{ Math.abs(coordination.unionRr) }}%
+ {{ Math.abs(coordination.unionYoy) }}%
+
+
+
+
+
- 环比
+ {{ Math.abs(coordination.unionRr) }}%
+
-
-
-
- 被执法企业
-
-
- {{ enterprise.num.toLocaleString() }}
-
-
-
-
- {{ Math.abs(enterprise.yoy) }}%
+
+
+
+
+ {{ enterprise.num.toLocaleString() }}
+
+
+
-
-
+
+
- 同比
-
-
- {{ Math.abs(enterprise.rr) }}%
+ {{ Math.abs(enterprise.yoy) }}%
+
+
+
+
+
- 环比
+ {{ Math.abs(enterprise.rr) }}%
+
-
+
-
- 入企压减率
-
-
- {{ coordination.cutNum.toLocaleString() }}
-
-
-
+
- {{ coordination.cutPer }}%
-
+
+
+
-
+ {{ coordination.cutNum.toLocaleString() }}
+
+
+
+ {{ coordination.cutPer }}%
-
-
- 深圳市
-
+
+
+
-
+ 深圳市
+
-
+
-
-
行政执法
- {{ coordination.allNum.toLocaleString() }}
-
+
+
+
+
+
+
+
- {{ coordination.allNum.toLocaleString() }}
+
(市直:{{ sJcNum }}
- 各区:{{ qJcNum }})
+ 各区:{{ qJcNum.toLocaleString() }})
-
-
-
-
-
- 非行政执法
- {{ njcAll.toLocaleString() }}
-
+
+
+
+
+
{{ njcAll.toLocaleString() }}
+
(市直:{{ sNjcNum }}
- 各区:{{ qNjcNum }})
+ 各区:{{ qNjcNum.toLocaleString() }})
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
-
-
{{ config.name }}
- + +
+
+
- (行政执法总数:{{ districtData(config.name)?.allNum ?? 0 }})
+ -
+
- {{ districtData(config.name)?.singleNum ?? 0 }}{{ districtData(config.name)?.singlePer ?? '0.0' }}% +
- {{ districtData(config.name)?.unionNum ?? 0 }}{{ districtData(config.name)?.unionPer ?? '0.0' }}% +
- {{ districtData(config.name)?.cutNum ?? 0 }}{{ districtData(config.name)?.cutPer ?? '0.0' }}% +
- {{ districtData(config.name)?.entNum ?? 0 }} +
- {{ districtData(config.name)?.comNum ?? 0 }} +
-
-
-
- (行政执法总数:{{ districtData(config.name)?.allNum ?? 0 }})
-
- -
-
- - - {{ districtData(config.name)?.singleNum ?? 0 }} - {{ districtData(config.name)?.singlePer ?? '0.0' }}% - -
- - - {{ districtData(config.name)?.unionNum ?? 0 }} - {{ districtData(config.name)?.unionPer ?? '0.0' }}% - -
- - - {{ districtData(config.name)?.cutNum ?? 0 }} - {{ districtData(config.name)?.cutPer ?? '0.0' }}% - -
- - - {{ districtData(config.name)?.entNum ?? 0 }} - - -
- - - {{ districtData(config.name)?.comNum ?? 0 }} - - -
-
+
- (非行政执法总数:{{ districtData(config.name)?.njcNum ?? 0 }})
-
- -
-
- - - {{ getNonTypeVal(config.name, 'key_4', 'num') }} - {{ getNonTypeVal(config.name, 'key_4', 'per') }}% - -
- - - {{ getNonTypeVal(config.name, 'key_3', 'num') }} - {{ getNonTypeVal(config.name, 'key_3', 'per') }}% - -
- - - {{ getNonTypeVal(config.name, 'key_6', 'num') }} - {{ getNonTypeVal(config.name, 'key_6', 'per') }}% - -
- - - {{ getNonTypeVal(config.name, 'key_7', 'num') }} - {{ getNonTypeVal(config.name, 'key_7', 'per') }}% - -
- - - {{ getNonTypeVal(config.name, 'key_8', 'num') }} - {{ getNonTypeVal(config.name, 'key_8', 'per') }}% - -
-
-
- - - {{ getNonTypeVal(config.name, 'key_5', 'num') }} - {{ getNonTypeVal(config.name, 'key_5', 'per') }}% - -
- - - {{ getNonTypeVal(config.name, 'key_9', 'num') }} - {{ getNonTypeVal(config.name, 'key_9', 'per') }}% - -
- - - {{ getNonTypeVal(config.name, 'key_10', 'num') }} - {{ getNonTypeVal(config.name, 'key_10', 'per') }}% - -
- - - {{ getNonTypeVal(config.name, 'key_0', 'num') }} - {{ getNonTypeVal(config.name, 'key_0', 'per') }}% - -
+
(非行政执法总数:{{ districtData(config.name)?.njcNum ?? 0 }})
+ -
+
- {{ getNonTypeVal(config.name, 'key_4', 'num') }}{{ getNonTypeVal(config.name, 'key_4', 'per') }}% +
- {{ getNonTypeVal(config.name, 'key_3', 'num') }}{{ getNonTypeVal(config.name, 'key_3', 'per') }}% +
- {{ getNonTypeVal(config.name, 'key_6', 'num') }}{{ getNonTypeVal(config.name, 'key_6', 'per') }}% +
- {{ getNonTypeVal(config.name, 'key_7', 'num') }}{{ getNonTypeVal(config.name, 'key_7', 'per') }}% +
- {{ getNonTypeVal(config.name, 'key_8', 'num') }}{{ getNonTypeVal(config.name, 'key_8', 'per') }}% +
-
+
- {{ getNonTypeVal(config.name, 'key_5', 'num') }}{{ getNonTypeVal(config.name, 'key_5', 'per') }}% +
- {{ getNonTypeVal(config.name, 'key_9', 'num') }}{{ getNonTypeVal(config.name, 'key_9', 'per') }}% +
- {{ getNonTypeVal(config.name, 'key_10', 'num') }}{{ getNonTypeVal(config.name, 'key_10', 'per') }}% +
- {{ getNonTypeVal(config.name, 'key_0', 'num') }}{{ getNonTypeVal(config.name, 'key_0', 'per') }}% +
-
-
-
-
-
+
+
+
-
-
+
非行政执法
+
+
+
+
+ {{ item.num.toLocaleString() }}
-
-
-
- 非行政执法
+
+
+
@@ -337,7 +251,7 @@
diff --git a/zdxt-web-client/zdxt-admin-plus-ui/src/views/supervision/statistical/utils/chartOptions.ts b/zdxt-web-client/zdxt-admin-plus-ui/src/views/supervision/statistical/utils/chartOptions.ts
index 5d0b0660..1e57c4f0 100644
--- a/zdxt-web-client/zdxt-admin-plus-ui/src/views/supervision/statistical/utils/chartOptions.ts
+++ b/zdxt-web-client/zdxt-admin-plus-ui/src/views/supervision/statistical/utils/chartOptions.ts
@@ -15,7 +15,14 @@ export function getSmartMaxAndInterval(data1: number[], data2: number[], maxSpli
return { max: interval * maxSplits, interval };
}
+const ADMIN_PIE_COLORS = ['#2d6fcf', '#4fa0a8', '#5e9acc', '#b29f60', '#af5172', '#8a61d2', '#6f2c9b', '#9d7173', '#887456', '#9eac71'];
+const NON_ADMIN_PIE_COLORS = ['#7bb06c', '#489d61', '#4e97a6', '#3953d4', '#4e3ec5', '#6f2c9b', '#9d7173', '#887456', '#9eac71', '#8e5aac'];
+
export function buildAdminPieOption(data: { value: number; name: string }[]): EChartsOption {
+ const coloredData = data.map((item, index) => ({
+ ...item,
+ itemStyle: { color: ADMIN_PIE_COLORS[index % ADMIN_PIE_COLORS.length] }
+ }));
return {
tooltip: {
trigger: 'item',
@@ -32,14 +39,13 @@ export function buildAdminPieOption(data: { value: number; name: string }[]): EC
itemHeight: 6.5,
itemGap: 15
},
+ color: ADMIN_PIE_COLORS,
series: [
{
name: '行政执法类别数量及占比',
type: 'pie',
- color: ['#2d6fcf', '#4fa0a8', '#5e9acc', '#b29f60', '#af5172', '#8a61d2', '#6f2c9b', '#9d7173', '#887456', '#9eac71'],
radius: [52, 72],
center: ['50%', '50%'],
- padAngle: 2,
itemStyle: { borderRadius: 1 },
label: {
show: true,
@@ -51,13 +57,17 @@ export function buildAdminPieOption(data: { value: number; name: string }[]): EC
}
},
labelLine: { show: true, length: 20, length2: 5, smooth: 0 },
- data
+ data: coloredData
}
]
};
}
export function buildNonAdminPieOption(data: { value: number; name: string }[]): EChartsOption {
+ const coloredData = data.map((item, index) => ({
+ ...item,
+ itemStyle: { color: NON_ADMIN_PIE_COLORS[index % NON_ADMIN_PIE_COLORS.length] }
+ }));
return {
tooltip: {
trigger: 'item',
@@ -74,14 +84,13 @@ export function buildNonAdminPieOption(data: { value: number; name: string }[]):
itemHeight: 6.5,
itemGap: 15
},
+ color: NON_ADMIN_PIE_COLORS,
series: [
{
name: '非行政执法类别数量及占比',
type: 'pie',
- color: ['#7bb06c', '#489d61', '#4e97a6', '#3953d4', '#4e3ec5', '#6f2c9b', '#9d7173', '#887456', '#9eac71', '#8e5aac'],
radius: [52, 72],
center: ['50%', '40%'],
- padAngle: 2,
itemStyle: { borderRadius: 1 },
label: {
show: true,
@@ -92,8 +101,8 @@ export function buildNonAdminPieOption(data: { value: number; name: string }[]):
d: { color: '#3aaefb', fontSize: 12 }
}
},
- labelLine: { show: true, length: 20, length2: 5, smooth: 0 },
- data
+ labelLine: { show: true, length: 20, length2: 5, smooth: 0 ,maxSurfaceAngle: 80 },
+ data: coloredData
}
]
};