diff --git a/klp-ui/src/App.vue b/klp-ui/src/App.vue index df2ff63b..f616137d 100644 --- a/klp-ui/src/App.vue +++ b/klp-ui/src/App.vue @@ -15,6 +15,8 @@ export default { // 应用启动时全局初始化分类数据 if (this.$store.getters.token) { this.$store.dispatch('category/getCategoryList'); + this.$store.dispatch('category/getProductMap'); + this.$store.dispatch('category/getRawMaterialMap'); } console.log(this.$store) }, diff --git a/klp-ui/src/components/KLPService/Renderer/ProductInfo.vue b/klp-ui/src/components/KLPService/Renderer/ProductInfo.vue new file mode 100644 index 00000000..ce0df4ce --- /dev/null +++ b/klp-ui/src/components/KLPService/Renderer/ProductInfo.vue @@ -0,0 +1,56 @@ + + + + {{ product.productName ? product.productName : '--' }} + + + + ID: {{ product.productId }} + 名称: {{ product.productName }} + 描述: {{ product.productCode }} + + + + + + + + diff --git a/klp-ui/src/components/KLPService/Renderer/RawMaterialInfo.vue b/klp-ui/src/components/KLPService/Renderer/RawMaterialInfo.vue new file mode 100644 index 00000000..3d484a72 --- /dev/null +++ b/klp-ui/src/components/KLPService/Renderer/RawMaterialInfo.vue @@ -0,0 +1,56 @@ + + + + {{ material.rawMaterialName ? material.rawMaterialName : '--' }} + + + + ID: {{ material.rawMaterialId }} + 名称: {{ material.rawMaterialName }} + 描述: {{ material.rawMaterialCode }} + + + + + + + + diff --git a/klp-ui/src/components/KLPService/index.js b/klp-ui/src/components/KLPService/index.js index 6a9aee4a..7ffcd09b 100644 --- a/klp-ui/src/components/KLPService/index.js +++ b/klp-ui/src/components/KLPService/index.js @@ -5,3 +5,5 @@ export { default as RawMaterialSelect } from './RawMaterialSelect/index.vue'; export { default as CategoryRenderer } from './Renderer/CategoryRenderer.vue'; export { default as UserSelect } from './UserSelect/index.vue'; export { default as WarehouseSelect } from './WarehouseSelect/index.vue'; +export { default as ProductInfo } from './Renderer/ProductInfo.vue'; +export { default as RawMaterialInfo } from './Renderer/RawMaterialInfo.vue'; diff --git a/klp-ui/src/store/modules/category.js b/klp-ui/src/store/modules/category.js index 146e9dea..62fa9d33 100644 --- a/klp-ui/src/store/modules/category.js +++ b/klp-ui/src/store/modules/category.js @@ -1,12 +1,22 @@ import { listCategory } from '@/api/wms/category'; +import { listProduct } from '@/api/wms/product'; +import { listRawMaterial } from '@/api/wms/rawMaterial'; const state = { - categoryList: [] + categoryList: [], + productMap: {}, + rawMaterialMap: {} }; const mutations = { SET_CATEGORY_LIST(state, list) { state.categoryList = list; + }, + SET_PRODUCT_MAP(state, map) { + state.productMap = map; + }, + SET_RAW_MATERIAL_MAP(state, map) { + state.rawMaterialMap = map; } }; @@ -19,6 +29,32 @@ const actions = { commit('SET_CATEGORY_LIST', res.rows || []); return res.rows || []; }); + }, + 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); + 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); + return map; + }); } }; diff --git a/klp-ui/src/views/login.vue b/klp-ui/src/views/login.vue index c7b9a6df..fb47f7f4 100644 --- a/klp-ui/src/views/login.vue +++ b/klp-ui/src/views/login.vue @@ -142,6 +142,8 @@ export default { } this.$store.dispatch("Login", this.loginForm).then(() => { this.$store.dispatch('category/getCategoryList'); + this.$store.dispatch('category/getProductMap'); + this.$store.dispatch('category/getRawMaterialMap'); this.$router.push({ path: this.redirect || "/" }).catch(()=>{}); }).catch(() => { this.loading = false; diff --git a/klp-ui/src/views/wms/stockIo/panels/detail.vue b/klp-ui/src/views/wms/stockIo/panels/detail.vue index 45df96d4..020d7962 100644 --- a/klp-ui/src/views/wms/stockIo/panels/detail.vue +++ b/klp-ui/src/views/wms/stockIo/panels/detail.vue @@ -80,7 +80,13 @@ - + + + + + {{ scope.row.itemId }} + + @@ -229,13 +235,16 @@ import WarehouseSelect from '@/components/WarehouseSelect'; import RawMaterialSelect from '@/components/KLPService/RawMaterialSelect'; import ProductSelect from '@/components/KLPService/ProductSelect'; import { ITEM_TYPE } from '@/utils/enums'; +import {RawMaterialInfo, ProductInfo} from "@/components/KLPService"; export default { name: "StockIoDetailPanel", components: { WarehouseSelect, RawMaterialSelect, - ProductSelect + ProductSelect, + RawMaterialInfo, + ProductInfo }, dicts: ['stock_item_type'], props: {
ID: {{ product.productId }}
名称: {{ product.productName }}
描述: {{ product.productCode }}
ID: {{ material.rawMaterialId }}
名称: {{ material.rawMaterialName }}
描述: {{ material.rawMaterialCode }}