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/quotation/index.vue |   85 +++++++++++++++++++++++++++++++++---------
 1 files changed, 66 insertions(+), 19 deletions(-)

diff --git a/src/views/sales/quotation/index.vue b/src/views/sales/quotation/index.vue
index 9ac2a32..e0ed813 100644
--- a/src/views/sales/quotation/index.vue
+++ b/src/views/sales/quotation/index.vue
@@ -6,7 +6,14 @@
 
     <div class="filter" v-else>
       <div class="filter-card">
-        <CommonSearch :show-add="false" :amount-view="false" placeholder="璇疯緭鍏ユ姤浠峰崟鍙�" @searchClick="onFilterSearch">
+        <CommonSearch
+          :show-add="false"
+          :amount-view="true"
+          :totalObject="totalObject"
+          :otherOptions="otherOptions"
+          placeholder="璇疯緭鍏ユ姤浠峰崟鍙�"
+          @searchClick="onFilterSearch"
+        >
           <template slot="leftButton">
             <el-button size="small" type="primary" @click="addBtnClick">鏂板缓</el-button>
             <!--            <el-button size="small"  @click="delClick">鍒犻櫎</el-button>-->
@@ -50,8 +57,8 @@
             class="tab-pane"
             @click="getTab(0)"
             :style="{
-              background: TabsIndex==0 ? '#2a78fb' : '#F1F3F8',
-              color: TabsIndex==0 ? '#fff' : '#666'
+              background: TabsIndex == 0 ? '#2a78fb' : '#F1F3F8',
+              color: TabsIndex == 0 ? '#fff' : '#666'
             }"
           >
             浜у搧淇℃伅
@@ -76,7 +83,7 @@
 
 <script>
 import AddQuotationDialog from "@/views/sales/quotation/AddQuotationDialog"
-import { getQuotationList, getDelQuotation } from "@/api/sales/quotation"
+import { getQuotationList, getDelQuotation, getQuotationStatistics } from "@/api/sales/quotation"
 import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
 import DetailQuotation from "@/views/sales/quotation/DetailQuotation"
 export default {
@@ -102,8 +109,8 @@
   },
   computed: {},
   data() {
-     // 浜у搧淇℃伅
-     const productColumn = [
+    // 浜у搧淇℃伅
+    const productColumn = [
       { label: "浜у搧缂栧彿", prop: "number", default: true },
       { label: "浜у搧鍚嶇О", prop: "name" },
       { label: "鏁伴噺", prop: "amount" },
@@ -111,7 +118,7 @@
       { label: "閿�鍞崟浠�", prop: "price" },
       { label: "鎴愭湰鍗曚环", prop: "cost" },
       { label: "姣涘埄", prop: "profit" },
-      { label: "姣涘埄鐜�(%)", prop: "margin",},
+      { label: "姣涘埄鐜�(%)", prop: "margin" },
       { label: "浠风◣鍚堣", prop: "total", price: true }
     ]
     return {
@@ -163,20 +170,41 @@
         { label: "閿�鍞礋璐d汉", prop: "member_name" }, // 閿�鍞礋璐d汉
         { label: "鏈夋晥鏈�", prop: "validity_date", min: 100 }, // 淇敼鏃堕棿
         // { label: "灏忚", prop: "subTotal" }, // 灏忚
-        { label: "鍚堣", prop: "amountTotal", price:true}, // 鍚堣
-        { label: "瀹㈡埗鍚嶇О", prop: "client_name",min: 120,},
-        { label: "鐘舵��", prop: "quotationStatus",}
+        { label: "鍚堣", prop: "amountTotal", price: true }, // 鍚堣
+        { label: "瀹㈡埗鍚嶇О", prop: "client_name", min: 120 },
+        { label: "鐘舵��", prop: "quotationStatus" }
       ],
-      showCol: ["鎶ヤ环鍗曞彿", "鎶ヤ环鍗曞悕绉�",  "閿�鍞礋璐d汉", "鏈夋晥鏈�", "瀹㈡埗鍚嶇О",'鍚堣',"鐘舵��"],
+      showCol: ["鎶ヤ环鍗曞彿", "鎶ヤ环鍗曞悕绉�", "閿�鍞礋璐d汉", "鏈夋晥鏈�", "瀹㈡埗鍚嶇О", "鍚堣", "鐘舵��"],
       selectRow: {},
-      loading:false,
+      loading: false,
       // 澧炲姞 浜у搧淇℃伅鍒楄〃
-      TabsIndex:0,
+      TabsIndex: 0,
       tableBottomColumn: [],
       showBottomCol: [],
       productTableList: {},
       productColumn: productColumn,
       showProductCol: ["浜у搧缂栧彿", "浜у搧鍚嶇О", "鏁伴噺", "鍗曚綅", "閿�鍞崟浠�", "鎴愭湰鍗曚环", "姣涘埄", "姣涘埄鐜�(%)", "浠风◣鍚堣"],
+      totalObject: {
+        value: 0,
+        label: "鎬绘姤浠峰崟"
+      },
+      otherOptions: [
+        {
+          value: 0,
+          label: "宸插垱寤�",
+          status: "success"
+        },
+        {
+          value: 0,
+          label: "宸插鎵�",
+          status: "success"
+        },
+        {
+          value: 0,
+          label: "宸叉帴鍙�",
+          status: "success"
+        }
+      ]
     }
   },
   created() {
@@ -189,8 +217,27 @@
       }
     }
     this.getData(this.search_map)
