修改访问不了静态页面问题
This commit is contained in:
31
zyplayer-doc-manage/src/main/webapp/static/manage/about.html
Normal file
31
zyplayer-doc-manage/src/main/webapp/static/manage/about.html
Normal file
@@ -0,0 +1,31 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>关于</title>
|
||||
<link rel="stylesheet" type="text/css" href="../lib/zui/css/zui.min.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="app">
|
||||
这是一个关于页面,更多内容敬请关注:<a href="https://gitee.com/zyplayer/zyplayer-doc" target="_blank"> zyplayer-doc-manage</a>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<script src="../lib/jquery/jquery-3.1.0.min.js"></script>
|
||||
<script src="../lib/zui/js/zui.min.js"></script>
|
||||
<script src="../lib/vue/vue.js"></script>
|
||||
<script src="../lib/mg/js/common.js"></script>
|
||||
|
||||
<script>
|
||||
|
||||
</script>
|
||||
|
||||
<style>
|
||||
body{padding: 10px;}
|
||||
</style>
|
||||
</html>
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
<!doctype html>
|
||||
<html xmlns:v-on="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>权限列表</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../lib/zui/css/zui.min.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="app">
|
||||
<table class="table table-bordered table-hover table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>权限名</th>
|
||||
<th>权限说明</th>
|
||||
<th>创建时间</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(item,index) in authList" :key="item.id" :data-id="item.id" :data-index="index" >
|
||||
<td>{{item.authName}}</td>
|
||||
<td>{{item.authDesc}}</td>
|
||||
<td>{{item.creationTime}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<script src="../../lib/jquery/jquery-3.1.0.min.js"></script>
|
||||
<script src="../../lib/zui/js/zui.min.js"></script>
|
||||
<script src="../../lib/vue/vue.js"></script>
|
||||
<script src="../../lib/mg/js/common.js"></script>
|
||||
<script src="../../lib/mg/js/toast.js"></script>
|
||||
|
||||
<script>
|
||||
var app = new Vue({
|
||||
el: '#app',
|
||||
data: {
|
||||
authList: [],
|
||||
},
|
||||
mounted: function(){
|
||||
this.refreshList();
|
||||
},
|
||||
methods: {
|
||||
refreshList: function () {
|
||||
post(ctx + "auth/info/list", {}, function(json){
|
||||
if(validateResult(json)) {
|
||||
app.authList = json.data;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<style>
|
||||
body{padding: 10px;}
|
||||
</style>
|
||||
</html>
|
||||
|
||||
|
||||
|
||||
174
zyplayer-doc-manage/src/main/webapp/static/manage/home.html
Normal file
174
zyplayer-doc-manage/src/main/webapp/static/manage/home.html
Normal file
@@ -0,0 +1,174 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
|
||||
<title>文档管理系统</title>
|
||||
<link rel="shortcut icon" href="../lib/mg/img/api.ico"/>
|
||||
<link rel="stylesheet" href="../lib/zui/css/zui.min.css" />
|
||||
<link rel="stylesheet" href="../lib/zui/lib/dashboard/zui.dashboard.min.css" />
|
||||
<link rel="stylesheet" href="../lib/zui/lib/tabs/zui.tabs.min.css" />
|
||||
<link rel="stylesheet" href="../lib/mg/css/mg-ui.css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="showLeftContent">
|
||||
<i class="icon icon-chevron-right"></i>
|
||||
</div>
|
||||
<div class="left-body" id="leftContent">
|
||||
<div class="left-header">
|
||||
<span class="logo" id="logoText">zyplayer-doc-manage</span>
|
||||
<i class="icon icon-bars" id="changeContentWidth"></i>
|
||||
</div>
|
||||
<div class="scrollbar-hover left-container">
|
||||
<!-- 样式类可选:tree-menu tree-folders tree-chevrons tree-angles -->
|
||||
<ul class="tree tree-lines tree-menu projects" data-ride="tree" id="tabZpagesNavigationUl">
|
||||
<li>
|
||||
<a href="#"><i class="icon icon-group"></i> 系统管理</a>
|
||||
<ul>
|
||||
<li><a href="#" class="page-nav" data-id="user-manage" data-href="./user/manage.html" data-icon="icon-user" data-reload="0"><i class="icon-user"></i> 人员管理</a></li>
|
||||
<li><a href="#" class="page-nav" data-id="auth-manage" data-href="./auth/manage.html" data-icon="icon-lock" data-reload="1"><i class="icon-lock"></i> 权限列表</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#"><i class="icon icon-window-alt"></i> 文档查看页面</a>
|
||||
<ul>
|
||||
<li><a href="#" class="page-nav" data-id="zyplayer-doc-db" data-href="../../doc-db.html" data-icon="icon-database" data-reload="1"><i class="icon-database"></i> 数据库文档</a></li>
|
||||
<li><a href="#" class="page-nav" data-id="zyplayer-doc-swagger" data-href="../../document.html" data-icon="icon-file-code" data-reload="1"><i class="icon-file-code"></i> zyplayer-doc-swagger</a></li>
|
||||
<li><a href="#" class="page-nav" data-id="swagger-bootstrap-ui" data-href="../../doc.html" data-icon="icon-file-code" data-reload="1"><i class="icon-file-code"></i> swagger-bootstrap-ui</a></li>
|
||||
<li><a href="#" class="page-nav" data-id="springfox-swagger-ui" data-href="../../swagger-ui.html" data-icon="icon-file-code" data-reload="1"><i class="icon-file-code"></i> springfox-swagger-ui</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#"><i class="icon icon-window-alt"></i> 独立文档页面</a>
|
||||
<ul>
|
||||
<li><a target="_blank" href="../../doc-db.html"><i class="icon-window"></i> 数据库文档</a></li>
|
||||
<li><a target="_blank" href="../../document.html"><i class="icon-window"></i> zyplayer-doc-swagger</a></li>
|
||||
<li><a target="_blank" href="../../doc.html"><i class="icon-window"></i> swagger-bootstrap-ui</a></li>
|
||||
<li><a target="_blank" href="../../swagger-ui.html"><i class="icon-window"></i> springfox-swagger-ui</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#"><i class="icon icon-window-alt"></i> 信息管理</a>
|
||||
<ul>
|
||||
<li><a href="#" class="page-nav" data-id="operation-log" data-href="./user/operation-log.html" data-icon="icon-check-board" data-reload="1"><i class="icon-check-board"></i> 操作日志</a></li>
|
||||
<li><a href="#" class="user-signout"><i class="icon-signout"></i> 退出登录</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="resizableLeftRight" class="ui-resizable-handle mgresizableW"></div>
|
||||
<div class="right-container" id="rightContent">
|
||||
<div class="right-container" id="rightContentMask"></div>
|
||||
<div class="tab-page tab-zpages hide">
|
||||
<div class="tabs" id="rightZpages"></div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
<script type="text/javascript" src="../lib/jquery/jquery-3.1.0.min.js"></script>
|
||||
<script type="text/javascript" src="../lib/zui/js/zui.min.js"></script>
|
||||
<script type="text/javascript" src="../lib/zui/lib/tabs/zui.tabs.min.js"></script>
|
||||
<script type="text/javascript" src="../lib/zui/lib/dashboard/zui.dashboard.min.js"></script>
|
||||
|
||||
<script type="text/javascript" src="../lib/mg/js/toast.js"></script>
|
||||
<script type="text/javascript" src="../lib/mg/js/common.js"></script>
|
||||
<script type="text/javascript" src="../lib/mg/js/mgResizable.js"></script>
|
||||
|
||||
<script>
|
||||
// 文档管理的tables
|
||||
var rightContentTabs;
|
||||
/**
|
||||
* 网页加载完毕后的处理
|
||||
*/
|
||||
$(document).ready(function(){
|
||||
// 定义配置的标签页
|
||||
var tabsArr = [
|
||||
{id: 'about', url: './about.html', type: 'iframe', icon: 'icon-info-sign', forbidClose: false},
|
||||
];
|
||||
$('#rightZpages').tabs({tabs: tabsArr});
|
||||
rightContentTabs = $('#rightZpages').data('zui.tabs');
|
||||
/**
|
||||
* 自由拖动改变左右框架的宽度
|
||||
*/
|
||||
$("#resizableLeftRight").mgResizableWidth({
|
||||
prev:"#leftContent",
|
||||
prevWtMin: 120, prevWtMax: 999999,
|
||||
nextWtMin: 360, nextWtMax: 999999,
|
||||
onresize:function(prevWNow, nextWNow){
|
||||
changeContentWidth(prevWNow);
|
||||
},
|
||||
onstart:function(){
|
||||
$("body").addClass("unselect");
|
||||
$("#rightContentMask").show();
|
||||
},
|
||||
onfinish:function(){
|
||||
$("body").removeClass("unselect");
|
||||
$("#rightContentMask").hide();
|
||||
}
|
||||
});
|
||||
/**
|
||||
* 切换导航栏的隐藏或显示
|
||||
*/
|
||||
$("#changeContentWidth").click(function(){
|
||||
$("#leftContent").hide();
|
||||
$("#showLeftContent").show();
|
||||
changeContentWidth(0);
|
||||
});
|
||||
/**
|
||||
* 切换导航栏的隐藏或显示
|
||||
*/
|
||||
$("#showLeftContent").click(function(){
|
||||
$("#leftContent").show();
|
||||
$("#showLeftContent").hide();
|
||||
changeContentWidth(360);
|
||||
});
|
||||
/**
|
||||
* 退出登录
|
||||
*/
|
||||
$(".user-signout").click(function () {
|
||||
post(ctx + "logout", {}, function () {}, function () {}, function () {
|
||||
location.reload();
|
||||
});
|
||||
});
|
||||
/**
|
||||
* 页面导航切换
|
||||
*/
|
||||
$("#tabZpagesNavigationUl").on("click", ".page-nav", function(){
|
||||
var id = $(this).data("id");
|
||||
var href = $(this).data("href");
|
||||
var icon = $(this).data("icon");
|
||||
var reload = $(this).data("reload");
|
||||
$(".tab-page").hide();
|
||||
$(".tab-online-debug-page").hide();
|
||||
$(".tab-zpages").show();
|
||||
if(reload || $("#tab-"+id).length <= 0) {
|
||||
var newTab = {id: id, url: href, type: 'iframe', icon: icon};
|
||||
rightContentTabs.open(newTab);
|
||||
} else {
|
||||
$("#tab-nav-item-"+id+" .tab-nav-link").click();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
/**
|
||||
* 修改左右框架的宽度
|
||||
* @param width 左侧导航栏的宽度
|
||||
* @returns
|
||||
*/
|
||||
function changeContentWidth(width) {
|
||||
$("#leftContent").css("width", width + 'px');
|
||||
$("#resizableLeftRight").css("left", width + 'px');
|
||||
$("#rightContent").css("left", width + 'px');
|
||||
var logoText = "zyplayer-doc-manage";
|
||||
if(width < 370 && width > 290){
|
||||
logoText = "zyplayer-doc";
|
||||
} else if(width < 290){
|
||||
logoText = "doc";
|
||||
}
|
||||
$("#logoText").text(logoText);
|
||||
userSettings.prevWNow = width;
|
||||
}
|
||||
</script>
|
||||
|
||||
</html>
|
||||
|
||||
80
zyplayer-doc-manage/src/main/webapp/static/manage/login.html
Normal file
80
zyplayer-doc-manage/src/main/webapp/static/manage/login.html
Normal file
@@ -0,0 +1,80 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>登录</title>
|
||||
<link rel="stylesheet" type="text/css" href="../lib/mzui/css/mzui.min.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="app">
|
||||
<div class="page fade scale-from-center display in" style="overflow: hidden">
|
||||
<div class="dock blur-lg" style="background: url('../lib/mzui/img/loginBg.jpg') no-repeat center; background-size: cover; top: -2rem; right: -2rem; bottom: -2rem; left: -2rem"></div>
|
||||
<div class="dock flex flex-center">
|
||||
<div class="modal rounded" style="width: 18rem; height: 10rem; margin: auto;">
|
||||
<div class="heading divider primary-pale">
|
||||
<div class="title">登录 <span class="reason"> 您没有权限访问该内容或需要登录</span></div>
|
||||
</div>
|
||||
|
||||
<div class="content box">
|
||||
<div class="control has-label-left"><!-- has-error -->
|
||||
<input type="text" name="username" class="input" v-model="userId" placeholder="用户名">
|
||||
<label for="account"><i class="icon-user"></i></label>
|
||||
<div class="help-text" v-if="errorInfo.length > 0">{{errorInfo}}</div>
|
||||
</div>
|
||||
<div class="control has-label-left">
|
||||
<input type="password" name="password" v-model="password" class="input" placeholder="密码">
|
||||
<input type="hidden" name="validateCode" value="1234">
|
||||
<label for="account"><i class="icon-key"></i></label>
|
||||
</div>
|
||||
<div class="control">
|
||||
<button type="submit" v-on:click="loginSubmit" class="btn block primary">登录</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
<script src="../lib/jquery/jquery-3.1.0.min.js"></script>
|
||||
<script src="../lib/mzui/js/mzui.min.js"></script>
|
||||
<script src="../lib/vue/vue.js"></script>
|
||||
<script src="../lib/mg/js/common.js"></script>
|
||||
|
||||
<script>
|
||||
var app = new Vue({
|
||||
el: '#app',
|
||||
data: {
|
||||
userId: "",
|
||||
password: "",
|
||||
errorInfo: ""
|
||||
},
|
||||
methods: {
|
||||
loginSubmit: function() {
|
||||
var param = {
|
||||
username: app.userId,
|
||||
password: app.password,
|
||||
validateCode: "1234"
|
||||
};
|
||||
post(ctx + "login", param, function(result) {
|
||||
console.log(result);
|
||||
if(result.errCode == 200) {
|
||||
location.href = result.data;
|
||||
} else {
|
||||
alert("登录失败," + result.errMsg);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.reason{color: #f00;font-size: 12px;}
|
||||
</style>
|
||||
</html>
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,233 @@
|
||||
<!doctype html>
|
||||
<html xmlns:v-on="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>用户管理</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../lib/zui/css/zui.min.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="app">
|
||||
<table class="table table-bordered table-hover table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 50px;"><input type="checkbox" v-model="allUserChecked" @change="allUserCheckedChange"></th>
|
||||
<th style="width: 50px;">ID</th>
|
||||
<th>登录名</th>
|
||||
<th>密码</th>
|
||||
<th>用户名</th>
|
||||
<th>邮箱</th>
|
||||
<th>创建时间</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(item,index) in userList" :key="item.id" :data-id="item.id" :data-index="index" >
|
||||
<td><label><input type="checkbox" v-model="item.checked" @change="userCheckedChange"></label></td>
|
||||
<td>{{item.id}}</td>
|
||||
<td>{{item.userNo}}</td>
|
||||
<td>***</td>
|
||||
<td>{{item.userName}}</td>
|
||||
<td>{{item.email}}</td>
|
||||
<td>{{item.creationTime}}</td>
|
||||
<td>
|
||||
<button class="btn btn-danger" type="button" @click="deleteUser(item.id)">删除</button>
|
||||
<button class="btn btn-info" type="button" @click="editUser(index)">编辑</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="showAddTr" >
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><input type="text" class="form-control" v-model="newUser.userNo"></td>
|
||||
<td><input type="text" class="form-control" v-model="newUser.password"></td>
|
||||
<td><input type="text" class="form-control" v-model="newUser.userName"></td>
|
||||
<td><input type="text" class="form-control" v-model="newUser.email"></td>
|
||||
<td></td>
|
||||
<td>
|
||||
<button class="btn btn-info" type="button" v-on:click="saveAddUser">保存</button>
|
||||
<button class="btn" type="button" v-on:click="addUserCancel">取消</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="8" align="center">
|
||||
<button class="btn" type="button" v-on:click="btnRefreshList"> 刷新 </button>
|
||||
<button class="btn btn-primary" type="button" v-on:click="addUser">增加用户</button>
|
||||
<button class="btn btn-info" type="button" v-on:click="addUserAuth">分配权限</button>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- 选择权限 -->
|
||||
<div class="modal fade" id="choiceAuthModal">
|
||||
<div class="modal-dialog" style="width: 650px;">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal">
|
||||
<span aria-hidden="true">×</span><span class="sr-only">关闭</span>
|
||||
</button>
|
||||
<h4 class="modal-title">选择分配的权限</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="alert alert-danger">选择多个用户时显示所有权限,不代表当前都具有此权限</div>
|
||||
<div class="modal-table-box">
|
||||
<ul id="choiceAuthListUl" class="choice">
|
||||
<li v-for="(item,index) in showAuthList" :class="item.checked?'checked':''"
|
||||
:key="item.id" :data-id="item.id" :data-index="index" @click="authClick(index)">
|
||||
{{item.authName}}-{{item.authDesc}}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div align="center" class="bottom-box">
|
||||
<button type="button" class="btn btn-primary" @click="choiceAuthOk"> 确定 </button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<script src="../../lib/jquery/jquery-3.1.0.min.js"></script>
|
||||
<script src="../../lib/zui/js/zui.min.js"></script>
|
||||
<script src="../../lib/vue/vue.js"></script>
|
||||
<script src="../../lib/mg/js/common.js"></script>
|
||||
<script src="../../lib/mg/js/toast.js"></script>
|
||||
|
||||
<script>
|
||||
var app = new Vue({
|
||||
el: '#app',
|
||||
data: {
|
||||
allUserChecked: false,
|
||||
showAddTr: false,
|
||||
userList: [],
|
||||
newUser: {},
|
||||
showAuthList: [],
|
||||
},
|
||||
mounted: function(){
|
||||
this.refreshList();
|
||||
},
|
||||
methods: {
|
||||
btnRefreshList: function(){
|
||||
this.refreshList();
|
||||
Toast.success("刷新成功!");
|
||||
},
|
||||
editUser: function(index){
|
||||
app.showAddTr = true;
|
||||
app.newUser = app.userList[index];
|
||||
},
|
||||
addUser: function(){
|
||||
app.showAddTr = true;
|
||||
},
|
||||
addUserCancel: function(){
|
||||
app.showAddTr = false;
|
||||
app.newUser = {};
|
||||
},
|
||||
saveAddUser: function(){
|
||||
if(isEmpty(app.newUser.userNo)) {
|
||||
Toast.error("登录名不能为空");return;
|
||||
}
|
||||
if(isEmpty(app.newUser.userName)) {
|
||||
Toast.error("用户名不能为空");return;
|
||||
}
|
||||
post(ctx + "user/info/update", app.newUser, function(json){
|
||||
if(validateResult(json)) {
|
||||
app.showAddTr = false;
|
||||
app.newUser = {};
|
||||
app.refreshList();
|
||||
}
|
||||
});
|
||||
},
|
||||
addUserAuth: function(){
|
||||
var userIds = this.getCheckedUserIds();
|
||||
if(userIds.length <= 0) {
|
||||
Toast.error("请先选中一个用户后再分配权限");return;
|
||||
}
|
||||
post(ctx + "user/info/auth/list", {userIds: userIds}, function(json){
|
||||
if(validateResult(json)) {
|
||||
app.showAuthList = json.data;
|
||||
$('#choiceAuthModal').modal({moveable:true});
|
||||
}
|
||||
});
|
||||
},
|
||||
choiceAuthOk: function(){
|
||||
var userIds = this.getCheckedUserIds();
|
||||
var authIds = "";
|
||||
for (let i = 0; i < app.showAuthList.length; i++) {
|
||||
if(app.showAuthList[i].checked) {
|
||||
if (authIds.length > 0) {
|
||||
authIds += ",";
|
||||
}
|
||||
authIds += app.showAuthList[i].id;
|
||||
}
|
||||
}
|
||||
post(ctx + "user/info/auth/update", {userIds: userIds, authIds: authIds}, function(json){
|
||||
if(validateResult(json)) {
|
||||
Toast.success("保存成功!");
|
||||
$('#choiceAuthModal').modal('hide');
|
||||
}
|
||||
});
|
||||
},
|
||||
getCheckedUserIds: function(){
|
||||
var userIds = "";
|
||||
for (let i = 0; i < app.userList.length; i++) {
|
||||
if(app.userList[i].checked) {
|
||||
if (userIds.length > 0) {
|
||||
userIds += ",";
|
||||
}
|
||||
userIds += app.userList[i].id;
|
||||
}
|
||||
}
|
||||
return userIds;
|
||||
},
|
||||
authClick: function(index){
|
||||
var checked = app.showAuthList[index].checked;
|
||||
app.showAuthList[index].checked = (checked == 1) ? 0 : 1;
|
||||
},
|
||||
userCheckedChange: function(){
|
||||
var count = 0;
|
||||
for (let i = 0; i < app.userList.length; i++) {
|
||||
if(app.userList[i].checked) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
app.allUserChecked = (count == app.userList.length);
|
||||
},
|
||||
allUserCheckedChange: function(){
|
||||
for (let i = 0; i < app.userList.length; i++) {
|
||||
app.userList[i].checked = app.allUserChecked;
|
||||
}
|
||||
},
|
||||
deleteUser: function(id){
|
||||
if(!confirm("确定要删除吗?")) {
|
||||
return;
|
||||
}
|
||||
post(ctx + "user/info/delete", {id: id}, function(json){
|
||||
if(validateResult(json)) {
|
||||
app.refreshList();
|
||||
Toast.success("删除成功!");
|
||||
}
|
||||
});
|
||||
},
|
||||
refreshList: function () {
|
||||
post(ctx + "user/info/list", {}, function(json){
|
||||
if(validateResult(json)) {
|
||||
app.userList = json.data;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<style>
|
||||
body{padding: 10px;}
|
||||
.modal-table-box{height: 200px;overflow-y: auto;}
|
||||
.modal-table-box ul{padding-left: 10px;list-style: none;}
|
||||
.modal-table-box li{float: left; border: 1px solid #ccc;padding: 10px 15px; margin: 0 10px 10px 0; background-color: #ccc;cursor: pointer;}
|
||||
.modal-table-box li.checked{border: 1px solid #3f51b5;background-color: #8666b8;color:#fff;}
|
||||
</style>
|
||||
</html>
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
<!doctype html>
|
||||
<html xmlns:v-on="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>操作日志</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../lib/zui/css/zui.min.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="app">
|
||||
操作日志,暂未开发
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<script src="../../lib/jquery/jquery-3.1.0.min.js"></script>
|
||||
<script src="../../lib/zui/js/zui.min.js"></script>
|
||||
<script src="../../lib/vue/vue.js"></script>
|
||||
<script src="../../lib/mg/js/common.js"></script>
|
||||
<script src="../../lib/mg/js/toast.js"></script>
|
||||
|
||||
<script>
|
||||
var app = new Vue({
|
||||
el: '#app',
|
||||
data: {
|
||||
},
|
||||
mounted: function(){
|
||||
},
|
||||
methods: {
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<style>
|
||||
body{padding: 10px;}
|
||||
</style>
|
||||
</html>
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user