diff --git a/.env.development b/.env.development
index def44a3..891c922 100644
--- a/.env.development
+++ b/.env.development
@@ -1,5 +1,5 @@
# 页面标题
-VUE_APP_TITLE = 智能巡检
+VUE_APP_TITLE = 消防动环管理平台
# 开发环境配置
ENV = 'development'
diff --git a/.env.htjc6 b/.env.htjc6
index 0654176..202dabe 100644
--- a/.env.htjc6
+++ b/.env.htjc6
@@ -1,7 +1,7 @@
NODE_ENV = 'production'
ENV = 'production'
-VUE_APP_TITLE = 智能巡检
+VUE_APP_TITLE = 消防动环管理平台
VUE_APP_BASE_API = '/app/htjc6/api'
VUE_APP_NVR_API = '/nvr-api'
diff --git a/.env.production b/.env.production
index 3582916..35e4529 100644
--- a/.env.production
+++ b/.env.production
@@ -1,5 +1,5 @@
# 页面标题
-VUE_APP_TITLE = 智能巡检
+VUE_APP_TITLE = 消防动环管理平台
# 生产环境配置
ENV = 'production'
diff --git a/.env.staging b/.env.staging
index 1ca17f1..a5d5513 100644
--- a/.env.staging
+++ b/.env.staging
@@ -1,5 +1,5 @@
# 页面标题
-VUE_APP_TITLE = 智能巡检
+VUE_APP_TITLE = 消防动环管理平台
BABEL_ENV = production
diff --git a/public/aa-logo.png b/public/aa-logo.png
index bf790f3..a80ff64 100644
Binary files a/public/aa-logo.png and b/public/aa-logo.png differ
diff --git a/public/favicon.ico b/public/favicon.ico
index e263760..269227c 100644
Binary files a/public/favicon.ico and b/public/favicon.ico differ
diff --git a/src/App.vue b/src/App.vue
index b92ea37..0ee9cba 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -7,15 +7,19 @@
+
+
diff --git a/src/views/cards/patrolReport/patrolReportDetail.vue b/src/views/cards/patrolReport/patrolReportDetail.vue
index 792d109..2454853 100644
--- a/src/views/cards/patrolReport/patrolReportDetail.vue
+++ b/src/views/cards/patrolReport/patrolReportDetail.vue
@@ -308,7 +308,7 @@ export default {
getPointInfo() {
const headerInfoList = [
{
- title1: "换流站",
+ title1: "升压站",
info1: this.reportInfo.stationName,
title2: "",
info2: "",
diff --git a/src/views/cards/site_management/site_management.vue b/src/views/cards/site_management/site_management.vue
index 2318881..b47316d 100644
--- a/src/views/cards/site_management/site_management.vue
+++ b/src/views/cards/site_management/site_management.vue
@@ -1357,6 +1357,10 @@ import ChooseAlg from "./components/chooseAlg.vue";
import Algorith from "@/views/cards/site_management/algorithm.vue";
import ImageAnnotation from "./components/ImageAnnotation.vue";
+// 设备树面板默认宽度(收窄后);存储 key 带 v2,避免老用户 localStorage 里的旧宽度盖住新默认
+const DEFAULT_LEFT_PANEL_WIDTH = 200;
+const LEFT_PANEL_WIDTH_STORAGE_KEY = "leftPanelWidthV2";
+
export default {
name: "site_management",
dicts: ["video_action_type", "point_impt_level", "system_type"],
@@ -1584,7 +1588,7 @@ export default {
selectedDeviceTypeLabel: "", // 选中的设备类型标签
// 新增的拖拽相关属性 - 只影响左侧树
- leftPanelWidth: 260, // 左侧面板默认宽度
+ leftPanelWidth: DEFAULT_LEFT_PANEL_WIDTH, // 左侧面板默认宽度
minLeftWidth: 200, // 左侧面板最小宽度
maxLeftWidth: 600, // 左侧面板最大宽度
tableLayoutFrame: null,
@@ -2357,7 +2361,7 @@ export default {
// 保存左侧面板宽度
saveLeftPanelWidth() {
try {
- localStorage.setItem("leftPanelWidth", this.leftPanelWidth);
+ localStorage.setItem(LEFT_PANEL_WIDTH_STORAGE_KEY, this.leftPanelWidth);
} catch (e) {
// console.warn('保存左侧面板宽度失败:', e);
}
@@ -2366,7 +2370,7 @@ export default {
// 加载左侧面板宽度
loadLeftPanelWidth() {
try {
- const savedWidth = localStorage.getItem("leftPanelWidth");
+ const savedWidth = localStorage.getItem(LEFT_PANEL_WIDTH_STORAGE_KEY);
if (savedWidth) {
this.leftPanelWidth = parseInt(savedWidth, 10);
}
@@ -2377,7 +2381,7 @@ export default {
// 重置左侧面板宽度
resetLeftPanelWidth() {
- this.leftPanelWidth = 260;
+ this.leftPanelWidth = DEFAULT_LEFT_PANEL_WIDTH;
this.saveLeftPanelWidth();
// 更新树布局
this.$nextTick(() => {
@@ -5025,4 +5029,24 @@ export default {
min-height: 0;
}
}
+
+/* 添加/修改监控点位弹窗(append-to-body):整屏水平垂直居中。
+ 选择器带 .el-dialog 提高优先级,覆盖全局 ruoyi.scss 的 margin-top:6vh!important
+ 与 element-ui.scss 的 transform:none/left:0/position:relative */
+.el-dialog.site-point-add-dialog:not(.is-fullscreen) {
+ display: flex;
+ flex-direction: column;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ margin: 0 !important;
+ max-height: calc(100vh - 40px);
+ overflow: hidden;
+
+ .el-dialog__body {
+ max-height: calc(100vh - 160px);
+ overflow-y: auto;
+ }
+}
diff --git a/src/views/cards/taskSummary/newInspectionTaskDetail.vue b/src/views/cards/taskSummary/newInspectionTaskDetail.vue
index a8afd99..2662b74 100644
--- a/src/views/cards/taskSummary/newInspectionTaskDetail.vue
+++ b/src/views/cards/taskSummary/newInspectionTaskDetail.vue
@@ -240,6 +240,13 @@
:loading="loading"
>导出
+ 缺陷记录
@@ -803,6 +810,14 @@ export default {
);
},
+ // 跳转到缺陷记录页面(巡检工作区模式跳工作区路由,保证侧边栏高亮一致)
+ goDefectRecord() {
+ const path = this.$route.meta.patrolWorkspace
+ ? "/inspection-workspace/defects"
+ : "/defect-record/index";
+ this.$router.push(path);
+ },
+
getPointList() {
this.loading = true;
taskInfoList(this.queryParams)
diff --git a/src/views/video/LivePreview.vue b/src/views/video/LivePreview.vue
index b6d67a4..53081e7 100644
--- a/src/views/video/LivePreview.vue
+++ b/src/views/video/LivePreview.vue
@@ -287,7 +287,7 @@ export default {
this.$root.$emit('video-layout-updated', this.layout)
if (this.channels.length) {
this.streamsInitialized = true
- this.populateRandomLayout()
+ this.populateDefaultLayout()
}
},
deactivated() {
@@ -382,7 +382,7 @@ export default {
})
if (initializeStreams && this.pageActive && !this.streamsInitialized && this.channels.length) {
this.streamsInitialized = true
- this.populateRandomLayout()
+ this.populateDefaultLayout()
}
},
isCameraCodeName(name) {
@@ -399,19 +399,10 @@ export default {
if (treeCodes.size) this.channels = this.channels.filter(item => treeCodes.has(item.cameraCode))
this.setAvailableChannels(channels, true)
},
- shuffleChannels() {
- const channels = this.channels.slice()
- for (let index = channels.length - 1; index > 0; index -= 1) {
- const randomIndex = Math.floor(Math.random() * (index + 1))
- const current = channels[index]
- channels[index] = channels[randomIndex]
- channels[randomIndex] = current
- }
- return channels
- },
- async populateRandomLayout() {
+ async populateDefaultLayout() {
if (!this.pageActive) return
- const channels = this.shuffleChannels().slice(0, this.capacity)
+ // 几宫格就按频道列表顺序默认播放前几个,不做随机洗牌
+ const channels = this.channels.slice(0, this.capacity)
if (!channels.length) return
await Promise.all(this.slots.map((slot, index) => slot ? this.closeSlot(index, false) : null))
if (!this.pageActive) return
@@ -535,7 +526,7 @@ export default {
if (layout === this.layout) return
this.layout = layout
this.$root.$emit('video-layout-updated', layout)
- this.populateRandomLayout()
+ this.populateDefaultLayout()
},
changeControlPanel(expanded) {
this.controlPanelExpanded = Boolean(expanded)