ysy hace 1 año
padre
commit
392e4c475e

+ 26 - 6
src/views/material/BOMmanage/components/baseInfo.vue

@@ -2,7 +2,7 @@
   <div class="baseInfo">
     <el-form ref="form" :model="dataInfo">
       <el-col :span="4" label-width="80px">
-        <el-form-item label="类型" prop="type">
+        <el-form-item label="类型:" prop="type">
           {{
             dataInfo.bomType == 1
               ? 'PBOM'
@@ -19,12 +19,12 @@
 
       <el-row>
         <el-col :span="5" label-width="78px">
-          <el-form-item label="BOM编码" prop="type">
+          <el-form-item label="BOM编码:" prop="type">
             {{ dataInfo.code }}
           </el-form-item>
         </el-col>
         <el-col :span="5" label-width="78px">
-          <el-form-item label="BOM名称" prop="type">
+          <el-form-item label="BOM名称:" prop="type">
             {{ dataInfo.name }}
           </el-form-item>
         </el-col>
@@ -34,8 +34,7 @@
           </el-form-item>
         </el-col>
         <el-col :span="4" label-width="80px">
-          <el-form-item label="状态" prop="type">
-
+          <el-form-item label="状态:" prop="type">
             <el-select
               size="mini"
               style="width: 120px"
@@ -55,17 +54,29 @@
         </el-col>
 
         <el-col :span="2" label-width="78px">
-          <el-button type="text"> 编辑</el-button>
+          <el-button type="text" @click="handleEdit"> 编辑</el-button>
         </el-col>
       </el-row>
     </el-form>
+
+    <baseInfoSave
+      v-if="baseInfoShow"
+      @close="baseClose"
+      :categoryObj="dataInfo"
+      :isEdit="true"
+    ></baseInfoSave>
   </div>
 </template>
 
 <script>
+  import baseInfoSave from './baseInfoSave.vue';
   export default {
+    components: {
+      baseInfoSave
+    },
     data() {
       return {
+        baseInfoShow: false,
         statusOptions: [
           {
             label: '已停用',
@@ -90,6 +101,15 @@
           return {};
         }
       }
+    },
+    methods: {
+      handleEdit() {
+        this.baseInfoShow = true;
+      },
+
+      baseClose() {
+        this.baseInfoShow = false;
+      }
     }
   };
 </script>

+ 25 - 6
src/views/material/BOMmanage/components/baseInfoSave.vue

@@ -69,7 +69,7 @@
 </template>
 
 <script>
-  import { saveBomTreeList } from '@/api/material/BOM.js';
+  import { saveBomTreeList , bomCategoryUpdate} from '@/api/material/BOM.js';
   export default {
     data() {
       return {
@@ -77,16 +77,16 @@
         statusOptions: [
           {
             label: '已停用',
-            value: 2
+            value: '2'
           },
           {
             label: '已发布',
-            value: 1
+            value: '1'
           },
 
           {
             label: '草稿',
-            value: 0
+            value: '0'
           }
         ],
         formData: {
@@ -119,6 +119,24 @@
         default() {
           return {};
         }
+      },
+
+      isEdit: {
+        type: Boolean,
+        default: false
+
+      }
+    },
+    created() {
+      if (this.isEdit) {
+        this.formData = {
+          code: this.categoryObj.code,
+          name: this.categoryObj.name,
+          versions: this.categoryObj.versions,
+          status: this.categoryObj.status,
+          id: this.categoryObj.id,
+ 
+        };
       }
     },
 
@@ -135,8 +153,9 @@
               category: this.categoryObj.category,
               bomType: this.categoryObj.bomType
             };
-            saveBomTreeList(param).then((res) => {
-              this.$message.success('保存成功');
+            let URL = this.isEdit ? bomCategoryUpdate : saveBomTreeList;
+            URL(param).then((res) => {
+              this.$message.success( this.isEdit ? '修改成功': '保存成功');
               this.$emit('close', true);
               this.handleClose();
             });

+ 21 - 16
src/views/material/BOMmanage/detailsPop.vue

@@ -31,7 +31,12 @@
               新建
             </el-button>
 
-            <el-button type="danger" size="mini" icon="el-icon-delete">
+            <el-button
+              type="danger"
+              size="mini"
+              icon="el-icon-delete"
+              @click="remove"
+            >
               删除
             </el-button>
 
@@ -236,6 +241,7 @@
       bomChange(e) {
         this.currentNodeData.bomType = e;
         this.getTreeData();
+        this.getVersion();
       },
 
       async getTreeData() {
@@ -275,6 +281,7 @@
         if (id) {
           getBomGetById(id).then((res) => {
             this.currentNodeData = res.data;
+            this.$forceUpdate();
           });
         } else {
           this.currentNodeData = {
@@ -284,13 +291,18 @@
         }
       },
 
-      getVersion() {
+      getVersion(type) {
         let param = {
           categoryId: this.searchObj.categoryId,
           bomType: this.currentNodeData.bomType
         };
         versionList(param).then((res) => {
-          this.versList = res;
+          this.versList = res || [];
+          if (type == 'del' || type == 'add') {
+            this.searchObj.versions =
+              this.versList[this.versList.length - 1].versions;
+            this.getTreeData();
+          } 
         });
       },
 
@@ -302,19 +314,12 @@
           type: 'warning'
         })
           .then(() => {
-            const loading = this.$loading({ lock: true });
-
-            deleteBomTreeList([this.currentNodeData.id])
-              .then((msg) => {
-                loading.close();
-                this.$message.success('删除' + msg);
-                this.getTreeData();
-              })
-              .catch((e) => {
-                loading.close();
-              });
+            deleteBomTreeList([this.currentNodeData.id]).then((msg) => {
+              this.$message.success('删除' + msg);
+              this.getVersion('del');
+            });
           })
-          .catch(() => {});
+          .finally(() => {});
       },
 
       transformation(tt) {
@@ -340,7 +345,7 @@
 
       baseClose(val) {
         if (val) {
-          this.getVersion();
+          this.getVersion('add');
         }
         this.baseInfoShow = false;
       }