From d4f4c52402b91cb8e17c1845da71c5e39662fde0 Mon Sep 17 00:00:00 2001
From: yangfeng <wanwan926_4@163.com>
Date: 星期三, 03 一月 2024 15:28:06 +0800
Subject: [PATCH] 销售报价单列表页增加统计内容及接口联调、添加报价单天天客户名称及对应限制功能

---
 src/components/makepager/CommonFormTableView.vue |   65 +++++++++++++++++++++++---------
 1 files changed, 47 insertions(+), 18 deletions(-)

diff --git a/src/components/makepager/CommonFormTableView.vue b/src/components/makepager/CommonFormTableView.vue
index ec70ab3..4476b95 100644
--- a/src/components/makepager/CommonFormTableView.vue
+++ b/src/components/makepager/CommonFormTableView.vue
@@ -44,7 +44,7 @@
                   :disabled="!isOperate"
                   @change="
                     (val) => {
-                      commonInputChange(val, item.prop, scope.row)
+                      commonInputChange(val, item.prop, scope.row,scope)
                     }
                   "
                 ></el-input>
@@ -105,7 +105,7 @@
                   style="width: 100%; margin-right: 5px"
                   @change="
                     (val) => {
-                      commonInputChange(val, item.prop, scope.row)
+                      commonInputChange(val, item.prop, scope.row,scope)
                     }
                   "
                 ></el-input-number>
@@ -127,19 +127,13 @@
                   style="width: 100%; margin-right: 5px"
                   @change="
                     (val) => {
-                      commonInputChange(val, item.prop, scope.row)
+                      commonInputChange(val, item.prop, scope.row,scope)
                     }
                   "
                 ></el-input-number>
               </el-form-item>
               <span v-else>
-                <template v-if="pageName=='quotation'&&item.prop=='profit'">
-                  {{ (scope.row.price&&scope.row.cost)?Number(scope.row.price)-Number(scope.row.cost):'' }}
-                </template>
-                <template v-if="pageName=='quotation'&&item.prop=='margin'">
-                  {{ (scope.row.price&&scope.row.cost)?((Number(scope.row.price)-Number(scope.row.cost))*100/Number(scope.row.cost)).toFixed(2)+'%':'' }}
-                </template>
-                <template v-else>
+                <template>
                   {{ scope.row[item.prop] }}
                 </template>
               </span>
@@ -160,7 +154,7 @@
                 style="width: 100%; margin-right: 5px"
                 @change="
                   (val) => {
-                    commonInputChange(val, item.prop, scope.row)
+                    commonInputChange(val, item.prop, scope.row,scope)
                   }
                 "
               ></el-input-number>
@@ -168,7 +162,7 @@
             <span v-else style="text-align: right">{{ scope.row[item.prop] }}</span>
           </template>
         </el-table-column>
-        <el-table-column  label="鎿嶄綔" width="40" align="center">
+        <el-table-column  label="鎿嶄綔" width="40" v-if="!detailEnter" align="center">
           <template slot-scope="scope">
             <el-button
               type="text"
@@ -207,6 +201,7 @@
       :edit-common-config="editSelCommonConfig"
       :quotationNumber="quotationNumber"
       @selClient="selClient"
+      @getSelectArray="getSelectArray"
     />
   </div>
 </template>
@@ -230,6 +225,11 @@
     pageName:{
       type:String,
       default:''
+    },
+    // 鍒楄〃鏂板鏄惁澶氶��
+    addTypeIdMultiple:{
+      type:Boolean,
+      default:false,
     },
     // 鏍规嵁鎶ヤ环鍗曟煡璇骇鍝�
     quotationNumber:{
@@ -274,6 +274,7 @@
       tableList: [],
       editSelCommonConfig: {
         editVisible: false,
+        isSelectBox:false,
         title: "",
         infomation: {}
       },
@@ -405,11 +406,15 @@
     },
     // 鏂板
     add() {
-      this.$emit("addProductClick")
+      if(this.addTypeIdMultiple){
+        this.editSelCommonConfig.title = "浜у搧鍚嶇О"
+        this.editSelCommonConfig.isSelectBox=true;
+        this.editSelCommonConfig.editVisible = true
+      }else{
+        this.$emit("addProductClick")
+      }
     },
-    commonInputChange(val, prop, row) {
-      console.log(val, prop)
-      console.log(row)
+    commonInputChange(val, prop, row,scope) {
       if (prop === "amount") {
         this.tableList.tableData.map((ite) => {
           if (ite.name === row.name) {
@@ -417,7 +422,27 @@
           }
         })
       }
-      this.$emit("inputContent", val, prop, row)
+      if(this.pageName=='quotation'&&prop=='cost'&&scope.row.cost){
+        let value=scope.row.cost
+        let reg2 =
+            /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/;
+          if (!reg2.test(value)||value==0) {
+            this.$message.error("鎴愭湰鍗曚环闇�瑕佸~鍐欏ぇ浜�0鐨�2浣嶅皬鏁帮紒")
+            return true;
+          } 
+        this.$forceUpdate()
+      }
+      if(this.pageName=='quotation'){
+        if(prop=='price'||prop=='cost'){
+          if(scope.row.price&&scope.row.cost){
+            let profit=Number(scope.row.price)-Number(scope.row.cost)
+            scope.row.profit=profit+'';
+            let margin=((Number(scope.row.price)-Number(scope.row.cost))*100/Number(scope.row.cost)).toFixed(2)
+            scope.row.margin=margin+'';
+          }
+        }
+      }
+      this.$emit("inputContent", val, prop, row,scope)
     },
     // 娓呯┖
     empty() {
@@ -428,7 +453,7 @@
     deleteClick(scope){
       this.tableList.tableData.splice(scope.$index,1)
       this.$forceUpdate();
-      this.$message.success('鍒犻櫎闄ゆ垚鍔燂紒')
+      this.$message.success('鍒犻櫎鎴愬姛锛�')
       this.$emit("deleteClick",scope)
     },
     // 閲嶇畻
@@ -475,6 +500,7 @@
       console.log(row, prop)
       this.productIndex = row.productId - 1
       this.editSelCommonConfig.title = "浜у搧鍚嶇О"
+      this.editSelCommonConfig.isSelectBox=false;
       this.editSelCommonConfig.editVisible = true
     },
     selClient(item) {
@@ -493,6 +519,9 @@
         }
       })
     },
+    getSelectArray(val){
+      this.$emit("getSelectArray",val)
+    },
     // 娓呴櫎宸查�夋嫨鐢ㄦ埛
     clearupClient(row) {
       this.productIndex = row.productId - 1

--
Gitblit v1.8.0