|
@@ -6,6 +6,7 @@
|
|
import {ElMessage} from 'element-plus'
|
|
import {ElMessage} from 'element-plus'
|
|
import {getSellerList,getContractSearchList} from '@/api/crm'
|
|
import {getSellerList,getContractSearchList} from '@/api/crm'
|
|
import {getServiceList,registerAdd,registerDetail,registerEdit,registerInvoice,registerPayment} from '@/api/financialMana'
|
|
import {getServiceList,registerAdd,registerDetail,registerEdit,registerInvoice,registerPayment} from '@/api/financialMana'
|
|
|
|
+ import scrollableSelect from '@/components/scrollable-select/index.vue'
|
|
|
|
|
|
const router = useRouter()
|
|
const router = useRouter()
|
|
const route = useRoute()
|
|
const route = useRoute()
|
|
@@ -21,7 +22,7 @@
|
|
const contractStatusArray=[{id:1,label:"已审批"},{id:2,label:"单章寄回"},{id:3,label:"已签回"}]
|
|
const contractStatusArray=[{id:1,label:"已审批"},{id:2,label:"单章寄回"},{id:3,label:"已签回"}]
|
|
const contractTypeArray=[{id:1,label:"新签"},{id:2,label:"续约"}]
|
|
const contractTypeArray=[{id:1,label:"新签"},{id:2,label:"续约"}]
|
|
const operationType=[{op_type:1,label:"合规登记"},{op_type:2,label:"开票登记"},{op_type:3,label:"到款登记"},
|
|
const operationType=[{op_type:1,label:"合规登记"},{op_type:2,label:"开票登记"},{op_type:3,label:"到款登记"},
|
|
- {op_type:4,label:"修改合同状态"},{op_type:5,label:"删除合同登记"}]
|
|
|
|
|
|
+ {op_type:4,label:"修改合同状态"},{op_type:5,label:"删除合同登记"},{op_type:6,label:"合规编辑"}]
|
|
|
|
|
|
// 合同信息
|
|
// 合同信息
|
|
const contractInfo=reactive({
|
|
const contractInfo=reactive({
|
|
@@ -36,6 +37,7 @@
|
|
invoice:false, // 开票
|
|
invoice:false, // 开票
|
|
placement:false // 到款
|
|
placement:false // 到款
|
|
},
|
|
},
|
|
|
|
+ // 合规登记表单
|
|
form:{
|
|
form:{
|
|
product_id:1,
|
|
product_id:1,
|
|
contract_register_id:'',
|
|
contract_register_id:'',
|
|
@@ -55,19 +57,6 @@
|
|
services:[],
|
|
services:[],
|
|
remark:""
|
|
remark:""
|
|
},
|
|
},
|
|
- moneyData:{
|
|
|
|
- haveInvoiceMoney:'',
|
|
|
|
- waitInvoiceMoney:'',
|
|
|
|
- allInvoiceMoney:'',
|
|
|
|
- // 到款金额
|
|
|
|
- havePlacementMoney:'',
|
|
|
|
- waitPlacementMoney:'',
|
|
|
|
- allPlacementMoney:''
|
|
|
|
- },
|
|
|
|
- // 有效期
|
|
|
|
- contractValidityDate:[],
|
|
|
|
- //销售列表
|
|
|
|
- sellerList:[],
|
|
|
|
rules:{
|
|
rules:{
|
|
contract_source:{required:true,message:'合同来源不能为空',trigger:'change'},
|
|
contract_source:{required:true,message:'合同来源不能为空',trigger:'change'},
|
|
contract_code:{required:true,message:'合同编号不能为空',trigger:'blur'},
|
|
contract_code:{required:true,message:'合同编号不能为空',trigger:'blur'},
|
|
@@ -91,6 +80,20 @@
|
|
agreed_pay_time:{required:true,message:'约定付款时间不能为空',trigger:'blur'}
|
|
agreed_pay_time:{required:true,message:'约定付款时间不能为空',trigger:'blur'}
|
|
|
|
|
|
},
|
|
},
|
|
|
|
+ moneyData:{
|
|
|
|
+ // 开票金额
|
|
|
|
+ haveInvoiceMoney:'',
|
|
|
|
+ waitInvoiceMoney:'',
|
|
|
|
+ allInvoiceMoney:'',
|
|
|
|
+ // 到款金额
|
|
|
|
+ havePlacementMoney:'',
|
|
|
|
+ waitPlacementMoney:'',
|
|
|
|
+ allPlacementMoney:''
|
|
|
|
+ },
|
|
|
|
+ // 有效期
|
|
|
|
+ contractValidityDate:[],
|
|
|
|
+ //销售列表
|
|
|
|
+ sellerList:[],
|
|
// 合同编号----------------------列表
|
|
// 合同编号----------------------列表
|
|
contractNoArray:[],
|
|
contractNoArray:[],
|
|
// 请求列表参数
|
|
// 请求列表参数
|
|
@@ -201,7 +204,6 @@
|
|
const getServiceListFun=()=>{
|
|
const getServiceListFun=()=>{
|
|
getServiceList().then(res=>{
|
|
getServiceList().then(res=>{
|
|
contractInfo.serviceArray=res.data || []
|
|
contractInfo.serviceArray=res.data || []
|
|
- // console.log(contractInfo.serviceArray);
|
|
|
|
})
|
|
})
|
|
}
|
|
}
|
|
|
|
|
|
@@ -293,7 +295,11 @@
|
|
contractInfo.form.seller_name=selectItem.seller_name
|
|
contractInfo.form.seller_name=selectItem.seller_name
|
|
contractInfo.form.seller_id=selectItem.seller_id
|
|
contractInfo.form.seller_id=selectItem.seller_id
|
|
contractInfo.form.contract_type=selectItem.contract_type_key
|
|
contractInfo.form.contract_type=selectItem.contract_type_key
|
|
- contractInfoForm.value && contractInfoForm.value.validateField()
|
|
|
|
|
|
+ contractInfoForm.value &&
|
|
|
|
+ contractInfoForm.value.validateField([
|
|
|
|
+ 'contract_code','company_name','contract_type','seller_id',
|
|
|
|
+ 'start_date','contract_amount','contract_type'
|
|
|
|
+ ])
|
|
}
|
|
}
|
|
// 销售选中
|
|
// 销售选中
|
|
const selectSeller=(value)=>{
|
|
const selectSeller=(value)=>{
|
|
@@ -407,6 +413,7 @@
|
|
}
|
|
}
|
|
// 合规登记-提交
|
|
// 合规登记-提交
|
|
const complianceSubmit=()=>{
|
|
const complianceSubmit=()=>{
|
|
|
|
+ console.log(contractInfo.checkedService);
|
|
contractInfoForm.value.validate(valid=>{
|
|
contractInfoForm.value.validate(valid=>{
|
|
if(valid){
|
|
if(valid){
|
|
if(contractInfo.checkedService.length==0){
|
|
if(contractInfo.checkedService.length==0){
|
|
@@ -630,7 +637,7 @@
|
|
contractInfo.currentSmallService=paramsTemp
|
|
contractInfo.currentSmallService=paramsTemp
|
|
clearInterval(timer)
|
|
clearInterval(timer)
|
|
}
|
|
}
|
|
- },200)
|
|
|
|
|
|
+ },100)
|
|
}else{
|
|
}else{
|
|
contractInfo.currentSmallService=paramsTemp
|
|
contractInfo.currentSmallService=paramsTemp
|
|
}
|
|
}
|
|
@@ -661,11 +668,10 @@
|
|
<el-form-item label="合同编号" prop="contract_code" id="selectContract">
|
|
<el-form-item label="合同编号" prop="contract_code" id="selectContract">
|
|
<el-input v-model="contractInfo.form.contract_code" placeholder="请输入合同编号"
|
|
<el-input v-model="contractInfo.form.contract_code" placeholder="请输入合同编号"
|
|
v-if="(contractInfo.form.contract_source==0)"/>
|
|
v-if="(contractInfo.form.contract_source==0)"/>
|
|
- <el-select :teleported="false" v-optionsLoadMore="loadContractNoMore" v-model="contractInfo.form.contract_code" placeholder="请搜索合同编号" v-else
|
|
|
|
- filterable remote :remote-method="contractNoSearch" :loading="false" @change="selectContractNo">
|
|
|
|
|
|
+ <scrollableSelect :loadMoreMethod="loadContractNoMore" v-model="contractInfo.form.contract_code" placeholder="请搜索合同编号" v-else
|
|
|
|
+ :searchMethod="contractNoSearch" @change="selectContractNo" useLoading :isLoading="contractInfo.contractNoLoading">
|
|
<el-option :label="item.contract_code" :value="item.contract_code" v-for="item in contractInfo.contractNoArray" :key="item.contract_id"></el-option>
|
|
<el-option :label="item.contract_code" :value="item.contract_code" v-for="item in contractInfo.contractNoArray" :key="item.contract_id"></el-option>
|
|
- <div style="height: 40px;width:100%;position: absolute;bottom: 0;pointer-events: none;" v-loading="contractInfo.contractNoLoading"></div>
|
|
|
|
- </el-select>
|
|
|
|
|
|
+ </scrollableSelect>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="客户名称" prop="company_name">
|
|
<el-form-item label="客户名称" prop="company_name">
|
|
<el-input v-model="contractInfo.form.company_name"
|
|
<el-input v-model="contractInfo.form.company_name"
|
|
@@ -718,11 +724,13 @@
|
|
<div class="info-row-title">套餐信息</div>
|
|
<div class="info-row-title">套餐信息</div>
|
|
<el-checkbox-group :disabled="contractInfo.operationtype!='compliance'"
|
|
<el-checkbox-group :disabled="contractInfo.operationtype!='compliance'"
|
|
v-model="contractInfo.checkedService" class="info-service-box">
|
|
v-model="contractInfo.checkedService" class="info-service-box">
|
|
|
|
+ <!-- 大套餐 -->
|
|
<el-checkbox :label="contractInfo.serviceArray[0]?.service_template_id" @change="(e) => serciveChange(e,1)"
|
|
<el-checkbox :label="contractInfo.serviceArray[0]?.service_template_id" @change="(e) => serciveChange(e,1)"
|
|
:class="{'viewService':canServiceShow(contractInfo.serviceArray[0]?.service_template_id)}"
|
|
:class="{'viewService':canServiceShow(contractInfo.serviceArray[0]?.service_template_id)}"
|
|
:disabled="contractInfo.serviceType==2" style="margin-right: 0;" @click="viewService(contractInfo.serviceArray[0]?.service_template_id)">
|
|
:disabled="contractInfo.serviceType==2" style="margin-right: 0;" @click="viewService(contractInfo.serviceArray[0]?.service_template_id)">
|
|
{{contractInfo.serviceArray[0]?.title}}
|
|
{{contractInfo.serviceArray[0]?.title}}
|
|
</el-checkbox>
|
|
</el-checkbox>
|
|
|
|
+ <!-- 小套餐 -->
|
|
<div class="service-small">
|
|
<div class="service-small">
|
|
<el-checkbox :label="contractInfo.serviceArray[1]?.service_template_id" @change="(e) => serciveChange(e,2)"
|
|
<el-checkbox :label="contractInfo.serviceArray[1]?.service_template_id" @change="(e) => serciveChange(e,2)"
|
|
:class="{'viewService':canServiceShow(contractInfo.serviceArray[1]?.service_template_id)}"
|
|
:class="{'viewService':canServiceShow(contractInfo.serviceArray[1]?.service_template_id)}"
|
|
@@ -732,11 +740,13 @@
|
|
<span v-if="(contractInfo.serviceVarietyShow&&contractInfo.operationtype=='compliance')"
|
|
<span v-if="(contractInfo.serviceVarietyShow&&contractInfo.operationtype=='compliance')"
|
|
@click="contractInfo.varietyDiaShow=true">选择品种</span>
|
|
@click="contractInfo.varietyDiaShow=true">选择品种</span>
|
|
</div>
|
|
</div>
|
|
|
|
+ <!-- 市场策略 -->
|
|
<el-checkbox :label="contractInfo.serviceArray[2]?.service_template_id" style="margin-right: 0;"
|
|
<el-checkbox :label="contractInfo.serviceArray[2]?.service_template_id" style="margin-right: 0;"
|
|
@click="viewService(contractInfo.serviceArray[2]?.service_template_id)"
|
|
@click="viewService(contractInfo.serviceArray[2]?.service_template_id)"
|
|
:class="{'viewService':canServiceShow(contractInfo.serviceArray[2]?.service_template_id)}">
|
|
:class="{'viewService':canServiceShow(contractInfo.serviceArray[2]?.service_template_id)}">
|
|
{{contractInfo.serviceArray[2]?.title}}
|
|
{{contractInfo.serviceArray[2]?.title}}
|
|
</el-checkbox>
|
|
</el-checkbox>
|
|
|
|
+ <!-- 财富管理 -->
|
|
<el-checkbox :label="contractInfo.serviceArray[3]?.service_template_id">
|
|
<el-checkbox :label="contractInfo.serviceArray[3]?.service_template_id">
|
|
{{contractInfo.serviceArray[3]?.title}}
|
|
{{contractInfo.serviceArray[3]?.title}}
|
|
</el-checkbox>
|
|
</el-checkbox>
|