功能更新
This commit is contained in:
parent
3c39ed1223
commit
6722e55f54
@ -1,16 +1,16 @@
|
||||
<template>
|
||||
<div>
|
||||
<!-- <el-card class="!border-none" shadow="never">
|
||||
<el-card class="!border-none" shadow="never">
|
||||
<el-form class="mb-[-16px]" :model="queryParams" inline>
|
||||
<el-form-item label="客户名称" prop="name">
|
||||
<el-input class="w-[280px]" v-model="queryParams.name" clearable placeholder="请输入客户名称" />
|
||||
<el-form-item label="客户名称" prop="custom_name">
|
||||
<el-input class="w-[280px]" v-model="queryParams.custom_name" clearable placeholder="请输入客户名称" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="resetPage">查询</el-button>
|
||||
<el-button @click="resetParams">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-card> -->
|
||||
</el-card>
|
||||
<el-card class="!border-none" v-loading="pager.loading" shadow="never">
|
||||
<div class="mt-4">
|
||||
<el-table :data="pager.lists" @cell-click="handleCurrentChange">
|
||||
@ -45,7 +45,7 @@ import { defineEmits } from "vue"
|
||||
|
||||
// 查询条件
|
||||
const queryParams = reactive({
|
||||
name: ''
|
||||
custom_name: ''
|
||||
});
|
||||
|
||||
// 获取字典数据
|
||||
|
@ -2,8 +2,8 @@
|
||||
<div>
|
||||
<el-card class="!border-none" shadow="never">
|
||||
<el-form class="mb-[-16px]" :model="queryParams" inline>
|
||||
<el-form-item label="客户名称" prop="name">
|
||||
<el-input class="w-[280px]" v-model="queryParams.name" clearable placeholder="请输入客户名称" />
|
||||
<el-form-item label="客户名称" prop="custom_name">
|
||||
<el-input class="w-[280px]" v-model="queryParams.custom_name" clearable placeholder="请输入客户名称" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="resetPage">查询</el-button>
|
||||
@ -49,7 +49,7 @@ import { defineEmits } from "vue"
|
||||
|
||||
// 查询条件
|
||||
const queryParams = reactive({
|
||||
name: ''
|
||||
custom_name: ''
|
||||
});
|
||||
|
||||
// 获取字典数据
|
||||
|
@ -2,8 +2,8 @@
|
||||
<div>
|
||||
<el-card class="!border-none" shadow="never">
|
||||
<el-form class="mb-[-16px]" :model="queryParams" inline>
|
||||
<el-form-item label="查询" prop="name">
|
||||
<el-input class="w-[280px]" v-model="queryParams.contract_no" clearable placeholder="请输入内容" />
|
||||
<el-form-item label="项目名称" prop="project_name">
|
||||
<el-input class="w-[280px]" v-model="queryParams.project_name" clearable placeholder="请输入项目名称" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="resetPage">查询</el-button>
|
||||
@ -50,11 +50,11 @@ import { timeFormat } from '@/utils/util'
|
||||
|
||||
// 查询条件
|
||||
const queryParams = reactive({
|
||||
status: 1,
|
||||
project_name: '',
|
||||
});
|
||||
|
||||
// 获取字典数据
|
||||
const { dictData } = useDictData('tax_rate,pay_type,whether_status')
|
||||
const { dictData } = useDictData('')
|
||||
// 选中数据
|
||||
const emits = defineEmits(["customEvent"]);
|
||||
|
||||
|
@ -4,17 +4,17 @@
|
||||
<template>
|
||||
<div class="detail-popup">
|
||||
<popup ref="popupRef" title="客户联系人详情" :async="true" width="40%" @confirm="handleSubmit" @close="handleClose">
|
||||
<el-descriptions :column="1" label-class-name="my-label" class-name="my-content" border>
|
||||
<el-descriptions-item label="客户名称" label-align="left" align="left">{{ formData.custom_name }}</el-descriptions-item>
|
||||
<el-descriptions-item label="姓名" label-align="left" align="left"> {{ formData.name }}</el-descriptions-item>
|
||||
<el-descriptions-item label="职位" label-align="left" align="left"> {{ formData.position }}</el-descriptions-item>
|
||||
<el-descriptions-item label="手机" label-align="left" align="left">
|
||||
<el-descriptions :column="1" border>
|
||||
<el-descriptions-item label="客户名称" label-align="left" align="left" label-class-name="my-label">{{ formData.custom_name }}</el-descriptions-item>
|
||||
<el-descriptions-item label="姓名" label-align="left" align="left" label-class-name="my-label"> {{ formData.name }}</el-descriptions-item>
|
||||
<el-descriptions-item label="职位" label-align="left" align="left" label-class-name="my-label"> {{ formData.position }}</el-descriptions-item>
|
||||
<el-descriptions-item label="手机" label-align="left" align="left" label-class-name="my-label">
|
||||
{{ formData.phone }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="电话" label-align="left" align="left"> {{ formData.telephone }}</el-descriptions-item>
|
||||
<el-descriptions-item label="邮箱" label-align="left" align="left"> {{ formData.email }}</el-descriptions-item>
|
||||
<el-descriptions-item label="备注" label-align="left" align="left"> {{ formData.notes }}</el-descriptions-item>
|
||||
<el-descriptions-item label="附件" label-align="left" align="left">
|
||||
<el-descriptions-item label="电话" label-align="left" align="left" label-class-name="my-label"> {{ formData.telephone }}</el-descriptions-item>
|
||||
<el-descriptions-item label="邮箱" label-align="left" align="left" label-class-name="my-label"> {{ formData.email }}</el-descriptions-item>
|
||||
<el-descriptions-item label="备注" label-align="left" align="left" label-class-name="my-label"> {{ formData.notes }}</el-descriptions-item>
|
||||
<el-descriptions-item label="附件" label-align="left" align="left" label-class-name="my-label">
|
||||
<div v-if="formData.annex && formData.annex.length > 0">
|
||||
<div v-for="(item, index) in formData.annex" style="margin-left: 5px;display: block;">
|
||||
<a style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item.uri" target="_blank">文件{{ index + 1 }} 查看</a>
|
||||
@ -24,70 +24,14 @@
|
||||
暂无文件
|
||||
</div>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="添加人" label-align="left" align="left"></el-descriptions-item>
|
||||
<el-descriptions-item label="添加人" label-align="left" align="left" label-class-name="my-label"></el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="创建日期" label-align="left" align="left"></el-descriptions-item>
|
||||
<el-descriptions-item label="更新人" label-align="left" align="left"></el-descriptions-item>
|
||||
<el-descriptions-item label="更新日期" label-align="left" align="left"></el-descriptions-item>
|
||||
<el-descriptions-item label="创建日期" label-align="left" align="left" label-class-name="my-label"></el-descriptions-item>
|
||||
<el-descriptions-item label="更新人" label-align="left" align="left" label-class-name="my-label"></el-descriptions-item>
|
||||
<el-descriptions-item label="更新日期" label-align="left" align="left" label-class-name="my-label"></el-descriptions-item>
|
||||
|
||||
</el-descriptions>
|
||||
|
||||
<!-- <el-form ref="formRef" :model="formData" label-width="90px">
|
||||
<el-card class="mb-2">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="客户名称" prop="custom_name">
|
||||
|
||||
{{ formData.custom_name }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="姓名" prop="name">
|
||||
{{ formData.name }}
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="职位" prop="position">
|
||||
{{ formData.position }}
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="手机" prop="phone">
|
||||
{{ formData.phone }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="电话">
|
||||
{{ formData.telephone }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="邮箱" prop="email">
|
||||
{{ formData.email }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="备注" prop="notes">
|
||||
{{ formData.notes }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="附件" prop="notes">
|
||||
<div v-if="formData.annex && formData.annex.length > 0">
|
||||
<div v-for="(item, index) in formData.annex" style="margin-left: 5px;display: block;">
|
||||
<a style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item.uri" target="_blank">文件{{ index + 1 }} 查看</a>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
暂无文件
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-card>
|
||||
</el-form> -->
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
@ -177,18 +121,12 @@ defineExpose({
|
||||
})
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
:deep(.my-label) {
|
||||
width: 10px !important;
|
||||
background: red !important;
|
||||
}
|
||||
|
||||
:deep(.my-content) {
|
||||
width: 120px !important;
|
||||
background: rgb(55, 0, 255) !important;
|
||||
}
|
||||
|
||||
.tit {
|
||||
font-size: 1.2em;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
:deep(.my-label) {
|
||||
width: 150px;
|
||||
}
|
||||
</style>
|
||||
|
@ -2,69 +2,32 @@
|
||||
<template>
|
||||
<div class="detail-popup">
|
||||
<popup ref="popupRef" title="客户跟进记录详情" :async="true" width="80%" @confirm="handleSubmit" @close="handleClose">
|
||||
<el-form ref="formRef" :model="formData" label-width="120px">
|
||||
<el-card class="mb-2">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="主题">
|
||||
|
||||
{{ formData.name }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="客户名称" prop="notes">
|
||||
{{ formData.custom_name
|
||||
}}
|
||||
</el-form-item>
|
||||
<el-descriptions :column="2" border>
|
||||
<el-descriptions-item label="主题" label-align="left" align="left" label-class-name="my-label">{{ formData.name }}</el-descriptions-item>
|
||||
<el-descriptions-item label="客户名称" label-align="left" align="left" label-class-name="my-label"> {{ formData.custom_name }}</el-descriptions-item>
|
||||
<el-descriptions-item label="联系人" label-align="left" align="left" label-class-name="my-label"> {{ formData.contacts }}</el-descriptions-item>
|
||||
<el-descriptions-item label="日期" label-align="left" align="left" label-class-name="my-label">
|
||||
{{ formData.date }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="类型" label-align="left" align="left" label-class-name="my-label"> <dict-value :options="dictData.follow_type" :value="formData.types" /></el-descriptions-item>
|
||||
<el-descriptions-item label="执行人" label-align="left" align="left" label-class-name="my-label"> {{ formData.executor }}</el-descriptions-item>
|
||||
<el-descriptions-item label="行动描述" label-align="left" align="left" label-class-name="my-label"> {{ formData.description }}</el-descriptions-item>
|
||||
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="联系人">
|
||||
{{ formData.contacts }}
|
||||
<el-descriptions-item label="下次回访日期" label-align="left" align="left" label-class-name="my-label"> {{ formData.next_follow_date }}</el-descriptions-item>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="日期">
|
||||
{{ formData.date }}
|
||||
<el-descriptions-item label="附件" label-align="left" align="left" label-class-name="my-label">
|
||||
<div v-if="formData.annex && formData.annex.length > 0">
|
||||
<div v-for="(item, index) in formData.annex" style="margin-left: 5px;display: block;">
|
||||
<a style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item.uri" target="_blank">文件{{ index + 1 }} 查看</a>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
暂无文件
|
||||
</div>
|
||||
</el-descriptions-item>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="类型">
|
||||
<dict-value :options="dictData.follow_type" :value="formData.types" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="执行人">
|
||||
{{ formData.executor }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="行动描述" prop="email">
|
||||
{{ formData.description }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="位置" prop="notes">
|
||||
{{ formData.coordinate }}
|
||||
</el-form-item>
|
||||
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form-item label="下次回访日期" prop="notes">
|
||||
{{ formData.next_follow_date }}
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="下次回访日期" prop="notes">
|
||||
<material-picker v-model="formData.annex" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-card>
|
||||
</el-form>
|
||||
</el-descriptions>
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
@ -155,9 +118,13 @@ defineExpose({
|
||||
getDetail
|
||||
})
|
||||
</script>
|
||||
<style lang="scss">
|
||||
<style lang="scss" scoped>
|
||||
.tit {
|
||||
font-size: 1.2em;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
:deep(.my-label) {
|
||||
width: 150px;
|
||||
}
|
||||
</style>
|
||||
|
@ -2,7 +2,50 @@
|
||||
<template>
|
||||
<div class="detail-popup">
|
||||
<popup ref="popupRef" title="售后工单详情" :async="true" width="80%" @confirm="handleSubmit" @close="handleClose">
|
||||
<el-form ref="formRef" :model="formData" label-width="auto">
|
||||
<el-descriptions :column="2" title="基本信息" border>
|
||||
<el-descriptions-item label="项目名称" label-align="left" align="left" label-class-name="my-label">{{ formData.project_name }}</el-descriptions-item>
|
||||
<el-descriptions-item label="项目编码" label-align="left" align="left" label-class-name="my-label"> {{ formData.project_code }}</el-descriptions-item>
|
||||
<el-descriptions-item label="客户名称" label-align="left" align="left" label-class-name="my-label"> {{ formData.custom_name }}</el-descriptions-item>
|
||||
<el-descriptions-item label="合同号" label-align="left" align="left" label-class-name="my-label">
|
||||
{{ formData.contract_code }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="联系人" label-align="left" align="left" label-class-name="my-label"> {{ formData.custom_master_name }}</el-descriptions-item>
|
||||
<el-descriptions-item label="联系电话" label-align="left" align="left" label-class-name="my-label"> {{ formData.custom_master_phone }}</el-descriptions-item>
|
||||
<el-descriptions-item label="日期" label-align="left" align="left" label-class-name="my-label"> {{ formData.date }}</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="分类" label-align="left" align="left" label-class-name="my-label"> {{ formData.classification_text }}</el-descriptions-item>
|
||||
<el-descriptions-item label="紧急程度" label-align="left" align="left" label-class-name="my-label"> {{ formData.urgency_text }}</el-descriptions-item>
|
||||
<el-descriptions-item label="处理结果" label-align="left" align="left" label-class-name="my-label"> {{ formData.processing_result_text }}</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="接待人" label-align="left" align="left" label-class-name="my-label"> {{ formData.receiver }}</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="指定处理人" label-align="left" align="left" label-class-name="my-label"> {{ formData.processed_user_name }}</el-descriptions-item>
|
||||
<el-descriptions-item label="花费工时" label-align="left" align="left" label-class-name="my-label"> {{ formData.processing_hour }}</el-descriptions-item>
|
||||
<el-descriptions-item label="完成日期" label-align="left" align="left" label-class-name="my-label"> {{ formData.done_date }}</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="投诉主题" label-align="left" align="left" label-class-name="my-label"> {{ formData.name }}</el-descriptions-item>
|
||||
<el-descriptions-item label="问题描述" label-align="left" align="left" label-class-name="my-label"> {{ formData.description }}</el-descriptions-item>
|
||||
<el-descriptions-item label="处理过程" label-align="left" align="left" label-class-name="my-label"> {{ formData.processing_process }}</el-descriptions-item>
|
||||
<!-- <el-descriptions-item label="回访确认" label-align="left" align="left" label-class-name="my-label"> {{ formData.notes }}</el-descriptions-item> -->
|
||||
|
||||
<el-descriptions-item label="备注" label-align="left" align="left" label-class-name="my-label"> {{ formData.notes }}</el-descriptions-item>
|
||||
|
||||
|
||||
<el-descriptions-item label="附件" label-align="left" align="left" label-class-name="my-label">
|
||||
<div v-if="formData.annex && formData.annex.length > 0">
|
||||
<div v-for="(item, index) in formData.annex" style="margin-left: 5px;display: block;">
|
||||
<a style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item.uri" target="_blank">文件{{ index + 1 }} 查看</a>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
暂无文件
|
||||
</div>
|
||||
</el-descriptions-item>
|
||||
|
||||
|
||||
</el-descriptions>
|
||||
|
||||
<!-- <el-form ref="formRef" :model="formData" label-width="auto">
|
||||
<el-card class="mb-2">
|
||||
<el-row>
|
||||
<el-col :span="8">
|
||||
@ -152,7 +195,7 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-card>
|
||||
</el-form>
|
||||
</el-form> -->
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
@ -233,9 +276,13 @@ defineExpose({
|
||||
getDetail
|
||||
})
|
||||
</script>
|
||||
<style lang="scss">
|
||||
<style lang="scss" scoped>
|
||||
.tit {
|
||||
font-size: 1.2em;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
:deep(.my-label) {
|
||||
width: 150px;
|
||||
}
|
||||
</style>
|
||||
|
@ -280,6 +280,7 @@ const userone = (e: any) => {
|
||||
}
|
||||
dialogVisible.value = true
|
||||
}
|
||||
|
||||
//获取选择的数据
|
||||
const userclick = () => {
|
||||
if (radiolist.value.length > 0) {
|
||||
@ -287,27 +288,45 @@ const userclick = () => {
|
||||
// 如果 leixin 的值为 1,则执行这里的代码块
|
||||
formData.technician_ids = radiolist.value.map((item) => item.id).toString()
|
||||
const newArray = radiolist.value.map((item) => item)
|
||||
if (!technician.value.some(elem => newArray.some(newElem => JSON.stringify(elem) === JSON.stringify(newElem)))) {
|
||||
// 如果不存在,则将 newElem 添加到 cont 数组中
|
||||
technician.value.push(...newArray);
|
||||
}
|
||||
|
||||
// if (!technician.value.some(elem => newArray.some(newElem => elem === newElem.id))) {
|
||||
// // 如果不存在,则将 newElem 添加到 cont 数组中
|
||||
// technician.value.push(...newArray);
|
||||
// }
|
||||
newArray.forEach(newElem => {
|
||||
if (!technician.value.some(elem => elem.id === newElem.id)) {
|
||||
// 如果不存在,则将 newElem 添加到 newArray1 数组中
|
||||
technician.value.push(newElem);
|
||||
}
|
||||
});
|
||||
} else if (leixin.value === '2') {
|
||||
// 如果 leixin 的值为 2,则执行这里的代码块
|
||||
formData.business_people_ids = radiolist.value.map((item) => item.id).toString()
|
||||
const newArray = radiolist.value.map((item) => item)
|
||||
if (!business_people.value.some(elem => newArray.some(newElem => JSON.stringify(elem) === JSON.stringify(newElem)))) {
|
||||
// 如果不存在,则将 newElem 添加到 cont 数组中
|
||||
business_people.value.push(...newArray);
|
||||
}
|
||||
newArray.forEach(newElem => {
|
||||
if (!business_people.value.some(elem => elem.id === newElem.id)) {
|
||||
// 如果不存在,则将 newElem 添加到 newArray1 数组中
|
||||
business_people.value.push(newElem);
|
||||
}
|
||||
});
|
||||
// if (!business_people.value.some(elem => newArray.some(newElem => JSON.stringify(elem.id) === JSON.stringify(newElem.id)))) {
|
||||
// // 如果不存在,则将 newElem 添加到 cont 数组中
|
||||
// business_people.value.push(...newArray);
|
||||
// }
|
||||
} else {
|
||||
// 如果 leixin 的值不是 1 或 2,则执行这里的代码块
|
||||
formData.cross_departmental_personnel_ids = radiolist.value.map((item) => item.id).toString()
|
||||
const newArray = radiolist.value.map((item) => item)
|
||||
|
||||
if (!cross_departmental_personnel.value.some(elem => newArray.some(newElem => JSON.stringify(elem) === JSON.stringify(newElem)))) {
|
||||
// 如果不存在,则将 newElem 添加到 cont 数组中
|
||||
cross_departmental_personnel.value.push(...newArray);
|
||||
}
|
||||
newArray.forEach(newElem => {
|
||||
if (!cross_departmental_personnel.value.some(elem => elem.id === newElem.id)) {
|
||||
// 如果不存在,则将 newElem 添加到 newArray1 数组中
|
||||
cross_departmental_personnel.value.push(newElem);
|
||||
}
|
||||
});
|
||||
// if (!cross_departmental_personnel.value.some(elem => newArray.some(newElem => JSON.stringify(elem.id) === JSON.stringify(newElem.id)))) {
|
||||
// // 如果不存在,则将 newElem 添加到 cont 数组中
|
||||
// cross_departmental_personnel.value.push(...newArray);
|
||||
// }
|
||||
}
|
||||
|
||||
dialogVisible.value = false
|
||||
|
Loading…
x
Reference in New Issue
Block a user