Browse Source

需求池324 bug修复

hbchen 2 years ago
parent
commit
95252b4ea3
1 changed files with 59 additions and 54 deletions
  1. 59 54
      src/views/financialManagement/contractProgress.vue

+ 59 - 54
src/views/financialManagement/contractProgress.vue

@@ -243,7 +243,7 @@
   const rmbRate=ref(1)
 
   //---------------------------所有的销售列表包括ficc和权益
-  let allSellerArray=[]
+  let allSellerArray={}
 
   // 销售列表
   const sellerArray=ref([])
@@ -273,7 +273,7 @@
       // 编辑,不允许修改销售数量
       if(contractInfo.form.contract_register_id){
         // !(ficcSeller&&qySeller) 
-        if(cascaderSelectSeller.value.length<2 && !isLeaveSeller){
+        if(cascaderSelectSeller.value.length<2 && !isLeaveSeller || !(qySeller||ficcSeller)){
           ElMessage.warning('合规套餐类型已定,不允许修改销售数量')
           cascaderSelectSeller.value = contractInfo.form.seller_ids.split(',').map(item => +item)
           return 
@@ -317,6 +317,48 @@
       cascaderSelectSeller.value=[]
     }
   }
+  // 对于销售的处理
+  const sellerOperation=({seller_id,rai_seller_id,seller_ids,seller_name,rai_seller_name})=>{
+    if(seller_id && rai_seller_id){
+        contractInfo.showServiceFicc = contractInfo.showServiceQy=true
+        sellerArray.value = allSellerArray.all_list
+        cascaderSelectSeller.value = seller_ids.split(',').map(item => +item) 
+        if(allSellerArray.ficc_list.findIndex(item => item.seller_id == seller_id)==-1){
+          sellerArray.value.push({
+            seller_id:seller_id,
+            seller_name:seller_name+'-已离职',
+            disabled:true,
+            child:null
+          })
+          isLeave=true
+        }
+        if(allSellerArray.rai_list.findIndex(item => item.seller_id == rai_seller_id)==-1){
+          sellerArray.value.push({
+            seller_id:rai_seller_id,
+            seller_name:rai_seller_name+'-已离职',
+            disabled:true,
+            child:null
+          })
+          isLeave=true
+        }
+      }else if(!seller_id){
+        sellerArray.value=allSellerArray.rai_list
+        if(sellerArray.value.findIndex(item => item.seller_id == rai_seller_id)==-1){
+          // 为-1表示原本的销售已离职
+          contractInfo.form.seller_id = rai_seller_name
+          isLeave=true
+        }
+        contractInfo.showServiceQy=true
+      }else{
+        sellerArray.value=allSellerArray.ficc_list
+        if(sellerArray.value.findIndex(item => item.seller_id == seller_id)==-1){
+          // 为-1表示原本的销售已离职
+          contractInfo.form.seller_id = seller_name
+          isLeave=true
+        }
+        contractInfo.showServiceFicc=true
+      }
+  }
 
   const elMessageDom=ref(null)
 
@@ -739,7 +781,6 @@
 
   // 表格添加行
   const addRow=(type,row,index)=>{
-    console.log(type,row,index);
     if(!(row.amount && row.invoice_date && row.service_product_id)){
       ElMessage.error('请填写完整信息')
       return
@@ -803,7 +844,6 @@
       if(tempArr[index].seller_id) haveSalesman=true
       word='开票'
     }else{
-      console.log(row);
       if(row.is_pre_pay==1){
         // 预到款登记
         ElMessage.error('该笔到款是预到款,不允许删除!')
@@ -927,15 +967,12 @@
               ElMessage.error('请选择FICC销售')
               return 
             }
-            if(!Number(cascaderSelectSeller.value[0])){
-              ElMessage.error('选择的销售不存在或已离职')
-              return 
-            }
             if(!cascaderSelectSeller.value[1]){
               ElMessage.error('请选择权益销售')
               return 
             }
-            if(!Number(cascaderSelectSeller.value[1])){
+            if(allSellerArray.ficc_list.findIndex(item => item.seller_id == cascaderSelectSeller.value[0])==-1||
+            allSellerArray.rai_list.findIndex(item => item.seller_id == cascaderSelectSeller.value[1])==-1){
               ElMessage.error('选择的销售不存在或已离职')
               return 
             }
@@ -1011,7 +1048,7 @@
             return 
           }
           contractInfo.checkedServiceQy.map(serviceId=>{
-            console.log(contractInfo.serviceArrayQy);
+            // console.log(contractInfo.serviceArrayQy);
             let serviceItem = contractInfo.serviceArrayQy.find(it=> it.service_template_id==serviceId)
             if(serviceItem)
             contractInfo.form.services.push({service_template_id:serviceItem.service_template_id,title:serviceItem.title})
@@ -1058,7 +1095,7 @@
         contractInfo.form.contract_amount = +parseFloat(contractInfo.form.contract_amount).toFixed(2)
         contractInfo.form.services_amount = +parseFloat(contractInfo.form.services_amount).toFixed(2) || 0
         contractInfo.form.services_Qy_amount = +parseFloat(contractInfo.form.services_Qy_amount).toFixed(2) || 0
-        console.log(contractInfo.form.services_amount,contractInfo.form.services_Qy_amount);
+        // console.log(contractInfo.form.services_amount,contractInfo.form.services_Qy_amount);
         let servicesAll = Math.round((contractInfo.form.services_Qy_amount+contractInfo.form.services_amount)*100)/100
         if(servicesAll!=contractInfo.form.contract_amount){
           ElMessage.error('套餐总金额不等于合同金额')
@@ -1067,7 +1104,7 @@
         // contractInfo.form.service_amount = [{product_id:1,service_amount:contractInfo.form.services_amount},
         // {product_id:2,service_amount:contractInfo.form.services_Qy_amount}]
         if(!contractInfo.form.has_payment) contractInfo.form.has_payment=0
-        console.log(contractInfo.form);
+        // console.log(contractInfo.form);
         // 检验合同名称或者合同有效期是否重复
         if(contractInfo.form.contract_register_id){
           // 编辑
@@ -1302,52 +1339,20 @@
         contract_source:res.data.contract_source,
       }
       // 销售
-      if(res.data.seller_id && res.data.rai_seller_id){
-        contractInfo.showServiceFicc = contractInfo.showServiceQy=true
-        sellerArray.value = allSellerArray.all_list
-        cascaderSelectSeller.value = res.data.seller_ids.split(',').map(item => +item) 
-        if(allSellerArray.ficc_list.findIndex(item => item.seller_id == res.data.seller_id)==-1){
-          sellerArray.value.push({
-            seller_id:res.data.seller_name,
-            seller_name:res.data.seller_name+'-已离职',
-            disabled:true,
-            child:null
-          })
-          isLeave=true
-          cascaderSelectSeller.value[0] = res.data.seller_name
-        }
-        if(allSellerArray.rai_list.findIndex(item => item.seller_id == res.data.rai_seller_id)==-1){
-          sellerArray.value.push({
-            seller_id:res.data.rai_seller_name,
-            seller_name:res.data.rai_seller_name+'-已离职',
-            disabled:true,
-            child:null
-          })
-          isLeave=true
-          cascaderSelectSeller.value[1] = res.data.rai_seller_name
-        }
-        console.log(cascaderSelectSeller.value,'cascaderSelectSeller');
-        isLeave=true
-      }else if(!res.data.seller_id){
-        sellerArray.value=allSellerArray.rai_list
-        if(sellerArray.value.findIndex(item => item.seller_id == res.data.rai_seller_id)==-1){
-          // 为-1表示原本的销售已离职
-          contractInfo.form.seller_id = res.data.rai_seller_name
-          isLeave=true
-        }
-        contractInfo.showServiceQy=true
+      if(allSellerArray.all_list){
+        // 拿到销售列表后才去做处理
+        sellerOperation(res.data)
       }else{
-        sellerArray.value=allSellerArray.ficc_list
-        if(sellerArray.value.findIndex(item => item.seller_id == res.data.seller_id)==-1){
-          // 为-1表示原本的销售已离职
-          contractInfo.form.seller_id = res.data.seller_name
-          isLeave=true
-        }
-        contractInfo.showServiceFicc=true
+        // 轮询等拿到销售列表后才去做处理,并清除轮询定时器
+        const timer = setInterval(()=>{
+          if(allSellerArray.all_list){
+            sellerOperation(res.data)
+            clearInterval(timer)
+          }
+        },10)
       }
 
       rmbRate.value=res.data.rmb_rate
-      console.log(rmbRate.value,res.data.rmb_rate);
       if(haveGetCurrencyList.value){
         // 拿到货币列表后才去取单位
         contractInfo.currencyUnit=currencyList.value.find(item => item.code==res.data.currency_unit)?.unit_name