224 lines
8.8 KiB
JavaScript
224 lines
8.8 KiB
JavaScript
const runPlan = {
|
||
namespaced: true,
|
||
|
||
state: {
|
||
stations: [], // 车站列表
|
||
planData: {}, // 运行图原始数据
|
||
editData: {}, // 运行图编辑数据
|
||
planSizeCount: 0, // 运行图canvas 大小变更标识
|
||
planLoadedCount: 0, // 运行图数据更新
|
||
// planUpdateCount: 0, // 运行图更新标识
|
||
selected: {}, // 选择的对象
|
||
width: 800, // 运行图canvas 容器 宽度
|
||
height: 600, // 运行图canvas 容器 高度
|
||
refreshCount: 0, // 刷新页面重新加载
|
||
initialPlanData: {}, // 运行图原始数据
|
||
draftSelected: {}, // 草稿运行图选中对象
|
||
draftStations: [], // 草稿运行图车站列表
|
||
runPlanMap: {}, // 运行图数据map(以id和version 为标识)
|
||
runPlanInfo: {}, // 运行图信息
|
||
loadRunPlanCount: 0 // 运行图加载数据完成
|
||
},
|
||
getters: {
|
||
stations: (state) => {
|
||
return state.stations || [];
|
||
},
|
||
draftStations: (state) => {
|
||
return state.draftStations || [];
|
||
},
|
||
getRunPlanData: (state) => {
|
||
if (!state.runPlanInfo || !state.runPlanInfo.templateId) {
|
||
return '';
|
||
} else {
|
||
return state.runPlanMap[`runPlan_${state.runPlanInfo.templateId}_${state.runPlanInfo.version}`];
|
||
}
|
||
}
|
||
},
|
||
mutations: {
|
||
setWidth: (state, width) => {
|
||
state.width = width;
|
||
state.planSizeCount += 1;
|
||
},
|
||
setHeight: (state, height) => {
|
||
state.height = height;
|
||
state.planSizeCount += 1;
|
||
},
|
||
setStations: (state, stations) => {
|
||
state.stations = stations;
|
||
},
|
||
setDraftStations: (state, stations) => {
|
||
state.draftStations = stations;
|
||
},
|
||
setInitialPlanData: (state, data) => {
|
||
state.initialPlanData = {};
|
||
if (data && data.serviceNumberDataList && data.serviceNumberDataList.length) {
|
||
const serviceList = data.serviceNumberDataList;
|
||
serviceList.forEach((service, i) => {
|
||
const trainList = service.tripNumberDataList;
|
||
state.initialPlanData[service.serviceNumber] = { oldIndex: i, serviceNumber: service.serviceNumber, backup: service.backup, trainMap: {} };
|
||
trainList.forEach((train, j) => {
|
||
state.initialPlanData[service.serviceNumber].trainMap[`${train.tripNumber}`] = { oldIndex: j, tripNumber: train.tripNumber, directionCode: train.directionCode, reentry: train.reentry, stationTimeList: train.stationTimeList };
|
||
});
|
||
});
|
||
}
|
||
},
|
||
setPlanData: (state, data) => {
|
||
state.planData = data;
|
||
state.editData = {};
|
||
if (data && data.serviceNumberDataList && data.serviceNumberDataList.length) {
|
||
const serviceList = data.serviceNumberDataList;
|
||
serviceList.forEach((service, i) => {
|
||
const trainList = service.tripNumberDataList;
|
||
state.editData[service.serviceNumber] = { oldIndex: i, serviceNumber: service.serviceNumber, backup: service.backup, trainMap: {} };
|
||
trainList.forEach((train, j) => {
|
||
// ${train.directionCode}
|
||
state.editData[service.serviceNumber].trainMap[`${train.tripNumber}`] = { oldIndex: j, tripNumber: train.tripNumber, directionCode: train.directionCode, reentry: train.reentry, stationTimeList: train.stationTimeList };
|
||
});
|
||
});
|
||
}
|
||
state.planLoadedCount++;
|
||
},
|
||
setDraftPlanData: (state, data) => {
|
||
state.draftPlanData = data;
|
||
state.draftEditData = {};
|
||
if (data && data.serviceNumberDataList && data.serviceNumberDataList.length) {
|
||
const serviceList = data.serviceNumberDataList;
|
||
serviceList.forEach((service, i) => {
|
||
const trainList = service.tripNumberDataList;
|
||
state.draftEditData[service.serviceNumber] = { oldIndex: i, serviceNumber: service.serviceNumber, backup: service.backup, trainMap: {} };
|
||
trainList.forEach((train, j) => {
|
||
// ${train.directionCode}
|
||
state.draftEditData[service.serviceNumber].trainMap[`${train.tripNumber}`] = { oldIndex: j, tripNumber: train.tripNumber, directionCode: train.directionCode, reentry: train.reentry, stationTimeList: train.stationTimeList };
|
||
});
|
||
});
|
||
}
|
||
},
|
||
setSelected: (state, selected) => {
|
||
state.selected = selected;
|
||
},
|
||
setDraftSelected: (state, draftSelected) => {
|
||
state.draftSelected = draftSelected;
|
||
},
|
||
addserviceNumber: (state, serviceNumber) => {
|
||
const serviceObj = state.planData[serviceNumber];
|
||
if (serviceObj) {
|
||
const oldIndex = serviceObj.oldIndex;
|
||
state.planData[serviceNumber] = { oldIndex, serviceNumber, trainMap: {} };
|
||
state.planLoadedCount++;
|
||
}
|
||
},
|
||
clear: (state) => {
|
||
// state.stations = [];
|
||
state.planData = {};
|
||
state.editData = {};
|
||
state.selected = {};
|
||
},
|
||
draftClear: (state) => {
|
||
state.draftPlanData = {};
|
||
state.draftEditData = {};
|
||
state.draftSelecte = {};
|
||
},
|
||
refresh: (state) => {
|
||
state.refreshCount++;
|
||
},
|
||
setRunPlanMap: ( state, data) => {
|
||
if (state.runPlanInfo && state.runPlanInfo.templateId) {
|
||
state.runPlanMap[`runPlan_${state.runPlanInfo.templateId}_${state.runPlanInfo.version}`] = data;
|
||
}
|
||
},
|
||
setRunPlanInfo: (state, data) => {
|
||
state.runPlanInfo = data;
|
||
},
|
||
loadRunPlanCountIncrease:(state, data) => {
|
||
state.loadRunPlanCount++;
|
||
}
|
||
},
|
||
actions: {
|
||
/** 设置运行图大小*/
|
||
resize({ commit }, opt) {
|
||
if (opt.width) {
|
||
commit('setWidth', opt.width);
|
||
}
|
||
if (opt.height) {
|
||
commit('setHeight', opt.height);
|
||
}
|
||
},
|
||
/** 设置stations数据 */
|
||
setStations: ({ commit }, mapModel) => {
|
||
return new Promise((resolve) => {
|
||
commit('setStations', mapModel);
|
||
resolve(mapModel);
|
||
});
|
||
},
|
||
/** 设置草稿stations数据 */
|
||
setDraftStations: ({ commit }, mapModel) => {
|
||
return new Promise((resolve) =>{
|
||
commit('setDraftStations', mapModel);
|
||
resolve(mapModel);
|
||
});
|
||
},
|
||
/** 重置运行图数据更新池 */
|
||
resetRunPlanData:({ commit }) => {
|
||
commit('resetRunPlanData');
|
||
},
|
||
/** 删除运行图第一条shuj */
|
||
shiftRunPlanData:({ commit }) => {
|
||
commit('shiftRunPlanData');
|
||
},
|
||
/** 设置运行图数据 */
|
||
setPlanData: ({ commit }, data) => {
|
||
commit('setPlanData', data);
|
||
},
|
||
setDraftPlanData: ({ commit }, data) => {
|
||
commit('setDraftPlanData', data);
|
||
},
|
||
/** 设置初始运行图数据 */
|
||
setInitialPlanData: ({ commit }, data) => {
|
||
commit('setInitialPlanData', data);
|
||
},
|
||
/** 增加服务号*/
|
||
addserviceNumber: ({ commit }, serviceNumber) => {
|
||
commit('addserviceNumber', serviceNumber);
|
||
},
|
||
/** 选择车次*/
|
||
setSelected: ({ commit }, selected) => {
|
||
commit('setSelected', selected);
|
||
},
|
||
setDraftSelected: ({ commit }, draftSelected) => {
|
||
commit('setDraftSelected', draftSelected);
|
||
},
|
||
/** 更新数据*/
|
||
updateRunPlanData: ({ commit }, data) => {
|
||
commit('updateRunPlanData', data);
|
||
},
|
||
/** 清空数据*/
|
||
clear: ({ commit }) => {
|
||
return new Promise((resolve) => {
|
||
commit('clear');
|
||
resolve();
|
||
});
|
||
},
|
||
draftClear: ({ commit }) => {
|
||
return new Promise(resolve => {
|
||
commit('draftClear');
|
||
resolve();
|
||
});
|
||
},
|
||
/** 刷新页面*/
|
||
refresh: ({commit}) => {
|
||
commit('refresh');
|
||
},
|
||
setRunPlanInfo: ({commit}, data) => {
|
||
commit('setRunPlanInfo', data);
|
||
},
|
||
setRunPlanMap: ({commit}, data) => {
|
||
commit('setRunPlanMap', data);
|
||
},
|
||
loadRunPlanCountIncrease: ({commit}) => {
|
||
commit('loadRunPlanCountIncrease');
|
||
}
|
||
}
|
||
};
|
||
|
||
export default runPlan;
|