|
@@ -5,6 +5,7 @@
|
|
|
import permissionQyDia from '../components/permissionQyDia.vue'
|
|
|
import {getContractSearchList,getServiceDetail} from '@/api/crm'
|
|
|
import {registerAdd,registerEdit,contractRegisterCheck} from '@/api/financialMana'
|
|
|
+ import {intervalDataRequest} from '@/utils/common-methods'
|
|
|
|
|
|
const contractSourceArray=['非CRM合同导入','CRM合同导入']
|
|
|
// 合同状态数组
|
|
@@ -114,8 +115,6 @@
|
|
|
|
|
|
// --------------套餐信息
|
|
|
const serviceData=reactive({
|
|
|
- // showServiceFicc:false,
|
|
|
- // showServiceQy:false,
|
|
|
// 选中的套餐 - ficc
|
|
|
checkedService:[],
|
|
|
// 选中的套餐 - 权益
|
|
@@ -216,16 +215,6 @@
|
|
|
}
|
|
|
|
|
|
// ------------------------------------------------监听
|
|
|
- // watch(()=>compliance.form.contract_amount,(newVal)=>{
|
|
|
- // if(serviceData.showServiceFicc && serviceData.showServiceQy){
|
|
|
- // return
|
|
|
- // }else if(!serviceData.showServiceFicc){
|
|
|
- // compliance.form.services_Qy_amount = newVal
|
|
|
- // }else{
|
|
|
- // compliance.form.services_amount = newVal
|
|
|
- // }
|
|
|
- // })
|
|
|
-
|
|
|
watch(()=>props.supplementaryInfo.supplement,(value)=>{
|
|
|
if(value){
|
|
|
setSupplementaryData()
|
|
@@ -293,28 +282,6 @@
|
|
|
}
|
|
|
cascaderSelectSeller.value=[ficcSeller,qySeller]
|
|
|
compliance.form.seller_ids= cascaderSelectSeller.value.join(',')
|
|
|
- // 根据销售选择是否显示套餐
|
|
|
- // if(ficcSeller && qySeller){
|
|
|
- // // 都有
|
|
|
- // serviceData.showServiceFicc=true
|
|
|
- // serviceData.showServiceQy=true
|
|
|
- // if(!compliance.form.contract_register_id){
|
|
|
- // // 新增的情况才置空
|
|
|
- // compliance.form.services_amount = compliance.form.services_Qy_amount = ''
|
|
|
- // }
|
|
|
- // }else if(!ficcSeller){
|
|
|
- // // 没有ficc销售
|
|
|
- // serviceData.showServiceFicc=false
|
|
|
- // serviceData.showServiceQy=true
|
|
|
- // compliance.form.services_Qy_amount = compliance.form.contract_amount
|
|
|
- // compliance.form.services_amount =''
|
|
|
- // }else{
|
|
|
- // // 没有权益销售
|
|
|
- // serviceData.showServiceFicc=true
|
|
|
- // serviceData.showServiceQy=false
|
|
|
- // compliance.form.services_amount = compliance.form.contract_amount
|
|
|
- // compliance.form.services_Qy_amount =''
|
|
|
- // }
|
|
|
}else{
|
|
|
if(compliance.form.contract_register_id){
|
|
|
// 编辑的情况下
|
|
@@ -322,8 +289,6 @@
|
|
|
cascaderSelectSeller.value = compliance.form.seller_ids.split(',').map(item => +item)
|
|
|
return
|
|
|
}
|
|
|
- // serviceData.showServiceFicc = serviceData.showServiceQy=true
|
|
|
- // compliance.form.services_amount = compliance.form.services_Qy_amount = ''
|
|
|
cascaderSelectSeller.value=[]
|
|
|
}
|
|
|
}
|
|
@@ -335,10 +300,10 @@
|
|
|
let servivesTemp = res.data?res.data.Service||[]:[]
|
|
|
if(selectItem.product_id==1){
|
|
|
// 清空权益套餐
|
|
|
- contractInfo.serviceVarietyShowQy = false
|
|
|
- contractInfo.serviceTypeQy = 0
|
|
|
- contractInfo.checkedServiceQy=[]
|
|
|
- contractInfo.form.services_Qy_amount = ''
|
|
|
+ serviceData.serviceVarietyShowQy = false
|
|
|
+ serviceData.serviceTypeQy = 0
|
|
|
+ serviceData.checkedServiceQy=[]
|
|
|
+ compliance.form.services_Qy_amount = ''
|
|
|
// FICC套餐
|
|
|
// 小套餐
|
|
|
let smallService = servivesTemp.find(item => item.ServiceTemplateId==2)
|
|
@@ -351,10 +316,10 @@
|
|
|
compliance.form.services_Qy_amount = ''
|
|
|
}else{
|
|
|
// 清空FICC套餐
|
|
|
- contractInfo.serviceVarietyShow = false
|
|
|
- contractInfo.serviceType = 0
|
|
|
- contractInfo.checkedService=[]
|
|
|
- contractInfo.form.services_amount = ''
|
|
|
+ serviceData.serviceVarietyShow = false
|
|
|
+ serviceData.serviceType = 0
|
|
|
+ serviceData.checkedService=[]
|
|
|
+ compliance.form.services_amount = ''
|
|
|
//权益
|
|
|
// 权益大套餐
|
|
|
let bigServiceQY = servivesTemp.find(item => item.FMSServiceTemplateId==11 || item.FMSServiceTemplateId==12)
|
|
@@ -402,14 +367,12 @@
|
|
|
'contract_code','company_name','contract_type','seller_ids',
|
|
|
'start_date','contract_amount','relate_contract_code','actual_pay_companies'
|
|
|
])
|
|
|
- if(sellerArray.value.findIndex(item => item.seller_id == selectItem.seller_id)==-1){
|
|
|
+ let sellerArray = sellerListType.value==1?props.sellerData.ficc_list:props.sellerData.rai_list
|
|
|
+ if(sellerArray.findIndex(item => item.seller_id == selectItem.seller_id)==-1){
|
|
|
// 为-1表示原本的销售已离职
|
|
|
- contractInfo.form.seller_id = selectItem.seller_name
|
|
|
+ compliance.form.seller_id = selectItem.seller_name
|
|
|
isLeave=true
|
|
|
}
|
|
|
- // serviceData.showServiceFicc = selectItem.product_id == 1
|
|
|
- // serviceData.showServiceQy = selectItem.product_id == 2
|
|
|
-
|
|
|
}
|
|
|
|
|
|
// 合规登记-提交
|
|
@@ -427,13 +390,13 @@
|
|
|
ElMessage.error('请选择权益销售')
|
|
|
return
|
|
|
}
|
|
|
- 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){
|
|
|
+ if(props.sellerData.ficc_list.findIndex(item => item.seller_id == cascaderSelectSeller.value[0])==-1||
|
|
|
+ props.sellerData.rai_list.findIndex(item => item.seller_id == cascaderSelectSeller.value[1])==-1){
|
|
|
ElMessage.error('选择的销售不存在或已离职')
|
|
|
return
|
|
|
}
|
|
|
}else{
|
|
|
- if(!Number(contractInfo.form.seller_id)){
|
|
|
+ if(!Number(compliance.form.seller_id)){
|
|
|
ElMessage.error('选择的销售不存在或已离职')
|
|
|
return
|
|
|
}
|
|
@@ -441,18 +404,14 @@
|
|
|
}
|
|
|
compliance.form.services=[]
|
|
|
compliance.form.service_amount=[]
|
|
|
- if(contractInfo.checkedServiceQy.length==0 && contractInfo.checkedService.length==0){
|
|
|
+ if(serviceData.checkedServiceQy.length==0 && serviceData.checkedService.length==0){
|
|
|
ElMessage.warning('请选择套餐')
|
|
|
return
|
|
|
}
|
|
|
let hasFICCservice=false
|
|
|
let hasQYservice=false
|
|
|
// FICC
|
|
|
- if(contractInfo.checkedService.length>0){
|
|
|
- // if(serviceData.checkedService.length==0){
|
|
|
- // ElMessage.warning('请选择FICC套餐')
|
|
|
- // return
|
|
|
- // }
|
|
|
+ if(serviceData.checkedService.length>0){
|
|
|
hasFICCservice=true
|
|
|
if((!serviceData.checkedPermission || serviceData.checkedPermission.length==0)
|
|
|
&& serviceData.checkedService.some(serviceId =>serviceId==2)){
|
|
@@ -489,15 +448,11 @@
|
|
|
return
|
|
|
}
|
|
|
compliance.form.service_amount.push({product_id:1,service_amount:+compliance.form.services_amount})
|
|
|
- contractInfo.form.services_amount = +parseFloat(contractInfo.form.services_amount).toFixed(2) || 0
|
|
|
+ compliance.form.services_amount = +parseFloat(compliance.form.services_amount).toFixed(2) || 0
|
|
|
}
|
|
|
|
|
|
// 权益
|
|
|
- if(contractInfo.checkedServiceQy.length>0){
|
|
|
- // if(serviceData.checkedServiceQy.length==0){
|
|
|
- // ElMessage.warning('请选择权益套餐')
|
|
|
- // return
|
|
|
- // }
|
|
|
+ if(serviceData.checkedServiceQy.length>0){
|
|
|
hasQYservice=true
|
|
|
// 权益大套餐
|
|
|
if((!serviceData.checkedPermissionQyBig || serviceData.checkedPermissionQyBig.length==0)
|
|
@@ -555,22 +510,19 @@
|
|
|
return
|
|
|
}
|
|
|
compliance.form.service_amount.push({product_id:2,service_amount:+compliance.form.services_Qy_amount})
|
|
|
- contractInfo.form.services_Qy_amount = +parseFloat(contractInfo.form.services_Qy_amount).toFixed(2) || 0
|
|
|
+ compliance.form.services_Qy_amount = +parseFloat(compliance.form.services_Qy_amount).toFixed(2) || 0
|
|
|
}
|
|
|
let servicesAll=0
|
|
|
if(hasFICCservice&&hasQYservice){
|
|
|
- servicesAll = Math.round((contractInfo.form.services_Qy_amount+contractInfo.form.services_amount)*100)/100
|
|
|
+ servicesAll = Math.round((compliance.form.services_Qy_amount+compliance.form.services_amount)*100)/100
|
|
|
}else if(hasFICCservice){
|
|
|
- servicesAll = contractInfo.form.services_amount
|
|
|
- contractInfo.form.services_Qy_amount=''
|
|
|
+ servicesAll = compliance.form.services_amount
|
|
|
+ compliance.form.services_Qy_amount=''
|
|
|
}else{
|
|
|
- servicesAll = contractInfo.form.services_Qy_amount
|
|
|
- contractInfo.form.services_amount=''
|
|
|
+ servicesAll = compliance.form.services_Qy_amount
|
|
|
+ compliance.form.services_amount=''
|
|
|
}
|
|
|
compliance.form.contract_amount = +parseFloat(compliance.form.contract_amount).toFixed(2)
|
|
|
- // compliance.form.services_amount = +parseFloat(compliance.form.services_amount).toFixed(2) || 0
|
|
|
- // compliance.form.services_Qy_amount = +parseFloat(compliance.form.services_Qy_amount).toFixed(2) || 0
|
|
|
- // let servicesAll = Math.round((compliance.form.services_Qy_amount+compliance.form.services_amount)*100)/100
|
|
|
if(servicesAll!=compliance.form.contract_amount){
|
|
|
ElMessage.error('套餐总金额不等于合同金额')
|
|
|
return
|
|
@@ -598,7 +550,7 @@
|
|
|
}
|
|
|
// 新增
|
|
|
contractRegisterCheck({company_name:compliance.form.company_name,
|
|
|
- start_date:compliance.form.start_date,end_date:compliance.form.end_date}).then(res=>{
|
|
|
+ start_date:compliance.form.start_date,end_date:compliance.form.end_date,seller_ids:compliance.form.seller_ids}).then(res=>{
|
|
|
if(res.data?.exist){
|
|
|
// 存在给提示
|
|
|
ElMessageBox.confirm('已登记过相同的合同,是否继续操作?',
|
|
@@ -684,12 +636,11 @@
|
|
|
|
|
|
// 对于销售的处理
|
|
|
const sellerOperation=({seller_id,rai_seller_id,seller_ids,seller_name,rai_seller_name})=>{
|
|
|
+ console.log({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({
|
|
|
+ if(props.sellerData.ficc_list.findIndex(item => item.seller_id == seller_id)==-1){
|
|
|
+ props.sellerData.all_list.push({
|
|
|
seller_id:seller_id,
|
|
|
seller_name:seller_name+'-已离职',
|
|
|
disabled:true,
|
|
@@ -697,8 +648,8 @@
|
|
|
})
|
|
|
isLeave=true
|
|
|
}
|
|
|
- if(allSellerArray.rai_list.findIndex(item => item.seller_id == rai_seller_id)==-1){
|
|
|
- sellerArray.value.push({
|
|
|
+ if(props.sellerData.rai_list.findIndex(item => item.seller_id == rai_seller_id)==-1){
|
|
|
+ props.sellerData.all_list.push({
|
|
|
seller_id:rai_seller_id,
|
|
|
seller_name:rai_seller_name+'-已离职',
|
|
|
disabled:true,
|
|
@@ -707,21 +658,17 @@
|
|
|
isLeave=true
|
|
|
}
|
|
|
}else if(!seller_id){
|
|
|
- sellerArray.value=allSellerArray.rai_list
|
|
|
- if(sellerArray.value.findIndex(item => item.seller_id == rai_seller_id)==-1){
|
|
|
+ if(props.sellerData.rai_list.findIndex(item => item.seller_id == rai_seller_id)==-1){
|
|
|
// 为-1表示原本的销售已离职
|
|
|
- contractInfo.form.seller_id = rai_seller_name
|
|
|
+ compliance.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){
|
|
|
+ if(props.sellerData.ficc_list.findIndex(item => item.seller_id == seller_id)==-1){
|
|
|
// 为-1表示原本的销售已离职
|
|
|
- contractInfo.form.seller_id = seller_name
|
|
|
+ compliance.form.seller_id = seller_name
|
|
|
isLeave=true
|
|
|
}
|
|
|
- // contractInfo.showServiceFicc=true
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -794,7 +741,7 @@
|
|
|
compliance.form.currency_unit=props.detailInfo.currency_unit
|
|
|
compliance.form.new_company=props.detailInfo.new_company
|
|
|
compliance.form.seller_ids=props.detailInfo.seller_ids
|
|
|
- compliance.form.seller_id=props.detailInfo.seller_id
|
|
|
+ compliance.form.seller_id=props.detailInfo.seller_id || props.detailInfo.rai_seller_id
|
|
|
compliance.form.contract_status=props.detailInfo.contract_status
|
|
|
compliance.form.start_date=props.detailInfo.start_date
|
|
|
compliance.form.end_date=props.detailInfo.end_date
|
|
@@ -814,22 +761,18 @@
|
|
|
// 合同类型回显
|
|
|
compliance.contractTypeCheck = [compliance.form.has_payment,compliance.form.contract_type]
|
|
|
// 销售
|
|
|
- if(allSellerArray.all_list){
|
|
|
- // 拿到销售列表后才去做处理
|
|
|
- sellerOperation(res.data)
|
|
|
- }else{
|
|
|
- // 轮询等拿到销售列表后才去做处理,并清除轮询定时器
|
|
|
- const timer = setInterval(()=>{
|
|
|
- if(allSellerArray.all_list){
|
|
|
- sellerOperation(res.data)
|
|
|
- clearInterval(timer)
|
|
|
- }
|
|
|
- },10)
|
|
|
+ let para={
|
|
|
+ seller_id:props.detailInfo.seller_id,
|
|
|
+ rai_seller_id:props.detailInfo.rai_seller_id,
|
|
|
+ seller_ids:props.detailInfo.seller_ids,
|
|
|
+ seller_name:props.detailInfo.seller_name,
|
|
|
+ rai_seller_name:props.detailInfo.rai_seller_name
|
|
|
}
|
|
|
+ // 拿到销售列表后才去做处理
|
|
|
+ intervalDataRequest(()=> props.sellerData.all_list>0 ,sellerOperation(para),1)
|
|
|
// 销售显示
|
|
|
sellerListType.value=props.detailInfo.sellerListType
|
|
|
if(sellerListType.value == 3){
|
|
|
- // serviceData.showServiceFicc = serviceData.showServiceQy=true
|
|
|
cascaderSelectSeller.value = compliance.form.seller_ids.split(',').map(item => +item)
|
|
|
}
|
|
|
// 套餐金额
|