From fc7e3ee0a956c65312f67d63ee5cf340f6fbdaff Mon Sep 17 00:00:00 2001
From: fanjia <3278303149@qq.com>
Date: Tue, 21 Apr 2026 17:46:30 +0800
Subject: [PATCH] =?UTF-8?q?=E5=93=8D=E5=BA=94=E6=83=85=E5=86=B5=E5=BC=B9?=
=?UTF-8?q?=E7=AA=97=E7=AD=9B=E9=80=89=E5=8A=9F=E8=83=BD=E5=AE=8C=E6=88=90?=
=?UTF-8?q?=EF=BC=8C=E9=A2=84=E8=AD=A6=E6=83=85=E5=86=B5=E5=BC=B9=E7=AA=97?=
=?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=BD=B1=E5=93=8D=E5=8C=BA=E5=9F=9F=E8=BF=87?=
=?UTF-8?q?=E6=BB=A4=EF=BC=8C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Dialog/impactPointDetailDialog.vue | 8 ++--
.../Dialog/responsePointDetailDialog.vue | 2 +-
.../Dialog/responsePointInfoDialog.vue | 2 +-
.../Dialog/riskPointDetailDialog.vue | 2 +-
.../RiskWarning/Dialog/warningInfoDialog.vue | 40 ++++++++++++++++---
.../Dialog/warningSituationDialog.vue | 11 +++--
.../src/views/RiskWarning/component/index.js | 8 ++--
7 files changed, 54 insertions(+), 19 deletions(-)
diff --git a/packages/screen/src/views/RiskWarning/Dialog/impactPointDetailDialog.vue b/packages/screen/src/views/RiskWarning/Dialog/impactPointDetailDialog.vue
index b15d4b9..2874934 100644
--- a/packages/screen/src/views/RiskWarning/Dialog/impactPointDetailDialog.vue
+++ b/packages/screen/src/views/RiskWarning/Dialog/impactPointDetailDialog.vue
@@ -65,7 +65,7 @@
-
+
▍
照片
@@ -107,13 +107,13 @@
现场情况描述:
{{ record.description }}
-
-
![现场照片]()
-
+
![]()
+
-->
是否发现问题:
diff --git a/packages/screen/src/views/RiskWarning/Dialog/responsePointDetailDialog.vue b/packages/screen/src/views/RiskWarning/Dialog/responsePointDetailDialog.vue
index be252f9..ff1f081 100644
--- a/packages/screen/src/views/RiskWarning/Dialog/responsePointDetailDialog.vue
+++ b/packages/screen/src/views/RiskWarning/Dialog/responsePointDetailDialog.vue
@@ -106,7 +106,7 @@
-
![现场照片]()
+
diff --git a/packages/screen/src/views/RiskWarning/Dialog/responsePointInfoDialog.vue b/packages/screen/src/views/RiskWarning/Dialog/responsePointInfoDialog.vue
index b63b792..74da4ab 100644
--- a/packages/screen/src/views/RiskWarning/Dialog/responsePointInfoDialog.vue
+++ b/packages/screen/src/views/RiskWarning/Dialog/responsePointInfoDialog.vue
@@ -126,7 +126,7 @@
class="detail-image"
@click="previewImage(patrolRecord.image)"
>
-
+
diff --git a/packages/screen/src/views/RiskWarning/Dialog/riskPointDetailDialog.vue b/packages/screen/src/views/RiskWarning/Dialog/riskPointDetailDialog.vue
index 339e75f..79f9f3d 100644
--- a/packages/screen/src/views/RiskWarning/Dialog/riskPointDetailDialog.vue
+++ b/packages/screen/src/views/RiskWarning/Dialog/riskPointDetailDialog.vue
@@ -156,7 +156,7 @@
class="detail-image"
@click="previewImage(patrolRecord.image)"
>
-
+
diff --git a/packages/screen/src/views/RiskWarning/Dialog/warningInfoDialog.vue b/packages/screen/src/views/RiskWarning/Dialog/warningInfoDialog.vue
index 5541346..fc5b5dc 100644
--- a/packages/screen/src/views/RiskWarning/Dialog/warningInfoDialog.vue
+++ b/packages/screen/src/views/RiskWarning/Dialog/warningInfoDialog.vue
@@ -21,8 +21,10 @@
{
currentPage.value = val;
fetchData();
};
-
+// 处理预警等级变化
+const handleWarningLevelChange = () => {
+ currentPage.value = 1;
+ fetchData();
+};
// 获取预警通知统计
const fetchData = async () => {
try {
@@ -222,7 +234,23 @@ const fetchData = async () => {
end: '',
offset: (currentPage.value - 1) * pageSize.value,
limit: pageSize.value,
+
+ riskLevel: filterForm.value.warningLevel || '',
+ countyName: '',
+ isExpire: filterForm.value.isEnded,
+ isReply: filterForm.value.isResponded,
};
+
+ if (regionOptions.value.length > 0) {
+ // 处理影响区域筛选
+ const selectedRegion = regionOptions.value.find(
+ option => option.value === filterForm.value.region
+ );
+ if (selectedRegion) {
+ params.countyName = selectedRegion.label == '全部' ? '' : selectedRegion.label || '';
+ }
+ }
+
if (props.dispatchDateRange.length > 0) {
params.start = formatDateTime(props.dispatchDateRange[0]) || '';
params.end = formatDateTime(props.dispatchDateRange[1]) || '';
@@ -303,7 +331,7 @@ watch(
.filter-item {
.filter-select {
- width: 120px;
+ width: 150px;
:deep(.el-input__wrapper) {
background-color: rgba(30, 70, 120, 0.4);
diff --git a/packages/screen/src/views/RiskWarning/Dialog/warningSituationDialog.vue b/packages/screen/src/views/RiskWarning/Dialog/warningSituationDialog.vue
index 354b4f0..946716d 100644
--- a/packages/screen/src/views/RiskWarning/Dialog/warningSituationDialog.vue
+++ b/packages/screen/src/views/RiskWarning/Dialog/warningSituationDialog.vue
@@ -187,7 +187,7 @@ const tableHeight = ref(300);
const tableColumns = ref([
{ prop: 'index', label: '序号', width: '' },
{ prop: 'riskLeve', label: '预警等级', width: '', slot: 'riskLeve' },
- { label: '来源', prop: 'source', width: '' },
+ { prop: 'source', label: '来源', width: '' },
{ prop: 'weatherType', label: '气象类型', width: '' },
{ prop: 'countyName', label: '影响区域', width: '' },
{ prop: 'warningTime', label: '生效时间', width: '' },
@@ -226,7 +226,12 @@ const fetchWarningData = async () => {
params.riskLevel = filterForm.value.riskLeve;
}
if (filterForm.value.countyName) {
- params.countyName = filterForm.value.countyName;
+ const selectedRegion = regionOptions.value.find(
+ option => option.value === filterForm.value.countyName
+ );
+ if (selectedRegion) {
+ params.countyName = selectedRegion.label == '全部' ? '' : selectedRegion.label || '';
+ }
}
if (filterForm.value.isEnded !== undefined && filterForm.value.isEnded !== '') {
params.isExpire = filterForm.value.isEnded;
@@ -250,9 +255,9 @@ const fetchWarningData = async () => {
tableData.value = list.map((item, index) => ({
index: index + 1,
riskLeve: item.riskLeve || '-',
+ source: item.source || '-',
weatherType: item.weatherType || '-',
countyName: item.countyName || '-',
- source: item.source || '-',
warningTime: item.startTime || '-',
endTime: item.endTime || '-',
impactCount: item.affectedCount || 0,
diff --git a/packages/screen/src/views/RiskWarning/component/index.js b/packages/screen/src/views/RiskWarning/component/index.js
index caa5fc3..fd5d133 100644
--- a/packages/screen/src/views/RiskWarning/component/index.js
+++ b/packages/screen/src/views/RiskWarning/component/index.js
@@ -54,7 +54,8 @@ export const fetchRoadConditionOptions = async () => {
label: item,
value: item,
}));
- typeOptions.value = options;
+ // 保留"全部"选项,并添加接口返回的数据
+ typeOptions.value = [{ label: '全部', value: '' }, ...options];
return options;
}
} catch (error) {
@@ -100,6 +101,7 @@ export const fetchControlMeasureOptions = async () => {
// 风险等级选项
export const riskLevelOptions = [
+ { label: '全部', value: '' },
{ label: '一级', value: '一级' },
{ label: '二级', value: '二级' },
{ label: '三级', value: '三级' },
@@ -125,8 +127,8 @@ export const pointLevelOptions = [
// 是否回应选项
export const isRespondedOptions = [
{ label: '全部', value: '' },
- { label: '是', value: 'yes' },
- { label: '否', value: 'no' },
+ { label: '是', value: true },
+ { label: '否', value: false },
];
// 预警等级选项