From 4708131e4e9e97ce280b9befbd57b7d405931a66 Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期三, 17 四月 2024 09:48:47 +0800
Subject: [PATCH] 调拨模块 下面的产品显示 辅助单位和辅助数量

---
 src/views/overview/OverviewListView.vue              |   25 ++++++-
 src/api/data.js                                      |   21 +++++++
 src/views/productManage/product/AddProductDialog.vue |  102 +++++++++++++++++++++++++++++++++-
 3 files changed, 140 insertions(+), 8 deletions(-)

diff --git a/src/api/data.js b/src/api/data.js
index 37e68c5..311de84 100644
--- a/src/api/data.js
+++ b/src/api/data.js
@@ -216,6 +216,25 @@
     id: 3,
   },
 ];
+// 鐗╂枡 姣涢噸锛屽噣閲嶇殑鍗曚綅
+const grossUnit=[
+  {
+    name: "g",
+    id: 1,
+  },
+  {
+    name: "kg",
+    id: 2,
+  },
+  {
+    name: "鍚�",
+    id: 3,
+  },
+  {
+    name: "鏂�",
+    id: 4,
+  },
+]
 export const getDataByType = (type) => {
   if (type == "purchaseStatus") {
     return purchaseStatus
@@ -241,5 +260,7 @@
     return baseOperationTypeTwo
   }else if(type=='purchaseType'){
     return purchaseType;
+  }else if(type=='grossUnit'){
+    return grossUnit;
   }
 }
diff --git a/src/views/overview/OverviewListView.vue b/src/views/overview/OverviewListView.vue
index cce7adf..49354f5 100644
--- a/src/views/overview/OverviewListView.vue
+++ b/src/views/overview/OverviewListView.vue
@@ -130,8 +130,8 @@
         { label: "浜у搧鍨嬪彿", prop: "model" },
         { label: "鏁伴噺", prop: "amount" },
         { label: "璁¢噺鍗曚綅", prop: "unit" },
-        { label: "杈呭姪鏁伴噺", prop: "unit" },
-        { label: "杈呭姪鍗曚綅", prop: "amount" }
+        { label: "杈呭姪鏁伴噺", prop: "adjunctAmount" },
+        { label: "杈呭姪鍗曚綅", prop: "adjunctUnit" }
       ],
       allotProductColumn: [
         { label: "浜у搧缂栧彿", prop: "id", default: true },
@@ -142,8 +142,8 @@
         { label: "璋冨嚭浣嶇疆", prop: "location" },
         { label: "璋冨叆浣嶇疆", prop: "toLocation" },
         { label: "鏁伴噺", prop: "amount" },
-        { label: "杈呭姪鏁伴噺", prop: "unit" },
-        { label: "杈呭姪鍗曚綅", prop: "amount" }
+        { label: "杈呭姪鏁伴噺", prop: "adjunctAmount" },
+        { label: "杈呭姪鍗曚綅", prop: "adjunctUnit" }
       ]
     }
   },
