ysy 2 лет назад
Родитель
Сommit
67d3c420d3

+ 72 - 23
src/views/material/materialBOM/components/edit-dialog.vue

@@ -1,32 +1,32 @@
 <template>
-  <ele-modal :visible.sync="visible" v-if="visible" :title="title" width="80%" @close="cancel">
+  <ele-modal    custom-class="ele-dialog-form" :visible.sync="visible" v-if="visible" :title="title" width="80%" @close="cancel">
     <headerTitle title="基本信息"></headerTitle>
-    <el-form label-width="100px">
+    <el-form label-width="100px"  ref="form" :model="form" :rules="rules" >
       <el-row>
-        <el-col :span="8">
+        <el-col :span="8" label-width="100px">
           <el-form-item label="BOM编码" prop="code">
             <el-input
               placeholder="自动生成"
               disabled
-              v-model="formData.code"
+              v-model="form.code"
             ></el-input>
           </el-form-item>
         </el-col>
         <el-col :span="8">
           <el-form-item label="BOM名称" prop="name">
-            <el-input placeholder="请输入" v-model="formData.name"></el-input>
+            <el-input placeholder="请输入" v-model="form.name"></el-input>
           </el-form-item>
         </el-col>
         <el-col :span="8">
           <el-form-item label="所属工厂" prop="factoryId">
-            <factorySelect v-model="formData.factoryId" />
+            <factorySelect v-model="form.factoryId" />
           </el-form-item>
         </el-col>
         <el-col :span="8">
           <el-form-item label="产品编码" prop="categoryCode">
             <el-input
               placeholder="请输入"
-              v-model="formData.categoryCode"
+              v-model="form.categoryCode"
               @click.native="selectProd"
             ></el-input>
           </el-form-item>
@@ -36,16 +36,26 @@
             <el-input
               placeholder="请选择"
               disabled
-              v-model="formData.categoryName"
+              v-model="form.categoryName"
             ></el-input>
           </el-form-item>
         </el-col>
+
         <el-col :span="8">
-          <el-form-item label="分类层级" prop="categoryType">
- 
+          <el-form-item label="版本号" prop="versionNumber">
+            <el-input
+              placeholder="请选择"
+              disabled
+              v-model="form.versionNumber"
+            ></el-input>
+          </el-form-item>
+        </el-col>
+
 
+        <el-col :span="8">
+          <el-form-item label="分类层级" prop="categoryType">
             <el-select
-              v-model="formData.categoryType"
+              v-model="form.categoryType"
               placeholder="请选择"
               class="w100"
             >
@@ -65,7 +75,7 @@
               <el-col :span="16">
                 <el-input
                   placeholder="请输入"
-                  v-model.number="formData.baseCount"
+                  v-model.number="form.baseCount"
                 >
                 </el-input
               ></el-col>
@@ -73,7 +83,7 @@
               <el-col :span="6"
                 ><DictSelection
                   dictName="计量单位"
-                  v-model="formData.baseCountUnit"
+                  v-model="form.baseCountUnit"
               /></el-col>
             </el-row>
           </el-form-item>
@@ -83,7 +93,7 @@
             <el-select
               :disabled="title == '新建'"
               clearable
-              v-model="formData.status"
+              v-model="form.status"
               placeholder="请选择"
               class="w100"
             >
@@ -102,7 +112,7 @@
       ref="table"
       :columns="columns"
       :datasource="tableData"
-      height="calc(100vh - 350px)"
+      height="calc(100vh - 550px)"
       :need-page="false"
     >
       <!-- 表头工具栏 -->
@@ -160,17 +170,29 @@
       statusOpt: Object
     },
     data () {
+
+      var baseCountVa = (rule ,value,callback ) => {
+        if (value == '') {
+          callback(new Error('请输入基本数量'));
+        } else if (this.form.baseCountUnit == '') {
+          callback(new Error('请选择基本数量单位'));
+        } else {
+          callback();
+        }
+      };
+
       return {
         visible: false,
         title: '',
         row: {},
-        formData: {
+        form: {
           code: '',
           name: '',
           factoryId: '',
           categoryCode: '',
           categoryId: '',
           categoryName: '',
+          versionNumber: '',
           categoryType: '',
           baseCount: '',
           baseCountUnit: '',
@@ -237,7 +259,22 @@
             slot: 'action',
             label: '操作'
           }
-        ]
+        ],
+        rules: {
+          name: [
+            { required: true, message: '请输入BOM名称', trigger: 'blur' }
+          ],
+          factoryId: [
+          { required: true, message: '请输入所属工厂', trigger: 'change' }
+          ],
+          categoryCode: [
+          { required: true, message: '请输入产品编码', trigger: 'blur' }
+          ],
+
+          baseCount: [
+            { validator: baseCountVa, trigger: 'blur' }
+          ]
+        }
       };
     },
     methods: {
@@ -272,13 +309,13 @@
       },
       async _getCode () {
         const code = await getCode('bom_code');
-        this.formData.code = code;
+        this.form.code = code;
       },
       selectProd () {
-        this.$refs.productDialogRef.open(this.formData, (res) => {
-          this.formData.categoryCode = res.code;
-          this.formData.categoryId = res.id;
-          this.formData.categoryName = res.name;
+        this.$refs.productDialogRef.open(this.form, (res) => {
+          this.form.categoryCode = res.code;
+          this.form.categoryId = res.id;
+          this.form.categoryName = res.name;
           console.log(res);
         });
       },
@@ -291,7 +328,19 @@
           row.brandNum = res.brandNum;
         });
       },
-      save () {},
+      save () {
+        // console.log(11)
+        //  console.log(this.form)
+
+        this.$refs.form.validate((valid) => {
+          if (!valid) {
+            return false;
+          }
+          this.loading = true;
+
+        });
+
+      },
       handleDel (index) {
         this.tableData.splice(index, 1);
       },

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

@@ -11,7 +11,7 @@
       >
         <!-- 表头工具栏 -->
         <template v-slot:toolbar>
-          <!-- <el-button type="primary"   size="small" @click="handelEdit('新建')">新建</el-button> -->
+          <el-button type="primary" size="small" @click="handelEdit('新建')">新建</el-button>
           <el-button
             size="small"
             type="primary"

+ 2 - 2
src/views/material/product/index.vue

@@ -25,14 +25,14 @@
           >
             <!-- 表头工具栏 -->
             <template v-slot:action="{ row }">
-              <el-link
+              <!-- <el-link
                 type="primary"
                 :underline="false"
                 icon="el-icon-edit"
                 @click="handleEdit(row)"
               >
                 修改
-              </el-link>
+              </el-link> -->
             </template>
           </ele-pro-table>
         </template>

+ 7 - 0
src/views/material/productLinkMaterial/index.vue

@@ -41,6 +41,13 @@
             </template>
           </ele-pro-table>
         </template>
+
+
+
+
+
+
+        
       </ele-split-layout>
     </el-card>
     <linkMaterialDialog ref="linkMaterialDialogRef" @success="success" />