diff --git a/src/pages/MeasureSave.tsx b/src/pages/MeasureSave.tsx index dd54fa9..ccf8b0f 100644 --- a/src/pages/MeasureSave.tsx +++ b/src/pages/MeasureSave.tsx @@ -20,8 +20,8 @@ export default function MeasureSave() { const [name, setName] = useState(''); const [batch, setBatch] = useState(''); - const [mile, setMile] = useState(10); - const [meter, setMeter] = useState(10); + const [mile, setMile] = useState('10'); + const [meter, setMeter] = useState('10'); const [turnoutNum, setTurnoutNum] = useState(1); const [sleeperNum, setSleeperNum] = useState(1); const [railPickerVisible, setRailPickerVisible] = useState(false); @@ -48,12 +48,14 @@ export default function MeasureSave() { setBatch(evt.target.value); } } else if (evt.target.name === 'mile') { - if (/^\d*$/.test(evt.target.value)) { - setMile(+evt.target.value); + const val = evt.target.value.replace(/^0+/, '') + if (/^\d*$/.test(val)) { + setMile(val || '0'); } } else if (evt.target.name === 'meter') { - if (/^\d*$/.test(evt.target.value)) { - setMeter(+evt.target.value); + const val = evt.target.value.replace(/^0+/, '') + if (/^\d*$/.test(val)) { + setMeter(val || '0'); } } else if (evt.target.name === 'turnoutNum') { if (/^\d*$/.test(evt.target.value)) { @@ -87,8 +89,8 @@ export default function MeasureSave() { lineClassify: LINE_CLASSIFY.find((l) => l.value === lineClassCode[0])!.label, dataSource: DATA_SOURCE.find((d) => d.value === dataSourceCode[0])!.label, unitType: UNIT_TYPES.find((u) => u.value === unitType[0])!.label, - mile, - meter, + mile: +mile, + meter: +meter, }; const dto: MeasurementDTO = { operator: 'klj_test', @@ -106,7 +108,7 @@ export default function MeasureSave() { turnoutNum: turnoutNum.toFixed(), sleeperNum: sleeperNum.toFixed(), unitType: unitType[0], - mileage: `${mile}+${meter.toString().padStart(3, '0')}`, + mileage: `${mile}+${meter.padStart(3, '0')}`, radius: '', extraDesc: JSON.stringify(desc), };