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/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue |   88 +++++++++++++++++++++++++++++--------------
 1 files changed, 59 insertions(+), 29 deletions(-)

diff --git a/src/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue b/src/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue
index 20d9d89..35cbbe7 100644
--- a/src/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue
+++ b/src/views/sales/salesOpportunity/AddSalesOpportunityDialog.vue
@@ -31,7 +31,20 @@
               <!--              </el-col>-->
               <el-col :span="12">
                 <el-form-item label="閿�鍞満浼氱紪鍙�" prop="number">
-                  <WordInput
+                  <el-input
+                    v-if="
+                      editConfig.title == '缂栬緫' ||
+                      (editConfig.title == '鏂板缓' && codenumer && (explain != '' || isIdDisabled))
+                    "
+                    :disabled="editConfig.title == '缂栬緫'"
+                    v-model="editConfig.infomation.number"
+                    placeholder="璇疯緭鍏ョ紪鐮�"
+                  >
+                  </el-input>
+                  <span v-else-if="editConfig.title == '鏂板缓'" style="color: #f56c6c"
+                    >璇蜂紭鍏堥厤缃紪鐮佽鑼� <el-button type="text" @click="numberClick"> 閰嶇疆瑙勮寖 </el-button></span
+                  >
+                  <!-- <WordInput
                     v-if="codenumer && (explain != '' || isIdDisabled) && method == 0"
                     :codenumer="codenumer"
                     :sum="sum"
@@ -42,7 +55,7 @@
                   <span v-else-if="method == 0" style="color: #f56c6c"
                     >璇蜂紭鍏堥厤缃紪鐮佽鑼� <el-button type="text" @click="numberClick"> 閰嶇疆瑙勮寖 </el-button></span
                   >
-                  <span v-else>{{ editConfig.title === "鏂板缓" ? "鑷姩鐢熸垚" : editConfig.infomation.number }}</span>
+                  <span v-else>{{ editConfig.title === "鏂板缓" ? "鑷姩鐢熸垚" : editConfig.infomation.number }}</span> -->
                 </el-form-item>
               </el-col>
               <el-col :span="12">
@@ -313,13 +326,13 @@
           </div>
           <div class="product-view">
             <CommonFormTableView
-                :show-summary="showSummary"
-                :product-table-list="productTableList"
-                @inputContent="inputContent"
-                @addProductClick="addProductClick"
-                @emptyProductClick="emptyProductClick"
-                @recalculateProductClick="recalculateProductClick"
-                @clearupProduct="clearupProduct"
+              :show-summary="showSummary"
+              :product-table-list="productTableList"
+              @inputContent="inputContent"
+              @addProductClick="addProductClick"
+              @emptyProductClick="emptyProductClick"
+              @recalculateProductClick="recalculateProductClick"
+              @clearupProduct="clearupProduct"
             />
           </div>
 
@@ -600,10 +613,9 @@
 import SelectClientDialog from "@/views/other/commonDialog/SelectClientDialog"
 import SelectContactDialog from "@/views/other/commonDialog/SelectContactDialog"
 import { getCityList } from "@/api/common/address"
-import WordInput from "@/components/wordInput.vue"
-import codeMixin from "@/views/client/followupRecords/mixin/codeMixin"
+import codeMixin from "@/components/makepager/mixin/codeMixin"
 import { getContactList } from "@/api/client/contacts"
-import CommonFormTableView from "@/components/makepager/CommonFormTableView.vue";
+import CommonFormTableView from "@/components/makepager/CommonFormTableView.vue"
 export default {
   name: "AddSalesOpportunityDialog",
   mixins: [codeMixin],
@@ -619,7 +631,7 @@
       }
     }
   },
