ysy 2 lat temu
rodzic
commit
79c1ff3e1c

+ 28 - 3
src/api/material/BOM.js

@@ -10,13 +10,24 @@ export async function getPage (params) {
 }
 
 // 保存
-export async function bomSave (pid) {
-  const res = await request.post(`/main/bom/save`);
+export async function bomSave (data) {
+  const res = await request.post(`/main/bom/save`, data);
   if (res.data.code == 0) {
-    return res.data.data;
+    return res.data.message;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
+
+// 编辑
+export async function bomUpdate (data) {
+  const res = await request.put(`main/bom/update`, data);
+  if (res.data.code == 0) {
+    return res.data.message;
   }
   return Promise.reject(new Error(res.data.message));
 }
+
+
 // 详情
 export async function getById (id) {
   const res = await request.get(`/main/bom/getById/${id}`);
@@ -50,3 +61,17 @@ export async function syncBom () {
   }
   return Promise.reject(new Error(res.data.message));
 }
+
+
+// 物料BOM新增- 获取版本号
+export async function getVersionCode (categoryId) {
+  const res = await request.get(`/main/bom/getVersionCode/${categoryId}`);
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
+
+
+
+

+ 45 - 8
src/views/material/materialBOM/components/edit-dialog.vue

@@ -42,11 +42,11 @@
         </el-col>
 
         <el-col :span="8">
-          <el-form-item label="版本号" prop="versionNumber">
+          <el-form-item label="版本号" prop="version">
             <el-input
               placeholder="请选择"
               disabled
-              v-model="form.versionNumber"
+              v-model="form.version"
             ></el-input>
           </el-form-item>
         </el-col>
@@ -164,6 +164,7 @@
   import productDialog from '@/components/SelectDialog/productDialog';
   import factorySelect from '@/components/CommomSelect/factory-select.vue';
   import { getCode } from '@/api/codeManagement/index.js';
+  import { getVersionCode, bomSave, bomUpdate  } from '@/api/material/BOM';
   export default {
     components: { materialDialog, factorySelect, productDialog },
     props: {
@@ -188,15 +189,17 @@
         form: {
           code: '',
           name: '',
+          type: 0,
           factoryId: '',
           categoryCode: '',
           categoryId: '',
           categoryName: '',
-          versionNumber: '',
+          version: '',
           categoryType: '',
           baseCount: '',
           baseCountUnit: '',
-          status: '-1'
+          status: '-1',
+       
         },
         categoryList: [
           {
@@ -274,7 +277,12 @@
           baseCount: [
             { validator: baseCountVa, trigger: 'blur' }
           ]
-        }
+        },
+
+        // 提交状态
+        loading: false,
+        // 是否是修改
+        isUpdate: false,
       };
     },
     methods: {
@@ -317,6 +325,8 @@
           this.form.categoryId = res.id;
           this.form.categoryName = res.name;
           console.log(res);
+
+          this.getVersion() // 获取版本号
         });
       },
       categorySelect (row) {
@@ -328,15 +338,42 @@
           row.brandNum = res.brandNum;
         });
       },
-      save () {
-        // console.log(11)
-        //  console.log(this.form)
 
+
+      async getVersion () {
+        const res = await getVersionCode(this.form.categoryId);
+        
+        this.form.version = res
+      },
+
+
+      save () {
+       console.log(this.tableData)
         this.$refs.form.validate((valid) => {
           if (!valid) {
             return false;
           }
           this.loading = true;
+          if (!this.isUpdate) {
+            delete this.form.id;
+          }
+
+          const data = {
+            ...this.form,
+            subDetailList: this.tableData
+          };
+
+          const saveOrUpdate = this.isUpdate ? bomUpdate : bomSave;
+          saveOrUpdate(data)
+            .then((msg) => {
+              this.loading = false;
+              this.$message.success(msg);
+              this.updateVisible(false);
+              this.$emit('done');
+            })
+            .catch((e) => {
+              this.loading = false;
+            });
 
         });
 

+ 0 - 1
src/views/material/materialBOM/components/view-dialog.vue

@@ -154,7 +154,6 @@
       },
       datasource (res) {
         const { page, limit, where } = res;
-        console.log(res, 222);
         return detailPage({
           pageNum: page,
           size: limit,

+ 1 - 1
src/views/material/materialBOM/index.vue

@@ -23,7 +23,7 @@
         </template>
         <template v-slot:action="{ row }">
           <el-link type="primary" @click="handelDetail(row)">详情</el-link>
-          <!-- <el-link type="primary"  icon="el-icon-edit"  @click="handelEdit('编辑')">编辑</el-link> -->
+          <el-link type="primary"  icon="el-icon-edit"  @click="handelEdit('编辑')">编辑</el-link>
         </template>
       </ele-pro-table>
     </el-card>

+ 2 - 1
vue.config.js

@@ -31,7 +31,8 @@ module.exports = {
     proxy: {
       // 当我们的本地的请求 有/api的时候,就会代理我们的请求地址向另外一个服务器发出请求
       '/api': {
-        target: 'http://124.71.68.31:50001',
+        // target: 'http://124.71.68.31:50001',
+        target: 'http://192.168.1.139:18086',
         changeOrigin: true, // 只有这个值为true的情况下 才表示开启跨域
         pathRewrite: {
           '^/api': ''