diff --git a/src/api/crm/contract/index.ts b/src/api/crm/contract/index.ts index 811dd8a78..413f94e2c 100644 --- a/src/api/crm/contract/index.ts +++ b/src/api/crm/contract/index.ts @@ -130,6 +130,11 @@ export const changeContract = async (data: TransferReqVO) => { 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) => { return await request.get({ url: '/crm/contract-change-record/page', data }) diff --git a/src/views/bpm/processInstance/detail/ProcessInstanceOperationButton.vue b/src/views/bpm/processInstance/detail/ProcessInstanceOperationButton.vue index 5099097a4..e3d6efc88 100644 --- a/src/views/bpm/processInstance/detail/ProcessInstanceOperationButton.vue +++ b/src/views/bpm/processInstance/detail/ProcessInstanceOperationButton.vue @@ -687,6 +687,7 @@ watch( /** 弹出气泡卡 */ const openPopover = async (type: string) => { if (type === 'approve') { + emit('updataData') // 校验流程表单 const valid = await validateNormalForm() if (!valid) { diff --git a/src/views/crm/contract/ContractChange.vue b/src/views/crm/contract/ContractChange.vue index d8410f493..b673e3f7c 100644 --- a/src/views/crm/contract/ContractChange.vue +++ b/src/views/crm/contract/ContractChange.vue @@ -293,7 +293,6 @@ const open = async (type: string) => { 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) } finally { diff --git a/src/views/crm/contract/ContractForm.vue b/src/views/crm/contract/ContractForm.vue index 733a6c5f2..a5d016002 100644 --- a/src/views/crm/contract/ContractForm.vue +++ b/src/views/crm/contract/ContractForm.vue @@ -763,8 +763,14 @@ const open = async (type: string) => { if (type) { // formLoading.value = true try { - formData.value = await ContractApi.getContract(type) - // handleQuotationChange(formData.value.quotationId) + 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 + handleQuotationChange(formData.value.quotationId) + formData.value = data } finally { formLoading.value = false } diff --git a/src/views/crm/contract/detail/ContractChangeDetail.vue b/src/views/crm/contract/detail/ContractChangeDetail.vue index 8cddde13e..2abc3947d 100644 --- a/src/views/crm/contract/detail/ContractChangeDetail.vue +++ b/src/views/crm/contract/detail/ContractChangeDetail.vue @@ -299,6 +299,7 @@ const open = async (type: string) => { // formData.value = Object.assign(formData.value, data) let data = await ContractApi.getChangeContract(type) formData.value = data.contractDetail + formData.value.contractId = data.contractDetail.id formData.value.changeItem = data.changeItem formData.value.changeAmount = data.changeAmount formData.value.afterAmount = data.afterAmount @@ -307,6 +308,7 @@ const open = async (type: string) => { formData.value.extensionYears = data.extensionYears formData.value.extensionDate = data.extensionDate formData.value.note = data.note + formData.value.id = data.id // formData.value.creditAmount = data.creditAmount formData.value.creditLimit = data.beforeAmount } finally { @@ -315,14 +317,13 @@ const open = async (type: string) => { } } -defineExpose({ open }) // 提供 open 方法,用于打开弹窗 /** 提交表单 */ const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调 const submitForm = async () => { // 校验表单 if (!formRef) return - const valid = await formRef.value.validate() + const valid = await formRef.value.innerFormRef.validate() if (!valid) return // const Authalid = await contractAAuthorizedCompanyFormRef.value.validate() @@ -386,8 +387,19 @@ if(contractFormRef.value) { 5: contractAAuthorizedCompanyFormRef1, 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() - 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) { data.changeAmount = dataFormList.changeAmount data.changeAmountDeadline = dataFormList.changeAmountDeadline @@ -415,19 +427,16 @@ if(contractFormRef.value) { } else if(formData.value.changeItem == 6) { data.newContract = data } - data.contractId = data.id - delete data.id - await ContractApi.changeContract(data) - message.success(t('common.createSuccess')) + await ContractApi.changeContractUpdate(data) + message.success(t('common.updateSuccess')) dialogVisible.value = false // 发送操作成功的事件 - emit('success') - goBack() } finally { formLoading.value = false } } +defineExpose({ open, submitForm }) // 提供 open 方法,用于打开弹窗 const goBack = ()=> { proxy.$router.go(-1) diff --git a/src/views/crm/contract/detail/ContractDetail.vue b/src/views/crm/contract/detail/ContractDetail.vue index 0b77aecd3..e9dca3e5a 100644 --- a/src/views/crm/contract/detail/ContractDetail.vue +++ b/src/views/crm/contract/detail/ContractDetail.vue @@ -108,12 +108,12 @@ - +