diff --git a/src/pages/Measure.tsx b/src/pages/Measure.tsx index b01c41e..68c10d7 100644 --- a/src/pages/Measure.tsx +++ b/src/pages/Measure.tsx @@ -9,10 +9,11 @@ import { useEffect, useRef, useState } from 'react'; import { rail6001, railTypes } from '../utils/constant'; import RailTypeBtn from '../components/RailTypeBtn'; -import { Picker, Toast } from 'antd-mobile'; +import { Cascader, Picker, Toast } from 'antd-mobile'; import { useAppDispatch, useAppSelector } from '../utils/hooks'; import { updateTaskState } from '../store/features/measureSlice'; import Bridge from '../utils/bridge'; +import { selectLabeledKtjOrgs } from '../store/features/baseData'; // declare global { // interface Window { @@ -35,11 +36,13 @@ import Bridge from '../utils/bridge'; export default function Measure() { const navigate = useNavigate(); const dispatch = useAppDispatch(); + const labeledKtjOrgs = useAppSelector((state) => selectLabeledKtjOrgs(state.baseData)); const measureState = useAppSelector((state) => state.measure); const canvasRef = useRef(null); const [railPickerVisible, setRailPickerVisible] = useState(false); + const [orgPickerVisible, setOrgPickerVisible] = useState(false); const [railId, setRailId] = useState<(number | string | null)[]>([1]); // 绘制轨型基准线 @@ -82,6 +85,13 @@ export default function Measure() { }); }; + const onOrgBarClick = async () => { + const value = await Cascader.prompt({ + options: labeledKtjOrgs, + placeholder: '请选择', + }); + Toast.show(value ? `你选择了 ${value.join(' - ')}` : '你没有进行选择'); + }; function stepState(step: StepName): StepState { if (!measureState.taskState) { return 'none'; @@ -162,7 +172,10 @@ export default function Measure() { -
+

北京铁路局 /客运段/京沪线/左侧

