Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
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
9c296e92
Commit
9c296e92
authored
5 years ago
by
xd
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改后台管理系统
parent
3732acb8
master
No related merge requests found
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
97 additions
and
37 deletions
+97
-37
mail.js
ybf_admin/src/api/in/mail.js
+9
-1
index.vue
.../src/layout/header-aside/components/header-user/index.vue
+4
-4
layout.vue
ybf_admin/src/layout/header-aside/layout.vue
+3
-3
addGroup.vue
ybf_admin/src/pages/in/contact/components/addGroup.vue
+13
-4
editGroup.vue
ybf_admin/src/pages/in/contact/components/editGroup.vue
+14
-5
mail.vue
ybf_admin/src/pages/in/contact/mail.vue
+54
-20
No files found.
ybf_admin/src/api/in/mail.js
View file @
9c296e92
...
@@ -140,6 +140,7 @@ export function getHistoryList(data) {
...
@@ -140,6 +140,7 @@ export function getHistoryList(data) {
params
params
})
})
}
}
// 根据关键字查询
export
function
search
(
params
)
{
export
function
search
(
params
)
{
return
request
({
return
request
({
url
:
'/admin/auth/addressbook/clerk/getByUserName'
,
url
:
'/admin/auth/addressbook/clerk/getByUserName'
,
...
@@ -147,4 +148,11 @@ export function getHistoryList(data) {
...
@@ -147,4 +148,11 @@ export function getHistoryList(data) {
params
params
})
})
}
}
// 把店员移到未分组
\ No newline at end of file
export
function
deleteNormalPerson
(
params
)
{
return
request
({
url
:
'/admin/auth/addressbook/clerk/delete'
,
method
:
'put'
,
params
})
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
ybf_admin/src/layout/header-aside/components/header-user/index.vue
View file @
9c296e92
<
template
>
<
template
>
<el-dropdown
size=
"small"
class=
"d2-mr"
>
<el-dropdown
size=
"small"
class=
"d2-mr"
>
<
span
class=
"btn-text"
>
{{
info
.
name
?
`你好 ${info.name
}
`
:
'未登录'
}}
<
/span
>
<
!--
<span
class=
"btn-text"
>
{{
info
.
name
?
`你好 ${info.name
}
`
:
'未登录'
}}
<
/span> --
>
<
el
-
dropdown
-
menu
slot
=
"dropdown"
>
<
el
-
dropdown
-
menu
slot
=
"dropdown"
>
<
el
-
dropdown
-
item
@
click
.
native
=
"logOff"
>
<
el
-
dropdown
-
item
>
<
d2
-
icon
name
=
"power-off"
class
=
"d2-mr-5"
/>
<
!--
<
d2
-
icon
name
=
"power-off"
class
=
"d2-mr-5"
/>
注销
注销
-->
<
/el-dropdown-item
>
<
/el-dropdown-item
>
<
/el-dropdown-menu
>
<
/el-dropdown-menu
>
<
/el-dropdown
>
<
/el-dropdown
>
...
...
This diff is collapsed.
Click to expand it.
ybf_admin/src/layout/header-aside/layout.vue
View file @
9c296e92
...
@@ -20,16 +20,16 @@
...
@@ -20,16 +20,16 @@
<d2-menu-header
class=
"header-menus"
flex-box=
"1"
/>
<d2-menu-header
class=
"header-menus"
flex-box=
"1"
/>
<!-- 顶栏右侧 -->
<!-- 顶栏右侧 -->
<
div
class=
"d2-header-right"
flex-box=
"0"
>
<
!--
<div
class=
"d2-header-right"
flex-box=
"0"
>
--
>
<!-- 如果你只想在开发环境显示这个按钮请添加 v-if="$env === 'development'" -->
<!-- 如果你只想在开发环境显示这个按钮请添加 v-if="$env === 'development'" -->
<!--
<d2-header-search
@
click=
"handleSearchClick"
/>
-->
<!--
<d2-header-search
@
click=
"handleSearchClick"
/>
-->
<!--
<d2-header-log
/>
-->
<!--
<d2-header-log
/>
-->
<
d2-header-fullscreen
/
>
<
!--
<d2-header-fullscreen
/>
--
>
<!--
<d2-header-theme
/>
-->
<!--
<d2-header-theme
/>
-->
<!--
<d2-header-size
/>
-->
<!--
<d2-header-size
/>
-->
<!--
<d2-header-locales
/>
-->
<!--
<d2-header-locales
/>
-->
<!--
<d2-header-color
/>
-->
<!--
<d2-header-color
/>
-->
<
d2-header-user
/
>
<
!--
<d2-header-user
/>
--
>
</div>
</div>
</div>
</div>
<!-- 下面 主体 -->
<!-- 下面 主体 -->
...
...
This diff is collapsed.
Click to expand it.
ybf_admin/src/pages/in/contact/components/addGroup.vue
View file @
9c296e92
...
@@ -39,7 +39,6 @@
...
@@ -39,7 +39,6 @@
v-model=
"addForm.oyStallCode"
v-model=
"addForm.oyStallCode"
placeholder=
"请输入门店Id"
placeholder=
"请输入门店Id"
style=
"width: 50%;"
style=
"width: 50%;"
type=
'number'
/>
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"门店会员id:"
prop=
"oyStallMemberId"
v-if=
"detail == 1"
>
<el-form-item
label=
"门店会员id:"
prop=
"oyStallMemberId"
v-if=
"detail == 1"
>
...
@@ -94,6 +93,15 @@ export default {
...
@@ -94,6 +93,15 @@ export default {
callback
();
callback
();
}
}
}
}
// 限制id
const
idNumber
=
(
rule
,
value
,
callback
)
=>
{
let
idReg
=
/^
\+?(
0|
[
1-9
][
0-9
]
*
)
$/
if
(
!
idReg
.
test
(
value
))
{
callback
(
new
Error
(
"只可以输入正整数"
))
}
else
{
callback
();
}
}
return
{
return
{
treeData
:
[],
treeData
:
[],
group_name
:
""
,
group_name
:
""
,
...
@@ -124,10 +132,11 @@ export default {
...
@@ -124,10 +132,11 @@ export default {
orgTree
:
[],
orgTree
:
[],
rules
:
{
rules
:
{
label
:
[
label
:
[
{
required
:
true
,
validator
:
checkLabel
,
trigger
:
"blur"
},
{
required
:
true
,
message
:
"请输入部门名称"
,
trigger
:
"blur"
},
{
max
:
50
,
message
:
"长度在50个字符以内"
,
trigger
:
"blur"
}
{
max
:
50
,
message
:
"长度在50个字符以内"
,
trigger
:
"blur"
}
],
],
parentId
:
[{
required
:
true
,
message
:
"请选择上级部门"
,
trigger
:
"change"
}]
parentId
:
[{
required
:
true
,
message
:
"请选择上级部门"
,
trigger
:
"change"
}],
oyStallCode
:
[{
validator
:
idNumber
,
trigger
:
"blur"
}]
},
},
deptOption
:
{
deptOption
:
{
value
:
'id'
,
value
:
'id'
,
...
...
This diff is collapsed.
Click to expand it.
ybf_admin/src/pages/in/contact/components/editGroup.vue
View file @
9c296e92
...
@@ -97,6 +97,15 @@ export default {
...
@@ -97,6 +97,15 @@ export default {
callback
();
callback
();
}
}
}
}
// 限制id
const
idNumber
=
(
rule
,
value
,
callback
)
=>
{
let
idReg
=
/^
\+?(
0|
[
1-9
][
0-9
]
*
)
$/
if
(
!
idReg
.
test
(
value
))
{
callback
(
new
Error
(
"只可以输入正整数"
))
}
else
{
callback
();
}
}
return
{
return
{
treeData
:
[],
treeData
:
[],
group_name
:
""
,
group_name
:
""
,
...
@@ -126,11 +135,11 @@ export default {
...
@@ -126,11 +135,11 @@ export default {
orgTree
:
[],
orgTree
:
[],
rules
:
{
rules
:
{
label
:
[
label
:
[
{
required
:
true
,
validator
:
checkLabel
,
trigger
:
"blur"
},
{
required
:
true
,
message
:
"请输入部门名称"
,
trigger
:
"blur"
},
{
max
:
50
,
message
:
"长度在50个字符以内"
,
trigger
:
"blur"
}
{
max
:
50
,
message
:
"长度在50个字符以内"
,
trigger
:
"blur"
}
,
],
],
parentId
:
[{
required
:
true
,
message
:
"请选择上级部门"
,
trigger
:
"change"
}]
parentId
:
[{
required
:
true
,
message
:
"请选择上级部门"
,
trigger
:
"change"
}]
,
oyStallCode
:
[{
validator
:
idNumber
,
trigger
:
"blur"
}]
},
},
deptOption
:
{
deptOption
:
{
value
:
'id'
,
value
:
'id'
,
...
...
This diff is collapsed.
Click to expand it.
ybf_admin/src/pages/in/contact/mail.vue
View file @
9c296e92
...
@@ -56,7 +56,7 @@
...
@@ -56,7 +56,7 @@
</div>
</div>
<div
class=
"line"
>
<div
class=
"line"
>
<span
class=
"number"
>
全部(
{{
totalNumber
}}
)
</span>
<span
class=
"number"
>
全部(
{{
totalNumber
}}
)
</span>
<el-button
class=
"button buttondark"
size=
"small"
style=
"margin-left:20px;"
@
click=
"handleMove"
:disabled=
"idList.length>0
? false:
true"
>
批量移动
</el-button>
<el-button
class=
"button buttondark"
size=
"small"
style=
"margin-left:20px;"
@
click=
"handleMove"
:disabled=
"idList.length>0
? false :
true"
>
批量移动
</el-button>
</div>
</div>
<el-table
<el-table
stripe
stripe
...
@@ -68,9 +68,11 @@
...
@@ -68,9 +68,11 @@
v-loading=
"tableLoading"
v-loading=
"tableLoading"
element-loading-text=
"正在加载中"
element-loading-text=
"正在加载中"
height=
"calc(100% - 140px)"
height=
"calc(100% - 140px)"
:cell-class-name=
"cellcb"
@
selection-change=
"handleMemberChange"
@
selection-change=
"handleMemberChange"
>
>
<el-table-column
type=
"selection"
width=
"60"
></el-table-column>
<el-table-column
type=
"selection"
width=
"60"
>
</el-table-column>
<el-table-column
prop=
"userName"
label=
"姓名"
align=
"center"
></el-table-column>
<el-table-column
prop=
"userName"
label=
"姓名"
align=
"center"
></el-table-column>
<el-table-column
prop=
"userId"
label=
"企业微信ID"
align=
"center"
></el-table-column>
<el-table-column
prop=
"userId"
label=
"企业微信ID"
align=
"center"
></el-table-column>
<el-table-column
prop=
"oyStallName"
label=
"门店"
align=
"center"
></el-table-column>
<el-table-column
prop=
"oyStallName"
label=
"门店"
align=
"center"
></el-table-column>
...
@@ -78,15 +80,15 @@
...
@@ -78,15 +80,15 @@
<el-table-column
prop=
"oyStallMemberId"
label=
"门店会员ID"
align=
"center"
></el-table-column>
<el-table-column
prop=
"oyStallMemberId"
label=
"门店会员ID"
align=
"center"
></el-table-column>
<el-table-column
prop=
"isManager"
label=
"角色"
align=
"center"
>
<el-table-column
prop=
"isManager"
label=
"角色"
align=
"center"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.isSupervisor == false"
>
普通用户
</span>
<span>
{{
scope
.
row
.
isSupervisor
?
'主管'
:
'普通用户'
}}
</span>
<span
v-if=
"scope.row.isSupervisor == true"
>
主管
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"mobile"
label=
"手机号"
align=
"center"
></el-table-column>
<el-table-column
prop=
"mobile"
label=
"手机号"
align=
"center"
></el-table-column>
<el-table-column
prop=
"synchronization"
label=
"同步时间"
align=
"center"
></el-table-column>
<el-table-column
prop=
"synchronization"
label=
"同步时间"
align=
"center"
></el-table-column>
<el-table-column
prop=
"isManager"
label=
"操作"
align=
"center"
>
<el-table-column
prop=
"isManager"
label=
"操作"
align=
"center"
width=
"200"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
:disabled=
"scope.row.isSupervisor? true:false"
@
click=
"handleSingleMove(scope.row.id)"
>
移动
</el-button>
<el-button
:disabled=
"scope.row.isSupervisor ? true:false"
@
click=
"handleSingleMove(scope.row.id)"
>
移动
</el-button>
<el-button
v-if=
"deleteShow === 'yes' "
:disabled=
"scope.row.isSupervisor ? true:false"
@
click=
"handleSingleDelete(scope.row.id)"
>
删除
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
@@ -145,11 +147,12 @@ import {
...
@@ -145,11 +147,12 @@ import {
storeNameChange
,
storeNameChange
,
getGroupById
,
getGroupById
,
changeRole
,
changeRole
,
search
search
,
deleteNormalPerson
}
from
"@/api/in/mail"
;
}
from
"@/api/in/mail"
;
import
{
log
}
from
'util'
;
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
data1
:
[],
data1
:
[],
groupName
:
''
,
groupName
:
''
,
...
@@ -187,7 +190,8 @@ export default {
...
@@ -187,7 +190,8 @@ export default {
nowNode
:
{},
nowNode
:
{},
flag
:
0
,
flag
:
0
,
orgLoading
:
false
,
orgLoading
:
false
,
tableLoading
:
false
tableLoading
:
false
,
deleteShow
:
'no'
};
};
},
},
components
:
{
components
:
{
...
@@ -197,32 +201,37 @@ export default {
...
@@ -197,32 +201,37 @@ export default {
EditDialog
EditDialog
},
},
created
()
{
created
()
{
this
.
getOrgTree
()
;
this
.
getOrgTree
()
this
.
getMailList
(
1
,
1
)
;
this
.
getMailList
(
1
,
1
)
},
},
methods
:
{
methods
:
{
getOrgTree
()
{
getOrgTree
()
{
this
.
orgLoading
=
true
this
.
orgLoading
=
true
getOrgTree
().
then
(
res
=>
{
getOrgTree
().
then
(
res
=>
{
let
data
=
res
.
data
;
let
data
=
res
.
data
;
this
.
allNumber
=
data
.
numOfClerks
;
this
.
allNumber
=
data
.
numOfClerks
this
.
wNumber
=
data
.
numOfClerksArrangeNot
this
.
wNumber
=
data
.
numOfClerksArrangeNot
this
.
data1
=
[
data
.
organizations
]
;
this
.
data1
=
[
data
.
organizations
]
this
.
orgLoading
=
false
this
.
orgLoading
=
false
})
;
})
},
},
handleTreeClick
(
data
)
{
handleTreeClick
(
data
)
{
this
.
deleteShow
=
'yes'
this
.
flag
=
''
this
.
flag
=
''
this
.
nowNode
=
data
this
.
nowNode
=
data
this
.
groupName
=
data
.
label
this
.
groupName
=
data
.
label
this
.
groupId
=
data
.
id
this
.
groupId
=
data
.
id
this
.
getGroupMember
(
1
,
1
)
this
.
getGroupMember
(
1
,
1
)
},
// 表格判断
cellcb
(
row
){
if
(
row
.
row
.
isSupervisor
===
true
&&
row
.
columnIndex
===
0
){
return
"myCell"
}
},
},
getGroupMember
(
page
,
ctPage
)
{
getGroupMember
(
page
,
ctPage
)
{
this
.
page
.
currentPage
=
ctPage
this
.
page
.
currentPage
=
ctPage
this
.
type
=
this
.
sType
=
3
this
.
type
=
this
.
sType
=
3
let
params
=
{
let
params
=
{
pageNum
:
page
,
pageNum
:
page
,
id
:
this
.
groupId
id
:
this
.
groupId
...
@@ -266,6 +275,7 @@ export default {
...
@@ -266,6 +275,7 @@ export default {
this
.
handleTypeChange
(
val
,
ctPage
)
this
.
handleTypeChange
(
val
,
ctPage
)
},
},
getMailList
(
page
,
ctPage
)
{
getMailList
(
page
,
ctPage
)
{
this
.
deleteShow
=
'no'
this
.
tableLoading
=
true
this
.
tableLoading
=
true
this
.
groupName
=
''
this
.
groupName
=
''
this
.
formData
.
keywords
=
''
this
.
formData
.
keywords
=
''
...
@@ -283,8 +293,11 @@ export default {
...
@@ -283,8 +293,11 @@ export default {
this
.
tableLoading
=
false
this
.
tableLoading
=
false
});
});
},
},
handleShopowner
()
{},
handleShopowner
()
{
},
getNoGroupMember
(
page
,
ctPage
)
{
getNoGroupMember
(
page
,
ctPage
)
{
this
.
deleteShow
=
'no'
this
.
groupName
=
''
this
.
groupName
=
''
this
.
formData
.
keywords
=
''
this
.
formData
.
keywords
=
''
this
.
page
.
currentPage
=
ctPage
this
.
page
.
currentPage
=
ctPage
...
@@ -404,6 +417,24 @@ export default {
...
@@ -404,6 +417,24 @@ export default {
this
.
getOrgTree
();
this
.
getOrgTree
();
this
.
getMailList
(
1
,
1
)
this
.
getMailList
(
1
,
1
)
this
.
$message
.
success
(
'删除成功'
)
this
.
$message
.
success
(
'删除成功'
)
},
handleSingleDelete
(
id
)
{
this
.
$confirm
(
'删除后该店员将会被移到未分组, 是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
deleteNormalPerson
({
id
}).
then
(
res
=>
{
if
(
res
.
result
==
'success'
)
{
this
.
$message
.
success
(
"操作成功!"
)
this
.
getMailList
(
1
,
1
)
}
else
{
this
.
$message
.
error
(
"操作失败!"
)
}
})
}).
catch
(()
=>
{
this
.
$message
.
info
(
"取消删除"
)
});
}
}
}
}
};
};
...
@@ -412,6 +443,9 @@ export default {
...
@@ -412,6 +443,9 @@ export default {
.el-tree--highlight-current
.el-tree-node.is-current
>
.el-tree-node__content
{
.el-tree--highlight-current
.el-tree-node.is-current
>
.el-tree-node__content
{
background-color
:
#d0d0d0
!important
;
background-color
:
#d0d0d0
!important
;
}
}
.myCell
.el-checkbox__input
{
display
:
none
}
</
style
>
</
style
>
<
style
scoped
>
<
style
scoped
>
.trees
>>>
.el-tree--highlight-current
.el-tree-node.is-current
>
.el-tree-node__content
{
.trees
>>>
.el-tree--highlight-current
.el-tree-node.is-current
>
.el-tree-node__content
{
...
...
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