pull/781/head
zy 2025-05-01 13:57:56 +08:00
parent 2a156f4616
commit 4c9e2eb21d
5 changed files with 71 additions and 44 deletions

View File

@ -44,7 +44,7 @@
</el-table-column> </el-table-column>
<el-table-column label="产品开具项目" fixed="right" min-width="140"> <el-table-column label="产品开具项目" fixed="right" min-width="140">
<template #default="{ row, $index }"> <template #default="{ row, $index }">
<el-form-item :prop="`${$index}.productInvoiceItems`" class="mb-0px!"> <el-form-item :prop="`${$index}.productInvoiceItems`" :rules="formRules.productInvoiceItems" class="mb-0px!">
<el-select v-model="row.productInvoiceItems" placeholder="请选择状态" clearable class="!w-240px"> <el-select v-model="row.productInvoiceItems" placeholder="请选择状态" clearable class="!w-240px">
<el-option <el-option
v-for="dict in getIntDictOptions(DICT_TYPE.CRM_PRODUCT_INVOICE_ITEMS)" v-for="dict in getIntDictOptions(DICT_TYPE.CRM_PRODUCT_INVOICE_ITEMS)"
@ -58,7 +58,7 @@
</el-table-column> </el-table-column>
<el-table-column label="服务费票据" prop="serviceFeeInvoice" fixed="right" min-width="140"> <el-table-column label="服务费票据" prop="serviceFeeInvoice" fixed="right" min-width="140">
<template #default="{ row, $index }"> <template #default="{ row, $index }">
<el-form-item :prop="`${$index}.serviceFeeInvoice`" class="mb-0px!"> <el-form-item :prop="`${$index}.serviceFeeInvoice`" :rules="formRules.serviceFeeInvoice" class="mb-0px!">
<el-select v-model="row.serviceFeeInvoice" placeholder="请选择状态" clearable class="!w-240px"> <el-select v-model="row.serviceFeeInvoice" placeholder="请选择状态" clearable class="!w-240px">
<el-option <el-option
v-for="dict in getIntDictOptions(DICT_TYPE.CRM_SERVICE_FEE_INVOICE)" v-for="dict in getIntDictOptions(DICT_TYPE.CRM_SERVICE_FEE_INVOICE)"
@ -72,7 +72,7 @@
</el-table-column> </el-table-column>
<el-table-column label="服务开具项目" prop="serviceFeeInvoiceItems" fixed="right" min-width="140"> <el-table-column label="服务开具项目" prop="serviceFeeInvoiceItems" fixed="right" min-width="140">
<template #default="{ row, $index }"> <template #default="{ row, $index }">
<el-form-item :prop="`${$index}.serviceFeeInvoiceItems`" class="mb-0px!"> <el-form-item :prop="`${$index}.serviceFeeInvoiceItems`" :rules="formRules.serviceFeeInvoiceItems" class="mb-0px!">
<el-select v-model="row.serviceFeeInvoiceItems" placeholder="请选择状态" clearable class="!w-240px"> <el-select v-model="row.serviceFeeInvoiceItems" placeholder="请选择状态" clearable class="!w-240px">
<el-option <el-option
v-for="dict in getIntDictOptions(DICT_TYPE.CRM_SERVICE_FEE_INVOICE_ITEMS)" v-for="dict in getIntDictOptions(DICT_TYPE.CRM_SERVICE_FEE_INVOICE_ITEMS)"
@ -112,7 +112,7 @@ const formLoading = ref(false) // 表单的加载中
const formData = ref([]) const formData = ref([])
const formRules = reactive({ const formRules = reactive({
productInvoice: [{ required: true, message: '产品票据不能为空', trigger: 'change' }], productInvoice: [{ required: true, message: '产品票据不能为空', trigger: 'change' }],
getIntDictOptions: [{ required: true, message: '产品开具项目不能为空', trigger: 'change' }], productInvoiceItems: [{ required: true, message: '产品开具项目不能为空', trigger: 'change' }],
serviceFeeInvoice: [{ required: true, message: '服务费票据不能为空', trigger: 'change' }], serviceFeeInvoice: [{ required: true, message: '服务费票据不能为空', trigger: 'change' }],
serviceFeeInvoiceItems: [{ required: true, message: '服务开具项目不能为空', trigger: 'change' }] serviceFeeInvoiceItems: [{ required: true, message: '服务开具项目不能为空', trigger: 'change' }]
}) })

View File

