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)