diff --git a/inventory-web/src/views/bom/BomManage.vue b/inventory-web/src/views/bom/BomManage.vue
index bf36bed..21ab127 100644
--- a/inventory-web/src/views/bom/BomManage.vue
+++ b/inventory-web/src/views/bom/BomManage.vue
@@ -202,6 +202,7 @@
diff --git a/inventory-web/src/views/material/list.vue b/inventory-web/src/views/material/list.vue
index 2c7eae3..ab2a463 100644
--- a/inventory-web/src/views/material/list.vue
+++ b/inventory-web/src/views/material/list.vue
@@ -326,7 +326,6 @@
+
+
+
{{ dialog.title }}
+
+ 加入或查看BOM
+
+
+
@@ -597,8 +610,9 @@ import { Plus, Document, Refresh, Setting, Rank, Camera, Link, Download, Bell, C
import { ElMessage, ElMessageBox, ElLoading } from 'element-plus';
import type { FormInstance, FormRules } from 'element-plus';
import { useUserStore } from '@/stores/user';
-import { useRoute } from 'vue-router';
+import { useRoute, useRouter } from 'vue-router';
const route = useRoute();
+const router = useRouter();
import {
listMaterialBase,
@@ -1307,6 +1321,22 @@ const cancel = () => {
resetForm();
};
+// 快速基于此物料查看/创建 BOM
+const createBomForMaterial = () => {
+ if (!form.value.id) {
+ return ElMessage.warning('请先保存物料基础信息后再操作');
+ }
+ const routeUrl = router.resolve({
+ path: '/bom',
+ query: {
+ create_for_id: form.value.id,
+ parent_name: form.value.name,
+ parent_spec: form.value.spec
+ }
+ });
+ window.open(routeUrl.href, '_blank');
+};
+
const resetForm = () => {
form.value = JSON.parse(JSON.stringify(initForm));
fileListImage.value = [];
diff --git a/inventory-web/src/views/stock/inbound/product.vue b/inventory-web/src/views/stock/inbound/product.vue
index fb875c7..b43cac1 100644
--- a/inventory-web/src/views/stock/inbound/product.vue
+++ b/inventory-web/src/views/stock/inbound/product.vue
@@ -421,7 +421,12 @@