@ -21,7 +21,6 @@
> >
<template #default="{ item }"> <template #default="{ item }">
<div class="value">{{ item.name }}</div> <div class="value">{{ item.name }}</div>
<span class="link">{{ item.link }}</span>
</template> </template>
</el-autocomplete> </el-autocomplete>
</el-form-item> </el-form-item>
@ -176,16 +175,16 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>--> </el-row>-->
<!-- <el-col :span="12"> <!-- <el-col :span="12"> -->
<el-form-item label="统一信用代码" prop="creditNo"> <!-- <el-form-item label="统一信用代码" prop="creditNo">
<el-input v-model="formData.creditNo" disabled placeholder="请输入详细地址" /> <el-input v-model="formData.creditNo" disabled placeholder="请输入详细地址" />
</el-form-item> </el-form-item>
</el-col> </el-col> -->
<el-col :span="12"> <!-- <el-col :span="12">
<el-form-item label="营业状态" prop="serviceStatus"> <el-form-item label="营业状态" prop="serviceStatus">
<el-input v-model="formData.serviceStatus" disabled placeholder="营业状态" /> <el-input v-model="formData.serviceStatus" disabled placeholder="营业状态" />
</el-form-item> </el-form-item>
</el-col> </el-col> -->
<el-col :span="12"> <el-col :span="12">
<el-form-item label="法人代表" prop="legalPersonName"> <el-form-item label="法人代表" prop="legalPersonName">
<el-input v-model="formData.legalPersonName" disabled placeholder="法人代表" /> <el-input v-model="formData.legalPersonName" disabled placeholder="法人代表" />
@ -195,7 +194,7 @@
<el-form-item label="注册资本" prop="registerCapital"> <el-form-item label="注册资本" prop="registerCapital">
<el-input v-model="formData.registerCapital" disabled placeholder="注册资本" /> <el-input v-model="formData.registerCapital" disabled placeholder="注册资本" />
</el-form-item> </el-form-item>
</el-col> --> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="网站" prop=""> <el-form-item label="网站" prop="">
<el-input v-model="formData.website" placeholder="请输入网站" /> <el-input v-model="formData.website" placeholder="请输入网站" />
@ -225,6 +224,18 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> --> </el-col> -->
<el-col :span="12">
<el-form-item label="注册日期" prop="contactNextTime">
<el-date-picker
disabled
v-model="formData.startDate"
placeholder="选择下次联系时间"
type="date"
value-format="x"
class="!w-1/1"
/>
</el-form-item>
</el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="地址" prop="areaId"> <el-form-item label="地址" prop="areaId">
<el-cascader <el-cascader
@ -291,6 +302,7 @@ const userOptions = ref<UserApi.UserVO[]>([]) // 用户列表
const formData = ref({ const formData = ref({
id: undefined, id: undefined,
name: undefined, name: undefined,
startDate: undefined,
contactNextTime: undefined, contactNextTime: undefined,
ownerUserId: 0, ownerUserId: 0,
mobile: undefined, mobile: undefined,
@ -397,12 +409,8 @@ const querySearchAsync = async (queryString: string, cb: (arg: any) => void) =>
companyName: queryString companyName: queryString
}) })
restaurants.value = data.list.map(v => { restaurants.value = data.list.map(v => {
return { return Object.assign(v, {value: v.name})
name: v.name,
value: v.name,
}
}) })
console.log('%csrc/views/crm/customer/CustomerForm.vue:400 restaurants.value', 'color: #007acc;', restaurants.value);
const results = queryString const results = queryString
? restaurants.value.filter(createFilter(queryString)) ? restaurants.value.filter(createFilter(queryString))
: restaurants.value : restaurants.value
@ -421,13 +429,17 @@ const createFilter = (queryString: string) => {
} }
const handleSelect = (item: Record<string, any>) => { const handleSelect = (item: Record<string, any>) => {
console.log(item) formData.value.legalPersonName = item.legalPersonName
formData.value.registerCapital = item.regCapital
formData.value.startDate = item.regDate
} }
/** 重置表单 */ /** 重置表单 */
const resetForm = () => { const resetForm = () => {
formData.value = { formData.value = {
id: undefined, id: undefined,
name: undefined, name: undefined,
regCapital: undefined,
regDate: undefined,
contactNextTime: undefined, contactNextTime: undefined,
ownerUserId: 0, ownerUserId: 0,
mobile: undefined, mobile: undefined,

View File

@ -128,7 +128,7 @@
<el-table-column align="center" label="客户状态" prop="serviceStatus" width="120" /> <el-table-column align="center" label="客户状态" prop="serviceStatus" width="120" />
<!-- <el-table-column align="center" label="电话" prop="telephone" width="130" /> <!-- <el-table-column align="center" label="电话" prop="telephone" width="130" />
<el-table-column align="center" label="邮箱" prop="email" width="180" /> --> <el-table-column align="center" label="邮箱" prop="email" width="180" /> -->
<el-table-column align="center" label="客户级别" prop="level" width="135"> <el-table-column align="center" label="客户级别" prop="level" width="145">
<template #default="scope"> <template #default="scope">
<dict-tag :type="DICT_TYPE.CRM_CUSTOMER_LEVEL" :value="scope.row.level" /> <dict-tag :type="DICT_TYPE.CRM_CUSTOMER_LEVEL" :value="scope.row.level" />
</template> </template>

View File

@ -70,8 +70,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="公司类型" prop="companyType"> <el-form-item label="公司类型" prop="regType">
<el-input v-model="formData.companyType" clearable /> <el-input v-model="formData.regType" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -85,28 +85,28 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="实缴资金" prop="paidInCapital"> <el-form-item label="实缴资金" prop="actualCapital">
<el-input v-model="formData.paidInCapital" clearable /> <el-input v-model="formData.actualCapital" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="参保人数" prop="insuredCount"> <el-form-item label="参保人数" prop="socialEmployeeNum">
<el-input v-model="formData.insuredCount" clearable /> <el-input v-model="formData.socialEmployeeNum" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="成立日期" prop="establishmentDate"> <el-form-item label="成立日期" prop="startDate">
<el-input v-model="formData.establishmentDate" clearable /> <el-input v-model="formData.startDate" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <!-- <el-col :span="8">
<el-form-item label="企业类型" prop="enterpriseType"> <el-form-item label="企业类型" prop="enterpriseType">
<el-input v-model="formData.enterpriseType" clearable /> <el-input v-model="formData.enterpriseType" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col> -->
<el-col :span="8"> <el-col :span="8">
<el-form-item label="营业状态" prop="businessStatus"> <el-form-item label="营业状态" prop="serviceStatus">
<el-input v-model="formData.businessStatus" clearable /> <el-input v-model="formData.serviceStatus" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -118,8 +118,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="经营异常" prop="businessAbnormal"> <el-form-item label="经营异常" prop="abnormalService">
<el-radio-group v-model="formData.businessAbnormal"> <el-radio-group v-model="formData.abnormalService">
<el-radio :label="true"></el-radio> <el-radio :label="true"></el-radio>
<el-radio :label="false"></el-radio> <el-radio :label="false"></el-radio>
</el-radio-group> </el-radio-group>
@ -134,24 +134,24 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="失信记录" prop="dishonestRecord"> <el-form-item label="失信记录" prop="dishonestyRecord">
<el-radio-group v-model="formData.dishonestRecord"> <el-radio-group v-model="formData.dishonestyRecord">
<el-radio :label="true"></el-radio> <el-radio :label="true"></el-radio>
<el-radio :label="false"></el-radio> <el-radio :label="false"></el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="融资记录" prop="financingRecord"> <el-form-item label="融资记录" prop="financeRecord">
<el-radio-group v-model="formData.financingRecord"> <el-radio-group v-model="formData.financeRecord">
<el-radio :label="true"></el-radio> <el-radio :label="true"></el-radio>
<el-radio :label="false"></el-radio> <el-radio :label="false"></el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="被执行记录" prop="enforcementRecord"> <el-form-item label="被执行记录" prop="judgmentRecord">
<el-radio-group v-model="formData.enforcementRecord"> <el-radio-group v-model="formData.judgmentRecord">
<el-radio :label="true"></el-radio> <el-radio :label="true"></el-radio>
<el-radio :label="false"></el-radio> <el-radio :label="false"></el-radio>
</el-radio-group> </el-radio-group>
@ -462,7 +462,19 @@ const formRules = reactive({
no: [{ required: true, message: '报价单编号不能为空', trigger: 'blur' }], no: [{ required: true, message: '报价单编号不能为空', trigger: 'blur' }],
customerId: [{ required: true, message: '客户id不能为空', trigger: 'change' }], customerId: [{ required: true, message: '客户id不能为空', trigger: 'change' }],
businessId: [{ required: true, message: '商机编号不能为空', trigger: 'change' }], businessId: [{ required: true, message: '商机编号不能为空', trigger: 'change' }],
invoiceTemplateId: [{ required: true, message: '票据模板Id不能为空', trigger: 'change' }] invoiceTemplateId: [{ required: true, message: '票据模板Id不能为空', trigger: 'change' }],
actualCapital: [{ required: true, message: '实缴资金不能为空', trigger: 'blur' }],
socialEmployeeNum: [{ required: true, message: '参保人数不能为空', trigger: 'blur' }],
defendantRecord: [{ required: true, message: '被告记录不能为空', trigger: 'blur' }],
abnormalService: [{ required: true, message: '经营异常不能为空', trigger: 'blur' }],
equityPledge: [{ required: true, message: '股权出质不能为空', trigger: 'blur' }],
dishonestyRecord: [{ required: true, message: '失信记录不能为空', trigger: 'blur' }],
financeRecord: [{ required: true, message: '融资记录不能为空', trigger: 'blur' }],
judgmentRecord: [{ required: true, message: '被执行记录不能为空', trigger: 'blur' }],
paymentTerm: [{ required: true, message: '账期不能为空', trigger: 'change' }],
partnerCompanyId: [{ required: true, message: '合作主体不能为空', trigger: 'change' }],
creditMethod: [{ required: true, message: '授信方式不能为空', trigger: 'change' }],
creditCalcCycle: [{ required: true, message: '授信计算周期不能为空', trigger: 'change' }],
}) })
const formRef = ref() // Ref const formRef = ref() // Ref
@ -531,7 +543,7 @@ const onPartnerChange = async (id: string) => {
formData.value.bLegalRepresentative = res.legalRepresentative; formData.value.bLegalRepresentative = res.legalRepresentative;
formData.value.bBusinessLicenseNumber = res.businessLicenseNumber; formData.value.bBusinessLicenseNumber = res.businessLicenseNumber;
formData.value.bBusinessLicense = res.businessLicense; formData.value.bBusinessLicense = res.businessLicense;
formData.value.partnerCompanyId = res.partnerCompanyId; // formData.value.partnerCompanyId = res.partnerCompanyId;
} catch (err) { } catch (err) {
} finally { } finally {
formLoading.value = false; formLoading.value = false;
@ -539,7 +551,6 @@ const onPartnerChange = async (id: string) => {
} }
const changeNum = (val) => { const changeNum = (val) => {
console.log('%csrc/views/crm/quotation/QuotationForm.vue:534 val + formData.value.creditAmount || 0', 'color: #007acc;', Number(val) + (formData.value.creditAmount || 0));
formData.value.creditLimit = (Number(val) + (formData.value.creditAmount || 0)).toFixed(2) formData.value.creditLimit = (Number(val) + (formData.value.creditAmount || 0)).toFixed(2)
} }
/** 打开弹窗 */ /** 打开弹窗 */

View File

@ -94,7 +94,7 @@
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="产品开具项目" min-width="150"> <el-table-column label="产品开具项目" min-width="160">
<template #default="{ row, $index }"> <template #default="{ row, $index }">
<el-form-item :prop="`${$index}.productInvoiceItems`" :rules="formRules.productInvoiceItems" class="mb-0px!"> <el-form-item :prop="`${$index}.productInvoiceItems`" :rules="formRules.productInvoiceItems" class="mb-0px!">
<el-select v-model="row.productInvoiceItems" placeholder="请选择状态" clearable class="!w-240px"> <el-select v-model="row.productInvoiceItems" placeholder="请选择状态" clearable class="!w-240px">
@ -122,7 +122,7 @@
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="服务开具项目" min-width="150"> <el-table-column label="服务开具项目" min-width="160">
<template #default="{ row, $index }"> <template #default="{ row, $index }">
<el-form-item :prop="`${$index}.serviceFeeInvoiceItems`" :rules="formRules.serviceFeeInvoiceItems" class="mb-0px!"> <el-form-item :prop="`${$index}.serviceFeeInvoiceItems`" :rules="formRules.serviceFeeInvoiceItems" class="mb-0px!">
<el-select v-model="row.serviceFeeInvoiceItems" placeholder="请选择状态" clearable class="!w-240px"> <el-select v-model="row.serviceFeeInvoiceItems" placeholder="请选择状态" clearable class="!w-240px">
@ -169,7 +169,11 @@ const formRules = reactive({
productUnit: [{ required: true, message: '产品单位不能为空', trigger: 'blur' }], productUnit: [{ required: true, message: '产品单位不能为空', trigger: 'blur' }],
onlinePrice: [{ required: true, message: '线上价格不能为空', trigger: 'blur' }], onlinePrice: [{ required: true, message: '线上价格不能为空', trigger: 'blur' }],
offlinePrice: [{ required: true, message: '线下价格不能为空', trigger: 'blur' }], offlinePrice: [{ required: true, message: '线下价格不能为空', trigger: 'blur' }],
totalPrice: [{ required: true, message: '总计价格不能为空', trigger: 'blur' }] totalPrice: [{ required: true, message: '总计价格不能为空', trigger: 'blur' }],
productInvoiceItems: [{ required: true, message: '产品开具项目不能为空', trigger: 'blur' }],
serviceFeeInvoice: [{ required: true, message: '服务费票据不能为空', trigger: 'blur' }],
serviceFeeInvoiceItems: [{ required: true, message: '服务开具项目不能为空', trigger: 'blur' }],
productInvoice: [{ required: true, message: '产品票据不能为空', trigger: 'blur' }],
}) })
const formRef = ref() // Ref const formRef = ref() // Ref