Parcourir la source

预警,报警,工单命名统一

zengy il y a 1 jour
Parent
commit
daa2f4c379
40 fichiers modifiés avec 90 ajouts et 90 suppressions
  1. 1 1
      CONTEXT.md
  2. 1 1
      docs/design/2026-08-22-water-supply-work-order-ui.md
  3. 1 1
      memory/index.md
  4. 1 1
      memory/sessions/2026-09-28.md
  5. 1 1
      memory/sessions/2026-10-10.md
  6. 7 7
      memory/sessions/2026-10-16.md
  7. 1 1
      src/views/subSystem/alarm/AlarmDetail.vue
  8. 1 1
      src/views/subSystem/alarm/common/disposeList.vue
  9. 1 1
      src/views/subSystem/alarm/common/js/alarmReviewModel.js
  10. 1 1
      src/views/subSystem/drainage/fxpg/components/RiskAssessmentTabs.vue
  11. 3 3
      src/views/subSystem/drainage/jcsj/sbyx.vue
  12. 3 3
      src/views/subSystem/drainage/jcyj/components/WarningGisDetail.vue
  13. 4 4
      src/views/subSystem/drainage/jcyj/dqyjgl.vue
  14. 6 6
      src/views/subSystem/drainage/jcyj/lsyjgl.vue
  15. 1 1
      src/views/subSystem/lifeCompany/components/WarningContentCell.vue
  16. 2 2
      src/views/subSystem/lifeCompany/components/WarningDetailDrawer.vue
  17. 1 1
      src/views/subSystem/lifeCompany/components/WarningReviewAction.vue
  18. 1 1
      src/views/subSystem/lifeCompany/lAlertInformation/LCorrelation.vue
  19. 7 7
      src/views/subSystem/lifeCompany/lAlertInformation/LRelease.vue
  20. 4 4
      src/views/subSystem/lifeCompany/lAlertInformation/LReportUpload.vue
  21. 7 7
      src/views/subSystem/lifeCompany/lAlertInformation/LTobeHandled.vue
  22. 1 1
      src/views/subSystem/lifeCompany/lOverviewWarning/LTodayNot.vue
  23. 1 1
      src/views/subSystem/lifeCompany/lOverviewWarning/Lhistory.vue
  24. 1 1
      src/views/subSystem/lifeCompany/lOverviewWarning/Ltoday.vue
  25. 1 1
      src/views/subSystem/lifeCompany/lOverviewWarning/dashboardShared.js
  26. 2 2
      src/views/subSystem/lifeCompany/lhome/lHome.vue
  27. 1 1
      src/views/subSystem/lifeCompany/lstatistics/disposalEfficiency/index.vue
  28. 1 1
      src/views/subSystem/lifeCompany/lstatistics/industryAnalysis/index.vue
  29. 1 1
      src/views/subSystem/lifeCompany/lstatistics/receiveEfficiency/index.vue
  30. 1 1
      src/views/subSystem/lifeCompany/lstatistics/today/index.vue
  31. 5 5
      src/views/subSystem/lifeCompany/lwarningInfoCont/LAlertQuery.vue
  32. 5 5
      src/views/subSystem/lifeCompany/lwarningInfoCont/LwarningDisp.vue
  33. 2 2
      src/views/subSystem/manholeCover/caseHandling/circulation.vue
  34. 3 3
      src/views/subSystem/manholeCover/operation/operationTask.vue
  35. 2 2
      src/views/subSystem/pipeNetwork/home/index.vue
  36. 1 1
      src/views/subSystem/pipeNetwork/ops/workOrder/dispose.vue
  37. 2 2
      src/views/subSystem/pipeNetwork/ops/workOrder/index.vue
  38. 2 2
      src/views/subSystem/pipeNetwork/ops/workOrder/list.vue
  39. 1 1
      src/views/subSystem/waterSupply/components/WaterDeviceAbnormalPage.vue
  40. 2 2
      src/views/subSystem/waterSupply/monitorAlarm/workOrder.vue

+ 1 - 1
CONTEXT.md

@@ -28,7 +28,7 @@ _Avoid_: 将清单权限等同于审核权限
 
 **报警单号**:
 `alarm_data.alarm_no`,新记录由后端程序在保存前生成 `BJyyyyMMddHHmmss` + 4 位随机数,使用北京时间;保留数据库唯一索引,普通更新不可修改单号;不使用数据库生成触发器或序列。清单/审核首列与转工单创建日志使用该号;不回填历史,无号码显示 `—`。
-_Avoid_: 报警 UUID、监测指标编码、工单编号
+_Avoid_: 报警 UUID、监测指标编码、工单号
 
 **报警展示状态**:
 由报警持久化状态、审核结果和关联工单推导出的面向用户的状态,用于区分待审核、已转工单、已解除和误报警;它不替代设备报警状态。

+ 1 - 1
docs/design/2026-08-22-water-supply-work-order-ui.md

@@ -74,7 +74,7 @@
 
 - 设备异常管理是只读状态看板,展示设备基本信息、在线状态、报警状态、最近上报、关联工单进度和异常原因。
 - 支持设备详情和批量导出,不提供工单创建、维修派单或状态修改操作。
-- 已有关联工单时,展示工单编号、责任人、当前状态和进度入口。
+- 已有关联工单时,展示工单号、责任人、当前状态和进度入口。
 ### 设备维修派单
 
 - 设备维修派单是进入统一工单页的业务入口。

+ 1 - 1
memory/index.md

@@ -80,7 +80,7 @@ npm run dev       # 默认 http://localhost:80
 - [2026-10-14:故障通知筛选与两端核实命名、工单取消限制、本人登录日志、照片按组切换、性别单选、移动端接口分层及统一前缀](sessions/2026-10-14.md)
 - [2026-10-13:移动端工单管理、待办、详情与操作接入](sessions/2026-10-13.md)
 - [2026-10-12:工单派单增加核验人](sessions/2026-10-12.md)
-- [2026-10-10:报警内容固化到 alarm_data](sessions/2026-10-10.md)
+- [2026-10-10:报警描述固化到 alarm_data](sessions/2026-10-10.md)
 - [2026-09-29:预警流程、督办、附件和清单关联联调](sessions/2026-09-29.md)
 - [2026-08-14:项目探索、启动方式与记忆库建立](sessions/2026-08-14.md)
 - [2026-08-17:供水管网安全运行监测系统前端实现](sessions/2026-08-17.md)

+ 1 - 1
memory/sessions/2026-09-28.md

@@ -20,7 +20,7 @@
 ### #66 最终修正与验证
 
 - 读取 Gogs #66 原始票据及评论,确认 #65 为前置、菜单路径不可改数据库、供水专属报警分析页须包含逐条流水、四级趋势、台账、筛选、导出与详情跨页跳转。旧票据背景列举的供水 ledger 接口已在最新代码中删除,因此前后端统一使用 `/api/alarm` 只读契约。
-- 前端菜单按 `rootTypeId=1` 将公共报警清单组件解析到供水专属页,不改后端菜单 path/name/query;排水及其他系统仍用公共组件。详情快捷跳转审核或使用工单编号 keyword 定位设备维修派单页。
+- 前端菜单按 `rootTypeId=1` 将公共报警清单组件解析到供水专属页,不改后端菜单 path/name/query;排水及其他系统仍用公共组件。详情快捷跳转审核或使用工单号 keyword 定位设备维修派单页。
 - 后端统一报警列表新增设备状态表当前报警状态、后端推导的展示状态及服务端筛选;展示状态按单条报警记录状态、审核结论和关联工单推导,误报警独立于已解除。四态口径沿用现有 CONTEXT,设备状态不代替历史报警记录状态。
 - 当前筛选导出逐页查询统一接口(每页最多 100),不只导出屏幕上当前页。列表与态势独立失败反馈、保留已有数据,并用请求代次防止旧响应覆盖新查询;图表有局部加载,详情抽屉适配窄屏。
 - 代码审查 Standards 初报 4 项,纠正 3 项硬性问题,剩余 SQL 与 Java 同步状态优先级的重复规则为分页筛选所需的启发式风险,测试锁定两边口径;Spec 初报的工单跳转及状态口径偏差均已修正并复核撤回。

