| | |
| | | fetchEnabledOpenCityList, |
| | | getFenceDetail, |
| | | getFenceList, |
| | | updateFenceStatus, |
| | | validateFenceOperationStrategyShorten, |
| | | } from '@/service/api/operations' |
| | | import { uploadSingleFile } from '@/utils/upload' |
| | |
| | | const fence = fenceDetailData.value |
| | | if (!fence?.id) |
| | | return |
| | | const confirmed = await openConfirmDialog( |
| | | '提示', |
| | | '是否确认停运?停运后此区域停止派单,订单静默处理(已下单、进行中的订单正常执行)', |
| | | ) |
| | | if (!confirmed) |
| | | return |
| | | try { |
| | | const res = await updateFenceStatus({ id: fence.id, status: 2 }) |
| | | if (res.code === 200) { |
| | | window.$message?.success('停用成功') |
| | | const detailRes = await getFenceDetail(fence.id) |
| | | if (detailRes.code === 200) |
| | | fenceDetailData.value = detailRes.data |
| | | workbenchStore.markListNeedRefresh() |
| | | renderMapEntities() |
| | | } |
| | | else { |
| | | window.$message?.error(res.msg || '停用失败,请稍后重试。') |
| | | } |
| | | } |
| | | catch (e) { |
| | | window.$message?.error('停用失败,请稍后重试。') |
| | | // 与顶部“启用/停用”开关保持一致:走编辑保存链路,将 areaStatus 置为停用后按发布执行提交, |
| | | // 二次确认由 handleSaveFenceEdit 内部统一处理,避免与开关路径出现两套确认文案。 |
| | | const wasEditing = fenceEditMode.value |
| | | if (!wasEditing) |
| | | handleEnterFenceEdit() |
| | | fenceForm.value.areaStatus = 2 |
| | | await handleSaveFenceEdit(1) |
| | | // 用户在确认弹窗中取消,或保存未成功时不会退出编辑态; |
| | | // 此时静默恢复回详情态,避免残留在编辑视图。 |
| | | if (!wasEditing && fenceEditMode.value) { |
| | | const workflowState = buildFenceCancelEditState(fenceDetailData.value) |
| | | fenceForm.value = workflowState.fenceForm |
| | | fenceStrategyList.value = workflowState.fenceStrategyList |
| | | fenceEditMode.value = workflowState.fenceEditMode |
| | | fenceEditSnapshot.value = workflowState.fenceEditSnapshot |
| | | cleanupFenceEditorState() |
| | | renderMapEntities() |
| | | } |
| | | } |
| | | |