Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
C
cms_sys
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
西魏
cms_sys
Commits
96891a14
Commit
96891a14
authored
Jan 25, 2019
by
ms-dev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改页面
parent
4689b4e5
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
411 additions
and
0 deletions
+411
-0
index.ftl
src/main/webapp/WEB-INF/manager/index.ftl
+262
-0
login.ftl
src/main/webapp/WEB-INF/manager/login.ftl
+149
-0
No files found.
src/main/webapp/WEB-INF/manager/index.ftl
0 → 100644
View file @
96891a14
<!DOCTYPE html>
<html>
<head>
<meta
charset=
"UTF-8"
>
<title></title>
<meta
charset=
"utf-8"
>
<!--浏览器小图标-->
<link
rel=
"icon"
href=
"http://cdn.mingsoft.net/global/static/ms-admin/4.7.0//ms.ico"
type=
"x-icon"
>
<script
type=
"text/javascript"
src=
"https://unpkg.com/vue@2.5.21/dist/vue.min.js"
></script>
<!--小图标-->
<link
rel=
"stylesheet"
href=
"//at.alicdn.com/t/font_847907_mkdvd7gopsg.css"
>
<link
rel=
"stylesheet"
href=
"//at.alicdn.com/t/font_974973_42u7cwycwta.css"
>
<!-- 引入样式 -->
<link
rel=
"stylesheet"
href=
"https://unpkg.com/element-ui/lib/theme-chalk/index.css"
>
<!-- 引入组件库 -->
<script
src=
"https://unpkg.com/element-ui/lib/index.js"
></script>
<!--网络请求框架-->
<script
src=
"https://cdn.bootcss.com/axios/0.18.0/axios.min.js"
></script>
<script
src=
"https://cdn.bootcss.com/qs/6.5.2/qs.min.js"
></script>
<!--铭飞-->
<script
src=
"http://cdn.mingsoft.net/ms/1.0/ms.js"
></script>
<script
src=
"http://cdn.mingsoft.net/ms/1.0/ms.http.js"
></script>
<script
src=
"http://cdn.mingsoft.net/ms/1.0/ms.util.js"
></script>
<link
rel=
"stylesheet"
href=
"${base}/static/ms-admin/4.7.0/less/ms.less"
type=
"text/less"
>
<link
rel=
"stylesheet"
href=
"${base}/static/ms-admin/4.7.0/css/index.css"
type=
"text/css"
>
<script>
ms
.
base
=
'${base}'
;
</script>
</head>
<body>
<div
id=
"app"
>
<el-container>
<!--头部-->
<el-header
class=
"ms-admin-header"
>
<el-aside
width=
"200px"
class=
"ms-admin-logo"
>
<img
:src=
"ms.base+'/static/ms-admin/4.7.0/images/logo.png'"
/>
<div>
<img
:src=
"ms.base+'/static/ms-admin/4.7.0/images/version.png'"
/>
<span>
v4.6.3
</span>
</div>
</el-aside>
<!--头部menu-->
<el-menu
class=
"ms-admin-header-menu"
:default-active=
"0+''"
mode=
"horizontal"
>
<el-menu-item
class=
"ms-admin-menu-item"
:index=
"i+''"
v-for=
"(menu,i) in mainParentMenuList"
:key=
'i'
@
click=
"openMenu(menu,i)"
v-text=
"menu.modelTitle"
></el-menu-item>
<el-menu-item
class=
"ms-admin-menu-item"
:index=
"menuList.length+''"
@
click=
''
>
<i
class=
"iconfont icon-gengduo"
@
click
.
stop
.
self=
'shortcutMenu = !shortcutMenu'
></i>
</el-menu-item>
<!-- 快捷菜单 -->
<ul
class=
"ms-admin-shortcut-menu"
v-show=
'shortcutMenu'
>
<li
v-for=
"(item,index) of parentMenuList"
:key=
'index'
v-text=
'item.modelTitle'
@
click=
'openMenu(item,index)'
></li>
<i
class=
"iconfont icon-gengduo"
@
click
.
stop
.
self=
'shortcutMenu = !shortcutMenu'
></i>
</ul>
</el-menu>
<!--头部右侧-->
<el-main
class=
"ms-admin-mstore"
>
<!--登录-->
<el-dropdown
trigger=
"click"
class=
"ms-admin-login"
placement=
"top-start"
@
visible-change=
"loginDown = !loginDown"
>
<span
class=
"el-dropdown-link"
:class=
"{'active':loginDown}"
>
<img
src=
"http://cdn.mingsoft.net/global/static/ms-admin/4.7.0//msheader.png"
/>
<span>
管理员
</span>
</span>
<el-dropdown-menu
class=
"ms-admin-login-down"
slot=
"dropdown"
>
<el-dropdown-item>
修改密码
</el-dropdown-item>
<el-dropdown-item>
退出
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<!--mstore按钮-->
<div
class=
"ms-admin-mstore-icon"
>
<i
class=
"iconfont icon-gengduo1"
></i>
</div>
</el-main>
</el-header>
<el-container
class=
"ms-admin-container"
>
<!--菜单-->
<el-aside
:class=
"['ms-admin-menu-aside',{'ms-admin-menu-aside-active':collapseMenu}]"
>
<el-menu
:class=
"['ms-admin-menu',{'ms-admin-menu-active':collapseMenu}]"
:default-active=
"menuActive"
:collapse=
"collapseMenu"
mode=
'vertical'
:collapse-transition=
'true'
:unique-opened=
'true'
ref=
'menu'
>
<el-submenu
:index=
"i+''"
v-for=
"(menu,i) in parentMenuList"
:key=
'i'
>
<template
slot=
"title"
>
<i
class=
"iconfont"
:class=
"iconType(menu.modelTitle)"
></i>
<span
v-text=
"menu.modelTitle"
></span>
</template>
<!-- 子菜单 -->
<el-menu-item
:index=
"i+'-'+index"
v-for=
"(sub,index) in getSubMenu(menu.modelId)"
:key=
'sub.modelModelId'
v-text=
"sub.modelTitle"
@
click
.
self=
'open(sub.modelTitle,sub.modelUrl)'
></el-menu-item>
</el-submenu>
<!-- 收缩按钮 -->
<div
:class=
"['ms-menu-expand',{'ms-menu-expand-active':collapseMenu}]"
@
click=
'collapseMenu = !collapseMenu'
>
<i
class=
"iconfont icon-shousuo"
></i>
</div>
</el-menu>
</el-aside>
<!--内容-->
<el-main
class=
"ms-admin-main"
>
<!--选项卡-->
<el-tabs
class=
"ms-admin-tabs"
v-model=
"currentTab"
type=
"card"
closable
@
tab-remove=
"closeTab"
>
<el-tab-pane
v-for=
"(item, index) in editableTabs"
:key=
"index"
:label=
"item.title"
:name=
"item.title"
>
{{item.content}}
</el-tab-pane>
</el-tabs>
</el-main>
</el-container>
</el-container>
</div>
</body>
</html>
<script>
new
Vue
({
el
:
"#app"
,
data
:
{
// 预置菜单图标
icon
:{
'消息管理'
:
'icon-xiaoxiguanli'
,
'评论管理'
:
'icon-pinglunguanli'
,
'内容管理'
:
'icon-bianji1'
,
'会员中心'
:
'icon-huiyuan'
,
'自定义管理'
:
'icon-gengduo-2'
,
'权限管理'
:
'icon-UPMSquanxianicon-'
,
'系统管理'
:
'icon-xitong'
,
},
menuList
:[],
//菜单接口数据
parentMenuList
:[],
//一级菜单
subMenuList
:[],
//二级菜单 所有
mainParentMenuList
:[],
//头部菜单显示主要的选项
loginDown
:
false
,
//登录下拉
menuActive
:
""
,
//选中菜单
editableTabsValue
:
''
,
editableTabs
:
[],
//当前打开的tab页面
shortcutMenu
:
false
,
//快捷菜单显示状态
collapseMenu
:
false
,
//菜单折叠,false不折叠
currentTab
:
''
,
//当前激活tab的name
tabIndex
:
2
,
},
watch
:{
menuList
:
function
(
n
,
o
){
var
that
=
this
;
n
&&
n
.
forEach
(
function
(
item
,
index
){
item
.
modelModelId
==
0
?
that
.
parentMenuList
.
push
(
item
)
:
that
.
subMenuList
.
push
(
item
)
})
},
parentMenuList
:
function
(
n
,
o
){
this
.
mainParentMenuList
=
n
.
slice
(
0
,
5
);
},
},
methods
:
{
// 菜单列表
list
:
function
(){
var
that
=
this
;
ms
.
http
.
get
(
ms
.
base
+
"/ms/model/list.do"
)
.
then
((
data
)
=>
{
that
.
menuList
=
data
.
rows
},
(
err
)
=>
{
that
.
$message
.
error
(
data
.
resultMsg
);
})
},
// 菜单打开页面
open
:
function
(
title
,
url
){
var
result
=
''
;
result
=
this
.
editableTabs
.
some
(
function
(
item
,
index
)
{
return
item
.
title
==
title
})
!
result
?
this
.
editableTabs
.
push
({
title
:
title
,
url
:
url
})
:
""
this
.
currentTab
=
title
;
// 处理其他逻辑
},
// 获取当前菜单的子菜单
getSubMenu
:
function
(
modelId
)
{
var
result
=
[];
var
that
=
this
;
that
.
subMenuList
&&
that
.
subMenuList
.
forEach
(
function
(
item
)
{
item
.
modelModelId
==
modelId
?
result
.
push
(
item
)
:
''
})
return
result
;
},
// 匹配图标
iconType
:
function
(
title
)
{
return
this
.
icon
[
title
]
||
'icon-xitongpeizhi'
},
//关闭tab标签页
closeTab
(
targetName
)
{
var
that
=
this
;
// 关闭的面板是当前激活面板
if
(
that
.
currentTab
==
targetName
){
that
.
editableTabs
.
forEach
(
function
(
tab
,
index
,
arr
)
{
if
(
tab
.
title
==
targetName
){
var
nextTab
=
arr
[
index
+
1
]
||
arr
[
index
-
1
];
if
(
nextTab
){
that
.
currentTab
=
nextTab
.
title
}
}
})
}
// 关闭的不是当前面板
that
.
editableTabs
=
that
.
editableTabs
.
filter
(
function
(
tab
)
{
return
tab
.
title
!==
targetName
})
},
// 头部导航打开菜单
openMenu
:
function
(
menu
,
index
){
this
.
$refs
.
menu
.
open
(
index
);
var
children
=
[];
this
.
menuList
.
forEach
(
function
(
tab
)
{
if
(
tab
.
modelModelId
==
menu
.
modelId
){
children
.
push
(
tab
)
}
})
this
.
currentTab
=
children
[
0
]
&&
children
[
0
].
modelTitle
;
this
.
open
(
children
[
0
].
modelTitle
,
children
[
0
].
modelUrl
);
var
that
=
this
;
setTimeout
(
function
(){
that
.
shortcutMenu
=
false
},
50
)
}
},
mounted
:
function
(){
// 菜单列表
this
.
list
();
},
})
</script>
\ No newline at end of file
src/main/webapp/WEB-INF/manager/login.ftl
0 → 100644
View file @
96891a14
<!DOCTYPE html>
<html
lang=
""
>
<head>
<meta
charset=
"UTF-8"
>
<title></title>
<meta
charset=
"utf-8"
>
<!--浏览器小图标-->
<link
rel=
"icon"
href=
"http://cdn.mingsoft.net/global/images/ms.ico"
type=
"x-icon"
>
<script
type=
"text/javascript"
src=
"https://unpkg.com/vue@2.5.21/dist/vue.min.js"
></script>
<!--小图标-->
<link
rel=
"stylesheet"
href=
"//at.alicdn.com/t/font_847907_mkdvd7gopsg.css"
>
<!-- 引入样式 -->
<link
rel=
"stylesheet"
href=
"https://unpkg.com/element-ui/lib/theme-chalk/index.css"
>
<!-- 引入组件库 -->
<script
src=
"https://unpkg.com/element-ui/lib/index.js"
></script>
<!--网络请求框架-->
<script
src=
"https://cdn.bootcss.com/axios/0.18.0/axios.min.js"
></script>
<script
src=
"https://cdn.bootcss.com/qs/6.5.2/qs.min.js"
></script>
<!--铭飞-->
<script
src=
"http://cdn.mingsoft.net/ms/1.0/ms.js"
></script>
<script
src=
"http://cdn.mingsoft.net/ms/1.0/ms.http.js"
></script>
<script
src=
"http://cdn.mingsoft.net/ms/1.0/ms.util.js"
></script>
<link
rel=
"stylesheet"
href=
"${base}/static/ms-admin/4.7.0/less/ms.less"
>
<link
rel=
"stylesheet"
href=
"${base}/static/ms-admin/4.7.0/css/login.css"
>
<script>
ms
.
base
=
"${base}"
;
ms
.
manager
=
"${managerPath}"
;
</script>
</head>
<body>
<div
id=
"login"
class=
"login"
>
<el-container
class=
"ms-admin-login-container"
>
<el-main
class=
"ms-admin-login-main"
>
<div
class=
"ms-admin-login-warp"
>
<img
:src=
"ms.base+'/static/ms-admin/4.7.0/images/login-slogn.png'"
>
<el-form
:model=
"loginForm"
status-icon
:rules=
"loginFormRule"
ref=
"loginForm"
label-width=
"100px"
class=
"ms-admin-login-form"
>
<h1><span>
账户登录 /
</span>
User login
</h1>
<el-form-item
prop=
"name"
class=
"ms-admin-form-item"
>
<el-input
type=
"text"
placeholder=
'用户名'
v-model=
"loginForm.managerName"
autocomplete=
"off"
></el-input>
</el-form-item>
<el-form-item
prop=
"pass"
class=
"ms-admin-form-item"
>
<el-input
type=
"password"
placeholder=
'密码'
v-model=
"loginForm.managerPassword"
autocomplete=
"off"
></el-input>
</el-form-item>
<el-form-item
prop=
"code"
class=
"ms-admin-form-item ms-admin-form-item-code"
>
<el-input
type=
"text"
placeholder=
'验证码'
v-model=
"loginForm.rand_code"
autocomplete=
"off"
></el-input>
<img
:src=
"code"
class=
"code-img"
@
click=
"code"
/>
<p><span>
看不清?
</span><span>
换一张
</span></p>
</el-form-item>
<el-form-item
class=
"ms-admin-form-item ms-admin-form-item-checkout"
>
<el-checkbox
v-model=
"rememberPass"
>
记住密码
</el-checkbox>
</el-form-item>
<el-form-item
class=
"ms-admin-form-item"
>
<el-button
type=
"primary"
@
click=
"checkLogin"
class=
"ms-admin-login-btn"
>
登录
</el-button>
</el-form-item>
</el-form>
</div>
</el-main>
</el-container>
</div>
</body>
</html>
<script>
var
loginVue
=
new
Vue
({
el
:
'#login'
,
data
:
{
loginForm
:
{
managerName
:
''
,
managerPassword
:
""
,
rand_code
:
''
,
},
code
:
ms
.
base
+
"/code?t="
+
new
Date
().
getTime
(),
rememberPass
:
''
,
loginFormRule
:
{
managerName
:
[{
required
:
true
,
message
:
'请输入用户名'
,
trigger
:
'blur'
},
{
min
:
3
,
max
:
6
,
message
:
'长度在 3 到 5 个字符'
,
trigger
:
'blur'
}
],
managerPassword
:
[{
required
:
true
,
message
:
'请输入密码'
,
trigger
:
'blur'
},
{
min
:
6
,
max
:
20
,
message
:
'长度在 6 到 20 个字符'
,
trigger
:
'blur'
}
],
rand_code
:
[{
required
:
true
,
message
:
'请填写验证码'
,
trigger
:
'blur'
},
{
min
:
1
,
max
:
4
,
message
:
'长度在1 到 4 个字符'
,
trigger
:
'blur'
}
],
}
},
methods
:
{
// 登录
checkLogin
:
function
(
form
)
{
var
that
=
this
;
ms
.
http
.
post
(
ms
.
base
+
"/ms/checkLogin.do"
,
form
).
then
(
function
(
data
)
{
if
(
data
.
result
)
{
that
.
$notify
({
title
:
'成功'
,
message
:
'登录成功'
,
type
:
'success'
});
location
.
href
=
ms
.
manager
+
"/index.do"
;
}
else
{
that
.
$notify
({
title
:
'失败'
,
message
:
data
.
resultMsg
,
type
:
'warning'
});
}
},
(
err
)
=>
{
that
.
$message
.
error
(
data
.
resultMsg
);
})
},
code
:
function
()
{
code
:
ms
.
base
+
"/code?t="
+
new
Date
().
getTime
();
},
},
mounted
:
{
}
})
</script>
\ No newline at end of file
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