@@ -350,12 +350,27 @@
     // bottom浜у搧淇℃伅鏁版嵁澶勭悊
     bottomProductData(arr) {
       const list = arr.details.map((item) => {
+        let adjunctUnit=''
+        let adjunctAmount=''
+        if(item.product.moreUnit&&item.product.moreUnitList){
+          let moreUnitList=item.product.moreUnitList
+          if(moreUnitList.length>0){
+            for(let j in moreUnitList){
+              if(moreUnitList[j].floating){
+                adjunctUnit=moreUnitList[j].unit
+                adjunctAmount=moreUnitList[j].amount
+              }
+            }
+          }
+        }
         return {
           ...item,
           productName: item.product.name,
           unit: item.product.unit,
           location: arr.location.name,
-          toLocation: arr.toLocation.name
+          toLocation: arr.toLocation.name,
+          adjunctUnit:adjunctUnit,
+          adjunctAmount:adjunctAmount
         }
       })
       this.productTableList.tableInfomation = list
diff --git a/src/views/productManage/product/AddProductDialog.vue b/src/views/productManage/product/AddProductDialog.vue
index 4649572..6c74ea1 100644
--- a/src/views/productManage/product/AddProductDialog.vue
+++ b/src/views/productManage/product/AddProductDialog.vue
@@ -326,7 +326,7 @@
                       </el-option>
                     </el-select>
                   </el-form-item>
-                  <el-form-item label="閲嶉噺" prop="weight" label-width="80px">
+                  <!-- <el-form-item label="閲嶉噺" prop="weight" label-width="80px">
                     <el-input-number
                       v-model="editConfig.infomation.weight"
                       placeholder="璇疯緭鍏�"
@@ -337,7 +337,63 @@
                       :disabled="!showFooter"
                     ></el-input-number>
                     <span> kg</span>
-                  </el-form-item>
+                  </el-form-item> -->
+                  <el-form-item label="姣涢噸" prop="grossWeight">
+                  <el-col :span="15"
+                >
+                    <el-input
+                        v-model="editConfig.infomation.grossWeight"
+                        placeholder="璇疯緭鍏�"
+                        :disabled="!showFooter"
+                      ></el-input>
+                  </el-col>
+                  <el-col :span="1">&nbsp;</el-col>
+                  <el-col :span="4">
+                  <el-select
+                    v-model="editConfig.infomation.grossUnit"
+                    placeholder="鍗曚綅"
+                    filterable
+                    :disabled="!showFooter"
+                    style="width: 100%; float: right"
+                    :popper-append-to-body="false"
+                  >
+                    <el-option
+                      v-for="ele in grossUnitList"
+                      :key="ele.id"
+                      :label="ele.name"
+                      :value="ele.name"
+                    ></el-option>
+                  </el-select>
+                  </el-col>
+              </el-form-item>
+              <el-form-item label="鍑�閲�" prop="netWeight">
+                <el-col :span="15"
+              >
+                  <el-input
+                      v-model="editConfig.infomation.netWeight"
+                      :disabled="!showFooter"
+                      placeholder="璇疯緭鍏�"
+                    ></el-input>
+                </el-col>
+                <el-col :span="1">&nbsp;</el-col>
+                 <el-col :span="4">
+                <el-select
+                  v-model="editConfig.infomation.netUnit"
+                  placeholder="鍗曚綅"
+                  filterable
+                  :disabled="!showFooter"
+                  style="width: 100%; float: right"
+                  :popper-append-to-body="false"
+                >
+                  <el-option
+                    v-for="ele in grossUnitList"
+                    :key="ele.id"
+                    :label="ele.name"
+                    :value="ele.name"
+                  ></el-option>
+                </el-select>
+                </el-col>
+              </el-form-item>
                   <el-form-item label="浣撶Н" prop="volume" label-width="80px">
                     <el-input-number
                       v-model="editConfig.infomation.volume"
@@ -615,7 +671,29 @@
         // salePrice: [{ required: true, message: "璇疯緭鍏ラ攢鍞环鏍�", trigger: "blur" }],
         unit: [{ required: true, message: "璇疯緭鍏ュ崟浣�", trigger: ["blur"] }],
         // 閲囪喘绫诲瀷
-        purchaseTypeList: [{ required: true, message: "璇烽�夋嫨", trigger: "blur" }]
+        purchaseTypeList: [{ required: true, message: "璇烽�夋嫨", trigger: "blur" }],
+        netWeight: [
+          {
+            required: false,
+            message: "璇峰~鍐�",
+            trigger: "change",
+          },
+          {
+            validator: this.validatorNumFour,
+            trigger: "blur",
+          },
+        ],
+        grossWeight: [
+          {
+            required: false,
+            message: "璇峰~鍐�",
+            trigger: "change",
+          },
+          {
+            validator: this.validatorNumFour,
+            trigger: "blur",
+          },
+        ],
       },
       memberOptions: [],
       productCategoryOptions: [], // 浜у搧绫诲埆
@@ -673,6 +751,7 @@
       isView: false,
       fileFormdata: null, // 涓婁紶鍥剧墖鍏ュ弬
       bomPurchaseTypeList: getDataByType("purchaseType"),
+      grossUnitList:getDataByType("grossUnit"),
       unitList: [],
       editRow:{
         editDialogVisible:false,
@@ -701,6 +780,23 @@
     this.getUnitInfo()
   },
   methods: {
+    validatorNumFour(rule, value, callback) {
+      if (value != "") {
+        if (value == undefined || value == null) {
+          callback(new Error("璇疯緭鍏ユ湁鏁堟暟瀛�"));
+        } else {
+          let reg2 =
+            /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/;
+          if (!reg2.test(value) || value == 0) {
+            callback(new Error("璇峰~鍐欏ぇ浜庨浂鐨�2浣嶅皬鏁扮殑鏁板瓧"));
+          } else {
+            callback();
+          }
+        }
+      } else {
+        callback();
+      }
+    },
     // 鍗曚綅
     handleUnitShow() {
       this.editRow.editDialogVisible = true;

--
Gitblit v1.8.0