From 9ec3f14585a6a452a5603750df58c8527432ac56 Mon Sep 17 00:00:00 2001 From: niedongsheng <605973111@qq.com> Date: Fri, 10 Apr 2026 11:38:24 +0800 Subject: [PATCH 1/5] =?UTF-8?q?feat:=20=E6=B0=B4=E6=AF=81=E7=81=BE?= =?UTF-8?q?=E5=AE=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DisasterManagement/DisasterDetail.vue | 14 +- .../DisasterManagement/DisasterManagement.vue | 6 +- .../WaterDisaster/WaterDisaster.vue | 184 ++++++++--- .../waterDisasterFormData.json | 4 +- .../src/component/FileUpload/FileUpload.vue | 4 +- .../src/component/FileUpload/PreviewBlock.vue | 4 +- .../src/component/FileUpload/UploadBlock.vue | 6 +- .../src/component/VideoPreviewDialog.vue | 142 +++++++++ .../DisasterDetail/ContinueReport.vue | 18 +- .../DisasterDetail/LossListDetail.vue | 165 ++++++++++ .../DisasterDetail/WaterDisasterDetail.vue | 285 +++++++++--------- .../DisasterManagement/DisasterManagement.vue | 59 ++-- .../DisasterReport/WaterDisasterReport.vue | 6 +- 13 files changed, 663 insertions(+), 234 deletions(-) create mode 100644 packages/screen/src/component/VideoPreviewDialog.vue create mode 100644 packages/screen/src/views/DisasterManagement/DisasterDetail/LossListDetail.vue diff --git a/packages/mobile/src/views/DisasterManagement/DisasterDetail.vue b/packages/mobile/src/views/DisasterManagement/DisasterDetail.vue index a164499..dd1edc0 100644 --- a/packages/mobile/src/views/DisasterManagement/DisasterDetail.vue +++ b/packages/mobile/src/views/DisasterManagement/DisasterDetail.vue @@ -31,9 +31,9 @@ {{ detailData.event?.isBlocked ? '是' : '否' }} - +
- 抢修进度: + 抢险进度: {{ detailData.event?.repairProgress || '-' }}
@@ -165,7 +165,7 @@
- 处置情况: + 处置措施: {{ formatDisposalMeasures(report.disposalMeasures) || '-' }}
@@ -274,10 +274,10 @@ const getEventStatusType = () => { const formatDisposalMeasures = (measures) => { if (!measures) return '' const measureMap = { - halfClose: '半幅封闭', - fullClose: '全副封闭', - bypass: '便道通行', - normal: '正常通行' + '半幅封闭': '半幅封闭', + '全副封闭': '全副封闭', + '便道通行': '便道通行', + '正常通行': '正常通行' } return measures .split(',') diff --git a/packages/mobile/src/views/DisasterManagement/DisasterManagement.vue b/packages/mobile/src/views/DisasterManagement/DisasterManagement.vue index f6caa8d..652cfd6 100644 --- a/packages/mobile/src/views/DisasterManagement/DisasterManagement.vue +++ b/packages/mobile/src/views/DisasterManagement/DisasterManagement.vue @@ -124,7 +124,7 @@ const getDisasterTypeText = (item) => { // 可以根据 roadConditionType、repairProgress 或其他字段来生成类型标签 // 这里提供几种可能的映射方式 - // 方式1:根据抢修进度 + // 方式1:根据抢险进度 if (item.repairProgress) { return item.repairProgress } @@ -149,8 +149,8 @@ const getShortTypeName = (type) => { '积水': '积水', '积雪': '积雪', '其他': '其他', - '未抢修': '待抢修', - '抢修中': '抢修中', + '未抢险': '待抢险', + '抢险中': '抢险中', '已完成': '已完成', '高速公路': '高速', '国道': '国道', diff --git a/packages/mobile/src/views/DisasterManagement/WaterDisaster/WaterDisaster.vue b/packages/mobile/src/views/DisasterManagement/WaterDisaster/WaterDisaster.vue index cf3e45c..705f30c 100644 --- a/packages/mobile/src/views/DisasterManagement/WaterDisaster/WaterDisaster.vue +++ b/packages/mobile/src/views/DisasterManagement/WaterDisaster/WaterDisaster.vue @@ -9,8 +9,8 @@ - - + + @@ -73,10 +73,10 @@
- 半幅封闭 - 全副封闭 - 便道通行 - 正常通行 + 半幅封闭 + 全副封闭 + 便道通行 + 正常通行
@@ -148,30 +148,12 @@ + + + - - - - @@ -187,12 +169,13 @@ + + \ No newline at end of file diff --git a/packages/screen/src/views/DisasterManagement/DisasterDetail/ContinueReport.vue b/packages/screen/src/views/DisasterManagement/DisasterDetail/ContinueReport.vue index 7158c2b..c4e4ac1 100644 --- a/packages/screen/src/views/DisasterManagement/DisasterDetail/ContinueReport.vue +++ b/packages/screen/src/views/DisasterManagement/DisasterDetail/ContinueReport.vue @@ -3,19 +3,19 @@
- 续保信息 + 续报信息
- - 半幅封闭 - 全副封闭 - 便道通行 - 正常通行 - + + + + + + @@ -216,8 +216,8 @@ const blockedOptions = [ ] const repairProgressOptions = [ - { label: '未抢修', value: '未抢修' }, - { label: '抢修中', value: '抢修中' }, + { label: '未抢险', value: '未抢险' }, + { label: '抢险中', value: '抢险中' }, { label: '已完成', value: '已完成' } ] diff --git a/packages/screen/src/views/DisasterManagement/DisasterDetail/LossListDetail.vue b/packages/screen/src/views/DisasterManagement/DisasterDetail/LossListDetail.vue new file mode 100644 index 0000000..d8ecbde --- /dev/null +++ b/packages/screen/src/views/DisasterManagement/DisasterDetail/LossListDetail.vue @@ -0,0 +1,165 @@ + + + + + diff --git a/packages/screen/src/views/DisasterManagement/DisasterDetail/WaterDisasterDetail.vue b/packages/screen/src/views/DisasterManagement/DisasterDetail/WaterDisasterDetail.vue index 3bb01cd..1d46067 100644 --- a/packages/screen/src/views/DisasterManagement/DisasterDetail/WaterDisasterDetail.vue +++ b/packages/screen/src/views/DisasterManagement/DisasterDetail/WaterDisasterDetail.vue @@ -47,16 +47,25 @@
- 抢修进度: + 抢险进度: {{ detailData.event?.repairProgress || '-' }}
+ +
+ 处理措施: + {{ getBaseDisposalMeasures() }} +
+
水毁处数: {{ detailData.event?.damageCount || 0 }}
+
+ +
阻断里程: @@ -66,66 +75,24 @@ - -
- 发生时间: - {{ detailData.occurTime || '-' }} -
-
- -
- 线路编号: - {{ detailData.routeNo || '-' }} -
-
地点路线: {{ detailData.occurLocation || '-' }}
-
- -
起点桩号: {{ detailData.event?.startStakeNo || '-' }}
- -
- 起点桩经度: - {{ detailData.event?.startStakeLng || '-' }} -
-
- -
- 起点桩纬度: - {{ detailData.event?.startStakeLat || '-' }} -
-
-
- -
止点桩号: {{ detailData.event?.endStakeNo || '-' }}
- -
- 止点桩经度: - {{ detailData.event?.endStakeLng || '-' }} -
-
- -
- 止点桩纬度: - {{ detailData.event?.endStakeLat || '-' }} -
-
@@ -141,55 +108,37 @@ {{ detailData.event?.blockedPointName || '-' }}
- -
- 上报区县: - {{ detailData.event?.district || '-' }} -
-
- 巡查里程: - {{ detailData.event?.inspectionMileage ? detailData.event.inspectionMileage + '公里' : '-' }} + 所属区县: + {{ detailData.event?.district || '-' }}
+ +
+ 发生时间: + {{ detailData.occurTime || '-' }} +
+
+
+ +
是否恢复重建: {{ detailData.event?.needsRecovery ? '是' : '否' }}
- +
恢复重建预估费用: {{ detailData.event?.estimatedRecoveryCost ? detailData.event.estimatedRecoveryCost + '万元' : '-' }}
- - - -
- 联系人: - {{ detailData.event?.contactPerson || '-' }} -
-
- -
- 联系电话: - {{ detailData.event?.contactPhone || '-' }} -
-
- -
- 填报单位: - {{ detailData.event?.reporterUnit || '-' }} -
-
-
@@ -204,52 +153,83 @@
{{ report?.title }} - {{ report.reporterName || '-' }} {{ report.reportTime || '-' }} + 时间:{{ report.reportTime || '-' }}
+
+
+
+
+ 现场描述: + {{ report.siteDescription || '-' }} +
+
+ 处置措施: + {{ report.disposalMeasures || '-' }} +
+
+ 路产损失: + {{ report.totalLossAmount ? report.totalLossAmount + '万元' : '-' }} +
+
+ 实际恢复时间: + {{ report.actualRecoverTime || '-' }} +
+
+ 预计恢复时间: + {{ report.expectRecoverTime || '-' }} +
-
-
- 处置情况: - {{ formatDisposalMeasures(report.disposalMeasures) || '-' }} -
-
- 塌方及损失: - {{ getLossDescription(report) }} -
-
- 路产损失: - {{ report.totalLossAmount ? report.totalLossAmount + '万元' : '-' }} -
-
- 有无车辆滞留: - {{ getVehicleStrandedText(report) }} -
-
- 滞留车辆: - {{ report.strandedVehicleCount || 0 }}辆 -
-
- 预计恢复时间: - {{ report.expectRecoverTime || '-' }} -
-
- 实际恢复时间: - {{ report.actualRecoverTime || '-' }} -
-
- 现场描述: - {{ report.siteDescription || '-' }} -
+
+ 填报人: + {{ report.reporterName ? report.reporterName : '-' }} +
- -
- 附件: -
- - - {{ file.fileName }} - +
+ 联系电话: + {{ report.phone ? report.phone : '-' }} +
+
+ +
+
+ +
+ + + + {{ report.showDetail ? '点击关闭详情' : '点击查看详情' }} +
@@ -276,6 +256,8 @@ import { ElMessage } from 'element-plus' import { ArrowLeft, Picture, VideoCamera } from '@element-plus/icons-vue' import ContinueReport from './ContinueReport.vue' import { request } from '@shared/utils/request' +import LossListDetail from './LossListDetail.vue' +import FileUpload from '@/component/FileUpload/FileUpload.vue' import mockData from '../DisasterReport/waterMockJson.json' const router = useRouter() @@ -307,10 +289,16 @@ const continueReport = ref(null) const allReports = computed(() => { const reports = detailData.value.report?.map((item, index) => { - item.title = index === 0 ? '首报' : '续报' + index + if (index === detailData.value.report.length - 1) { + item.title = '首报' + } else { + item.title = '续报' + (detailData.value.report.length - 1 - index) + } + console.log(detailData.value.report.length - 1, ' ', index, ' -', item.title) return item }) || [] - return reports.reverse() + return reports + // return reports.reverse() }) // 是否有填报数据 @@ -328,14 +316,20 @@ const getEventStatusType = () => { return eventStatus.value === 1 ? 'success' : 'danger' } +const getBaseDisposalMeasures = () => { + const firstItem = allReports.value[0] + if (!firstItem) return '-' + return formatDisposalMeasures(firstItem.disposalMeasures || '') || '-' +} + // 格式化处置措施 const formatDisposalMeasures = (measures) => { if (!measures) return '' const measureMap = { - halfClose: '半幅封闭', - fullClose: '全副封闭', - bypass: '便道通行', - normal: '正常通行' + 半幅封闭: '半幅封闭', + 全副封闭: '全副封闭', + 便道通行: '便道通行', + 正常通行: '正常通行' } return measures .split(',') @@ -381,6 +375,7 @@ const getDisasterDetail = async () => { if (result?.data) { const data = result.data + console.log('🚀 ~ getDisasterDetail ~ data:', data) detailData.value = { event: data.event || null, report: data.report || [], @@ -397,7 +392,7 @@ const getDisasterDetail = async () => { const newFormData = { ...data, lossList: null, - report: mockData.report, + report: route.query.mock ? mockData.report : {}, fileList: null } continueReport.value?.initFormData(newFormData) @@ -416,25 +411,6 @@ const handleClickBack = () => { router.push('/disasterManagement') } -// 续报 -const handleContinueReport = () => { - router.push({ - path: '/disasterReport', - query: { - id: route.query.id, - eventId: detailData.value.event?.id, - isContinue: 'true' - } - }) -} - -// 预览附件 -const previewFile = (file) => { - if (file.fileUrl) { - window.open(file.fileUrl, '_blank') - } -} - onMounted(() => { getDisasterDetail() }) @@ -502,8 +478,12 @@ onMounted(() => { align-items: flex-start; line-height: 1.5; + & + .info-item { + margin-top: 10px; + } + .info-label { - width: 120px; + white-space: nowrap; flex-shrink: 0; color: #909399; font-size: 14px; @@ -612,7 +592,26 @@ onMounted(() => { margin-right: 10px; } .right-panel { - width: 400px; + width: 300px; } +} +.content-wrapper { + display: flex; + flex-direction: column; +} +.basic-info-wrapper { + display: flex; +} +.detal-info-wrapper { + margin-top: 10px; + border-top: 1px solid #efefef; + padding-top: 10px; +} +.info-list { + flex: 1; + overflow: hidden; +} +.file-list { + } diff --git a/packages/screen/src/views/DisasterManagement/DisasterManagement.vue b/packages/screen/src/views/DisasterManagement/DisasterManagement.vue index 68edc96..700557d 100644 --- a/packages/screen/src/views/DisasterManagement/DisasterManagement.vue +++ b/packages/screen/src/views/DisasterManagement/DisasterManagement.vue @@ -22,9 +22,8 @@ - - - + + @@ -87,20 +86,25 @@ {{ scope.$index + 1 }} - + - - + + - + + + - + @@ -148,6 +152,9 @@ />
+ + +
@@ -156,6 +163,8 @@ import { ref, reactive, onMounted } from 'vue' import { ElMessage } from 'element-plus' import { useRouter } from 'vue-router' import { request } from '@/utils/request' +import { Picture, VideoPlay } from '@element-plus/icons-vue' +import VideoPreviewDialog from '@/component/VideoPreviewDialog.vue' const router = useRouter() @@ -171,6 +180,11 @@ const filterForm = reactive({ pushStatus: '' // 推送状态 }) +const showPreviewImage = ref(false) +const selectedRow = ref(null) + +const videoPreviewDialog = ref(null) + // 日期范围 const dateRange = ref(null) @@ -221,7 +235,7 @@ const fetchData = async () => { // 实际接口调用 const response = await request({ - url: '/snow-ops-platform/unified-disaster/list', + url: '/snow-ops-platform/unified-disaster/pc/list', method: 'get', params }) @@ -313,21 +327,16 @@ const toReport = () => { // 查看图片 const viewImages = (row) => { - if (row.images && row.images.length) { - // 打开图片预览 - ElMessage.info('图片预览功能开发中') - } else { - ElMessage.info('暂无图片') - } + selectedRow.value = row + showPreviewImage.value = true } // 查看视频 const viewVideos = (row) => { - if (row.videos && row.videos.length) { - ElMessage.info('视频播放功能开发中') - } else { - ElMessage.info('暂无视频') - } + videoPreviewDialog.value.show({ + url: row.videos[0], + title: row.eventName + }) } // 分页大小改变 @@ -400,4 +409,4 @@ onMounted(() => { border-top: 1px solid #ebeef5; } } - \ No newline at end of file + diff --git a/packages/screen/src/views/DisasterManagement/DisasterReport/WaterDisasterReport.vue b/packages/screen/src/views/DisasterManagement/DisasterReport/WaterDisasterReport.vue index e5837d5..b6f23f7 100644 --- a/packages/screen/src/views/DisasterManagement/DisasterReport/WaterDisasterReport.vue +++ b/packages/screen/src/views/DisasterManagement/DisasterReport/WaterDisasterReport.vue @@ -77,8 +77,8 @@ - - + + @@ -414,7 +414,7 @@ const formData = reactive({ inspectionMileage: null, // 巡查里程 isBlocked: null, // 是否阻断 needsRecovery: null, // 是否需要恢复重建 - repairProgress: null, // 抢修进度 + repairProgress: null, // 抢险进度 reporterUnit: null, // 填报单位 startStakeLat: null, // 起点纬度 startStakeLng: null, // 起点经度 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 2/5] =?UTF-8?q?bugfix:=20=E6=B0=B4=E6=AF=81=E7=81=BE?= =?UTF-8?q?=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, From 2d3253ba0e3ae6d557f0bfadbf44b2aa192c332b Mon Sep 17 00:00:00 2001 From: niedongsheng <605973111@qq.com> Date: Fri, 10 Apr 2026 13:56:27 +0800 Subject: [PATCH 3/5] =?UTF-8?q?bugfix:=20=E4=BF=AE=E5=A4=8DH5=E6=97=A5?= =?UTF-8?q?=E6=9C=9F=E7=BB=84=E4=BB=B6=E8=BF=94=E5=9B=9E=E7=9A=84=E5=80=BC?= =?UTF-8?q?=E7=BC=BA=E5=B0=91=E7=A7=92=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/mobile/src/components/BaseDatePicker.vue | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/mobile/src/components/BaseDatePicker.vue b/packages/mobile/src/components/BaseDatePicker.vue index 360cfd9..5cdaeaf 100644 --- a/packages/mobile/src/components/BaseDatePicker.vue +++ b/packages/mobile/src/components/BaseDatePicker.vue @@ -55,6 +55,7 @@