diff --git a/src/pages/Measure.tsx b/src/pages/Measure.tsx index a85b525..6c32ec9 100644 --- a/src/pages/Measure.tsx +++ b/src/pages/Measure.tsx @@ -138,6 +138,15 @@ export default function Measure() { }, []) const onSaveClick = () => { + if (!contextState.currOrgCode) { + Dialog.alert({ + content: '请选择铁路局/工务段/线路', + onConfirm: () => { + onOrgBarClick(); + }, + }); + return; + } dispatch(updateMeasureData(newMeasureData)); navigate('/measure/save'); }; @@ -241,9 +250,12 @@ export default function Measure() { options: labeledKtjOrgs, placeholder: '请选择', }); + console.log(value) // Toast.show(value ? `你选择了 ${value.join(' - ')}` : '你没有进行选择'); - if (value) { + if (value?.length) { dispatch(updateOrg(value as string[])); + }else { + Toast.show('请选择组织机构'); } }; diff --git a/src/pages/MeasureSave.tsx b/src/pages/MeasureSave.tsx index e61b3eb..f059636 100644 --- a/src/pages/MeasureSave.tsx +++ b/src/pages/MeasureSave.tsx @@ -1,4 +1,4 @@ -import { NavBar, Picker, Toast } from 'antd-mobile'; +import {Mask, NavBar, Picker, SpinLoading, Toast} from 'antd-mobile'; import { useNavigate } from 'react-router'; import icon_arr_r from '../assets/icon_arr_s_r.svg'; import {ChangeEvent, useCallback, useEffect, useState} from 'react'; @@ -69,6 +69,8 @@ export default function MeasureSave() { if (evt.target.name === 'name') { if (evt.target.value.length <= 50) { setName(evt.target.value); + }else { + Toast.show('名称长度不能超过50个字符'); } } else if (evt.target.name === 'batch') { if (evt.target.value.length <= 10) { @@ -98,6 +100,8 @@ export default function MeasureSave() { useEffect(()=>{ setMeasureData(measureState.measureData) },[measureState.measureData]) + + const [loading, setLoading] = useState(false); const onSaveBtnClick = () => { if (!name) { return Toast.show('请输入测量名称'); @@ -105,6 +109,7 @@ export default function MeasureSave() { if (!batch) { return Toast.show('请输入批次号'); } + setLoading(true) const railType = baseState.railTypes.find((r) => r.id === contextState.currRailTypeId); const [tlj, gwd, xm] = orgTextArr; const desc: ExtraDesc = { @@ -151,7 +156,7 @@ export default function MeasureSave() { if (res.success) { Toast.show('保存成功'); setTimeout(() => { - navigate(-1); + navigate('/home/measure'); dispatch(resetState()); }, 300); } else { @@ -161,12 +166,22 @@ export default function MeasureSave() { Toast.show({ content: '操作失败', }); + }).finally(() => { + setLoading(false) }); }; return ( <>
+ {loading && ( + +
+ + 请稍候... +
+
+ )} 测量参数 diff --git a/src/pages/Setting.tsx b/src/pages/Setting.tsx index dbfa397..09cf9fe 100644 --- a/src/pages/Setting.tsx +++ b/src/pages/Setting.tsx @@ -1,4 +1,4 @@ -import { Mask, NavBar, Picker, SpinLoading, Toast } from 'antd-mobile'; +import {Mask, NavBar, Picker, SpinLoading, Switch, Toast} from 'antd-mobile'; import icon_arr_r from '../assets/icon_arr_s_r.svg'; import { useEffect, useRef, useState } from 'react'; import { useNavigate } from 'react-router'; @@ -13,6 +13,7 @@ export default function Setting() { const addrInput = useRef(null); const [standbyPickerVisible, setStandbyPickerVisible] = useState(false); + const [checked, setChecked] = useState(false) const [selectStandby, setSelectStandby] = useState([context.setting.standbyMinutes]); useEffect(() => { @@ -20,6 +21,7 @@ export default function Setting() { addrInput.current!.value = context.setting.server; } setSelectStandby([context.setting.standbyMinutes]); + setChecked(context.setting.todayNumberFlag) }, [context.setting]); useEffect(() => { @@ -38,7 +40,7 @@ export default function Setting() { const onSaveClick = async () => { const server = addrInput.current!.value; try { - const res = await dispatch(saveConfig({ server, standbyMinutes: selectStandby[0] })).unwrap(); + const res = await dispatch(saveConfig({ server, standbyMinutes: selectStandby[0], todayNumberFlag: checked })).unwrap(); if (res.success) { Toast.show('保存成功'); } @@ -71,6 +73,20 @@ export default function Setting() {
+
+
+

+ 上传信息设置 +

+
+
+
+ 名称加序号 + setChecked(!checked)} /> +
+
+
+ {context.device.connected && (
diff --git a/src/services/apiTypes.ts b/src/services/apiTypes.ts index a2b2de3..615a78b 100644 --- a/src/services/apiTypes.ts +++ b/src/services/apiTypes.ts @@ -13,6 +13,7 @@ export type Measurement = MeasurementDTO & { export type SettingDTO = { server: string; + todayNumberFlag: boolean; standbyMinutes: number; // 待机分钟数 }; diff --git a/src/store/features/contextSlice.ts b/src/store/features/contextSlice.ts index bf2ac19..af84ef7 100644 --- a/src/store/features/contextSlice.ts +++ b/src/store/features/contextSlice.ts @@ -60,6 +60,7 @@ const initialState: ContextState = { setting: { server: '', standbyMinutes: 20, + todayNumberFlag: true }, settingReqStatus: 'idle', error: undefined, diff --git a/src/utils/constant.ts b/src/utils/constant.ts index e337039..1a37533 100644 --- a/src/utils/constant.ts +++ b/src/utils/constant.ts @@ -1741,13 +1741,9 @@ export const standbyMinutes = [ value: 10, }, { - label: '20分钟', - value: 20, - }, - { - label: '30分钟', - value: 30, - }, + label: '15分钟', + value: 15, + } ]; export const DATA_SOURCE = [