create-young-proj 1.7.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +95 -1
- package/README.md +6 -1
- package/dist/index.mjs +19 -19
- package/package.json +1 -1
- package/src/index.ts +6 -1
- package/template-admin-server/src/service/role.service.ts +5 -3
- package/template-big-screen/.editorconfig +14 -0
- package/template-big-screen/.nvmrc +1 -0
- package/template-big-screen/.vscode/extensions.json +12 -0
- package/template-big-screen/.vscode/settings.json +39 -0
- package/template-big-screen/Dockerfile +49 -0
- package/template-big-screen/README.md +20 -0
- package/template-big-screen/_gitignore +23 -0
- package/template-big-screen/_npmrc +2 -0
- package/template-big-screen/_nvmrc +1 -0
- package/template-big-screen/boot.mjs +16 -0
- package/template-big-screen/config/.devrc +1 -0
- package/template-big-screen/config/.onlinerc +1 -0
- package/template-big-screen/config/.testrc +1 -0
- package/template-big-screen/eslint.config.js +34 -0
- package/template-big-screen/index.html +48 -0
- package/template-big-screen/nitro.config.ts +23 -0
- package/template-big-screen/package.json +66 -0
- package/template-big-screen/plugins/init.ts +57 -0
- package/template-big-screen/public/favicon.svg +3 -0
- package/template-big-screen/routes/api/[...all].ts +19 -0
- package/template-big-screen/routes/get/env.ts +13 -0
- package/template-big-screen/src/App.vue +24 -0
- package/template-big-screen/src/apis/get.ts +77 -0
- package/template-big-screen/src/apis/index.ts +53 -0
- package/template-big-screen/src/apis/post.ts +14 -0
- package/template-big-screen/src/assets/data/china.json +1 -0
- package/template-big-screen/src/components/YoungCountUp.vue +29 -0
- package/template-big-screen/src/components/YoungECharts/config.ts +56 -0
- package/template-big-screen/src/components/YoungECharts/index.vue +111 -0
- package/template-big-screen/src/components/YoungHeader.vue +54 -0
- package/template-big-screen/src/components/YoungSectionContainer.vue +55 -0
- package/template-big-screen/src/components/YoungSectionHeader.vue +23 -0
- package/template-big-screen/src/composables/breakPoint.ts +20 -0
- package/template-big-screen/src/composables/dark.ts +52 -0
- package/template-big-screen/src/composables/echarts.ts +17 -0
- package/template-big-screen/src/composables/loadData.ts +38 -0
- package/template-big-screen/src/directives/ellipsis.ts +20 -0
- package/template-big-screen/src/directives/index.ts +13 -0
- package/template-big-screen/src/enums/breakpointEnum.ts +9 -0
- package/template-big-screen/src/layouts/404.vue +19 -0
- package/template-big-screen/src/layouts/blank.vue +9 -0
- package/template-big-screen/src/layouts/default.vue +17 -0
- package/template-big-screen/src/main.ts +59 -0
- package/template-big-screen/src/modules/index.ts +8 -0
- package/template-big-screen/src/modules/pinia.ts +11 -0
- package/template-big-screen/src/modules/router.ts +28 -0
- package/template-big-screen/src/pages/[...all].vue +16 -0
- package/template-big-screen/src/pages/electricity/build.vue +135 -0
- package/template-big-screen/src/pages/electricity/reliability.vue +137 -0
- package/template-big-screen/src/pages/electricity/sale-and-cost.vue +158 -0
- package/template-big-screen/src/pages/index.vue +59 -0
- package/template-big-screen/src/pages/kpi.vue +129 -0
- package/template-big-screen/src/pages/manage-improve.vue +114 -0
- package/template-big-screen/src/pages/social/condition.vue +202 -0
- package/template-big-screen/src/pages/social/electricity-usage.vue +140 -0
- package/template-big-screen/src/styles/index.scss +82 -0
- package/template-big-screen/tsconfig.json +38 -0
- package/template-big-screen/types/auto-imports.d.ts +949 -0
- package/template-big-screen/types/components.d.ts +19 -0
- package/template-big-screen/types/echarts.d.ts +36 -0
- package/template-big-screen/types/index.d.ts +45 -0
- package/template-big-screen/types/type.d.ts +38 -0
- package/template-big-screen/uno.config.ts +68 -0
- package/template-big-screen/vite.config.ts +131 -0
- package/template-big-screen/yarn.lock +7443 -0
- package/template-nuxt-admin/README.md +3 -3
- package/template-nuxt-admin/boot.mjs +4 -1
- package/template-nuxt-admin/composables/config.ts +2 -2
- package/template-nuxt-admin/config/.devrc +1 -1
- package/template-nuxt-admin/config/.onlinerc +1 -1
- package/template-nuxt-admin/config/.testrc +1 -1
- package/template-nuxt-admin/nuxt.config.ts +14 -5
- package/template-nuxt-admin/package.json +12 -11
- package/template-nuxt-admin/pages/system/api.vue +6 -6
- package/template-nuxt-admin/pages/system/role.vue +4 -4
- package/template-nuxt-admin/pages/system/user.vue +4 -4
- package/template-nuxt-admin/server/api/[...all].ts +10 -3
- package/template-nuxt-admin/server/plugins/env.ts +5 -4
- package/template-nuxt-admin/uno.config.ts +1 -9
- package/template-nuxt-admin/yarn.lock +3659 -3363
- package/template-nuxt-mobile/package.json +1 -0
- package/template-nuxt-mobile/server/utils/proxy.ts +1 -30
- package/template-nuxt-mobile/yarn.lock +9 -0
- package/template-nuxt-website/package.json +1 -0
- package/template-nuxt-website/server/utils/proxy.ts +1 -30
- package/template-nuxt-website/yarn.lock +9 -0
- package/template-nuxt-admin/server/utils/index.ts +0 -36
@@ -0,0 +1,137 @@
|
|
1
|
+
<!--
|
2
|
+
* @Author: zhangyang
|
3
|
+
* @Date: 2024-02-02 14:48:13
|
4
|
+
* @LastEditTime: 2024-02-02 14:48:14
|
5
|
+
* @Description:
|
6
|
+
-->
|
7
|
+
<script setup lang='ts'>
|
8
|
+
import echarts from '~/components/YoungECharts/config'
|
9
|
+
|
10
|
+
const { data, options } = useLoadData<IGridReliability>(apis.get.getGridReliability, (res) => {
|
11
|
+
return {
|
12
|
+
title: {
|
13
|
+
text: '管理提升',
|
14
|
+
textStyle: {
|
15
|
+
color: '#aed3dd',
|
16
|
+
fontSize: 12,
|
17
|
+
width: 250,
|
18
|
+
overflow: 'break',
|
19
|
+
},
|
20
|
+
left: 'center',
|
21
|
+
},
|
22
|
+
grid: {
|
23
|
+
left: '0%',
|
24
|
+
right: '0%',
|
25
|
+
bottom: '0%',
|
26
|
+
top: '30%',
|
27
|
+
containLabel: true,
|
28
|
+
},
|
29
|
+
xAxis: {
|
30
|
+
type: 'category',
|
31
|
+
data: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'],
|
32
|
+
},
|
33
|
+
yAxis: {
|
34
|
+
type: 'value',
|
35
|
+
},
|
36
|
+
legend: {
|
37
|
+
show: true,
|
38
|
+
itemHeight: 12,
|
39
|
+
itemWidth: 12,
|
40
|
+
itemGap: 6,
|
41
|
+
textStyle: {
|
42
|
+
fontSize: 10,
|
43
|
+
color: '#92b1bb',
|
44
|
+
},
|
45
|
+
top: '12%',
|
46
|
+
},
|
47
|
+
series: [
|
48
|
+
{
|
49
|
+
data: res.data1,
|
50
|
+
type: 'bar',
|
51
|
+
name: 'XX可靠性',
|
52
|
+
itemStyle: {
|
53
|
+
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
54
|
+
{
|
55
|
+
offset: 0,
|
56
|
+
color: '#2797f7',
|
57
|
+
},
|
58
|
+
{
|
59
|
+
offset: 1,
|
60
|
+
color: '#3e3f7e',
|
61
|
+
},
|
62
|
+
]),
|
63
|
+
},
|
64
|
+
},
|
65
|
+
{
|
66
|
+
data: res.data2,
|
67
|
+
type: 'bar',
|
68
|
+
name: '售电及线损',
|
69
|
+
itemStyle: {
|
70
|
+
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
71
|
+
{
|
72
|
+
offset: 0,
|
73
|
+
color: '#b8429c',
|
74
|
+
},
|
75
|
+
{
|
76
|
+
offset: 1,
|
77
|
+
color: '#412557',
|
78
|
+
},
|
79
|
+
]),
|
80
|
+
},
|
81
|
+
},
|
82
|
+
],
|
83
|
+
}
|
84
|
+
})
|
85
|
+
</script>
|
86
|
+
|
87
|
+
<template>
|
88
|
+
<div v-if="data" class="h-full flex flex-col">
|
89
|
+
<YoungSectionHeader index="5" title="XX可靠性" />
|
90
|
+
<div class="h-full flex flex-1 py-4">
|
91
|
+
<div class="h-full w-50% center">
|
92
|
+
<YoungECharts :options="options" width="250px" height="200px" />
|
93
|
+
</div>
|
94
|
+
<YoungSectionContainer right>
|
95
|
+
<div class="h-full between">
|
96
|
+
<div class="w-full text-left">
|
97
|
+
<div class="between">
|
98
|
+
<div>
|
99
|
+
<div v-ellipsis>
|
100
|
+
本月1000KV线路跳闸条次
|
101
|
+
</div>
|
102
|
+
<div class="center-y">
|
103
|
+
<YoungCountUp :count="data?.values?.[0]" />
|
104
|
+
<div>次</div>
|
105
|
+
</div>
|
106
|
+
</div>
|
107
|
+
</div>
|
108
|
+
<div class="between py-2">
|
109
|
+
<div>
|
110
|
+
<div v-ellipsis>
|
111
|
+
500KV系统设备跳闸事件数
|
112
|
+
</div>
|
113
|
+
<div class="center-y">
|
114
|
+
<YoungCountUp :count="data?.values?.[1]" />
|
115
|
+
<div>起</div>
|
116
|
+
</div>
|
117
|
+
</div>
|
118
|
+
</div>
|
119
|
+
<div class="between">
|
120
|
+
<div>
|
121
|
+
<div v-ellipsis>
|
122
|
+
300MW及以上跳闸次数
|
123
|
+
</div>
|
124
|
+
<div class="center-y">
|
125
|
+
<YoungCountUp :count="data?.values?.[2]" />
|
126
|
+
<div>台次</div>
|
127
|
+
</div>
|
128
|
+
</div>
|
129
|
+
</div>
|
130
|
+
</div>
|
131
|
+
</div>
|
132
|
+
</YoungSectionContainer>
|
133
|
+
</div>
|
134
|
+
</div>
|
135
|
+
</template>
|
136
|
+
|
137
|
+
<style scoped lang="scss"></style>
|
@@ -0,0 +1,158 @@
|
|
1
|
+
<!--
|
2
|
+
* @Author: zhangyang
|
3
|
+
* @Date: 2024-02-02 14:49:50
|
4
|
+
* @LastEditTime: 2024-05-30 18:47:09
|
5
|
+
* @Description:
|
6
|
+
-->
|
7
|
+
<script setup lang='ts'>
|
8
|
+
import echarts from '~/components/YoungECharts/config'
|
9
|
+
|
10
|
+
const { data, options } = useLoadData(apis.get.getSalesOfElectricityAndLineLoss, (res) => {
|
11
|
+
return {
|
12
|
+
color: ['#80FFA5', '#00DDFF'],
|
13
|
+
title: {
|
14
|
+
text: '全网线损率',
|
15
|
+
left: 'center',
|
16
|
+
textStyle: {
|
17
|
+
fontSize: '12px',
|
18
|
+
width: 250,
|
19
|
+
overflow: 'break',
|
20
|
+
color: '#aed3dd',
|
21
|
+
},
|
22
|
+
},
|
23
|
+
tooltip: {
|
24
|
+
trigger: 'axis',
|
25
|
+
axisPointer: {
|
26
|
+
type: 'cross',
|
27
|
+
label: {
|
28
|
+
backgroundColor: '#6a7985',
|
29
|
+
},
|
30
|
+
},
|
31
|
+
},
|
32
|
+
legend: {
|
33
|
+
show: false,
|
34
|
+
},
|
35
|
+
grid: {
|
36
|
+
left: '3%',
|
37
|
+
right: '4%',
|
38
|
+
bottom: '3%',
|
39
|
+
top: '15%',
|
40
|
+
containLabel: true,
|
41
|
+
},
|
42
|
+
xAxis: [
|
43
|
+
{
|
44
|
+
type: 'category',
|
45
|
+
boundaryGap: false,
|
46
|
+
data: ['福建', '浙江', '安徽', '上海', '江苏'],
|
47
|
+
},
|
48
|
+
],
|
49
|
+
yAxis: [
|
50
|
+
{
|
51
|
+
type: 'value',
|
52
|
+
},
|
53
|
+
],
|
54
|
+
series: [
|
55
|
+
{
|
56
|
+
name: '网损率',
|
57
|
+
type: 'line',
|
58
|
+
stack: 'Total',
|
59
|
+
smooth: true,
|
60
|
+
lineStyle: {
|
61
|
+
width: 0,
|
62
|
+
},
|
63
|
+
showSymbol: false,
|
64
|
+
areaStyle: {
|
65
|
+
opacity: 0.8,
|
66
|
+
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
67
|
+
{
|
68
|
+
offset: 0,
|
69
|
+
color: 'rgb(128, 255, 165)',
|
70
|
+
},
|
71
|
+
{
|
72
|
+
offset: 1,
|
73
|
+
color: 'rgb(1, 191, 236)',
|
74
|
+
},
|
75
|
+
]),
|
76
|
+
},
|
77
|
+
emphasis: {
|
78
|
+
focus: 'series',
|
79
|
+
},
|
80
|
+
data: res.data1,
|
81
|
+
},
|
82
|
+
{
|
83
|
+
name: '增长率',
|
84
|
+
type: 'line',
|
85
|
+
stack: 'Total',
|
86
|
+
smooth: true,
|
87
|
+
lineStyle: {
|
88
|
+
width: 0,
|
89
|
+
},
|
90
|
+
showSymbol: false,
|
91
|
+
areaStyle: {
|
92
|
+
opacity: 0.8,
|
93
|
+
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
94
|
+
{
|
95
|
+
offset: 0,
|
96
|
+
color: 'rgb(0, 221, 255)',
|
97
|
+
},
|
98
|
+
{
|
99
|
+
offset: 1,
|
100
|
+
color: 'rgb(77, 119, 255)',
|
101
|
+
},
|
102
|
+
]),
|
103
|
+
},
|
104
|
+
emphasis: {
|
105
|
+
focus: 'series',
|
106
|
+
},
|
107
|
+
data: res.data2,
|
108
|
+
},
|
109
|
+
],
|
110
|
+
}
|
111
|
+
})
|
112
|
+
</script>
|
113
|
+
|
114
|
+
<template>
|
115
|
+
<div v-if="data" class="h-full flex flex-col">
|
116
|
+
<YoungSectionHeader index="6" title="售电及线损" />
|
117
|
+
<div class="h-full flex flex-1 py-4">
|
118
|
+
<div class="h-full w-50% center">
|
119
|
+
<YoungECharts :options="options" width="250px" height="200px" />
|
120
|
+
</div>
|
121
|
+
<YoungSectionContainer right>
|
122
|
+
<div class="h-full between">
|
123
|
+
<div class="w-full text-left">
|
124
|
+
<div class="between">
|
125
|
+
<div>
|
126
|
+
<div v-ellipsis>
|
127
|
+
XXXX计划售电量
|
128
|
+
</div>
|
129
|
+
<YoungCountUp :count="data?.values?.[0]" />
|
130
|
+
</div>
|
131
|
+
<YoungCountUp :count="data?.increment?.[`0`]" showfix :decimal-places="1" />
|
132
|
+
</div>
|
133
|
+
<div class="between py-2">
|
134
|
+
<div>
|
135
|
+
<div v-ellipsis>
|
136
|
+
本月全网售电量
|
137
|
+
</div>
|
138
|
+
<YoungCountUp :count="data?.values?.[1]" />
|
139
|
+
</div>
|
140
|
+
<YoungCountUp :count="data?.increment?.[`1`]" showfix :decimal-places="1" />
|
141
|
+
</div>
|
142
|
+
<div class="between">
|
143
|
+
<div>
|
144
|
+
<div v-ellipsis>
|
145
|
+
全网线损率
|
146
|
+
</div>
|
147
|
+
<YoungCountUp :count="data?.values?.[2]" />
|
148
|
+
</div>
|
149
|
+
<YoungCountUp :count="data?.increment?.[`2`]" showfix :decimal-places="1" />
|
150
|
+
</div>
|
151
|
+
</div>
|
152
|
+
</div>
|
153
|
+
</YoungSectionContainer>
|
154
|
+
</div>
|
155
|
+
</div>
|
156
|
+
</template>
|
157
|
+
|
158
|
+
<style scoped lang="scss"></style>
|
@@ -0,0 +1,59 @@
|
|
1
|
+
<!--
|
2
|
+
* @Author: zhangyang
|
3
|
+
* @Date: 2024-02-02 14:34:34
|
4
|
+
* @LastEditTime: 2024-02-02 15:01:19
|
5
|
+
* @Description:
|
6
|
+
-->
|
7
|
+
<route lang="yaml">
|
8
|
+
meta:
|
9
|
+
layout: blank
|
10
|
+
</route>
|
11
|
+
|
12
|
+
<script setup lang="ts">
|
13
|
+
import SocialCondition from './social/condition.vue'
|
14
|
+
import ElectricityBuild from './electricity/build.vue'
|
15
|
+
import SocialElectricityUsage from './social/electricity-usage.vue'
|
16
|
+
import Kpi from './kpi.vue'
|
17
|
+
import ManageImprove from './manage-improve.vue'
|
18
|
+
import ElectricityReliability from './electricity/reliability.vue'
|
19
|
+
import SaleAndCost from './electricity/sale-and-cost.vue'
|
20
|
+
</script>
|
21
|
+
|
22
|
+
<template>
|
23
|
+
<div class="box-border h-full flex flex-col overflow-hidden px-20 text">
|
24
|
+
<YoungHeader class="relative -top-3" />
|
25
|
+
<div class="relative flex-1 text-[#00706c] -top-1 dark:text-[--text-color]">
|
26
|
+
<DvBorderBox12>
|
27
|
+
<div class="grid grid-cols-16 h-full px-6 py-4">
|
28
|
+
<div class="grid col-span-5 grid-rows-3 h-full">
|
29
|
+
<RouterLink to="/social/condition">
|
30
|
+
<SocialCondition />
|
31
|
+
</RouterLink>
|
32
|
+
<RouterLink to="/electricity/build">
|
33
|
+
<ElectricityBuild />
|
34
|
+
</RouterLink>
|
35
|
+
<RouterLink to="/social/electricity-usage">
|
36
|
+
<SocialElectricityUsage />
|
37
|
+
</RouterLink>
|
38
|
+
</div>
|
39
|
+
<div class="col-span-6">
|
40
|
+
<RouterLink to="/kpi">
|
41
|
+
<Kpi />
|
42
|
+
</RouterLink>
|
43
|
+
</div>
|
44
|
+
<div class="grid col-span-5 grid-rows-3 h-full">
|
45
|
+
<RouterLink to="/manage-improve">
|
46
|
+
<ManageImprove />
|
47
|
+
</RouterLink>
|
48
|
+
<RouterLink to="/electricity/reliability">
|
49
|
+
<ElectricityReliability />
|
50
|
+
</RouterLink>
|
51
|
+
<RouterLink to="/electricity/sale-and-cost">
|
52
|
+
<SaleAndCost />
|
53
|
+
</RouterLink>
|
54
|
+
</div>
|
55
|
+
</div>
|
56
|
+
</DvBorderBox12>
|
57
|
+
</div>
|
58
|
+
</div>
|
59
|
+
</template>
|
@@ -0,0 +1,129 @@
|
|
1
|
+
<!--
|
2
|
+
* @Author: zhangyang
|
3
|
+
* @Date: 2024-02-02 14:45:20
|
4
|
+
* @LastEditTime: 2024-02-02 14:45:20
|
5
|
+
* @Description:
|
6
|
+
-->
|
7
|
+
<script setup lang='ts'>
|
8
|
+
import echarts from '~/components/YoungECharts/config'
|
9
|
+
import mapJson from '~/assets/data/china.json'
|
10
|
+
|
11
|
+
const { options, setOptions } = useEcharts()
|
12
|
+
|
13
|
+
const province = ['安徽', '福建', '江苏', '浙江']
|
14
|
+
|
15
|
+
onMounted(() => {
|
16
|
+
mapJson.features.forEach((item, index) => {
|
17
|
+
item.properties.name = province[index]
|
18
|
+
})
|
19
|
+
echarts.registerMap('CN', mapJson as any)
|
20
|
+
|
21
|
+
setOptions({
|
22
|
+
xAxis: { show: false },
|
23
|
+
yAxis: { show: false },
|
24
|
+
series: [
|
25
|
+
{
|
26
|
+
type: 'map',
|
27
|
+
map: 'CN',
|
28
|
+
roam: false,
|
29
|
+
aspectScale: 1,
|
30
|
+
zoom: 1.2,
|
31
|
+
selectedMode: false,
|
32
|
+
label: {
|
33
|
+
show: true,
|
34
|
+
color: '#1cd8f5',
|
35
|
+
fontSize: 16,
|
36
|
+
},
|
37
|
+
emphasis: {
|
38
|
+
label: { color: '#1cd8f5' },
|
39
|
+
itemStyle: {
|
40
|
+
areaColor: isDark.value ? '#0b2035' : '#5db5b2',
|
41
|
+
},
|
42
|
+
},
|
43
|
+
itemStyle: {
|
44
|
+
areaColor: isDark.value ? '#101d2c' : '5db5b2',
|
45
|
+
borderColor: '#01c7e3',
|
46
|
+
},
|
47
|
+
},
|
48
|
+
],
|
49
|
+
})
|
50
|
+
})
|
51
|
+
|
52
|
+
watch(isDark, () => {
|
53
|
+
mapJson.features.forEach((item, index) => {
|
54
|
+
item.properties.name = province[index]
|
55
|
+
})
|
56
|
+
echarts.registerMap('CN', mapJson as any)
|
57
|
+
|
58
|
+
setOptions({
|
59
|
+
xAxis: { show: false },
|
60
|
+
yAxis: { show: false },
|
61
|
+
series: [
|
62
|
+
{
|
63
|
+
type: 'map',
|
64
|
+
map: 'CN',
|
65
|
+
roam: false,
|
66
|
+
aspectScale: 1,
|
67
|
+
zoom: 1.2,
|
68
|
+
selectedMode: false,
|
69
|
+
label: {
|
70
|
+
show: true,
|
71
|
+
color: isDark.value ? '#1cd8f5' : '#fff',
|
72
|
+
fontSize: 16,
|
73
|
+
},
|
74
|
+
emphasis: {
|
75
|
+
label: { color: isDark.value ? '#1cd8f5' : '#ddd' },
|
76
|
+
itemStyle: {
|
77
|
+
areaColor: isDark.value ? '#0b2035' : '#75d4d1',
|
78
|
+
},
|
79
|
+
},
|
80
|
+
itemStyle: {
|
81
|
+
areaColor: isDark.value ? '#101d2c' : '#5db5b2',
|
82
|
+
borderColor: isDark.value ? '#01c7e3' : '#fefefe',
|
83
|
+
},
|
84
|
+
},
|
85
|
+
],
|
86
|
+
})
|
87
|
+
})
|
88
|
+
</script>
|
89
|
+
|
90
|
+
<template>
|
91
|
+
<div class="h-full center">
|
92
|
+
<div class="h-full w-90% flex flex-col">
|
93
|
+
<div class="contanier-border">
|
94
|
+
<div />
|
95
|
+
<div />
|
96
|
+
<div />
|
97
|
+
<div />
|
98
|
+
<div class="w-full center text-base">
|
99
|
+
运营关键指标
|
100
|
+
</div>
|
101
|
+
</div>
|
102
|
+
<dv-border-box12 :color="['#5893a6', '#ffda67']" :background-color="isDark ? '#1c3b4b' : '#f9f9f9'" class="my-4 h-full center flex-1">
|
103
|
+
<YoungECharts width="100%" height="100%" :options="options" />
|
104
|
+
</dv-border-box12>
|
105
|
+
</div>
|
106
|
+
</div>
|
107
|
+
</template>
|
108
|
+
|
109
|
+
<style scoped lang="scss">
|
110
|
+
.contanier-border{
|
111
|
+
--uno:relative px-2 py-4 text-sm w-full border-1 border-solid border-[#5893a6] ;
|
112
|
+
|
113
|
+
> div:nth-child(1){
|
114
|
+
--uno:h-1.5 w-1.5 bg-[#ffda67] absolute top-0 left-0 ;
|
115
|
+
}
|
116
|
+
|
117
|
+
> div:nth-child(2){
|
118
|
+
--uno:h-1.5 w-1.5 bg-[#ffda67] absolute top-0 right-0 ;
|
119
|
+
}
|
120
|
+
|
121
|
+
> div:nth-child(3){
|
122
|
+
--uno:h-1.5 w-1.5 bg-[#ffda67] absolute bottom-0 left-0 ;
|
123
|
+
}
|
124
|
+
|
125
|
+
> div:nth-child(4){
|
126
|
+
--uno:h-1.5 w-1.5 bg-[#ffda67] absolute bottom-0 right-0 ;
|
127
|
+
}
|
128
|
+
}
|
129
|
+
</style>
|
@@ -0,0 +1,114 @@
|
|
1
|
+
<!--
|
2
|
+
* @Author: zhangyang
|
3
|
+
* @Date: 2024-02-02 14:46:46
|
4
|
+
* @LastEditTime: 2024-02-02 14:46:47
|
5
|
+
* @Description:
|
6
|
+
-->
|
7
|
+
<script setup lang='ts'>
|
8
|
+
const { options, data } = useLoadData<IManagementImprovement>(apis.get.getManagementImprovement, (res) => {
|
9
|
+
return {
|
10
|
+
grid: {
|
11
|
+
left: '2%',
|
12
|
+
right: '4%',
|
13
|
+
top: '0%',
|
14
|
+
bottom: '0%',
|
15
|
+
containLabel: true,
|
16
|
+
},
|
17
|
+
series: [
|
18
|
+
{
|
19
|
+
type: 'gauge',
|
20
|
+
radius: '90%',
|
21
|
+
axisLine: {
|
22
|
+
lineStyle: {
|
23
|
+
width: 10,
|
24
|
+
color: [
|
25
|
+
[0.3, '#fe6b93'],
|
26
|
+
[0.7, '#12c4fd'],
|
27
|
+
[1, '#9851eb'],
|
28
|
+
],
|
29
|
+
},
|
30
|
+
},
|
31
|
+
pointer: {
|
32
|
+
itemStyle: {
|
33
|
+
color: 'auto',
|
34
|
+
},
|
35
|
+
},
|
36
|
+
axisTick: {
|
37
|
+
distance: -10,
|
38
|
+
lineStyle: {
|
39
|
+
color: '#173950',
|
40
|
+
width: 1,
|
41
|
+
},
|
42
|
+
},
|
43
|
+
splitLine: {
|
44
|
+
distance: -5,
|
45
|
+
length: 5,
|
46
|
+
lineStyle: {
|
47
|
+
color: '#173950',
|
48
|
+
width: 1,
|
49
|
+
},
|
50
|
+
},
|
51
|
+
axisLabel: {
|
52
|
+
color: 'inherit',
|
53
|
+
distance: 20,
|
54
|
+
fontSize: 12,
|
55
|
+
},
|
56
|
+
detail: {
|
57
|
+
valueAnimation: true,
|
58
|
+
formatter: '{value} %',
|
59
|
+
color: 'inherit',
|
60
|
+
fontSize: 16,
|
61
|
+
offsetCenter: [0, '70%'],
|
62
|
+
},
|
63
|
+
title: {
|
64
|
+
color: 'inherit',
|
65
|
+
offsetCenter: [0, '40%'],
|
66
|
+
},
|
67
|
+
data: [
|
68
|
+
{
|
69
|
+
value: res.data,
|
70
|
+
name: '可用率',
|
71
|
+
},
|
72
|
+
],
|
73
|
+
},
|
74
|
+
],
|
75
|
+
}
|
76
|
+
})
|
77
|
+
</script>
|
78
|
+
|
79
|
+
<template>
|
80
|
+
<div v-if="data" class="h-full flex flex-col">
|
81
|
+
<YoungSectionHeader title="管理提升" index="4" />
|
82
|
+
<div class="h-full flex flex-1 py-4">
|
83
|
+
<div class="h-full w-50% center">
|
84
|
+
<YoungECharts :options="options" width="250px" height="200px" />
|
85
|
+
</div>
|
86
|
+
<YoungSectionContainer right>
|
87
|
+
<div class="h-full w-full center">
|
88
|
+
<div class="h-60% w-full between flex-col">
|
89
|
+
<div class="w-full between">
|
90
|
+
<div>
|
91
|
+
<div v-ellipsis>
|
92
|
+
预算执行情况(万元)
|
93
|
+
</div>
|
94
|
+
<YoungCountUp :count="data?.values?.[0]" :decimal-places="2" />
|
95
|
+
</div>
|
96
|
+
<YoungCountUp :count="data?.increment?.[0]" :decimal-places="1" showfix />
|
97
|
+
</div>
|
98
|
+
<div class="w-full between">
|
99
|
+
<div>
|
100
|
+
<div v-ellipsis>
|
101
|
+
本月运维费用(万元)
|
102
|
+
</div>
|
103
|
+
<YoungCountUp :count="data?.values?.[1]" :decimal-places="2" />
|
104
|
+
</div>
|
105
|
+
<YoungCountUp :count="data?.increment?.[1]" :decimal-places="1" showfix />
|
106
|
+
</div>
|
107
|
+
</div>
|
108
|
+
</div>
|
109
|
+
</YoungSectionContainer>
|
110
|
+
</div>
|
111
|
+
</div>
|
112
|
+
</template>
|
113
|
+
|
114
|
+
<style scoped lang="scss"></style>
|