LAPTOP-JI2IUVG1\26646 před 1 měsícem
rodič
revize
edcebb35bb

+ 10 - 11
src/views/subSystem/drainage/jcyj/dqyjgl.vue

@@ -65,9 +65,9 @@
             <el-tag :type="levelTagType(row.warningLevel)" size="small">{{ levelText(row.warningLevel) }}</el-tag>
           </template>
         </el-table-column>
-        <el-table-column prop="warningType" label="预警类型" width="110" align="center">
+        <el-table-column prop="deviceCode" label="预警类型" width="110" align="center">
           <template #default="{ row }">
-            {{ equipmentTypeMap.get(String(row.warningType)) || row.warningType || '-' }}
+            {{ equipmentTypeMap.get(String(row.deviceCode)) || row.deviceCode || row.warningType || '-' }}
           </template>
         </el-table-column>
         <el-table-column prop="warningSpecial" label="预警专项" width="110" align="center" show-overflow-tooltip />
@@ -115,8 +115,8 @@
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item label="预警类型">{{ equipmentTypeMap.get(String(currentOrder.warningType)) ||
-                  currentOrder.warningType }}</el-form-item>
+                <el-form-item label="预警类型">{{ equipmentTypeMap.get(String(currentOrder.deviceCode)) ||
+                  currentOrder.deviceCode || currentOrder.warningType }}</el-form-item>
               </el-col>
             </el-row>
             <el-row :gutter="20">
@@ -237,7 +237,7 @@ async function loadEquipmentTypes() {
     const map = new Map()
     if (Array.isArray(list)) {
       list.forEach(item => {
-        map.set(String(item.id), item.typeName)
+        if (item.typeId) map.set(String(item.typeId), item.typeName)
       })
     }
     equipmentTypeMap.value = map
@@ -270,11 +270,11 @@ const levelLegends = computed(() => [
   { name: '一般', value: tableData.value.filter(o => o.warningLevel === 3).length, color: '#409EFF' }
 ])
 const typeLegends = computed(() => {
-  const types = [...new Set(tableData.value.map(o => o.warningType).filter(Boolean))]
+  const types = [...new Set(tableData.value.map(o => o.deviceCode || o.warningType).filter(Boolean))]
   const colors = ['#409EFF', '#E6A23C', '#67C23A', '#F56C6C']
   return types.map((t, i) => ({
     name: equipmentTypeMap.value.get(String(t)) || t,
-    value: tableData.value.filter(o => o.warningType === t).length,
+    value: tableData.value.filter(o => (o.deviceCode || o.warningType) === t).length,
     color: colors[i % colors.length]
   }))
 })
@@ -298,14 +298,13 @@ async function loadData() {
   loading.value = true
   try {
     const params = {
-      equipmentType: 'drainage',
-      warningType: '2'
+      equipmentType: 'drainage'
     }
     if (filters.value.equipmentName) params.equipmentName = filters.value.equipmentName
     if (filters.value.warningLevel) params.warningLevel = filters.value.warningLevel
     if (filters.value.dateRange && filters.value.dateRange.length === 2) {
-      params.startTime = filters.value.dateRange[0]
-      params.endTime = filters.value.dateRange[1]
+      params.startTime = `${filters.value.dateRange[0]} 00:00:00`
+      params.endTime = `${filters.value.dateRange[1]} 23:59:59`
     }
     // 告诉后端只返回当前预警(未处置的)
     params.currentOnly = true

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

@@ -38,9 +38,9 @@
             <el-tag :type="levelTagType(row.warningLevel)" size="small">{{ levelText(row.warningLevel) }}</el-tag>
           </template>
         </el-table-column>
-        <el-table-column prop="warningType" label="预警类型" width="110" align="center">
+        <el-table-column prop="deviceCode" label="预警类型" width="110" align="center">
           <template #default="{ row }">
-            {{ equipmentTypeMap.get(String(row.warningType)) || row.warningType || '-' }}
+            {{ equipmentTypeMap.get(String(row.deviceCode)) || row.deviceCode || row.warningType || '-' }}
           </template>
         </el-table-column>
         <el-table-column prop="warningSpecial" label="预警专项" width="110" align="center" show-overflow-tooltip />
@@ -97,7 +97,7 @@
             <div class="info-row">
               <div class="info-item">
                 <span class="info-label">预警类型:</span>
-                <span class="info-value">{{ equipmentTypeMap.get(String(currentDetail.warningType)) || currentDetail.warningType || '-' }}</span>
+                <span class="info-value">{{ equipmentTypeMap.get(String(currentDetail.deviceCode)) || currentDetail.deviceCode || currentDetail.warningType || '-' }}</span>
               </div>
               <div class="info-item">
                 <span class="info-label">预警专项:</span>
@@ -158,7 +158,7 @@ async function loadEquipmentTypes() {
     const map = new Map()
     if (Array.isArray(list)) {
       list.forEach(item => {
-        map.set(String(item.id), item.typeName)
+        if (item.typeId) map.set(String(item.typeId), item.typeName)
       })
     }
     equipmentTypeMap.value = map
@@ -206,7 +206,8 @@ async function loadData() {
     // 历史页由后端按历史状态(HANDLED/CLOSED)限定;不再写死
     // 旧的数字类型和 HANDLED 状态,避免过滤掉实际历史记录。
     const params = {
-      historyOnly: true
+      historyOnly: true,
+      equipmentType: 'drainage'
     }
     if (filters.equipmentName) params.equipmentName = filters.equipmentName
     if (filters.warningLevel) params.warningLevel = filters.warningLevel