Merge remote-tracking branch 'origin/v2.0' into v2.0

master
zhizou 2019-08-30 14:23:43 +08:00
commit 128e13986a
15 changed files with 1364 additions and 36 deletions

View File

@ -73,17 +73,9 @@
/*响应样式*/ /*响应样式*/
@media screen and (max-width: 750px) { @media screen and (max-width:750px){
/*控制台*/ .ok-in-hide-md{display:none!important}
.ok-in-hide-md {
display: none !important;
}
} }
@media screen and (max-width:548px){
@media screen and (max-width: 548px) { .ok-in-hide-xs,[ok-pc-in-show]{display:none!important}
/**显隐样式**/
[ok-pc-in-show],
.ok-in-hide-xs {
display: none !important;
}
} }

View File

@ -121,43 +121,43 @@
"children": [ "children": [
{ {
"title": "文章列表", "title": "文章列表",
"href": "pages/article/article.html", "href": "pages/often/article.html",
"icon": "", "icon": "",
"spread": false "spread": false
}, },
{ {
"title": "留言列表", "title": "留言列表",
"href": "pages/article/article.html", "href": "pages/often/message.html",
"icon": "", "icon": "",
"spread": false "spread": false
}, },
{ {
"title": "产品列表", "title": "产品列表",
"href": "pages/article/article.html", "href": "pages/often/product.html",
"icon": "", "icon": "",
"spread": false "spread": false
}, },
{ {
"title": "下载列表", "title": "下载列表",
"href": "pages/article/article.html", "href": "pages/often/download.html",
"icon": "", "icon": "",
"spread": false "spread": false
}, },
{ {
"title": "链接列表", "title": "链接列表",
"href": "pages/article/article.html", "href": "pages/often/link.html",
"icon": "", "icon": "",
"spread": false "spread": false
}, },
{ {
"title": "任务列表", "title": "任务列表",
"href": "pages/article/article.html", "href": "pages/often/task.html",
"icon": "", "icon": "",
"spread": false "spread": false
}, },
{ {
"title": "图片列表", "title": "图片列表",
"href": "pages/article/article.html", "href": "pages/often/image.html",
"icon": "", "icon": "",
"spread": false "spread": false
} }

View File

@ -9,11 +9,11 @@ layui.define([], function(exprots) {
user: { user: {
list: "https://www.easy-mock.com/mock/5d5d0dd46cfcbd1b8627bf1d/ok-admin-v2.0/user/list", list: "https://www.easy-mock.com/mock/5d5d0dd46cfcbd1b8627bf1d/ok-admin-v2.0/user/list",
list2: "https://www.easy-mock.com/mock/5d5d0dd46cfcbd1b8627bf1d/ok-admin-v2.0/user/list2", list2: "https://www.easy-mock.com/mock/5d5d0dd46cfcbd1b8627bf1d/ok-admin-v2.0/user/list2",
batchNormal: "https://easy-mock.com/mock/5d0ce725424f15399a6c2068/okadmin/user/batchNormal", batchNormal: "https://www.easy-mock.com/mock/5d5d0dd46cfcbd1b8627bf1d/ok-admin-v2.0/user/batchNormal",
batchStop: "https://easy-mock.com/mock/5d0ce725424f15399a6c2068/okadmin/user/batchStop", batchStop: "https://www.easy-mock.com/mock/5d5d0dd46cfcbd1b8627bf1d/ok-admin-v2.0/user/batchStop",
batchDel: "https://easy-mock.com/mock/5d0ce725424f15399a6c2068/okadmin/user/batchDel", batchDel: "https://www.easy-mock.com/mock/5d5d0dd46cfcbd1b8627bf1d/ok-admin-v2.0/user/batchDel",
add: "https://easy-mock.com/mock/5d0ce725424f15399a6c2068/okadmin/user/add", add: "https://www.easy-mock.com/mock/5d5d0dd46cfcbd1b8627bf1d/ok-admin-v2.0/user/add",
edit: "https://easy-mock.com/mock/5d0ce725424f15399a6c2068/okadmin/user/edit" edit: "https://www.easy-mock.com/mock/5d5d0dd46cfcbd1b8627bf1d/ok-admin-v2.0/user/edit"
}, },
role: { role: {
list: "https://www.easy-mock.com/mock/5d5d0dd46cfcbd1b8627bf1d/ok-admin-v2.0/role/list" list: "https://www.easy-mock.com/mock/5d5d0dd46cfcbd1b8627bf1d/ok-admin-v2.0/role/list"

View File

@ -35,7 +35,8 @@ layui.define(["layer"], function (exprots) {
* @param url * @param url
* @param type * @param type
* @param param * @param param
* @returns {*|*|*} * @param load
* @returns {*|never|{always, promise, state, then}}
*/ */
ajax: function (url, type, param, load) { ajax: function (url, type, param, load) {
var deferred = $.Deferred(); var deferred = $.Deferred();

View File

@ -68,7 +68,7 @@
* 表单提交 * 表单提交
*/ */
form.on("submit(login)", function (data) { form.on("submit(login)", function (data) {
okUtils.ajax(okMock.api.login, "post", data.field).done(function (response) { okUtils.ajax(okMock.api.login, "post", data.field, true).done(function (response) {
console.log(response); console.log(response);
okLayer.msg.greenTick(response.msg, function () { okLayer.msg.greenTick(response.msg, function () {
window.location = "../index.html"; window.location = "../index.html";

View File

@ -58,7 +58,7 @@
size: "sm", size: "sm",
cols: [[ cols: [[
{type: "checkbox", fixed: "left"}, {type: "checkbox", fixed: "left"},
{field: "id", title: "ID", width: 80, sort: true}, {field: "guid", title: "GUID", width: 280, sort: true},
{field: "username", title: "账号", width: 100}, {field: "username", title: "账号", width: 100},
{field: "password", title: "密码", width: 100}, {field: "password", title: "密码", width: 100},
{field: "reallyName", title: "姓名", width: 100}, {field: "reallyName", title: "姓名", width: 100},
@ -66,9 +66,12 @@
{field: "role", title: "角色", width: 100, templet: "#roleTpl"}, {field: "role", title: "角色", width: 100, templet: "#roleTpl"},
{field: "status", title: "状态", width: 100, templet: "#statusTpl"}, {field: "status", title: "状态", width: 100, templet: "#statusTpl"},
{field: "email", title: "邮箱", width: 200}, {field: "email", title: "邮箱", width: 200},
{field: "province", title: "省份", width: 120},
{field: "city", title: "城市", width: 100},
{field: "county", title: "区县", width: 120},
{field: "createTime", title: "创建时间", width: 150}, {field: "createTime", title: "创建时间", width: 150},
{field: "logins", title: "登陆次数", width: 100}, {field: "logins", title: "登陆次数", width: 100},
{title: "操作", width: 100, templet: "#operationTpl", align: "center", fixed: "right"} {title: "操作", width: 100, align: "center", fixed: "right", templet: "#operationTpl"}
]], ]],
done: function (res, curr, count) { done: function (res, curr, count) {
console.info(res, curr, count); console.info(res, curr, count);
@ -118,7 +121,7 @@
layer.close(index); layer.close(index);
var idsStr = okUtils.table.batchCheck(table); var idsStr = okUtils.table.batchCheck(table);
if (idsStr) { if (idsStr) {
okUtils.ajax(okUtils.mockApi.user.batchNormal, "put", {idsStr: idsStr}).done(function (response) { okUtils.ajax(okMock.api.user.batchNormal, "put", {idsStr: idsStr}).done(function (response) {
console.log(response); console.log(response);
okUtils.table.successMsg("批量启用成功"); okUtils.table.successMsg("批量启用成功");
}).fail(function (error) { }).fail(function (error) {
@ -133,7 +136,7 @@
layer.close(index); layer.close(index);
var idsStr = okUtils.table.batchCheck(table); var idsStr = okUtils.table.batchCheck(table);
if (idsStr) { if (idsStr) {
okUtils.ajax(okUtils.mockApi.user.batchStop, "put", {idsStr: idsStr}).done(function (response) { okUtils.ajax(okMock.api.user.batchStop, "put", {idsStr: idsStr}).done(function (response) {
console.log(response); console.log(response);
okUtils.table.successMsg("批量停用成功"); okUtils.table.successMsg("批量停用成功");
}).fail(function (error) { }).fail(function (error) {
@ -148,7 +151,7 @@
layer.close(index); layer.close(index);
var idsStr = okUtils.table.batchCheck(table); var idsStr = okUtils.table.batchCheck(table);
if (idsStr) { if (idsStr) {
okUtils.ajax(okUtils.mockApi.user.batchDel, "delete", {idsStr: idsStr}).done(function (response) { okUtils.ajax(okMock.api.user.batchDel, "delete", {idsStr: idsStr}).done(function (response) {
console.log(response); console.log(response);
okUtils.table.successMsg("批量删除成功"); okUtils.table.successMsg("批量删除成功");
}).fail(function (error) { }).fail(function (error) {
@ -175,7 +178,7 @@
function del(id) { function del(id) {
okLayer.confirm("确定要删除吗?", function () { okLayer.confirm("确定要删除吗?", function () {
okUtils.ajax(okUtils.mockApi.user.batchDel, "delete", {idsStr: id}).done(function (response) { okUtils.ajax(okMock.api.user.batchDel, "delete", {idsStr: id}).done(function (response) {
console.log(response); console.log(response);
okUtils.table.successMsg("删除成功"); okUtils.table.successMsg("删除成功");
}).fail(function (error) { }).fail(function (error) {

View File

@ -59,15 +59,15 @@
toolbar: "#toolbarTpl", toolbar: "#toolbarTpl",
size: "sm", size: "sm",
cols: [[ cols: [[
{type: "checkbox"}, {type: "checkbox", fixed: "left"},
{field: "id", title: "ID", width: 80, sort: true}, {field: "guid", title: "GUID", width: 280, sort: true},
{field: "title", title: "标题", width: 350}, {field: "title", title: "标题", width: 350},
{field: "url", title: "链接", width: 250, templet: "#urlTpl"}, {field: "url", title: "链接", width: 250, templet: "#urlTpl"},
{field: "readSize", title: "阅读量", width: 80},
{field: "publisher", title: "发布者", width: 100}, {field: "publisher", title: "发布者", width: 100},
{field: "readSize", title: "阅读量", width: 80},
{field: "isTop", title: "是否置顶", width: 100, align: "center", templet: "#topTpl"}, {field: "isTop", title: "是否置顶", width: 100, align: "center", templet: "#topTpl"},
{field: "status", title: "发布状态", width: 110, align: "center", templet: "#statusTpl"}, {field: "status", title: "发布状态", width: 110, align: "center", templet: "#statusTpl"},
{title: "操作", width: 200, align: "center", templet: "#operationTpl"} {title: "操作", width: 100, align: "center", fixed: "right", templet: "#operationTpl"}
]], ]],
done: function (res, curr, count) { done: function (res, curr, count) {
console.log(res, curr, count) console.log(res, curr, count)

222
pages/often/download.html Normal file
View File

@ -0,0 +1,222 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>文章列表</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="../../css/oksub.css">
</head>
<body>
<div class="ok-body">
<!--面包屑导航区域-->
<div class="ok-body-breadcrumb">
<span class="layui-breadcrumb">
<a><cite>首页</cite></a>
<a><cite>常用页面</cite></a>
<a><cite>下载列表</cite></a>
</span>
<a class="layui-btn layui-btn-sm" href="javascript:location.replace(location.href);" title="刷新">
<i class="layui-icon layui-icon-refresh"></i>
</a>
</div>
<!--模糊搜索区域-->
<div class="layui-row">
<form class="layui-form layui-col-md12 ok-search">
<input class="layui-input" placeholder="开始日期" autocomplete="off" id="startTime" name="startTime">
<input class="layui-input" placeholder="截止日期" autocomplete="off" id="endTime" name="endTime">
<input class="layui-input" placeholder="请输入标题" autocomplete="off" name="title">
<button class="layui-btn" lay-submit="" lay-filter="search">
<i class="layui-icon layui-icon-search"></i>
</button>
</form>
</div>
<!--数据表格-->
<table class="layui-hide" id="tableId" lay-filter="tableFilter"></table>
</div>
<!--js逻辑-->
<script src="../../lib/layui/layui.js"></script>
<script>
layui.use(["element", "table", "form", "laydate", "okLayer", "okUtils", "okMock"], function () {
var table = layui.table;
var form = layui.form;
var util = layui.util;
var laydate = layui.laydate;
var okLayer = layui.okLayer;
var okUtils = layui.okUtils;
var okMock = layui.okMock;
util.fixbar({});
laydate.render({elem: "#startTime", type: "datetime"});
laydate.render({elem: "#endTime", type: "datetime"});
var articleTable = table.render({
elem: "#tableId",
url: okMock.api.article.list,
limit: 20,
page: true,
even: true,
toolbar: "#toolbarTpl",
size: "sm",
cols: [[
{type: "checkbox", fixed: "left"},
{field: "guid", title: "GUID", width: 280, sort: true},
{field: "title", title: "标题", width: 350},
{field: "url", title: "链接", width: 250, templet: "#urlTpl"},
{field: "publisher", title: "发布者", width: 100},
{field: "readSize", title: "阅读量", width: 80},
{field: "isTop", title: "是否置顶", width: 100, align: "center", templet: "#topTpl"},
{field: "status", title: "发布状态", width: 110, align: "center", templet: "#statusTpl"},
{title: "操作", width: 100, align: "center", fixed: "right", templet: "#operationTpl"}
]],
done: function (res, curr, count) {
console.log(res, curr, count)
}
});
form.on("submit(search)", function () {
articleTable.reload({
where: data.field,
page: {curr: 1}
});
return false;
});
table.on("toolbar(tableFilter)", function (obj) {
switch (obj.event) {
case "batchEnabled":
batchEnabled();
break;
case "batchDisabled":
batchDisabled();
break;
case "batchDel":
batchDel();
break;
case "add":
add();
break;
}
});
table.on("tool(tableFilter)", function (obj) {
var data = obj.data;
switch (obj.event) {
case "edit":
edit(data.id);
break;
case "del":
del(data.id);
break;
}
});
function batchEnabled() {
okLayer.confirm("确定要批量上架吗?", function (index) {
layer.close(index);
var idsStr = okUtils.table.batchCheck(table);
if (idsStr) {
okUtils.ajax("/article/batchNormal", "post", {idsStr: idsStr}).done(function (response) {
console.log(response);
okUtils.table.successMsg("批量上架成功");
}).fail(function (error) {
console.log(error)
});
}
});
}
function batchDisabled(){
okLayer.confirm("确定要批量下架吗?", function (index) {
layer.close(index);
var idsStr = okUtils.table.batchCheck(table);
if (idsStr) {
okUtils.ajax("/article/batchStop", "post", {idsStr: idsStr}).done(function (response) {
console.log(response);
okUtils.table.successMsg("批量下架成功");
}).fail(function (error) {
console.log(error)
});
}
});
}
function batchDel(){
okLayer.confirm("确定要批量删除吗?", function (index) {
layer.close(index);
var idsStr = okUtils.table.batchCheck(table);
if (idsStr) {
okUtils.ajax("/article/batchDel", "post", {idsStr: idsStr}).done(function (response) {
console.log(response);
okUtils.table.successMsg("批量删除成功");
}).fail(function (error) {
console.log(error)
});
}
});
}
function add () {
okLayer.open("添加文章", "article-add.html", "90%", "90%", null, function () {
articleTable.reload();
})
}
function edit (id) {
okLayer.open("编辑文章", "article-edit.html?id=" + id, "90%", "90%", null, function () {
articleTable.reload();
})
}
function del (id) {
okLayer.confirm("确定要删除吗?", function () {
okUtils.ajax("/article/batchDel", "post", {idsStr: id}).done(function (response) {
console.log(response);
okUtils.table.successMsg("删除成功");
}).fail(function (error) {
console.log(error)
});
})
}
})
</script>
<!-- 头工具栏模板 -->
<script type="text/html" id="toolbarTpl">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm layui-btn-normal" lay-event="batchEnabled"><i class="iconfont icon-shangsheng"></i>批量上架</button>
<button class="layui-btn layui-btn-sm layui-btn-warm" lay-event="batchDisabled"><i class="iconfont icon-web-icon-"></i>批量下架</button>
<button class="layui-btn layui-btn-sm layui-btn-danger" lay-event="batchDel"><i class="layui-icon layui-icon-delete"></i>批量删除</button>
<button class="layui-btn layui-btn-sm" lay-event="add"><i class="layui-icon">&#xe61f;</i>添加文章</button>
</div>
</script>
<!-- 链接模板 -->
<script type="text/html" id="urlTpl">
<a href="{{d.url}}" target="_blank">{{d.url}}</a>
</script>
<!-- 是否指顶模板
<input type="checkbox" name="isTop" value="{{d.isTop}}" lay-skin="switch" lay-text="是|否" {{ d.isTop== true ? 'checked' : ''}}>
-->
<script type="text/html" id="topTpl">
{{# if(d.isTop == true){ }}
<span class="layui-btn layui-btn-normal layui-btn-xs">已置顶</span>
{{# } else if(d.isTop == false) { }}
<span class="layui-btn layui-btn-warm layui-btn-xs">未置顶</span>
{{# } }}
</script>
<!-- 发布状态模板
<input type="checkbox" name="top" value="{{d.status}}" lay-skin="switch" lay-text="已发布|未发布" {{ d.status== true ? 'checked' : ''}}>
-->
<script type="text/html" id="statusTpl">
{{# if(d.status == true){ }}
<span class="layui-btn layui-btn-normal layui-btn-xs">已发布</span>
{{# } else if(d.status == false) { }}
<span class="layui-btn layui-btn-warm layui-btn-xs">未发布</span>
{{# } }}
</script>
<!-- 行工具栏模板 -->
<script type="text/html" id="operationTpl">
<a href="javascript:" title="编辑" lay-event="edit"><i class="layui-icon">&#xe642;</i></a>
<a href="javascript:" title="删除" lay-event="del"><i class="layui-icon">&#xe640;</i></a>
</script>
</body>
</html>

222
pages/often/image.html Normal file
View File

@ -0,0 +1,222 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>文章列表</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="../../css/oksub.css">
</head>
<body>
<div class="ok-body">
<!--面包屑导航区域-->
<div class="ok-body-breadcrumb">
<span class="layui-breadcrumb">
<a><cite>首页</cite></a>
<a><cite>常用页面</cite></a>
<a><cite>图片列表</cite></a>
</span>
<a class="layui-btn layui-btn-sm" href="javascript:location.replace(location.href);" title="刷新">
<i class="layui-icon layui-icon-refresh"></i>
</a>
</div>
<!--模糊搜索区域-->
<div class="layui-row">
<form class="layui-form layui-col-md12 ok-search">
<input class="layui-input" placeholder="开始日期" autocomplete="off" id="startTime" name="startTime">
<input class="layui-input" placeholder="截止日期" autocomplete="off" id="endTime" name="endTime">
<input class="layui-input" placeholder="请输入标题" autocomplete="off" name="title">
<button class="layui-btn" lay-submit="" lay-filter="search">
<i class="layui-icon layui-icon-search"></i>
</button>
</form>
</div>
<!--数据表格-->
<table class="layui-hide" id="tableId" lay-filter="tableFilter"></table>
</div>
<!--js逻辑-->
<script src="../../lib/layui/layui.js"></script>
<script>
layui.use(["element", "table", "form", "laydate", "okLayer", "okUtils", "okMock"], function () {
var table = layui.table;
var form = layui.form;
var util = layui.util;
var laydate = layui.laydate;
var okLayer = layui.okLayer;
var okUtils = layui.okUtils;
var okMock = layui.okMock;
util.fixbar({});
laydate.render({elem: "#startTime", type: "datetime"});
laydate.render({elem: "#endTime", type: "datetime"});
var articleTable = table.render({
elem: "#tableId",
url: okMock.api.article.list,
limit: 20,
page: true,
even: true,
toolbar: "#toolbarTpl",
size: "sm",
cols: [[
{type: "checkbox", fixed: "left"},
{field: "guid", title: "GUID", width: 280, sort: true},
{field: "title", title: "标题", width: 350},
{field: "url", title: "链接", width: 250, templet: "#urlTpl"},
{field: "publisher", title: "发布者", width: 100},
{field: "readSize", title: "阅读量", width: 80},
{field: "isTop", title: "是否置顶", width: 100, align: "center", templet: "#topTpl"},
{field: "status", title: "发布状态", width: 110, align: "center", templet: "#statusTpl"},
{title: "操作", width: 100, align: "center", fixed: "right", templet: "#operationTpl"}
]],
done: function (res, curr, count) {
console.log(res, curr, count)
}
});
form.on("submit(search)", function () {
articleTable.reload({
where: data.field,
page: {curr: 1}
});
return false;
});
table.on("toolbar(tableFilter)", function (obj) {
switch (obj.event) {
case "batchEnabled":
batchEnabled();
break;
case "batchDisabled":
batchDisabled();
break;
case "batchDel":
batchDel();
break;
case "add":
add();
break;
}
});
table.on("tool(tableFilter)", function (obj) {
var data = obj.data;
switch (obj.event) {
case "edit":
edit(data.id);
break;
case "del":
del(data.id);
break;
}
});
function batchEnabled() {
okLayer.confirm("确定要批量上架吗?", function (index) {
layer.close(index);
var idsStr = okUtils.table.batchCheck(table);
if (idsStr) {
okUtils.ajax("/article/batchNormal", "post", {idsStr: idsStr}).done(function (response) {
console.log(response);
okUtils.table.successMsg("批量上架成功");
}).fail(function (error) {
console.log(error)
});
}
});
}
function batchDisabled(){
okLayer.confirm("确定要批量下架吗?", function (index) {
layer.close(index);
var idsStr = okUtils.table.batchCheck(table);
if (idsStr) {
okUtils.ajax("/article/batchStop", "post", {idsStr: idsStr}).done(function (response) {
console.log(response);
okUtils.table.successMsg("批量下架成功");
}).fail(function (error) {
console.log(error)
});
}
});
}
function batchDel(){
okLayer.confirm("确定要批量删除吗?", function (index) {
layer.close(index);
var idsStr = okUtils.table.batchCheck(table);
if (idsStr) {
okUtils.ajax("/article/batchDel", "post", {idsStr: idsStr}).done(function (response) {
console.log(response);
okUtils.table.successMsg("批量删除成功");
}).fail(function (error) {
console.log(error)
});
}
});
}
function add () {
okLayer.open("添加文章", "article-add.html", "90%", "90%", null, function () {
articleTable.reload();
})
}
function edit (id) {
okLayer.open("编辑文章", "article-edit.html?id=" + id, "90%", "90%", null, function () {
articleTable.reload();
})
}
function del (id) {
okLayer.confirm("确定要删除吗?", function () {
okUtils.ajax("/article/batchDel", "post", {idsStr: id}).done(function (response) {
console.log(response);
okUtils.table.successMsg("删除成功");
}).fail(function (error) {
console.log(error)
});
})
}
})
</script>
<!-- 头工具栏模板 -->
<script type="text/html" id="toolbarTpl">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm layui-btn-normal" lay-event="batchEnabled"><i class="iconfont icon-shangsheng"></i>批量上架</button>
<button class="layui-btn layui-btn-sm layui-btn-warm" lay-event="batchDisabled"><i class="iconfont icon-web-icon-"></i>批量下架</button>
<button class="layui-btn layui-btn-sm layui-btn-danger" lay-event="batchDel"><i class="layui-icon layui-icon-delete"></i>批量删除</button>
<button class="layui-btn layui-btn-sm" lay-event="add"><i class="layui-icon">&#xe61f;</i>添加文章</button>
</div>
</script>
<!-- 链接模板 -->
<script type="text/html" id="urlTpl">
<a href="{{d.url}}" target="_blank">{{d.url}}</a>
</script>
<!-- 是否指顶模板
<input type="checkbox" name="isTop" value="{{d.isTop}}" lay-skin="switch" lay-text="是|否" {{ d.isTop== true ? 'checked' : ''}}>
-->
<script type="text/html" id="topTpl">
{{# if(d.isTop == true){ }}
<span class="layui-btn layui-btn-normal layui-btn-xs">已置顶</span>
{{# } else if(d.isTop == false) { }}
<span class="layui-btn layui-btn-warm layui-btn-xs">未置顶</span>
{{# } }}
</script>
<!-- 发布状态模板
<input type="checkbox" name="top" value="{{d.status}}" lay-skin="switch" lay-text="已发布|未发布" {{ d.status== true ? 'checked' : ''}}>
-->
<script type="text/html" id="statusTpl">
{{# if(d.status == true){ }}
<span class="layui-btn layui-btn-normal layui-btn-xs">已发布</span>
{{# } else if(d.status == false) { }}
<span class="layui-btn layui-btn-warm layui-btn-xs">未发布</span>
{{# } }}
</script>
<!-- 行工具栏模板 -->
<script type="text/html" id="operationTpl">
<a href="javascript:" title="编辑" lay-event="edit"><i class="layui-icon">&#xe642;</i></a>
<a href="javascript:" title="删除" lay-event="del"><i class="layui-icon">&#xe640;</i></a>
</script>
</body>
</html>

222
pages/often/link.html Normal file
View File

@ -0,0 +1,222 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>文章列表</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="../../css/oksub.css">
</head>
<body>
<div class="ok-body">
<!--面包屑导航区域-->
<div class="ok-body-breadcrumb">
<span class="layui-breadcrumb">
<a><cite>首页</cite></a>
<a><cite>常用页面</cite></a>
<a><cite>链接列表</cite></a>
</span>
<a class="layui-btn layui-btn-sm" href="javascript:location.replace(location.href);" title="刷新">
<i class="layui-icon layui-icon-refresh"></i>
</a>
</div>
<!--模糊搜索区域-->
<div class="layui-row">
<form class="layui-form layui-col-md12 ok-search">
<input class="layui-input" placeholder="开始日期" autocomplete="off" id="startTime" name="startTime">
<input class="layui-input" placeholder="截止日期" autocomplete="off" id="endTime" name="endTime">
<input class="layui-input" placeholder="请输入标题" autocomplete="off" name="title">
<button class="layui-btn" lay-submit="" lay-filter="search">
<i class="layui-icon layui-icon-search"></i>
</button>
</form>
</div>
<!--数据表格-->
<table class="layui-hide" id="tableId" lay-filter="tableFilter"></table>
</div>
<!--js逻辑-->
<script src="../../lib/layui/layui.js"></script>
<script>
layui.use(["element", "table", "form", "laydate", "okLayer", "okUtils", "okMock"], function () {
var table = layui.table;
var form = layui.form;
var util = layui.util;
var laydate = layui.laydate;
var okLayer = layui.okLayer;
var okUtils = layui.okUtils;
var okMock = layui.okMock;
util.fixbar({});
laydate.render({elem: "#startTime", type: "datetime"});
laydate.render({elem: "#endTime", type: "datetime"});
var articleTable = table.render({
elem: "#tableId",
url: okMock.api.article.list,
limit: 20,
page: true,
even: true,
toolbar: "#toolbarTpl",
size: "sm",
cols: [[
{type: "checkbox", fixed: "left"},
{field: "guid", title: "GUID", width: 280, sort: true},
{field: "title", title: "标题", width: 350},
{field: "url", title: "链接", width: 250, templet: "#urlTpl"},
{field: "publisher", title: "发布者", width: 100},
{field: "readSize", title: "阅读量", width: 80},
{field: "isTop", title: "是否置顶", width: 100, align: "center", templet: "#topTpl"},
{field: "status", title: "发布状态", width: 110, align: "center", templet: "#statusTpl"},
{title: "操作", width: 100, align: "center", fixed: "right", templet: "#operationTpl"}
]],
done: function (res, curr, count) {
console.log(res, curr, count)
}
});
form.on("submit(search)", function () {
articleTable.reload({
where: data.field,
page: {curr: 1}
});
return false;
});
table.on("toolbar(tableFilter)", function (obj) {
switch (obj.event) {
case "batchEnabled":
batchEnabled();
break;
case "batchDisabled":
batchDisabled();
break;
case "batchDel":
batchDel();
break;
case "add":
add();
break;
}
});
table.on("tool(tableFilter)", function (obj) {
var data = obj.data;
switch (obj.event) {
case "edit":
edit(data.id);
break;
case "del":
del(data.id);
break;
}
});
function batchEnabled() {
okLayer.confirm("确定要批量上架吗?", function (index) {
layer.close(index);
var idsStr = okUtils.table.batchCheck(table);
if (idsStr) {
okUtils.ajax("/article/batchNormal", "post", {idsStr: idsStr}).done(function (response) {
console.log(response);
okUtils.table.successMsg("批量上架成功");
}).fail(function (error) {
console.log(error)
});
}
});
}
function batchDisabled(){
okLayer.confirm("确定要批量下架吗?", function (index) {
layer.close(index);
var idsStr = okUtils.table.batchCheck(table);
if (idsStr) {
okUtils.ajax("/article/batchStop", "post", {idsStr: idsStr}).done(function (response) {
console.log(response);
okUtils.table.successMsg("批量下架成功");
}).fail(function (error) {
console.log(error)
});
}
});
}
function batchDel(){
okLayer.confirm("确定要批量删除吗?", function (index) {
layer.close(index);
var idsStr = okUtils.table.batchCheck(table);
if (idsStr) {
okUtils.ajax("/article/batchDel", "post", {idsStr: idsStr}).done(function (response) {
console.log(response);
okUtils.table.successMsg("批量删除成功");
}).fail(function (error) {
console.log(error)
});
}
});
}
function add () {
okLayer.open("添加文章", "article-add.html", "90%", "90%", null, function () {
articleTable.reload();
})
}
function edit (id) {
okLayer.open("编辑文章", "article-edit.html?id=" + id, "90%", "90%", null, function () {
articleTable.reload();
})
}
function del (id) {
okLayer.confirm("确定要删除吗?", function () {
okUtils.ajax("/article/batchDel", "post", {idsStr: id}).done(function (response) {
console.log(response);
okUtils.table.successMsg("删除成功");
}).fail(function (error) {
console.log(error)
});
})
}
})
</script>
<!-- 头工具栏模板 -->
<script type="text/html" id="toolbarTpl">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm layui-btn-normal" lay-event="batchEnabled"><i class="iconfont icon-shangsheng"></i>批量上架</button>
<button class="layui-btn layui-btn-sm layui-btn-warm" lay-event="batchDisabled"><i class="iconfont icon-web-icon-"></i>批量下架</button>
<button class="layui-btn layui-btn-sm layui-btn-danger" lay-event="batchDel"><i class="layui-icon layui-icon-delete"></i>批量删除</button>
<button class="layui-btn layui-btn-sm" lay-event="add"><i class="layui-icon">&#xe61f;</i>添加文章</button>
</div>
</script>
<!-- 链接模板 -->
<script type="text/html" id="urlTpl">
<a href="{{d.url}}" target="_blank">{{d.url}}</a>
</script>
<!-- 是否指顶模板
<input type="checkbox" name="isTop" value="{{d.isTop}}" lay-skin="switch" lay-text="是|否" {{ d.isTop== true ? 'checked' : ''}}>
-->
<script type="text/html" id="topTpl">
{{# if(d.isTop == true){ }}
<span class="layui-btn layui-btn-normal layui-btn-xs">已置顶</span>
{{# } else if(d.isTop == false) { }}
<span class="layui-btn layui-btn-warm layui-btn-xs">未置顶</span>
{{# } }}
</script>
<!-- 发布状态模板
<input type="checkbox" name="top" value="{{d.status}}" lay-skin="switch" lay-text="已发布|未发布" {{ d.status== true ? 'checked' : ''}}>
-->
<script type="text/html" id="statusTpl">
{{# if(d.status == true){ }}
<span class="layui-btn layui-btn-normal layui-btn-xs">已发布</span>
{{# } else if(d.status == false) { }}
<span class="layui-btn layui-btn-warm layui-btn-xs">未发布</span>
{{# } }}
</script>
<!-- 行工具栏模板 -->
<script type="text/html" id="operationTpl">
<a href="javascript:" title="编辑" lay-event="edit"><i class="layui-icon">&#xe642;</i></a>
<a href="javascript:" title="删除" lay-event="del"><i class="layui-icon">&#xe640;</i></a>
</script>
</body>
</html>

222
pages/often/message.html Normal file
View File

@ -0,0 +1,222 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>文章列表</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="../../css/oksub.css">
</head>
<body>
<div class="ok-body">
<!--面包屑导航区域-->
<div class="ok-body-breadcrumb">
<span class="layui-breadcrumb">
<a><cite>首页</cite></a>
<a><cite>常用页面</cite></a>
<a><cite>留言列表</cite></a>
</span>
<a class="layui-btn layui-btn-sm" href="javascript:location.replace(location.href);" title="刷新">
<i class="layui-icon layui-icon-refresh"></i>
</a>
</div>
<!--模糊搜索区域-->
<div class="layui-row">
<form class="layui-form layui-col-md12 ok-search">
<input class="layui-input" placeholder="开始日期" autocomplete="off" id="startTime" name="startTime">
<input class="layui-input" placeholder="截止日期" autocomplete="off" id="endTime" name="endTime">
<input class="layui-input" placeholder="请输入标题" autocomplete="off" name="title">
<button class="layui-btn" lay-submit="" lay-filter="search">
<i class="layui-icon layui-icon-search"></i>
</button>
</form>
</div>
<!--数据表格-->
<table class="layui-hide" id="tableId" lay-filter="tableFilter"></table>
</div>
<!--js逻辑-->
<script src="../../lib/layui/layui.js"></script>
<script>
layui.use(["element", "table", "form", "laydate", "okLayer", "okUtils", "okMock"], function () {
var table = layui.table;
var form = layui.form;
var util = layui.util;
var laydate = layui.laydate;
var okLayer = layui.okLayer;
var okUtils = layui.okUtils;
var okMock = layui.okMock;
util.fixbar({});
laydate.render({elem: "#startTime", type: "datetime"});
laydate.render({elem: "#endTime", type: "datetime"});
var articleTable = table.render({
elem: "#tableId",
url: okMock.api.article.list,
limit: 20,
page: true,
even: true,
toolbar: "#toolbarTpl",
size: "sm",
cols: [[
{type: "checkbox", fixed: "left"},
{field: "guid", title: "GUID", width: 280, sort: true},
{field: "title", title: "标题", width: 350},
{field: "url", title: "链接", width: 250, templet: "#urlTpl"},
{field: "publisher", title: "发布者", width: 100},
{field: "readSize", title: "阅读量", width: 80},
{field: "isTop", title: "是否置顶", width: 100, align: "center", templet: "#topTpl"},
{field: "status", title: "发布状态", width: 110, align: "center", templet: "#statusTpl"},
{title: "操作", width: 100, align: "center", fixed: "right", templet: "#operationTpl"}
]],
done: function (res, curr, count) {
console.log(res, curr, count)
}
});
form.on("submit(search)", function () {
articleTable.reload({
where: data.field,
page: {curr: 1}
});
return false;
});
table.on("toolbar(tableFilter)", function (obj) {
switch (obj.event) {
case "batchEnabled":
batchEnabled();
break;
case "batchDisabled":
batchDisabled();
break;
case "batchDel":
batchDel();
break;
case "add":
add();
break;
}
});
table.on("tool(tableFilter)", function (obj) {
var data = obj.data;
switch (obj.event) {
case "edit":
edit(data.id);
break;
case "del":
del(data.id);
break;
}
});
function batchEnabled() {
okLayer.confirm("确定要批量上架吗?", function (index) {
layer.close(index);
var idsStr = okUtils.table.batchCheck(table);
if (idsStr) {
okUtils.ajax("/article/batchNormal", "post", {idsStr: idsStr}).done(function (response) {
console.log(response);
okUtils.table.successMsg("批量上架成功");
}).fail(function (error) {
console.log(error)
});
}
});
}
function batchDisabled(){
okLayer.confirm("确定要批量下架吗?", function (index) {
layer.close(index);
var idsStr = okUtils.table.batchCheck(table);
if (idsStr) {
okUtils.ajax("/article/batchStop", "post", {idsStr: idsStr}).done(function (response) {
console.log(response);
okUtils.table.successMsg("批量下架成功");
}).fail(function (error) {
console.log(error)
});
}
});
}
function batchDel(){
okLayer.confirm("确定要批量删除吗?", function (index) {
layer.close(index);
var idsStr = okUtils.table.batchCheck(table);
if (idsStr) {
okUtils.ajax("/article/batchDel", "post", {idsStr: idsStr}).done(function (response) {
console.log(response);
okUtils.table.successMsg("批量删除成功");
}).fail(function (error) {
console.log(error)
});
}
});
}
function add () {
okLayer.open("添加文章", "article-add.html", "90%", "90%", null, function () {
articleTable.reload();
})
}
function edit (id) {
okLayer.open("编辑文章", "article-edit.html?id=" + id, "90%", "90%", null, function () {
articleTable.reload();
})
}
function del (id) {
okLayer.confirm("确定要删除吗?", function () {
okUtils.ajax("/article/batchDel", "post", {idsStr: id}).done(function (response) {
console.log(response);
okUtils.table.successMsg("删除成功");
}).fail(function (error) {
console.log(error)
});
})
}
})
</script>
<!-- 头工具栏模板 -->
<script type="text/html" id="toolbarTpl">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm layui-btn-normal" lay-event="batchEnabled"><i class="iconfont icon-shangsheng"></i>批量上架</button>
<button class="layui-btn layui-btn-sm layui-btn-warm" lay-event="batchDisabled"><i class="iconfont icon-web-icon-"></i>批量下架</button>
<button class="layui-btn layui-btn-sm layui-btn-danger" lay-event="batchDel"><i class="layui-icon layui-icon-delete"></i>批量删除</button>
<button class="layui-btn layui-btn-sm" lay-event="add"><i class="layui-icon">&#xe61f;</i>添加文章</button>
</div>
</script>
<!-- 链接模板 -->
<script type="text/html" id="urlTpl">
<a href="{{d.url}}" target="_blank">{{d.url}}</a>
</script>
<!-- 是否指顶模板
<input type="checkbox" name="isTop" value="{{d.isTop}}" lay-skin="switch" lay-text="是|否" {{ d.isTop== true ? 'checked' : ''}}>
-->
<script type="text/html" id="topTpl">
{{# if(d.isTop == true){ }}
<span class="layui-btn layui-btn-normal layui-btn-xs">已置顶</span>
{{# } else if(d.isTop == false) { }}
<span class="layui-btn layui-btn-warm layui-btn-xs">未置顶</span>
{{# } }}
</script>
<!-- 发布状态模板
<input type="checkbox" name="top" value="{{d.status}}" lay-skin="switch" lay-text="已发布|未发布" {{ d.status== true ? 'checked' : ''}}>
-->
<script type="text/html" id="statusTpl">
{{# if(d.status == true){ }}
<span class="layui-btn layui-btn-normal layui-btn-xs">已发布</span>
{{# } else if(d.status == false) { }}
<span class="layui-btn layui-btn-warm layui-btn-xs">未发布</span>
{{# } }}
</script>
<!-- 行工具栏模板 -->
<script type="text/html" id="operationTpl">
<a href="javascript:" title="编辑" lay-event="edit"><i class="layui-icon">&#xe642;</i></a>
<a href="javascript:" title="删除" lay-event="del"><i class="layui-icon">&#xe640;</i></a>
</script>
</body>
</html>

222
pages/often/product.html Normal file
View File

@ -0,0 +1,222 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>文章列表</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="../../css/oksub.css">
</head>
<body>
<div class="ok-body">
<!--面包屑导航区域-->
<div class="ok-body-breadcrumb">
<span class="layui-breadcrumb">
<a><cite>首页</cite></a>
<a><cite>常用页面</cite></a>
<a><cite>产品列表</cite></a>
</span>
<a class="layui-btn layui-btn-sm" href="javascript:location.replace(location.href);" title="刷新">
<i class="layui-icon layui-icon-refresh"></i>
</a>
</div>
<!--模糊搜索区域-->
<div class="layui-row">
<form class="layui-form layui-col-md12 ok-search">
<input class="layui-input" placeholder="开始日期" autocomplete="off" id="startTime" name="startTime">
<input class="layui-input" placeholder="截止日期" autocomplete="off" id="endTime" name="endTime">
<input class="layui-input" placeholder="请输入标题" autocomplete="off" name="title">
<button class="layui-btn" lay-submit="" lay-filter="search">
<i class="layui-icon layui-icon-search"></i>
</button>
</form>
</div>
<!--数据表格-->
<table class="layui-hide" id="tableId" lay-filter="tableFilter"></table>
</div>
<!--js逻辑-->
<script src="../../lib/layui/layui.js"></script>
<script>
layui.use(["element", "table", "form", "laydate", "okLayer", "okUtils", "okMock"], function () {
var table = layui.table;
var form = layui.form;
var util = layui.util;
var laydate = layui.laydate;
var okLayer = layui.okLayer;
var okUtils = layui.okUtils;
var okMock = layui.okMock;
util.fixbar({});
laydate.render({elem: "#startTime", type: "datetime"});
laydate.render({elem: "#endTime", type: "datetime"});
var articleTable = table.render({
elem: "#tableId",
url: okMock.api.article.list,
limit: 20,
page: true,
even: true,
toolbar: "#toolbarTpl",
size: "sm",
cols: [[
{type: "checkbox", fixed: "left"},
{field: "guid", title: "GUID", width: 280, sort: true},
{field: "title", title: "标题", width: 350},
{field: "url", title: "链接", width: 250, templet: "#urlTpl"},
{field: "publisher", title: "发布者", width: 100},
{field: "readSize", title: "阅读量", width: 80},
{field: "isTop", title: "是否置顶", width: 100, align: "center", templet: "#topTpl"},
{field: "status", title: "发布状态", width: 110, align: "center", templet: "#statusTpl"},
{title: "操作", width: 100, align: "center", fixed: "right", templet: "#operationTpl"}
]],
done: function (res, curr, count) {
console.log(res, curr, count)
}
});
form.on("submit(search)", function () {
articleTable.reload({
where: data.field,
page: {curr: 1}
});
return false;
});
table.on("toolbar(tableFilter)", function (obj) {
switch (obj.event) {
case "batchEnabled":
batchEnabled();
break;
case "batchDisabled":
batchDisabled();
break;
case "batchDel":
batchDel();
break;
case "add":
add();
break;
}
});
table.on("tool(tableFilter)", function (obj) {
var data = obj.data;
switch (obj.event) {
case "edit":
edit(data.id);
break;
case "del":
del(data.id);
break;
}
});
function batchEnabled() {
okLayer.confirm("确定要批量上架吗?", function (index) {
layer.close(index);
var idsStr = okUtils.table.batchCheck(table);
if (idsStr) {
okUtils.ajax("/article/batchNormal", "post", {idsStr: idsStr}).done(function (response) {
console.log(response);
okUtils.table.successMsg("批量上架成功");
}).fail(function (error) {
console.log(error)
});
}
});
}
function batchDisabled(){
okLayer.confirm("确定要批量下架吗?", function (index) {
layer.close(index);
var idsStr = okUtils.table.batchCheck(table);
if (idsStr) {
okUtils.ajax("/article/batchStop", "post", {idsStr: idsStr}).done(function (response) {
console.log(response);
okUtils.table.successMsg("批量下架成功");
}).fail(function (error) {
console.log(error)
});
}
});
}
function batchDel(){
okLayer.confirm("确定要批量删除吗?", function (index) {
layer.close(index);
var idsStr = okUtils.table.batchCheck(table);
if (idsStr) {
okUtils.ajax("/article/batchDel", "post", {idsStr: idsStr}).done(function (response) {
console.log(response);
okUtils.table.successMsg("批量删除成功");
}).fail(function (error) {
console.log(error)
});
}
});
}
function add () {
okLayer.open("添加文章", "article-add.html", "90%", "90%", null, function () {
articleTable.reload();
})
}
function edit (id) {
okLayer.open("编辑文章", "article-edit.html?id=" + id, "90%", "90%", null, function () {
articleTable.reload();
})
}
function del (id) {
okLayer.confirm("确定要删除吗?", function () {
okUtils.ajax("/article/batchDel", "post", {idsStr: id}).done(function (response) {
console.log(response);
okUtils.table.successMsg("删除成功");
}).fail(function (error) {
console.log(error)
});
})
}
})
</script>
<!-- 头工具栏模板 -->
<script type="text/html" id="toolbarTpl">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm layui-btn-normal" lay-event="batchEnabled"><i class="iconfont icon-shangsheng"></i>批量上架</button>
<button class="layui-btn layui-btn-sm layui-btn-warm" lay-event="batchDisabled"><i class="iconfont icon-web-icon-"></i>批量下架</button>
<button class="layui-btn layui-btn-sm layui-btn-danger" lay-event="batchDel"><i class="layui-icon layui-icon-delete"></i>批量删除</button>
<button class="layui-btn layui-btn-sm" lay-event="add"><i class="layui-icon">&#xe61f;</i>添加文章</button>
</div>
</script>
<!-- 链接模板 -->
<script type="text/html" id="urlTpl">
<a href="{{d.url}}" target="_blank">{{d.url}}</a>
</script>
<!-- 是否指顶模板
<input type="checkbox" name="isTop" value="{{d.isTop}}" lay-skin="switch" lay-text="是|否" {{ d.isTop== true ? 'checked' : ''}}>
-->
<script type="text/html" id="topTpl">
{{# if(d.isTop == true){ }}
<span class="layui-btn layui-btn-normal layui-btn-xs">已置顶</span>
{{# } else if(d.isTop == false) { }}
<span class="layui-btn layui-btn-warm layui-btn-xs">未置顶</span>
{{# } }}
</script>
<!-- 发布状态模板
<input type="checkbox" name="top" value="{{d.status}}" lay-skin="switch" lay-text="已发布|未发布" {{ d.status== true ? 'checked' : ''}}>
-->
<script type="text/html" id="statusTpl">
{{# if(d.status == true){ }}
<span class="layui-btn layui-btn-normal layui-btn-xs">已发布</span>
{{# } else if(d.status == false) { }}
<span class="layui-btn layui-btn-warm layui-btn-xs">未发布</span>
{{# } }}
</script>
<!-- 行工具栏模板 -->
<script type="text/html" id="operationTpl">
<a href="javascript:" title="编辑" lay-event="edit"><i class="layui-icon">&#xe642;</i></a>
<a href="javascript:" title="删除" lay-event="del"><i class="layui-icon">&#xe640;</i></a>
</script>
</body>
</html>

222
pages/often/task.html Normal file
View File

@ -0,0 +1,222 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>文章列表</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="../../css/oksub.css">
</head>
<body>
<div class="ok-body">
<!--面包屑导航区域-->
<div class="ok-body-breadcrumb">
<span class="layui-breadcrumb">
<a><cite>首页</cite></a>
<a><cite>常用页面</cite></a>
<a><cite>任务列表</cite></a>
</span>
<a class="layui-btn layui-btn-sm" href="javascript:location.replace(location.href);" title="刷新">
<i class="layui-icon layui-icon-refresh"></i>
</a>
</div>
<!--模糊搜索区域-->
<div class="layui-row">
<form class="layui-form layui-col-md12 ok-search">
<input class="layui-input" placeholder="开始日期" autocomplete="off" id="startTime" name="startTime">
<input class="layui-input" placeholder="截止日期" autocomplete="off" id="endTime" name="endTime">
<input class="layui-input" placeholder="请输入标题" autocomplete="off" name="title">
<button class="layui-btn" lay-submit="" lay-filter="search">
<i class="layui-icon layui-icon-search"></i>
</button>
</form>
</div>
<!--数据表格-->
<table class="layui-hide" id="tableId" lay-filter="tableFilter"></table>
</div>
<!--js逻辑-->
<script src="../../lib/layui/layui.js"></script>
<script>
layui.use(["element", "table", "form", "laydate", "okLayer", "okUtils", "okMock"], function () {
var table = layui.table;
var form = layui.form;
var util = layui.util;
var laydate = layui.laydate;
var okLayer = layui.okLayer;
var okUtils = layui.okUtils;
var okMock = layui.okMock;
util.fixbar({});
laydate.render({elem: "#startTime", type: "datetime"});
laydate.render({elem: "#endTime", type: "datetime"});
var articleTable = table.render({
elem: "#tableId",
url: okMock.api.article.list,
limit: 20,
page: true,
even: true,
toolbar: "#toolbarTpl",
size: "sm",
cols: [[
{type: "checkbox", fixed: "left"},
{field: "guid", title: "GUID", width: 280, sort: true},
{field: "title", title: "标题", width: 350},
{field: "url", title: "链接", width: 250, templet: "#urlTpl"},
{field: "publisher", title: "发布者", width: 100},
{field: "readSize", title: "阅读量", width: 80},
{field: "isTop", title: "是否置顶", width: 100, align: "center", templet: "#topTpl"},
{field: "status", title: "发布状态", width: 110, align: "center", templet: "#statusTpl"},
{title: "操作", width: 100, align: "center", fixed: "right", templet: "#operationTpl"}
]],
done: function (res, curr, count) {
console.log(res, curr, count)
}
});
form.on("submit(search)", function () {
articleTable.reload({
where: data.field,
page: {curr: 1}
});
return false;
});
table.on("toolbar(tableFilter)", function (obj) {
switch (obj.event) {
case "batchEnabled":
batchEnabled();
break;
case "batchDisabled":
batchDisabled();
break;
case "batchDel":
batchDel();
break;
case "add":
add();
break;
}
});
table.on("tool(tableFilter)", function (obj) {
var data = obj.data;
switch (obj.event) {
case "edit":
edit(data.id);
break;
case "del":
del(data.id);
break;
}
});
function batchEnabled() {
okLayer.confirm("确定要批量上架吗?", function (index) {
layer.close(index);
var idsStr = okUtils.table.batchCheck(table);
if (idsStr) {
okUtils.ajax("/article/batchNormal", "post", {idsStr: idsStr}).done(function (response) {
console.log(response);
okUtils.table.successMsg("批量上架成功");
}).fail(function (error) {
console.log(error)
});
}
});
}
function batchDisabled(){
okLayer.confirm("确定要批量下架吗?", function (index) {
layer.close(index);
var idsStr = okUtils.table.batchCheck(table);
if (idsStr) {
okUtils.ajax("/article/batchStop", "post", {idsStr: idsStr}).done(function (response) {
console.log(response);
okUtils.table.successMsg("批量下架成功");
}).fail(function (error) {
console.log(error)
});
}
});
}
function batchDel(){
okLayer.confirm("确定要批量删除吗?", function (index) {
layer.close(index);
var idsStr = okUtils.table.batchCheck(table);
if (idsStr) {
okUtils.ajax("/article/batchDel", "post", {idsStr: idsStr}).done(function (response) {
console.log(response);
okUtils.table.successMsg("批量删除成功");
}).fail(function (error) {
console.log(error)
});
}
});
}
function add () {
okLayer.open("添加文章", "article-add.html", "90%", "90%", null, function () {
articleTable.reload();
})
}
function edit (id) {
okLayer.open("编辑文章", "article-edit.html?id=" + id, "90%", "90%", null, function () {
articleTable.reload();
})
}
function del (id) {
okLayer.confirm("确定要删除吗?", function () {
okUtils.ajax("/article/batchDel", "post", {idsStr: id}).done(function (response) {
console.log(response);
okUtils.table.successMsg("删除成功");
}).fail(function (error) {
console.log(error)
});
})
}
})
</script>
<!-- 头工具栏模板 -->
<script type="text/html" id="toolbarTpl">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm layui-btn-normal" lay-event="batchEnabled"><i class="iconfont icon-shangsheng"></i>批量上架</button>
<button class="layui-btn layui-btn-sm layui-btn-warm" lay-event="batchDisabled"><i class="iconfont icon-web-icon-"></i>批量下架</button>
<button class="layui-btn layui-btn-sm layui-btn-danger" lay-event="batchDel"><i class="layui-icon layui-icon-delete"></i>批量删除</button>
<button class="layui-btn layui-btn-sm" lay-event="add"><i class="layui-icon">&#xe61f;</i>添加文章</button>
</div>
</script>
<!-- 链接模板 -->
<script type="text/html" id="urlTpl">
<a href="{{d.url}}" target="_blank">{{d.url}}</a>
</script>
<!-- 是否指顶模板
<input type="checkbox" name="isTop" value="{{d.isTop}}" lay-skin="switch" lay-text="是|否" {{ d.isTop== true ? 'checked' : ''}}>
-->
<script type="text/html" id="topTpl">
{{# if(d.isTop == true){ }}
<span class="layui-btn layui-btn-normal layui-btn-xs">已置顶</span>
{{# } else if(d.isTop == false) { }}
<span class="layui-btn layui-btn-warm layui-btn-xs">未置顶</span>
{{# } }}
</script>
<!-- 发布状态模板
<input type="checkbox" name="top" value="{{d.status}}" lay-skin="switch" lay-text="已发布|未发布" {{ d.status== true ? 'checked' : ''}}>
-->
<script type="text/html" id="statusTpl">
{{# if(d.status == true){ }}
<span class="layui-btn layui-btn-normal layui-btn-xs">已发布</span>
{{# } else if(d.status == false) { }}
<span class="layui-btn layui-btn-warm layui-btn-xs">未发布</span>
{{# } }}
</script>
<!-- 行工具栏模板 -->
<script type="text/html" id="operationTpl">
<a href="javascript:" title="编辑" lay-event="edit"><i class="layui-icon">&#xe642;</i></a>
<a href="javascript:" title="删除" lay-event="del"><i class="layui-icon">&#xe640;</i></a>
</script>
</body>
</html>