|
@ -3,7 +3,7 @@ import { useNavigate } from 'react-router'; |
|
|
import icon_arr_r from '../assets/icon_arr_s_r.svg'; |
|
|
import icon_arr_r from '../assets/icon_arr_s_r.svg'; |
|
|
import { ChangeEvent, useState } from 'react'; |
|
|
import { ChangeEvent, useState } from 'react'; |
|
|
import { useAppDispatch, useAppSelector } from '../utils/hooks'; |
|
|
import { useAppDispatch, useAppSelector } from '../utils/hooks'; |
|
|
import { XB_CODES } from '../utils/constant'; |
|
|
|
|
|
|
|
|
import { DATA_SOURCE, LINE_CLASSIFY, XB_CODES } from '../utils/constant'; |
|
|
import { SaveMeasureDTO } from '../services/apiTypes'; |
|
|
import { SaveMeasureDTO } from '../services/apiTypes'; |
|
|
import Bridge from '../utils/bridge'; |
|
|
import Bridge from '../utils/bridge'; |
|
|
import { resetState } from '../store/features/measureSlice'; |
|
|
import { resetState } from '../store/features/measureSlice'; |
|
@ -20,8 +20,12 @@ export default function MeasureSave() { |
|
|
|
|
|
|
|
|
const [name, setName] = useState(''); |
|
|
const [name, setName] = useState(''); |
|
|
const [railPickerVisible, setRailPickerVisible] = useState(false); |
|
|
const [railPickerVisible, setRailPickerVisible] = useState(false); |
|
|
|
|
|
const [dataSourcePickerVisible, setDataSourcePickerVisible] = useState(false); |
|
|
|
|
|
const [lineClassPickerVisible, setLineClassPickerVisible] = useState(false); |
|
|
// const [railId, setRailId] = useState<(number | string | null)[]>([1]);
|
|
|
// const [railId, setRailId] = useState<(number | string | null)[]>([1]);
|
|
|
const [directionCode, setDirectionCode] = useState<string[]>([XB_CODES[0].value]); |
|
|
const [directionCode, setDirectionCode] = useState<string[]>([XB_CODES[0].value]); |
|
|
|
|
|
const [dataSourceCode, setDataSourceCode] = useState<string[]>([DATA_SOURCE[0].value]); |
|
|
|
|
|
const [lineClassCode, setLineClassCode] = useState<string[]>([LINE_CLASSIFY[0].value]); |
|
|
|
|
|
|
|
|
const onInputChange = (evt: ChangeEvent<HTMLInputElement>) => { |
|
|
const onInputChange = (evt: ChangeEvent<HTMLInputElement>) => { |
|
|
setName(evt.target.value); |
|
|
setName(evt.target.value); |
|
@ -72,6 +76,26 @@ export default function MeasureSave() { |
|
|
onChange={onInputChange} |
|
|
onChange={onInputChange} |
|
|
/> |
|
|
/> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div |
|
|
|
|
|
className="h-12 flex items-center border-b border-[#eee]" |
|
|
|
|
|
onClick={() => setDataSourcePickerVisible(true)} |
|
|
|
|
|
> |
|
|
|
|
|
<span>数据来源</span> |
|
|
|
|
|
<span className="ml-auto mr-4"> |
|
|
|
|
|
{DATA_SOURCE.find((r) => r.value === dataSourceCode[0])?.label || ''} |
|
|
|
|
|
</span> |
|
|
|
|
|
<img src={icon_arr_r} alt="arr" /> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div |
|
|
|
|
|
className="h-12 flex items-center border-b border-[#eee]" |
|
|
|
|
|
onClick={() => setLineClassPickerVisible(true)} |
|
|
|
|
|
> |
|
|
|
|
|
<span>线路分类</span> |
|
|
|
|
|
<span className="ml-auto mr-4"> |
|
|
|
|
|
{LINE_CLASSIFY.find((r) => r.value === lineClassCode[0])?.label || ''} |
|
|
|
|
|
</span> |
|
|
|
|
|
<img src={icon_arr_r} alt="arr" /> |
|
|
|
|
|
</div> |
|
|
<div className="h-12 flex items-center " onClick={() => setRailPickerVisible(true)}> |
|
|
<div className="h-12 flex items-center " onClick={() => setRailPickerVisible(true)}> |
|
|
<span>行别</span> |
|
|
<span>行别</span> |
|
|
<span className="ml-auto mr-4"> |
|
|
<span className="ml-auto mr-4"> |
|
@ -99,6 +123,28 @@ export default function MeasureSave() { |
|
|
setDirectionCode(v as string[]); |
|
|
setDirectionCode(v as string[]); |
|
|
}} |
|
|
}} |
|
|
/> |
|
|
/> |
|
|
|
|
|
<Picker |
|
|
|
|
|
columns={[DATA_SOURCE]} |
|
|
|
|
|
visible={dataSourcePickerVisible} |
|
|
|
|
|
onClose={() => { |
|
|
|
|
|
setDataSourcePickerVisible(false); |
|
|
|
|
|
}} |
|
|
|
|
|
value={dataSourceCode} |
|
|
|
|
|
onConfirm={(v) => { |
|
|
|
|
|
setDataSourceCode(v as string[]); |
|
|
|
|
|
}} |
|
|
|
|
|
/> |
|
|
|
|
|
<Picker |
|
|
|
|
|
columns={[LINE_CLASSIFY]} |
|
|
|
|
|
visible={lineClassPickerVisible} |
|
|
|
|
|
onClose={() => { |
|
|
|
|
|
setLineClassPickerVisible(false); |
|
|
|
|
|
}} |
|
|
|
|
|
value={dataSourceCode} |
|
|
|
|
|
onConfirm={(v) => { |
|
|
|
|
|
setLineClassCode(v as string[]); |
|
|
|
|
|
}} |
|
|
|
|
|
/> |
|
|
</> |
|
|
</> |
|
|
); |
|
|
); |
|
|
} |
|
|
} |