From 74fae92c3fd076359385d27c5ac4e769a38522ab Mon Sep 17 00:00:00 2001
From: songshankun <songshankun@foxmail.com>
Date: 星期二, 10 十月 2023 15:41:15 +0800
Subject: [PATCH] feat: 销售机会/报价单销售总单/销售子单 列表添加序号

---
 src/views/service/clientServiceOrder/AddCientServiceOrderDialog.vue |  114 +++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 83 insertions(+), 31 deletions(-)

diff --git a/src/views/service/clientServiceOrder/AddCientServiceOrderDialog.vue b/src/views/service/clientServiceOrder/AddCientServiceOrderDialog.vue
index eda11e6..60a616d 100644
--- a/src/views/service/clientServiceOrder/AddCientServiceOrderDialog.vue
+++ b/src/views/service/clientServiceOrder/AddCientServiceOrderDialog.vue
@@ -39,8 +39,12 @@
                     <div class="common-select-btn" @click="selClientClick('client')">
                       <i class="el-icon-circle-plus-outline" title="閫夋嫨"></i>
                     </div>
-                    <div class="common-select-btn" @click="clearupClient('client')">
-                      <i class="el-icon-edit-outline" title="娓呴櫎"></i>
+                    <div
+                      v-if="editConfig.infomation.client_name && editConfig.infomation.client_name.length > 0"
+                      class="common-select-btn"
+                      @click="clearupClient('client')"
+                    >
+                      <i class="el-icon-remove-outline" title="娓呴櫎"></i>
                     </div>
                   </div>
                 </el-form-item>
@@ -66,8 +70,15 @@
                     <div class="common-select-btn" @click="selClientClick('serviceContract')">
                       <i class="el-icon-circle-plus-outline" title="閫夋嫨"></i>
                     </div>
-                    <div class="common-select-btn" @click="clearupClient('serviceContract')">
-                      <i class="el-icon-edit-outline" title="娓呴櫎"></i>
+                    <div
+                      v-if="
+                        editConfig.infomation.serviceContract_Number &&
+                        editConfig.infomation.serviceContract_Number.length > 0
+                      "
+                      class="common-select-btn"
+                      @click="clearupClient('serviceContract')"
+                    >
+                      <i class="el-icon-remove-outline" title="娓呴櫎"></i>
                     </div>
                   </div>
                 </el-form-item>
@@ -110,8 +121,12 @@
                     <div class="common-select-btn" @click="selClientClick('contract')">
                       <i class="el-icon-circle-plus-outline" title="閫夋嫨"></i>
                     </div>
-                    <div class="common-select-btn" @click="clearupClient('contract')">
-                      <i class="el-icon-edit-outline" title="娓呴櫎"></i>
+                    <div
+                      v-if="editConfig.infomation.number && editConfig.infomation.number.length > 0"
+                      class="common-select-btn"
+                      @click="clearupClient('contract')"
+                    >
+                      <i class="el-icon-remove-outline" title="娓呴櫎"></i>
                     </div>
                   </div>
                 </el-form-item>
@@ -147,14 +162,18 @@
                           querySearchAsync(queryString, callback, 'productName')
                         }
                       "
-                      value-key="name"
+                      value-key="Name"
                       @select="handleSelectClient('productName', $event)"
                     ></el-autocomplete>
                     <div class="common-select-btn" @click="selClientClick('productName')">
                       <i class="el-icon-circle-plus-outline" title="閫夋嫨"></i>
                     </div>
-                    <div class="common-select-btn" @click="clearupClient('productName')">
-                      <i class="el-icon-edit-outline" title="娓呴櫎"></i>
+                    <div
+                      v-if="editConfig.infomation.product_name && editConfig.infomation.product_name.length > 0"
+                      class="common-select-btn"
+                      @click="clearupClient('productName')"
+                    >
+                      <i class="el-icon-remove-outline" title="娓呴櫎"></i>
                     </div>
                   </div>
                 </el-form-item>
@@ -196,7 +215,7 @@
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item label="鑱旂郴浜哄鍚�" prop="client_name">
+                <el-form-item label="鑱旂郴浜哄鍚�" prop="contact_name">
                   <div class="custom-name">
                     <el-autocomplete
                       v-model="editConfig.infomation.contact_name"
@@ -211,8 +230,12 @@
                     <div class="common-select-btn" @click="selClientClick('contact')">
                       <i class="el-icon-circle-plus-outline" title="閫夋嫨"></i>
                     </div>