+    this.getQuotationStatistics()
   },
   methods: {
+    // 鑾峰彇鎶ヤ环鍗曠粺璁�
+    async getQuotationStatistics() {
+      await getQuotationStatistics().then((res) => {
+        if (res.code === 200) {
+          console.log(res)
+          this.totalObject.value = res.data.total
+          this.otherOptions.map((item) => {
+            if (item.label === "宸插垱寤�") {
+              item.value = res.data.created
+            } else if (item.label === "宸插鎵�") {
+              item.value = res.data.approved
+            } else if (item.label === "宸叉帴鍙�") {
+              item.value = res.data.accepted
+            }
+          })
+        }
+      })
+    },
     //鑾峰彇褰撳墠閫変腑璧勬簮鐨刬d
     getTab(tab) {
       this.TabsIndex = tab
@@ -200,7 +247,7 @@
         this.showBottomCol = this.showProductCol
         this.setBottomList()
         this.getProductInventoryInfo(this.selectRow)
-      } 
+      }
     },
     // 鑾峰彇浜у搧/搴撳瓨淇℃伅
     async getProductInventoryInfo(row) {
@@ -211,7 +258,7 @@
       this.selectRow = row
       if (this.TabsIndex == 0) {
         this.getProductInventoryInfo(this.selectRow)
-      } 
+      }
     },
     setTable() {
       this.tableList = {
@@ -289,7 +336,7 @@
                   client_name: item.client.name,
                   contact_name: item.contact.name,
                   member_name: item.member.username,
-                  quotationStatus:item.quotation_status.name,
+                  quotationStatus: item.quotation_status.name
                 }
               })
               this.tableList.tableInfomation = list || []
@@ -327,9 +374,9 @@
     // 缂栬緫
     handleClick(row) {
       this.editConfig.title = "缂栬緫"
-      let params = JSON.parse(JSON.stringify(row));
-      this.editConfig.infomation = { ...params, currency: "浜烘皯甯�" }
-      console.log(this.editConfig.infomation.products,'===products')
+      let params = JSON.parse(JSON.stringify(row))
+      this.editConfig.infomation = { ...params, currency: "浜烘皯甯�", sale_chance_name: params.sale_chance.name }
+      console.log(this.editConfig.infomation.products, "===products")
       this.editConfig.visible = true
     },
     // 鎵归噺鍒犻櫎

--
Gitblit v1.8.0