Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
phsl
/
admin
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
a7f86dfd
authored
Nov 11, 2023
by
Wanwan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: CRM 客户限制
parent
6369b334
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
100 additions
and
82 deletions
+100
-82
src/views/crm/customer/detail/CustomerDetails.vue
+82
-78
src/views/crm/customer/detail/index.vue
+1
-2
src/views/crm/customerLimitConfig/CustomerQuantityLimit.vue
+16
-1
src/views/crm/customerLimitConfig/index.vue
+1
-1
No files found.
src/views/crm/customer/detail/CustomerDetails.vue
View file @
a7f86dfd
<
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'
...
...
src/views/crm/customer/detail/index.vue
View file @
a7f86dfd
...
@@ -66,8 +66,7 @@
...
@@ -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>
...
...
src/views/crm/customerLimitConfig/CustomerQuantityLimit.vue
View file @
a7f86dfd
<
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 @@
...
@@ -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) => {
...
@@ -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
()
...
...
src/views/crm/customerLimitConfig/index.vue
View file @
a7f86dfd
<
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>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment