You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
2.4 KiB
73 lines
2.4 KiB
Vue.use(Vuex);
|
|
const store = new Vuex.Store({
|
|
state: {
|
|
accessToken: localStorage.getItem("accessToken"),
|
|
refreshToken: localStorage.getItem("refreshToken"),
|
|
user: null,
|
|
products: [],
|
|
nodes: [],
|
|
product: null,
|
|
node: null,
|
|
device:null
|
|
},
|
|
mutations: {
|
|
setToken(state, data) {
|
|
state.accessToken = data.accessToken;
|
|
localStorage.setItem("accessToken", state.accessToken);
|
|
state.refreshToken = data.refreshToken;
|
|
localStorage.setItem("refreshToken", state.refreshToken);
|
|
},
|
|
logout(state) {
|
|
state.accessToken = null;
|
|
state.refreshToken = null;
|
|
localStorage.removeItem('accessToken');
|
|
localStorage.removeItem('refreshToken');
|
|
},
|
|
setUser(state, user) {
|
|
state.user = user;
|
|
},
|
|
setProducts(state, model) {
|
|
state.products = model;
|
|
},
|
|
setNodes(state, model) {
|
|
state.nodes = model;
|
|
},
|
|
setProduct(state, model) {
|
|
state.product = model;
|
|
},
|
|
setDevice(state, model) {
|
|
state.device = model;
|
|
},
|
|
setNode(state, model) {
|
|
state.node = model;
|
|
},
|
|
updateNode(state, model) {
|
|
updateByNumber(state.nodes, model);
|
|
},
|
|
insertDevice(state, model) {
|
|
updateByNumber(state.devices, model);
|
|
var node = Enumerable.from(state.nodes).where(function (o) { return o.id === model.nodeId; }).firstOrDefault();
|
|
if (node) {
|
|
node.count += 1;
|
|
}
|
|
var product = Enumerable.from(state.products).where(function (o) { return o.id === model.nodeId; }).firstOrDefault();
|
|
if (product) {
|
|
product.count += 1;
|
|
}
|
|
},
|
|
updateDevice(state, model) {
|
|
updateByNumber(state.devices, model);
|
|
},
|
|
deleteDevice(state, model) {
|
|
deleteByNumber(state.devices, model);
|
|
var node = Enumerable.from(state.nodes).where(function (o) { return o.id === model.nodeId; }).firstOrDefault();
|
|
if (node) {
|
|
node.count -= 1;
|
|
}
|
|
var product = Enumerable.from(state.products).where(function (o) { return o.id === model.productId; }).firstOrDefault();
|
|
if (product) {
|
|
product.count -= 1;
|
|
}
|
|
}
|
|
},
|
|
}) |