From 7c733f2e8d6b3c688ea741183f2b5d60686e841e Mon Sep 17 00:00:00 2001
From: yangfeng <wanwan926_4@163.com>
Date: 星期四, 21 九月 2023 11:06:36 +0800
Subject: [PATCH] 编辑产品接口联调及增加必填项校验

---
 src/components/makepager/pager/PagerView.vue         |    2 
 src/views/productManage/product/index.vue            |   27 +++++++++++--
 src/components/makepager/pager/mixin/pageMixin.js    |    2 
 src/views/productManage/product/AddProductDialog.vue |   53 ++++++++++++++++----------
 4 files changed, 56 insertions(+), 28 deletions(-)

diff --git a/src/components/makepager/pager/PagerView.vue b/src/components/makepager/pager/PagerView.vue
index 7c40a5d..bf7c1f2 100644
--- a/src/components/makepager/pager/PagerView.vue
+++ b/src/components/makepager/pager/PagerView.vue
@@ -40,7 +40,7 @@
       default: () => {
         return {
           currPage: 1,
-          pageSize: 10,
+          pageSize: 15,
           totalCount: 0
         }
       }
diff --git a/src/components/makepager/pager/mixin/pageMixin.js b/src/components/makepager/pager/mixin/pageMixin.js
index 3e2e54e..ad77eda 100644
--- a/src/components/makepager/pager/mixin/pageMixin.js
+++ b/src/components/makepager/pager/mixin/pageMixin.js
@@ -7,7 +7,7 @@
     return {
       pagerOptions: {
         currPage: 1,
-        pageSize: 10,
+        pageSize: 15,
         totalCount: 0
       },
       pagerEvents
diff --git a/src/views/productManage/product/AddProductDialog.vue b/src/views/productManage/product/AddProductDialog.vue
index 206aa69..b8542b9 100644
--- a/src/views/productManage/product/AddProductDialog.vue
+++ b/src/views/productManage/product/AddProductDialog.vue
@@ -47,7 +47,7 @@
           <div class="basic-info-view">
             <el-row>
               <el-col :span="23">
-                <div style="margin-left: 20px">浜у搧鍚嶇О</div>
+                <div style="margin-left: 20px"><span style="color: #f56c6c">*</span>浜у搧鍚嶇О</div>
                 <el-form-item label="" prop="name" label-width="20px">
                   <el-input v-model="editConfig.infomation.name" placeholder="" :disabled="!showFooter"></el-input>
                 </el-form-item>
@@ -105,8 +105,8 @@
                       <el-option v-for="item in strategyOptions" :key="item.id" :label="item.name" :value="item.id">
                       </el-option>
                     </el-select>
-                    <div>鍙偍瀛樼殑浜у搧鏄偍绠$悊搴撳瓨姘村钩鐨勫疄鐗╅」鐩��</div>
-                    <div>鎮ㄥ彲浠ュ湪鍙戣揣鍓嶄负鍏跺紑鍏风粨绠楀崟銆�</div>
+                    <div class="font_size_13" style="color: gray">鍙偍瀛樼殑浜у搧鏄偍绠$悊搴撳瓨姘村钩鐨勫疄鐗╅」鐩��</div>
+                    <div class="font_size_13" style="color: gray">鎮ㄥ彲浠ュ湪鍙戣揣鍓嶄负鍏跺紑鍏风粨绠楀崟銆�</div>
                   </el-form-item>
                   <el-form-item label="鐗╂枡绫诲瀷" prop="model" style="margin-left: 20px">
                     <el-select
@@ -259,6 +259,7 @@
                       :precision="2"
                       :controls="false"
                       style="width: 85%"
+                      :disabled="!showFooter"
                     ></el-input-number>
                     <span> kg</span>
                   </el-form-item>
@@ -270,6 +271,7 @@
                       :precision="2"
                       :controls="false"
                       style="width: 85%"
+                      :disabled="!showFooter"
                     ></el-input-number>
                     <span> m鲁</span>
                   </el-form-item>
@@ -285,9 +287,10 @@
                       v-model="editConfig.infomation.deliveryAdvanceTime"
                       placeholder="璇疯緭鍏�"
                       :min="0"
-                      :precision="2"
+                      :precision="0"
                       :controls="false"
                       style="width: 85%"
+                      :disabled="!showFooter"
                     ></el-input-number>
                     <span> 澶╂暟</span>
                   </el-form-item>
@@ -296,9 +299,10 @@
                       v-model="editConfig.infomation.customerTaxes"
                       placeholder="璇疯緭鍏�"
                       :min="0"
-                      :precision="2"
+                      :precision="0"
                       :controls="false"
                       style="width: 85%"
+                      :disabled="!showFooter"
                     ></el-input-number>
                     <span> 澶╂暟</span>
                   </el-form-item>
@@ -477,7 +481,7 @@
 <script>
 // import CommonFormTableView from "@/components/makepager/CommonFormTableView"
 import { getProductCategoryList } from "@/api/product/productCategory"
-import { getProductList, addProduct } from "@/api/product/product"
+import { getProductList, addProduct, updateProduct } from "@/api/product/product"
 
 let inputElement = null
 export default {
@@ -489,7 +493,7 @@
         return {
           visible: false,
           title: "鏂板缓",
-          infomation: { type: [] }
+          infomation: {}
         }
       }
     }
