pull/781/head
zy 2025-05-29 17:16:37 +08:00
parent e613d864d9
commit c6aeacc4f3
6 changed files with 46 additions and 16 deletions

View File

@ -130,6 +130,11 @@ export const changeContract = async (data: TransferReqVO) => {
return await request.put({ url: '/crm/contract/changeContract', data }) return await request.put({ url: '/crm/contract/changeContract', data })
} }
// 合同变更
export const changeContractUpdate = async (data: TransferReqVO) => {
return await request.put({ url: '/crm/contract/changeContractRecord', data })
}
// 合同变更列表 // 合同变更列表
export const changeContractList = async (data: TransferReqVO) => { export const changeContractList = async (data: TransferReqVO) => {
return await request.get({ url: '/crm/contract-change-record/page', data }) return await request.get({ url: '/crm/contract-change-record/page', data })

View File

@ -687,6 +687,7 @@ watch(
/** 弹出气泡卡 */ /** 弹出气泡卡 */
const openPopover = async (type: string) => { const openPopover = async (type: string) => {
if (type === 'approve') { if (type === 'approve') {
emit('updataData')
// //
const valid = await validateNormalForm() const valid = await validateNormalForm()
if (!valid) { if (!valid) {

View File

@ -293,7 +293,6 @@ const open = async (type: string) => {
if(!route.query.id) delete data.customerId if(!route.query.id) delete data.customerId
console.log('%csrc/views/crm/contract/ContractChange.vue:295 formData.value, data', 'color: #007acc;', formData.value, data);
formData.value = Object.assign(formData.value, data) formData.value = Object.assign(formData.value, data)
} finally { } finally {

View File

@ -763,8 +763,14 @@ const open = async (type: string) => {
if (type) { if (type) {
// formLoading.value = true // formLoading.value = true
try { try {
formData.value = await ContractApi.getContract(type) let data = await ContractApi.getContract(type)
// handleQuotationChange(formData.value.quotationId) data.legalPersonName = data.customerDO.legalPersonName
data.creditNo = data.customerDO.creditNo
data.registeredAddress = data.customerDO.registeredAddress
data.actualCapital = data.customerDO.actualCapital
data.socialEmployeeNum = data.customerDO.socialEmployeeNum
handleQuotationChange(formData.value.quotationId)
formData.value = data
} finally { } finally {
formLoading.value = false formLoading.value = false
} }

View File

@ -299,6 +299,7 @@ const open = async (type: string) => {
// formData.value = Object.assign(formData.value, data) // formData.value = Object.assign(formData.value, data)
let data = await ContractApi.getChangeContract(type) let data = await ContractApi.getChangeContract(type)
formData.value = data.contractDetail formData.value = data.contractDetail
formData.value.contractId = data.contractDetail.id
formData.value.changeItem = data.changeItem formData.value.changeItem = data.changeItem
formData.value.changeAmount = data.changeAmount formData.value.changeAmount = data.changeAmount
formData.value.afterAmount = data.afterAmount formData.value.afterAmount = data.afterAmount
@ -307,6 +308,7 @@ const open = async (type: string) => {
formData.value.extensionYears = data.extensionYears formData.value.extensionYears = data.extensionYears
formData.value.extensionDate = data.extensionDate formData.value.extensionDate = data.extensionDate
formData.value.note = data.note formData.value.note = data.note
formData.value.id = data.id
// formData.value.creditAmount = data.creditAmount // formData.value.creditAmount = data.creditAmount
formData.value.creditLimit = data.beforeAmount formData.value.creditLimit = data.beforeAmount
} finally { } finally {
@ -315,14 +317,13 @@ const open = async (type: string) => {
} }
} }
defineExpose({ open }) // open
/** 提交表单 */ /** 提交表单 */
const emit = defineEmits(['success']) // success const emit = defineEmits(['success']) // success
const submitForm = async () => { const submitForm = async () => {
// //
if (!formRef) return if (!formRef) return
const valid = await formRef.value.validate() const valid = await formRef.value.innerFormRef.validate()
if (!valid) return if (!valid) return
// const Authalid = await contractAAuthorizedCompanyFormRef.value.validate() // const Authalid = await contractAAuthorizedCompanyFormRef.value.validate()
@ -386,8 +387,19 @@ if(contractFormRef.value) {
5: contractAAuthorizedCompanyFormRef1, 5: contractAAuthorizedCompanyFormRef1,
6: contractFormRef 6: contractFormRef
} }
let proChangeData = {
1: 'limitFormRef',
2: 'contractAAuthorizedPersons',
3: 'contractExtensionFormRef',
4: 'contractStopFormRef',
5: 'contractAAuthorizedCompanys',
6: 'contractFormRef'
}
console.log('%csrc/views/crm/contract/detail/ContractChangeDetail.vue:396 formData.value', 'color: #007acc;', formData.value);
let dataFormList = proChangeObj[formData.value.changeItem].value.getData() let dataFormList = proChangeObj[formData.value.changeItem].value.getData()
data[proChangeObj[formData.value.changeItem]] = dataFormList if(formData.value.changeItem == 2 || formData.value.changeItem == 5) {
data[proChangeData[formData.value.changeItem]] = dataFormList
}
if(formData.value.changeItem == 1) { if(formData.value.changeItem == 1) {
data.changeAmount = dataFormList.changeAmount data.changeAmount = dataFormList.changeAmount
data.changeAmountDeadline = dataFormList.changeAmountDeadline data.changeAmountDeadline = dataFormList.changeAmountDeadline
@ -415,19 +427,16 @@ if(contractFormRef.value) {
} else if(formData.value.changeItem == 6) { } else if(formData.value.changeItem == 6) {
data.newContract = data data.newContract = data
} }
data.contractId = data.id await ContractApi.changeContractUpdate(data)
delete data.id message.success(t('common.updateSuccess'))
await ContractApi.changeContract(data)
message.success(t('common.createSuccess'))
dialogVisible.value = false dialogVisible.value = false
// //
emit('success')
goBack()
} finally { } finally {
formLoading.value = false formLoading.value = false
} }
} }
defineExpose({ open, submitForm }) // open
const goBack = ()=> { const goBack = ()=> {
proxy.$router.go(-1) proxy.$router.go(-1)

View File

@ -108,12 +108,12 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</template> </template>
<template #creditCalcCycle> <!-- <template #creditCalcCycle>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="授信计算周期" prop="creditCalcCycle" > <el-form-item label="授信计算周期" prop="creditCalcCycle" >
<el-input v-model="formData.creditCalcCycle" placeholder="" disabled /> <el-input v-model="formData.creditCalcCycle" placeholder="" disabled />
</el-form-item> </el-form-item>
</el-col> </el-col> -->
<!-- <el-col :span="8"> <!-- <el-col :span="8">
<el-form-item label="票据模板" prop="invoiceTemplateId"> <el-form-item label="票据模板" prop="invoiceTemplateId">
<el-select v-model="formData.invoiceTemplateId" disabled placeholder=""> <el-select v-model="formData.invoiceTemplateId" disabled placeholder="">
@ -126,7 +126,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> --> </el-col> -->
</template> <!-- </template> -->
<template #quotationTimes> <template #quotationTimes>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="第几次报价" prop="quotationTimes"> <el-form-item label="第几次报价" prop="quotationTimes">
@ -900,7 +900,17 @@ const open = async (type: string) => {
if (type) { if (type) {
// formLoading.value = true // formLoading.value = true
try { try {
formData.value = await ContractApi.getContract(type) let data = await ContractApi.getContract(type)
// data.legalPersonName = data.customerDO.legalPersonName
// data.creditNo = data.customerDO.creditNo
// data.registeredAddress = data.customerDO.registeredAddress
// data.actualCapital = data.customerDO.actualCapital
// data.socialEmployeeNum = data.customerDO.socialEmployeeNum
// data.bankName = data.customerDO.bankName
// data.bankAccount = data.customerDO.bankAccount
// data.legalRepresentative = data.customerDO.legalRepresentative
formData.value = data
handleQuotationChange(formData.value.quotationId)
} finally { } finally {
formLoading.value = false formLoading.value = false
} }