|
@@ -14,6 +14,7 @@
|
|
// 合同类型数组
|
|
// 合同类型数组
|
|
const contractTypeArray=financialCommon().contractTypeArray
|
|
const contractTypeArray=financialCommon().contractTypeArray
|
|
|
|
|
|
|
|
+
|
|
const props=defineProps({
|
|
const props=defineProps({
|
|
// 权限类型
|
|
// 权限类型
|
|
operationtype:{
|
|
operationtype:{
|
|
@@ -71,6 +72,7 @@
|
|
contract_amount:'',
|
|
contract_amount:'',
|
|
contract_type:'',
|
|
contract_type:'',
|
|
has_payment:'',
|
|
has_payment:'',
|
|
|
|
+ has_invoice_payment:'',
|
|
actual_pay_companies:'',
|
|
actual_pay_companies:'',
|
|
relate_contract_code:'',
|
|
relate_contract_code:'',
|
|
relate_contract_main_code:'',
|
|
relate_contract_main_code:'',
|
|
@@ -102,8 +104,7 @@
|
|
},
|
|
},
|
|
trigger:'blur'
|
|
trigger:'blur'
|
|
}],
|
|
}],
|
|
- contract_type:{required:true,message:'合同类型不能为空',trigger:'change'},
|
|
|
|
- actual_pay_companies:{required:true,message:'代付方不能为空',trigger:'blur'}
|
|
|
|
|
|
+ contract_type:{required:true,message:'合同类型不能为空',trigger:'change'}
|
|
},
|
|
},
|
|
// 有效期
|
|
// 有效期
|
|
contractValidityDate:[],
|
|
contractValidityDate:[],
|
|
@@ -180,6 +181,7 @@
|
|
compliance.form.contract_amount='',
|
|
compliance.form.contract_amount='',
|
|
compliance.form.contract_type='',
|
|
compliance.form.contract_type='',
|
|
compliance.form.has_payment='',
|
|
compliance.form.has_payment='',
|
|
|
|
+ compliance.form.has_invoice_payment='',
|
|
compliance.form.actual_pay_companies='',
|
|
compliance.form.actual_pay_companies='',
|
|
compliance.form.relate_contract_code='',
|
|
compliance.form.relate_contract_code='',
|
|
compliance.form.relate_contract_main_code='',
|
|
compliance.form.relate_contract_main_code='',
|
|
@@ -224,6 +226,10 @@
|
|
setComplianceDetail()
|
|
setComplianceDetail()
|
|
}
|
|
}
|
|
})
|
|
})
|
|
|
|
+
|
|
|
|
+ watch(()=>compliance.form.has_invoice_payment,(value)=>{
|
|
|
|
+ console.log(value);
|
|
|
|
+ })
|
|
|
|
|
|
// --------------------------------------------------------方法
|
|
// --------------------------------------------------------方法
|
|
|
|
|
|
@@ -231,6 +237,9 @@
|
|
const contractTypeChange=(value)=>{
|
|
const contractTypeChange=(value)=>{
|
|
if(!value) return
|
|
if(!value) return
|
|
compliance.form.has_payment = value[0]
|
|
compliance.form.has_payment = value[0]
|
|
|
|
+ if(value[0]==0){
|
|
|
|
+ compliance.form.has_invoice_payment=true
|
|
|
|
+ }
|
|
compliance.form.contract_type = value[1]
|
|
compliance.form.contract_type = value[1]
|
|
if(compliance.form.contract_type==1){
|
|
if(compliance.form.contract_type==1){
|
|
// 新签 -- 新客户
|
|
// 新签 -- 新客户
|
|
@@ -293,8 +302,34 @@
|
|
// 合同编号选中
|
|
// 合同编号选中
|
|
const selectContractNo=(value)=>{
|
|
const selectContractNo=(value)=>{
|
|
let selectItem=contractNoInfo.contractNoArray.find(item=>item.contract_code == value)
|
|
let selectItem=contractNoInfo.contractNoArray.find(item=>item.contract_code == value)
|
|
|
|
+ if(selectItem.contract_business_type_int==2){
|
|
|
|
+ // 代付合同
|
|
|
|
+ compliance.form.has_payment=1
|
|
|
|
+ compliance.form.has_invoice_payment=true
|
|
|
|
+ compliance.form.company_name=selectItem.actual_company_name
|
|
|
|
+ compliance.form.relate_contract_code=selectItem.relate_contract_code
|
|
|
|
+ compliance.form.actual_pay_companies=selectItem.company_name
|
|
|
|
+ }else{
|
|
|
|
+ //自付合同 也可能是非标代付
|
|
|
|
+ compliance.form.has_payment=0
|
|
|
|
+ compliance.form.has_invoice_payment=true
|
|
|
|
+ compliance.form.company_name=selectItem.company_name
|
|
|
|
+ compliance.form.relate_contract_code=''
|
|
|
|
+ compliance.form.actual_pay_companies=''
|
|
|
|
+ }
|
|
// 获取套餐详情
|
|
// 获取套餐详情
|
|
getServiceDetail({contract_id:selectItem.contract_id}).then(res=>{
|
|
getServiceDetail({contract_id:selectItem.contract_id}).then(res=>{
|
|
|
|
+
|
|
|
|
+ //非标代付合同
|
|
|
|
+ if(res.data.RelationContractDetailList && res.data.RelationContractDetailList.length>0 && selectItem.contract_business_type_int==1){
|
|
|
|
+ compliance.form.has_payment=1
|
|
|
|
+ compliance.form.has_invoice_payment=false
|
|
|
|
+ compliance.form.relate_contract_code = res.data.RelationContractDetailList.map(it => it.ContractCode).join(',')
|
|
|
|
+ compliance.form.company_name=selectItem.company_name
|
|
|
|
+ compliance.form.actual_pay_companies=res.data.RelationContractDetailList.map(it => it.CompanyName).join(',')
|
|
|
|
+ }
|
|
|
|
+ compliance.contractTypeCheck = [compliance.form.has_payment,compliance.form.contract_type]
|
|
|
|
+
|
|
let servivesTemp = res.data?res.data.Service||[]:[]
|
|
let servivesTemp = res.data?res.data.Service||[]:[]
|
|
if(selectItem.product_id==1){
|
|
if(selectItem.product_id==1){
|
|
// 清空权益套餐
|
|
// 清空权益套餐
|
|
@@ -321,7 +356,7 @@
|
|
//权益
|
|
//权益
|
|
// 权益大套餐
|
|
// 权益大套餐
|
|
let bigServiceQY = servivesTemp.find(item => item.FMSServiceTemplateId==11 || item.FMSServiceTemplateId==12)
|
|
let bigServiceQY = servivesTemp.find(item => item.FMSServiceTemplateId==11 || item.FMSServiceTemplateId==12)
|
|
- // 行业套餐
|
|
|
|
|
|
+ // 行业套餐 - 医药/消费/科技/智造/策略
|
|
let smallServiceQY = servivesTemp.filter(item => [14,15,16,17,18].includes(item.FMSServiceTemplatePId))
|
|
let smallServiceQY = servivesTemp.filter(item => [14,15,16,17,18].includes(item.FMSServiceTemplatePId))
|
|
|
|
|
|
serviceData.serviceVarietyShowQy = (!!bigServiceQY) || (!!smallServiceQY)
|
|
serviceData.serviceVarietyShowQy = (!!bigServiceQY) || (!!smallServiceQY)
|
|
@@ -339,36 +374,21 @@
|
|
compliance.form.services_amount = ''
|
|
compliance.form.services_amount = ''
|
|
}
|
|
}
|
|
serviceData.varietyDiaType='edit'
|
|
serviceData.varietyDiaType='edit'
|
|
- // 关联合同回显
|
|
|
|
- if(res.data.RelationContractDetailList && res.data.RelationContractDetailList.length>0){
|
|
|
|
- compliance.form.relate_contract_code = res.data.RelationContractDetailList.map(it => it.ContractCode).join('、')
|
|
|
|
- }
|
|
|
|
})
|
|
})
|
|
-
|
|
|
|
compliance.form.product_ids = selectItem.product_id.toString()
|
|
compliance.form.product_ids = selectItem.product_id.toString()
|
|
sellerListType.value = selectItem.product_id
|
|
sellerListType.value = selectItem.product_id
|
|
- compliance.form.company_name=selectItem.company_name
|
|
|
|
compliance.form.crm_contract_id=selectItem.contract_id
|
|
compliance.form.crm_contract_id=selectItem.contract_id
|
|
compliance.form.start_date=selectItem.start_date
|
|
compliance.form.start_date=selectItem.start_date
|
|
compliance.form.end_date=selectItem.end_date
|
|
compliance.form.end_date=selectItem.end_date
|
|
compliance.contractValidityDate=[selectItem.start_date,selectItem.end_date]
|
|
compliance.contractValidityDate=[selectItem.start_date,selectItem.end_date]
|
|
compliance.form.contract_amount=selectItem.price
|
|
compliance.form.contract_amount=selectItem.price
|
|
compliance.form.seller_id=selectItem.seller_id
|
|
compliance.form.seller_id=selectItem.seller_id
|
|
- compliance.form.actual_pay_companies=selectItem.actual_pay_companies
|
|
|
|
- if(selectItem.contract_business_type_int==2){
|
|
|
|
- // 代付合同
|
|
|
|
- compliance.form.has_payment=1
|
|
|
|
- }else{
|
|
|
|
- // 可能是自付合同 可能是非标代付合同
|
|
|
|
- compliance.form.has_payment=compliance.form.actual_pay_companies?1:0
|
|
|
|
- }
|
|
|
|
compliance.form.seller_ids=selectItem.seller_id+''
|
|
compliance.form.seller_ids=selectItem.seller_id+''
|
|
// selectItem.contract_type_int 1-新签 2-续约 3-补充
|
|
// selectItem.contract_type_int 1-新签 2-续约 3-补充
|
|
// compliance.form.contract_type 1-新签 2-续约 4-补充
|
|
// compliance.form.contract_type 1-新签 2-续约 4-补充
|
|
compliance.form.contract_type=selectItem.contract_type_int==3?4:selectItem.contract_type_int
|
|
compliance.form.contract_type=selectItem.contract_type_int==3?4:selectItem.contract_type_int
|
|
- compliance.form.relate_contract_code=compliance.form.has_payment?selectItem.relate_contract_code:''
|
|
|
|
compliance.form.relate_contract_main_code=!compliance.form.has_payment?selectItem.relate_contract_main_code:''
|
|
compliance.form.relate_contract_main_code=!compliance.form.has_payment?selectItem.relate_contract_main_code:''
|
|
- compliance.contractTypeCheck = [compliance.form.has_payment,compliance.form.contract_type]
|
|
|
|
|
|
+ // compliance.contractTypeCheck = [compliance.form.has_payment,compliance.form.contract_type]
|
|
contractInfoForm.value &&
|
|
contractInfoForm.value &&
|
|
contractInfoForm.value.validateField([
|
|
contractInfoForm.value.validateField([
|
|
'contract_code','company_name','contract_type','seller_ids',
|
|
'contract_code','company_name','contract_type','seller_ids',
|
|
@@ -755,6 +775,7 @@
|
|
compliance.form.contract_amount=props.detailInfo.contract_amount
|
|
compliance.form.contract_amount=props.detailInfo.contract_amount
|
|
compliance.form.contract_type=props.detailInfo.contract_type
|
|
compliance.form.contract_type=props.detailInfo.contract_type
|
|
compliance.form.has_payment=props.detailInfo.has_payment
|
|
compliance.form.has_payment=props.detailInfo.has_payment
|
|
|
|
+ compliance.form.has_invoice_payment=props.detailInfo.has_invoice_payment
|
|
compliance.form.actual_pay_companies=props.detailInfo.actual_pay_companies
|
|
compliance.form.actual_pay_companies=props.detailInfo.actual_pay_companies
|
|
compliance.form.relate_contract_code=props.detailInfo.relate_contract_code
|
|
compliance.form.relate_contract_code=props.detailInfo.relate_contract_code
|
|
compliance.form.relate_contract_main_code=props.detailInfo.relate_contract_main_code
|
|
compliance.form.relate_contract_main_code=props.detailInfo.relate_contract_main_code
|
|
@@ -847,7 +868,7 @@
|
|
:disabled="operationtype!='compliance'"
|
|
:disabled="operationtype!='compliance'"
|
|
:rules="compliance.rules" class="contractInfo-form">
|
|
:rules="compliance.rules" class="contractInfo-form">
|
|
<el-form-item label="合同来源" prop="contract_source" >
|
|
<el-form-item label="合同来源" prop="contract_source" >
|
|
- <el-select v-model="compliance.form.contract_source"
|
|
|
|
|
|
+ <el-select v-model="compliance.form.contract_source" :disabled="compliance.form.supplement!=0"
|
|
placeholder="请选择合同来源" @change="contractSourceChange">
|
|
placeholder="请选择合同来源" @change="contractSourceChange">
|
|
<el-option :label="item" :value="index"
|
|
<el-option :label="item" :value="index"
|
|
v-for="(item,index) in contractSourceArray" :key="item"></el-option>
|
|
v-for="(item,index) in contractSourceArray" :key="item"></el-option>
|
|
@@ -855,19 +876,27 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="合同编号" prop="contract_code" id="selectContract">
|
|
<el-form-item label="合同编号" prop="contract_code" id="selectContract">
|
|
<el-input v-model="compliance.form.contract_code" placeholder="请输入合同编号"
|
|
<el-input v-model="compliance.form.contract_code" placeholder="请输入合同编号"
|
|
- v-if="(compliance.form.contract_source==0)" />
|
|
|
|
|
|
+ v-if="compliance.form.contract_source==0" >
|
|
|
|
+ <template #prefix v-if="compliance.contractTypeCheck.length>0">
|
|
|
|
+ <span>{{ compliance.form.has_invoice_payment?'实际使用方':'代付方' }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ </el-input>
|
|
<scrollableSelect :loadMoreMethod="loadContractNoMore" v-model="compliance.form.contract_code" placeholder="请搜索合同编号" v-else
|
|
<scrollableSelect :loadMoreMethod="loadContractNoMore" v-model="compliance.form.contract_code" placeholder="请搜索合同编号" v-else
|
|
:searchMethod="contractNoSearch" @change="selectContractNo" useLoading :isLoading="contractNoInfo.contractNoLoading"
|
|
:searchMethod="contractNoSearch" @change="selectContractNo" useLoading :isLoading="contractNoInfo.contractNoLoading"
|
|
>
|
|
>
|
|
|
|
+ <template #prefix v-if="compliance.contractTypeCheck.length>0">
|
|
|
|
+ <span>{{ compliance.form.has_invoice_payment?'实际使用方':'代付方' }}</span>
|
|
|
|
+ </template>
|
|
<el-option :label="item.contract_code" :value="item.contract_code" v-for="item in contractNoInfo.contractNoArray" :key="item.contract_id"></el-option>
|
|
<el-option :label="item.contract_code" :value="item.contract_code" v-for="item in contractNoInfo.contractNoArray" :key="item.contract_id"></el-option>
|
|
</scrollableSelect>
|
|
</scrollableSelect>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="客户名称" prop="company_name" id="contractInfo-companyName">
|
|
|
|
|
|
+ <el-form-item label="客户名称" prop="company_name">
|
|
<el-input v-model="compliance.form.company_name"
|
|
<el-input v-model="compliance.form.company_name"
|
|
- placeholder="请输入客户名称" />
|
|
|
|
|
|
+ placeholder="请输入客户名称(实际使用方)" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="销售" prop="seller_ids">
|
|
<el-form-item label="销售" prop="seller_ids">
|
|
- <el-cascader v-if="sellerListType==3" filterable :options="sellerData.all_list" placeholder="请选择销售" @change="sellerChange"
|
|
|
|
|
|
+ <el-cascader v-if="sellerListType==3" filterable style="min-width: 320px;width: 15vw;"
|
|
|
|
+ :options="sellerData.all_list" placeholder="请选择销售" @change="sellerChange"
|
|
:show-all-levels="false" v-model="cascaderSelectSeller" :clearable="false"
|
|
:show-all-levels="false" v-model="cascaderSelectSeller" :clearable="false"
|
|
:props="{multiple:true,label:'seller_name',value:'seller_id',children:'child'}"
|
|
:props="{multiple:true,label:'seller_name',value:'seller_id',children:'child'}"
|
|
key="seller" >
|
|
key="seller" >
|
|
@@ -899,17 +928,21 @@
|
|
:clearable="false">
|
|
:clearable="false">
|
|
</el-date-picker>
|
|
</el-date-picker>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="合同类型" prop="contract_type">
|
|
|
|
|
|
+ <el-form-item label="合同类型" prop="contract_type" id="contractInfo-contractType">
|
|
<el-cascader :options="contractTypeArray" placeholder="请选择合同类型" @change="contractTypeChange"
|
|
<el-cascader :options="contractTypeArray" placeholder="请选择合同类型" @change="contractTypeChange"
|
|
- v-model="compliance.contractTypeCheck" :clearable="false" key="contractType" >
|
|
|
|
|
|
+ v-model="compliance.contractTypeCheck" :clearable="false" key="contractType">
|
|
</el-cascader>
|
|
</el-cascader>
|
|
|
|
+ <el-checkbox v-model="compliance.form.has_invoice_payment" style="margin-left: 20px;"
|
|
|
|
+ v-show="compliance.form.has_payment==1">(开票、到款)</el-checkbox>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="关联主合同" prop="relate_contract_main_code"
|
|
<el-form-item label="关联主合同" prop="relate_contract_main_code"
|
|
v-if="compliance.form.contract_type==4">
|
|
v-if="compliance.form.contract_type==4">
|
|
<el-input v-model="compliance.form.relate_contract_main_code"
|
|
<el-input v-model="compliance.form.relate_contract_main_code"
|
|
placeholder="请输入关联主合同" />
|
|
placeholder="请输入关联主合同" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="代付方" prop="actual_pay_companies" v-if="compliance.form.has_payment==1">
|
|
|
|
|
|
+ <el-form-item label="代付方" prop="actual_pay_companies" class="actual_pay_companies"
|
|
|
|
+ :rules="compliance.form.contract_source==0?{required:true,message:'代付方不能为空',trigger:'blur'}:{required:false}"
|
|
|
|
+ v-if="compliance.form.has_payment==1">
|
|
<div v-overflowTooltip="'#overflow-input'">
|
|
<div v-overflowTooltip="'#overflow-input'">
|
|
<el-tooltip placement="top" :content="compliance.form.actual_pay_companies" >
|
|
<el-tooltip placement="top" :content="compliance.form.actual_pay_companies" >
|
|
<el-input v-model="compliance.form.actual_pay_companies"
|
|
<el-input v-model="compliance.form.actual_pay_companies"
|
|
@@ -917,9 +950,9 @@
|
|
</el-tooltip>
|
|
</el-tooltip>
|
|
</div>
|
|
</div>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="关联合同" prop="relate_contract_code" v-if="compliance.form.has_payment">
|
|
|
|
|
|
+ <el-form-item :label="compliance.form.has_invoice_payment?'关联客户合同':'关联代付合同'" prop="relate_contract_code" v-if="compliance.form.has_payment">
|
|
<el-input v-model="compliance.form.relate_contract_code"
|
|
<el-input v-model="compliance.form.relate_contract_code"
|
|
- placeholder="请输入关联合同" />
|
|
|
|
|
|
+ :placeholder="compliance.form.has_invoice_payment?'请输入实际使用方合同编号':'请输入代付合同编号'" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="合同状态" prop="contract_status">
|
|
<el-form-item label="合同状态" prop="contract_status">
|
|
<el-select v-model="compliance.form.contract_status"
|
|
<el-select v-model="compliance.form.contract_status"
|
|
@@ -1049,9 +1082,11 @@
|
|
<style lang="scss">
|
|
<style lang="scss">
|
|
#contractProgress-compliance{
|
|
#contractProgress-compliance{
|
|
#contract-info-container{
|
|
#contract-info-container{
|
|
- .el-input__wrapper,.el-input{
|
|
|
|
- min-width: 320px;
|
|
|
|
- width: 15vw;
|
|
|
|
|
|
+ .el-select,.el-date-editor,.actual_pay_companies{
|
|
|
|
+ .el-input__wrapper,.el-input{
|
|
|
|
+ min-width: 320px;
|
|
|
|
+ width: 15vw;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
.el-form-item{
|
|
.el-form-item{
|
|
.el-form-item__content{
|
|
.el-form-item__content{
|
|
@@ -1061,7 +1096,7 @@
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- #contractInfo-companyName,#contractInfo-contractAmount{
|
|
|
|
|
|
+ #contractInfo-contractAmount{
|
|
.el-input__wrapper,.el-input{
|
|
.el-input__wrapper,.el-input{
|
|
min-width: 200px;
|
|
min-width: 200px;
|
|
flex-grow: 1;
|
|
flex-grow: 1;
|
|
@@ -1073,6 +1108,17 @@
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ #contractInfo-contractType{
|
|
|
|
+ display: flex;
|
|
|
|
+ .el-cascader{
|
|
|
|
+ min-width: 180px;
|
|
|
|
+ flex-grow: 1;
|
|
|
|
+ }
|
|
|
|
+ .el-checkbox{
|
|
|
|
+ min-width: 120px;
|
|
|
|
+ width: 120px;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
#info-row-services-header{
|
|
#info-row-services-header{
|
|
.el-input__wrapper{
|
|
.el-input__wrapper{
|
|
height: 30px;
|
|
height: 30px;
|