Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
SuperMan
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
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
罗超
SuperMan
Commits
f56dfcf3
Commit
f56dfcf3
authored
Apr 19, 2019
by
华国豪
🙄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增B2B菜单管理
parent
38dfdd7a
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
432 additions
and
0 deletions
+432
-0
BmenuManagement.vue
src/components/activity/BmenuManagement.vue
+424
-0
config.js
src/router/config.js
+8
-0
No files found.
src/components/activity/BmenuManagement.vue
0 → 100644
View file @
f56dfcf3
<
style
>
</
style
>
<
template
>
<div
class=
"flexOne"
>
<div
class=
"query-box"
>
<ul>
<li>
<span><em>
名称
</em>
<el-input
v-model=
'msg.MenuName'
class=
"permiss-input"
placeholder=
"请输入内容"
></el-input>
</span>
</li>
<!--
<li>
<span><em>
权限层级
</em>
<el-select
v-model=
'msg.Tier'
placeholder=
"请选择"
>
<el-option
label=
"不限"
value=
"0"
></el-option>
<el-option
label=
"一级"
value=
"1"
></el-option>
<el-option
label=
"二级"
value=
"2"
></el-option>
<el-option
label=
"三级"
value=
"3"
></el-option>
</el-select>
</span>
</li>
-->
<li>
<span><em>
上级权限
</em>
<el-select
filterable
v-model=
'msg.ParentId'
filterable
placeholder=
"请选择"
>
<el-option
label=
"不限"
value=
"0"
></el-option>
<el-option
v-for=
"item in getParentNodeData"
:key=
"item.MenuId"
:label=
"item.MenuName"
:value=
"item.MenuId"
>
</el-option>
</el-select>
</span>
</li>
<li>
<span><em>
状态
</em>
<el-select
v-model=
"msg.MenuStatus"
placeholder=
"请选择"
>
<el-option
label=
"不限"
value=
"-1"
></el-option>
<el-option
label=
"开启"
value=
"0"
></el-option>
<el-option
label=
"关闭"
value=
"1"
></el-option>
</el-select>
</span>
</li>
<li>
<input
type=
"button"
class=
"hollowFixedBtn"
name=
""
id=
""
value=
"查询"
@
click=
"resetPageIndex(),getList()"
/>
<input
type=
"button"
@
click=
"outerVisible = true,dialogTitle='新增权限菜单',clearMessage();"
class=
"normalBtn"
value=
"新增"
/>
</li>
</ul>
</div>
<table
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<th
width=
"300"
>
名称
</th>
<th
width=
"500"
>
菜单地址
</th>
<th>
层级
</th>
<th>
状态
</th>
<th
width=
"200"
>
分组名称
</th>
<th
width=
"100"
>
排序
</th>
<th
width=
"100"
>
操作
</th>
</tr>
<tr
v-for=
"(item,index) in DataList"
>
<td>
{{
item
.
MenuName
}}
</td>
<td>
{{
item
.
MenuUrl
}}
</td>
<td>
{{
item
.
Tier
|
tierFormat
(
item
.
Tier
)
}}
</td>
<td>
{{
item
.
MenuStatus
==
0
?
'开启'
:
'关闭'
}}
</td>
<td>
{{
item
.
GroupingCode
}}
</td>
<td>
{{
item
.
Sort
}}
</td>
<td>
<el-row>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"修改"
placement=
"top-start"
>
<el-button
@
click=
"outerVisible = true,dialogTitle='修改权限菜单',updateData(index,item.MenuId)"
type=
"primary"
icon=
"el-icon-edit"
circle
></el-button>
</el-tooltip>
</el-row>
</td>
</tr>
</table>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
"msg.pageSize"
:total=
'total'
>
</el-pagination>
<el-dialog
custom-class=
'w750'
:title=
"dialogTitle"
:visible
.
sync=
"outerVisible"
center
:before-close=
"closeChangeMachie"
>
<el-form
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
label-width=
"120px"
>
<table
class=
"layerNoIcon"
>
<tr>
<td>
<el-form-item
label=
"名称"
prop=
"mName"
>
<el-input
maxlength=
'50'
class=
'w200'
type=
"text"
v-model=
"addMsg.mName"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</el-form-item>
</td>
<td>
<el-form-item
label=
"菜单URL"
prop=
"mUrl"
>
<el-input
maxlength=
'50'
class=
'w200'
type=
"text"
v-model=
"addMsg.mUrl"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</el-form-item>
</td>
</tr>
<tr>
<!--
<td>
<el-form-item
label=
"权限层级"
prop=
"Tier"
>
<el-select
class=
'w200'
v-model=
"addMsg.Tier"
@
change=
'getChildMenu'
placeholder=
"请选择"
>
<el-option
label=
"一级"
value=
"1"
></el-option>
<el-option
label=
"二级"
value=
"2"
></el-option>
<el-option
label=
"三级"
value=
"3"
></el-option>
</el-select>
</el-form-item>
</td>
-->
<td>
<el-form-item
label=
"分组名称"
>
<el-input
maxlength=
'50'
class=
'w200'
type=
"text"
v-model=
"addMsg.GroupingCode"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</el-form-item>
</td>
<td>
<el-form-item
label=
"上级权限"
prop=
"ParentId"
>
<el-select
filterable
class=
'w200'
v-model=
'addMsg.ParentId'
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
v-for=
"item in layerGetParentNodeData"
:key=
"item.MenuId"
:label=
"item.MenuName"
:value=
"item.MenuId"
>
</el-option>
</el-select>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item
label=
"菜单图标"
>
<el-input
class=
'w200'
type=
"text"
maxlength=
'50'
v-model=
"addMsg.MenuStyleIcon"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</el-form-item>
</td>
<td>
<el-form-item
label=
"排序"
prop=
'Sort'
>
<el-input
maxlength=
'50'
class=
'w200'
@
keyup
.
native=
"checkInteger(addMsg,'Sort')"
type=
"text"
v-model=
"addMsg.Sort"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item
label=
"状态"
>
<el-switch
v-model=
"addMsg.MenuStatus"
active-value=
"0"
inactive-value=
"1"
></el-switch>
</el-form-item>
</td>
</tr>
</table>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<button
class=
"hollowFixedBtn"
@
click=
"outerVisible = false,resetForm('addMsg'),getList()"
>
{{
$t
(
'pub.cancelBtn'
)
}}
</button>
<button
class=
"normalBtn"
type=
"primary"
@
click=
"submitForm('addMsg'),getList()"
>
{{
$t
(
'pub.saveBtn'
)
}}
</button>
</div>
</el-dialog>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
let
validateParent
=
(
rule
,
value
,
callback
)
=>
{
if
(
this
.
addMsg
.
Tier
!=
'1'
&&
this
.
addMsg
.
Tier
!=
''
&&
value
==
''
)
{
return
callback
(
new
Error
(
'请选择上级层级'
));
}
else
{
callback
();
}
}
let
validateUrl
=
(
rule
,
value
,
callback
)
=>
{
if
(
this
.
addMsg
.
Tier
==
'3'
&&
this
.
addMsg
.
Tier
!=
''
&&
value
==
''
)
{
return
callback
(
new
Error
(
'请输入菜单URL'
));
}
else
{
callback
();
}
}
return
{
dialogTitle
:
''
,
DataList
:
''
,
total
:
0
,
pageSize
:
''
,
currentPage
:
1
,
thisColor
:
'#E95252'
,
predefineColors
:
[
'#ff4500'
,
'#ff8c00'
,
'#ffd700'
,
'#90ee90'
,
'#00ced1'
,
'#1e90ff'
,
'#c71585'
,
],
outerVisible
:
false
,
addStatus
:
[{
value
:
'0'
,
label
:
'开启'
},
{
value
:
'1'
,
label
:
'关闭'
}],
msg
:
{
//列表查询请求数据
pageIndex
:
1
,
pageSize
:
15
,
MenuName
:
''
,
ParentId
:
''
,
MenuStatus
:
'0'
,
Tier
:
''
,
type
:
'1'
,
mName
:
''
,
mUrl
:
''
,
mStatus
:
0
,
},
addMsg
:
{
Id
:
0
,
mName
:
''
,
mUrl
:
''
,
ParentId
:
''
,
mStyle
:
''
,
mStatus
:
1
,
sort
:
''
},
rules
:
{
Sort
:
[{
required
:
true
,
message
:
'请输入排序'
,
trigger
:
'blur'
}],
mName
:
[{
required
:
true
,
message
:
'请输入菜单名称'
,
trigger
:
'blur'
}],
Tier
:
[{
required
:
true
,
message
:
'请选择菜单层级'
,
trigger
:
'change'
}],
ParentId
:
[{
validator
:
validateParent
,
trigger
:
'change'
}],
mUrl
:
[{
validator
:
validateUrl
,
trigger
:
'blur'
}],
},
getParentNodeMsg
:
{
'Tier'
:
'0'
,
"ParentId"
:
'0'
,
"MenuStatus"
:
'0'
,
"MenuName"
:
''
,
},
layerGetParentNodeData
:
[],
getParentNodeData
:
[],
currentUpdateIndex
:
-
1
}
},
mounted
()
{
this
.
getallmenu
()
this
.
getList
();
this
.
getParentNode
()
},
filters
:
{
tierFormat
(
value
)
{
if
(
value
==
'1'
)
return
'一级'
if
(
value
==
'2'
)
return
'二级'
if
(
value
==
'3'
)
return
'三级'
}
},
methods
:
{
getallmenu
(){
let
msg
=
{
type
:
-
1
,
parentId
:
0
,
mName
:
''
,
mUrl
:
''
,
mStatus
:
''
,
}
this
.
apiJavaPost
(
"/api/menumanager/getallmenu"
,
this
.
msg
,
res
=>
{
console
.
log
(
res
)
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
dataList
=
res
.
data
.
data
;
console
.
log
(
this
.
dataList
,
'datalist'
);
}
else
{
this
.
Error
(
res
.
data
.
message
)
}
},
null
);
},
getParentNode
()
{
//上级权限
this
.
apipost
(
'admin_get_SysMenuGetList'
,
this
.
getParentNodeMsg
,
res
=>
{
if
(
this
.
outerVisible
)
{
this
.
layerGetParentNodeData
=
res
.
data
.
data
;
}
else
{
this
.
getParentNodeData
=
res
.
data
.
data
;
}
},
err
=>
{})
},
getList
()
{
//列表查询
this
.
apiJavaPost
(
"/api/menumanager/getallmenu"
,
this
.
msg
,
res
=>
{
console
.
log
(
res
)
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
dataList
=
res
.
data
.
data
;
console
.
log
(
this
.
dataList
,
'datalist'
);
}
else
{
this
.
Error
(
res
.
data
.
message
)
}
},
null
);
},
getChildMenu
()
{
this
.
addMsg
.
ParentId
=
''
;
if
(
this
.
addMsg
.
Tier
==
1
)
{
this
.
addMsg
.
ParentId
=
-
1
;
this
.
layerGetParentNodeData
=
[
{
MenuId
:
-
1
,
MenuName
:
'B2B前台菜单'
},
{
MenuId
:
-
2
,
MenuName
:
'个人中心菜单'
}
];
}
else
{
this
.
getParentNodeMsg
.
Tier
=
this
.
addMsg
.
Tier
-
1
;
this
.
getParentNode
();
}
},
addData
()
{
//新增数据
if
(
this
.
addMsg
.
MenuName
==
''
)
{
this
.
$message
.
error
(
'菜单名不能为空'
);
return
}
let
mStyle
=
{
"icon"
:
""
,
"color"
:
""
};
mStyle
.
icon
=
this
.
addMsg
.
MenuStyleIcon
;
mStyle
.
color
=
this
.
addMsg
.
MenuStyleColor
;
this
.
addMsg
.
MenuStyle
=
JSON
.
stringify
(
mStyle
);
if
(
this
.
addMsg
.
Tier
==
1
)
this
.
addMsg
.
ParentId
=
0
this
.
apipost
(
'admin_post_SysMenuSet'
,
this
.
addMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
outerVisible
=
false
;
this
.
$message
.
success
(
res
.
data
.
message
)
if
(
this
.
currentUpdateIndex
>
-
1
)
{
this
.
DataList
[
this
.
currentUpdateIndex
]
=
this
.
addMsg
}
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
err
=>
{})
},
updateData
(
index
,
id
)
{
//修改
this
.
apipost
(
'admin_get_SysMenuGet'
,
{
MenuId
:
id
},
res
=>
{
let
updateList
=
res
.
data
.
data
this
.
addMsg
.
MenuId
=
id
this
.
addMsg
.
MenuName
=
updateList
.
MenuName
this
.
addMsg
.
Tier
=
updateList
.
Tier
.
toString
()
this
.
addMsg
.
ParentId
=
updateList
.
ParentId
this
.
addMsg
.
Sort
=
updateList
.
Sort
this
.
addMsg
.
GroupingCode
=
updateList
.
GroupingCode
this
.
addMsg
.
MenuUrl
=
updateList
.
MenuUrl
this
.
addMsg
.
MenuStatus
=
updateList
.
MenuStatus
.
toString
()
let
style
=
JSON
.
parse
(
updateList
.
MenuStyle
)
this
.
addMsg
.
MenuStyleIcon
=
style
.
icon
this
.
addMsg
.
MenuStyleColor
=
style
.
color
this
.
currentUpdateIndex
=
index
},
err
=>
{})
this
.
getChildMenu
();
if
(
this
.
addMsg
.
MenuStyle
&&
this
.
addMsg
.
MenuStyle
!=
""
)
{
let
style
=
JSON
.
parse
(
this
.
DataList
[
index
].
MenuStyle
)
this
.
addMsg
.
MenuStyleIcon
=
style
.
icon
this
.
addMsg
.
MenuStyleColor
=
style
.
color
}
this
.
currentUpdateIndex
=
index
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
clearMessage
()
{
this
.
addMsg
=
{
'Tier'
:
''
,
'MenuName'
:
''
,
'MenuUrl'
:
''
,
'ParentId'
:
''
,
'MenuStyle'
:
''
,
'MenuStatus'
:
'0'
,
MenuStyleIcon
:
''
,
MenuStyleColor
:
''
}
},
resetPageIndex
()
{
this
.
msg
.
pageIndex
=
1
this
.
currentPage
=
1
},
submitForm
(
addMsg
)
{
//提交创建、修改表单
this
.
$refs
[
addMsg
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
addData
()
}
else
{
return
false
;
}
});
},
closeChangeMachie
(
done
)
{
//弹出框关闭初始化弹框内表单
done
();
this
.
resetForm
(
'addMsg'
);
},
resetForm
(
formName
)
{
//弹出框取消 初始化谈框内表单
this
.
$refs
[
formName
].
resetFields
();
}
}
}
</
script
>
\ No newline at end of file
src/router/config.js
View file @
f56dfcf3
...
@@ -2992,6 +2992,14 @@ export default {
...
@@ -2992,6 +2992,14 @@ export default {
title
:
'奖项列表'
title
:
'奖项列表'
}
}
},
},
,
{
path
:
'/BmenuManagement'
,
name
:
'BmenuManagement'
,
component
:
resolve
=>
require
([
'@/components/activity/BmenuManagement'
],
resolve
),
meta
:
{
title
:
'B2B菜单管理'
}
},
]
]
},
},
{
{
...
...
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