Browse Source

优化公里和米的数字输入

master
zhangjiming 4 months ago
parent
commit
9e4b32b513
  1. 20
      src/pages/MeasureSave.tsx

20
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),
};

Loading…
Cancel
Save