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
094b1925
authored
Feb 20, 2024
by
YunaiV
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
✨
CRM:完善联系人的列表
parent
a401fff7
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
31 additions
and
107 deletions
+31
-107
src/views/crm/contact/OwerSelect.vue
+0
-72
src/views/crm/contact/index.vue
+21
-13
src/views/crm/customer/pool/index.vue
+10
-22
No files found.
src/views/crm/contact/OwerSelect.vue
deleted
100644 → 0
View file @
a401fff7
<
template
>
<Dialog
:title=
"dialogTitle"
v-model=
"dialogVisible"
width=
"600px"
>
<el-transfer
v-model=
"value"
:data=
"data"
:titles=
"transferTitles"
:props=
"transferDataProp"
:right-default-checked=
"[1]"
/>
<el-row
justify=
"end"
>
<el-col
:span=
"4"
>
<el-button
type=
"primary"
@
click=
"confirmOwerSelect"
>
确认
</el-button>
</el-col>
<el-col
:span=
"4"
>
<el-button
type=
"primary"
@
click=
"confirmOwerSelect"
>
取消
</el-button>
</el-col>
</el-row>
</Dialog>
</
template
>
<
script
setup
lang=
"ts"
>
// TODO 芋艿:统一选择框。
import
*
as
UserApi
from
'@/api/system/user'
import
{
parseBigInt
}
from
'jsencrypt/lib/lib/jsbn/jsbn'
const
dialogVisible
=
ref
(
false
)
// 弹窗的是否展示
const
dialogTitle
=
ref
(
'选择'
)
// 弹窗的标题
const
formLoading
=
ref
(
false
)
// 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
const
formType
=
ref
(
''
)
const
transferTitles
=
ref
([
'待选择'
,
'已选择'
])
const
transferDataProp
=
ref
({
key
:
'id'
,
label
:
'nickname'
})
const
emit
=
defineEmits
([
'confirmOwerSelect'
])
const
data
=
ref
<
UserApi
.
UserVO
[]
>
([])
const
value
=
ref
<
any
[]
>
([])
const
rightDefaultChecked
=
ref
<
any
[]
>
([])
/** 打开弹窗 */
const
open
=
async
(
type
:
string
,
ownerUserList
:
any
[])
=>
{
dialogVisible
.
value
=
true
formType
.
value
=
type
// 修改时,设置数据
if
(
ownerUserList
)
{
formLoading
.
value
=
true
try
{
ownerUserList
.
forEach
((
item
)
=>
{
value
.
value
.
push
(
item
.
id
)
})
}
finally
{
formLoading
.
value
=
false
}
}
rightDefaultChecked
.
value
=
[]
data
.
value
=
await
UserApi
.
getSimpleUserList
()
}
defineExpose
({
open
})
// 提供 open 方法,用于打开弹窗
const
confirmOwerSelect
=
()
=>
{
const
returnData
=
ref
<
any
[]
>
([])
data
.
value
.
forEach
((
item
)
=>
{
if
(
value
.
value
.
indexOf
(
item
.
id
)
>
-
1
)
{
returnData
.
value
.
push
(
item
)
}
})
emit
(
'confirmOwerSelect'
,
returnData
)
dialogVisible
.
value
=
false
value
.
value
=
[]
}
</
script
>
<
style
>
.el-row
{
margin-top
:
20px
;
}
</
style
>
src/views/crm/contact/index.vue
View file @
094b1925
...
@@ -110,7 +110,7 @@
...
@@ -110,7 +110,7 @@
<!-- 列表 -->
<!-- 列表 -->
<ContentWrap>
<ContentWrap>
<el-table
v-loading=
"loading"
:data=
"list"
:show-overflow-tooltip=
"true"
:stripe=
"true"
>
<el-table
v-loading=
"loading"
:data=
"list"
:show-overflow-tooltip=
"true"
:stripe=
"true"
>
<el-table-column
align=
"center"
fixed=
"left"
label=
"
姓名"
prop=
"name"
width=
"14
0"
>
<el-table-column
align=
"center"
fixed=
"left"
label=
"
联系人姓名"
prop=
"name"
width=
"16
0"
>
<template
#
default=
"scope"
>
<template
#
default=
"scope"
>
<el-link
:underline=
"false"
type=
"primary"
@
click=
"openDetail(scope.row.id)"
>
<el-link
:underline=
"false"
type=
"primary"
@
click=
"openDetail(scope.row.id)"
>
{{
scope
.
row
.
name
}}
{{
scope
.
row
.
name
}}
...
@@ -129,10 +129,23 @@
...
@@ -129,10 +129,23 @@
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
align=
"center"
label=
"手机"
prop=
"mobile"
width=
"120"
/>
<el-table-column
align=
"center"
label=
"手机"
prop=
"mobile"
width=
"120"
/>
<el-table-column
align=
"center"
label=
"电话"
prop=
"telephone"
width=
"1
2
0"
/>
<el-table-column
align=
"center"
label=
"电话"
prop=
"telephone"
width=
"1
3
0"
/>
<el-table-column
align=
"center"
label=
"邮箱"
prop=
"email"
width=
"1
2
0"
/>
<el-table-column
align=
"center"
label=
"邮箱"
prop=
"email"
width=
"1
8
0"
/>
<el-table-column
align=
"center"
label=
"职位"
prop=
"post"
width=
"120"
/>
<el-table-column
align=
"center"
label=
"职位"
prop=
"post"
width=
"120"
/>
<el-table-column
align=
"center"
label=
"地址"
prop=
"detailAddress"
width=
"120"
/>
<el-table-column
align=
"center"
label=
"地址"
prop=
"detailAddress"
width=
"120"
/>
<el-table-column
align=
"center"
label=
"关键决策人"
prop=
"master"
width=
"100"
>
<
template
#
default=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
:value=
"scope.row.master"
/>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"直属上级"
prop=
"parentName"
width=
"160"
>
<
template
#
default=
"scope"
>
<el-link
:underline=
"false"
type=
"primary"
@
click=
"openDetail(scope.row.parentId)"
>
{{
scope
.
row
.
parentName
}}
</el-link>
</
template
>
</el-table-column>
<el-table-column
label=
"地址"
align=
"center"
prop=
"detailAddress"
width=
"180"
/>
<el-table-column
<el-table-column
:formatter=
"dateFormatter"
:formatter=
"dateFormatter"
align=
"center"
align=
"center"
...
@@ -140,13 +153,12 @@
...
@@ -140,13 +153,12 @@
prop=
"contactNextTime"
prop=
"contactNextTime"
width=
"180px"
width=
"180px"
/>
/>
<el-table-column
align=
"center"
label=
"备注"
prop=
"remark"
/>
<el-table-column
align=
"center"
label=
"性别"
prop=
"sex"
>
<el-table-column
align=
"center"
label=
"关键决策人"
prop=
"master"
width=
"100"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.
INFRA_BOOLEAN_STRING"
:value=
"scope.row.master
"
/>
<dict-tag
:type=
"DICT_TYPE.
SYSTEM_USER_SEX"
:value=
"scope.row.sex
"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
align=
"center"
label=
"
直属上级"
prop=
"parentName"
width=
"140
"
/>
<el-table-column
align=
"center"
label=
"
备注"
prop=
"remark
"
/>
<el-table-column
<el-table-column
:formatter=
"dateFormatter"
:formatter=
"dateFormatter"
align=
"center"
align=
"center"
...
@@ -154,13 +166,8 @@
...
@@ -154,13 +166,8 @@
prop=
"contactLastTime"
prop=
"contactLastTime"
width=
"180px"
width=
"180px"
/>
/>
<el-table-column
align=
"center"
label=
"性别"
prop=
"sex"
>
<
template
#
default=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.SYSTEM_USER_SEX"
:value=
"scope.row.sex"
/>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"负责人"
prop=
"ownerUserName"
width=
"120"
/>
<el-table-column
align=
"center"
label=
"负责人"
prop=
"ownerUserName"
width=
"120"
/>
<el-table-column
align=
"center"
label=
"
创建人"
prop=
"creatorName"
width=
"12
0"
/>
<el-table-column
align=
"center"
label=
"
所属部门"
prop=
"ownerUserDeptName"
width=
"10
0"
/>
<el-table-column
<el-table-column
:formatter=
"dateFormatter"
:formatter=
"dateFormatter"
align=
"center"
align=
"center"
...
@@ -175,6 +182,7 @@
...
@@ -175,6 +182,7 @@
prop=
"createTime"
prop=
"createTime"
width=
"180px"
width=
"180px"
/>
/>
<el-table-column
align=
"center"
label=
"创建人"
prop=
"creatorName"
width=
"120"
/>
<el-table-column
align=
"center"
fixed=
"right"
label=
"操作"
width=
"200"
>
<el-table-column
align=
"center"
fixed=
"right"
label=
"操作"
width=
"200"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<el-button
<el-button
...
...
src/views/crm/customer/pool/index.vue
View file @
094b1925
...
@@ -97,32 +97,31 @@
...
@@ -97,32 +97,31 @@
<!-- 列表 -->
<!-- 列表 -->
<ContentWrap>
<ContentWrap>
<el-table
v-loading=
"loading"
:data=
"list"
:show-overflow-tooltip=
"true"
:stripe=
"true"
>
<el-table
v-loading=
"loading"
:data=
"list"
:show-overflow-tooltip=
"true"
:stripe=
"true"
>
<el-table-column
align=
"center"
label=
"编号"
prop=
"id"
/>
<el-table-column
align=
"center"
label=
"客户名称"
fixed=
"left"
prop=
"name"
width=
"160"
>
<el-table-column
align=
"center"
label=
"客户名称"
prop=
"name"
width=
"160"
>
<template
#
default=
"scope"
>
<template
#
default=
"scope"
>
<el-link
:underline=
"false"
type=
"primary"
@
click=
"openDetail(scope.row.id)"
>
<el-link
:underline=
"false"
type=
"primary"
@
click=
"openDetail(scope.row.id)"
>
{{
scope
.
row
.
name
}}
{{
scope
.
row
.
name
}}
</el-link>
</el-link>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
align=
"center"
label=
"手机"
prop=
"mobile"
width=
"120"
/>
<el-table-column
align=
"center"
label=
"电话"
prop=
"telephone"
width=
"120"
/>
<el-table-column
align=
"center"
label=
"客户来源"
prop=
"source"
width=
"100"
>
<el-table-column
align=
"center"
label=
"客户来源"
prop=
"source"
width=
"100"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.CRM_CUSTOMER_SOURCE"
:value=
"scope.row.source"
/>
<dict-tag
:type=
"DICT_TYPE.CRM_CUSTOMER_SOURCE"
:value=
"scope.row.source"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
align=
"center"
label=
"所属行业"
prop=
"industryId"
width=
"120"
>
<el-table-column
label=
"手机"
align=
"center"
prop=
"mobile"
width=
"120"
/>
<el-table-column
label=
"电话"
align=
"center"
prop=
"telephone"
width=
"130"
/>
<el-table-column
label=
"邮箱"
align=
"center"
prop=
"email"
width=
"180"
/>
<el-table-column
align=
"center"
label=
"客户级别"
prop=
"level"
width=
"135"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.CRM_CUSTOMER_
INDUSTRY"
:value=
"scope.row.industryId
"
/>
<dict-tag
:type=
"DICT_TYPE.CRM_CUSTOMER_
LEVEL"
:value=
"scope.row.level
"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
align=
"center"
label=
"客户
级别"
prop=
"level"
width=
"12
0"
>
<el-table-column
align=
"center"
label=
"客户
行业"
prop=
"industryId"
width=
"10
0"
>
<
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_
INDUSTRY"
:value=
"scope.row.industryId
"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
align=
"center"
label=
"网址"
prop=
"website"
width=
"200"
/>
<el-table-column
<el-table-column
:formatter=
"dateFormatter"
:formatter=
"dateFormatter"
align=
"center"
align=
"center"
...
@@ -136,9 +135,6 @@
...
@@ -136,9 +135,6 @@
<dict-tag
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
:value=
"scope.row.dealStatus"
/>
<dict-tag
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
:value=
"scope.row.dealStatus"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
align=
"center"
label=
"距离进入公海"
prop=
"poolDay"
>
<
template
#
default=
"scope"
>
{{
scope
.
row
.
poolDay
}}
天
</
template
>
</el-table-column>
<el-table-column
<el-table-column
:formatter=
"dateFormatter"
:formatter=
"dateFormatter"
align=
"center"
align=
"center"
...
@@ -146,10 +142,11 @@
...
@@ -146,10 +142,11 @@
prop=
"contactLastTime"
prop=
"contactLastTime"
width=
"180px"
width=
"180px"
/>
/>
<el-table-column
align=
"center"
label=
"最后跟进记录"
prop=
"contactLastContent"
width=
"200"
/>
<el-table-column
<el-table-column
:formatter=
"dateFormatter"
:formatter=
"dateFormatter"
align=
"center"
align=
"center"
label=
"
创建
时间"
label=
"
更新
时间"
prop=
"updateTime"
prop=
"updateTime"
width=
"180px"
width=
"180px"
/>
/>
...
@@ -160,16 +157,7 @@
...
@@ -160,16 +157,7 @@
prop=
"createTime"
prop=
"createTime"
width=
"180px"
width=
"180px"
/>
/>
<el-table-column
align=
"center"
label=
"负责人"
prop=
"ownerUserName"
width=
"100px"
/>
<el-table-column
align=
"center"
label=
"所属部门"
prop=
"ownerUserDeptName"
width=
"100px"
/>
<el-table-column
align=
"center"
label=
"创建人"
prop=
"creatorName"
width=
"100px"
/>
<el-table-column
align=
"center"
label=
"创建人"
prop=
"creatorName"
width=
"100px"
/>
<el-table-column
align=
"center"
fixed=
"right"
label=
"操作"
min-width=
"150"
>
<
template
#
default=
"scope"
>
<el-link
:underline=
"false"
type=
"primary"
@
click=
"openDetail(scope.row.id)"
>
详情
</el-link>
</
template
>
</el-table-column>
</el-table>
</el-table>
<!-- 分页 -->
<!-- 分页 -->
<Pagination
<Pagination
...
...
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