feat: CRM 客户限制

This commit is contained in:
Wanwan 2023-11-11 21:06:11 +08:00
parent 6369b334e3
commit a7f86dfd8b
4 changed files with 100 additions and 82 deletions

View File

@ -1,82 +1,86 @@
<template> <template>
<el-collapse v-model="activeNames"> <ContentWrap>
<el-collapse-item name="basicInfo"> <el-collapse class="" v-model="activeNames">
<template #title> <el-collapse-item name="basicInfo">
<span class="text-base font-bold">基本信息</span> <template #title>
</template> <span class="text-base font-bold">基本信息</span>
<el-descriptions :column="4"> </template>
<el-descriptions-item label="客户名称"> <el-descriptions :column="4">
{{ customer.name }} <el-descriptions-item label="客户名称">
</el-descriptions-item> {{ customer.name }}
<el-descriptions-item label="所属行业"> </el-descriptions-item>
<dict-tag :type="DICT_TYPE.CRM_CUSTOMER_INDUSTRY" :value="customer.industryId" /> <el-descriptions-item label="所属行业">
</el-descriptions-item> <dict-tag :type="DICT_TYPE.CRM_CUSTOMER_INDUSTRY" :value="customer.industryId" />
<el-descriptions-item label="客户来源"> </el-descriptions-item>
<dict-tag :type="DICT_TYPE.CRM_CUSTOMER_SOURCE" :value="customer.source" /> <el-descriptions-item label="客户来源">
</el-descriptions-item> <dict-tag :type="DICT_TYPE.CRM_CUSTOMER_SOURCE" :value="customer.source" />
<el-descriptions-item label="客户等级"> </el-descriptions-item>
<dict-tag :type="DICT_TYPE.CRM_CUSTOMER_LEVEL" :value="customer.level" /> <el-descriptions-item label="客户等级">
</el-descriptions-item> <dict-tag :type="DICT_TYPE.CRM_CUSTOMER_LEVEL" :value="customer.level" />
<el-descriptions-item label="手机"> </el-descriptions-item>
{{ customer.mobile }} <el-descriptions-item label="手机">
</el-descriptions-item> {{ customer.mobile }}
<el-descriptions-item label="电话"> </el-descriptions-item>
{{ customer.telephone }} <el-descriptions-item label="电话">
</el-descriptions-item> {{ customer.telephone }}
<el-descriptions-item label="邮箱"> </el-descriptions-item>
{{ customer.email }} <el-descriptions-item label="邮箱">
</el-descriptions-item> {{ customer.email }}
<el-descriptions-item label="QQ"> </el-descriptions-item>
{{ customer.qq }} <el-descriptions-item label="QQ">
</el-descriptions-item> {{ customer.qq }}
<el-descriptions-item label="微信"> </el-descriptions-item>
{{ customer.wechat }} <el-descriptions-item label="微信">
</el-descriptions-item> {{ customer.wechat }}
<el-descriptions-item label="网址"> </el-descriptions-item>
{{ customer.website }} <el-descriptions-item label="网址">
</el-descriptions-item> {{ customer.website }}
<el-descriptions-item label="所在地"> </el-descriptions-item>
{{ customer.areaName }} <el-descriptions-item label="所在地">
</el-descriptions-item> {{ customer.areaName }}
<el-descriptions-item label="详细地址"> </el-descriptions-item>
{{ customer.detailAddress }} <el-descriptions-item label="详细地址">
</el-descriptions-item> {{ customer.detailAddress }}
<el-descriptions-item label="下次联系时间"> </el-descriptions-item>
{{ customer.contactNextTime ? formatDate(customer.contactNextTime, 'YYYY-MM-DD') : '空' }} <el-descriptions-item label="下次联系时间">
</el-descriptions-item> {{
<el-descriptions-item label="最后跟进时间"> customer.contactNextTime ? formatDate(customer.contactNextTime, 'YYYY-MM-DD') : '空'
{{ customer.contactLastTime ? formatDate(customer.contactLastTime) : '空' }} }}
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> <el-descriptions-item label="最后跟进时间">
<el-descriptions :column="1"> {{ customer.contactLastTime ? formatDate(customer.contactLastTime) : '空' }}
<el-descriptions-item label="客户描述"> </el-descriptions-item>
{{ customer.description }} </el-descriptions>
</el-descriptions-item> <el-descriptions :column="1">
<el-descriptions-item label="备注"> <el-descriptions-item label="客户描述">
{{ customer.remark }} {{ customer.description }}
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> <el-descriptions-item label="备注">
</el-collapse-item> {{ customer.remark }}
<el-collapse-item name="systemInfo"> </el-descriptions-item>
<template #title> </el-descriptions>
<span class="text-base font-bold">系统信息</span> </el-collapse-item>
</template> <el-collapse-item name="systemInfo">
<el-descriptions :column="2"> <template #title>
<el-descriptions-item label="负责人"> <span class="text-base font-bold">系统信息</span>
{{ customer.ownerUserName }} </template>
</el-descriptions-item> <el-descriptions :column="2">
<el-descriptions-item label="创建人"> <el-descriptions-item label="负责人">
{{ customer.creatorName }} {{ customer.ownerUserName }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="创建时间"> <el-descriptions-item label="创建人">
{{ customer.createTime ? formatDate(customer.createTime) : '空' }} {{ customer.creatorName }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="更新时间"> <el-descriptions-item label="创建时间">
{{ customer.updateTime ? formatDate(customer.updateTime) : '空' }} {{ customer.createTime ? formatDate(customer.createTime) : '空' }}
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> <el-descriptions-item label="更新时间">
</el-collapse-item> {{ customer.updateTime ? formatDate(customer.updateTime) : '空' }}
</el-collapse> </el-descriptions-item>
</el-descriptions>
</el-collapse-item>
</el-collapse>
</ContentWrap>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import * as CustomerApi from '@/api/crm/customer' import * as CustomerApi from '@/api/crm/customer'

View File

@ -66,8 +66,7 @@
<el-col> <el-col>
<el-tabs> <el-tabs>
<el-tab-pane label="详细资料"> <el-tab-pane label="详细资料">
<!-- TODO wanwan这个 ml-2 是不是可以优化下不要整个左移而是里面的内容有个几 px 的偏移不顶在框里 --> <CustomerDetails :customer="customer" />
<CustomerDetails class="ml-2" :customer="customer" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="活动" lazy> 活动</el-tab-pane> <el-tab-pane label="活动" lazy> 活动</el-tab-pane>
<el-tab-pane label="邮件" lazy> 邮件</el-tab-pane> <el-tab-pane label="邮件" lazy> 邮件</el-tab-pane>

View File

@ -1,4 +1,7 @@
<template> <template>
<el-button type="primary" plain @click="handleQuery">
<Icon icon="ep:refresh" class="mr-5px" /> 刷新
</el-button>
<el-button <el-button
type="primary" type="primary"
plain plain
@ -7,7 +10,13 @@
> >
<Icon icon="ep:plus" class="mr-5px" /> 新增 <Icon icon="ep:plus" class="mr-5px" /> 新增
</el-button> </el-button>
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true"> <el-table
v-loading="loading"
:data="list"
:stripe="true"
:show-overflow-tooltip="true"
class="mt-4"
>
<el-table-column label="编号" align="center" prop="id" /> <el-table-column label="编号" align="center" prop="id" />
<el-table-column label="规则类型" align="center" prop="type" /> <el-table-column label="规则类型" align="center" prop="type" />
<el-table-column label="规则适用人群" align="center" prop="userNames" /> <el-table-column label="规则适用人群" align="center" prop="userNames" />
@ -122,6 +131,12 @@ const handleDelete = async (id: number) => {
const { confType } = defineProps<{ confType: LimitConfType }>() const { confType } = defineProps<{ confType: LimitConfType }>()
/** 搜索按钮操作 */
const handleQuery = () => {
queryParams.pageNo = 1
getList()
}
/** 初始化 **/ /** 初始化 **/
onMounted(() => { onMounted(() => {
getList() getList()

View File

@ -1,7 +1,7 @@
<template> <template>
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
<el-tabs tab-position="left" style="height: 200px"> <el-tabs tab-position="left">
<el-tab-pane label="拥有客户数限制"> <el-tab-pane label="拥有客户数限制">
<CustomerQuantityLimit :confType="LimitConfType.CUSTOMER_QUANTITY_LIMIT" /> <CustomerQuantityLimit :confType="LimitConfType.CUSTOMER_QUANTITY_LIMIT" />
</el-tab-pane> </el-tab-pane>