From 80909dfd4d42a9da919bb42bbf128eec2f62019e Mon Sep 17 00:00:00 2001
From: niedongsheng <605973111@qq.com>
Date: Fri, 10 Apr 2026 13:39:36 +0800
Subject: [PATCH] =?UTF-8?q?bugfix:=20=E6=B0=B4=E6=AF=81=E7=81=BE=E5=AE=B3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../DisasterManagement/DisasterDetail.vue | 20 +-------
.../DisasterManagement/DisasterReport.vue | 46 ++++++++-----------
.../WaterDisaster/WaterDisaster.vue | 37 ---------------
.../waterDisasterFormData.json | 4 --
....vue => WaterDisasterContinueReportPC.vue} | 26 +----------
...erDetail.vue => WaterDisasterDetailPC.vue} | 4 +-
....vue => WaterDisasterLossListDetailPC.vue} | 0
...anagement.vue => DisasterManagementPC.vue} | 0
...isasterReport.vue => DisasterReportPC.vue} | 2 +-
...ssList.vue => WaterDisasterLossListPC.vue} | 0
...erReport.vue => WaterDisasterReportPC.vue} | 6 +--
.../DisasterReport/waterMockJson.json | 8 +---
12 files changed, 29 insertions(+), 124 deletions(-)
rename packages/screen/src/views/DisasterManagement/DisasterDetail/{ContinueReport.vue => WaterDisasterContinueReportPC.vue} (94%)
rename packages/screen/src/views/DisasterManagement/DisasterDetail/{WaterDisasterDetail.vue => WaterDisasterDetailPC.vue} (99%)
rename packages/screen/src/views/DisasterManagement/DisasterDetail/{LossListDetail.vue => WaterDisasterLossListDetailPC.vue} (100%)
rename packages/screen/src/views/DisasterManagement/{DisasterManagement.vue => DisasterManagementPC.vue} (100%)
rename packages/screen/src/views/DisasterManagement/DisasterReport/{DisasterReport.vue => DisasterReportPC.vue} (97%)
rename packages/screen/src/views/DisasterManagement/DisasterReport/{LossList.vue => WaterDisasterLossListPC.vue} (100%)
rename packages/screen/src/views/DisasterManagement/DisasterReport/{WaterDisasterReport.vue => WaterDisasterReportPC.vue} (99%)
diff --git a/packages/mobile/src/views/DisasterManagement/DisasterDetail.vue b/packages/mobile/src/views/DisasterManagement/DisasterDetail.vue
index dd1edc0..d1003cc 100644
--- a/packages/mobile/src/views/DisasterManagement/DisasterDetail.vue
+++ b/packages/mobile/src/views/DisasterManagement/DisasterDetail.vue
@@ -72,33 +72,17 @@
{{ detailData.occurLocation || '-' }}
-
+
起点桩号:
{{ detailData.event?.startStakeNo || '-' }}
-
- 起点桩经度:
- {{ detailData.event?.startStakeLng || '-' }}
-
-
- 起点桩纬度:
- {{ detailData.event?.startStakeLat || '-' }}
-
-
+
止点桩号:
{{ detailData.event?.endStakeNo || '-' }}
-
- 止点桩经度:
- {{ detailData.event?.endStakeLng || '-' }}
-
-
- 止点桩纬度:
- {{ detailData.event?.endStakeLat || '-' }}
-
diff --git a/packages/mobile/src/views/DisasterManagement/DisasterReport.vue b/packages/mobile/src/views/DisasterManagement/DisasterReport.vue
index 88cbc26..bde9178 100644
--- a/packages/mobile/src/views/DisasterManagement/DisasterReport.vue
+++ b/packages/mobile/src/views/DisasterManagement/DisasterReport.vue
@@ -4,7 +4,7 @@
-
+
水毁灾害
冰雪灾害
@@ -12,20 +12,15 @@
-
-
+
+
-
+
@@ -37,7 +32,7 @@ import PageContainer from '@/components/PageContainer.vue'
import CurrentSite from '@/components/CurrentSite.vue'
import PanelItem from '@/components/PanelItem.vue'
import WaterDisaster from './WaterDisaster/WaterDisaster.vue'
-import { request } from "@shared/utils/request";
+import { request } from '@shared/utils/request'
import mockFormData from './waterDisasterFormData.json'
const router = useRouter()
@@ -52,7 +47,7 @@ const title = ref(!isContinue ? '灾毁填报' : '灾毁续报')
const eventType = ref('water')
// 表单数据
-const formData = ref(mockFormData)
+const formData = ref(route.query.mock ? mockFormData : {})
const waterDisasterRef = ref(null)
const submitting = ref(false)
@@ -69,7 +64,7 @@ const handleSubmit = async () => {
return
}
}
-
+
submitting.value = true
try {
// 获取表单数据
@@ -77,10 +72,10 @@ const handleSubmit = async () => {
if (eventType.value === 'water') {
formData = waterDisasterRef.value.getFormData()
}
-
+
// 添加事件类型和站点信息
const submitData = {
- ...formData,
+ ...formData
// 可以在这里添加站点信息等其他数据
}
@@ -90,16 +85,15 @@ const handleSubmit = async () => {
data: submitData
})
- if(res?.code === '00000') {
+ if (res?.code === '00000') {
showSuccessToast('提交成功')
+ // 提交成功后返回列表页
+ setTimeout(() => {
+ router.replace('/disasterManagement')
+ }, 1000)
} else {
showFailToast(res.message)
}
-
- // 提交成功后返回列表页
- setTimeout(() => {
- router.replace('/disasterManagement')
- }, 1000)
} catch (error) {
showFailToast('提交失败,请重试')
console.error('提交失败:', error)
@@ -126,10 +120,10 @@ const getDisasterDetail = async () => {
// 接口返回 Data 结构
const data = result.data
const newFormData = {
- ...data,
- lossList: null,
- report: formData.value.report,
- fileList: null
+ ...data,
+ lossList: null,
+ report: formData.value.report,
+ fileList: null
}
waterDisasterRef.value.initFormData(newFormData)
} else {
@@ -142,7 +136,7 @@ const getDisasterDetail = async () => {
}
onMounted(() => {
- if(route.query?.id) {
+ if (route.query?.id) {
getDisasterDetail()
} else {
waterDisasterRef.value.initFormData(formData.value)
@@ -189,4 +183,4 @@ onMounted(() => {
transform: translateX(-50%) scale(0.98);
}
}
-
\ No newline at end of file
+
diff --git a/packages/mobile/src/views/DisasterManagement/WaterDisaster/WaterDisaster.vue b/packages/mobile/src/views/DisasterManagement/WaterDisaster/WaterDisaster.vue
index 705f30c..7d7fbe0 100644
--- a/packages/mobile/src/views/DisasterManagement/WaterDisaster/WaterDisaster.vue
+++ b/packages/mobile/src/views/DisasterManagement/WaterDisaster/WaterDisaster.vue
@@ -35,29 +35,9 @@
-
-
-
-
-
-
-
- 校准经纬度
-
-
-
-
-
-
-
-
-
- 校准经纬度
-
-
@@ -205,8 +185,6 @@ const formData = reactive({
contactPhone: '', // 联系电话
damageCount: '', // 水毁处数
district: '', // 上报区县
- endStakeLat: '', // 止点纬度
- endStakeLng: '', // 止点经度
endStakeNo: '', // 止点桩号
estimatedRecoveryCost: '', // 恢复重建预估费用
inspectionMileage: '', // 巡查里程
@@ -214,8 +192,6 @@ const formData = reactive({
needsRecovery: '', // 是否需要恢复重建
repairProgress: '', // 抢险进度
reporterUnit: '', // 填报单位
- startStakeLat: '', // 起点纬度
- startStakeLng: '', // 起点经度
startStakeNo: '' // 起点桩号
},
@@ -363,19 +339,6 @@ const calibrateTime = () => {
showToast('时间已校准为当前时间')
}
-// 校准起点经纬度
-const calibrateStartCoord = () => {
- formData.event.startStakeLng = '108.41763025'
- formData.event.startStakeLat = '108.41763025'
- showToast('起点经纬度已校准')
-}
-
-// 校准止点经纬度
-const calibrateEndCoord = () => {
- formData.event.endStakeLng = '108.41763025'
- formData.event.endStakeLat = '108.41763025'
- showToast('止点经纬度已校准')
-}
// 图片上传处理
const afterImageRead = (file) => {
diff --git a/packages/mobile/src/views/DisasterManagement/waterDisasterFormData.json b/packages/mobile/src/views/DisasterManagement/waterDisasterFormData.json
index c961174..3608d4b 100644
--- a/packages/mobile/src/views/DisasterManagement/waterDisasterFormData.json
+++ b/packages/mobile/src/views/DisasterManagement/waterDisasterFormData.json
@@ -10,8 +10,6 @@
"contactPhone": "13812345678",
"damageCount": 3,
"district": "武侯区",
- "endStakeLat": "30.658712",
- "endStakeLng": "104.082356",
"endStakeNo": "K2251+200",
"estimatedRecoveryCost": 120.5,
"inspectionMileage": 25.6,
@@ -19,8 +17,6 @@
"needsRecovery": true,
"repairProgress": "抢险中",
"reporterUnit": "武侯区交通运输局",
- "startStakeLat": "30.652145",
- "startStakeLng": "104.075632",
"startStakeNo": "K2250+300"
},
"report": {
diff --git a/packages/screen/src/views/DisasterManagement/DisasterDetail/ContinueReport.vue b/packages/screen/src/views/DisasterManagement/DisasterDetail/WaterDisasterContinueReportPC.vue
similarity index 94%
rename from packages/screen/src/views/DisasterManagement/DisasterDetail/ContinueReport.vue
rename to packages/screen/src/views/DisasterManagement/DisasterDetail/WaterDisasterContinueReportPC.vue
index c4e4ac1..c98f449 100644
--- a/packages/screen/src/views/DisasterManagement/DisasterDetail/ContinueReport.vue
+++ b/packages/screen/src/views/DisasterManagement/DisasterDetail/WaterDisasterContinueReportPC.vue
@@ -138,7 +138,7 @@
import { ref, reactive, watch, computed } from 'vue'
import { ElMessage } from 'element-plus'
import { request } from '@shared/utils/request'
-import LossList from '../DisasterReport/LossList.vue'
+import LossList from '../DisasterReport/WaterDisasterLossListPC.vue'
// Props 定义
const props = defineProps({
@@ -164,8 +164,6 @@ const formData = reactive({
contactPhone: '',
damageCount: '',
district: '',
- endStakeLat: '',
- endStakeLng: '',
endStakeNo: '',
estimatedRecoveryCost: '',
inspectionMileage: '',
@@ -173,8 +171,6 @@ const formData = reactive({
needsRecovery: '',
repairProgress: '',
reporterUnit: '',
- startStakeLat: '',
- startStakeLng: '',
startStakeNo: ''
},
report: {
@@ -295,20 +291,6 @@ const calibrateTime = () => {
ElMessage.success('时间已校准为当前时间')
}
-// 校准起点经纬度
-const calibrateStartCoord = () => {
- formData.event.startStakeLng = '108.41763025'
- formData.event.startStakeLat = '108.41763025'
- ElMessage.success('起点经纬度已校准')
-}
-
-// 校准止点经纬度
-const calibrateEndCoord = () => {
- formData.event.endStakeLng = '108.41763025'
- formData.event.endStakeLat = '108.41763025'
- ElMessage.success('止点经纬度已校准')
-}
-
// 表单验证
const validate = () => {
if (!formData.occurTime) {
@@ -341,8 +323,6 @@ const resetForm = () => {
contactPhone: '',
damageCount: '',
district: '',
- endStakeLat: '',
- endStakeLng: '',
endStakeNo: '',
estimatedRecoveryCost: '',
inspectionMileage: '',
@@ -350,8 +330,6 @@ const resetForm = () => {
needsRecovery: '',
repairProgress: '',
reporterUnit: '',
- startStakeLat: '',
- startStakeLng: '',
startStakeNo: ''
},
report: {
@@ -426,8 +404,6 @@ defineExpose({
getFormData,
resetForm,
calibrateTime,
- calibrateStartCoord,
- calibrateEndCoord
})
diff --git a/packages/screen/src/views/DisasterManagement/DisasterDetail/WaterDisasterDetail.vue b/packages/screen/src/views/DisasterManagement/DisasterDetail/WaterDisasterDetailPC.vue
similarity index 99%
rename from packages/screen/src/views/DisasterManagement/DisasterDetail/WaterDisasterDetail.vue
rename to packages/screen/src/views/DisasterManagement/DisasterDetail/WaterDisasterDetailPC.vue
index 1d46067..8998446 100644
--- a/packages/screen/src/views/DisasterManagement/DisasterDetail/WaterDisasterDetail.vue
+++ b/packages/screen/src/views/DisasterManagement/DisasterDetail/WaterDisasterDetailPC.vue
@@ -254,9 +254,9 @@ import { onMounted, ref, computed } from 'vue'
import { useRouter, useRoute } from 'vue-router'
import { ElMessage } from 'element-plus'
import { ArrowLeft, Picture, VideoCamera } from '@element-plus/icons-vue'
-import ContinueReport from './ContinueReport.vue'
+import ContinueReport from './WaterDisasterContinueReportPC.vue'
import { request } from '@shared/utils/request'
-import LossListDetail from './LossListDetail.vue'
+import LossListDetail from './WaterDisasterLossListDetailPC.vue'
import FileUpload from '@/component/FileUpload/FileUpload.vue'
import mockData from '../DisasterReport/waterMockJson.json'
diff --git a/packages/screen/src/views/DisasterManagement/DisasterDetail/LossListDetail.vue b/packages/screen/src/views/DisasterManagement/DisasterDetail/WaterDisasterLossListDetailPC.vue
similarity index 100%
rename from packages/screen/src/views/DisasterManagement/DisasterDetail/LossListDetail.vue
rename to packages/screen/src/views/DisasterManagement/DisasterDetail/WaterDisasterLossListDetailPC.vue
diff --git a/packages/screen/src/views/DisasterManagement/DisasterManagement.vue b/packages/screen/src/views/DisasterManagement/DisasterManagementPC.vue
similarity index 100%
rename from packages/screen/src/views/DisasterManagement/DisasterManagement.vue
rename to packages/screen/src/views/DisasterManagement/DisasterManagementPC.vue
diff --git a/packages/screen/src/views/DisasterManagement/DisasterReport/DisasterReport.vue b/packages/screen/src/views/DisasterManagement/DisasterReport/DisasterReportPC.vue
similarity index 97%
rename from packages/screen/src/views/DisasterManagement/DisasterReport/DisasterReport.vue
rename to packages/screen/src/views/DisasterManagement/DisasterReport/DisasterReportPC.vue
index b4c9bfb..3bfa6d3 100644
--- a/packages/screen/src/views/DisasterManagement/DisasterReport/DisasterReport.vue
+++ b/packages/screen/src/views/DisasterManagement/DisasterReport/DisasterReportPC.vue
@@ -16,7 +16,7 @@ import { useRouter, useRoute } from 'vue-router'
import { ElMessage, ElMessageBox } from 'element-plus'
import { Plus, Upload } from '@element-plus/icons-vue'
import { request } from '@/utils/request'
-import WaterDisasterReport from './WaterDisasterReport.vue'
+import WaterDisasterReport from './WaterDisasterReportPC.vue'
const router = useRouter()
const route = useRoute()
diff --git a/packages/screen/src/views/DisasterManagement/DisasterReport/LossList.vue b/packages/screen/src/views/DisasterManagement/DisasterReport/WaterDisasterLossListPC.vue
similarity index 100%
rename from packages/screen/src/views/DisasterManagement/DisasterReport/LossList.vue
rename to packages/screen/src/views/DisasterManagement/DisasterReport/WaterDisasterLossListPC.vue
diff --git a/packages/screen/src/views/DisasterManagement/DisasterReport/WaterDisasterReport.vue b/packages/screen/src/views/DisasterManagement/DisasterReport/WaterDisasterReportPC.vue
similarity index 99%
rename from packages/screen/src/views/DisasterManagement/DisasterReport/WaterDisasterReport.vue
rename to packages/screen/src/views/DisasterManagement/DisasterReport/WaterDisasterReportPC.vue
index b6f23f7..d37522d 100644
--- a/packages/screen/src/views/DisasterManagement/DisasterReport/WaterDisasterReport.vue
+++ b/packages/screen/src/views/DisasterManagement/DisasterReport/WaterDisasterReportPC.vue
@@ -371,7 +371,7 @@ import { ElMessage } from 'element-plus'
import { Plus, Upload } from '@element-plus/icons-vue'
import mockData from './waterMockJson.json'
import { request } from '@/utils/request'
-import LossList from './LossList.vue'
+import LossList from './WaterDisasterLossListPC.vue'
import BlockItem from '@/component/BlockItem.vue'
import FileUpload from '@/component/FileUpload/FileUpload.vue'
@@ -407,8 +407,6 @@ const formData = reactive({
contactPhone: null, // 联系电话
damageCount: null, // 水毁处数
district: null, // 上报区县
- endStakeLat: null, // 止点纬度
- endStakeLng: null, // 止点经度
endStakeNo: null, // 止点桩号
estimatedRecoveryCost: null, // 恢复重建预估费用
inspectionMileage: null, // 巡查里程
@@ -416,8 +414,6 @@ const formData = reactive({
needsRecovery: null, // 是否需要恢复重建
repairProgress: null, // 抢险进度
reporterUnit: null, // 填报单位
- startStakeLat: null, // 起点纬度
- startStakeLng: null, // 起点经度
startStakeNo: null // 起点桩号
},
diff --git a/packages/screen/src/views/DisasterManagement/DisasterReport/waterMockJson.json b/packages/screen/src/views/DisasterManagement/DisasterReport/waterMockJson.json
index ce32ea7..b4b555f 100644
--- a/packages/screen/src/views/DisasterManagement/DisasterReport/waterMockJson.json
+++ b/packages/screen/src/views/DisasterManagement/DisasterReport/waterMockJson.json
@@ -10,17 +10,13 @@
"contactPhone": "13812345678",
"damageCount": 3,
"district": "武侯区",
- "endStakeLat": "30.658712",
- "endStakeLng": "104.082356",
"endStakeNo": "K2251+200",
"estimatedRecoveryCost": 120.5,
"inspectionMileage": 25.6,
"isBlocked": true,
"needsRecovery": true,
- "repairProgress": "抢修中",
+ "repairProgress": "抢险中",
"reporterUnit": "武侯区交通运输局",
- "startStakeLat": "30.652145",
- "startStakeLng": "104.075632",
"startStakeNo": "K2250+300"
},
"report": {
@@ -28,7 +24,7 @@
"strandedPersonCount": 12,
"deadCount": 0,
"strandedVehicleCount": 12,
- "disposalMeasures": "halfClose,bypass",
+ "disposalMeasures": "全幅封闭",
"actualRecoverTime": "2024-07-17 12:00:00",
"expectRecoverTime": "2024-07-18 18:00:00",
"injuredCount": 1,