diff --git a/src/packages/components/Charts/IntegratedEnergy/EnergyConsumptionTrend/config.ts b/src/packages/components/Charts/IntegratedEnergy/EnergyConsumptionTrend/config.ts
new file mode 100644
index 0000000..98b7082
--- /dev/null
+++ b/src/packages/components/Charts/IntegratedEnergy/EnergyConsumptionTrend/config.ts
@@ -0,0 +1,148 @@
+import { echartOptionProfixHandle, PublicConfigClass } from '@/packages/public'
+import { EnergyConsumptionTrendConfig } from './index'
+import { CreateComponentType } from '@/packages/index.d'
+import cloneDeep from 'lodash/cloneDeep'
+import dataJson from './data.json'
+
+export const includes = ['title', 'grid3D', 'xAxis3D', 'yAxis3D', 'zAxis3D']
+// 基于准备好的dom,初始化echarts实例
+// var myChart = echarts.init(document.getElementById('main'));
+
+// 从图片中估算的数据
+const months = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'];
+const values = [88, 54, 66, 54, 89, 67, 54, 89, 54, 89, 54, 67];
+
+// 将数据转换为 bar3D 需要的格式 [x, y, z]
+const data = values.map((item, index) => {
+ // x 对应 xAxis3D 的类目索引,y 对应 yAxis3D 的类目索引,z 对应 zAxis3D 的数值
+ return [index, 0, item];
+});
+
+
+const option = {
+ // 图表标题,用于显示左上角的单位
+ title: {
+ text: '单位:万kWh',
+ left: '2%', // 调整位置
+ top: '2%',
+ textStyle: {
+ color: '#e0e0e0', // 使用稍亮的颜色以适应深色背景
+ fontSize: 16
+ }
+ },
+ // 背景色,使用线性渐变模拟图片效果
+ backgroundColor: {
+ type: 'linear',
+ x: 0,
+ y: 0,
+ x2: 0,
+ y2: 1,
+ colorStops: [{
+ offset: 0, color: '#0f375f' // 起始颜色
+ }, {
+ offset: 1, color: '#000918' // 结束颜色
+ }],
+ global: false
+ },
+ // 3D笛卡尔坐标系配置
+ grid3D: {
+ boxWidth: 200,
+ boxDepth: 80,
+ // 视角控制,用于调整图表的观察角度
+ viewControl: {
+ distance: 250, // 初始视角距离
+ alpha: 15, // 俯视角度
+ beta: 25, // 旋转角度
+ autoRotate: false, // 禁止自动旋转
+ minAlpha: 5, // 最小俯视角度
+ maxAlpha: 90, // 最大俯视角度
+ },
+ axisPointer: {
+ show: false // 不显示坐标轴指示器
+ },
+ // 光照配置,这是实现立体感和阴影的关键
+ light: {
+ // 主光源
+ main: {
+ intensity: 1.2, // 光照强度
+ shadow: true, // 开启阴影
+ shadowQuality: 'ultra', // 更高的阴影质量
+ alpha: 55, // 控制光源的水平角度,使其从右侧照射,从而在左侧形成阴影
+ beta: 40 // 控制光源的垂直角度,使其从上方照射
+ },
+ // 环境光,用于整体提亮
+ ambient: {
+ intensity: 0.3
+ }
+ }
+ },
+ // X轴(类目轴)
+ xAxis3D: {
+ type: 'category',
+ data: months,
+ axisLabel: {
+ color: '#d0d0d0',
+ fontSize: 14
+ },
+ axisLine: {
+ lineStyle: {
+ color: '#d0d0d0'
+ }
+ }
+ },
+ // Y轴(在图中是隐藏的,但 bar3D 渲染需要此轴)
+ yAxis3D: {
+ type: 'category',
+ show: false // 不显示Y轴
+ },
+ // Z轴(数值轴)
+ zAxis3D: {
+ type: 'value',
+ min: 0,
+ max: 100,
+ interval: 25, // 刻度间隔
+ axisLabel: {
+ color: '#d0d0d0',
+ fontSize: 12
+ },
+ axisLine: {
+ lineStyle: {
+ color: '#d0d0d0'
+ }
+ },
+ splitLine: {
+ show: true,
+ lineStyle: {
+ color: 'rgba(255, 255, 255, 0.15)' // 分割线颜色
+ }
+ }
+ },
+ // 系列列表
+ series: [{
+ type: 'bar3D',
+ data: data,
+ barSize: 15, // 柱子在 X, Y 轴上的尺寸
+ // 柱状图的着色效果
+ shading: 'lambert', // 使用 Lambert 光照模型,能更好地表现光照和阴影
+ // 柱子的样式
+ itemStyle: {
+ color: '#4bebf3' // 柱子的基础颜色,光照会在此基础上计算最终颜色
+ },
+ // 鼠标悬浮时的高亮状态
+ emphasis: {
+ label: {
+ show: false
+ }
+ }
+ }]
+};
+
+// 使用刚指定的配置项和数据显示图表。
+// myChart.setOption(option);
+
+export default class Config extends PublicConfigClass implements CreateComponentType {
+ public key: string = EnergyConsumptionTrendConfig.key
+ public chartConfig = cloneDeep(EnergyConsumptionTrendConfig)
+ // 图表配置项
+ public option = echartOptionProfixHandle(option, includes)
+}
diff --git a/src/packages/components/Charts/IntegratedEnergy/EnergyConsumptionTrend/config.vue b/src/packages/components/Charts/IntegratedEnergy/EnergyConsumptionTrend/config.vue
new file mode 100644
index 0000000..9bcaaeb
--- /dev/null
+++ b/src/packages/components/Charts/IntegratedEnergy/EnergyConsumptionTrend/config.vue
@@ -0,0 +1,16 @@
+
+ 你好
+
+
diff --git a/src/packages/components/Charts/IntegratedEnergy/EnergyConsumptionTrend/data.json b/src/packages/components/Charts/IntegratedEnergy/EnergyConsumptionTrend/data.json
new file mode 100644
index 0000000..e69de29
diff --git a/src/packages/components/Charts/IntegratedEnergy/EnergyConsumptionTrend/index.ts b/src/packages/components/Charts/IntegratedEnergy/EnergyConsumptionTrend/index.ts
new file mode 100644
index 0000000..f0e201c
--- /dev/null
+++ b/src/packages/components/Charts/IntegratedEnergy/EnergyConsumptionTrend/index.ts
@@ -0,0 +1,14 @@
+import { ConfigType, PackagesCategoryEnum, ChartFrameEnum } from '@/packages/index.d'
+import { ChatCategoryEnum, ChatCategoryEnumName } from '../../index.d'
+
+export const EnergyConsumptionTrendConfig: ConfigType = {
+ key: 'EnergyConsumptionTrend',
+ chartKey: 'VEnergyConsumptionTrend',
+ conKey: 'VCEnergyConsumptionTrend',
+ title: '能耗趋势',
+ category: ChatCategoryEnum.IntegratedEnergy,
+ categoryName: ChatCategoryEnumName.IntegratedEnergy,
+ package: PackagesCategoryEnum.CHARTS,
+ chartFrame: ChartFrameEnum.ECHARTS,
+ image: 'EnergyConsumptionTrend.png'
+}
\ No newline at end of file
diff --git a/src/packages/components/Charts/IntegratedEnergy/EnergyConsumptionTrend/index.vue b/src/packages/components/Charts/IntegratedEnergy/EnergyConsumptionTrend/index.vue
new file mode 100644
index 0000000..b2023a2
--- /dev/null
+++ b/src/packages/components/Charts/IntegratedEnergy/EnergyConsumptionTrend/index.vue
@@ -0,0 +1,213 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/packages/components/Charts/IntegratedEnergy/index.ts b/src/packages/components/Charts/IntegratedEnergy/index.ts
index 70f73b7..62bb595 100644
--- a/src/packages/components/Charts/IntegratedEnergy/index.ts
+++ b/src/packages/components/Charts/IntegratedEnergy/index.ts
@@ -1,4 +1,5 @@
import { EnergyOverviewConfig } from "./EnergyOverview"
+import { EnergyConsumptionTrendConfig } from "./EnergyConsumptionTrend"
export default [
- EnergyOverviewConfig
+ EnergyOverviewConfig, EnergyConsumptionTrendConfig
]
\ No newline at end of file