-                    <div class="common-select-btn" @click="clearupClient('contact')">
-                      <i class="el-icon-edit-outline" title="娓呴櫎"></i>
+                    <div
+                      v-if="editConfig.infomation.contact_name && editConfig.infomation.contact_name.length > 0"
+                      class="common-select-btn"
+                      @click="clearupClient('contact')"
+                    >
+                      <i class="el-icon-remove-outline" title="娓呴櫎"></i>
                     </div>
                   </div>
                 </el-form-item>
@@ -275,7 +298,7 @@
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item label="閿�鍞満浼�" prop="client_name">
+                <el-form-item label="閿�鍞満浼�" prop="sale_chance_name">
                   <div class="custom-name">
                     <el-autocomplete
                       v-model="editConfig.infomation.sale_chance_name"
@@ -290,8 +313,12 @@
                     <div class="common-select-btn" @click="selClientClick('chance')">
                       <i class="el-icon-circle-plus-outline"></i>
                     </div>
-                    <div class="common-select-btn" @click="clearupClient('chance')">
-                      <i class="el-icon-edit-outline"></i>
+                    <div
+                      v-if="editConfig.infomation.sale_chance_name && editConfig.infomation.sale_chance_name.length > 0"
+                      class="common-select-btn"
+                      @click="clearupClient('chance')"
+                    >
+                      <i class="el-icon-remove-outline"></i>
                     </div>
                   </div>
                 </el-form-item>
@@ -338,9 +365,9 @@
               <el-col :span="12">
                 <el-form-item label="瀹為檯澶勭悊鏃堕棿" prop="realTime">
                   <el-date-picker
-                    v-model="editConfig.infomation.startTime"
+                    v-model="editConfig.infomation.realTime"
                     value-format="yyyy-MM-dd HH:mm:ss"
-                    type="realTime"
+                    type="datetime"
                     placeholder="閫夋嫨鏃堕棿"
                   >
                   </el-date-picker>
@@ -408,7 +435,16 @@
             <el-row>
               <el-col :span="12">
                 <el-form-item label="甯歌闂" prop="faqId">
-                  <el-input v-model="editConfig.infomation.faqId"></el-input>
+                  <!-- <el-input v-model="editConfig.infomation.faqId"></el-input> -->
+                  <el-select
+                    v-model="editConfig.infomation.faqId"
+                    placeholder="璇烽�夋嫨"
+                    class="common-select-sel"
+                    size="mini"
+                  >
+                    <el-option v-for="item in faqOptions" :key="item.id" :label="item.name" :value="item.id">
+                    </el-option>
+                  </el-select>
                 </el-form-item>
               </el-col>
               <el-col :span="24">
@@ -569,6 +605,7 @@
 import SelectCommonDialog from "@/views/other/commonDialog/SelectCommonDialog"
 import SelectContactDialog from "@/views/other/commonDialog/SelectContactDialog"
 import SelectChanceDialog from "@/views/other/commonDialog/SelectChanceDialog"
+import { getFaqList } from "@/api/common/other"
 import {
   getFaultTypeList,
   getServiceTypeList,
@@ -609,6 +646,9 @@
     },
     saleChancelist() {
       return this.$store.state.getClientName.saleChancelist
+    },
+    productList() {
+      return this.$store.state.getClientName.productList
     }
   },
   data() {
@@ -617,7 +657,7 @@
       editConfig: this.editCommonConfig,
       rules: {
         serviceNumber: [{ required: true, message: "璇疯緭鍏ユ湇鍔″崟缂栧彿", trigger: "blur" }],
-        faultTypeId: [{ required: true, message: "璇烽�夋嫨鏁呴殰绫诲埆", trigger: "change" }],
+        // faultTypeId: [{ required: true, message: "璇烽�夋嫨鏁呴殰绫诲埆", trigger: "change" }],
         subject: [{ required: true, message: "璇疯緭鍏ヤ富棰�", trigger: "blur" }],
         // productCategory: [{ required: true, message: "璇烽�夋嫨浜у搧绫诲埆", trigger: "change" }],
         serviceManId: [{ required: true, message: "璇烽�夋嫨浜у搧绫诲埆", trigger: "change" }],
@@ -636,6 +676,7 @@
       priorityLevelOptions: [], // 浼樺厛绾у埆
       statusOptions: Status.processStatus, // 澶勭悊鐘舵��
       timeSpentOptions: [], // 鑺辫垂鏃堕棿
+      faqOptions: [], // 甯歌闂
       editSelectClientConfig: {
         editVisible: false,
         title: "",
@@ -674,7 +715,7 @@
       contactId: this.editCommonConfig.infomation.contactId,
       serviceContractId: this.editCommonConfig.infomation.serviceContractId,
       SalesDetailsId: this.editCommonConfig.infomation.SalesDetailsId,
-      productNameId: this.editCommonConfig.infomation.productId,
+      productName: this.editCommonConfig.infomation.productName,
       saleChanceId: this.editCommonConfig.infomation.saleChanceId
     }
   },
@@ -688,6 +729,7 @@
     this.$store.dispatch("geSalesDetails")
     this.$store.dispatch("geContact")
     this.$store.dispatch("geChance")
+    this.$store.dispatch("geProductList")
     this.getFaultTypeList()
     this.getSeverityList()
     this.getPriorityLevelList()
@@ -715,6 +757,16 @@
         this.reportSourceOptions = res.data.reportSource
       })
       this.getServiceTypeList()
