2020-01-14 09:06:03 +08:00
|
|
|
import Vue from 'vue';
|
2020-01-17 17:27:11 +08:00
|
|
|
import {updateIscsData } from '@/iscs/utils/parser';
|
2020-01-14 09:06:03 +08:00
|
|
|
/**
|
|
|
|
* iscs状态数据
|
|
|
|
*/
|
|
|
|
const iscs = {
|
|
|
|
namespaced: true,
|
|
|
|
|
|
|
|
state: {
|
|
|
|
iscs: null, // 数据
|
|
|
|
iscsDevice: {}, // 解析后的地图数据
|
|
|
|
iscsList: {}, // 数据列表
|
|
|
|
iscsIdList: {}, // 数据列表(以id为标识)
|
|
|
|
updateDeviceData: {}, // 修改的数据
|
|
|
|
rightClickCount: 0 // 右键点击设备
|
|
|
|
},
|
|
|
|
|
|
|
|
getters: {
|
|
|
|
iscsList: (state) => {
|
|
|
|
return state.iscsList;
|
|
|
|
},
|
|
|
|
iscs: (state) => {
|
|
|
|
return state.iscs;
|
|
|
|
},
|
|
|
|
version: (state) => {
|
|
|
|
if (state.iscs) {
|
|
|
|
return state.iscs.version;
|
|
|
|
} else {
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
},
|
|
|
|
updateDeviceData: (state) => {
|
|
|
|
return state.updateDeviceData;
|
2020-01-16 14:52:45 +08:00
|
|
|
},
|
2020-01-16 18:02:57 +08:00
|
|
|
vidiconList: (state) => {
|
|
|
|
if (state.iscs && state.iscs.vidiconList) {
|
|
|
|
return state.iscs.vidiconList;
|
|
|
|
} else {
|
|
|
|
return [];
|
|
|
|
}
|
|
|
|
},
|
|
|
|
vidiconCloudList: (state) => {
|
|
|
|
if (state.iscs && state.iscs.vidiconCloudList) {
|
|
|
|
return state.iscs.vidiconCloudList;
|
2020-01-16 14:52:45 +08:00
|
|
|
} else {
|
|
|
|
return [];
|
|
|
|
}
|
2020-01-17 17:27:11 +08:00
|
|
|
},
|
|
|
|
frozenPumpList:(state)=>{
|
|
|
|
if (state.iscs && state.iscs.frozenPumpList) {
|
|
|
|
return state.iscs.frozenPumpList;
|
|
|
|
} else {
|
|
|
|
return [];
|
|
|
|
}
|
|
|
|
},
|
|
|
|
airConditionerList:(state)=>{
|
|
|
|
if (state.iscs && state.iscs.airConditionerList) {
|
|
|
|
return state.iscs.airConditionerList;
|
|
|
|
} else {
|
|
|
|
return [];
|
|
|
|
}
|
|
|
|
},
|
|
|
|
tunnelFanList:(state)=>{
|
|
|
|
if (state.iscs && state.iscs.tunnelFanList) {
|
|
|
|
return state.iscs.tunnelFanList;
|
|
|
|
} else {
|
|
|
|
return [];
|
|
|
|
}
|
|
|
|
},
|
|
|
|
orbitalVentilatorList:(state)=>{
|
|
|
|
if (state.iscs && state.iscs.orbitalVentilatorList) {
|
|
|
|
return state.iscs.orbitalVentilatorList;
|
|
|
|
} else {
|
|
|
|
return [];
|
|
|
|
}
|
|
|
|
},
|
|
|
|
smookProofFdList:(state)=>{
|
|
|
|
if (state.iscs && state.iscs.smookProofFdList) {
|
|
|
|
return state.iscs.smookProofFdList;
|
|
|
|
} else {
|
|
|
|
return [];
|
|
|
|
}
|
|
|
|
},
|
|
|
|
chillerList:(state)=>{
|
|
|
|
if (state.iscs && state.iscs.chillerList) {
|
|
|
|
return state.iscs.chillerList;
|
|
|
|
} else {
|
|
|
|
return [];
|
|
|
|
}
|
|
|
|
},
|
|
|
|
coolTowerList:(state)=>{
|
|
|
|
if (state.iscs && state.iscs.coolTowerList) {
|
|
|
|
return state.iscs.coolTowerList;
|
|
|
|
} else {
|
|
|
|
return [];
|
|
|
|
}
|
|
|
|
},
|
|
|
|
fireDamperList:(state)=>{
|
|
|
|
if (state.iscs && state.iscs.fireDamperList) {
|
|
|
|
return state.iscs.fireDamperList;
|
|
|
|
} else {
|
|
|
|
return [];
|
|
|
|
}
|
|
|
|
},
|
|
|
|
jetFanList:(state)=>{
|
|
|
|
if (state.iscs && state.iscs.jetFanList) {
|
|
|
|
return state.iscs.jetFanList;
|
|
|
|
} else {
|
|
|
|
return [];
|
|
|
|
}
|
|
|
|
},
|
|
|
|
ventilatorList:(state)=>{
|
|
|
|
if (state.iscs && state.iscs.ventilatorList) {
|
|
|
|
return state.iscs.ventilatorList;
|
|
|
|
} else {
|
|
|
|
return [];
|
|
|
|
}
|
2020-01-14 09:06:03 +08:00
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
mutations: {
|
|
|
|
iscsRender: (state, devices) => {
|
2020-01-17 17:27:11 +08:00
|
|
|
if (devices && devices.length) {
|
|
|
|
if (state.iscs) {
|
|
|
|
devices.forEach(elem => { updateIscsData(elem); });
|
|
|
|
}
|
|
|
|
if (Vue.prototype.$iscs) {
|
|
|
|
Vue.prototype.$iscs.render(devices);
|
|
|
|
}
|
|
|
|
}
|
2020-01-14 09:06:03 +08:00
|
|
|
},
|
|
|
|
setIscsData: (state, iscs) => {
|
|
|
|
state.iscs = iscs;
|
|
|
|
},
|
|
|
|
setUpdateDeviceData: (state, model) => {
|
|
|
|
state.rightClickCount++;
|
|
|
|
state.updateDeviceData = model;
|
|
|
|
},
|
|
|
|
deleteIscsDevices: (state, devices) => {
|
|
|
|
Vue.prototype.$iscs && Vue.prototype.$iscs.render(devices);
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
actions: {
|
|
|
|
setIscsData: ({ commit }, iscs) => {
|
|
|
|
commit('setIscsData', iscs);
|
|
|
|
},
|
|
|
|
updateIscsDevices: ({ commit }, models) => {
|
|
|
|
return new Promise((resolve) => {
|
|
|
|
if (!(models instanceof Array)) {
|
|
|
|
models = [models];
|
|
|
|
}
|
2020-01-17 17:27:11 +08:00
|
|
|
|
2020-01-14 09:06:03 +08:00
|
|
|
commit('iscsRender', models);
|
|
|
|
resolve(models);
|
2020-01-17 17:27:11 +08:00
|
|
|
|
2020-01-14 09:06:03 +08:00
|
|
|
});
|
|
|
|
},
|
|
|
|
setUpdateDeviceData: ({ commit }, models) => {
|
|
|
|
commit('setUpdateDeviceData', models);
|
|
|
|
},
|
|
|
|
deleteIscsDevices: ({ commit }, models ) => {
|
|
|
|
models = Object.assign(models, {_dispose: true});
|
|
|
|
if (!(models instanceof Array)) {
|
|
|
|
models = [models];
|
|
|
|
}
|
|
|
|
commit('deleteIscsDevices', models);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
export default iscs;
|