2025-07-19 17:29:15 +08:00
|
|
|
import { listCategory } from '@/api/wms/category';
|
2025-07-28 18:25:02 +08:00
|
|
|
import { listProduct } from '@/api/wms/product';
|
|
|
|
|
import { listRawMaterial } from '@/api/wms/rawMaterial';
|
2025-07-19 17:29:15 +08:00
|
|
|
|
|
|
|
|
const state = {
|
2025-07-28 18:25:02 +08:00
|
|
|
categoryList: [],
|
|
|
|
|
productMap: {},
|
2025-07-30 10:53:06 +08:00
|
|
|
rawMaterialMap: {},
|
|
|
|
|
productList: [],
|
|
|
|
|
rawMaterialList: []
|
2025-07-19 17:29:15 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const mutations = {
|
|
|
|
|
SET_CATEGORY_LIST(state, list) {
|
|
|
|
|
state.categoryList = list;
|
2025-07-28 18:25:02 +08:00
|
|
|
},
|
|
|
|
|
SET_PRODUCT_MAP(state, map) {
|
|
|
|
|
state.productMap = map;
|
|
|
|
|
},
|
|
|
|
|
SET_RAW_MATERIAL_MAP(state, map) {
|
|
|
|
|
state.rawMaterialMap = map;
|
2025-07-30 10:53:06 +08:00
|
|
|
},
|
|
|
|
|
SET_PRODUCT_LIST(state, list) {
|
|
|
|
|
state.productList = list;
|
|
|
|
|
},
|
|
|
|
|
SET_RAW_MATERIAL_LIST(state, list) {
|
|
|
|
|
state.rawMaterialList = list;
|
2025-07-19 17:29:15 +08:00
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const actions = {
|
|
|
|
|
getCategoryList({ state, commit }) {
|
|
|
|
|
if (state.categoryList.length > 0) {
|
|
|
|
|
return Promise.resolve(state.categoryList);
|
|
|
|
|
}
|
|
|
|
|
return listCategory().then(res => {
|
|
|
|
|
commit('SET_CATEGORY_LIST', res.rows || []);
|
|
|
|
|
return res.rows || [];
|
|
|
|
|
});
|
2025-07-28 18:25:02 +08:00
|
|
|
},
|
|
|
|
|
getProductMap({ state, commit }) {
|
|
|
|
|
if (Object.keys(state.productMap).length > 0) {
|
|
|
|
|
return Promise.resolve(state.productMap);
|
|
|
|
|
}
|
|
|
|
|
return listProduct().then(res => {
|
|
|
|
|
const map = {};
|
|
|
|
|
res.rows.forEach(item => {
|
|
|
|
|
map[item.productId] = item;
|
|
|
|
|
});
|
|
|
|
|
commit('SET_PRODUCT_MAP', map);
|
2025-07-30 10:53:06 +08:00
|
|
|
commit('SET_PRODUCT_LIST', res.rows || []);
|
2025-07-28 18:25:02 +08:00
|
|
|
return map;
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
getRawMaterialMap({ state, commit }) {
|
|
|
|
|
if (Object.keys(state.rawMaterialMap).length > 0) {
|
|
|
|
|
return Promise.resolve(state.rawMaterialMap);
|
|
|
|
|
}
|
|
|
|
|
return listRawMaterial().then(res => {
|
|
|
|
|
const map = {};
|
|
|
|
|
res.rows.forEach(item => {
|
|
|
|
|
map[item.rawMaterialId] = item;
|
|
|
|
|
});
|
|
|
|
|
commit('SET_RAW_MATERIAL_MAP', map);
|
2025-07-30 10:53:06 +08:00
|
|
|
commit('SET_RAW_MATERIAL_LIST', res.rows || []);
|
2025-07-28 18:25:02 +08:00
|
|
|
return map;
|
|
|
|
|
});
|
2025-07-19 17:29:15 +08:00
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
export default {
|
|
|
|
|
namespaced: true,
|
|
|
|
|
state,
|
|
|
|
|
mutations,
|
2025-07-29 15:00:15 +08:00
|
|
|
actions,
|
2025-07-19 17:29:15 +08:00
|
|
|
};
|