diff --git a/klp-ui/src/api/ems/alarmDevice.js b/klp-ui/src/api/ems/alarmDevice.js
new file mode 100644
index 00000000..e8b08da3
--- /dev/null
+++ b/klp-ui/src/api/ems/alarmDevice.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询安全警报设备列表
+export function listAlarmDevice(query) {
+ return request({
+ url: '/ems/alarmDevice/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询安全警报设备详细
+export function getAlarmDevice(deviceId) {
+ return request({
+ url: '/ems/alarmDevice/' + deviceId,
+ method: 'get'
+ })
+}
+
+// 新增安全警报设备
+export function addAlarmDevice(data) {
+ return request({
+ url: '/ems/alarmDevice',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改安全警报设备
+export function updateAlarmDevice(data) {
+ return request({
+ url: '/ems/alarmDevice',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除安全警报设备
+export function delAlarmDevice(deviceId) {
+ return request({
+ url: '/ems/alarmDevice/' + deviceId,
+ method: 'delete'
+ })
+}
diff --git a/klp-ui/src/api/ems/alarmRecord.js b/klp-ui/src/api/ems/alarmRecord.js
new file mode 100644
index 00000000..1b3f7fa9
--- /dev/null
+++ b/klp-ui/src/api/ems/alarmRecord.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询警报记录列表
+export function listAlarmRecord(query) {
+ return request({
+ url: '/ems/alarmRecord/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询警报记录详细
+export function getAlarmRecord(recordId) {
+ return request({
+ url: '/ems/alarmRecord/' + recordId,
+ method: 'get'
+ })
+}
+
+// 新增警报记录
+export function addAlarmRecord(data) {
+ return request({
+ url: '/ems/alarmRecord',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改警报记录
+export function updateAlarmRecord(data) {
+ return request({
+ url: '/ems/alarmRecord',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除警报记录
+export function delAlarmRecord(recordId) {
+ return request({
+ url: '/ems/alarmRecord/' + recordId,
+ method: 'delete'
+ })
+}
diff --git a/klp-ui/src/views/ems/alarmDevice/index.vue b/klp-ui/src/views/ems/alarmDevice/index.vue
new file mode 100644
index 00000000..f0e97e0c
--- /dev/null
+++ b/klp-ui/src/views/ems/alarmDevice/index.vue
@@ -0,0 +1,382 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/klp-ui/src/views/ems/alarmRecord/index.vue b/klp-ui/src/views/ems/alarmRecord/index.vue
new file mode 100644
index 00000000..374f9838
--- /dev/null
+++ b/klp-ui/src/views/ems/alarmRecord/index.vue
@@ -0,0 +1,388 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.alarmTime, '{y}-{m}-{d}') }}
+
+
+
+
+
+
+ {{ parseTime(scope.row.handleTime, '{y}-{m}-{d}') }}
+
+
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/klp-ui/src/views/ems/dashboard/index.vue b/klp-ui/src/views/ems/dashboard/index.vue
index 23bffafe..1340f8d1 100644
--- a/klp-ui/src/views/ems/dashboard/index.vue
+++ b/klp-ui/src/views/ems/dashboard/index.vue
@@ -12,12 +12,12 @@
-
+
diff --git a/klp-ui/src/views/ems/dashboard/panels/MonthToMonth.vue b/klp-ui/src/views/ems/dashboard/panels/MonthToMonth.vue
index 488dcc59..38a562d9 100644
--- a/klp-ui/src/views/ems/dashboard/panels/MonthToMonth.vue
+++ b/klp-ui/src/views/ems/dashboard/panels/MonthToMonth.vue
@@ -1,239 +1,608 @@
-
-
-
-
- 查询
-
-
-
-
-
-
-
-
-
- 本期
-
-
-
- 同期
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
- 柱状图
- 折线图
-
- 刷新
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+ 重置
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
{{ formatNumber(currentValue) }} {{ unit }}
+
当前{{ timeTypeMap[timeType] }}的{{ indicatorName }}
+
+
+
+
+
+
+
+
{{ formatNumber(previousValue) }} {{ unit }}
+
上一个{{ timeTypeMap[timeType] }}的{{ indicatorName }}
+
+
+
+
+
+
+
+
+ {{ formatNumber(increaseValue) }} {{ unit }}
+
+
当期 - 上期
+
+
+
+
+
+
+
+
+ {{ monthOnMonth !== null ? (monthOnMonth * 100).toFixed(2) + '%' : '--' }}
+
+
(当期 - 上期)/ 上期 × 100%
+
+
+
+
+/* 增加值/环比颜色:上升红、下降绿 */
+.text-increase {
+ color: #f56c6c;
+}
+
+.text-decrease {
+ color: #67c23a;
+}
+
+/* 加载状态 */
+.loading-container {
+ text-align: center;
+ padding: 60px 0;
+ color: #666;
+}
+
+.loading-container p {
+ margin-top: 12px;
+ font-size: 14px;
+}
+
\ No newline at end of file
diff --git a/klp-ui/src/views/ems/dashboard/panels/YearOnYear.vue b/klp-ui/src/views/ems/dashboard/panels/YearOnYear.vue
index a96a69a0..dfcfed51 100644
--- a/klp-ui/src/views/ems/dashboard/panels/YearOnYear.vue
+++ b/klp-ui/src/views/ems/dashboard/panels/YearOnYear.vue
@@ -1,5 +1,340 @@
-
- 同比分析
+
+
+
+
+ 查询
+
+
+
+
+
+
+
+
+
+ 本期({{ year }}年)
+
+
+
+ 同期({{ Number(year) - 1 }}年)
+
+
+
+
+
+ 柱状图
+ 折线图
+
+ 刷新数据
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.currentEnergy !== null ? scope.row.currentEnergy : '--' }}
+
+
+
+
+ {{ scope.row.samePeriodEnergy !== null ? scope.row.samePeriodEnergy : '--' }}
+
+
+
+
+
+ {{ scope.row.yearOnYear !== null ? (scope.row.yearOnYear * 100).toFixed(2) + '%' : '--' }}
+
+
+
+
+
-
\ No newline at end of file
+
+
+
+
+
\ No newline at end of file
diff --git a/klp-ui/src/views/login.vue b/klp-ui/src/views/login.vue
index 812a7c68..376f4a9e 100644
--- a/klp-ui/src/views/login.vue
+++ b/klp-ui/src/views/login.vue
@@ -216,7 +216,7 @@ $--metal-gradient-light: linear-gradient(145deg, #f5f5f5, #fff);
.login-form {
.el-input {
input {
- height: 40px;
+ height: 40px !important;
color: $--color-text-primary; // 白色文字
background: transparent;
}