pull/781/head
zy 2025-05-28 12:06:00 +08:00
parent a371f574e9
commit 6872426182
4 changed files with 49 additions and 27 deletions

View File

@ -272,6 +272,8 @@ const open = async (type: string, id?: number, customerId?: number, businessId?:
dialogVisible.value = true
dialogTitle.value = t('action.' + type)
formType.value = type
//
customerList.value = await CustomerApi.getSelfCustomerSimpleList()
resetForm()
//
if (id) {
@ -284,6 +286,7 @@ const open = async (type: string, id?: number, customerId?: number, businessId?:
} else {
console.log('%csrc/views/crm/contact/ContactForm.vue:229 customerId', 'color: #007acc;', customerId);
if (customerId) {
changeCustomerId(customerId)
formData.value.customerId = customerId
formData.value.customerDefault = true //
}
@ -295,8 +298,7 @@ const open = async (type: string, id?: number, customerId?: number, businessId?:
}
//
contactList.value = await ContactApi.getSimpleContactList()
//
customerList.value = await CustomerApi.getSelfCustomerSimpleList()
//
areaList.value = await AreaApi.getAreaTree()
//
@ -336,6 +338,7 @@ const submitForm = async () => {
const changeCustomerId = (val) => {
let arr = customerList.value.filter(v => v.id === val)
console.log('%csrc/views/crm/contact/ContactForm.vue:341 arr', 'color: #007acc;', arr,customerList.value);
if(arr.length) formData.value.registeredAddress = arr[0]['registeredAddress']
}

View File

@ -928,13 +928,13 @@ const onCustomerChange = async (customerId: string) => {
try {
formLoading.value = true;
let customerRes
if(formType.value) {
customerRes = await CustomerApi.getCustomer(customerId);
}else {
customerRes = await CustomerApi.getCustomerDetail(customerId);
formData.value.quotationId = customerRes.quotationId;
}
// if(formType.value) {
// customerRes = await CustomerApi.getCustomer(customerId);
// }else {
let customerRes = await CustomerApi.getCustomerDetail(customerId);
formData.value.quotationId = customerRes.quotationId;
// }
formData.value.companyType = customerRes.companyType;
formData.value.listingStatus = customerRes.listingStatus;
formData.value.financingInfo = customerRes.financingInfo;
@ -954,9 +954,9 @@ const onCustomerChange = async (customerId: string) => {
formData.value.registeredAddress = customerRes.registeredAddress;
formData.value.afterSaleUserId = customerRes.maintainer;
formData.value.clueDeveloper = customerRes.clueDeveloper;
formData.value.servicor = quotation.servicor;
formData.value.technicalLead = quotation.technicalLead;
formData.value.settlementLead = quotation.settlementLead;
formData.value.servicor = customerRes.servicor;
formData.value.technicalLead = customerRes.technicalLead;
formData.value.settlementLead = customerRes.settlementLead;
await handleQuotationChange(customerRes.quotationId);
} catch (err) {
@ -1018,9 +1018,14 @@ onMounted(async () => {
if (formType.value) await open(formType.value)
}
route.query.bizId ? formData.value.customerId = Number(route.query.bizId) : ''
if(route.query.bizId) {
if(formData.value.customerId) onCustomerChange(formData.value.customerId)
formData.value.customerId = Number(route.query.bizId)
onCustomerChange(formData.value.customerId)
}
// if(formData.value.customerId) onCustomerChange(formData.value.customerId)
//
customerList.value = await CustomerApi.getSelfCustomerSimpleList()
//

View File

@ -518,9 +518,10 @@
<el-col :span="8">
<el-form-item label="拓展人" prop="expanderUserId">
<el-select
class="w-1/1"
placeholder="请选择拓展人"
class="w-1/1"
placeholder="请选择拓展人"
v-model="formData.expanderUserId"
:disabled="formFields.expanderUserId !== 2 || isTrue"
filterable
>
<el-option
@ -537,8 +538,9 @@
<el-col :span="8">
<el-form-item label="服务对接人" prop="servicor">
<el-select
class="w-1/1"
placeholder="请选择服务对接人"
class="w-1/1"
:disabled="formFields.servicor !== 2 || isTrue"
placeholder="请选择服务对接人"
v-model="formData.servicor"
filterable
>
@ -556,8 +558,9 @@
<el-col :span="8">
<el-form-item label="技术对接人" prop="technicalLead">
<el-select
class="w-1/1"
placeholder="请选择技术对接人"
:disabled="formFields.technicalLead !== 2 || isTrue"
class="w-1/1"
placeholder="请选择技术对接人"
v-model="formData.technicalLead"
filterable
>
@ -575,7 +578,8 @@
<el-col :span="8">
<el-form-item label="结算对接人" prop="settlementLead">
<el-select
class="w-1/1"
class="w-1/1"
:disabled="formFields.settlementLead !== 2 || isTrue"
placeholder="请选择结算对接人"
v-model="formData.settlementLead"
filterable

View File

@ -113,7 +113,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="当事人用户ID" prop="relatedPerson">
<el-form-item label="当事人" prop="relatedPerson">
<el-select
v-model="formData.relatedPerson"
class="w-1/1"
@ -144,13 +144,13 @@
<el-col :span="24">
<el-form-item label="反馈主体" prop="feedbackCompanyEntity">
<el-input type="textarea" :rows="5" v-model="formData.feedbackCompanyEntity" placeholder="请输入反馈主体" />
<el-input maxlength="15" v-model="formData.feedbackCompanyEntity" placeholder="请输入反馈主体" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="反馈内容" prop="feedbackContent">
<el-input type="textarea" :rows="5" v-model="formData.feedbackContent" placeholder="请输入反馈主体" />
<el-input type="textarea" :rows="5" maxlength="300" v-model="formData.feedbackContent" placeholder="请输入反馈主体" />
</el-form-item>
</el-col>
@ -210,15 +210,25 @@ const formData = ref({
attachment: undefined,
})
const formRules = reactive({
customerId: [{ required: true, message: '客户ID不能为空', trigger: 'blur' }],
contactId: [{ required: true, message: '反馈联系人ID不能为空', trigger: 'blur' }],
mobile: [{ required: true, message: '联系电话不能为空', trigger: 'blur' }],
customerId: [{ required: true, message: '客户不能为空', trigger: 'blur' }],
contactId: [{ required: true, message: '反馈联系人不能为空', trigger: 'blur' }],
mobile: [{ required: true, message: '联系电话不能为空', trigger: 'blur' },
{pattern: /^(1[3-9][0-9]|14[5|7]|15[0|1|2|3|4|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$/, message: '请输入正确联系电话'}
],
feedbackType: [{ required: true, message: '反馈类型不能为空', trigger: 'change' }],
feedbackLevel: [{ required: true, message: '反馈级别不能为空', trigger: 'blur' }],
urgencyLevel: [{ required: true, message: '紧急程度不能为空', trigger: 'blur' }],
feedbackTime: [{ required: true, message: '反馈时间不能为空', trigger: 'blur' }],
feedbackCompanyEntity: [{ required: true, message: '反馈主体不能为空', trigger: 'blur' }],
feedbackContent: [{ required: true, message: '反馈内容不能为空', trigger: 'blur' }],
deptId: [{ required: true, message: '所属部门不能为空', trigger: 'blur' }],
email: [{ required: false, message: '电子邮箱不能为空', trigger: 'blur' } ,
{
pattern:
/^(([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5}){1,25})$/,
message: "请输入正确的电子邮箱",
}
]
})
const formRef = ref() // Ref