-  components: {CommonFormTableView, WordInput, SelectClientDialog, SelectContactDialog },
+  components: { CommonFormTableView, SelectClientDialog, SelectContactDialog },
   computed: {
     searchCommonHeight() {
       return this.$refs.searchCommonView.offsetHeight
@@ -634,10 +646,10 @@
       dialogWidth: "50%",
       editConfig: this.editCommonConfig,
       rules: {
-        number: [{ required: true, message: "璇疯緭鍏ラ攢鍞満浼氱紪鍙�", trigger: "blur" }],
+        number: [{ required: true, validator: this.validateCheckCode, trigger: ["blur", "change"] }],
         name: [{ required: true, message: "璇疯緭鍏ユ満浼氬悕绉�", trigger: "blur" }],
 
-        member_id: [{ required: true, message: "璇烽�夋嫨閿�鍞礋璐d汉", trigger: "change" }],
+        member_id: [{ required: true, validator: this.validateMemberId, trigger: "change" }],
         sale_stage_id: [{ required: true, message: "璇烽�夋嫨閿�鍞樁娈�", trigger: "change" }],
         currency: [{ required: true, message: "璇烽�夋嫨甯佺", trigger: "change" }],
         expected_time: [{ required: true, message: "璇烽�夋嫨棰勮鎴愪氦鏃ユ湡", trigger: "change" }],
@@ -680,7 +692,7 @@
         sumProp: ["Amount", "total"],
         mergeNumber: 2
       },
-      productId:1,
+      productId: 1
     }
   },
   created() {
@@ -701,9 +713,6 @@
       if (val) {
         this.formInfo()
       }
-    },
-    "editConfig.infomation.codeStandID"() {
-      this.formInfo()
     }
   },
   methods: {
@@ -723,6 +732,14 @@
       getAllData()
         .then((res) => {
           this.memberOptions = res.data.member
+          if (this.editConfig.title === "鏂板缓") {
+            let username = document.cookie.replace(/(?:(?:^|.*;\s*)username\s*=\s*([^;]*).*$)|^.*$/, "$1")
+            this.memberOptions.map((item) => {
+              if (item.username == username) {
+                this.$set(this.editConfig.infomation, "member_id", item.id)
+              }
+            })
+          }
           this.businessSourceOptions = res.data.sales_source
           this.businessTypeOptions = res.data.sale_type
           this.oldCustomerMarketOptions = res.data.regular_customers
@@ -747,10 +764,9 @@
     // 淇濆瓨
     saveClick(formName) {
       this.$refs[formName].validate((valid) => {
-        this.validateFormNumber()
         if (valid) {
-          const hasProduct = this.tableData.every(ele=>!!ele.name)
-          if (!hasProduct){
+          const hasProduct = this.tableData.every((ele) => !!ele.name)
+          if (!hasProduct) {
             this.$message.error("浜у搧鍚嶇О涓嶈兘涓虹┖")
             return
           }
@@ -762,9 +778,14 @@
               console.log(res)
               this.editConfig.visible = false
               if (res.code === 200) {
-                this.$message.success("娣诲姞鎴愬姛")
-                this.$parent.getData()
-                // }
+                this.$message.success("娣诲姞鎴愬姛锛�")
+                if (this.editConfig.title === "鏂板缓" && this.editConfig.infomation?.sourceTitle === "鎺ㄨ繘") {
+                  this.$parent.handleClose()
+                } else {
+                  this.$parent.getData()
+                }
+              } else {
+                this.$message.error(res.msg ? res.msg : "娣诲姞澶辫触锛�")
               }
             })
           } else {
@@ -772,8 +793,10 @@
               console.log(res)
               this.editConfig.visible = false
               if (res.code === 200) {
-                this.$message.success("缂栬緫鎴愬姛")
-                this.$parent.getData()
+                this.$message.success("缂栬緫鎴愬姛锛�")
+                this.$parent?.getData()
+              } else {
+                this.$message.error(res.msg ? res.msg : "缂栬緫澶辫触锛�")
               }
             })
           }
@@ -822,8 +845,7 @@
         detail_address: data.detail_address || "",
 
         codeStandID: data.ID,
-        codeRule: this.codeRule,
-        products: this.tableData,
+        products: this.tableData
       }
       return params
     },
@@ -1013,6 +1035,14 @@
     clearupProduct(data) {
       this.tableData = data
       this.productTableList.tableData = this.tableData
+    },
+    // 閿�鍞礋璐d汉鑷畾涔夋牎楠岃鍒�
+    validateMemberId(rule, value, callback) {
+      if (this.editConfig.infomation?.member_id > 0) {
+        callback()
+      } else {
+        callback(new Error("璇烽�夋嫨閿�鍞礋璐d汉"))
+      }
     }
   }
 }

--
Gitblit v1.8.0