impr:常用页面接口

master
bobi 2019-11-03 22:18:01 +08:00
parent b172bb28aa
commit bd15d1b817
6 changed files with 889 additions and 998 deletions

View File

@ -9,6 +9,11 @@ layui.define([], function (exprots) {
listRole: "http://rap2api.taobao.org/app/mock/233041/role/listRole", listRole: "http://rap2api.taobao.org/app/mock/233041/role/listRole",
listArticle: "http://rap2api.taobao.org/app/mock/233041/article/listArticle", listArticle: "http://rap2api.taobao.org/app/mock/233041/article/listArticle",
listMessage: "http://rap2api.taobao.org/app/mock/233041/message/listMessage", listMessage: "http://rap2api.taobao.org/app/mock/233041/message/listMessage",
listProduct: "http://rap2api.taobao.org/app/mock/233041/product/listProduct",
listDownload: "http://rap2api.taobao.org/app/mock/233041/download/listDownload",
listLink: "http://rap2api.taobao.org/app/mock/233041/link/listLink",
listTask: "http://rap2api.taobao.org/app/mock/233041/task/listTask",
listImage: "http://rap2api.taobao.org/app/mock/233041/image/listImage",
listBbs: "http://rap2api.taobao.org/app/mock/233041/bbs/listBbs", listBbs: "http://rap2api.taobao.org/app/mock/233041/bbs/listBbs",

View File

@ -1,222 +1,208 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<title>下载列表</title> <title>下载列表</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="../../css/oksub.css"> <link rel="stylesheet" href="../../css/oksub.css">
</head> </head>
<body> <body>
<div class="ok-body"> <div class="ok-body">
<!--面包屑导航区域--> <!--模糊搜索区域-->
<div class="ok-body-breadcrumb"> <div class="layui-row">
<span class="layui-breadcrumb"> <form class="layui-form layui-col-md12 ok-search">
<a><cite>首页</cite></a> <input class="layui-input" placeholder="开始日期" autocomplete="off" id="startTime" name="startTime">
<a><cite>常用页面</cite></a> <input class="layui-input" placeholder="截止日期" autocomplete="off" id="endTime" name="endTime">
<a><cite>下载列表</cite></a> <input class="layui-input" placeholder="请输入标题" autocomplete="off" name="title">
</span> <button class="layui-btn" lay-submit="" lay-filter="search">
<a class="layui-btn layui-btn-sm" href="javascript:location.replace(location.href);" title="刷新"> <i class="layui-icon layui-icon-search"></i>
<i class="layui-icon layui-icon-refresh"></i> </button>
</a> </form>
</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> </div>
<!--js逻辑--> <!--数据表格-->
<script src="../../lib/layui/layui.js"></script> <table class="layui-hide" id="tableId" lay-filter="tableFilter"></table>
<script> </div>
layui.use(["element", "table", "form", "laydate", "okLayer", "okUtils", "okMock"], function () { <!--js逻辑-->
var table = layui.table; <script src="../../lib/layui/layui.js"></script>
var form = layui.form; <script>
var util = layui.util; layui.use(["table", "form", "laydate", "okLayer", "okUtils", "okMock"], function () {
var laydate = layui.laydate; let table = layui.table;
var okLayer = layui.okLayer; let form = layui.form;
var okUtils = layui.okUtils; let util = layui.util;
var okMock = layui.okMock; let laydate = layui.laydate;
let okLayer = layui.okLayer;
let okUtils = layui.okUtils;
let okMock = layui.okMock;
util.fixbar({}); util.fixbar({});
laydate.render({elem: "#startTime", type: "datetime"}); laydate.render({elem: "#startTime", type: "datetime"});
laydate.render({elem: "#endTime", type: "datetime"}); laydate.render({elem: "#endTime", type: "datetime"});
var articleTable = table.render({ let articleTable = table.render({
elem: "#tableId", elem: "#tableId",
url: okMock.api.download.list, url: okMock.api.listDownload,
limit: 20, limit: 20,
page: true, page: true,
even: true, even: true,
toolbar: "#toolbarTpl", toolbar: "#toolbarTpl",
size: "sm", size: "sm",
cols: [[ cols: [[
{type: "checkbox", fixed: "left"}, {type: "checkbox", fixed: "left"},
{field: "id", title: "ID", width: 170, sort: true}, {field: "id", title: "ID", width: 170, sort: true},
{field: "name", title: "资源名称", width: 250}, {field: "name", title: "资源名称", width: 150},
{field: "remarks", title: "资源信息", width: 250}, {field: "remarks", title: "资源信息", width: 250},
{field: "url", title: "预览", width: 250, templet: "#urlTpl"}, {field: "url", title: "预览", width: 250, templet: "#urlTpl"},
{field: "publisher", title: "发布者", width: 100}, {field: "publisher", title: "发布者", width: 100},
{field: "downloadSize", title: "下载量", width: 80}, {field: "downloadSize", title: "下载量", width: 80},
{field: "recommend", title: "是否推荐", width: 100, align: "center", templet: "#recommendTpl"}, {field: "recommend", title: "是否推荐", width: 100, align: "center", templet: "#recommendTpl"},
{field: "status", title: "状态", width: 110, align: "center", templet: "#statusTpl"}, {field: "status", title: "状态", width: 110, align: "center", templet: "#statusTpl"},
{title: "操作", width: 100, align: "center", fixed: "right", templet: "#operationTpl"} {field: "createTime", title: "创建时间", width: 180},
]], {field: "updateTime", title: "更新时间", width: 180},
done: function (res, curr, count) { {title: "操作", width: 100, align: "center", fixed: "right", templet: "#operationTpl"}
console.log(res, curr, count) ]],
} done: function (res, curr, count) {
console.log(res, curr, count);
}
});
form.on("submit(search)", function (data) {
articleTable.reload({
where: data.field,
page: {curr: 1}
}); });
return false;
});
form.on("submit(search)", function () { table.on("toolbar(tableFilter)", function (obj) {
articleTable.reload({ switch (obj.event) {
where: data.field, case "batchEnabled":
page: {curr: 1} batchEnabled();
}); break;
return false; case "batchDisabled":
}); batchDisabled();
break;
table.on("toolbar(tableFilter)", function (obj) { case "batchDelete":
switch (obj.event) { batchDelete();
case "batchEnabled": break;
batchEnabled(); case "add":
break; add();
case "batchDisabled": break;
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() { table.on("tool(tableFilter)", function (obj) {
okLayer.confirm("确定要批量下架吗?", function (index) { let data = obj.data;
layer.close(index); switch (obj.event) {
var idsStr = okUtils.table.batchCheck(table); case "updateById":
if (idsStr) { updateById(data.id);
okUtils.ajax("/article/batchStop", "post", {idsStr: idsStr}).done(function (response) { break;
console.log(response); case "deleteById":
okUtils.table.successMsg("批量下架成功"); deleteById(data.id);
}).fail(function (error) { break;
console.log(error)
});
}
});
} }
});
function batchDel() { function batchEnabled() {
okLayer.confirm("确定要批量删除吗?", function (index) { okLayer.confirm("确定要批量上架吗?", function (index) {
layer.close(index); layer.close(index);
var idsStr = okUtils.table.batchCheck(table); let idsStr = okUtils.tableBatchCheck(table);
if (idsStr) { if (idsStr) {
okUtils.ajax("/article/batchDel", "post", {idsStr: idsStr}).done(function (response) { okUtils.ajax("/download/update-download-status", "put", {idsStr: idsStr}, true).done(function (response) {
console.log(response); okUtils.tableSuccessMsg(response.msg);
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) { }).fail(function (error) {
console.log(error) console.log(error);
}); });
}) }
} });
}) }
</script>
<!-- 头工具栏模板 --> function batchDisabled() {
<script type="text/html" id="toolbarTpl"> okLayer.confirm("确定要批量下架吗?", function (index) {
<div class="layui-btn-container"> layer.close(index);
<button class="layui-btn layui-btn-sm layui-btn-normal" lay-event="batchEnabled">批量上架</button> let idsStr = okUtils.tableBatchCheck(table);
<button class="layui-btn layui-btn-sm layui-btn-warm" lay-event="batchDisabled">批量下架</button> if (idsStr) {
<button class="layui-btn layui-btn-sm layui-btn-danger" lay-event="batchDel">批量删除</button> okUtils.ajax("/download/update-download-status", "put", {idsStr: idsStr}, true).done(function (response) {
<button class="layui-btn layui-btn-sm" lay-event="add">添加文章</button> okUtils.tableSuccessMsg(response.msg);
</div> }).fail(function (error) {
</script> console.log(error);
<!-- 行工具栏模板 --> });
<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>
<!-- 链接 --> function batchDelete() {
<script type="text/html" id="urlTpl"> okLayer.confirm("确定要批量删除吗?", function (index) {
<a href="{{d.url}}" target="_blank">{{d.url}}</a> layer.close(index);
</script> let idsStr = okUtils.tableBatchCheck(table);
<!-- 土建 --> if (idsStr) {
<script type="text/html" id="recommendTpl"> okUtils.ajax("/download/deleteDownload", "delete", {idsStr: idsStr}, true).done(function (response) {
{{# if(d.recommend == 0){ }} okUtils.tableSuccessMsg(response.msg);
<span class="layui-btn layui-btn-normal layui-btn-xs">已推荐</span> }).fail(function (error) {
{{# } else if(d.recommend == 1) { }} console.log(error);
<span class="layui-btn layui-btn-warm layui-btn-xs">未推荐</span> });
{{# } }} }
</script> });
<!-- 状态--> }
<script type="text/html" id="statusTpl">
{{# if(d.status == 0){ }} function add() {
<span class="layui-btn layui-btn-normal layui-btn-xs">已发布</span> okLayer.open("添加文章", "download-add.html", "90%", "90%", null, function () {
{{# } else if(d.status == 1) { }} articleTable.reload();
<span class="layui-btn layui-btn-warm layui-btn-xs">未下架</span> });
{{# } else if(d.status == 2) { }} }
<span class="layui-btn layui-btn-warm layui-btn-xs">已删除</span>
{{# } }} function updateById(id) {
</script> okLayer.open("编辑文章", "download-edit.html?id=" + id, "90%", "90%", null, function () {
articleTable.reload();
</body> });
}
function deleteById(id) {
okLayer.confirm("确定要删除吗?", function () {
okUtils.ajax("/download/deleteDownload", "delete", {idsStr: id}, true).done(function (response) {
okUtils.tableSuccessMsg(response.msg);
}).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">批量上架</button>
<button class="layui-btn layui-btn-sm layui-btn-warm" lay-event="batchDisabled">批量下架</button>
<button class="layui-btn layui-btn-sm layui-btn-danger" lay-event="batchDelete">批量删除</button>
<button class="layui-btn layui-btn-sm" lay-event="add">添加下载</button>
</div>
</script>
<!-- 行工具栏模板 -->
<script type="text/html" id="operationTpl">
<a href="javascript:" title="编辑" lay-event="updateById"><i class="layui-icon">&#xe642;</i></a>
<a href="javascript:" title="删除" lay-event="deleteById"><i class="layui-icon">&#xe640;</i></a>
</script>
<!-- 链接 -->
<script type="text/html" id="urlTpl">
<a href="{{d.url}}" target="_blank">{{d.url}}</a>
</script>
<!-- 是否推荐 -->
<script type="text/html" id="recommendTpl">
{{# if(d.recommend == 0){ }}
<span class="layui-btn layui-btn-normal layui-btn-xs">已推荐</span>
{{# } else if(d.recommend == 1) { }}
<span class="layui-btn layui-btn-warm layui-btn-xs">未推荐</span>
{{# } }}
</script>
<!-- 状态-->
<script type="text/html" id="statusTpl">
{{# if(d.status == 0){ }}
<span class="layui-btn layui-btn-normal layui-btn-xs">已发布</span>
{{# } else if(d.status == 1) { }}
<span class="layui-btn layui-btn-warm layui-btn-xs">未下架</span>
{{# } else if(d.status == 2) { }}
<span class="layui-btn layui-btn-warm layui-btn-xs">已删除</span>
{{# } }}
</script>
</body>
</html> </html>

View File

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

View File

@ -1,213 +1,161 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<title>链接列表</title> <title>链接列表</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="../../css/oksub.css"> <link rel="stylesheet" href="../../css/oksub.css">
</head> </head>
<body> <body>
<div class="ok-body"> <div class="ok-body">
<!--面包屑导航区域--> <!--模糊搜索区域-->
<div class="ok-body-breadcrumb"> <div class="layui-row">
<span class="layui-breadcrumb"> <form class="layui-form layui-col-md12 ok-search">
<a><cite>首页</cite></a> <input class="layui-input" placeholder="开始日期" autocomplete="off" id="startTime" name="startTime">
<a><cite>常用页面</cite></a> <input class="layui-input" placeholder="截止日期" autocomplete="off" id="endTime" name="endTime">
<a><cite>链接列表</cite></a> <input class="layui-input" placeholder="请输入标题" autocomplete="off" name="title">
</span> <button class="layui-btn" lay-submit="" lay-filter="search">
<a class="layui-btn layui-btn-sm" href="javascript:location.replace(location.href);" title="刷新"> <i class="layui-icon layui-icon-search"></i>
<i class="layui-icon layui-icon-refresh"></i> </button>
</a> </form>
</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> </div>
<!--js逻辑--> <!--数据表格-->
<script src="../../lib/layui/layui.js"></script> <table class="layui-hide" id="tableId" lay-filter="tableFilter"></table>
<script> </div>
layui.use(["element", "table", "form", "laydate", "okLayer", "okUtils", "okMock"], function () { <!--js逻辑-->
var table = layui.table; <script src="../../lib/layui/layui.js"></script>
var form = layui.form; <script>
var util = layui.util; layui.use(["table", "form", "laydate", "okLayer", "okUtils", "okMock"], function () {
var laydate = layui.laydate; let table = layui.table;
var okLayer = layui.okLayer; let form = layui.form;
var okUtils = layui.okUtils; let util = layui.util;
var okMock = layui.okMock; let laydate = layui.laydate;
let okLayer = layui.okLayer;
let okUtils = layui.okUtils;
let okMock = layui.okMock;
util.fixbar({}); util.fixbar({});
laydate.render({elem: "#startTime", type: "datetime"}); laydate.render({elem: "#startTime", type: "datetime"});
laydate.render({elem: "#endTime", type: "datetime"}); laydate.render({elem: "#endTime", type: "datetime"});
var articleTable = table.render({ let articleTable = table.render({
elem: "#tableId", elem: "#tableId",
url: okMock.api.link.list, url: okMock.api.listLink,
limit: 20, limit: 20,
page: true, page: true,
even: true, even: true,
toolbar: "#toolbarTpl", toolbar: "#toolbarTpl",
size: "sm", size: "sm",
cols: [[ cols: [[
{type: "checkbox", fixed: "left"}, {type: "checkbox", fixed: "left"},
{field: "id", title: "ID", width: 170, sort: true}, {field: "id", title: "ID", width: 170, sort: true},
{field: "name", title: "名称", width: 100}, {field: "name", title: "名称", width: 150},
{field: "remarks", title: "备注", width: 310}, {field: "remarks", title: "备注", width: 310},
{field: "url", title: "链接", width: 250, templet: "#urlTpl"}, {field: "url", title: "链接", width: 250, templet: "#urlTpl"},
{field: "status", title: "状态", width: 110, align: "center", templet: "#statusTpl"}, {field: "status", title: "状态", width: 110, align: "center", templet: "#statusTpl"},
{field: "createTime", title: "创建时间", width: 150}, {field: "createTime", title: "创建时间", width: 150},
{title: "操作", width: 100, align: "center", fixed: "right", templet: "#operationTpl"} {field: "updateTime", title: "更新时间", width: 150},
]], {title: "操作", width: 100, align: "center", fixed: "right", templet: "#operationTpl"}
done: function (res, curr, count) { ]],
console.log(res, curr, count) done: function (res, curr, count) {
} console.log(res, curr, count)
}
});
form.on("submit(search)", function (data) {
articleTable.reload({
where: data.field,
page: {curr: 1}
}); });
return false;
});
form.on("submit(search)", function () { table.on("toolbar(tableFilter)", function (obj) {
articleTable.reload({ switch (obj.event) {
where: data.field, case "add":
page: {curr: 1} add();
}); break;
return false; case "batchDelete":
}); batchDel();
break;
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() { table.on("tool(tableFilter)", function (obj) {
okLayer.confirm("确定要批量下架吗?", function (index) { let data = obj.data;
layer.close(index); switch (obj.event) {
var idsStr = okUtils.table.batchCheck(table); case "updateById":
if (idsStr) { updateById(data.id);
okUtils.ajax("/article/batchStop", "post", {idsStr: idsStr}).done(function (response) { break;
console.log(response); case "deleteById":
okUtils.table.successMsg("批量下架成功"); deleteById(data.id);
}).fail(function (error) { break;
console.log(error)
});
}
});
} }
});
function batchDel() { function batchDel() {
okLayer.confirm("确定要批量删除吗?", function (index) { okLayer.confirm("确定要批量删除吗?", function (index) {
layer.close(index); layer.close(index);
var idsStr = okUtils.table.batchCheck(table); let idsStr = okUtils.tableBatchCheck(table);
if (idsStr) { if (idsStr) {
okUtils.ajax("/article/batchDel", "post", {idsStr: idsStr}).done(function (response) { okUtils.ajax("/link/deleteLink", "delete", {idsStr: idsStr}, true).done(function (response) {
console.log(response); okUtils.tableSuccessMsg(response.msg);
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) { }).fail(function (error) {
console.log(error) console.log(error);
}); });
}) }
} });
}) }
</script>
<!-- 头工具栏模板 --> function add() {
<script type="text/html" id="toolbarTpl"> okLayer.open("添加连接", "link-add.html", "90%", "90%", null, function () {
<div class="layui-btn-container"> articleTable.reload();
<button class="layui-btn layui-btn-sm layui-btn-normal" lay-event="batchEnabled">批量上架</button> })
<button class="layui-btn layui-btn-sm layui-btn-warm" lay-event="batchDisabled">批量下架</button> }
<button class="layui-btn layui-btn-sm layui-btn-danger" lay-event="batchDel">批量删除</button>
<button class="layui-btn layui-btn-sm" lay-event="add">添加文章</button> function updateById(id) {
</div> okLayer.open("编辑连接", "link-edit.html?id=" + id, "90%", "90%", null, function () {
</script> articleTable.reload();
<!-- 行工具栏模板 --> })
<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> function deleteById(id) {
</script> okLayer.confirm("确定要删除吗?", function () {
<!-- 链接 --> okUtils.ajax("/link/deleteLink", "delete", {idsStr: id}, true).done(function (response) {
<script type="text/html" id="urlTpl"> okUtils.tableSuccessMsg(response.msg);
<a href="{{d.url}}" target="_blank">{{d.url}}</a> }).fail(function (error) {
</script> console.log(error);
});
<!-- 发布--> })
<script type="text/html" id="statusTpl"> }
{{# if(d.status == 0){ }} })
<span class="layui-btn layui-btn-normal layui-btn-xs">已显示</span> </script>
{{# } else if(d.status == 1) { }} <!-- 头工具栏模板 -->
<span class="layui-btn layui-btn-warm layui-btn-xs">未显示</span> <script type="text/html" id="toolbarTpl">
{{# } else if(d.status == 2) { }} <div class="layui-btn-container">
<span class="layui-btn layui-btn-danger layui-btn-xs">已删除</span> <div class="layui-inline" lay-event="add"><i class="layui-icon">&#xe654;</i></div>
{{# } }} <div class="layui-inline" lay-event="batchDelete"><i class="layui-icon">&#xe640;</i></div>
</script> </div>
</script>
</body> <!-- 行工具栏模板 -->
<script type="text/html" id="operationTpl">
<a href="javascript:" title="编辑" lay-event="updateById"><i class="layui-icon">&#xe642;</i></a>
<a href="javascript:" title="删除" lay-event="deleteById"><i class="layui-icon">&#xe640;</i></a>
</script>
<!-- 链接 -->
<script type="text/html" id="urlTpl">
<a href="{{d.url}}" target="_blank">{{d.url}}</a>
</script>
<!-- 发布-->
<script type="text/html" id="statusTpl">
{{# if(d.status == 0){ }}
<span class="layui-btn layui-btn-normal layui-btn-xs">已显示</span>
{{# } else if(d.status == 1) { }}
<span class="layui-btn layui-btn-warm layui-btn-xs">未显示</span>
{{# } else if(d.status == 2) { }}
<span class="layui-btn layui-btn-danger layui-btn-xs">已删除</span>
{{# } }}
</script>
</body>
</html> </html>

View File

@ -1,205 +1,191 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<title>产品列表</title> <title>产品列表</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="../../css/oksub.css"> <link rel="stylesheet" href="../../css/oksub.css">
</head> </head>
<body> <body>
<div class="ok-body"> <div class="ok-body">
<!--面包屑导航区域--> <!--模糊搜索区域-->
<div class="ok-body-breadcrumb"> <div class="layui-row">
<span class="layui-breadcrumb"> <form class="layui-form layui-col-md12 ok-search">
<a><cite>首页</cite></a> <input class="layui-input" placeholder="开始日期" autocomplete="off" id="startTime" name="startTime">
<a><cite>常用页面</cite></a> <input class="layui-input" placeholder="截止日期" autocomplete="off" id="endTime" name="endTime">
<a><cite>产品列表</cite></a> <input class="layui-input" placeholder="请输入标题" autocomplete="off" name="title">
</span> <button class="layui-btn" lay-submit="" lay-filter="search">
<a class="layui-btn layui-btn-sm" href="javascript:location.replace(location.href);" title="刷新"> <i class="layui-icon layui-icon-search"></i>
<i class="layui-icon layui-icon-refresh"></i> </button>
</a> </form>
</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> </div>
<!--js逻辑--> <!--数据表格-->
<script src="../../lib/layui/layui.js"></script> <table class="layui-hide" id="tableId" lay-filter="tableFilter"></table>
<script> </div>
layui.use(["element", "table", "form", "laydate", "okLayer", "okUtils", "okMock"], function () { <!--js逻辑-->
var table = layui.table; <script src="../../lib/layui/layui.js"></script>
var form = layui.form; <script>
var util = layui.util; layui.use(["table", "form", "laydate", "okLayer", "okUtils", "okMock"], function () {
var laydate = layui.laydate; let table = layui.table;
var okLayer = layui.okLayer; let form = layui.form;
var okUtils = layui.okUtils; let util = layui.util;
var okMock = layui.okMock; let laydate = layui.laydate;
let okLayer = layui.okLayer;
let okUtils = layui.okUtils;
let okMock = layui.okMock;
util.fixbar({}); util.fixbar({});
laydate.render({elem: "#startTime", type: "datetime"}); laydate.render({elem: "#startTime", type: "datetime"});
laydate.render({elem: "#endTime", type: "datetime"}); laydate.render({elem: "#endTime", type: "datetime"});
var articleTable = table.render({ let articleTable = table.render({
elem: "#tableId", elem: "#tableId",
url: okMock.api.product.list, url: okMock.api.listProduct,
limit: 20, limit: 20,
page: true, page: true,
even: true, even: true,
toolbar: "#toolbarTpl", toolbar: "#toolbarTpl",
size: "lg", size: "lg",
cols: [[ cols: [[
{type: "checkbox", fixed: "left"}, {type: "checkbox", fixed: "left"},
{field: "id", title: "ID", width: 170, sort: true}, {field: "id", title: "ID", width: 200, sort: true},
{field: "name", title: "产品名称", width: 100}, {field: "name", title: "产品名称", width: 100},
{field: "logo", title: "产品LOGO", width: 150, templet: "#logoTpl"}, {field: "logo", title: "产品LOGO", width: 150, templet: "#logoTpl"},
{field: "url", title: "产品官网", width: 200, templet: "#urlTpl"}, {field: "url", title: "产品官网", width: 200, templet: "#urlTpl"},
{field: "description", title: "产品描述", width: 400}, {field: "description", title: "产品描述", width: 400},
{field: "createTime", title: "创建时间", width: 180}, {field: "createTime", title: "创建时间", width: 180},
{title: "操作", width: 100, align: "center", fixed: "right", templet: "#operationTpl"} {field: "updateTime", title: "更新时间", width: 180},
]], {title: "操作", width: 100, align: "center", fixed: "right", templet: "#operationTpl"}
done: function (res, curr, count) { ]],
console.log(res, curr, count) done: function (res, curr, count) {
} console.log(res, curr, count)
}
});
form.on("submit(search)", function (data) {
articleTable.reload({
where: data.field,
page: {curr: 1}
}); });
return false;
});
form.on("submit(search)", function () { table.on("toolbar(tableFilter)", function (obj) {
articleTable.reload({ switch (obj.event) {
where: data.field, case "batchEnabled":
page: {curr: 1} batchEnabled();
}); break;
return false; case "batchDisabled":
}); batchDisabled();
break;
table.on("toolbar(tableFilter)", function (obj) { case "batchDelete":
switch (obj.event) { batchDelete();
case "batchEnabled": break;
batchEnabled(); case "add":
break; add();
case "batchDisabled": break;
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() { table.on("tool(tableFilter)", function (obj) {
okLayer.confirm("确定要批量下架吗?", function (index) { let data = obj.data;
layer.close(index); switch (obj.event) {
var idsStr = okUtils.table.batchCheck(table); case "updateById":
if (idsStr) { updateById(data.id);
okUtils.ajax("/article/batchStop", "post", {idsStr: idsStr}).done(function (response) { break;
console.log(response); case "deleteById":
okUtils.table.successMsg("批量下架成功"); deleteById(data.id);
}).fail(function (error) { break;
console.log(error)
});
}
});
} }
});
function batchDel() { function batchEnabled() {
okLayer.confirm("确定要批量删除吗?", function (index) { okLayer.confirm("确定要批量上架吗?", function (index) {
layer.close(index); layer.close(index);
var idsStr = okUtils.table.batchCheck(table); let idsStr = okUtils.tableBatchCheck(table);
if (idsStr) { if (idsStr) {
okUtils.ajax("/article/batchDel", "post", {idsStr: idsStr}).done(function (response) { okUtils.ajax("/product/update-product-status", "put", {idsStr: idsStr}, true).done(function (response) {
console.log(response); okUtils.tableSuccessMsg(response.msg);
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) { }).fail(function (error) {
console.log(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">批量上架</button>
<button class="layui-btn layui-btn-sm layui-btn-warm" lay-event="batchDisabled">批量下架</button>
<button class="layui-btn layui-btn-sm layui-btn-danger" lay-event="batchDel">批量删除</button>
<button class="layui-btn layui-btn-sm" lay-event="add">添加文章</button>
</div>
</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>
<script type="text/html" id="logoTpl"> function batchDisabled() {
<image src="{{d.logo}}"/> okLayer.confirm("确定要批量下架吗?", function (index) {
</script> layer.close(index);
let idsStr = okUtils.tableBatchCheck(table);
if (idsStr) {
okUtils.ajax("/product/update-product-status", "put", {idsStr: idsStr}, true).done(function (response) {
okUtils.tableSuccessMsg(response.msg);
}).fail(function (error) {
console.log(error);
});
}
});
}
<script type="text/html" id="urlTpl"> function batchDelete() {
<a href="{{d.url}}" target="_blank">{{d.url}}</a> okLayer.confirm("确定要批量删除吗?", function (index) {
</script> layer.close(index);
</body> let idsStr = okUtils.tableBatchCheck(table);
if (idsStr) {
okUtils.ajax("/product/deleteProduct", "delete", {idsStr: idsStr}, true).done(function (response) {
okUtils.tableSuccessMsg(response.msg);
}).fail(function (error) {
console.log(error);
});
}
});
}
function add() {
okLayer.open("添加产品", "product-add.html", "90%", "90%", null, function () {
articleTable.reload();
})
}
function updateById(id) {
okLayer.open("编辑产品", "product-edit.html?id=" + id, "90%", "90%", null, function () {
articleTable.reload();
})
}
function deleteById(id) {
okLayer.confirm("确定要删除吗?", function () {
okUtils.ajax("/product/deleteProduct", "delete", {idsStr: id}).done(function (response) {
okUtils.tableSuccessMsg(response.msg);
}).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">批量上架</button>
<button class="layui-btn layui-btn-sm layui-btn-warm" lay-event="batchDisabled">批量下架</button>
<button class="layui-btn layui-btn-sm layui-btn-danger" lay-event="batchDelete">批量删除</button>
<button class="layui-btn layui-btn-sm" lay-event="add">添加产品</button>
</div>
</script>
<!-- 行工具栏模板 -->
<script type="text/html" id="operationTpl">
<a href="javascript:" title="编辑" lay-event="updateById"><i class="layui-icon">&#xe642;</i></a>
<a href="javascript:" title="删除" lay-event="deleteById"><i class="layui-icon">&#xe640;</i></a>
</script>
<script type="text/html" id="logoTpl">
<image src="{{d.logo}}"/>
</script>
<script type="text/html" id="urlTpl">
<a href="{{d.url}}" target="_blank">{{d.url}}</a>
</script>
</body>
</html> </html>

View File

@ -1,217 +1,202 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<title>任务列表</title> <title>任务列表</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="../../css/oksub.css"> <link rel="stylesheet" href="../../css/oksub.css">
</head> </head>
<body> <body>
<div class="ok-body"> <div class="ok-body">
<!--面包屑导航区域--> <!--模糊搜索区域-->
<div class="ok-body-breadcrumb"> <div class="layui-row">
<span class="layui-breadcrumb"> <form class="layui-form layui-col-md12 ok-search">
<a><cite>首页</cite></a> <input class="layui-input" placeholder="开始日期" autocomplete="off" id="startTime" name="startTime">
<a><cite>常用页面</cite></a> <input class="layui-input" placeholder="截止日期" autocomplete="off" id="endTime" name="endTime">
<a><cite>任务列表</cite></a> <input class="layui-input" placeholder="请输入标题" autocomplete="off" name="title">
</span> <button class="layui-btn" lay-submit="" lay-filter="search">
<a class="layui-btn layui-btn-sm" href="javascript:location.replace(location.href);" title="刷新"> <i class="layui-icon layui-icon-search"></i>
<i class="layui-icon layui-icon-refresh"></i> </button>
</a> </form>
</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> </div>
<!--js逻辑--> <!--数据表格-->
<script src="../../lib/layui/layui.js"></script> <table class="layui-hide" id="tableId" lay-filter="tableFilter"></table>
<script> </div>
layui.use(["element", "table", "form", "laydate", "okLayer", "okUtils", "okMock"], function () { <!--js逻辑-->
var element = layui.element; <script src="../../lib/layui/layui.js"></script>
var table = layui.table; <script>
var form = layui.form; layui.use(["element", "table", "form", "laydate", "okLayer", "okUtils", "okMock"], function () {
var util = layui.util; let element = layui.element;
var laydate = layui.laydate; let table = layui.table;
var okLayer = layui.okLayer; let form = layui.form;
var okUtils = layui.okUtils; let util = layui.util;
var okMock = layui.okMock; let laydate = layui.laydate;
let okLayer = layui.okLayer;
let okUtils = layui.okUtils;
let okMock = layui.okMock;
util.fixbar({}); util.fixbar({});
laydate.render({elem: "#startTime", type: "datetime"}); laydate.render({elem: "#startTime", type: "datetime"});
laydate.render({elem: "#endTime", type: "datetime"}); laydate.render({elem: "#endTime", type: "datetime"});
var articleTable = table.render({ let articleTable = table.render({
elem: "#tableId", elem: "#tableId",
url: okMock.api.task.list, url: okMock.api.listTask,
limit: 20, limit: 20,
page: true, page: true,
even: true, even: true,
toolbar: "#toolbarTpl", toolbar: "#toolbarTpl",
size: "sm", size: "sm",
cols: [[ cols: [[
{type: "checkbox", fixed: "left"}, {type: "checkbox", fixed: "left"},
{field: "id", title: "ID", width: 170, sort: true}, {field: "id", title: "ID", width: 170, sort: true},
{field: "name", title: "任务名称", width: 150}, {field: "name", title: "任务名称", width: 150},
{field: "createTime", title: "任务创建时间", width: 150}, {field: "createTime", title: "任务创建时间", width: 150},
{field: "startTime", title: "任务开始时间", width: 150}, {field: "startTime", title: "任务开始时间", width: 150},
{field: "endTime", title: "任务结束时间", width: 150}, {field: "endTime", title: "任务结束时间", width: 150},
{field: "createUser", title: "任务创建人", width: 100}, {field: "createUser", title: "任务创建人", width: 100},
{field: "progress", title: "任务进度", width: 200, templet: "#progressTpl"}, {field: "progress", title: "任务进度", width: 200, templet: "#progressTpl"},
{field: "status", title: "任务状态", width: 110, align: "center", templet: "#statusTpl"}, {field: "status", title: "任务状态", width: 110, align: "center", templet: "#statusTpl"},
{title: "操作", width: 100, align: "center", fixed: "right", 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);
element.init(); element.init();
} }
});
form.on("submit(search)", function (data) {
articleTable.reload({
where: data.field,
page: {curr: 1}
}); });
return false;
});
form.on("submit(search)", function () { table.on("toolbar(tableFilter)", function (obj) {
articleTable.reload({ switch (obj.event) {
where: data.field, case "batchStart":
page: {curr: 1} batchStart();
}); break;
return false; case "batchEnd":
}); batchEnd();
break;
table.on("toolbar(tableFilter)", function (obj) { case "batchDelete":
switch (obj.event) { batchDelete();
case "batchEnabled": break;
batchEnabled(); case "add":
break; add();
case "batchDisabled": break;
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() { table.on("tool(tableFilter)", function (obj) {
okLayer.confirm("确定要批量下架吗?", function (index) { let data = obj.data;
layer.close(index); switch (obj.event) {
var idsStr = okUtils.table.batchCheck(table); case "updateById":
if (idsStr) { updateById(data.id);
okUtils.ajax("/article/batchStop", "post", {idsStr: idsStr}).done(function (response) { break;
console.log(response); case "deleteById":
okUtils.table.successMsg("批量下架成功"); deleteById(data.id);
}).fail(function (error) { break;
console.log(error)
});
}
});
} }
});
function batchDel() { function batchStart() {
okLayer.confirm("确定要批量删除吗?", function (index) { okLayer.confirm("确定要批量开始吗?", function (index) {
layer.close(index); layer.close(index);
var idsStr = okUtils.table.batchCheck(table); let idsStr = okUtils.tableBatchCheck(table);
if (idsStr) { if (idsStr) {
okUtils.ajax("/article/batchDel", "post", {idsStr: idsStr}).done(function (response) { okUtils.ajax("/task/update-task-status", "put", {idsStr: idsStr}, true).done(function (response) {
console.log(response); okUtils.tableSuccessMsg(response.msg);
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) { }).fail(function (error) {
console.log(error) console.log(error);
}); });
}) }
} });
}) }
</script>
<!-- 头工具栏模板 --> function batchEnd() {
<script type="text/html" id="toolbarTpl"> okLayer.confirm("确定要批量结束吗?", function (index) {
<div class="layui-btn-container"> layer.close(index);
<button class="layui-btn layui-btn-sm layui-btn-normal" lay-event="batchEnabled">批量上架</button> let idsStr = okUtils.tableBatchCheck(table);
<button class="layui-btn layui-btn-sm layui-btn-warm" lay-event="batchDisabled">批量下架</button> if (idsStr) {
<button class="layui-btn layui-btn-sm layui-btn-danger" lay-event="batchDel">批量删除</button> okUtils.ajax("/task/update-task-status", "put", {idsStr: idsStr}, true).done(function (response) {
<button class="layui-btn layui-btn-sm" lay-event="add">添加文章</button> okUtils.tableSuccessMsg(response.msg);
</div> }).fail(function (error) {
</script> console.log(error);
<!-- 行工具栏模板 --> });
<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>
<!-- 任务进度 --> function batchDelete() {
<script type="text/html" id="progressTpl"> okLayer.confirm("确定要批量删除吗?", function (index) {
<div class="layui-progress" style="top: 8px"> layer.close(index);
<div class="layui-progress-bar" lay-percent="{{d.progress}}"></div> let idsStr = okUtils.tableBatchCheck(table);
</div> if (idsStr) {
</script> okUtils.ajax("/task/deleteTask", "delete", {idsStr: idsStr}, true).done(function (response) {
<!-- 任务状态 --> okUtils.tableSuccessMsg(response.msg);
<script type="text/html" id="statusTpl"> }).fail(function (error) {
{{# if(d.status == 0){ }} console.log(error);
<span class="layui-btn layui-btn-normal layui-btn-xs">未开始</span> });
{{# } else if(d.status == 1) { }} }
<span class="layui-btn layui-btn-warm layui-btn-xs">进行中</span> });
{{# } else if(d.status == 2) { }} }
<span class="layui-btn layui-btn-danger layui-btn-xs">已完成</span>
{{# } }} function add() {
</script> okLayer.open("添加任务", "task-add.html", "90%", "90%", null, function () {
</body> articleTable.reload();
})
}
function updateById(id) {
okLayer.open("编辑任务", "task-edit.html?id=" + id, "90%", "90%", null, function () {
articleTable.reload();
})
}
function deleteById(id) {
okLayer.confirm("确定要删除吗?", function () {
okUtils.ajax("/task/deleteTask", "delete", {idsStr: id}).done(function (response) {
okUtils.tableSuccessMsg(response.msg);
}).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="batchStart">批量开始</button>
<button class="layui-btn layui-btn-sm layui-btn-warm" lay-event="batchEnd">批量结束</button>
<button class="layui-btn layui-btn-sm layui-btn-danger" lay-event="batchDelete">批量删除</button>
<button class="layui-btn layui-btn-sm" lay-event="add">添加任务</button>
</div>
</script>
<!-- 行工具栏模板 -->
<script type="text/html" id="operationTpl">
<a href="javascript:" title="编辑" lay-event="updateById"><i class="layui-icon">&#xe642;</i></a>
<a href="javascript:" title="删除" lay-event="deleteById"><i class="layui-icon">&#xe640;</i></a>
</script>
<!-- 任务进度 -->
<script type="text/html" id="progressTpl">
<div class="layui-progress" style="top: 8px">
<div class="layui-progress-bar" lay-percent="{{d.progress}}"></div>
</div>
</script>
<!-- 任务状态 -->
<script type="text/html" id="statusTpl">
{{# if(d.status == 0){ }}
<span class="layui-btn layui-btn-normal layui-btn-xs">未开始</span>
{{# } else if(d.status == 1) { }}
<span class="layui-btn layui-btn-warm layui-btn-xs">进行中</span>
{{# } else if(d.status == 2) { }}
<span class="layui-btn layui-btn-danger layui-btn-xs">已完成</span>
{{# } }}
</script>
</body>
</html> </html>