Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
仟微科技
Link Wechat
提交
38b6a864
Link Wechat
项目概览
仟微科技
/
Link Wechat
通知
48
Star
3
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Link Wechat
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
38b6a864
编写于
10月 25, 2020
作者:
水
水库浪子
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/master'
上级
a5962c56
00dc4418
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
393 addition
and
63 deletion
+393
-63
linkwe-ui/src/api/customer/tag.js
linkwe-ui/src/api/customer/tag.js
+9
-0
linkwe-ui/src/api/organization.js
linkwe-ui/src/api/organization.js
+18
-9
linkwe-ui/src/views/contacts/organization.vue
linkwe-ui/src/views/contacts/organization.vue
+43
-10
linkwe-ui/src/views/customerManage/components/AddTag.vue
linkwe-ui/src/views/customerManage/components/AddTag.vue
+20
-4
linkwe-ui/src/views/customerManage/customer.vue
linkwe-ui/src/views/customerManage/customer.vue
+58
-12
linkwe-ui/src/views/customerManage/customerDetail.vue
linkwe-ui/src/views/customerManage/customerDetail.vue
+124
-0
linkwe-ui/src/views/customerManage/dimission.vue
linkwe-ui/src/views/customerManage/dimission.vue
+29
-7
linkwe-ui/src/views/customerManage/group.vue
linkwe-ui/src/views/customerManage/group.vue
+15
-6
linkwe-ui/src/views/customerManage/tag.vue
linkwe-ui/src/views/customerManage/tag.vue
+41
-9
linkwe-ui/src/views/enterpriseWechat/list.vue
linkwe-ui/src/views/enterpriseWechat/list.vue
+36
-6
未找到文件。
linkwe-ui/src/api/customer/tag.js
浏览文件 @
38b6a864
...
@@ -68,3 +68,12 @@ export function remove(ids) {
...
@@ -68,3 +68,12 @@ export function remove(ids) {
method
:
'
DELETE
'
,
method
:
'
DELETE
'
,
})
})
}
}
/**
* 同步标签
*/
export
function
syncTag
()
{
return
request
({
url
:
service
+
'
/synchWeTags
'
,
})
}
linkwe-ui/src/api/organization.js
浏览文件 @
38b6a864
...
@@ -6,9 +6,9 @@ const serviceUser = config.services.wecom + '/user'
...
@@ -6,9 +6,9 @@ const serviceUser = config.services.wecom + '/user'
* 获取所有部门
* 获取所有部门
* @param {*} params
* @param {*} params
* {
* {
"id": "部门id ",
"id": "部门id ",
"name": "部门名称",
"name": "部门名称",
"parentId": "父节点id "
"parentId": "父节点id "
}
}
*/
*/
export
function
getTree
(
params
)
{
export
function
getTree
(
params
)
{
...
@@ -22,9 +22,9 @@ export function getTree(params) {
...
@@ -22,9 +22,9 @@ export function getTree(params) {
* 更新部门
* 更新部门
* @param {*} params
* @param {*} params
* {
* {
"id": "部门id ",
"id": "部门id ",
"name": "部门名称",
"name": "部门名称",
"parentId": "父节点id "
"parentId": "父节点id "
}
}
*/
*/
export
function
updateDepart
(
data
)
{
export
function
updateDepart
(
data
)
{
...
@@ -39,8 +39,8 @@ export function updateDepart(data) {
...
@@ -39,8 +39,8 @@ export function updateDepart(data) {
* 新增部门
* 新增部门
* @param {Object} data
* @param {Object} data
* * {
* * {
"name": "部门名称",
"name": "部门名称",
"parentId": "父节点id "
"parentId": "父节点id "
}
}
*/
*/
export
function
addDepart
(
data
)
{
export
function
addDepart
(
data
)
{
...
@@ -143,4 +143,13 @@ export function startOrStop(data) {
...
@@ -143,4 +143,13 @@ export function startOrStop(data) {
method
:
'
put
'
,
method
:
'
put
'
,
data
data
})
})
}
}
\ No newline at end of file
/**
* 同步成员
*/
export
function
syncUser
()
{
return
request
({
url
:
serviceUser
+
'
/synchWeUser
'
,
})
}
linkwe-ui/src/views/contacts/organization.vue
浏览文件 @
38b6a864
...
@@ -236,14 +236,38 @@ export default {
...
@@ -236,14 +236,38 @@ export default {
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label
>
<el-form-item
label
>
<el-button
type=
"cyan"
icon=
"el-icon-search"
size=
"mini"
@
click=
"getList(1)"
>
查询
</el-button>
<el-button
v-hasPermi=
"['contacts:organization:query']"
type=
"cyan"
icon=
"el-icon-search"
size=
"mini"
@
click=
"getList(1)"
>
查询
</el-button>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<div
class=
"ar mb15"
>
<div
class=
"ar mb15"
>
<el-button
type=
"primary"
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"syncUser"
>
同步成员
</el-button>
<el-button
<el-button
type=
"primary"
icon=
"el-icon-plus"
size=
"mini"
@
click=
"batchImport"
>
批量导入
</el-button>
v-hasPermi=
"['contacts:organization:sync']"
<el-button
type=
"primary"
icon=
"el-icon-plus"
size=
"mini"
@
click=
"edit()"
>
添加成员
</el-button>
type=
"primary"
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"syncUser"
>
同步成员
</el-button>
<el-button
v-hasPermi=
"['contacts:organization:import']"
type=
"primary"
icon=
"el-icon-plus"
size=
"mini"
@
click=
"batchImport"
>
批量导入
</el-button>
<el-button
v-hasPermi=
"['contacts:organization:addMember']"
type=
"primary"
icon=
"el-icon-plus"
size=
"mini"
@
click=
"edit()"
>
添加成员
</el-button>
</div>
</div>
<el-row
:gutter=
"20"
>
<el-row
:gutter=
"20"
>
<!--部门数据-->
<!--部门数据-->
...
@@ -262,8 +286,17 @@ export default {
...
@@ -262,8 +286,17 @@ export default {
<div
class=
"custom-tree-node"
slot-scope=
"
{ node, data }">
<div
class=
"custom-tree-node"
slot-scope=
"
{ node, data }">
<span>
{{
node
.
label
}}
</span>
<span>
{{
node
.
label
}}
</span>
<span
class=
"fr"
>
<span
class=
"fr"
>
<i
class=
"el-icon-edit"
v-if=
"node.level !== 1"
@
click.stop=
"departEdit(data, 1)"
></i>
<i
<i
class=
"el-icon-plus"
@
click.stop=
"departEdit(data, 0)"
></i>
class=
"el-icon-edit"
v-hasPermi=
"['contacts:organization:editDep']"
v-if=
"node.level !== 1"
@
click.stop=
"departEdit(data, 1)"
></i>
<i
class=
"el-icon-plus"
v-hasPermi=
"['contacts:organization:addDep']"
@
click.stop=
"departEdit(data, 0)"
></i>
</span>
</span>
</div>
</div>
</el-tree>
</el-tree>
...
@@ -295,26 +328,26 @@ export default {
...
@@ -295,26 +328,26 @@ export default {
>
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
<el-button
v-hasPermi=
"['contacts:organization:view']"
size=
"mini"
size=
"mini"
type=
"text"
type=
"text"
icon=
"el-icon-view"
icon=
"el-icon-view"
@
click=
"edit(scope.row, 0)"
@
click=
"edit(scope.row, 0)"
v-hasPermi=
"['system:user:edit']"
>
查看
</el-button>
>
查看
</el-button>
<el-button
<el-button
v-hasPermi=
"['contacts:organization:forbidden']"
v-if=
"scope.row.userId !== 1"
v-if=
"scope.row.userId !== 1"
size=
"mini"
size=
"mini"
type=
"text"
type=
"text"
icon=
"el-icon-close-notification"
icon=
"el-icon-close-notification"
@
click=
"startOrStop(scope.row)"
@
click=
"startOrStop(scope.row)"
v-hasPermi=
"['system:user:remove']"
>
{{
scope
.
row
.
enable
==
1
?
'
禁用
'
:
'
启用
'
}}
</el-button>
>
{{
scope
.
row
.
enable
==
1
?
'
禁用
'
:
'
启用
'
}}
</el-button>
<el-button
<el-button
v-hasPermi=
"['contacts:organization:edit']"
size=
"mini"
size=
"mini"
type=
"text"
type=
"text"
icon=
"el-icon-edit"
icon=
"el-icon-edit"
@
click=
"edit(scope.row, 1)"
@
click=
"edit(scope.row, 1)"
v-hasPermi=
"['system:user:resetPwd']"
>
编辑
</el-button>
>
编辑
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
...
@@ -325,7 +358,7 @@ export default {
...
@@ -325,7 +358,7 @@ export default {
:total=
"total"
:total=
"total"
:page.sync=
"query.pageNum"
:page.sync=
"query.pageNum"
:limit.sync=
"query.pageSize"
:limit.sync=
"query.pageSize"
@
pagination=
"getList"
@
pagination=
"getList
()
"
/>
/>
</el-col>
</el-col>
</el-row>
</el-row>
...
...
linkwe-ui/src/views/customerManage/components/AddTag.vue
浏览文件 @
38b6a864
...
@@ -26,6 +26,7 @@ export default {
...
@@ -26,6 +26,7 @@ export default {
// 表单验证规则
// 表单验证规则
rules
:
Object
.
freeze
({
rules
:
Object
.
freeze
({
gourpName
:
[{
required
:
true
,
message
:
"
必填项
"
,
trigger
:
"
blur
"
}],
gourpName
:
[{
required
:
true
,
message
:
"
必填项
"
,
trigger
:
"
blur
"
}],
weTags
:
[{
required
:
true
,
message
:
"
必填项
"
,
trigger
:
"
blur
"
}],
}),
}),
// 添加便签按钮显隐
// 添加便签按钮显隐
visibleAdd
:
false
,
visibleAdd
:
false
,
...
@@ -35,6 +36,11 @@ export default {
...
@@ -35,6 +36,11 @@ export default {
computed
:
{
computed
:
{
Pvisible
:
{
Pvisible
:
{
get
()
{
get
()
{
if
(
this
.
visible
)
{
this
.
$nextTick
(()
=>
{
this
.
$refs
[
"
form
"
].
clearValidate
();
});
}
return
this
.
visible
;
return
this
.
visible
;
},
},
set
(
val
)
{
set
(
val
)
{
...
@@ -71,7 +77,11 @@ export default {
...
@@ -71,7 +77,11 @@ export default {
submit
()
{
submit
()
{
this
.
$refs
[
"
form
"
].
validate
((
valid
)
=>
{
this
.
$refs
[
"
form
"
].
validate
((
valid
)
=>
{
let
form
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
form
));
let
form
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
form
));
api
[
form
.
id
?
"
update
"
:
"
add
"
](
form
).
then
(()
=>
{
if
(
!
form
.
weTags
.
length
)
{
return
;
}
debugger
;
api
[
form
.
groupId
?
"
update
"
:
"
add
"
](
form
).
then
(()
=>
{
this
.
msgSuccess
(
"
操作成功
"
);
this
.
msgSuccess
(
"
操作成功
"
);
this
.
Pvisible
=
false
;
this
.
Pvisible
=
false
;
this
.
$emit
(
"
success
"
);
this
.
$emit
(
"
success
"
);
...
@@ -84,16 +94,22 @@ export default {
...
@@ -84,16 +94,22 @@ export default {
<
template
>
<
template
>
<el-dialog
<el-dialog
:title=
"(form.
i
d ? '修改' : '添加') + '标签'"
:title=
"(form.
groupI
d ? '修改' : '添加') + '标签'"
:visible.sync=
"Pvisible"
:visible.sync=
"Pvisible"
width=
"500px"
width=
"500px"
append-to-body
append-to-body
>
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"100px"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"100px"
>
<el-form-item
label=
"标签组名称"
prop=
"gourpName"
>
<el-form-item
label=
"标签组名称"
prop=
"gourpName"
>
<el-input
v-model=
"form.gourpName"
maxlength=
"15"
show-word-limit
placeholder=
"请输入"
/>
<el-input
v-model=
"form.gourpName"
maxlength=
"15"
show-word-limit
placeholder=
"请输入标签组名称,该名称不支持再次修改"
:disabled=
"!!form.groupId"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"标签"
>
<el-form-item
label=
"标签"
prop=
"weTags"
>
<template
v-for=
"(item, index) in form.weTags"
>
<template
v-for=
"(item, index) in form.weTags"
>
<el-tag
<el-tag
v-if=
"item.status !== 1"
v-if=
"item.status !== 1"
...
...
linkwe-ui/src/views/customerManage/customer.vue
浏览文件 @
38b6a864
...
@@ -157,7 +157,14 @@ export default {
...
@@ -157,7 +157,14 @@ export default {
this
.
dialogVisible
=
true
;
this
.
dialogVisible
=
true
;
},
},
sync
()
{
sync
()
{
const
loading
=
this
.
$loading
({
lock
:
true
,
text
:
"
Loading
"
,
spinner
:
"
el-icon-loading
"
,
background
:
"
rgba(0, 0, 0, 0.7)
"
,
});
api
.
sync
().
then
(()
=>
{
api
.
sync
().
then
(()
=>
{
loading
.
close
();
this
.
msgSuccess
(
"
操作成功
"
);
this
.
msgSuccess
(
"
操作成功
"
);
});
});
},
},
...
@@ -241,9 +248,21 @@ export default {
...
@@ -241,9 +248,21 @@ export default {
</div>
</div>
</el-form-item>
</el-form-item>
<el-form-item
label=
" "
>
<el-form-item
label=
" "
>
<el-button
type=
"primary"
@
click=
"getList(1)"
>
查询
</el-button>
<el-button
<el-button
type=
"info"
@
click=
"resetForm()"
>
重置
</el-button>
v-hasPermi=
"['customerManage:customer:query']"
<el-button
type=
"cyan"
@
click=
"isMoreFilter = !isMoreFilter"
>
导出列表
</el-button>
type=
"primary"
@
click=
"getList(1)"
>
查询
</el-button>
<el-button
v-hasPermi=
"['customerManage:customer:query']"
type=
"info"
@
click=
"resetForm()"
>
重置
</el-button>
<el-button
v-hasPermi=
"['customerManage:customer:export']"
type=
"cyan"
@
click=
"isMoreFilter = !isMoreFilter"
>
导出列表
</el-button>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
...
@@ -254,10 +273,32 @@ export default {
...
@@ -254,10 +273,32 @@ export default {
<span
class=
"num"
>
{{total}}
</span>
位。
<span
class=
"num"
>
{{total}}
</span>
位。
</div>
</div>
<div>
<div>
<el-button
type=
"primary"
size=
"mini"
icon=
"el-icon-s-flag"
@
click=
"makeTag"
>
打标签
</el-button>
<el-button
<el-button
type=
"primary"
size=
"mini"
icon=
"el-icon-brush"
>
移除标签
</el-button>
v-hasPermi=
"['customerManage/customer:makeTag']"
<el-button
type=
"primary"
size=
"mini"
icon=
"el-icon-refresh"
@
click=
"sync"
>
同步客户
</el-button>
type=
"primary"
<el-button
type=
"primary"
size=
"mini"
icon=
"el-icon-view"
>
查看重复客户
</el-button>
size=
"mini"
icon=
"el-icon-s-flag"
@
click=
"makeTag"
>
打标签
</el-button>
<el-button
v-hasPermi=
"['customerManage:customer:removeTag']"
type=
"primary"
size=
"mini"
icon=
"el-icon-brush"
>
移除标签
</el-button>
<el-button
v-hasPermi=
"['customerManage:customer:sync']"
type=
"primary"
size=
"mini"
icon=
"el-icon-refresh"
@
click=
"sync"
>
同步客户
</el-button>
<el-button
v-hasPermi=
"['customerManage:customer:checkRepeat']"
type=
"primary"
size=
"mini"
icon=
"el-icon-view"
>
查看重复客户
</el-button>
</div>
</div>
</div>
</div>
...
@@ -294,12 +335,17 @@ export default {
...
@@ -294,12 +335,17 @@ export default {
<
/div
>
<
/div
>
<
/template
>
<
/template
>
<
/el-table-column
>
<
/el-table-column
>
<
!--
<
el
-
table
-
column
label
=
"
操作
"
width
=
"
100
"
>
<
el
-
table
-
column
label
=
"
操作
"
width
=
"
100
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
el
-
button
@
click
=
"
handleClick(scope.row)
"
type
=
"
text
"
size
=
"
small
"
>
查看
<
/el-button
>
<
el
-
button
<
el
-
button
type
=
"
text
"
size
=
"
small
"
>
编辑
<
/el-button
>
v
-
hasPermi
=
"
['customerManage:customer:view']
"
@
click
=
"
$router.push({ path: '/customerManage/customerDetail', query: scope.row
}
)
"
type
=
"
text
"
size
=
"
small
"
>
查看
<
/el-button
>
<!--
<
el
-
button
type
=
"
text
"
size
=
"
small
"
>
编辑
<
/el-button> --
>
<
/template
>
<
/template
>
<
/el-table-column>
--
>
<
/el-table-column
>
<
/el-table
>
<
/el-table
>
<
pagination
<
pagination
...
@@ -307,7 +353,7 @@ export default {
...
@@ -307,7 +353,7 @@ export default {
:
total
=
"
total
"
:
total
=
"
total
"
:
page
.
sync
=
"
query.pageNum
"
:
page
.
sync
=
"
query.pageNum
"
:
limit
.
sync
=
"
query.pageSize
"
:
limit
.
sync
=
"
query.pageSize
"
@
pagination
=
"
getList
"
@
pagination
=
"
getList
()
"
/>
/>
<!--
选择标签弹窗
-->
<!--
选择标签弹窗
-->
...
...
linkwe-ui/src/views/customerManage/customerDetail.vue
0 → 100644
浏览文件 @
38b6a864
<
script
>
import
*
as
api
from
"
@/api/customer/group
"
;
export
default
{
name
:
"
CustomerDetail
"
,
data
()
{
return
{
customer
:
{},
};
},
created
()
{
this
.
customer
=
this
.
$route
.
query
;
},
methods
:
{
getList
(
page
)
{
page
&&
(
this
.
query
.
pageNum
=
page
);
this
.
loading
=
false
;
api
.
getMembers
(
this
.
query
).
then
((
response
)
=>
{
this
.
list
=
response
.
rows
;
this
.
total
=
+
response
.
total
;
this
.
loading
=
false
;
});
},
},
};
</
script
>
<
template
>
<div>
<!--
<el-button
slot=
"append"
circle
icon=
"el-icon-back"
@
click=
"$router.back()"
></el-button>
返回 -->
<div
class=
"flex aic"
>
<el-avatar
:size=
"100"
src=
"https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png"
></el-avatar>
<div
class=
"info-wrap"
>
<div
style=
"margin-bottom: 20px;"
>
{{
customer
.
groupName
}}
<span
:style=
"
{color: customer.type === 1 ? '#4bde03' : '#f9a90b'}"
>
{{
({
1
:
'
@微信
'
,
2
:
'
@企业微信
'
}
)[
customer
.
type
]
}}
<
/span
>
<
i
:
class
=
"
['el-icon-s-custom', ({1: 'man', 2: 'woman'
}
)[customer.gender]]
"
><
/i
>
<
/div
>
<
div
class
=
"
info
"
>
出生日期
:
{{
customer
.
createTime
||
'
--
'
}}
<
i
class
=
"
el-icon-edit
"
><
/i
>
<
el
-
date
-
picker
v
-
model
=
"
customer.createTime
"
type
=
"
date
"
placeholder
=
"
选择日期
"
><
/el-date-picker
>
<
/div
>
<
/div
>
<
/div
>
<
el
-
card
shadow
=
"
never
"
:
body
-
style
=
"
{width: '400px'
}
"
>
<
div
>
<
el
-
row
:
gutter
=
"
10
"
>
<
el
-
col
:
span
=
"
10
"
>
备注名
:
<
/el-col
>
<
el
-
col
:
span
=
"
12
"
>
Dora
<
/el-col
>
<
/el-row
>
<
el
-
row
:
gutter
=
"
10
"
>
<
el
-
col
:
span
=
"
10
"
>
标签
:
<
/el-col
>
<
el
-
col
:
span
=
"
12
"
>
Dora
<
/el-col
>
<
/el-row
>
<
el
-
row
:
gutter
=
"
10
"
>
<
el
-
col
:
span
=
"
10
"
>
个人标签
:
<
/el-col
>
<
el
-
col
:
span
=
"
12
"
>
Dora
<
/el-col
>
<
/el-row
>
<
el
-
divider
><
/el-divider
>
<
el
-
row
:
gutter
=
"
10
"
>
<
el
-
col
:
span
=
"
10
"
>
添加人
:
<
/el-col
>
<
el
-
col
:
span
=
"
12
"
>
Dora
<
/el-col
>
<
/el-row
>
<
el
-
row
:
gutter
=
"
10
"
>
<
el
-
col
:
span
=
"
10
"
>
所在部门
:
<
/el-col
>
<
el
-
col
:
span
=
"
12
"
>
Dora
<
/el-col
>
<
/el-row
>
<
el
-
row
:
gutter
=
"
10
"
>
<
el
-
col
:
span
=
"
10
"
>
添加时间
:
<
/el-col
>
<
el
-
col
:
span
=
"
12
"
>
Dora
<
/el-col
>
<
/el-row
>
<
/div
>
<
/el-card
>
<
/div
>
<
/template
>
<
style
lang
=
"
scss
"
scoped
>
.
mid
-
action
{
display
:
flex
;
justify
-
content
:
space
-
between
;
margin
:
10
px
0
;
align
-
items
:
center
;
.
total
{
background
-
color
:
rgba
(
65
,
133
,
244
,
0.1
);
border
:
1
px
solid
rgba
(
65
,
133
,
244
,
0.2
);
border
-
radius
:
3
px
;
font
-
size
:
14
px
;
min
-
height
:
32
px
;
line
-
height
:
32
px
;
padding
:
0
12
px
;
color
:
#
606266
;
}
.
num
{
color
:
#
00
f
;
}
}
.
info
-
wrap
{
margin
-
left
:
20
px
;
.
info
{
color
:
#
aaa
;
}
}
.
el
-
card
{
display
:
inline
-
block
;
margin
-
top
:
20
px
;
.
el
-
row
{
color
:
#
666
;
margin
-
bottom
:
10
px
;
}
.
el
-
col
-
10
{
width
:
100
px
;
text
-
align
:
right
;
}
}
<
/style>
\ No newline at end of file
linkwe-ui/src/views/customerManage/dimission.vue
浏览文件 @
38b6a864
...
@@ -91,16 +91,33 @@ export default {
...
@@ -91,16 +91,33 @@ export default {
<el-date-picker
v-model=
"query.beginTime"
type=
"date"
placeholder=
"离职日期"
align=
"right"
></el-date-picker>
<el-date-picker
v-model=
"query.beginTime"
type=
"date"
placeholder=
"离职日期"
align=
"right"
></el-date-picker>
</el-form-item>
</el-form-item>
<el-form-item
label
>
<el-form-item
label
>
<el-button
type=
"primary"
@
click=
"getList(1)"
>
查询
</el-button>
<el-button
<el-button
type=
"info"
@
click=
"resetForm('queryForm')"
>
重置
</el-button>
v-hasPermi=
"['customerManage:dimission:query']"
type=
"primary"
@
click=
"getList(1)"
>
查询
</el-button>
<el-button
v-hasPermi=
"['customerManage:dimission:query']"
type=
"info"
@
click=
"resetForm('queryForm')"
>
重置
</el-button>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<div
class=
"mid-action"
>
<div
class=
"mid-action"
>
<div
class=
"total"
>
从通讯录将离职员工删除后,可以分配他的客户及客户群给其他员工继续跟进
</div>
<div
class=
"total"
>
从通讯录将离职员工删除后,可以分配他的客户及客户群给其他员工继续跟进
</div>
<div>
<div>
<el-button
type=
"primary"
size=
"mini"
>
已分配的离职员工
</el-button>
<el-button
<el-button
type=
"primary"
size=
"mini"
@
click=
"dialogVisibleSelectUser = true"
>
分配给其他员工
</el-button>
v-hasPermi=
"['customerManage:dimission:filter']"
type=
"primary"
size=
"mini"
>
已分配的离职员工
</el-button>
<el-button
v-hasPermi=
"['customerManage:dimission:allocate']"
type=
"primary"
size=
"mini"
@
click=
"dialogVisibleSelectUser = true"
>
分配给其他员工
</el-button>
</div>
</div>
</div>
</div>
...
@@ -121,8 +138,13 @@ export default {
...
@@ -121,8 +138,13 @@ export default {
</el-table-column>
</el-table-column>
<el-table-column
label=
"操作"
width=
"100"
>
<el-table-column
label=
"操作"
width=
"100"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
@
click=
"handleClick(scope.row)"
type=
"text"
size=
"small"
>
查看
</el-button>
<!--
<el-button
<el-button
type=
"text"
size=
"small"
>
编辑
</el-button>
v-hasPermi=
"['customerManage:dimission:edit']"
@
click=
"handleClick(scope.row)"
type=
"text"
size=
"small"
>
查看
</el-button>
-->
<el-button
v-hasPermi=
"['customerManage:dimission:edit']"
type=
"text"
size=
"small"
>
编辑
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
@@ -132,7 +154,7 @@ export default {
...
@@ -132,7 +154,7 @@ export default {
:total=
"total"
:total=
"total"
:page.sync=
"query.pageNum"
:page.sync=
"query.pageNum"
:limit.sync=
"query.pageSize"
:limit.sync=
"query.pageSize"
@
pagination=
"getList"
@
pagination=
"getList
()
"
/>
/>
<!-- 选择添加人弹窗 -->
<!-- 选择添加人弹窗 -->
...
...
linkwe-ui/src/views/customerManage/group.vue
浏览文件 @
38b6a864
...
@@ -154,9 +154,13 @@ export default {
...
@@ -154,9 +154,13 @@ export default {
></el-date-picker>
></el-date-picker>
</el-form-item>
</el-form-item>
<el-form-item
label=
" "
>
<el-form-item
label=
" "
>
<el-button
type=
"primary"
@
click=
"getList(1)"
>
查询
</el-button>
<el-button
v-hasPermi=
"['customerManage:group:query']"
type=
"primary"
@
click=
"getList(1)"
>
查询
</el-button>
<el-button
type=
"info"
@
click=
"resetQuery"
>
重置
</el-button>
<el-button
v-hasPermi=
"['customerManage:group:query']"
type=
"info"
@
click=
"resetQuery"
>
重置
</el-button>
<el-button
type=
"cyan"
@
click=
"handleExport"
>
导出列表
</el-button>
<el-button
v-hasPermi=
"['customerManage:group:export']"
type=
"cyan"
@
click=
"handleExport"
>
导出列表
</el-button>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
...
@@ -171,7 +175,12 @@ export default {
...
@@ -171,7 +175,12 @@ export default {
</span>
</span>
</div>
</div>
<div>
<div>
<el-button
type=
"primary"
size=
"mini"
icon=
"el-icon-refresh"
>
同步客户群
</el-button>
<el-button
v-hasPermi=
"['customerManage:group:sync']"
type=
"primary"
size=
"mini"
icon=
"el-icon-refresh"
>
同步客户群
</el-button>
</div>
</div>
</div>
</div>
...
@@ -188,7 +197,7 @@ export default {
...
@@ -188,7 +197,7 @@ export default {
type=
"text"
type=
"text"
icon=
"el-icon-view"
icon=
"el-icon-view"
@
click=
"$router.push(
{ path: '/customerManage/groupDetail', query: scope.row })"
@
click=
"$router.push(
{ path: '/customerManage/groupDetail', query: scope.row })"
v-hasPermi="['
monitor:operlog:query
']"
v-hasPermi="['
customerManage:group:view
']"
>查看详情
</el-button>
>查看详情
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
...
@@ -199,7 +208,7 @@ export default {
...
@@ -199,7 +208,7 @@ export default {
:total=
"total"
:total=
"total"
:page.sync=
"query.pageNum"
:page.sync=
"query.pageNum"
:limit.sync=
"query.pageSize"
:limit.sync=
"query.pageSize"
@
pagination=
"getList"
@
pagination=
"getList
()
"
/>
/>
</div>
</div>
</template>
</template>
...
...
linkwe-ui/src/views/customerManage/tag.vue
浏览文件 @
38b6a864
...
@@ -71,8 +71,19 @@ export default {
...
@@ -71,8 +71,19 @@ export default {
);
);
this
.
dialogVisible
=
true
;
this
.
dialogVisible
=
true
;
},
},
syncTag
()
{
sync
()
{},
const
loading
=
this
.
$loading
({
lock
:
true
,
text
:
"
Loading
"
,
spinner
:
"
el-icon-loading
"
,
background
:
"
rgba(0, 0, 0, 0.7)
"
,
});
api
.
syncTag
().
then
(()
=>
{
loading
.
close
();
this
.
msgSuccess
(
"
操作成功
"
);
this
.
getList
();
});
},
// 操作日志状态字典翻译
// 操作日志状态字典翻译
statusFormat
(
row
,
column
)
{
statusFormat
(
row
,
column
)
{
return
this
.
selectDictLabel
(
this
.
statusOptions
,
row
.
status
);
return
this
.
selectDictLabel
(
this
.
statusOptions
,
row
.
status
);
...
@@ -94,7 +105,7 @@ export default {
...
@@ -94,7 +105,7 @@ export default {
},
},
// 多选框选中数据
// 多选框选中数据
handleSelectionChange
(
selection
)
{
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
((
item
)
=>
item
.
i
d
);
this
.
ids
=
selection
.
map
((
item
)
=>
item
.
groupI
d
);
this
.
multiple
=
!
selection
.
length
;
this
.
multiple
=
!
selection
.
length
;
},
},
/** 详细按钮操作 */
/** 详细按钮操作 */
...
@@ -156,9 +167,22 @@ export default {
...
@@ -156,9 +167,22 @@ export default {
<div
class=
"mid-action"
>
<div
class=
"mid-action"
>
<div
class=
"total"
></div>
<div
class=
"total"
></div>
<div>
<div>
<el-button
type=
"primary"
size=
"mini"
icon=
"el-icon-plus"
@
click=
"edit()"
>
新建标签组
</el-button>
<el-button
type=
"primary"
size=
"mini"
icon=
"el-icon-refresh"
@
click=
"sync"
>
同步标签组
</el-button>
<el-button
<el-button
v-hasPermi=
"['customerManage:tag:add']"
type=
"primary"
size=
"mini"
icon=
"el-icon-plus"
@
click=
"edit()"
>
新建标签组
</el-button>
<el-button
v-hasPermi=
"['customerManage:tag:sync']"
type=
"primary"
size=
"mini"
icon=
"el-icon-refresh"
@
click=
"syncTag"
>
同步标签组
</el-button>
<el-button
v-hasPermi=
"['customerManage:tag:remove']"
v-if=
"ids.length"
v-if=
"ids.length"
type=
"primary"
type=
"primary"
size=
"mini"
size=
"mini"
...
@@ -176,7 +200,7 @@ export default {
...
@@ -176,7 +200,7 @@ export default {
<el-tag
type=
"info"
v-for=
"(item, index) in scope.row.weTags"
:key=
"index"
>
{{
item
.
name
}}
</el-tag>
<el-tag
type=
"info"
v-for=
"(item, index) in scope.row.weTags"
:key=
"index"
>
{{
item
.
name
}}
</el-tag>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"创建人"
align=
"center"
prop=
"
businessType"
:formatter=
"typeFormat
"
/>
<el-table-column
label=
"创建人"
align=
"center"
prop=
"
createBy
"
/>
<!-- <el-table-column label="创建时间" align="center" prop="operTime" width="180">
<!-- <el-table-column label="创建时间" align="center" prop="operTime" width="180">
<template slot-scope="scope">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.operTime) }}</span>
<span>{{ parseTime(scope.row.operTime) }}</span>
...
@@ -184,14 +208,22 @@ export default {
...
@@ -184,14 +208,22 @@ export default {
</el-table-column>-->
</el-table-column>-->
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"text"
@
click=
"edit(scope.row,scope.index)"
>
编辑
</el-button>
<el-button
<el-button
@
click=
"remove(scope.row.id)"
type=
"text"
>
删除
</el-button>
v-hasPermi=
"['customerManage:tag:edit']"
type=
"text"
@
click=
"edit(scope.row,scope.index)"
>
编辑
</el-button>
<el-button
v-hasPermi=
"['customerManage:tag:remove']"
@
click=
"remove(scope.row.groupId)"
type=
"text"
>
删除
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
<!-- 弹窗 -->
<!-- 弹窗 -->
<AddTag
:visible.sync=
"dialogVisible"
:form=
"form"
@
success=
"getList(!form.
i
d && 1)"
/>
<AddTag
:visible.sync=
"dialogVisible"
:form=
"form"
@
success=
"getList(!form.
groupI
d && 1)"
/>
</div>
</div>
</template>
</template>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
...
...
linkwe-ui/src/views/enterpriseWechat/list.vue
浏览文件 @
38b6a864
...
@@ -10,11 +10,23 @@
...
@@ -10,11 +10,23 @@
<el-input
v-model=
"query.companyName"
placeholder=
"请输入"
></el-input>
<el-input
v-model=
"query.companyName"
placeholder=
"请输入"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label
>
<el-form-item
label
>
<el-button
type=
"cyan"
icon=
"el-icon-search"
size=
"mini"
@
click=
"getList(1)"
>
查询
</el-button>
<el-button
v-hasPermi=
"['enterpriseWechat:query']"
type=
"cyan"
icon=
"el-icon-search"
size=
"mini"
@
click=
"getList(1)"
>
查询
</el-button>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
</div>
</div>
<el-button
type=
"primary"
icon=
"el-icon-plus"
size=
"mini"
@
click=
"edit()"
>
添加
</el-button>
<el-button
v-hasPermi=
"['enterpriseWechat:add']"
type=
"primary"
icon=
"el-icon-plus"
size=
"mini"
@
click=
"edit()"
>
添加
</el-button>
</div>
</div>
<!--
<el-card
shadow=
"never"
:body-style=
"
{padding: '20px 0 0'}">
<!--
<el-card
shadow=
"never"
:body-style=
"
{padding: '20px 0 0'}">
</el-card>
-->
</el-card>
-->
...
@@ -35,9 +47,27 @@
...
@@ -35,9 +47,27 @@
</el-table-column>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
width=
"180"
class-name=
"small-padding fixed-width"
>
<el-table-column
label=
"操作"
align=
"center"
width=
"180"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-view"
@
click=
"edit(scope.row, 0)"
>
查看
</el-button>
<el-button
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"edit(scope.row, 1)"
>
编辑
</el-button>
v-hasPermi=
"['enterpriseWechat:view']"
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-key"
@
click=
"start(scope.row.corpId)"
>
启用
</el-button>
size=
"mini"
type=
"text"
icon=
"el-icon-view"
@
click=
"edit(scope.row, 0)"
>
查看
</el-button>
<el-button
v-hasPermi=
"['enterpriseWechat:edit']"
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"edit(scope.row, 1)"
>
编辑
</el-button>
<el-button
v-hasPermi=
"['enterpriseWechat:forbidden']"
size=
"mini"
type=
"text"
icon=
"el-icon-key"
@
click=
"start(scope.row.corpId)"
>
启用
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
@@ -47,7 +77,7 @@
...
@@ -47,7 +77,7 @@
:total=
"total"
:total=
"total"
:page.sync=
"query.pageNum"
:page.sync=
"query.pageNum"
:limit.sync=
"query.pageSize"
:limit.sync=
"query.pageSize"
@
pagination=
"getList"
@
pagination=
"getList
()
"
/>
/>
<el-dialog
title=
"查看企业微信号"
:visible.sync=
"dialogVisible"
>
<el-dialog
title=
"查看企业微信号"
:visible.sync=
"dialogVisible"
>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录