diff --git a/packages/mobile/src/views/DisasterManagement/DisasterManagement.vue b/packages/mobile/src/views/DisasterManagement/DisasterManagement.vue index 68720bb..86af6ad 100644 --- a/packages/mobile/src/views/DisasterManagement/DisasterManagement.vue +++ b/packages/mobile/src/views/DisasterManagement/DisasterManagement.vue @@ -206,7 +206,7 @@ const handleClickItem = (item) => { router.push({ path: '/waterDisasterDetail', query: { - id: item.id + id: item.relationId } }) } diff --git a/packages/mobile/src/views/DisasterManagement/IceDisaster/IceDisaster.vue b/packages/mobile/src/views/DisasterManagement/IceDisaster/IceDisaster.vue index 28bdc8f..dee7365 100644 --- a/packages/mobile/src/views/DisasterManagement/IceDisaster/IceDisaster.vue +++ b/packages/mobile/src/views/DisasterManagement/IceDisaster/IceDisaster.vue @@ -4,7 +4,7 @@ - + + + + + + + + + + + + + + + route.query.isContinue); @@ -169,7 +186,14 @@ const minDate = new Date(); const maxDate = new Date(2050, 11, 31); const formData = ref({ - event: {}, + event: { + startStakeNo: '', + startStakeLng: '', + startStakeLat: '', + endStakeNo: '', + endStakeLng: '', + endStakeLat: '', + }, report: {}, fileList: [], yhzMaterialList: [], @@ -205,25 +229,61 @@ const parsePointValue = point => { }; const handleRouteNoChange = (item = {}) => { - formData.routeNo = item.routeCode || formData.routeNo; - formData.event.startStakeNo = item.startStakeNo; - formData.event.endStakeNo = item.endStakeNo; + formData.value.event.routeNo = item.routeCode; + formData.value.event.startStakeNo = item.startStakeNo; + formData.value.event.endStakeNo = item.endStakeNo; const startPoint = parsePointValue(item.startPoint ?? item.startpoint); const endPoint = parsePointValue(item.endPoint ?? item.endpoint); - formData.event.startStakeLng = startPoint.longitude; - formData.event.startStakeLat = startPoint.latitude; - formData.event.endStakeLng = endPoint.longitude; - formData.event.endStakeLat = endPoint.latitude; + formData.value.event.startStakeLng = startPoint.longitude; + formData.value.event.startStakeLat = startPoint.latitude; + formData.value.event.endStakeLng = endPoint.longitude; + formData.value.event.endStakeLat = endPoint.latitude; }; const calibrateTime = isShowToast => { - formData.value.occurTime = formatDate(Date.now()); + formData.value.event.occurTime = formatDate(Date.now()); if (isShowToast) showToast('时间已校准为当前时间'); }; +const isEmpty = value => { + return value === null || value === undefined || value === ''; +}; + const validate = () => { + if (isEmpty(formData.value.report?.disposalMeasures)) { + showToast('请选择处置措施'); + return false; + } + if (isEmpty(formData.value.event?.occurTime)) { + showToast('请选择发生时间'); + return false; + } + if (isEmpty(formData.value.report?.expectRecoverTime)) { + showToast('请输入预计恢复时间'); + return false; + } + if (isEmpty(formData.value.event?.routeNo)) { + showToast('请输入线路编号'); + return false; + } + if (isEmpty(formData.value.event?.startStakeNo)) { + showToast('请输入起点桩号'); + return false; + } + if (isEmpty(formData.value.event?.endStakeNo)) { + showToast('请输入止点桩号'); + return false; + } + if (isEmpty(formData.value.event?.occurLocation)) { + showToast('请输入发生地点'); + return false; + } + if (isEmpty(formData.value.event?.disasterMileage)) { + showToast('请输入受灾里程'); + return false; + } return true; }; @@ -239,17 +299,22 @@ const handleSubmit = async () => { ...formData.value, // 可以在这里添加站点信息等其他数据 }; - + submitData.event.serviceStationId = yhzStore.getYHZInfo?.id + submitData.event.serviceStationName = yhzStore.getYHZInfo?.mc + + let apiUrl = formData.value.event?.id ? '/snow-ops-platform/event/dispose' : '/snow-ops-platform/event/report' + if(formData.value.event?.id && formData.value.report.disposalMeasures == '正常通行') { + apiUrl = '/snow-ops-platform/event/release' + } const res = await request({ - url: '/snow-ops-platform/event/addOrUpdate', + url: apiUrl, method: 'post', data: submitData, }); - if (res?.code === '00000') { showSuccessToast('提交成功'); let isRebuilded = false; - if (isContinue && detail.value.event.needsRecovery) { + if (isContinue.value && detail.value.event.needsRecovery) { // 如果之前已经进行了项目重建的流程,后续不再进行该流程 isRebuilded = true; } @@ -263,7 +328,7 @@ const handleSubmit = async () => { } else { // 提交成功后返回列表页 setTimeout(() => { - if (isContinue) router.go(-1); + if (isContinue.value) router.go(-1); else router.replace('/disasterManagement'); }, 500); } @@ -277,7 +342,7 @@ const handleSubmit = async () => { submitting.value = false; } }; -const detailData = ref(null); +const detail = ref(null); const getDisasterDetail = async () => { const id = route.query.id; if (!id) { @@ -300,7 +365,7 @@ const getDisasterDetail = async () => { data.report = {}; data.yhzMaterialList = []; data.fileList = []; - detailData.value = data; + detail.value = data; formData.value = data; } else { ElMessage.warning(result.message || '获取详情失败'); diff --git a/packages/mobile/src/views/DisasterManagement/IceDisaster/IceDisasterDetail.vue b/packages/mobile/src/views/DisasterManagement/IceDisaster/IceDisasterDetail.vue index 93abaf6..04c6c8c 100644 --- a/packages/mobile/src/views/DisasterManagement/IceDisaster/IceDisasterDetail.vue +++ b/packages/mobile/src/views/DisasterManagement/IceDisaster/IceDisasterDetail.vue @@ -1,5 +1,5 @@