+      this.getFaqList()
+    },
+    // 鑾峰彇甯歌闂鍒楄〃
+    async getFaqList() {
+      await getFaqList().then((res) => {
+        console.log(res)
+        if (res.data.code === 200) {
+          this.faqOptions = res.data.data.data
+        }
+      })
     },
     // 淇濆瓨
     saveClick(formName) {
@@ -765,7 +817,8 @@
         SalesDetailsId: this.SalesDetailsId || 0,
         priorityLevelId: data.priorityLevelId || 0,
         problemDesc: data.problemDesc || "",
-        productId: this.productNameId,
+        productName: this.productName,
+        productTypeName: "",
         realTime: data.realTime || "",
         remark: data.remark || "",
         saleChanceId: this.saleChanceId || 0,
@@ -794,7 +847,7 @@
       } else if (value === "contract") {
         restaurants = this.salesDetailsList
       } else if (value === "productName") {
-        restaurants = this.productNameList
+        restaurants = this.productList
       } else if (value === "contact") {
         restaurants = this.contactNamelist
       } else if (value === "chance") {
@@ -807,6 +860,8 @@
       return (state) => {
         if (value === "serviceContract" || value === "contract") {
           return state.number.toLowerCase().indexOf(queryString.toLowerCase()) === 0
+        } else if (value === "productName") {
+          return state.Name.toLowerCase().indexOf(queryString.toLowerCase()) === 0
         } else {
           return state.name.toLowerCase().indexOf(queryString.toLowerCase()) === 0
         }
@@ -820,7 +875,7 @@
       } else if (value === "contract") {
         this.SalesDetailsId = item.id
       } else if (value === "productName") {
-        this.productCategoryId = item.id
+        this.productName = item.Name
       } else if (value === "contact") {
         this.contactId = item.id
       } else if (value === "chance") {
@@ -834,15 +889,12 @@
       } else if (value === "serviceContract") {
         this.editSelCommonConfig.title = "鏈嶅姟鍚堝悓"
         this.editSelCommonConfig.editVisible = true
-        this.editSelCommonConfig.tableInfomation = [...this.serviceContractList]
       } else if (value === "contract") {
         this.editSelCommonConfig.title = "閿�鍞槑缁嗗崟"
         this.editSelCommonConfig.editVisible = true
-        this.editSelCommonConfig.tableInfomation = [...this.salesDetailsList]
       } else if (value === "productName") {
         this.editSelCommonConfig.title = "浜у搧鍚嶇О"
         this.editSelCommonConfig.editVisible = true
-        this.editSelCommonConfig.tableInfomation = [...this.productNameList]
       } else if (value === "contact") {
         this.editSelectContactConfig.editVisible = true
       } else if (value === "chance") {
@@ -858,14 +910,14 @@
         this.editConfig.infomation.client_name = row.name
         this.clientId = row.id
       } else if (value === "serviceContract") {
-        this.editConfig.infomation.service_number = row.number
+        this.editConfig.infomation.serviceContract_Number = row.number
         this.serviceContractId = row.id
       } else if (value === "contract") {
         this.editConfig.infomation.number = row.number
         this.SalesDetailsId = row.id
       } else if (value === "productName") {
-        this.editConfig.infomation.product_name = row.name
-        this.productNameId = row.id
+        this.editConfig.infomation.product_name = row.Name
+        this.productName = row.Name
       } else if (value === "chance") {
         this.editConfig.infomation.sale_chance_name = row.name
         this.saleChanceId = row.id
@@ -877,14 +929,14 @@
         this.editConfig.infomation.client_name = ""
         this.clientId = 0
       } else if (value === "serviceContract") {
-        this.editConfig.infomation.service_number = ""
+        this.editConfig.infomation.serviceContract_Number = ""
         this.serviceContractId = 0
       } else if (value === "contract") {
         this.editConfig.infomation.number = ""
         this.SalesDetailsId = 0
       } else if (value === "productName") {
         this.editConfig.infomation.product_name = ""
-        this.productNameId = 0
+        this.productName = ""
       } else if (value === "contact") {
         this.editConfig.infomation.contact_name = ""
         this.contactId = 0

--
Gitblit v1.8.0