create-young-proj 1.6.2 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. package/CHANGELOG.md +110 -0
  2. package/README.md +6 -1
  3. package/dist/index.mjs +19 -19
  4. package/package.json +1 -1
  5. package/src/index.ts +6 -1
  6. package/template-admin-server/src/service/role.service.ts +5 -3
  7. package/template-big-screen/.editorconfig +14 -0
  8. package/template-big-screen/.nvmrc +1 -0
  9. package/template-big-screen/.vscode/extensions.json +12 -0
  10. package/template-big-screen/.vscode/settings.json +39 -0
  11. package/template-big-screen/Dockerfile +49 -0
  12. package/template-big-screen/README.md +20 -0
  13. package/template-big-screen/_gitignore +23 -0
  14. package/template-big-screen/_npmrc +2 -0
  15. package/template-big-screen/_nvmrc +1 -0
  16. package/template-big-screen/boot.mjs +16 -0
  17. package/template-big-screen/config/.devrc +1 -0
  18. package/template-big-screen/config/.onlinerc +1 -0
  19. package/template-big-screen/config/.testrc +1 -0
  20. package/template-big-screen/eslint.config.js +34 -0
  21. package/template-big-screen/index.html +48 -0
  22. package/template-big-screen/nitro.config.ts +23 -0
  23. package/template-big-screen/package.json +66 -0
  24. package/template-big-screen/plugins/init.ts +57 -0
  25. package/template-big-screen/public/favicon.svg +3 -0
  26. package/template-big-screen/routes/api/[...all].ts +19 -0
  27. package/template-big-screen/routes/get/env.ts +13 -0
  28. package/template-big-screen/src/App.vue +24 -0
  29. package/template-big-screen/src/apis/get.ts +77 -0
  30. package/template-big-screen/src/apis/index.ts +53 -0
  31. package/template-big-screen/src/apis/post.ts +14 -0
  32. package/template-big-screen/src/assets/data/china.json +1 -0
  33. package/template-big-screen/src/components/YoungCountUp.vue +29 -0
  34. package/template-big-screen/src/components/YoungECharts/config.ts +56 -0
  35. package/template-big-screen/src/components/YoungECharts/index.vue +111 -0
  36. package/template-big-screen/src/components/YoungHeader.vue +54 -0
  37. package/template-big-screen/src/components/YoungSectionContainer.vue +55 -0
  38. package/template-big-screen/src/components/YoungSectionHeader.vue +23 -0
  39. package/template-big-screen/src/composables/breakPoint.ts +20 -0
  40. package/template-big-screen/src/composables/dark.ts +52 -0
  41. package/template-big-screen/src/composables/echarts.ts +17 -0
  42. package/template-big-screen/src/composables/loadData.ts +38 -0
  43. package/template-big-screen/src/directives/ellipsis.ts +20 -0
  44. package/template-big-screen/src/directives/index.ts +13 -0
  45. package/template-big-screen/src/enums/breakpointEnum.ts +9 -0
  46. package/template-big-screen/src/layouts/404.vue +19 -0
  47. package/template-big-screen/src/layouts/blank.vue +9 -0
  48. package/template-big-screen/src/layouts/default.vue +17 -0
  49. package/template-big-screen/src/main.ts +59 -0
  50. package/template-big-screen/src/modules/index.ts +8 -0
  51. package/template-big-screen/src/modules/pinia.ts +11 -0
  52. package/template-big-screen/src/modules/router.ts +28 -0
  53. package/template-big-screen/src/pages/[...all].vue +16 -0
  54. package/template-big-screen/src/pages/electricity/build.vue +135 -0
  55. package/template-big-screen/src/pages/electricity/reliability.vue +137 -0
  56. package/template-big-screen/src/pages/electricity/sale-and-cost.vue +158 -0
  57. package/template-big-screen/src/pages/index.vue +59 -0
  58. package/template-big-screen/src/pages/kpi.vue +129 -0
  59. package/template-big-screen/src/pages/manage-improve.vue +114 -0
  60. package/template-big-screen/src/pages/social/condition.vue +202 -0
  61. package/template-big-screen/src/pages/social/electricity-usage.vue +140 -0
  62. package/template-big-screen/src/styles/index.scss +82 -0
  63. package/template-big-screen/tsconfig.json +38 -0
  64. package/template-big-screen/types/auto-imports.d.ts +949 -0
  65. package/template-big-screen/types/components.d.ts +19 -0
  66. package/template-big-screen/types/echarts.d.ts +36 -0
  67. package/template-big-screen/types/index.d.ts +45 -0
  68. package/template-big-screen/types/type.d.ts +38 -0
  69. package/template-big-screen/uno.config.ts +68 -0
  70. package/template-big-screen/vite.config.ts +131 -0
  71. package/template-big-screen/yarn.lock +7443 -0
  72. package/template-nuxt-admin/README.md +3 -3
  73. package/template-nuxt-admin/boot.mjs +4 -1
  74. package/template-nuxt-admin/composables/config.ts +2 -2
  75. package/template-nuxt-admin/config/.devrc +1 -1
  76. package/template-nuxt-admin/config/.onlinerc +1 -1
  77. package/template-nuxt-admin/config/.testrc +1 -1
  78. package/template-nuxt-admin/nuxt.config.ts +14 -5
  79. package/template-nuxt-admin/package.json +12 -11
  80. package/template-nuxt-admin/pages/system/api.vue +6 -6
  81. package/template-nuxt-admin/pages/system/role.vue +4 -4
  82. package/template-nuxt-admin/pages/system/user.vue +4 -4
  83. package/template-nuxt-admin/server/api/[...all].ts +10 -3
  84. package/template-nuxt-admin/server/plugins/env.ts +5 -4
  85. package/template-nuxt-admin/uno.config.ts +1 -9
  86. package/template-nuxt-admin/yarn.lock +3659 -3363
  87. package/template-nuxt-mobile/package.json +1 -0
  88. package/template-nuxt-mobile/server/utils/proxy.ts +1 -30
  89. package/template-nuxt-mobile/yarn.lock +9 -0
  90. package/template-nuxt-website/package.json +1 -0
  91. package/template-nuxt-website/server/utils/proxy.ts +1 -30
  92. package/template-nuxt-website/yarn.lock +9 -0
  93. package/template-uni-app/README.md +6 -1
  94. package/template-uni-app/_env +2 -1
  95. package/template-uni-app/auto-imports.d.ts +0 -4
  96. package/template-uni-app/custom-plugins/multiconf.ts +13 -1
  97. package/template-uni-app/package.json +17 -17
  98. package/template-uni-app/pnpm-lock.yaml +565 -985
  99. package/template-uni-app/src/App.vue +11 -1
  100. package/template-uni-app/src/apis/index.ts +9 -2
  101. package/template-uni-app/src/components/young-loading/young-loading.vue +4 -2
  102. package/template-uni-app/src/env.d.ts +7 -2
  103. package/template-uni-app/src/utils/auth.ts +24 -1
  104. package/template-uni-app/src/utils/index.ts +1 -2
  105. package/template-uni-app/src/utils/system.ts +6 -1
  106. package/template-nuxt-admin/server/utils/index.ts +0 -36
  107. package/template-uni-app/src/utils/map.ts +0 -98
@@ -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>