Browse Source

采购-预留:页面功能优化,增加校验逻辑;

001295 1 năm trước cách đây
mục cha
commit
02c07ba704

+ 13 - 9
src/views/purchase/PurchaseDemandList/reserved.vue

@@ -56,19 +56,22 @@
         <el-table-column show-overflow-tooltip prop="createTime" label="创建时间" width="200"></el-table-column>
       </el-table>
       <el-table style="margin-top: 50px" :data="showHistoryItems" height="300px">
-        <el-table-column show-overflow-tooltip prop="materialCode" label="物料编码" width="150"></el-table-column>
-        <el-table-column show-overflow-tooltip prop="materialName" label="物料名称" width="150"></el-table-column>
-        <el-table-column show-overflow-tooltip prop="unitName" label="单位名称" width="150"></el-table-column>
-        <el-table-column show-overflow-tooltip prop="operateType" label="操作类型" width="150"></el-table-column>
-        <el-table-column show-overflow-tooltip prop="operateBill" label="操作单据" width="150"></el-table-column>
-        <el-table-column show-overflow-tooltip prop="operateBillcode" label="操作单据编码" width="150"></el-table-column>
-        <el-table-column show-overflow-tooltip prop="operateBillitem" label="操作明细行" width="150"></el-table-column>
-        <el-table-column show-overflow-tooltip prop="allotQty" label="操作数量" width="150">
+        <el-table-column prop="materialCode" label="物料编码" width="150"></el-table-column>
+        <el-table-column show-overflow-tooltip prop="materialName" label="物料名称" width="200"></el-table-column>
+        <el-table-column prop="unitName" label="单位名称" width="100"></el-table-column>
+        <el-table-column label="操作单据" align="center" prop="operateBill"  width="100">
+          <template slot-scope="scope">
+            <dict-tag :options="dict.type.ow_operatetype" :value="scope.row.operateBill"/>
+          </template>
+        </el-table-column>
+        <el-table-column show-overflow-tooltip prop="operateBillcode" label="操作单据编码" width="200"></el-table-column>
+        <el-table-column prop="operateBillitem" label="操作明细行号" width="150"></el-table-column>
+        <el-table-column prop="allotQty" label="操作数量" width="150">
           <template slot-scope="scope">
             {{scope.row.allotQty > 0 ? "+" + scope.row.allotQty : scope.row.allotQty}}
           </template>
         </el-table-column>
-        <el-table-column show-overflow-tooltip prop="createTime" label="操作时间" width="200"></el-table-column>
+        <el-table-column prop="createTime" label="操作时间" width="200"></el-table-column>
       </el-table>
     </el-dialog>
   </div>
