ysy 1 rok temu
rodzic
commit
1772413f2d

+ 14 - 0
src/api/material/BOM.js

@@ -129,6 +129,20 @@ export async function getBomGetById(id) {
   }
   return Promise.reject(new Error(res.data.message));
 }
+
+
+
+// 查询BOM 版本
+export async function versionList(params) {
+  const res = await request.get(`/main/bomCategory/versionList`, { params });
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
+
+
+
  
 
 // 新增BOM树节点

+ 1 - 1
src/views/material/BOMmanage/components/attribute.vue

@@ -239,7 +239,7 @@
       </el-row>
 
       <div class="btn_box">
-        <el-button type="primary" @click="handleUpdate">修改</el-button>
+        <el-button type="primary" @click="handleUpdate">保存</el-button>
       </div>
     </el-form>
   </div>

+ 4 - 4
src/views/material/BOMmanage/components/baseInfoSave.vue

@@ -15,7 +15,7 @@
       :inline="true"
       :model="formData"
     >
-      <el-form-item label="BOM编码" prop="code">
+      <el-form-item label="BOM编码:" prop="code">
         <el-input
           size="mini"
           placeholder="BOM编码"
@@ -23,7 +23,7 @@
         ></el-input>
       </el-form-item>
 
-      <el-form-item label="BOM名称" prop="name">
+      <el-form-item label="BOM名称:" prop="name">
         <el-input
           size="mini"
           placeholder="BOM名称"
@@ -31,7 +31,7 @@
         ></el-input>
       </el-form-item>
 
-      <el-form-item label="版本号" prop="versions">
+      <el-form-item label="版本号:" prop="versions">
         <el-input
           size="mini"
           disabled
@@ -40,7 +40,7 @@
         ></el-input>
       </el-form-item>
 
-      <el-form-item label="状态" prop="status">
+      <el-form-item label="状态:" prop="status">
         <el-select
           size="mini"
           style="width: 100%"

+ 66 - 2
src/views/material/BOMmanage/detailsPop.vue

@@ -110,6 +110,22 @@
           :responsive="false"
         >
           <div class="ele-border-lighter sys-organization-list">
+            <el-select
+              size="mini"
+              style="width: 100%; margin: 6px 0"
+              v-model="searchObj.versions"
+              placeholder="请选择bom版本"
+              @change="getTreeData"
+            >
+              <el-option
+                v-for="item in versList"
+                :label="item.versions"
+                :value="item.versions"
+                :key="item.id"
+              >
+              </el-option>
+            </el-select>
+
             <el-tree
               class="treeData"
               :data="treeList"
@@ -129,6 +145,17 @@
 
           <template v-slot:content>
             <baseInfo :dataInfo="currentNodeData" />
+
+            <el-tabs
+              v-model="activeName"
+              class="tab-box"
+              type="border-card"
+              @tab-click="handleClick"
+            >
+              <el-tab-pane label="属性" name="属性">
+                <attribute :attributeData="currentNodeData"></attribute>
+              </el-tab-pane>
+            </el-tabs>
           </template>
         </ele-split-layout>
       </div>
@@ -141,6 +168,7 @@
 <script>
   import {
     getBomTreeList,
+    versionList,
     getBomGetById,
     convert,
     convertABom,
@@ -149,9 +177,10 @@
 
   import baseInfo from './components/baseInfo.vue';
   import baseInfoSave from './components/baseInfoSave.vue';
+  import attribute from './components/attribute.vue';
 
   export default {
-    components: { baseInfo, baseInfoSave },
+    components: { baseInfo, baseInfoSave, attribute },
     data() {
       return {
         drawer: false,
@@ -165,6 +194,7 @@
 
         current: {},
         treeList: [],
+        versList: [],
         treeLoading: false,
 
         defaultProps: {
@@ -177,6 +207,8 @@
           categoryId: ''
         },
 
+        activeName: '属性',
+
         baseInfoShow: false
       };
     },
@@ -185,6 +217,7 @@
         this.searchObj = row;
         this.drawer = true;
         this.getTreeData();
+        this.getVersion();
       },
 
       handleClose() {
@@ -230,7 +263,34 @@
         this.treeLoading = false;
       },
 
-      handleNodeClick(data) {},
+      handleNodeClick(data) {
+        this.handBomDetails(data.id);
+      },
+
+      handBomDetails(id) {
+        if (id) {
+          getBomGetById(id).then((res) => {
+            this.currentNodeData = res.data;
+          });
+        } else {
+          this.currentNodeData = {
+            bomType: 1,
+            children: []
+          };
+        }
+      },
+
+      getVersion() {
+        let param = {
+          categoryId: this.searchObj.categoryId,
+          versions: this.searchObj.versions,
+          bomType: this.currentNodeData.bomType
+        };
+        versionList(param).then((res) => {
+          console.log(999, res);
+          this.versList = res;
+        });
+      },
 
       remove() {
         this.$confirm('是否确认删除?', '提示', {
@@ -325,4 +385,8 @@
       overflow-y: auto;
     }
   }
+
+  .tab-box {
+    margin-top: 12px;
+  }
 </style>