+ 1 - 1
memory/sessions/2026-10-10.md

@@ -1,4 +1,4 @@
-# 2026-10-10:报警内容固化到 alarm_data
+# 2026-10-10:报警描述固化到 alarm_data
 
 ## 目标
 

+ 7 - 7
memory/sessions/2026-10-16.md

@@ -12,7 +12,7 @@
 - `LRelease.vue` 的新增/编辑表单移除发布人、处置人、核验人,将关联设备和内容描述移动到类型/级别后;发布操作新增处置人、核验人选择弹窗,并同时提交两个账号。
 - 新增 `/warning/config/equipment-type-ids`,通过 `warning_type.warning_code` 和 `equipment_warning_type.warning_type_id` 返回允许的设备类型;设备分页接口支持设备类型集合过滤,保存草稿时后端再次校验设备与预警类型的关系。
 - 草稿创建时将发布人初始化为创建人,发布时仍以 `create_by` 为准,兼容历史数据时回退当前发布人。
-- 四个主列表按要求移除序号/权属单位列并增加预警内容;待办查询移除预警专项、权属单位、发布人、处置人;综合查询表格使用内容列填充可用宽度。
+- 四个主列表按要求移除序号/权属单位列并增加预警描述;待办查询移除预警专项、权属单位、发布人、处置人;综合查询表格使用内容列填充可用宽度。
 - 新增共享 `WarningDisposalTimeline.vue`,参照工单详情按日期倒序分组,展示时分节点、人员、动作、内容、原因和附件;共享附件改为文件类型卡片样式,保留受控预览/下载接口。
 - 无数据库结构变更,前后端需要同步部署。
 
@@ -33,13 +33,13 @@
 
 - 四个预警详情抽屉将预警单号移入“预警详情”标题右侧,并将当前状态放到同一行右侧;详情字段区不再重复显示单号和状态。
 - 清除 Element Plus 抽屉头部默认的大间距,头部与正文分别使用 10px、12px 的紧凑间距;有关联事项时同步去掉事项卡片顶部重复留白。
-- 四个详情字段区将预警内容调整为第一行并跨两列展示。
-- 相关列表的预警编号列统一加宽到 210px,避免常见长编号换行。
-- 新增共享 `WarningContentCell.vue`,列表预警内容单行省略,点击后通过弹层查看可换行、可滚动的完整内容。
+- 四个详情字段区将预警描述调整为第一行并跨两列展示。
+- 相关列表的预警单号列统一加宽到 210px,避免常见长编号换行。
+- 新增共享 `WarningContentCell.vue`,列表预警描述单行省略,点击后通过弹层查看可换行、可滚动的完整内容。
 
 ## 预警详情统一
 
-- 新增公共 `components/WarningDetailDrawer.vue` 和 `warningDetail.js`,统一详情加载、字段兼容和布局;预警内容置顶,按基础信息、关联事项、关联报警、处置记录、督办记录、其他附件、电子存档分区展示。
+- 新增公共 `components/WarningDetailDrawer.vue` 和 `warningDetail.js`,统一详情加载、字段兼容和布局;预警描述置顶,按基础信息、关联事项、关联报警、处置记录、督办记录、其他附件、电子存档分区展示。
 - 发布、待办、处置、综合查询、关联管理、首页、今日预警、今日未处置、历史预警及管网预警共 10 个查看入口改用公共详情抽屉;待办通知已读等页面特有逻辑仍留在父页面。
 - 报告上传和发布编辑继续使用详情数据,但统一改调 `api/pipeNetwork/earlyWarning.js` 的 `getWarningFullDetailData`;删除 `yjfb.js` 中重复的详情 API 封装和概览模块旧版详情抽屉。
 - 后端删除未被仓内调用的简版 `/warning/detail/{warningId}` 及对应 Service 方法,以 `/warning/detail/full/{warningId}` 作为唯一详情接口;无数据库变更。
@@ -98,7 +98,7 @@
 
 ## 两端详情内容优先与处置人员分区
 
-- 目标/结论:预警内容放进“预警信息”第一行,人员区域统一为“处置相关人员”。工单详情顺序改为故障信息、设备信息、处置相关人员,故障描述独占首行并保留换行,人员区单独展示处置人、核验人;工单产品文案将责任人统一称为处置人。
+- 目标/结论:预警描述放进“预警信息”第一行,人员区域统一为“处置相关人员”。工单详情顺序改为故障信息、设备信息、处置相关人员,故障描述独占首行并保留换行,人员区单独展示处置人、核验人;工单产品文案将责任人统一称为处置人。
 - PC 修改共享 `WarningDetailDrawer.vue`,拆出设备与人员分区,所有预警详情入口同步;`warningDetail.js` 兼容人员昵称的驼峰/下划线字段。工单 `dispose.vue` 重排详情、修改派单及提示,工单 index/list、供水旧工单页和报警关联工单同步改名。
 - 移动端 `warning-detail.vue`、`workorder-detail.vue` 同步内容与分区顺序,`ActionFormDrawer.vue` 和报警关联工单同步改名,`services/workorders.ts` 增加 verifyUserName 类型。
 - 后端 `WorkOrderVO` 新增 verifyUserName,`WorkOrderServiceImpl` 将处置人与核验人 ID 合并批量查询,昵称优先回填;派单及身份校验提示、新派单日志同步使用处置人。接口原有 ID 字段及选人权限不变,历史存储日志不改写。
@@ -107,6 +107,6 @@
 
 ## 详情描述字体统一
 
-- 按用户要求,PC 与移动端故障描述、预警内容改为普通字重;移动端去掉独立字号、颜色,PC 预警内容继承普通字段字号和颜色,保持首行位置及换行能力。
+- 按用户要求,PC 与移动端故障描述、预警描述改为普通字重;移动端去掉独立字号、颜色,PC 预警描述继承普通字段字号和颜色,保持首行位置及换行能力。
 - 修改两端预警与工单详情四个组件;仅涉及 CSS,无接口或后端改动。
 - 验证:四个 Vue 组件样式编译通过,两端 diff 空白检查通过;无需后端更新,真实页面待用户验收。

+ 1 - 1
src/views/subSystem/alarm/AlarmDetail.vue