@@ -78,6 +81,7 @@
 import {getDetailBySource} from '@/api/purchase/ownership.js'
 
 export default {
+  dicts: ['ow_operatetype'],
   props: {
     isVisible: {
       type: Boolean,

+ 39 - 24
src/views/purchase/ownershipClose/index.vue

@@ -28,18 +28,18 @@
       </el-row>
     </el-form>
     <div style="float:right">
-        <el-button type="primary" size="mini" @click="btnAdd">新增</el-button>
-      </div>
+      <el-button type="primary" size="mini" @click="btnAdd">新增</el-button>
+    </div>
     <el-table
       size="mini"
       v-loading="loading"
       :data="list"
       height="500px"
     >
-      <el-table-column show-overflow-tooltip width="200" label="序号" align="center" prop="id" />
-      <el-table-column show-overflow-tooltip width="200" label="一级分类名称" align="center" prop="oneClassName" />
-      <el-table-column show-overflow-tooltip width="200" label="一级分类编码" align="center" prop="oneClassCode" />
-      <el-table-column show-overflow-tooltip width="200" label="释放天数" align="center" prop="day" />
+      <el-table-column show-overflow-tooltip min-width="200" label="序号" align="center" prop="id" />
+      <el-table-column show-overflow-tooltip min-width="200" label="一级分类名称" align="center" prop="oneClassName" />
+      <el-table-column show-overflow-tooltip min-width="200" label="一级分类编码" align="center" prop="oneClassCode" />
+      <el-table-column show-overflow-tooltip min-width="200" label="释放天数" align="center" prop="day" />
       <el-table-column
         width="250"
         label="操作"
@@ -77,8 +77,9 @@
         ref="form"
         :model="form"
         label-width="80px"
+        :rules="formRules"
       >
-        <el-form-item label="一级分类">
+        <el-form-item label="一级分类" prop="oneClass">
           <el-select
           size="mini"
           v-model="form.oneClass"
@@ -94,9 +95,9 @@
           ></el-option>
         </el-select>
         </el-form-item>
-        <el-form-item label="天数">
+        <el-form-item label="天数" prop="day">
           <el-col :span="8">
-            <el-input type="number" oninput="value=value.replace(/[^0-9.]/g,'')" v-model="form.day"></el-input>
+            <el-input type="number" oninput="value=value.replace(/[^0-9.]/g,'')" v-only-number="{max:99999,min:0,precision:0}" v-model="form.day"></el-input>
           </el-col>
         </el-form-item>
       </el-form>
@@ -147,6 +148,15 @@ export default {
       },
       //一级分类列表
       oneClass:[],
+      //校验规则
+      formRules:{
+        oneClass: [
+          { required: true, message: "一级分类不能为空", trigger: "blur" },
+        ],
+        day: [
+          { required: true, message: "天数不能为空", trigger: "blur" },
+        ],
+      },
     };
   },
   async created() {
@@ -207,21 +217,26 @@ export default {
     },
     /** 提交表单 */
     submitForm() {
-      if(this.form.id){
-        update(this.form).then(response => {
-          this.$modal.msgSuccess("修改成功");
-          this.open = false;
-          this.form = {};
-          this.getList();
-        });
-      }else{
-        insert(this.form).then(response => {
-          this.$modal.msgSuccess("新增成功");
-          this.open = false;
-          this.form = {};
-          this.getList();
-        });
-      }
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if(this.form.id){
+            update(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.form = {};
+              this.getList();
+            });
+          }else{
+            insert(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.form = {};
+              this.getList();
+            });
+          }
+        }
+      });
+      
     },
     btnAdd(){
       this.open = true;

+ 41 - 24
src/views/purchase/ownershipCp/index.vue

@@ -30,12 +30,12 @@
       :data="list"
       height="500px"
     >
-      <el-table-column show-overflow-tooltip width="200" label="序号" align="center" prop="id" />
-      <el-table-column show-overflow-tooltip width="200" label="编码" align="center" prop="code" />
-      <el-table-column show-overflow-tooltip width="200" label="物料" align="center" prop="materialName" />
-      <el-table-column show-overflow-tooltip width="200" label="物料编码" align="center" prop="materialCode" />
-      <el-table-column show-overflow-tooltip width="200" label="客户" align="center" prop="customerName" />
-      <el-table-column show-overflow-tooltip width="200" label="客户编码" align="center" prop="customerCode" />
+      <el-table-column show-overflow-tooltip min-width="200" label="序号" align="center" prop="id" />
+      <el-table-column show-overflow-tooltip min-width="200" label="编码" align="center" prop="code" />
+      <el-table-column show-overflow-tooltip min-width="200" label="物料" align="center" prop="materialName" />
+      <el-table-column show-overflow-tooltip min-width="200" label="物料编码" align="center" prop="materialCode" />
+      <el-table-column show-overflow-tooltip min-width="200" label="客户" align="center" prop="customerName" />
+      <el-table-column show-overflow-tooltip min-width="200" label="客户编码" align="center" prop="customerCode" />
       <el-table-column
         width="250"
         label="操作"
@@ -73,13 +73,14 @@
         ref="form"
         :model="form"
         label-width="80px"
+        :rules="formRules"
       >
-        <el-form-item label="编码">
+        <el-form-item label="编码" prop="code">
           <el-col :span="8">
             <el-input v-model="form.code"></el-input>
           </el-col>
         </el-form-item>
-        <el-form-item label="物料">
+        <el-form-item label="物料" prop="materialName">
           <DrPopoverSelectV2
             size="mini"
             v-model="form.materialName"
@@ -93,7 +94,7 @@
           >
           </DrPopoverSelectV2>
         </el-form-item>
-        <el-form-item label="客户">
+        <el-form-item label="客户" prop="customerName">
           <DrPopoverSelectV2
             size="mini"
             v-model="form.customerName"
@@ -157,6 +158,18 @@ export default {
       // 表单参数
       form: {
       },
+      //校验规则
+      formRules:{
+        code: [
+          { required: true, message: "编码不能为空", trigger: "blur" },
+        ],
+        materialName: [
+          { required: true, message: "物料不能为空", trigger: "blur" },
+        ],
+        customerName: [
+          { required: true, message: "客户不能为空", trigger: "blur" },
+        ],
+      },
     };
   },
   async created() {
@@ -206,21 +219,25 @@ export default {
     },
     /** 提交表单 */
     submitForm() {
-      if(this.form.id){
-        update(this.form).then(response => {
-          this.$modal.msgSuccess("修改成功");
-          this.open = false;
-          this.form = {};
-          this.getList();
-        });
-      }else{
-        insert(this.form).then(response => {
-          this.$modal.msgSuccess("新增成功");
-          this.open = false;
-          this.form = {};
-          this.getList();
-        });
-      }
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if(this.form.id){
+            update(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.form = {};
+              this.getList();
+            });
+          }else{
+            insert(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.form = {};
+              this.getList();
+            });
+          }
+        }
+      });
     },
     btnAdd(){
       this.open = true;

+ 36 - 22
src/views/purchase/ownershipLot/index.vue

@@ -27,11 +27,11 @@
       :data="list"
       height="500px"
     >
-      <el-table-column show-overflow-tooltip width="200" label="序号" align="center" prop="id" />
-      <el-table-column show-overflow-tooltip width="200" label="物料" align="center" prop="materialName" />
-      <el-table-column show-overflow-tooltip width="200" label="物料编码" align="center" prop="materialCode" />
-      <el-table-column show-overflow-tooltip width="200" label="客户" align="center" prop="customerName" />
-      <el-table-column show-overflow-tooltip width="200" label="客户编码" align="center" prop="customerCode" />
+      <el-table-column show-overflow-tooltip min-width="200" label="序号" align="center" prop="id" />
+      <el-table-column show-overflow-tooltip min-width="200" label="物料" align="center" prop="materialName" />
+      <el-table-column show-overflow-tooltip min-width="200" label="物料编码" align="center" prop="materialCode" />
+      <el-table-column show-overflow-tooltip min-width="200" label="客户" align="center" prop="customerName" />
+      <el-table-column show-overflow-tooltip min-width="200" label="客户编码" align="center" prop="customerCode" />
       <el-table-column
         width="250"
         label="操作"
@@ -69,8 +69,9 @@
         ref="form"
         :model="form"
         label-width="80px"
+        :rules="formRules"
       >
-        <el-form-item label="物料">
+        <el-form-item label="物料" prop="materialName">
           <DrPopoverSelectV2
             size="mini"
             v-model="form.materialName"
@@ -84,7 +85,7 @@
           >
           </DrPopoverSelectV2>
         </el-form-item>
-        <el-form-item label="客户">
+        <el-form-item label="客户" prop="customerName">
           <DrPopoverSelectV2
             size="mini"
             v-model="form.customerName"
@@ -148,6 +149,15 @@ export default {
       // 表单参数
       form: {
       },
+      //校验规则
+      formRules:{
+        materialName: [
+          { required: true, message: "物料不能为空", trigger: "blur" },
+        ],
+        customerName: [
+          { required: true, message: "客户不能为空", trigger: "blur" },
+        ],
+      },
     };
   },
   async created() {
@@ -197,21 +207,25 @@ export default {
     },
     /** 提交表单 */
     submitForm() {
-      if(this.form.id){
-        update(this.form).then(response => {
-          this.$modal.msgSuccess("修改成功");
-          this.open = false;
-          this.form = {};
-          this.getList();
-        });
-      }else{
-        insert(this.form).then(response => {
-          this.$modal.msgSuccess("新增成功");
-          this.open = false;
-          this.form = {};
-          this.getList();
-        });
-      }
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if(this.form.id){
+            update(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.form = {};
+              this.getList();
+            });
+          }else{
+            insert(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.form = {};
+              this.getList();
+            });
+          }
+        }
+      });
     },
     btnAdd(){
       this.open = true;

+ 1 - 2
src/views/purchase/transferOrder/reserved.vue

@@ -59,10 +59,9 @@
         <el-table-column show-overflow-tooltip prop="materialCode" label="物料编码" width="150"></el-table-column>
         <el-table-column show-overflow-tooltip prop="materialName" label="物料名称" width="150"></el-table-column>
         <el-table-column show-overflow-tooltip prop="unitName" label="单位名称" width="150"></el-table-column>
-        <el-table-column show-overflow-tooltip prop="operateType" label="操作类型" width="150"></el-table-column>
         <el-table-column show-overflow-tooltip prop="operateBill" label="操作单据" width="150"></el-table-column>
         <el-table-column show-overflow-tooltip prop="operateBillcode" label="操作单据编码" width="150"></el-table-column>
-        <el-table-column show-overflow-tooltip prop="operateBillitem" label="操作明细行" width="150"></el-table-column>
+        <el-table-column show-overflow-tooltip prop="operateBillitem" label="操作明细行" width="150"></el-table-column>
         <el-table-column show-overflow-tooltip prop="allotQty" label="操作数量" width="150">
           <template slot-scope="scope">
             {{scope.row.allotQty > 0 ? "+" + scope.row.allotQty : scope.row.allotQty}}