ysy 1 سال پیش
والد
کامیت
544cd92c09

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

@@ -384,3 +384,14 @@ export async function contactList(params) {
 }
 
 
+
+// 检查bom  (里面有几个草稿)
+
+export async function hasNewVersion(data) {
+  const res = await request.post(`/main/bomCategory/hasNewVersion`, data);
+  if (res.data.code == 0) {
+    return res.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
+

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

@@ -30,7 +30,7 @@
         </el-col>
         <el-col :span="4" label-width="78px">
           <el-form-item label="版本号:" prop="type">
-            {{ dataInfo.versions }}
+           V{{ dataInfo.versions }}.0
           </el-form-item>
         </el-col>
         <el-col :span="4" label-width="80px">

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

@@ -70,7 +70,7 @@
 </template>
 
 <script>
-  import { saveBomTreeList, bomCategoryUpdate } from '@/api/material/BOM.js';
+  import { saveBomTreeList, bomCategoryUpdate,  hasNewVersion } from '@/api/material/BOM.js';
   import { getCode } from '@/api/codeManagement/index.js';
   export default {
     data() {
@@ -145,7 +145,7 @@
         this.formData = {
           code: this.categoryObj.code,
           name: this.categoryObj.name,
-          versions: this.categoryObj.versions,
+          versions: 'V'+this.categoryObj.versions+'.0',
           status: this.categoryObj.status,
           id: this.categoryObj.id
         };
@@ -166,8 +166,13 @@
       },
 
       handleSave() {
-        this.$refs.form.validate((valid) => {
+        this.$refs.form.validate(async (valid)  => {
           if (valid) {
+            if(!this.isEdit) {
+              let isHas = await this.hasVersionFn();
+              if (!isHas) return;
+            }
+
             let param = {
               ...this.formData,
               categoryId: this.categoryId,
@@ -183,7 +188,39 @@
             return false;
           }
         });
-      }
+      },
+
+
+       hasVersionFn() {
+         return new Promise((resolve) => {
+        let param = {
+          categoryId: this.categoryId,
+          bomType: this.categoryObj.bomType
+        };
+        hasNewVersion(param).then((res) => {
+           if(res.data == 1) {
+                this.$confirm('已经草稿版本存在,是否覆盖?', '提示', {
+                  confirmButtonText: '覆盖',
+                  cancelButtonText: '取消',
+                  type: 'warning'
+                })
+                  .then(() => {
+                    resolve(true);
+                  })
+                  .catch(() => {
+                    resolve(false);
+                  });
+
+
+           } else {
+            resolve(true);
+           }
+
+
+        });
+      });
+      },
+
     }
   };
 </script>

+ 6 - 0
src/views/material/BOMmanage/components/detailedList.vue

@@ -40,6 +40,11 @@
         </el-input>
       </template>
 
+
+      <template v-slot:versions="{ row }">
+       V{{ row.versions }}.0
+      </template>
+
       <template v-slot:produceType="{ row }">
         <el-select
           v-model="row.produceType"
@@ -219,6 +224,7 @@
 
           {
             prop: 'versions',
+            slot: 'versions',
             label: '版本'
           },
 

+ 3 - 20
src/views/material/BOMmanage/components/workmanship.vue

@@ -7,7 +7,7 @@
         @keyup.enter.native="search"
         @submit.native.prevent
       >
-        <el-row type="flex" :gutter="15">
+        <el-row type="flex" :gutter="24">
           <el-col :span="6">
             <el-form-item label="工序编码:" label-width="100px">
               <el-input clearable v-model.trim="where.code" placeholder="请输入" />
@@ -18,24 +18,13 @@
               <el-input clearable v-model.trim="where.name" placeholder="请输入" />
             </el-form-item>
           </el-col>
-          <el-col :span="6">
-            <el-form-item label="版本:" label-width="100px">
-              <el-input
-                clearable
-                v-model.trim="where.versions"
-                placeholder="请输入"
-              />
-            </el-form-item>
-          </el-col>
 
-        </el-row>
-        <el-row type="flex" :gutter="15">
           <el-col :span="6">
             <el-form-item label="所属工作中心" label-width="100px">
               <el-input clearable v-model.trim="where.workCenterName" placeholder="请输入" />
             </el-form-item>
           </el-col>
-          <el-col :span="18">
+          <el-col :span="4">
             <div class="ele-form-actions">
               <el-button
                 type="primary"
@@ -294,13 +283,7 @@
             align: 'center',
             minWidth: 110
           },
-          {
-            prop: 'versions',
-            label: '版本',
-            showOverflowTooltip: true,
-            align: 'center',
-            minWidth: 110
-          },
+   
           {
             align: 'center',
             prop: 'controlName',

+ 38 - 3
src/views/material/BOMmanage/detailsPop.vue

@@ -199,7 +199,7 @@
               >
                 <el-option
                   v-for="item in versList"
-                  :label="item.versions"
+                  :label="'V' +item.versions + '.0'"
                   :value="item.versions"
                   :key="item.id"
                 >
@@ -352,7 +352,8 @@
     deleteBomTreeList,
     bomSubmit,
     jsBomSubmit,
-    deviceBomSubmit
+    deviceBomSubmit,
+    hasNewVersion
   } from '@/api/material/BOM.js';
 
   import baseInfo from './components/baseInfo.vue';
@@ -594,6 +595,7 @@
         });
       },
 
+
       handleAdd() {
         this.baseInfoShow = true;
       },
@@ -613,9 +615,12 @@
       handleSave() {
         this.$message.success('保存成功');
         this.handleClose();
+
+      
       },
 
       handSubmit() {
+       
         if (this.clientEnvironmentId == 4) {
           this.isSubmit = true;
         } else {
@@ -657,7 +662,37 @@
         } else {
           this.$refs.detailRef.open(this.currentNodeData.processInstanceId);
         }
-      }
+      },
+
+      async hasVersionFn() {
+         return new Promise((resolve) => {
+        let param = {
+          categoryId: this.searchObj.categoryId,
+          bomType: this.currentNodeData.bomType
+        };
+        hasNewVersion(param).then((res) => {
+           if(res.data == 1) {
+                this.$confirm('已经草稿版本存在,是否覆盖?', '提示', {
+                  confirmButtonText: '覆盖',
+                  cancelButtonText: '取消',
+                  type: 'warning'
+                })
+                  .then(() => {
+                    resolve(false);
+                  })
+                  .catch(() => {
+                    resolve(true);
+                  });
+
+
+           } else {
+            resolve(true);
+           }
+
+   
+        });
+      });
+      },
     }
   };
 </script>

+ 1 - 1
vue.config.js

@@ -33,7 +33,7 @@ module.exports = {
       '/api': {
         // target: 'http://192.168.1.124:50001',
         // target: 'http://192.168.1.147:18086',
-        target: 'http://192.168.1.105:18086',
+        target: 'http://192.168.1.125:18086',
         changeOrigin: true, // 只有这个值为true的情况下 才表示开启跨域
         pathRewrite: {
           '^/api': ''