Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
Y
ybf
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xulili
ybf
Commits
a88298ae
Commit
a88298ae
authored
Mar 14, 2020
by
Z
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of gitlabz:xulili/ybf
parents
5d230127
06684ed3
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
546 additions
and
458 deletions
+546
-458
mail.js
ybf_admin/src/api/in/mail.js
+34
-8
layout.vue
ybf_admin/src/layout/header-aside/layout.vue
+10
-10
addGroup.vue
ybf_admin/src/pages/in/contact/components/addGroup.vue
+242
-0
deleteGroup.vue
ybf_admin/src/pages/in/contact/components/deleteGroup.vue
+116
-0
history.vue
ybf_admin/src/pages/in/contact/components/history.vue
+4
-4
move.vue
ybf_admin/src/pages/in/contact/components/move.vue
+7
-17
mail.vue
ybf_admin/src/pages/in/contact/mail.vue
+133
-419
No files found.
ybf_admin/src/api/in/mail.js
View file @
a88298ae
...
...
@@ -5,7 +5,7 @@ import request from '@/utils/request'
//通讯录管理---表格---获取全部人员
export
function
getAllMemberList
(
data
)
{
return
request
({
url
:
'/admin/auth/addressbook/
getUser
All'
,
url
:
'/admin/auth/addressbook/
clerk/get
All'
,
method
:
'get'
,
params
:
data
})
...
...
@@ -13,7 +13,7 @@ export function getAllMemberList(data) {
// 获取未分组人员
export
function
getNoGroupMember
(
data
)
{
return
request
({
url
:
'/admin/auth/addressbook/
getUserUnselected
'
,
url
:
'/admin/auth/addressbook/
clerk/getArrangeNot
'
,
method
:
'get'
,
params
:
data
})
...
...
@@ -21,7 +21,7 @@ export function getNoGroupMember(data) {
// 获取柜组用户
export
function
getGroupById
(
data
)
{
return
request
({
url
:
'/admin/auth/addressbook/
getUserByShop
Id'
,
url
:
'/admin/auth/addressbook/
orgnization/getClerkBy
Id'
,
method
:
'get'
,
params
:
data
})
...
...
@@ -37,13 +37,13 @@ export function getMemberById(data) {
//通讯录管理---组织架构
export
function
getOrgTree
()
{
return
request
({
url
:
'/admin/auth/addressbook/
addressBookPage
'
,
url
:
'/admin/auth/addressbook/
orgnization/getAll
'
,
method
:
'get'
,
})
}
export
function
getHistoryList
(
data
)
{
return
request
({
url
:
'admin/auth/addressbook/synchronization'
,
url
:
'admin/auth/addressbook/
clerk/
synchronization'
,
method
:
'get'
,
params
:
data
})
...
...
@@ -57,7 +57,6 @@ export function getHistoryList(data) {
}
// 获取移动分组
// /admin/auth/addressbook/synchronization
export
function
getGroup
()
{
return
request
({
url
:
'/admin/auth/addressbook/selectGroupPage'
,
...
...
@@ -77,7 +76,16 @@ export function getHistoryList(data) {
// 移动人员
export
function
moveMember
(
data
)
{
return
request
({
url
:
'admin/auth/addressbook/updateStallClerkByUserId'
,
url
:
'admin/auth/addressbook/clerk/moveTo'
,
method
:
'put'
,
params
:
data
})
}
// 设置管理员||取消管理员
export
function
changeRole
(
data
)
{
return
request
({
url
:
'admin/auth/addressbook/clerk/configManagerById'
,
method
:
'put'
,
params
:
data
})
...
...
@@ -86,8 +94,26 @@ export function getHistoryList(data) {
// 模糊查询
export
function
search
(
data
)
{
return
request
({
url
:
'/admin/auth/addressbook/
getUserByKeyWords
'
,
url
:
'/admin/auth/addressbook/
clerk/getByUserIdOrUserName
'
,
method
:
'get'
,
params
:
data
})
}
// 添加子部门
export
function
addGroup
(
data
)
{
return
request
({
url
:
'/admin/auth/addressbook/orgnization/save'
,
method
:
'post'
,
params
:
data
})
}
// 删除子部门
export
function
deleteGroup
(
data
)
{
return
request
({
url
:
'/admin/auth/addressbook/orgnization/deleteById'
,
method
:
'delete'
,
params
:
data
})
}
\ No newline at end of file
ybf_admin/src/layout/header-aside/layout.vue
View file @
a88298ae
...
...
@@ -33,7 +33,7 @@
</div>
</div>
<!-- 下面 主体 -->
<div
class=
"d2-theme-container"
flex-box=
"1"
flex
flex
=
"dir:top"
>
<div
class=
"d2-theme-container"
flex-box=
"1"
flex=
"dir:top"
>
<!-- 主体 侧边栏 -->
<!--
<div
flex-box=
"0"
...
...
@@ -101,17 +101,17 @@ export default {
name
:
'd2-layout-header-aside'
,
mixins
:
[
mixinSearch
],
components
:
{
d2MenuSide
,
//
d2MenuSide,
d2MenuHeader
,
d2Tabs
,
//
d2Tabs,
d2HeaderFullscreen
,
d2HeaderLocales
,
d2HeaderSearch
,
d2HeaderSize
,
d2HeaderTheme
,
//
d2HeaderLocales,
//
d2HeaderSearch,
//
d2HeaderSize,
//
d2HeaderTheme,
d2HeaderUser
,
d2HeaderLog
,
d2HeaderColor
,
//
d2HeaderLog,
//
d2HeaderColor,
d2HeaderAlarmNotify
},
data
()
{
...
...
ybf_admin/src/pages/in/contact/components/addGroup.vue
0 → 100644
View file @
a88298ae
<
template
>
<div
class=
"ct"
>
<el-dialog
title=
"创建子部门"
:visible
.
sync=
"addDialog"
width=
"30%"
:show-close=
"false"
:close-on-click-modal=
"false"
>
<div
class=
"config_item"
>
<label
class=
"config_name"
>
部门名称
</label>
<el-input
class=
"config_value"
v-model=
"params.d_name"
placeholder=
"请输入部门名称"
/>
</div>
<div
class=
"config_item"
>
<span
class=
"config_name"
>
上级部门
</span>
<div>
<div
@
click=
"showTreeData"
class=
"config_value father_group"
>
<span
class=
"father_name_text"
>
{{
paramsForShow
.
father_name
}}
</span>
<span
:class=
"showTree ? 'arrow_up' : 'arrow_down'"
></span>
</div>
</div>
</div>
<div
class=
"tree_data"
v-if=
"showTree"
>
<el-tree
ref=
"tree"
class=
"tree"
:check-strictly=
"true"
:data=
"treeData"
node-key=
"id"
@
node-click=
"handleNodeClick"
@
check-change=
"checkChange"
>
</el-tree>
</div>
<div
class=
"config_item"
>
<label
class=
"config_name"
>
店铺编号
</label>
<el-input
class=
"config_value"
v-model=
"params.code"
placeholder=
"请输入店铺编号"
/>
</div>
<div
class=
"tips"
v-if=
"checked"
>
请将表单填写完整
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"handleAddCancel"
size=
"small"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"handleAddFinish"
size=
"small"
>
确 定
</el-button
>
</span>
</el-dialog>
<div></div>
</div>
</
template
>
<
script
>
import
{
addGroup
,
getOrgTree
}
from
"@/api/in/mail"
;
import
{
log
}
from
"util"
;
export
default
{
props
:
{
addDialog
:
{
type
:
Boolean
,
default
:
false
}
},
data
()
{
return
{
treeData
:
[],
group_name
:
''
,
shop_code
:
''
,
showTree
:
false
,
paramsForShow
:
{
name
:
''
,
father_name
:
''
,
code
:
''
},
params
:
{
d_name
:
''
,
d_parentId
:
''
,
code
:
''
},
checked
:
false
};
},
created
()
{
this
.
getList
()
},
methods
:
{
handleAddCancel
()
{
this
.
$emit
(
"handleAddCancel"
);
},
handleAddFinish
()
{
if
(
!
this
.
params
.
d_name
||
!
this
.
params
.
d_parentId
||
!
this
.
params
.
code
)
{
this
.
checked
=
true
return
}
addGroup
(
this
.
params
).
then
(
res
=>
{
// console.log(res)
})
// console.log(addGroup)
this
.
$emit
(
"handleAddFinish"
);
},
handleNodeClick
(
item
,
node
,
self
)
{
// console.log(item,node,self)
this
.
params
.
d_parentId
=
item
.
id
;
this
.
paramsForShow
.
father_name
=
item
.
label
},
checkChange
(
item
,
node
,
self
)
{
},
showTreeData
()
{
this
.
showTree
=
!
this
.
showTree
},
getList
()
{
getOrgTree
().
then
(
res
=>
{
console
.
log
(
res
.
data
.
organizations
)
this
.
treeData
=
[
res
.
data
.
organizations
];
}).
catch
(
err
=>
{
console
.
log
(
err
)
});
}
}
};
</
script
>
<
style
scoped
>
.tree
>>>
.is-leaf
+
.el-checkbox
.el-checkbox__inner
{
display
:
inline-block
;
}
.tree
>>>
.el-checkbox
.el-checkbox__inner
{
display
:
none
;
}
.choose
{
padding
:
16px
;
font-size
:
16px
;
font-weight
:
bold
;
color
:
rgba
(
56
,
56
,
56
,
1
);
box-sizing
:
border-box
;
}
.title
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
/* border-bottom: 1px solid #f8f8f8; */
padding-bottom
:
10px
;
}
.transfer-footer
{
margin-left
:
20px
;
padding
:
6px
5px
;
}
.ct
>>>
.el-dialog__header
{
border-bottom
:
1px
solid
#f8f8f8
;
}
.ct
>>>
.el-dialog__body
{
padding
:
20px
40px
;
}
.ct
>>>
.el-transfer-panel
{
width
:
250px
;
}
.circle
{
width
:
30px
;
height
:
30px
;
line-height
:
30px
;
border-radius
:
50%
;
border
:
1px
solid
rgba
(
208
,
2
,
27
,
1
);
position
:
relative
;
}
.circle
>>>
.icon
{
width
:
28px
;
height
:
28px
;
position
:
absolute
;
left
:
50%
;
top
:
50%
;
transform
:
translate
(
-50%
,
-50%
);
}
.br
{
border-top
:
1px
solid
#f8f8f8
;
border-bottom
:
1px
solid
#f8f8f8
;
padding
:
24px
0
;
}
.config_item
{
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
}
.config_name
:before
{
content
:
'* '
;
color
:
red
;
}
.config_name
{
width
:
80px
;
text-align
:
center
;
margin-right
:
10px
;
}
.config_value
{
width
:
230px
;
}
.father_group
{
margin
:
10px
0
;
width
:
228px
;
height
:
38px
;
border-radius
:
4px
;
border
:
1px
solid
#DCDFE6
;
position
:
relative
;
}
.arrow_down
{
width
:
0
;
height
:
0
;
border-width
:
5px
;
border-style
:
solid
;
border-color
:
#ccc
transparent
transparent
transparent
;
position
:
absolute
;
right
:
10px
;
top
:
20px
;
}
.arrow_up
{
width
:
0
;
height
:
0
;
border-width
:
5px
;
border-style
:
solid
;
border-color
:
transparent
transparent
#ccc
transparent
;
position
:
absolute
;
right
:
10px
;
top
:
15px
;
}
.tree_data
{
margin-left
:
90px
;
}
.father_name_text
{
line-height
:
38px
;
padding-left
:
15px
;
}
.tips
{
width
:
100%
;
text-align
:
center
;
color
:
red
;
margin
:
5px
0
;
}
</
style
>
ybf_admin/src/pages/in/contact/components/deleteGroup.vue
0 → 100644
View file @
a88298ae
<
template
>
<div
class=
"ct"
>
<el-dialog
title=
"删除子部门"
:visible
.
sync=
"deleteDialog"
width=
"30%"
:show-close=
"false"
:close-on-click-modal=
"false"
>
<div
v-if=
"nowNode.children.length > 0 ? true : false"
>
删除"
{{
nowNode
.
label
}}
"请先删除其下所有子部门
</div>
<div
v-else
>
部门"
{{
nowNode
.
label
}}
"删除后,该部门下的用户会被分配至“未分组列表”,是否删除?
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"handleDeleteCancel"
size=
"small"
>
取 消
</el-button>
<el-button
v-if=
"nowNode.children.length > 0 ? false : true"
type=
"primary"
@
click=
"handleDeleteFinish"
size=
"small"
>
确 定
</el-button
>
</span>
</el-dialog>
<div></div>
</div>
</
template
>
<
script
>
import
{
deleteGroup
}
from
"@/api/in/mail"
;
import
{
log
}
from
"util"
;
export
default
{
props
:
{
deleteDialog
:
{
type
:
Boolean
,
default
:
true
},
nowNode
:
{
type
:
Object
,
default
:
{}
}
},
data
()
{
return
{
};
},
created
()
{
console
.
log
(
this
.
nowNode
)
},
methods
:
{
handleDeleteCancel
()
{
this
.
$emit
(
'handleDeleteCancel'
)
},
handleDeleteFinish
()
{
deleteGroup
({
id
:
this
.
nowNode
.
id
}).
then
(
res
=>
{
console
.
log
(
res
)
})
this
.
$emit
(
'handleDeleteFinish'
)
}
}
};
</
script
>
<
style
scoped
>
.tree
>>>
.is-leaf
+
.el-checkbox
.el-checkbox__inner
{
display
:
inline-block
;
}
.tree
>>>
.el-checkbox
.el-checkbox__inner
{
display
:
none
;
}
.choose
{
padding
:
16px
;
font-size
:
16px
;
font-weight
:
bold
;
color
:
rgba
(
56
,
56
,
56
,
1
);
box-sizing
:
border-box
;
}
.title
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
/* border-bottom: 1px solid #f8f8f8; */
padding-bottom
:
10px
;
}
.transfer-footer
{
margin-left
:
20px
;
padding
:
6px
5px
;
}
.ct
>>>
.el-dialog__header
{
border-bottom
:
1px
solid
#f8f8f8
;
}
.ct
>>>
.el-dialog__body
{
padding
:
20px
40px
;
}
.ct
>>>
.el-transfer-panel
{
width
:
250px
;
}
.circle
{
width
:
30px
;
height
:
30px
;
line-height
:
30px
;
border-radius
:
50%
;
border
:
1px
solid
rgba
(
208
,
2
,
27
,
1
);
position
:
relative
;
}
.circle
>>>
.icon
{
width
:
28px
;
height
:
28px
;
position
:
absolute
;
left
:
50%
;
top
:
50%
;
transform
:
translate
(
-50%
,
-50%
);
}
.br
{
border-top
:
1px
solid
#f8f8f8
;
border-bottom
:
1px
solid
#f8f8f8
;
padding
:
24px
0
;
}
</
style
>
ybf_admin/src/pages/in/contact/components/history.vue
View file @
a88298ae
...
...
@@ -102,7 +102,7 @@ export default {
page
:
{
currentPage
:
1
,
size
:
20
,
total
:
10
0
total
:
0
},
};
},
...
...
@@ -115,9 +115,9 @@ export default {
pageNum
:
1
}
getHistoryList
(
params
).
then
(
res
=>
{
console
.
log
(
res
,
"res"
);
this
.
main
=
res
.
data
.
list
this
.
page
.
total
=
Number
(
res
.
data
.
total
)
//
console.log(res,"res");
this
.
main
=
res
.
data
.
pageInfo
.
list
this
.
page
.
total
=
Number
(
res
.
data
.
pageInfo
.
total
)
})
},
setListsHeadStyle
({
row
,
column
,
rowIndex
,
columnIndex
})
{
...
...
ybf_admin/src/pages/in/contact/components/move.vue
View file @
a88298ae
...
...
@@ -59,7 +59,6 @@
show-checkbox
:check-strictly=
"true"
:data=
"treeData"
:props=
"orgData"
node-key=
"id"
@
node-click=
"handleNodeClick"
@
check-change=
"checkChange"
...
...
@@ -78,7 +77,7 @@
</
template
>
<
script
>
import
{
get
Group
,
moveMember
}
from
"@/api/in/mail"
;
import
{
get
OrgTree
,
moveMember
}
from
"@/api/in/mail"
;
import
{
log
}
from
"util"
;
export
default
{
...
...
@@ -94,11 +93,6 @@ export default {
},
data
()
{
return
{
orgData
:
{
label
:
"name"
,
children
:
"adminStallList"
,
id
:
"id"
},
treeData
:
[]
};
},
...
...
@@ -110,10 +104,11 @@ export default {
this
.
$emit
(
"handleCancel"
);
},
handleFinish
()
{
console
.
log
(
this
.
idList
)
let
groupId
=
this
.
$refs
.
tree
.
getCheckedKeys
()[
0
]
let
data
=
{
stallIds
:
groupId
,
userIds
:
this
.
idList
+
','
departmentId
:
groupId
,
id
:
this
.
idList
[
0
]
}
moveMember
(
data
).
then
(
res
=>
{
this
.
$emit
(
"handleFinish"
,
false
);
...
...
@@ -162,14 +157,9 @@ export default {
},
getList
()
{
getGroup
().
then
(
res
=>
{
console
.
log
(
res
,
"移动的数据获取"
);
let
obj
=
{
name
:
"未分组"
,
id
:
0
};
res
.
data
=
[
obj
,
...
res
.
data
];
this
.
treeData
=
res
.
data
;
getOrgTree
().
then
(
res
=>
{
console
.
log
(
res
.
data
.
organizations
)
this
.
treeData
=
[
res
.
data
.
organizations
];
});
}
}
...
...
ybf_admin/src/pages/in/contact/mail.vue
View file @
a88298ae
This diff is collapsed.
Click to expand it.
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