hn_cloud_web/czl-web/pages/announcement/announcementList.html

331 lines
10 KiB
HTML
Raw Normal View History

2025-11-27 16:55:35 +08:00
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/html">
<head>
<meta charset="UTF-8">
<title>系统公告列表</title>
<link rel="stylesheet" href="../../layui-v2.8.18/layui/css/layui.css" media="all"/>
</head>
<style>
.layui-table th{
font-weight: bold;
text-align: center
}
.layui-table td{
text-align: center
}
.layui-btn-sm {
height: 35px;
line-height: 35px;
padding: 0px 10px;
font-size: 16px;
}
</style>
<body style="margin-left: 15px">
<form class="layui-form" action="" onsubmit="return false">
<div class="layui-form-item" style="margin-bottom: 0px;">
<div class="layui-inline" style="margin-top: 10px;">
<div class="layui-input-inline">
<input type="text" id="keyWord" placeholder="请输入关键字" autocomplete="off" class="layui-input">
</div>
<div class="layui-input-inline" style="width: 150px;margin-left: 18px;">
<select id="type" name="type" class="form-control input-sm">
<option value="">请选择公告类型</option>
<option value="1">升级公告</option>
<option value="2">系统通知</option>
</select>
</div>
<div class="layui-input-inline">
<div class="layui-input-inline">
<input type="text" class="layui-input" placeholder="发布时间" id="releaseTime">
</div>
</div>
<div class="layui-input-inline" style="width: 70px;margin-top: 2px">
<button id="searchBt" class="layui-btn layui-btn-sm">查询</button>
</div>
<div class="layui-input-inline" style="width: 70px;margin-top: 2px">
<button id="resetBt" class="layui-btn layui-btn-sm">重置</button>
</div>
<div class="layui-input-inline" style="width: 70px;margin-top: 2px">
<button id="addBt" class="layui-btn layui-btn-sm">新增</button>
</div>
</div>
</div>
</form>
<table id="demo" lay-filter="test"></table>
<script type="text/html" id="toolsBar">
<a lay-event="view" style="color: #009688;cursor: pointer;font-size: 15px">详情</a>
<span style="font-size: 15px;"> | </span>
<a lay-event="del" style="color: #009688;cursor: pointer;font-size: 15px">删除</a>
</script>
</body>
</html>
<script src="../../js/jquery/jquery-3.6.0.js"></script>
<script src="../../layui-v2.8.18/layui/layui.js"></script>
<script type="text/javascript" src="../../js/jq.js"></script>
<script src="../../js/common_methon.js"></script>
2025-12-09 18:44:29 +08:00
<script type="text/javascript" src="../../../public/public.js"></script>
2025-11-27 16:55:35 +08:00
<script type="text/javascript" src="../../js/publicJs.js"></script>
<script type="text/javascript" src="../../js/select.js"></script>
<script type="text/javascript" src="../../js/my/permission.js"></script>
<script>
layui.config({
base: '../../js/layuiModules/', // 第三方模块所在目录
version: 'v1.6.4' // 插件版本号
}).extend({
soulTable: 'notice,layNotify', // 模块
});
let form;
var table;
var notice;
var layNotify;
var laydate;
var util;
$("#resetBt").click(function(){
table.reload('menuTable', {
2025-12-09 18:44:29 +08:00
url: czl_ht_url + '/announcement/getAnnouncementList'
2025-11-27 16:55:35 +08:00
, method: 'post' //方式默认是get
, page: true
, where: {
keyWord: "",
type: "",
releaseTime: "",
} //设定异步数据接口的额外参数
});
$("#keyWord").val("");
getAnnouncementType(form,"");
$("#releaseTime").val("");
})
$("#searchBt").click(function(){
table.reload('menuTable', {
2025-12-09 18:44:29 +08:00
url: czl_ht_url + '/announcement/getAnnouncementList'
2025-11-27 16:55:35 +08:00
, method: 'post' //方式默认是get
, page: true
, where: {
keyWord: $("#keyWord").val(),
type: $("#type").val(),
releaseTime: $("#releaseTime").val(),
} //设定异步数据接口的额外参数
});
})
$("#addBt").click(function(){
localStorage.setItem("id","")
var index = layer.open({
title: ['新增', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: "./AnnouncementForm.html",
area: ['90%', '95%'],
maxmin: false,
});
// layerOpenFormForSencond("新增","./announcementForm.html");
})
layui.use(['laydate','util','form','table','notice', 'layNotify'],function(){
table = layui.table;
form = layui.form;
laydate = layui.laydate;
util = layui.util;
notice = layui.notice;
layNotify = layui.layNotify;
initTime();
//渲染表格
table.render({
elem: '#demo'
2025-12-09 18:44:29 +08:00
, url: czl_ht_url + '/announcement/getAnnouncementList' //数据接口
2025-11-27 16:55:35 +08:00
, method: 'post' //方式默认是get
, toolbar: 'default' //开启工具栏,此处显示默认图标,可以自定义模板,详见文档
, where: {} //post请求必须加where post请求需要的参数
, cellMinWidth: 80
, cols: [[ //表头
{
field: 'number', width:80,title: '序号', align: 'center', type: 'numbers'
}
, {
field: 'title', title: '公告标题', align: 'center', templet: d => {
return text ="<span style='cursor:pointer;' onclick='openView(\"" + d.id +"\")'>"+d.title+"</span>";
}
}
, {field: 'type', align: 'center', title: '公告类型'}
, {
field: 'acceptGroup', title: '接受群体', align: 'center', templet: d => {
return text ="<span style='cursor:pointer;' onclick='openPersonView(\"" + d.id +"\")'>"+d.acceptGroup+"</span>";
}
}
, {field: 'releasePerson', align: 'center', title: '发布人'}
, {field: 'releaseTime', align: 'center', title: '发布时间'}
, {fixed: 'right', title: '操作', align: 'center', toolbar: '#toolsBar'}
]]
, id: 'menuTable'
, page: true //开启分页
, loading: true //数据加载中。。。
, limits: [5, 10, 20] //一页选择显示3,5或10条数据
, limit: 10 //一页显示5条数据
, response: {
statusCode: 200 //规定成功的状态码默认0
}, parseData: function (res) { //将原始数据解析成 table 组件所规定的数据res为从url中get到的数据
let result;
if (res.data !== '' && res.data != null && res.data !== "null") {
if (this.page.curr) {
result = res.data.slice(this.limit * (this.page.curr - 1), this.limit * this.page.curr);
} else {
result = res.data.slice(0, this.limit);
}
}
return {
"code": res.code, //解析接口状态
"msg": res.msg, //解析提示文本
"count": res.count, //解析数据长度
"data": result, //解析数据列表
};
},
toolbar: "#toolbar"
});
//监听工具条
table.on('tool(test)', function (obj) {
var data = obj.data; //当前行数据
var rowIndex = obj.index;
var layEvent = obj.event; //当前点击的事件名
if (layEvent === 'view') {
openView(data.id)
}
if (layEvent === 'del') {
var index = layer.confirm('确定要删除吗?', {
btn : [ '确定', '取消' ]
}, function() {
layer.close(index);
ajaxCommonMethod('/announcement/delAnnouncementById',{'id': data.id},"删除成功","删除失败");
});
}
});
getAnnouncementType(form,"");
})
/**
* 打开详情页面
* @param id
*/
function openView(id){
localStorage.setItem('announcementId',id);
var index = layer.open({
title: ['公告详情', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: './AnnouncementView.html',
area: ["90%", "95%"],
maxmin: false,
btn: ['关闭'],
});
}
function openPersonView(id){
localStorage.setItem('announcementId',id);
var index = layer.open({
title: ['公告详情', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: './AnnouncementPersonView.html',
area: ["35%", "65%"],
maxmin: false,
btn: ['关闭'],
});
}
/**
* 初始化发布时间选择器
*/
function initTime() {
/*
* 快捷选项
*/
// 日期
laydate.render({
elem: "#releaseTime",
shortcuts: [
{
text: "昨天",
value: function(){
var now = new Date();
now.setDate(now.getDate() - 1);
return now;
}
},
{
text: "今天",
value: function(){
return Date.now();
}
},
{
text: "明天",
value: function(){
var now = new Date();
now.setDate(now.getDate() + 1);
return now;
}
},
{
text: "上个月",
value: function(){
var now = new Date();
var month = now.getMonth() - 1;
now.setMonth(month);
// 若上个月数不匹配,则表示天数溢出
if (now.getMonth() !== month) {
now.setDate(0); // 重置天数
}
return [now];
}
},
{
text: "下个月",
value: function(){
var now = new Date();
var month = now.getMonth() + 1;
now.setMonth(month);
// 若下个月数不匹配,则表示天数溢出
if (now.getMonth() !== month) {
now.setDate(0); // 重置天数
}
return [now];
}
},
{
text: "某一天",
value: "2016-10-14"
}
]
});
}
function reloadTip(tip,message,type){
layNotify.notice({
title: tip+"提示",
type: type,
message: message
});
}
function ajaxCommonMethod(url,data,success,error){
$.ajax({
type: 'POST',
async: false, // 默认异步true,false表示同步
2025-12-09 18:44:29 +08:00
url: czl_ht_url + url,// 请求地址
2025-11-27 16:55:35 +08:00
contentType: "application/x-www-form-urlencoded",
dataType: 'json', // 服务器返回数据类型
data: data, //获取提交的表单字段
success: function (data) {
var resMsg = data.resMsg;
if ("数据获取成功" == resMsg) {
reloadTip("删除",success,'success');
setTimeout(function(){
window.location.reload();
}, 2000);
}else {
reloadTip("删除",error,"error");
}
}
});
}
</script>