修改 diff --git a/src/pages/Setting.tsx b/src/pages/Setting.tsx index e868180..009fce2 100644 --- a/src/pages/Setting.tsx +++ b/src/pages/Setting.tsx @@ -42,7 +42,7 @@ export default function Setting() {
-
+ {/*

信息设置

@@ -71,7 +71,7 @@ export default function Setting() { /> -
+
*/}
保存
diff --git a/src/services/apiTypes.ts b/src/services/apiTypes.ts index 2fb3e80..3cb6a93 100644 --- a/src/services/apiTypes.ts +++ b/src/services/apiTypes.ts @@ -11,3 +11,16 @@ export type Measurement = { rightPoints: string; // json: 坐标数组 upload: boolean; }; + +export type KTJOrg = { + key: string; + value: string; + gwdDicList: Array<{ + key: string; + value: string; + railDicList: Array<{ + key: string; + value: string; + }>; + }>; +}; diff --git a/src/store/features/baseData.ts b/src/store/features/baseData.ts new file mode 100644 index 0000000..ecf5193 --- /dev/null +++ b/src/store/features/baseData.ts @@ -0,0 +1,26 @@ +import { createSelector, createSlice } from "@reduxjs/toolkit"; +import { KTJOrg } from "../../services/apiTypes"; +import { labeledKtjOrgs } from "../../utils/helper"; + +import { ktjOrgs } from "../../utils/constant"; + +interface BaseDataState { + ktjOrgs: KTJOrg[]; +} + +const initialState: BaseDataState = { + ktjOrgs: ktjOrgs as KTJOrg[], +} + +export const baseDataSlice = createSlice({ + name: 'baseData', + initialState, + reducers: {} +}); + +export default baseDataSlice.reducer; + +export const selectKtjOrgs = (state: BaseDataState) => state.ktjOrgs +export const selectLabeledKtjOrgs = createSelector(selectKtjOrgs,(orgs) => { + return labeledKtjOrgs(orgs) +}) diff --git a/src/store/index.ts b/src/store/index.ts index ecf8d59..f906725 100644 --- a/src/store/index.ts +++ b/src/store/index.ts @@ -2,13 +2,15 @@ import { configureStore } from '@reduxjs/toolkit'; import measureSlice from './features/measureSlice'; import contextSlice from './features/contextSlice'; import historySlice from './features/historySlice'; +import baseDataSlice from './features/baseData'; // configureStore创建一个redux数据 const store = configureStore({ // 合并多个Slice reducer: { measure: measureSlice, context: contextSlice, - history: historySlice + history: historySlice, + baseData: baseDataSlice, }, }); diff --git a/src/utils/constant.ts b/src/utils/constant.ts index a1b6f5a..f21631e 100644 --- a/src/utils/constant.ts +++ b/src/utils/constant.ts @@ -12,6 +12,1648 @@ export const rail6001 = { '[{"type":"arc","start": {"x": 0,"y": 0},"end": {"x": -9.949,"y": 0.165},"radius": 300,"color":"#339900","side":"right"},{"type":"arc","start": {"x": -9.949,"y": 0.165},"end": {"x": -25.35,"y": 2.185},"radius": 80,"color":"#336699","side":"right"},{"type":"arc","start": {"x": -25.35,"y": 2.185},"end": {"x": -35.4,"y": 14.2},"radius": 13,"color":"#660000","side":"right"},{"type":"arc","start": {"x": 0,"y": 0},"end": {"x": 9.949,"y": 0.165},"radius": 300,"color":"#99CCCC","side":"left"},{"type":"arc","start": {"x": 9.949,"y": 0.165},"end": {"x": 25.35,"y": 2.185},"radius": 80,"color":"#CC0033","side":"left"},{"type":"arc","start": {"x": 25.35,"y": 2.185},"end": {"x": 35.4,"y": 14.2},"radius": 13,"color":"#CC6600","side":"left"}]', }; + +export const ktjOrgs = [ + { + key: '003', + value: '北京局', + input: 'BJJ', + gwdDicList: [ + { + key: '03114', + value: '保定工务段', + input: 'BDGED', + railDicList: [ + { + key: 'BX1', + value: null, + input: 'BX1', + }, + { + key: 'BXJG', + value: null, + input: 'BXJG', + }, + { + key: 'JB3', + value: '津霸线', + input: 'JB3', + }, + { + key: 'JBKZ1', + value: null, + input: 'JBKZ1', + }, + { + key: 'JG', + value: '京广线', + input: 'JG', + }, + { + key: 'JJ', + value: '京九线', + input: 'JJ', + }, + ], + }, + { + key: '03333', + value: '北京大型养路机械运用检修段', + input: 'BJDXYLJXYYJXD', + railDicList: [], + }, + { + key: '03670', + value: '北京高铁工务段', + input: 'BJGTGWD', + railDicList: [ + { + key: 'JGG', + value: '京广高铁', + input: 'JGG', + }, + { + key: 'JHG', + value: '京沪高铁', + input: 'JHG', + }, + { + key: 'JHGS', + value: '京哈高速', + input: 'JHGS', + }, + { + key: 'JJCJ', + value: '京津城际', + input: 'JJCJ', + }, + { + key: 'TJXA', + value: null, + input: 'TJXA', + }, + { + key: 'TJXB', + value: null, + input: 'TJXB', + }, + ], + }, + { + key: '03115', + value: '北京工电大修段', + input: 'BJTLJBJGDDXD', + railDicList: [], + }, + { + key: '03101', + value: '北京工务段', + input: 'BJGWD', + railDicList: [ + { + key: 'FS2', + value: '丰双线', + input: 'FS2', + }, + { + key: 'JB', + value: '京包线', + input: 'JB', + }, + { + key: 'JBKZ', + value: '京包客专', + input: 'JBKZ', + }, + { + key: 'JC1', + value: '京承线', + input: 'JC1', + }, + { + key: 'JH', + value: '京沪线', + input: 'JH', + }, + { + key: 'JH1', + value: '京哈线', + input: 'JH1', + }, + { + key: 'JT', + value: '京通线', + input: 'JT', + }, + { + key: 'YQ1', + value: '延庆线', + input: 'YQ1', + }, + ], + }, + { + key: '03103', + value: '北京西工务段', + input: 'BJXGWD', + railDicList: [ + { + key: 'FS', + value: '丰沙线', + input: 'FS', + }, + { + key: 'JY', + value: '京原线', + input: 'JY', + }, + ], + }, + { + key: '03106', + value: '承德工务段', + input: 'CDGWD', + railDicList: [ + { + key: 'CL1', + value: '承隆线', + input: 'CL1', + }, + { + key: 'JC', + value: '锦承线', + input: 'JC', + }, + { + key: 'JC1', + value: '京承线', + input: 'JC1', + }, + { + key: 'JT', + value: '京通线', + input: 'JT', + }, + { + key: 'TB', + value: '唐包线', + input: 'TB', + }, + { + key: 'TH1', + value: '唐呼线', + input: 'TH1', + }, + ], + }, + { + key: '03102', + value: '丰台工务段', + input: 'FTGWD', + railDicList: [ + { + key: 'FS', + value: '丰沙线', + input: 'FS', + }, + { + key: 'FS2', + value: '丰双线', + input: 'FS2', + }, + { + key: 'JG', + value: '京广线', + input: 'JG', + }, + { + key: 'JH', + value: '京沪线', + input: 'JH', + }, + { + key: 'JH3X', + value: '京沪三线', + input: 'JH3X', + }, + { + key: 'JH4X', + value: '京沪四线', + input: 'JH4X', + }, + { + key: 'JJ', + value: '京九线', + input: 'JJ', + }, + { + key: 'JXCJ', + value: '京雄城际', + input: 'JXCJ', + }, + ], + }, + { + key: '03116', + value: '邯郸工务段', + input: 'HDGWD', + railDicList: [ + { + key: 'HC1', + value: '邯长线', + input: 'HC1', + }, + { + key: 'JG', + value: '京广线', + input: 'JG', + }, + ], + }, + { + key: '03117', + value: '衡水工务段', + input: 'HSGWD', + railDicList: [ + { + key: 'JJ', + value: '京九线', + input: 'JJ', + }, + { + key: 'SD3', + value: '石德线', + input: 'SD3', + }, + { + key: 'SJKZ', + value: '石济客专', + input: 'SJKZ', + }, + ], + }, + { + key: '03126', + value: '秦皇岛工务段', + input: 'QHDGWD', + railDicList: [ + { + key: 'JH1', + value: '京哈线', + input: 'JH1', + }, + { + key: 'JS', + value: '津山线', + input: 'JS', + }, + { + key: 'QC', + value: '迁曹线', + input: 'QC', + }, + { + key: 'TB', + value: '唐包线', + input: 'TB', + }, + { + key: 'TCX', + value: null, + input: 'TCX', + }, + { + key: 'TH1', + value: '唐呼线', + input: 'TH1', + }, + ], + }, + { + key: 'A06C007000', + value: '三家店工务段', + input: 'SJDGWD', + railDicList: [], + }, + { + key: '03113', + value: '石家庄工务段', + input: 'SJZGWD', + railDicList: [ + { + key: 'JG', + value: '京广线', + input: 'JG', + }, + { + key: 'SD3', + value: '石德线', + input: 'SD3', + }, + { + key: 'SJKZ', + value: '石济客专', + input: 'SJKZ', + }, + { + key: 'SJZXH', + value: '石家庄西环线', + input: 'SJZXH', + }, + { + key: 'ST', + value: '石太线', + input: 'ST', + }, + { + key: 'ST3', + value: '石太三线', + input: 'ST3', + }, + { + key: 'ST4', + value: '石太四线', + input: 'ST4', + }, + { + key: 'STK', + value: '石太客专', + input: 'STK', + }, + { + key: 'YDX1', + value: null, + input: 'YDX1', + }, + ], + }, + { + key: '03111', + value: '唐山工务段', + input: 'TSGWD', + railDicList: [ + { + key: 'HGL', + value: '哈港联', + input: 'HGL', + }, + { + key: 'JH1', + value: '京哈线', + input: 'JH1', + }, + { + key: 'JS', + value: '津山线', + input: 'JS', + }, + { + key: 'TB', + value: '唐包线', + input: 'TB', + }, + { + key: 'TH1', + value: '唐呼线', + input: 'TH1', + }, + ], + }, + { + key: '03108', + value: '天津工务段', + input: 'TJGWD', + railDicList: [ + { + key: 'BH', + value: '北环线', + input: 'BH', + }, + { + key: 'DBH', + value: '天津大北环', + input: 'DBH', + }, + { + key: 'JB3', + value: '津霸线', + input: 'JB3', + }, + { + key: 'JBKZ1', + value: null, + input: 'JBKZ1', + }, + { + key: 'JH', + value: '京沪线', + input: 'JH', + }, + { + key: 'JH3X', + value: '京沪三线', + input: 'JH3X', + }, + { + key: 'JJ1', + value: '津蓟线', + input: 'JJ1', + }, + { + key: 'JS', + value: '津山线', + input: 'JS', + }, + { + key: 'SD3', + value: '石德线', + input: 'SD3', + }, + { + key: 'TJXA', + value: null, + input: 'TJXA', + }, + { + key: 'TJXB', + value: null, + input: 'TJXB', + }, + { + key: 'TJXC', + value: null, + input: 'TJXC', + }, + ], + }, + { + key: '03105', + value: '张家口工务段', + input: 'ZJKGWD', + railDicList: [ + { + key: 'CL2', + value: '崇礼线', + input: 'CL2', + }, + { + key: 'FS', + value: '丰沙线', + input: 'FS', + }, + { + key: 'JB', + value: '京包线', + input: 'JB', + }, + { + key: 'JBKZ', + value: '京包客专', + input: 'JBKZ', + }, + { + key: 'TB', + value: '唐包线', + input: 'TB', + }, + { + key: 'TH1', + value: '唐呼线', + input: 'TH1', + }, + { + key: 'ZJ', + value: '张集线', + input: 'ZJ', + }, + ], + }, + ], + }, + { + key: '010', + value: '成都局', + input: 'CDJ', + gwdDicList: [ + { + key: 'A14C008000', + value: '成都高铁段', + input: 'CDGTD', + railDicList: [ + { + key: 'CG', + value: '成灌线', + input: 'CG', + }, + { + key: 'CGKZ', + value: '成贵客专线', + input: 'CGKZ', + }, + { + key: 'CSCL', + value: '丛树村联络线', + input: 'CSCL', + }, + { + key: 'CYGT', + value: null, + input: 'CYGT', + }, + { + key: 'CYX', + value: null, + input: 'CYX', + }, + { + key: 'DLL', + value: '都离联络线', + input: 'DLL', + }, + { + key: 'EMS', + value: '峨眉山线', + input: 'EMS', + }, + { + key: 'GBD3', + value: '贵阳北动走3线', + input: 'GBD3', + }, + { + key: 'GGKZ', + value: '贵广客专线', + input: 'GGKZ', + }, + { + key: 'LDGY', + value: '离堆公园线', + input: 'LDGY', + }, + { + key: 'MLGT', + value: null, + input: 'MLGT', + }, + { + key: 'PP', + value: '郫彭线', + input: 'PP', + }, + { + key: 'XCKZ', + value: '西成客专线', + input: 'XCKZ', + }, + { + key: 'YG', + value: '渝贵线', + input: 'YG', + }, + { + key: 'YGGKL', + value: '渝贵贵开联络线', + input: 'YGGKL', + }, + ], + }, + { + key: '10103', + value: '成都工务段', + input: 'CDGWD', + railDicList: [ + { + key: 'ATL', + value: '安天联络线', + input: 'ATL', + }, + { + key: 'BBSJ', + value: '北编疏解线', + input: 'BBSJ', + }, + { + key: 'BC', + value: '宝成线', + input: 'BC', + }, + { + key: 'BCBHL', + value: '宝成北环联络线', + input: 'BCBHL', + }, + { + key: 'CDBBH', + value: '成都北北端环线', + input: 'CDBBH', + }, + { + key: 'CDBH', + value: '成都北环线', + input: 'CDBH', + }, + { + key: 'CDCJD', + value: '成都东城际动走线', + input: 'CDCJD', + }, + { + key: 'CDDCD', + value: '成都东达成动走线', + input: 'CDDCD', + }, + { + key: 'CDDHX', + value: null, + input: 'CDDHX', + }, + { + key: 'CDNL', + value: '成都东站南联络线', + input: 'CDNL', + }, + { + key: 'CDXH', + value: '成都西环线', + input: 'CDXH', + }, + { + key: 'CG', + value: '成灌线', + input: 'CG', + }, + { + key: 'CGKZ', + value: '成贵客专线', + input: 'CGKZ', + }, + { + key: 'CGL', + value: '成灌联络线', + input: 'CGL', + }, + { + key: 'CH', + value: '成花线', + input: 'CH', + }, + { + key: 'CK', + value: '成昆线', + input: 'CK', + }, + { + key: 'CKXL', + value: '成昆西环联络线', + input: 'CKXL', + }, + { + key: 'CSCL', + value: '丛树村联络线', + input: 'CSCL', + }, + { + key: 'CW', + value: '成汶线', + input: 'CW', + }, + { + key: 'CY', + value: '成渝线', + input: 'CY', + }, + { + key: 'CYCBL', + value: '成渝成都北联络线', + input: 'CYCBL', + }, + { + key: 'CYGT', + value: null, + input: 'CYGT', + }, + { + key: 'CYSJ', + value: '成渝疏解线', + input: 'CYSJ', + }, + { + key: 'CYX', + value: null, + input: 'CYX', + }, + { + key: 'CYYR', + value: '成渝引入线', + input: 'CYYR', + }, + { + key: 'DC', + value: '达成线', + input: 'DC', + }, + { + key: 'HR', + value: '沪蓉线', + input: 'HR', + }, + { + key: 'QGL', + value: '旗公联络线', + input: 'QGL', + }, + { + key: 'XCKZ', + value: '西成客专线', + input: 'XCKZ', + }, + ], + }, + { + key: 'A14C016000', + value: '重庆工电段', + input: 'CQGDD', + railDicList: [ + { + key: 'CGLL', + value: null, + input: 'CGLL', + }, + { + key: 'HR', + value: '沪蓉线', + input: 'HR', + }, + { + key: 'JX1', + value: null, + input: 'JX1', + }, + { + key: 'WL', + value: '万凉线', + input: 'WL', + }, + { + key: 'XH1', + value: '兴胡线', + input: 'XH1', + }, + { + key: 'XS1L', + value: '襄遂Ⅰ联络线', + input: 'XS1L', + }, + { + key: 'XS2L', + value: '襄遂Ⅱ联络线', + input: 'XS2L', + }, + { + key: 'XSH1L', + value: '襄遂货车Ⅰ联络线', + input: 'XSH1L', + }, + { + key: 'XSH2L', + value: '襄遂货车Ⅱ联络线', + input: 'XSH2L', + }, + { + key: 'XY', + value: '襄渝线', + input: 'XY', + }, + { + key: 'YG', + value: '渝贵线', + input: 'YG', + }, + { + key: 'YH', + value: '渝怀线', + input: 'YH', + }, + { + key: 'ZYGT', + value: null, + input: 'ZYGT', + }, + ], + }, + { + key: '10209', + value: '重庆工务段', + input: 'CQGWD', + railDicList: [ + { + key: 'CDL', + value: '蔡东联络线', + input: 'CDL', + }, + { + key: 'CGLL', + value: null, + input: 'CGLL', + }, + { + key: 'CQ', + value: '川黔线', + input: 'CQ', + }, + { + key: 'CQXHD', + value: '重庆西环到线', + input: 'CQXHD', + }, + { + key: 'CY', + value: '成渝线', + input: 'CY', + }, + { + key: 'CYGT', + value: null, + input: 'CYGT', + }, + { + key: 'JGL', + value: '井歌联络线', + input: 'JGL', + }, + { + key: 'JX1', + value: null, + input: 'JX1', + }, + { + key: 'LCX', + value: '梨菜线', + input: 'LCX', + }, + { + key: 'LWL', + value: '凉雾联络线', + input: 'LWL', + }, + { + key: 'NS1', + value: '南疏1线', + input: 'NS1', + }, + { + key: 'NS2', + value: '南疏2线', + input: 'NS2', + }, + { + key: 'SJDLL', + value: null, + input: 'SJDLL', + }, + { + key: 'SL', + value: '四梨线', + input: 'SL', + }, + { + key: 'SW', + value: '三万线', + input: 'SW', + }, + { + key: 'TGYSJ', + value: '铜罐驿疏解线', + input: 'TGYSJ', + }, + { + key: 'TJCL2', + value: '团结村联络Ⅱ线', + input: 'TJCL2', + }, + { + key: 'TT1L', + value: '陶铜I联络线', + input: 'TT1L', + }, + { + key: 'TT2L', + value: '陶铜II联络线', + input: 'TT2L', + }, + { + key: 'WJ1', + value: '渭井线', + input: 'WJ1', + }, + { + key: 'XH1', + value: '兴胡线', + input: 'XH1', + }, + { + key: 'XL', + value: '小梨线', + input: 'XL', + }, + { + key: 'XL2', + value: '兴珞线', + input: 'XL2', + }, + { + key: 'XX', + value: null, + input: 'XX', + }, + { + key: 'XY', + value: '襄渝线', + input: 'XY', + }, + { + key: 'XYD', + value: '襄渝东线', + input: 'XYD', + }, + { + key: 'YG', + value: '渝贵线', + input: 'YG', + }, + { + key: 'YH', + value: '渝怀线', + input: 'YH', + }, + { + key: 'YXL', + value: '永西联络线', + input: 'YXL', + }, + ], + }, + { + key: '10104', + value: '达州工务段', + input: 'DZGWD', + railDicList: [ + { + key: 'DC', + value: '达成线', + input: 'DC', + }, + { + key: 'DS', + value: '达三线', + input: 'DS', + }, + { + key: 'DW', + value: '达万线', + input: 'DW', + }, + { + key: 'GD', + value: null, + input: 'GD', + }, + { + key: 'GGL', + value: '观广联络线', + input: 'GGL', + }, + { + key: 'GN', + value: '高南线', + input: 'GN', + }, + { + key: 'GXSJ', + value: '高兴疏解线', + input: 'GXSJ', + }, + { + key: 'SNL', + value: '三农联络线', + input: 'SNL', + }, + { + key: 'WL', + value: '万凉线', + input: 'WL', + }, + { + key: 'XDL', + value: '襄达联络线', + input: 'XDL', + }, + { + key: 'XDSJ', + value: '襄达疏解线', + input: 'XDSJ', + }, + { + key: 'XY', + value: '襄渝线', + input: 'XY', + }, + ], + }, + { + key: '10217', + value: '涪陵工务段', + input: 'FLGWD', + railDicList: [ + { + key: 'CDL', + value: '蔡东联络线', + input: 'CDL', + }, + { + key: 'FSX', + value: null, + input: 'FSX', + }, + { + key: 'HR', + value: '沪蓉线', + input: 'HR', + }, + { + key: 'JGL', + value: '井歌联络线', + input: 'JGL', + }, + { + key: 'LWL', + value: '凉雾联络线', + input: 'LWL', + }, + { + key: 'NF', + value: '南涪线', + input: 'NF', + }, + { + key: 'WJ1', + value: '渭井线', + input: 'WJ1', + }, + { + key: 'WL', + value: '万凉线', + input: 'WL', + }, + { + key: 'XH1', + value: '兴胡线', + input: 'XH1', + }, + { + key: 'XS1L', + value: '襄遂Ⅰ联络线', + input: 'XS1L', + }, + { + key: 'XS2L', + value: '襄遂Ⅱ联络线', + input: 'XS2L', + }, + { + key: 'XSH1L', + value: '襄遂货车Ⅰ联络线', + input: 'XSH1L', + }, + { + key: 'XSH2L', + value: '襄遂货车Ⅱ联络线', + input: 'XSH2L', + }, + { + key: 'XY', + value: '襄渝线', + input: 'XY', + }, + { + key: 'YH', + value: '渝怀线', + input: 'YH', + }, + ], + }, + { + key: '10502', + value: '贵阳高铁工务段', + input: 'GYGTGWD', + railDicList: [ + { + key: 'CGGYBLL', + value: null, + input: 'CGGYBLL', + }, + { + key: 'CGKZ', + value: '成贵客专线', + input: 'CGKZ', + }, + { + key: 'GGKZ', + value: '贵广客专线', + input: 'GGKZ', + }, + { + key: 'GK', + value: '贵开线', + input: 'GK', + }, + { + key: 'HKGS', + value: '沪昆高铁线', + input: 'HKGS', + }, + { + key: 'JYX', + value: null, + input: 'JYX', + }, + { + key: 'LLL', + value: '龙老联络线', + input: 'LLL', + }, + { + key: 'YG', + value: '渝贵线', + input: 'YG', + }, + ], + }, + { + key: '10312', + value: '贵阳工务段', + input: 'GYGWD', + railDicList: [ + { + key: 'CQ', + value: '川黔线', + input: 'CQ', + }, + { + key: 'CQGYLL', + value: null, + input: 'CQGYLL', + }, + { + key: 'CQHWR', + value: '川黔货车外绕线', + input: 'CQHWR', + }, + { + key: 'DQX', + value: '都清线', + input: 'DQX', + }, + { + key: 'GK', + value: '贵开线', + input: 'GK', + }, + { + key: 'GNJZ', + value: '贵阳南机走线', + input: 'GNJZ', + }, + { + key: 'GNKL', + value: '贵阳南贵阳客联络线', + input: 'GNKL', + }, + { + key: 'GNL', + value: '谷南联络线', + input: 'GNL', + }, + { + key: 'GNLL', + value: '改南联络线', + input: 'GNLL', + }, + { + key: 'GNXL', + value: '贵阳南西联络线', + input: 'GNXL', + }, + { + key: 'GSL', + value: '贵阳上行出发联络线', + input: 'GSL', + }, + { + key: 'GYHL', + value: '贵阳货联线', + input: 'GYHL', + }, + { + key: 'GYNH', + value: '贵阳南环线', + input: 'GYNH', + }, + { + key: 'GYNL', + value: '贵阳南联络线', + input: 'GYNL', + }, + { + key: 'GYXL', + value: '贵阳西联线', + input: 'GYXL', + }, + { + key: 'HCL', + value: '后巢联络线', + input: 'HCL', + }, + { + key: 'HK', + value: '沪昆线', + input: 'HK', + }, + { + key: 'HYX', + value: null, + input: 'HYX', + }, + { + key: 'HZ1', + value: '湖织线', + input: 'HZ1', + }, + { + key: 'KY', + value: '开阳线', + input: 'KY', + }, + { + key: 'LDZ', + value: '林歹支线', + input: 'LDZ', + }, + { + key: 'LLL', + value: '龙老联络线', + input: 'LLL', + }, + { + key: 'LN', + value: '龙南线', + input: 'LN', + }, + { + key: 'LX1', + value: '林新线', + input: 'LX1', + }, + { + key: 'NGL', + value: '南关联络线', + input: 'NGL', + }, + { + key: 'QG', + value: '黔桂线', + input: 'QG', + }, + { + key: 'TNX', + value: '土南线', + input: 'TNX', + }, + { + key: 'YG', + value: '渝贵线', + input: 'YG', + }, + { + key: 'YJ', + value: '久永线', + input: 'YJ', + }, + ], + }, + { + key: '10315', + value: '凯里工务段', + input: 'KLGWD', + railDicList: [ + { + key: 'HK', + value: '沪昆线', + input: 'HK', + }, + ], + }, + { + key: 'A14C012000', + value: '六盘水工电段', + input: 'LPSGDD', + railDicList: [ + { + key: 'ALKZ', + value: null, + input: 'ALKZ', + }, + { + key: 'BZ1', + value: null, + input: 'BZ1', + }, + { + key: 'CLL', + value: '曹六联络线', + input: 'CLL', + }, + { + key: 'HK', + value: '沪昆线', + input: 'HK', + }, + { + key: 'HYX', + value: null, + input: 'HYX', + }, + { + key: 'HZ', + value: '黄织线', + input: 'HZ', + }, + { + key: 'HZSJ', + value: '黄织疏解线', + input: 'HZSJ', + }, + { + key: 'LPSNH', + value: '六盘水南环线', + input: 'LPSNH', + }, + { + key: 'NL', + value: '内六线', + input: 'NL', + }, + { + key: 'NLSJ', + value: '内六疏解线', + input: 'NLSJ', + }, + { + key: 'NSL', + value: '南水联络线', + input: 'NSL', + }, + { + key: 'SBKL', + value: '水柏客联线', + input: 'SBKL', + }, + { + key: 'SBYR', + value: '水柏引入线', + input: 'SBYR', + }, + { + key: 'SD2', + value: '水大线', + input: 'SD2', + }, + { + key: 'SDZX', + value: null, + input: 'SDZX', + }, + ], + }, + { + key: '10102', + value: '绵阳工务段', + input: 'MYGWD', + railDicList: [ + { + key: 'BC', + value: '宝成线', + input: 'BC', + }, + { + key: 'BCHL', + value: '宝成货联', + input: 'BCHL', + }, + { + key: 'BCKL', + value: '宝成客联', + input: 'BCKL', + }, + { + key: 'DTX', + value: '德天线', + input: 'DTX', + }, + { + key: 'GB', + value: '广巴线', + input: 'GB', + }, + { + key: 'GD', + value: null, + input: 'GD', + }, + { + key: 'GY', + value: '广岳线', + input: 'GY', + }, + { + key: 'LYHL', + value: '兰渝货联', + input: 'LYHL', + }, + { + key: 'LYX', + value: null, + input: 'LYX', + }, + { + key: 'LYXCLL', + value: null, + input: 'LYXCLL', + }, + ], + }, + { + key: '10105', + value: '内江工务段', + input: 'NJGWD', + railDicList: [ + { + key: 'CY', + value: '成渝线', + input: 'CY', + }, + { + key: 'NJBLL', + value: null, + input: 'NJBLL', + }, + { + key: 'NL', + value: '内六线', + input: 'NL', + }, + { + key: 'YHX', + value: '宜珙线', + input: 'YHX', + }, + { + key: 'ZW', + value: '资威线', + input: 'ZW', + }, + ], + }, + { + key: '10421', + value: '遂宁工务段', + input: 'SNGWD', + railDicList: [ + { + key: 'DC', + value: '达成线', + input: 'DC', + }, + { + key: 'GN', + value: '高南线', + input: 'GN', + }, + { + key: 'HR', + value: '沪蓉线', + input: 'HR', + }, + { + key: 'LYX', + value: null, + input: 'LYX', + }, + { + key: 'NCDSJ', + value: '南充东疏解线', + input: 'NCDSJ', + }, + { + key: 'SNNL', + value: '遂宁南联络线', + input: 'SNNL', + }, + { + key: 'SNNSJ', + value: '遂宁南疏解线', + input: 'SNNSJ', + }, + { + key: 'SNSJ', + value: null, + input: 'SNSJ', + }, + { + key: 'SXL', + value: '遂新联络线', + input: 'SXL', + }, + { + key: 'WJ1', + value: '渭井线', + input: 'WJ1', + }, + { + key: 'XSH1L', + value: '襄遂货车Ⅰ联络线', + input: 'XSH1L', + }, + ], + }, + { + key: '10106', + value: '西昌工电段', + input: 'XCGWD', + railDicList: [ + { + key: 'CK', + value: '成昆线', + input: 'CK', + }, + { + key: 'CKDKL', + value: '成昆渡口联络线', + input: 'CKDKL', + }, + { + key: 'DKZ', + value: '渡口支线', + input: 'DKZ', + }, + { + key: 'EP', + value: null, + input: 'EP', + }, + { + key: 'EPX', + value: null, + input: 'EPX', + }, + { + key: 'XCNL', + value: '西昌南联络线', + input: 'XCNL', + }, + ], + }, + { + key: '10702', + value: '宜宾工电段', + input: 'YBGDD', + railDicList: [ + { + key: 'CGKZ', + value: '成贵客专线', + input: 'CGKZ', + }, + { + key: 'MLGT', + value: null, + input: 'MLGT', + }, + { + key: 'NL', + value: '内六线', + input: 'NL', + }, + { + key: 'YHX', + value: '宜珙线', + input: 'YHX', + }, + ], + }, + ], + }, +]; + export const railTypes = [ { id: 1, diff --git a/src/utils/helper.ts b/src/utils/helper.ts new file mode 100644 index 0000000..11eff67 --- /dev/null +++ b/src/utils/helper.ts @@ -0,0 +1,32 @@ +import { KTJOrg } from "../services/apiTypes"; + +export type LabelKTJOrg = { + label: string; + value: string; + children: Array<{ + label: string; + value: string; + children: Array<{ + label: string; + value: string; + }>; + }>; +}; + +export function labeledKtjOrgs(ktjOrgs: KTJOrg[]): LabelKTJOrg[] { + return ktjOrgs.map((org) => { + const _org: LabelKTJOrg = { + label: org.value || org.key, + value: org.key, + children: org.gwdDicList.map((gwd) => ({ + label: gwd.value || gwd.key, + value: gwd.key, + children: gwd.railDicList.map((rail) => ({ + label: rail.value || rail.key, + value: rail.key, + })), + })), + }; + return _org; + }); +}