From 6476e38bee6506e3d92e67b5b5d1bd61ddf2cfa0 Mon Sep 17 00:00:00 2001 From: zhangjiming Date: Tue, 8 Apr 2025 10:31:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=9D=E5=AD=98=E5=90=8E=EF=BC=8C=E9=87=8D?= =?UTF-8?q?=E7=BD=AE=E6=B5=8B=E9=87=8F=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/MeasureSave.tsx | 8 +++++++- src/store/features/measureSlice.ts | 7 ++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/pages/MeasureSave.tsx b/src/pages/MeasureSave.tsx index fd2ef8f..ed33b25 100644 --- a/src/pages/MeasureSave.tsx +++ b/src/pages/MeasureSave.tsx @@ -2,15 +2,17 @@ import { NavBar, Picker, Toast } from 'antd-mobile'; import { useNavigate } from 'react-router'; import icon_arr_r from '../assets/icon_arr_s_r.svg'; import { ChangeEvent, useState } from 'react'; -import { useAppSelector } from '../utils/hooks'; +import { useAppDispatch, useAppSelector } from '../utils/hooks'; import { XB_CODES } from '../utils/constant'; import { selectLabeledKtjOrgs } from '../store/features/baseData'; import { textsOfKeys } from '../utils/helper'; import { SaveMeasureDTO } from '../services/apiTypes'; import Bridge from '../utils/bridge'; +import { resetState } from '../store/features/measureSlice'; export default function MeasureSave() { const navigate = useNavigate(); + const dispatch = useAppDispatch(); const back = () => navigate(-1); const contextState = useAppSelector((state) => state.context); @@ -43,6 +45,10 @@ export default function MeasureSave() { Bridge.saveMeasure(dto).then((res) => { if (res.success) { Toast.show('保存成功'); + setTimeout(() => { + navigate(-1); + dispatch(resetState()); + }, 300); } else { Toast.show(res.message); } diff --git a/src/store/features/measureSlice.ts b/src/store/features/measureSlice.ts index 5c5b631..534c45b 100644 --- a/src/store/features/measureSlice.ts +++ b/src/store/features/measureSlice.ts @@ -65,8 +65,13 @@ export const measureSlice = createSlice({ state.leftPoints.push(action.payload); } }, + resetState: (state) => { + state.taskState = undefined; + state.leftPoints = []; + state.rightPoints = []; + }, }, }); -export const { updateTaskState, addNewPoint } = measureSlice.actions; +export const { updateTaskState, addNewPoint, resetState } = measureSlice.actions; export default measureSlice.reducer;