浏览代码

需求池324 合规登记合同信息,若对于已离职的销售,显示销售姓名,不显示销售ID

hbchen 2 年之前
父节点
当前提交
3c07261973
共有 1 个文件被更改,包括 99 次插入30 次删除
  1. 99 30
      src/views/financialManagement/contractProgress.vue

+ 99 - 30
src/views/financialManagement/contractProgress.vue

@@ -237,12 +237,12 @@
     waitPlacement:false
   })
 
-  //---------------货币列表
+  //---------------------------货币列表
   const currencyList=ref([])
   const haveGetCurrencyList=ref(false)
   const rmbRate=ref(1)
 
-  //所有的销售列表包括ficc和权益
+  //---------------------------所有的销售列表包括ficc和权益
   let allSellerArray=[]
 
   // 销售列表
@@ -250,52 +250,62 @@
   // 选中的销售数组
   const cascaderSelectSeller=ref([])
 
+  // 标识合规原本的销售是否已离职
+  let isLeave=false
+
   const sellerChange=(value)=>{
-    let ficcSeller,qySeller;
+    let ficcSeller,qySeller
+    let isLeaveSeller=false
     if(value?.length>0){
       for (let i = 0; i < value.length; i++) {
         const element = value[i];
         if(element[0]==2){
           // ficc
           ficcSeller = element[2]
-        }else{
+        }else if(element[0]==5){
           //权益
           qySeller = element[2]
+        }else{
+          // 离职的销售
+          isLeaveSeller=true
         }
       }
       // 编辑,不允许修改销售数量
       if(contractInfo.form.contract_register_id){
-        if(!(ficcSeller&&qySeller)){
+        // !(ficcSeller&&qySeller) 
+        if(cascaderSelectSeller.value.length<2 && !isLeaveSeller){
           ElMessage.warning('合规套餐类型已定,不允许修改销售数量')
           cascaderSelectSeller.value = contractInfo.form.seller_ids.split(',').map(item => +item)
           return 
         }
       }
-      console.log(contractInfo.form.seller_ids);
       cascaderSelectSeller.value=[ficcSeller,qySeller]
       contractInfo.form.seller_ids= cascaderSelectSeller.value.join(',')
-      // 根据销售选择是否显示套餐
-      if(ficcSeller && qySeller){
-        // 都有
-        contractInfo.showServiceFicc=true
-        contractInfo.showServiceQy=true
-        if(!contractInfo.form.contract_register_id){
-          // 新增的情况才置空
-          contractInfo.form.services_amount = contractInfo.form.services_Qy_amount = ''
+      if(!contractInfo.form.contract_register_id){
+        // 新增的时候根据销售选择是否显示套餐
+        if(ficcSeller && qySeller){
+          // 都有
+          contractInfo.showServiceFicc=true
+          contractInfo.showServiceQy=true
+          if(!contractInfo.form.contract_register_id){
+            // 新增的情况才置空
+            contractInfo.form.services_amount = contractInfo.form.services_Qy_amount = ''
+          }
+        }else if(!ficcSeller){
+          // 没有ficc销售
+          contractInfo.showServiceFicc=false
+          contractInfo.showServiceQy=true
+          contractInfo.form.services_Qy_amount = contractInfo.form.contract_amount
+          contractInfo.form.services_amount =''
+        }else{
+          // 没有权益销售
+          contractInfo.showServiceFicc=true
+          contractInfo.showServiceQy=false
+          contractInfo.form.services_amount = contractInfo.form.contract_amount
+          contractInfo.form.services_Qy_amount =''
         }
-      }else if(!ficcSeller){
-        // 没有ficc销售
-        contractInfo.showServiceFicc=false
-        contractInfo.showServiceQy=true
-        contractInfo.form.services_Qy_amount = contractInfo.form.contract_amount
-        contractInfo.form.services_amount =''
-      }else{
-        // 没有权益销售
-        contractInfo.showServiceFicc=true
-        contractInfo.showServiceQy=false
-        contractInfo.form.services_amount = contractInfo.form.contract_amount
-        contractInfo.form.services_Qy_amount =''
       }
+
     }else{
       if(contractInfo.form.contract_register_id){
         ElMessage.warning('合规套餐类型已定,不允许修改销售数量')
@@ -680,6 +690,11 @@
     contractInfo.form.contract_type=selectItem.contract_type_key
     contractInfo.form.relate_contract_code=contractInfo.form.contract_type==3 || contractInfo.form.contract_type==4?selectItem.relate_contract_code:''
     contractInfo.form.actual_company_name=contractInfo.form.contract_type==3?selectItem.actual_company_name:''
+    if(sellerArray.value.findIndex(item => item.seller_id == selectItem.seller_id)==-1){
+      // 为-1表示原本的销售已离职
+      contractInfo.form.seller_id = selectItem.seller_name
+      isLeave=true
+    }
     if(contractInfo.form.contract_type==3){
       // 代付
       contractInfo.form.has_payment=''
@@ -905,6 +920,32 @@
     // console.log(contractInfo.checkedService);
     contractInfoForm.value.validate(valid=>{
       if(valid){
+        if(isLeave){
+          // 判断原本销售已离职
+          if(sellerListType.value==3){
+            if(!cascaderSelectSeller.value[0]){
+              ElMessage.error('请选择FICC销售')
+              return 
+            }
+            if(!Number(cascaderSelectSeller.value[0])){
+              ElMessage.error('选择的销售不存在或已离职')
+              return 
+            }
+            if(!cascaderSelectSeller.value[1]){
+              ElMessage.error('请选择权益销售')
+              return 
+            }
+            if(!Number(cascaderSelectSeller.value[1])){
+              ElMessage.error('选择的销售不存在或已离职')
+              return 
+            }
+          }else{
+            if(!Number(contractInfo.form.seller_id)){
+              ElMessage.error('选择的销售不存在或已离职')
+              return 
+            }
+          }
+        }
         contractInfo.form.services=[]
         contractInfo.form.service_amount=[]
         // FICC
@@ -1265,17 +1306,45 @@
         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
       }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
       }
-      // if(res.data.contract_source == 0){
-      //   sellerArray.value = allSellerArray.all_list
-      //   cascaderSelectSeller.value = res.data.seller_ids.split(',').map(item => +item) 
-      // }
 
       rmbRate.value=res.data.rmb_rate
       console.log(rmbRate.value,res.data.rmb_rate);