@@ -501,11 +505,10 @@
       dialogWidth: "50%",
       editConfig: this.editCommonConfig,
       rules: {
-        client_name: [{ required: true, message: "璇烽�夋嫨瀹㈡埛鍚嶇О", trigger: "change" }],
-        number: [{ required: true, message: "璇疯緭鍏ラ��娆惧崟缂栧彿", trigger: "blur" }],
-        refundDate: [{ required: true, message: "璇烽�夋嫨閫�娆炬棩鏈�", trigger: "change" }],
-        memberId: [{ required: true, message: "璇烽�夋嫨閿�鍞礋璐d汉", trigger: "change" }],
-        sale_return_nunber: [{ required: true, message: "璇烽�夋嫨閿�鍞��璐у崟", trigger: "change" }]
+        name: [{ required: true, message: "璇疯緭鍏ヤ骇鍝佸悕绉�", trigger: "blur" }],
+        model: [{ required: true, message: "璇烽�夋嫨鐗╂枡绫诲瀷", trigger: "change" }],
+        salePrice: [{ required: true, message: "璇疯緭鍏ラ攢鍞环鏍�", trigger: "blur" }],
+        unit: [{ required: true, message: "璇疯緭鍏ュ崟浣�", trigger: "blur" }]
       },
       memberOptions: [
         {
@@ -630,16 +633,21 @@
       this.setTableForm()
     },
     // 淇濆瓨
-    async saveClick() {
+    saveClick(formName) {
       console.log(this.editConfig.infomation)
-      await addProduct({
-        ...this.editConfig.infomation
-      }).then((res) => {
-        console.log(res)
-        this.editConfig.visible = false
-        if (res.code === 200) {
-          this.$message.success("娣诲姞鎴愬姛")
-          this.$parent.getData()
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          let requestUrl = this.editConfig.title === "鏂板缓" ? addProduct : updateProduct
+          requestUrl({
+            ...this.editConfig.infomation
+          }).then((res) => {
+            console.log(res)
+            this.editConfig.visible = false
+            if (res.code === 200) {
+              this.$message.success("娣诲姞鎴愬姛")
+              this.$parent.getData()
+            }
+          })
         }
       })
     },
@@ -905,5 +913,8 @@
     line-height: 30px;
     font-size: 13px;
   }
+  .el-input__inner {
+    text-align: left;
+  }
 }
 </style>
diff --git a/src/views/productManage/product/index.vue b/src/views/productManage/product/index.vue
index d5e8709..6eb0622 100644
--- a/src/views/productManage/product/index.vue
+++ b/src/views/productManage/product/index.vue
@@ -63,7 +63,7 @@
         </div> -->
       </div>
       <div class="btn-pager">
-        <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
+        <PagerView class="page" :pager-options="pagerOptions" :page-size="pageSizes" v-on="pagerEvents" />
       </div>
     </div>
     <!-- 鏂板缓/缂栬緫 -->
@@ -99,7 +99,8 @@
         infomation: {}
       },
       isIconIndex: "1", // 1 鍥炬爣 2 鍒楄〃
-      url: "https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg"
+      url: "https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg",
+      pageSizes: [15, 30]
     }
   },
   created() {
@@ -108,6 +109,10 @@
   },
   methods: {
     setTable() {
+      if (this.isIconIndex === "1") {
+        this.pageSizes = [30, 60]
+        this.pagerOptions.pageSize = 30
+      }
       this.tableList = {
         tableInfomation: [],
         selectBox: true,
@@ -234,6 +239,7 @@
     addBtnClick() {
       this.editConfig.visible = true
       this.editConfig.title = "鏂板缓"
+      this.editConfig.infomation = {}
     },
     // 琛岀偣鍑�
     tableRowClick(row) {
@@ -244,7 +250,16 @@
     },
     // 鍒囨崲鍒楄〃灞曠幇褰㈠紡
     selIconSwitchClick(value) {
+      this.pagerOptions.currPage = 1
       this.isIconIndex = value
+      if (value === "1") {
+        this.pageSizes = [30, 60]
+        this.pagerOptions.pageSize = 30
+      } else {
+        this.pageSizes = [15, 30]
+        this.pagerOptions.pageSize = 15
+      }
+      this.getData()
     }
   }
 }
@@ -288,8 +303,8 @@
   justify-content: flex-start;
   align-content: flex-start;
   .product-box {
-    width: 295px;
-    height: 84px;
+    width: 294px;
+    height: 94px;
     margin-bottom: 10px;
     margin-right: 20px;
     border: 1px solid #dee2e6;
@@ -298,6 +313,7 @@
     -webkit-box-shadow: inset 0 0 2px #dee2e6;
     padding: 8px;
     display: flex;
+    align-items: center;
     .left {
       width: 60px;
       text-align: center;
@@ -308,6 +324,7 @@
       margin-left: 10px;
       .label {
         color: #212529;
+        margin-top: -10px;
         margin-right: 15px;
         word-break: break-all;
         word-wrap: break-word;
@@ -315,7 +332,7 @@
       .price,
       .library {
         color: #495057;
-        margin-top: 3px;
+        margin-top: 15px;
       }
     }
   }

--
Gitblit v1.8.0