@@ -35,7 +35,7 @@ const emit = defineEmits(['visible-change'])
 const visible = ref(false), loading = ref(false), alarm = ref(null), timeline = ref([]), error = ref('')
 let generation = 0
 function goWaterWorkOrder() {
-  if (!alarm.value?.orderNo) return ElMessage.warning('关联工单编号未返回')
+  if (!alarm.value?.orderNo) return ElMessage.warning('关联工单号未返回')
   const target = router.getRoutes().find(route => route.path.endsWith('/device/maintain') && route.path.includes('/waterSupply/'))
   if (!target) return ElMessage.warning('当前账号未配置设备维修派单菜单')
   return router.push({ path: target.path, query: { keyword: alarm.value.orderNo || '' } })

+ 1 - 1
src/views/subSystem/alarm/common/disposeList.vue

@@ -56,7 +56,7 @@ const pageNum = ref(1), pageSize = ref(10), ascending = ref(false), loading = re
 // 兼容运维自身的 Pworkdisposition 菜单与旧 pworkOrder/dispose 路径。
 function goDispose(row) {
   const keyword = row.orderNo || ''
-  if (!keyword) return ElMessage.warning('该报警未关联工单编号')
+  if (!keyword) return ElMessage.warning('该报警未关联工单号')
   const target = menu('workOrderDispose') || menu('Pworkdisposition')
     || router.getRoutes().find(r => /workOrderDispose|Pworkdisposition|pworkOrder\/dispose/i.test(r.path))
   if (!target) return ElMessage.warning('当前账号未配置工单处置菜单')

+ 1 - 1
src/views/subSystem/alarm/common/js/alarmReviewModel.js

@@ -11,7 +11,7 @@ export function thresholdText(row = {}) {
   if (present(row.maxValue)) return `上限 ${valueText(row.maxValue, unit)}`
   return '—'
 }
-// 报警内容由后端生成,页面不再按指标名称或阈值重新拼接。
+// 报警描述由后端生成,页面不再按指标名称或阈值重新拼接。
 export function alarmDescription(row = {}) {
   return present(row.alarmContent) ? row.alarmContent : ''
 }

+ 1 - 1
src/views/subSystem/drainage/fxpg/components/RiskAssessmentTabs.vue

@@ -146,7 +146,7 @@
                 <span v-else>-</span>
               </template>
             </el-table-column>
-            <el-table-column prop="alarmContent" label="报警内容" min-width="200" show-overflow-tooltip />
+            <el-table-column prop="alarmContent" label="报警描述" min-width="200" show-overflow-tooltip />
             <el-table-column label="状态" width="90" align="center">
               <template #default="{ row }">
                 <el-tag size="small" :type="row.alarmStatus === 0 ? 'warning' : 'success'">

+ 3 - 3
src/views/subSystem/drainage/jcsj/sbyx.vue

@@ -385,9 +385,9 @@
           <el-date-picker v-model="warningForm.warningTime" type="datetime" placeholder="请选择预警时间"
             value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" />
         </el-form-item>
-        <el-form-item label="预警内容" prop="content">
+        <el-form-item label="预警描述" prop="content">
           <el-input v-model="warningForm.content" type="textarea" :rows="3" maxlength="200" show-word-limit
-            placeholder="请输入预警内容" />
+            placeholder="请输入预警描述" />
         </el-form-item>
         <el-form-item label="权属单位" prop="ownershipDeptId">
           <el-tree-select v-model="warningForm.ownershipDeptId" :data="deptOptions" check-strictly filterable
@@ -993,7 +993,7 @@ const warningRules = {
   currentValue: [{ required: true, message: '请输入当前值', trigger: 'blur' }],
   thresholdValue: [{ required: true, message: '请输入阈值', trigger: 'blur' }],
   warningTime: [{ required: true, message: '请选择预警时间', trigger: 'change' }],
-  content: [{ required: true, message: '请输入预警内容', trigger: 'blur' }],
+  content: [{ required: true, message: '请输入预警描述', trigger: 'blur' }],
   scope: [{ required: true, message: '请选择发布范围', trigger: 'change' }],
   userIds: [
     {

+ 3 - 3
src/views/subSystem/drainage/jcyj/components/WarningGisDetail.vue

@@ -55,7 +55,7 @@
           <span class="section-title">预警信息</span>
         </div>
         <el-descriptions :column="2" border size="small">
-          <el-descriptions-item label="预警编号">{{ record.warningNo || '-' }}</el-descriptions-item>
+          <el-descriptions-item label="预警单号">{{ record.warningNo || '-' }}</el-descriptions-item>
           <el-descriptions-item label="预警名称">{{ record.equipmentName || '-' }}</el-descriptions-item>
           <el-descriptions-item label="预警类型">{{ warningTypeText }}</el-descriptions-item>
           <el-descriptions-item label="预警级别">
@@ -68,7 +68,7 @@
             <el-tag :type="statusTagType" size="small">{{ statusTextValue }}</el-tag>
           </el-descriptions-item>
           <el-descriptions-item label="位置" :span="2">{{ record.location || '-' }}</el-descriptions-item>
-          <el-descriptions-item label="预警内容" :span="2">
+          <el-descriptions-item label="预警描述" :span="2">
             <div class="desc-text">{{ record.content || '-' }}</div>
           </el-descriptions-item>
           <el-descriptions-item v-if="record.remark" label="备注" :span="2">{{ record.remark }}</el-descriptions-item>
@@ -317,7 +317,7 @@ const warningTypeText = computed(() => {
   return row.warningType || '未分类'
 })
 
-/** 归档编号:预警解除即归档,由预警编号派生 */
+/** 归档编号:预警解除即归档,由预警单号派生 */
 const archiveNo = computed(() => {
   const no = props.record?.warningNo
   if (!no) return '-'

+ 4 - 4
src/views/subSystem/drainage/jcyj/dqyjgl.vue

@@ -78,7 +78,7 @@
     <!-- ==================== 数据表格 ==================== -->
     <div>
       <el-table :data="tableData" style="width:100%" v-loading="loading">
-        <el-table-column prop="warningNo" label="预警编号" width="180" show-overflow-tooltip />
+        <el-table-column prop="warningNo" label="预警单号" width="180" show-overflow-tooltip />
         <el-table-column prop="equipmentName" label="预警名称" min-width="130" show-overflow-tooltip />
         <el-table-column label="预警类型" width="130" align="center" show-overflow-tooltip>
           <template #default="{ row }">{{ warningTypeText(row) }}</template>
@@ -88,7 +88,7 @@
             <el-tag :type="levelTagType(row.warningLevel)" size="small">{{ levelText(row.warningLevel) }}</el-tag>
           </template>
         </el-table-column>
-        <el-table-column label="预警内容" min-width="200" show-overflow-tooltip>
+        <el-table-column label="预警描述" min-width="200" show-overflow-tooltip>
           <template #default="{ row }">{{ row.content || '-' }}</template>
         </el-table-column>
         <el-table-column prop="ownershipUnit" label="权属单位" width="140" show-overflow-tooltip>
@@ -128,7 +128,7 @@
         <div class="section-box">
           <div class="section-title">预警信息</div>
           <el-descriptions :column="2" border size="small">
-            <el-descriptions-item label="预警编号">{{ currentOrder.warningNo || '-' }}</el-descriptions-item>
+            <el-descriptions-item label="预警单号">{{ currentOrder.warningNo || '-' }}</el-descriptions-item>
             <el-descriptions-item label="预警名称">{{ currentOrder.equipmentName || '-' }}</el-descriptions-item>
             <el-descriptions-item label="预警类型">{{ warningTypeText(currentOrder) }}</el-descriptions-item>
             <el-descriptions-item label="预警级别">
@@ -145,7 +145,7 @@
             <el-descriptions-item label="发布人">{{ currentOrder.publisher || '-' }}</el-descriptions-item>
             <el-descriptions-item label="创建人">{{ currentOrder.createBy || '-' }}</el-descriptions-item>
             <el-descriptions-item label="位置" :span="2">{{ currentOrder.location || '-' }}</el-descriptions-item>
-            <el-descriptions-item label="预警内容" :span="2">
+            <el-descriptions-item label="预警描述" :span="2">
               <div class="desc-text">{{ currentOrder.content || '-' }}</div>
             </el-descriptions-item>
             <el-descriptions-item v-if="currentOrder.remark" label="备注" :span="2">{{ currentOrder.remark }}

+ 6 - 6
src/views/subSystem/drainage/jcyj/lsyjgl.vue

@@ -76,7 +76,7 @@
         <el-table-column label="归档编号" width="150" show-overflow-tooltip>
           <template #default="{ row }">{{ archiveNoOf(row) }}</template>
         </el-table-column>
-        <el-table-column prop="warningNo" label="预警编号" width="175" show-overflow-tooltip />
+        <el-table-column prop="warningNo" label="预警单号" width="175" show-overflow-tooltip />
         <el-table-column prop="equipmentName" label="预警名称" min-width="130" show-overflow-tooltip />
         <el-table-column label="预警类型" width="130" align="center" show-overflow-tooltip>
           <template #default="{ row }">{{ warningTypeText(row) }}</template>
@@ -86,7 +86,7 @@
             <el-tag :type="levelTagType(row.warningLevel)" size="small">{{ levelText(row.warningLevel) }}</el-tag>
           </template>
         </el-table-column>
-        <el-table-column label="预警内容" min-width="190" show-overflow-tooltip>
+        <el-table-column label="预警描述" min-width="190" show-overflow-tooltip>
           <template #default="{ row }">{{ row.content || '-' }}</template>
         </el-table-column>
         <el-table-column prop="ownershipUnit" label="权属单位" width="145" show-overflow-tooltip>
@@ -130,7 +130,7 @@
         <div class="section-box">
           <div class="section-title">预警信息</div>
           <el-descriptions :column="2" border size="small">
-            <el-descriptions-item label="预警编号">{{ currentDetail.warningNo || '-' }}</el-descriptions-item>
+            <el-descriptions-item label="预警单号">{{ currentDetail.warningNo || '-' }}</el-descriptions-item>
             <el-descriptions-item label="预警名称">{{ currentDetail.equipmentName || '-' }}</el-descriptions-item>
             <el-descriptions-item label="预警类型">{{ warningTypeText(currentDetail) }}</el-descriptions-item>
             <el-descriptions-item label="预警级别">
@@ -147,7 +147,7 @@
             <el-descriptions-item label="发布人">{{ currentDetail.publisher || '-' }}</el-descriptions-item>
             <el-descriptions-item label="创建人">{{ currentDetail.createBy || '-' }}</el-descriptions-item>
             <el-descriptions-item label="位置" :span="2">{{ currentDetail.location || '-' }}</el-descriptions-item>
-            <el-descriptions-item label="预警内容" :span="2">
+            <el-descriptions-item label="预警描述" :span="2">
               <div class="desc-text">{{ currentDetail.content || '-' }}</div>
             </el-descriptions-item>
             <el-descriptions-item v-if="currentDetail.remark" label="备注" :span="2">
@@ -310,7 +310,7 @@ function formatDateTime(value) {
   return String(value).replace('T', ' ').slice(0, 19)
 }
 
-/** 归档编号:预警解除即归档,编号由预警编号派生,稳定可追溯 */
+/** 归档编号:预警解除即归档,编号由预警单号派生,稳定可追溯 */
 function archiveNoOf(row) {
   if (!row?.warningNo) return '-'
   return `ARC${String(row.warningNo).replace(/^WRN/, '').slice(-12)}`
@@ -446,7 +446,7 @@ const exporting = ref(false)
 const EXPORT_PAGE_SIZE = 100
 
 const EXPORT_HEADER = [
-  '归档编号', '预警编号', '预警名称', '预警类型', '预警级别', '预警内容',
+  '归档编号', '预警单号', '预警名称', '预警类型', '预警级别', '预警描述',
   '权属单位', '位置', '预警时间', '发布人', '处置人', '归档时间', '处理状态'
 ]
 

+ 1 - 1
src/views/subSystem/lifeCompany/components/WarningContentCell.vue

@@ -9,7 +9,7 @@
       <button
         type="button"
         class="warning-content-trigger"
-        aria-label="查看完整预警内容"
+        aria-label="查看完整预警描述"
         @click.stop
       >
         {{ contentText }}

+ 2 - 2
src/views/subSystem/lifeCompany/components/WarningDetailDrawer.vue

@@ -40,7 +40,7 @@
         <section class="detail-section detail-section-first">
           <div class="section-heading"><span>预警信息</span></div>
           <el-descriptions :column="2" border>
-            <el-descriptions-item label="预警内容" :span="2">
+            <el-descriptions-item label="预警描述" :span="2">
               <div class="warning-content">{{ basic.warningContent || '-' }}</div>
             </el-descriptions-item>
             <el-descriptions-item v-if="basic.warningName" label="预警名称" :span="2">{{ basic.warningName }}</el-descriptions-item>
@@ -83,7 +83,7 @@
             <span class="section-count">{{ detail.alarmList.length }} 条</span>
           </div>
           <el-table :data="detail.alarmList" border size="small">
-            <el-table-column label="报警编号" min-width="170" show-overflow-tooltip>
+            <el-table-column label="报警单号" min-width="170" show-overflow-tooltip>
               <template #default="scope">{{ scope.row.alarmNo || scope.row.alarmId || '-' }}</template>
             </el-table-column>
             <el-table-column label="报警类型" prop="alarmType" min-width="120" show-overflow-tooltip />

+ 1 - 1
src/views/subSystem/lifeCompany/components/WarningReviewAction.vue

@@ -3,7 +3,7 @@
     <el-button v-hasPermi="['warning:warning:audit']" link type="primary" :disabled="busy" @click="open">核验</el-button>
     <el-dialog v-model="visible" title="预警核验" width="560px" append-to-body :close-on-click-modal="!busy" :close-on-press-escape="!busy" :before-close="close">
       <el-form ref="formRef" :model="form" :rules="rules" label-width="90px" :disabled="busy">
-        <el-form-item label="预警编号">{{ row.warningNo || row.warning_no || '—' }}</el-form-item>
+        <el-form-item label="预警单号">{{ row.warningNo || row.warning_no || '—' }}</el-form-item>
         <el-form-item label="核验结果" prop="result">
           <el-radio-group v-model="form.result">
             <el-radio v-if="allowed('CLEAR')" label="CLEAR">核查解除</el-radio>

+ 1 - 1
src/views/subSystem/lifeCompany/lAlertInformation/LCorrelation.vue

@@ -156,7 +156,7 @@
         <el-form-item label="告警类型">
           <el-input :model-value="associationDialog.row?.warningTypeText || '-'" disabled />
         </el-form-item>
-        <el-form-item label="报警内容">
+        <el-form-item label="报警描述">
           <el-input :model-value="buildAlarmContent(associationDialog.row)" type="textarea" :rows="3" disabled />
         </el-form-item>
         <el-form-item label="选择预警">

+ 7 - 7
src/views/subSystem/lifeCompany/lAlertInformation/LRelease.vue

@@ -16,10 +16,10 @@
 
     <el-card shadow="never" class="page-card">
       <el-form :model="queryParams" :inline="true">
-        <el-form-item label="预警编号">
+        <el-form-item label="预警单号">
           <el-input
             v-model="queryParams.warningNo"
-            placeholder="请输入预警编号"
+            placeholder="请输入预警单号"
             clearable
             style="width: 220px"
             @keyup.enter="handleQuery"
@@ -65,10 +65,10 @@
 
     <el-card shadow="never" class="page-card">
       <el-table v-loading="loading" :data="warningList">
-        <el-table-column label="预警编号" prop="warningNo" width="210" show-overflow-tooltip />
+        <el-table-column label="预警单号" prop="warningNo" width="210" show-overflow-tooltip />
 
         <el-table-column label="预警类型" prop="warningTypeText" width="120" />
-        <el-table-column label="预警内容" min-width="240">
+        <el-table-column label="预警描述" min-width="240">
           <template #default="scope"><WarningContentCell :content="scope.row.warningContent" /></template>
         </el-table-column>
         <el-table-column label="预警级别" width="110" align="center">
@@ -155,7 +155,7 @@
                 :rows="4"
                 maxlength="500"
                 show-word-limit
-                placeholder="请输入预警内容描述"
+                placeholder="请输入预警描述"
               />
             </el-form-item>
           </el-col>
@@ -317,7 +317,7 @@
 
     <el-dialog v-model="publishVisible" title="发布预警" width="560px" append-to-body destroy-on-close>
       <el-form label-width="90px">
-        <el-form-item label="预警编号">
+        <el-form-item label="预警单号">
           <el-input :model-value="publishRow?.warningNo || '-'" disabled />
         </el-form-item>
         <el-form-item label="处置人" required>
@@ -471,7 +471,7 @@ const formRules = {
   warningLevel: [{ required: true, message: "请选择预警级别", trigger: "change" }],
 
   deviceCode: [{ required: true, whitespace: true, message: "请选择关联设备", trigger: "change" }],
-  warningContent: [{ required: true, message: "请输入预警内容描述", trigger: "blur" }]
+  warningContent: [{ required: true, message: "请输入预警描述", trigger: "blur" }]
 };
 
 const warningTypeLabelMap = computed(() => {

+ 4 - 4
src/views/subSystem/lifeCompany/lAlertInformation/LReportUpload.vue

@@ -12,10 +12,10 @@
 
     <el-card shadow="never" class="page-card">
       <el-form :model="queryParams" :inline="true">
-        <el-form-item label="预警编号">
+        <el-form-item label="预警单号">
           <el-input
             v-model="queryParams.warningNo"
-            placeholder="请输入预警编号"
+            placeholder="请输入预警单号"
             clearable
             style="width: 220px"
             @keyup.enter="loadWarningOptions"
@@ -142,7 +142,7 @@
           </template>
           <el-empty v-if="!warningDetail.basicInfo" description="请先选择预警" />
           <el-descriptions v-else :column="1" border size="small">
-            <el-descriptions-item label="预警编号">{{ currentBasicInfo.warningNo || "-" }}</el-descriptions-item>
+            <el-descriptions-item label="预警单号">{{ currentBasicInfo.warningNo || "-" }}</el-descriptions-item>
             <el-descriptions-item label="预警类型">{{ currentBasicInfo.warningTypeText || "-" }}</el-descriptions-item>
             <el-descriptions-item label="预警级别">{{ currentBasicInfo.warningLevelText || "-" }}</el-descriptions-item>
             <el-descriptions-item label="发布人">{{ currentBasicInfo.publisher || "-" }}</el-descriptions-item>
@@ -235,7 +235,7 @@
               <h4>预警具体内容描述</h4>
             </div>
             <div class="desc-content">
-              <p class="warning-content">{{ currentBasicInfo.warningContent || "暂无预警内容描述" }}</p>
+              <p class="warning-content">{{ currentBasicInfo.warningContent || "暂无预警描述" }}</p>
               <p v-if="reportSummary"><strong>报告补充摘要:</strong>{{ reportSummary }}</p>
             </div>
           </div>

+ 7 - 7
src/views/subSystem/lifeCompany/lAlertInformation/LTobeHandled.vue

@@ -31,10 +31,10 @@
 
     <el-card shadow="never" class="page-card">
       <el-form :model="queryParams" :inline="true">
-        <el-form-item label="预警编号">
+        <el-form-item label="预警单号">
           <el-input
             v-model="queryParams.warningNo"
-            placeholder="请输入预警编号"
+            placeholder="请输入预警单号"
             clearable
             style="width: 220px"
             @keyup.enter="handleQuery"
@@ -60,8 +60,8 @@
             />
           </el-select>
         </el-form-item>
-        <el-form-item label="报警编号">
-          <el-input v-model="queryParams.alarmCode" placeholder="请输入报警编号" clearable style="width: 180px" />
+        <el-form-item label="报警单号">
+          <el-input v-model="queryParams.alarmCode" placeholder="请输入报警单号" clearable style="width: 180px" />
         </el-form-item>
         <el-form-item label="发布时间">
           <el-date-picker
@@ -96,15 +96,15 @@
         <el-table-column label="当前环节截止" min-width="165">
           <template #default="{ row }">{{ formatDateTime(row.stage_deadline || row.stageDeadline) }}</template>
         </el-table-column>
-        <el-table-column label="预警编号" prop="warningNo" width="210" show-overflow-tooltip />
+        <el-table-column label="预警单号" prop="warningNo" width="210" show-overflow-tooltip />
         <el-table-column label="预警专项" prop="warningSpecial" width="140" show-overflow-tooltip />
         <el-table-column label="预警类型" prop="warningTypeText" width="120" />
-        <el-table-column label="预警内容" min-width="240">
+        <el-table-column label="预警描述" min-width="240">
           <template #default="scope"><WarningContentCell :content="scope.row.warningContent" /></template>
         </el-table-column>
         <el-table-column label="处置人" prop="handler" width="120" />
         <el-table-column label="发布人" prop="publisher" width="120" />
-        <el-table-column label="报警编号" width="160">
+        <el-table-column label="报警单号" width="160">
           <template #default="scope">
             {{ scope.row.alarmCodeList.length ? scope.row.alarmCodeList.join(",") : "-" }}
           </template>

+ 1 - 1
src/views/subSystem/lifeCompany/lOverviewWarning/LTodayNot.vue

@@ -11,7 +11,7 @@
       <template #header><div class="card-title"><div><span>重点关注清单</span><em>{{ total }} 条</em></div><div class="filters"><el-select v-model="selectedType" clearable placeholder="全部预警类型" @change="resetPage"><el-option v-for="item in typeOptions" :key="item.value" :label="item.label" :value="item.value" /></el-select><el-select v-model="selectedLevel" clearable placeholder="全部级别" @change="resetPage"><el-option v-for="item in levelOptions" :key="item.value" :label="item.label" :value="item.value" /></el-select><el-input v-model="keyword" clearable placeholder="搜索编号、专项或单位" @keyup.enter="resetPage" @clear="resetPage"><template #prefix><el-icon><Search /></el-icon></template></el-input><el-button type="primary" @click="resetPage">查询</el-button></div></div></template>
       <el-table v-loading="tableLoading" :data="rows" stripe highlight-current-row empty-text="当前暂无未处置预警" @row-click="openDetail">
         <el-table-column label="关注" width="74" align="center"><template #default="{ row }"><span class="priority-dot" :class="`level-${warningLevelCode(row)}`" /></template></el-table-column>
-        <el-table-column label="预警编号" min-width="190" show-overflow-tooltip><template #default="{ row }">{{ row.warningNo || row.warning_no || '预警编号未生成' }}</template></el-table-column>
+        <el-table-column label="预警单号" min-width="190" show-overflow-tooltip><template #default="{ row }">{{ row.warningNo || row.warning_no || '预警单号未生成' }}</template></el-table-column>
         <el-table-column label="预警类型" width="120"><template #default="{ row }">{{ warningTypeText(row) }}</template></el-table-column>
         <el-table-column label="预警专项" min-width="150" show-overflow-tooltip><template #default="{ row }">{{ row.warningSpecial || row.warning_special || '未设置' }}</template></el-table-column>
         <el-table-column label="级别" width="100" align="center"><template #default="{ row }"><el-tag :type="warningLevelTag(row)">{{ warningLevelText(row) }}</el-tag></template></el-table-column>

+ 1 - 1
src/views/subSystem/lifeCompany/lOverviewWarning/Lhistory.vue

@@ -9,7 +9,7 @@
     <el-card shadow="never" class="table-card">
       <template #header><div class="card-title"><div><span>历史预警明细</span><em>{{ total }} 条</em></div><div class="filters"><el-select v-model="selectedSpecial" clearable placeholder="全部预警专项" @change="resetPage"><el-option v-for="item in specialStats" :key="item.specialName" :label="item.specialName" :value="item.specialName" /></el-select><el-input v-model="keyword" clearable placeholder="搜索编号、专项或单位" @keyup.enter="resetPage" @clear="resetPage"><template #prefix><el-icon><Search /></el-icon></template></el-input><el-button type="primary" @click="resetPage">查询</el-button></div></div></template>
       <el-table v-loading="tableLoading" :data="rows" stripe highlight-current-row empty-text="暂无符合条件的历史预警" @row-click="openDetail">
-        <el-table-column label="预警编号" min-width="190" show-overflow-tooltip><template #default="{ row }">{{ row.warningNo || row.warning_no || '预警编号未生成' }}</template></el-table-column>
+        <el-table-column label="预警单号" min-width="190" show-overflow-tooltip><template #default="{ row }">{{ row.warningNo || row.warning_no || '预警单号未生成' }}</template></el-table-column>
         <el-table-column label="预警类型" width="120"><template #default="{ row }">{{ warningTypeText(row) }}</template></el-table-column>
         <el-table-column label="预警专项" min-width="150" show-overflow-tooltip><template #default="{ row }">{{ row.warningSpecial || row.warning_special || '未设置' }}</template></el-table-column>
         <el-table-column label="预警级别" width="105" align="center"><template #default="{ row }"><el-tag :type="warningLevelTag(row)">{{ warningLevelText(row) }}</el-tag></template></el-table-column>

+ 1 - 1
src/views/subSystem/lifeCompany/lOverviewWarning/Ltoday.vue

@@ -13,7 +13,7 @@
     <el-card shadow="never" class="table-card">
       <template #header><div class="card-title"><div><span>{{ tabTitle }}</span><em>{{ total }} 条</em></div><div class="filters"><el-select v-model="warningType" clearable placeholder="全部类型" @change="resetPage"><el-option v-for="item in typeOptions" :key="item.value" :label="item.label" :value="item.value" /></el-select><el-select v-model="warningLevel" clearable placeholder="全部级别" @change="resetPage"><el-option v-for="item in levelOptions" :key="item.value" :label="item.label" :value="item.value" /></el-select><el-input v-model="keyword" clearable placeholder="搜索编号、专项或单位" class="search-input" @keyup.enter="resetPage" @clear="resetPage"><template #prefix><el-icon><Search /></el-icon></template></el-input><el-button type="primary" @click="resetPage">查询</el-button></div></div></template>
       <el-table v-loading="tableLoading" :data="rows" stripe highlight-current-row empty-text="暂无符合条件的预警" @row-click="openDetail">
-        <el-table-column label="预警编号" min-width="190" show-overflow-tooltip><template #default="{ row }">{{ row.warningNo || row.warning_no || '预警编号未生成' }}</template></el-table-column>
+        <el-table-column label="预警单号" min-width="190" show-overflow-tooltip><template #default="{ row }">{{ row.warningNo || row.warning_no || '预警单号未生成' }}</template></el-table-column>
         <el-table-column label="预警类型" width="120"><template #default="{ row }">{{ warningTypeText(row) }}</template></el-table-column>
         <el-table-column label="预警专项" min-width="150" show-overflow-tooltip><template #default="{ row }">{{ row.warningSpecial || row.warning_special || '未设置' }}</template></el-table-column>
         <el-table-column label="发布时间" min-width="165"><template #default="{ row }">{{ formatDashboardTime(row.publishTime || row.publish_time || row.createTime) }}</template></el-table-column>

+ 1 - 1
src/views/subSystem/lifeCompany/lOverviewWarning/dashboardShared.js

@@ -66,7 +66,7 @@ export function formatDashboardTime(value, fallback = '-') {
 export function detailView(row = {}) {
   return {
     warningId: listValue(row, 'warningId', 'warning_id'),
-    warningNo: listValue(row, 'warningNo', 'warning_no') || '预警编号未生成',
+    warningNo: listValue(row, 'warningNo', 'warning_no') || '预警单号未生成',
     warningType: warningTypeText(row),
     warningLevel: warningLevelText(row),
     warningSpecial: listValue(row, 'warningSpecial', 'warning_special') || '未设置',

+ 2 - 2
src/views/subSystem/lifeCompany/lhome/lHome.vue

@@ -137,11 +137,11 @@
               </el-tag>
             </template>
           </el-table-column>
-          <el-table-column label="预警编号" min-width="190" show-overflow-tooltip>
+          <el-table-column label="预警单号" min-width="190" show-overflow-tooltip>
             <template #default="{ row }">
               <div class="warning-name">
                 <i :class="`level-${warningLevelCode(row)}`" />
-                <span>{{ listValue(row, 'warningNo', 'warning_no') || '预警编号未生成' }}</span>
+                <span>{{ listValue(row, 'warningNo', 'warning_no') || '预警单号未生成' }}</span>
               </div>
             </template>
           </el-table-column>

+ 1 - 1
src/views/subSystem/lifeCompany/lstatistics/disposalEfficiency/index.vue

@@ -4,7 +4,7 @@
     <el-alert v-if="errorMessage" :title="errorMessage" type="error" show-icon closable @close="errorMessage = ''" />
     <div class="metric-grid"><div v-for="metric in metrics" :key="metric.label" class="metric-card"><span>{{ metric.label }}</span><strong>{{ metric.value }}</strong><small>{{ metric.note }}</small></div></div>
     <div class="chart-grid"><el-card shadow="never"><template #header><div class="card-title"><span>处置时效区间</span><em>小时</em></div></template><div ref="rangeRef" class="chart-box" /></el-card><el-card shadow="never"><template #header><div class="card-title"><span>专项平均处置时效</span><em>高时效优先督导</em></div></template><div ref="specialRef" class="chart-box" /></el-card></div>
-    <el-card shadow="never" class="table-card"><template #header><div class="card-title"><span>已处置预警明细</span><em>{{ total }} 条</em></div></template><el-table v-loading="loading" :data="rows" stripe><el-table-column prop="warningNo" label="预警编号" min-width="150"/><el-table-column label="预警专项" min-width="140"><template #default="{row}">{{ row.warning_special || row.warningSpecial || '-' }}</template></el-table-column><el-table-column label="发布时间" min-width="160"><template #default="{row}">{{ row.publish_time || row.publishTime || '-' }}</template></el-table-column><el-table-column label="处置时长" width="120"><template #default="{row}"><b>{{ row.dispose_hours ?? row.disposeHours ?? '-' }}</b> 小时</template></el-table-column><el-table-column label="状态" width="100"><template #default="{row}"><WarningStatusTag :status="row.status" /></template></el-table-column></el-table><pagination v-show="total > 0" v-model:page="query.pageNum" v-model:limit="query.pageSize" :total="total" @pagination="loadPage" /></el-card>
+    <el-card shadow="never" class="table-card"><template #header><div class="card-title"><span>已处置预警明细</span><em>{{ total }} 条</em></div></template><el-table v-loading="loading" :data="rows" stripe><el-table-column prop="warningNo" label="预警单号" min-width="150"/><el-table-column label="预警专项" min-width="140"><template #default="{row}">{{ row.warning_special || row.warningSpecial || '-' }}</template></el-table-column><el-table-column label="发布时间" min-width="160"><template #default="{row}">{{ row.publish_time || row.publishTime || '-' }}</template></el-table-column><el-table-column label="处置时长" width="120"><template #default="{row}"><b>{{ row.dispose_hours ?? row.disposeHours ?? '-' }}</b> 小时</template></el-table-column><el-table-column label="状态" width="100"><template #default="{row}"><WarningStatusTag :status="row.status" /></template></el-table-column></el-table><pagination v-show="total > 0" v-model:page="query.pageNum" v-model:limit="query.pageSize" :total="total" @pagination="loadPage" /></el-card>
   </div>
 </template>
 <script setup name="WarningDisposeEfficiency">

+ 1 - 1
src/views/subSystem/lifeCompany/lstatistics/industryAnalysis/index.vue

@@ -63,7 +63,7 @@
       </div>
       <el-table v-loading="loading || tableLoading" :data="rows" stripe empty-text="当前筛选条件暂无数据">
         <el-table-column prop="industryName" label="行业" min-width="110" />
-        <el-table-column prop="warningNo" label="预警编号" min-width="155" />
+        <el-table-column prop="warningNo" label="预警单号" min-width="155" />
 
         <el-table-column label="级别" width="80" align="center">
           <template #default="{ row }"><el-tag :type="levelTag(row.warningLevel)">{{ levelLabel(row.warningLevel) }}</el-tag></template>

+ 1 - 1
src/views/subSystem/lifeCompany/lstatistics/receiveEfficiency/index.vue

@@ -4,7 +4,7 @@
     <el-alert v-if="errorMessage" :title="errorMessage" type="error" show-icon closable @close="errorMessage = ''" />
     <div class="metric-grid"><div v-for="metric in metrics" :key="metric.label" class="metric-card"><span>{{ metric.label }}</span><strong>{{ metric.value }}</strong><small>{{ metric.note }}</small></div></div>
     <div class="chart-grid"><el-card shadow="never"><template #header><div class="card-title"><span>接警时效区间</span><em>从发布时间至首次接收</em></div></template><div ref="rangeRef" class="chart-box" /></el-card><el-card shadow="never"><template #header><div class="card-title"><span>按类型平均接警时效</span><em>小时</em></div></template><div ref="typeRef" class="chart-box" /></el-card></div>
-    <el-card shadow="never"><template #header><div class="card-title"><span>接警效率明细</span><em>{{ total }} 条</em></div></template><el-table v-loading="loading" :data="rows" stripe><el-table-column prop="warningNo" label="预警编号" min-width="150"/><el-table-column label="类型" min-width="120"><template #default="{row}">{{ typeLabel(row.warning_type||row.warningType) }}</template></el-table-column><el-table-column label="首次接警" min-width="160"><template #default="{row}">{{ row.receive_time||row.receiveTime||'-' }}</template></el-table-column><el-table-column label="接警时长" width="120"><template #default="{row}"><b>{{ row.receive_hours??row.receiveHours??'-' }}</b> 小时</template></el-table-column><el-table-column label="状态" width="100"><template #default="{row}"><WarningStatusTag :status="row.status">{{ statusLabels[row.status] || row.status }}</WarningStatusTag></template></el-table-column></el-table><pagination v-show="total > 0" v-model:page="query.pageNum" v-model:limit="query.pageSize" :total="total" @pagination="loadPage" /></el-card>
+    <el-card shadow="never"><template #header><div class="card-title"><span>接警效率明细</span><em>{{ total }} 条</em></div></template><el-table v-loading="loading" :data="rows" stripe><el-table-column prop="warningNo" label="预警单号" min-width="150"/><el-table-column label="类型" min-width="120"><template #default="{row}">{{ typeLabel(row.warning_type||row.warningType) }}</template></el-table-column><el-table-column label="首次接警" min-width="160"><template #default="{row}">{{ row.receive_time||row.receiveTime||'-' }}</template></el-table-column><el-table-column label="接警时长" width="120"><template #default="{row}"><b>{{ row.receive_hours??row.receiveHours??'-' }}</b> 小时</template></el-table-column><el-table-column label="状态" width="100"><template #default="{row}"><WarningStatusTag :status="row.status">{{ statusLabels[row.status] || row.status }}</WarningStatusTag></template></el-table-column></el-table><pagination v-show="total > 0" v-model:page="query.pageNum" v-model:limit="query.pageSize" :total="total" @pagination="loadPage" /></el-card>
   </div>
 </template>
 <script setup name="WarningReceiveEfficiency">

+ 1 - 1
src/views/subSystem/lifeCompany/lstatistics/today/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="statistics-page"><section class="page-head"><div><span class="eyebrow">LIVE WARNING DESK</span><h1>今日预警统计</h1><p>快速查看今日非草稿预警及处置进展。</p></div><el-button type="primary" :loading="loading" @click="loadData"><el-icon><Refresh /></el-icon>刷新数据</el-button></section>
     <div class="metric-grid"><button v-for="metric in metricCards" :key="metric.key" class="metric-card" :class="{active: activeStatus === metric.status}" @click="selectStatus(metric.status)"><span><WarningStatusTag v-if="metric.status" :status="metric.status">{{ metric.label }}</WarningStatusTag><template v-else>{{ metric.label }}</template></span><strong :style="metric.status ? { color: warningStatusColor(metric.status) } : undefined">{{ metric.value }}</strong><small>{{ metric.note }}</small></button></div>
-    <el-card shadow="never" class="table-card"><template #header><div class="card-title"><span>{{ activeStatus ? statusLabels[activeStatus] : '今日全部预警' }}</span><div><el-button text @click="selectStatus('')">全部</el-button><el-button type="primary" plain @click="loadData">刷新</el-button></div></div></template><el-table v-loading="loading" :data="rows" stripe empty-text="今日暂无预警"><el-table-column prop="warningNo" label="预警编号" min-width="150"/><el-table-column prop="warningType" label="预警类型" min-width="120"/><el-table-column prop="warningSpecial" label="预警专项" min-width="140"/><el-table-column prop="publishTime" label="发布时间" min-width="165"/><el-table-column label="处置状态" width="110"><template #default="{row}"><WarningStatusTag :status="row.status">{{ statusLabels[row.status] || row.status }}</WarningStatusTag></template></el-table-column></el-table><pagination v-show="total > 0" v-model:page="query.pageNum" v-model:limit="query.pageSize" :total="total" @pagination="loadPage" /></el-card>
+    <el-card shadow="never" class="table-card"><template #header><div class="card-title"><span>{{ activeStatus ? statusLabels[activeStatus] : '今日全部预警' }}</span><div><el-button text @click="selectStatus('')">全部</el-button><el-button type="primary" plain @click="loadData">刷新</el-button></div></div></template><el-table v-loading="loading" :data="rows" stripe empty-text="今日暂无预警"><el-table-column prop="warningNo" label="预警单号" min-width="150"/><el-table-column prop="warningType" label="预警类型" min-width="120"/><el-table-column prop="warningSpecial" label="预警专项" min-width="140"/><el-table-column prop="publishTime" label="发布时间" min-width="165"/><el-table-column label="处置状态" width="110"><template #default="{row}"><WarningStatusTag :status="row.status">{{ statusLabels[row.status] || row.status }}</WarningStatusTag></template></el-table-column></el-table><pagination v-show="total > 0" v-model:page="query.pageNum" v-model:limit="query.pageSize" :total="total" @pagination="loadPage" /></el-card>
   </div>
 </template>
 <script setup name="WarningToday">

+ 5 - 5
src/views/subSystem/lifeCompany/lwarningInfoCont/LAlertQuery.vue

@@ -30,8 +30,8 @@
 
     <el-card shadow="never" class="page-card">
       <el-form :model="queryParams" :inline="true">
-        <el-form-item label="预警编号">
-          <el-input v-model="queryParams.warningNo" placeholder="请输入预警编号" clearable style="width: 220px" @keyup.enter="handleQuery" />
+        <el-form-item label="预警单号">
+          <el-input v-model="queryParams.warningNo" placeholder="请输入预警单号" clearable style="width: 220px" @keyup.enter="handleQuery" />
         </el-form-item>
         <el-form-item label="预警类型">
           <el-select v-model="queryParams.warningType" clearable placeholder="请选择预警类型" style="width: 180px">
@@ -87,9 +87,9 @@
         <div class="section-title">预警查询</div>
       </template>
       <el-table :data="warningList" style="width: 100%" @row-click="handleSelectWarning">
-        <el-table-column label="预警编号" prop="warningNo" width="210" show-overflow-tooltip />
+        <el-table-column label="预警单号" prop="warningNo" width="210" show-overflow-tooltip />
         <el-table-column label="预警类型" prop="warningTypeText" width="120" />
-        <el-table-column label="预警内容" min-width="260">
+        <el-table-column label="预警描述" min-width="260">
           <template #default="scope"><WarningContentCell :content="scope.row.warningContent" /></template>
         </el-table-column>
         <el-table-column label="预警级别" width="110" align="center">
@@ -136,7 +136,7 @@
             <el-tab-pane :label="`已完成 (${completedTotal})`" name="completed" />
           </el-tabs>
           <el-table :data="trackList" height="360" @row-click="handleSelectWarningFromTrack">
-            <el-table-column label="预警编号" prop="warningNo" min-width="210" show-overflow-tooltip />
+            <el-table-column label="预警单号" prop="warningNo" min-width="210" show-overflow-tooltip />
             <el-table-column label="预警类型" prop="warningTypeText" width="120" />
             <el-table-column label="预警级别" width="100" align="center">
               <template #default="scope">

+ 5 - 5
src/views/subSystem/lifeCompany/lwarningInfoCont/LwarningDisp.vue

@@ -11,8 +11,8 @@
 
     <el-card shadow="never" class="page-card">
       <el-form :model="queryParams" :inline="true">
-        <el-form-item label="预警编号">
-          <el-input v-model="queryParams.warningNo" placeholder="请输入预警编号" clearable style="width: 220px" @keyup.enter="handleQuery" />
+        <el-form-item label="预警单号">
+          <el-input v-model="queryParams.warningNo" placeholder="请输入预警单号" clearable style="width: 220px" @keyup.enter="handleQuery" />
         </el-form-item>
         <el-form-item label="预警类型">
           <el-select v-model="queryParams.warningType" clearable placeholder="请选择预警类型" style="width: 180px">
@@ -65,9 +65,9 @@
 
     <el-card shadow="never" class="page-card">
       <el-table :data="warningList">
-        <el-table-column label="预警编号" prop="warningNo" width="210" show-overflow-tooltip />
+        <el-table-column label="预警单号" prop="warningNo" width="210" show-overflow-tooltip />
         <el-table-column label="预警类型" prop="warningTypeText" width="120" />
-        <el-table-column label="预警内容" min-width="240">
+        <el-table-column label="预警描述" min-width="240">
           <template #default="scope"><WarningContentCell :content="scope.row.warningContent" /></template>
         </el-table-column>
         <el-table-column label="预警级别" width="110" align="center">
@@ -115,7 +115,7 @@
 
     <el-dialog v-model="upgradeVisible" title="预警升级" width="560px" append-to-body>
       <el-form label-width="100px">
-        <el-form-item label="预警编号">
+        <el-form-item label="预警单号">
           <el-input :model-value="currentRow?.warningNo || '-'" disabled />
         </el-form-item>
         <el-form-item label="新预警级别">

+ 2 - 2
src/views/subSystem/manholeCover/caseHandling/circulation.vue

@@ -105,7 +105,7 @@
               <span class="vl">{{ workOrder ? (ORDER_STATUS[workOrder.orderStatus] || '—') : '未生成工单' }}</span>
             </div>
             <div class="statbox derived" v-if="workOrder">
-              <span class="lb">工单编号</span>
+              <span class="lb">工单号</span>
               <span class="vl mono">{{ workOrder.orderNo }}</span>
             </div>
           </div>
@@ -566,7 +566,7 @@ function goAudit() {
     query: { rootTypeId: '4', keyword: selectedAlarm.value.alarmNo }
   })
 }
-// 工单操作:跳转工单处置页,带工单编号作为关键字,处置页会自动填入并定位到该工单
+// 工单操作:跳转工单处置页,带工单号作为关键字,处置页会自动填入并定位到该工单
 function goWorkOrder() {
   if (!workOrder.value) return
   router.push({

+ 3 - 3
src/views/subSystem/manholeCover/operation/operationTask.vue

@@ -17,7 +17,7 @@
         <el-form-item label="关键字">
           <el-input
             v-model="queryParams.keyword"
-            placeholder="工单编号 / 设备编码 / 故障描述"
+            placeholder="工单号 / 设备编码 / 故障描述"
             clearable
             style="width: 240px"
             @keyup.enter="handleQuery"
@@ -47,7 +47,7 @@
 
     <el-card shadow="never" class="table-card">
       <el-table v-loading="loading" :data="list" border stripe>
-        <el-table-column label="工单编号" prop="orderNo" min-width="180" show-overflow-tooltip />
+        <el-table-column label="工单号" prop="orderNo" min-width="180" show-overflow-tooltip />
         <el-table-column label="故障描述" min-width="240">
           <template #default="{ row }">
             <el-tooltip
@@ -110,7 +110,7 @@
     <!-- 历史处置记录对话框 -->
     <el-dialog v-model="historyVisible" title="历史处置记录" width="760px" @close="historyList = []">
       <el-table v-loading="historyLoading" :data="historyList" border stripe>
-        <el-table-column prop="orderNo" label="工单编号" min-width="180" show-overflow-tooltip />
+        <el-table-column prop="orderNo" label="工单号" min-width="180" show-overflow-tooltip />
         <el-table-column label="故障描述" min-width="240">
           <template #default="{ row }">
             <span class="desc-cell">{{ row.orderDesc || '-' }}</span>

+ 2 - 2
src/views/subSystem/pipeNetwork/home/index.vue

@@ -130,7 +130,7 @@
         <section class="panel work-panel">
           <h3 class="panel-title">待办工单 <span class="title-count">{{ workOrders.length }} 条</span></h3>
           <el-table :data="workOrders" class="panel-table" :header-cell-style="tableHeaderStyle" size="small" v-loading="loading.work">
-            <el-table-column prop="orderNo" label="工单编号" min-width="110" show-overflow-tooltip />
+            <el-table-column prop="orderNo" label="工单号" min-width="110" show-overflow-tooltip />
             <el-table-column prop="orderDesc" label="工单描述" min-width="150" show-overflow-tooltip :formatter="(row) => row.orderDesc || '-'" />
             <el-table-column prop="deviceName" label="设备" min-width="110" show-overflow-tooltip :formatter="(row) => row.deviceName || row.deviceCode || '-'" />
             <el-table-column label="优先级" width="70">
@@ -319,7 +319,7 @@ const statusText = (s) => ({ normal: '在线', alert: '报警', offline: '离线
 function districtLabel(code) {
   return code == null ? '-' : (DISTRICT_MAP[code] ?? String(code))
 }
-/** 报警类型展示:优先报警内容,其次监测指标名称,绝不回退到编码 */
+/** 报警类型展示:优先报警描述,其次监测指标名称,绝不回退到编码 */
 function alarmTypeText(record) {
   return record.alarmContent || indicatorName(record, '其他报警')
 }

+ 1 - 1
src/views/subSystem/pipeNetwork/ops/workOrder/dispose.vue

@@ -8,7 +8,7 @@
             <label>关键字</label>
             <el-input
               v-model="queryParams.keyword"
-              placeholder="工单编号 / 设备编码 / 故障描述"
+              placeholder="工单号 / 设备编码 / 故障描述"
               clearable
               style="width: 240px"
               @keyup.enter="doQuery"

+ 2 - 2
src/views/subSystem/pipeNetwork/ops/workOrder/index.vue

@@ -6,7 +6,7 @@
         <el-form-item label="关键字">
           <el-input
             v-model="queryParams.keyword"
-            placeholder="工单编号 / 设备编码 / 故障描述"
+            placeholder="工单号 / 设备编码 / 故障描述"
             clearable
             style="width: 240px"
             @keyup.enter="handleQuery"
@@ -52,7 +52,7 @@
 
     <el-card shadow="never" class="table-card">
       <el-table v-loading="loading" :data="list" border stripe>
-        <el-table-column label="工单编号" prop="orderNo" min-width="180" show-overflow-tooltip />
+        <el-table-column label="工单号" prop="orderNo" min-width="180" show-overflow-tooltip />
         <el-table-column label="故障描述" min-width="240">
           <template #default="{ row }">
             <el-tooltip

+ 2 - 2
src/views/subSystem/pipeNetwork/ops/workOrder/list.vue

@@ -6,7 +6,7 @@
         <el-form-item label="关键字">
           <el-input
             v-model="queryParams.keyword"
-            placeholder="工单编号 / 设备编码 / 故障描述"
+            placeholder="工单号 / 设备编码 / 故障描述"
             clearable
             style="width: 240px"
             @keyup.enter="handleQuery"
@@ -36,7 +36,7 @@
 
     <el-card shadow="never" class="table-card">
       <el-table v-loading="loading" :data="list" border stripe>
-        <el-table-column label="工单编号" prop="orderNo" min-width="180" show-overflow-tooltip />
+        <el-table-column label="工单号" prop="orderNo" min-width="180" show-overflow-tooltip />
         <el-table-column label="故障描述" min-width="240">
           <template #default="{ row }">
             <el-tooltip

+ 1 - 1
src/views/subSystem/waterSupply/components/WaterDeviceAbnormalPage.vue

@@ -203,7 +203,7 @@
 
                 <div class="detail-section-title">关联未办结工单</div>
                 <el-descriptions :column="1" border size="small">
-                    <el-descriptions-item label="工单编号">{{ detailRow.relatedOrderNo }}</el-descriptions-item>
+                    <el-descriptions-item label="工单号">{{ detailRow.relatedOrderNo }}</el-descriptions-item>
                     <el-descriptions-item label="工单状态">
                         {{ orderStatusText(detailRow.workOrderStatusCode) }}
                     </el-descriptions-item>

+ 2 - 2
src/views/subSystem/waterSupply/monitorAlarm/workOrder.vue

@@ -24,7 +24,7 @@
           <el-form-item label="关键词">
             <el-input
               v-model="queryParams.keyword"
-              placeholder="工单编号/设备编码"
+              placeholder="工单号/设备编码"
               clearable
               style="width: 200px"
             />
@@ -113,7 +113,7 @@
               <!-- 工单信息 -->
               <el-tab-pane label="工单信息" name="info">
                 <el-descriptions :column="2" border size="small">
-                  <el-descriptions-item label="工单编号">{{ selectedOrder.orderNo }}</el-descriptions-item>
+                  <el-descriptions-item label="工单号">{{ selectedOrder.orderNo }}</el-descriptions-item>
                   <el-descriptions-item label="工单状态">
                     <el-tag :type="orderStatusType(selectedOrder.orderStatus)" size="small">
                       {{ orderStatusText(selectedOrder.orderStatus) }}