From ae5519d9c4acd601844c64e58772d5352112c136 Mon Sep 17 00:00:00 2001 From: quu Date: Thu, 1 May 2025 22:22:46 +0900 Subject: [PATCH] =?UTF-8?q?crm=20=E6=8A=A5=E4=BB=B7=20=E5=95=86=E6=9C=BA?= =?UTF-8?q?=20=E5=90=88=E5=90=8C=20=E4=B8=89=E5=9D=97=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/crm/customer/index.ts | 51 ++++++++++++++ src/views/crm/contract/ContractChange.vue | 25 ++++++- src/views/crm/contract/ContractForm.vue | 28 ++++---- .../crm/contract/components/ContracStop.vue | 22 +++---- .../ContractAAuthorizedCompanyForm.vue | 66 ++++++++++++------- .../components/ContractChangeLimit.vue | 57 ++++++---------- .../contract/components/ContractExtension.vue | 20 +++--- 7 files changed, 168 insertions(+), 101 deletions(-) diff --git a/src/api/crm/customer/index.ts b/src/api/crm/customer/index.ts index b93f62e29..45e396098 100644 --- a/src/api/crm/customer/index.ts +++ b/src/api/crm/customer/index.ts @@ -29,6 +29,57 @@ export interface CustomerVO { creatorName?: string // 创建人名称 createTime: Date // 创建时间 updateTime: Date // 更新时间 + + + cooperationType?: number // 合作类型 + cooperationArea?: number // 合作地区 + leadSource?: number // 线索来源 + customerStatus?: number // 客户状态 + dataType?: number // 是否为公海数据 + serviceStatus?: string // 经营状态 + developer?: number // 商务拓展人 + contractor?: number // 商务签约人 + clueDeveloper?: number // 线索拓展人 + maintainer?: number // 售后维护人 + assist?: number // 协助人 + customerOwner?: number // 客户归属人 + website?: string // 网站 + contactAddress?: string // 通讯地址 + customerDetails?: string // 客户详情 + rejectionReason?: string // 客户退回原因 + claim?: number // 是否领取 + claimTime?: Date // 领取时间 + startDate?: string // 成立日期 + registerCapital?: string // 注册资本 + legalPersonName?: string // 法定代表人 + actualCapital?: string // 实缴注册资本 + registerCapitalCurrency?: string // 注册资本币种 + bankName?: string // 开户行名称 + bankAccount?: string // 银行账号 + taxQualification?: string // 纳税人资质 + socialEmployeeNum?: string // 参保人数 + creditNo?: string // 社会统一信用代码 + businessTerm?: string // 营业期限 + belongOrg?: string // 登记机关 + regType?: string // 公司类型 + actualCharacters?: string // 实缴字符数 + registerNo?: string // 工商注册号 + registeredAddress?: string // 注册地址 + businessScope?: string // 经营范围 + partnerTotal?: string // 股东数量 + changeRecordDataTotal?: string // 变更数量 + employeeDataTotal?: string // 董事会成员数量 + attention?: number // 是否关注(1关注,0不关注) + creditAmount?: number // 授信额度 + accountPeriod?: number // 账期(天) + creditGrantingMethod?: number // 授信方式 + creditCalculationCycle?: number // 授信计算周期 + equityPledge?: number // 股权出质 + judgmentRecord?: number // 被执行记录 + defendantRecord?: number // 被告记录 + dishonestyRecord?: number // 失信记录 + abnormalService?: number // 经营异常 + financeRecord?: number // 融资记录 } // 查询客户列表 diff --git a/src/views/crm/contract/ContractChange.vue b/src/views/crm/contract/ContractChange.vue index 587c67c42..2d011e541 100644 --- a/src/views/crm/contract/ContractChange.vue +++ b/src/views/crm/contract/ContractChange.vue @@ -77,7 +77,7 @@ 授权人 延期 终止 - 甲方关联单位 + 关联 重签 @@ -304,14 +304,33 @@ if(contractFormRef.value) { } let dataFormList = proChangeObj[formData.value.changeItem].value.getData() data[proChangeObj[formData.value.changeItem]] = dataFormList - if(formData.value.changeItem == 2) { + if(formData.value.changeItem == 1) { + data.changeAmount = dataFormList.changeAmount + data.changeAmountDeadline = dataFormList.changeAmountDeadline + } else if(formData.value.changeItem == 2) { let ids = [] dataFormList.map(item => { ids.push(item.id) }) data.afterAuthorizerId = ids.join(',') + } else if(formData.value.changeItem == 3) { + data.agreementDeadline = dataFormList.agreementDeadline + data.extensionYears = dataFormList.extensionYears + data.extensionDate = dataFormList.extensionDate + data.note = dataFormList.note + } else if(formData.value.changeItem == 4) { + data.terminationDate = dataFormList.terminationDate + data.terminationReason = dataFormList.terminationReason + data.note = dataFormList.note + } else if(formData.value.changeItem == 5) { + let ids = [] + dataFormList.map(item => { + ids.push(item.id) + }) + data.afterAffiliateCompanyId = ids.join(',') + } else if(formData.value.changeItem == 6) { + data.newContract = data } - // data.contractAAuthorizedCompanys = limitFormRef.value.getData() data.contractId = data.id delete data.id await ContractApi.changeContract(data) diff --git a/src/views/crm/contract/ContractForm.vue b/src/views/crm/contract/ContractForm.vue index a249af507..53e9d553e 100644 --- a/src/views/crm/contract/ContractForm.vue +++ b/src/views/crm/contract/ContractForm.vue @@ -187,13 +187,13 @@ --> - - + + - - + + @@ -222,8 +222,8 @@ - - + + @@ -254,19 +254,19 @@ - - + + - - + + @@ -275,7 +275,7 @@ @@ -284,7 +284,7 @@ @@ -545,7 +545,7 @@ const formRules = reactive({ customerId: [{ required: true, message: '客户不能为空', trigger: 'blur' }], quotationId: [{ required: true, message: '报价单编号不能为空', trigger: 'blur' }], orderDate: [{ required: true, message: '下单日期不能为空', trigger: 'blur' }], - ownerUserId: [{ required: true, message: '负责人不能为空', trigger: 'blur' }], + // ownerUserId: [{ required: true, message: '负责人不能为空', trigger: 'blur' }], statementDate: [{ required: true, message: '账单日不能为空', trigger: 'change' }], contractType: [{ required: true, message: '合同类型不能为空', trigger: 'change' }], penaltyRate: [{ required: true, message: '违约金比例不能为空', trigger: 'blur' }], diff --git a/src/views/crm/contract/components/ContracStop.vue b/src/views/crm/contract/components/ContracStop.vue index 43c48e36c..e75dff85e 100644 --- a/src/views/crm/contract/components/ContracStop.vue +++ b/src/views/crm/contract/components/ContracStop.vue @@ -10,18 +10,18 @@ - - + + 合同到期 甲方违反协议 乙方不可抗力 @@ -32,8 +32,8 @@ - - + + @@ -123,11 +123,11 @@ const formData = ref({ bBusinessLicense: undefined // 营业执照 }) const formRules = reactive({ - cooperationType: [{ required: true, message: '合作类型不能为空', trigger: 'change' }], - no: [{ required: true, message: '报价单编号不能为空', trigger: 'blur' }], - customerId: [{ required: true, message: '客户id不能为空', trigger: 'change' }], - businessId: [{ required: true, message: '商机编号不能为空', trigger: 'change' }], - invoiceTemplateId: [{ required: true, message: '票据模板Id不能为空', trigger: 'change' }] + // cooperationType: [{ required: true, message: '合作类型不能为空', trigger: 'change' }], + // no: [{ required: true, message: '报价单编号不能为空', trigger: 'blur' }], + // customerId: [{ required: true, message: '客户id不能为空', trigger: 'change' }], + // businessId: [{ required: true, message: '商机编号不能为空', trigger: 'change' }], + // invoiceTemplateId: [{ required: true, message: '票据模板Id不能为空', trigger: 'change' }] }) const formRef = ref() // 表单 Ref diff --git a/src/views/crm/contract/components/ContractAAuthorizedCompanyForm.vue b/src/views/crm/contract/components/ContractAAuthorizedCompanyForm.vue index a7144a89a..7cabda68c 100644 --- a/src/views/crm/contract/components/ContractAAuthorizedCompanyForm.vue +++ b/src/views/crm/contract/components/ContractAAuthorizedCompanyForm.vue @@ -68,10 +68,13 @@ + 添加 + +