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

278 lines
11 KiB
HTML

<!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-form-label {
position: relative;
float: left;
display: block;
padding: 9px 15px;
width: 100%;
font-weight: 400;
line-height: 20px;
text-align: right;
}
</style>
<body>
<form class="layui-form" action="" onsubmit="return false">
<table id="announcementType" lay-filter="announcementType" style="padding: 10px"></table>
<div class="layui-form-item" style="display: none">
<div class="layui-input-block">
<button type="submit" class="layui-btn subBtn" id="commit" lay-submit lay-filter="formDemo">提交</button>
</div>
</div>
</form>
</body>
</html>
<script type="text/html" id="barDemo">
<a lay-event="add" style="color: #009688;cursor: pointer;font-size: 15px">新增</a>
{{# if(d.type == 2 || d.type == 3){ }}
<span style="font-size: 15px;"> | </span>
<a lay-event="del" style="color: #009688;cursor: pointer;font-size: 15px">删除</a>
{{# } }}
</script>
<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>
<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 type="text/javascript">
layui.config({
base: '../../js/layuiModules/', // 第三方模块所在目录
version: 'v1.6.4' // 插件版本号
}).extend({
soulTable: 'notice,layNotify', // 模块
});
var form;
var table;
var newData;
var notice;
var layNotify;
var finalData;
layui.use(['table', 'form', 'notice', 'layNotify'], function () {
table = layui.table;
form = layui.form;
notice = layui.notice;
layNotify = layui.layNotify;
showTable();
form.render();
//监听工具条
table.on('tool(announcementType)', function (obj) {
var id = obj.config.id;
var data = obj.data; //当前行数据
var rowIndex = obj.index;
var layEvent = obj.event; //当前点击的事件名
if (layEvent === 'add') {
var newRow = {
typeName: '',
type: 3,
id:'',
parentId: data.parentId
}; //新增行的数据
var newData = table.cache.announcementType; //获取当前表格的数据
var index = obj.tr.index(); //获取当前行的索引
newData.splice(index + 1, 0, newRow); // 假设 tableData 是表格的数据源
// 重新渲染表格
table.reload('announcementType', {
data: newData, // 重新加载时传入新的数据源
});
}
if (layEvent === 'del') {
if (data.type == '3') {
layer.confirm('确认删除该行数据?', function (index) {
newData = table.cache.announcementType; //获取当前表格的数据
newData.splice(rowIndex, 1); //从数组中删除指定索引的元素
table.reload('announcementType', {
data: newData //重新加载表格数据
});
layer.close(index);
reloadTip("删除", '删除成功', 'success');
});
}
if (data.type == '2') {
var delIndex = layer.confirm('确认删除该行数据?', function (index) {
newData = table.cache.announcementType; //获取当前表格的数据
newData.splice(rowIndex, 1); //从数组中删除指定索引的元素
$.ajax({
type: 'POST',
async: false, // 默认异步true,false表示同步
url: ctxPath + "/announcement/delAnnouncementTypeById",// 请求地址
contentType: "application/x-www-form-urlencoded",
dataType: 'json', // 服务器返回数据类型
data: {
id: data.id
}, //获取提交的表单字段
success: function (data) {
var resMsg = data.resMsg;
if ("数据获取成功" == resMsg) {
reloadTip("删除", "删除成功", 'success');
table.reload('announcementType', {
data: newData //重新加载表格数据
});
layer.close(delIndex);
} else {
reloadTip("删除", error, "error");
}
}
});
});
}
}
});
// 单元格编辑事件
table.on('edit(announcementType)', function (obj) {
var field = obj.field; // 得到字段
var value = obj.value; // 得到修改后的值
var oldValue = obj.oldValue;
var data = obj.data; // 得到所在行所有键值
var update = {};
// 值的校验
if (field === 'title') {
if (value.length > 10) {
update[field] = oldValue;
obj.update(update);
layer.tips('最大字符长度为10!', this, {tips: 1});
return obj.reedit(); // 重新编辑 -- v2.8.0 新增
} else {
update[field] = value;
obj.update(update);
}
}
reloadTip("表格编辑", data.typeName + "编辑成功", 'success')
});
// 验证成功后才会执行下面的操作
form.on('submit(formDemo)', function (data) {
addInfo(); //新增方法
});
});
function showTable() {
$.ajax({
type: 'post',
url: ctxPath + '/announcement/getAnnouncementType',//数据接口
dataType: 'json', // 服务器返回数据类型
async: true,
data: {},
success: function (data) {
console.log(JSON.stringify(data))
table.render({
elem: '#announcementType'
, toolbar: 'default'
, cellMinWidth: 80
, cols: [[ //表头
{field: 'typeName', title: '类型', edit: 'text', align: 'center'},
{title: '操作', toolbar: '#barDemo', align: 'center'} //自定义操作栏模板
]],
data: data.data,
done: function (res, curr, count) {
},
toolbar: '#toolbarDemo' //开启工具栏,此处显示默认图标,可以自定义模板,详见文档
});
},
error: function (err) {
console.log("获取工程下拉列表出错:", err);
}
});
}
function addInfo() {
var tip = '保存';
finalData = table.cache.announcementType;
console.log(finalData)
for (let i = 0; i < finalData.length; i++) {
if (isEmpty(finalData[i].typeName)) {
reloadTip("数据提交", "相关表格数据请填写完整在进行提交,谢谢^_^!", 'error');
return;
// return layer.msg("相关表格数据请填写完整在进行提交,谢谢^_^!")
}
}
var data = {
finalData: JSON.stringify(finalData),
}
var tip = "操作";
var formUrl = ctxPath + "/announcement/categoricalManagementOfOperations";
// 加载提示
var addLoadingMsg = top.layer.msg('数据上传中,请稍候...', {
icon: 16,
scrollbar: false,
time: 0,
shade: [0.8, '#393D49']
});
$.ajax({
type: 'post',
async: false, // 默认异步true,false表示同步
url: formUrl, // 请求地址
contentType: "application/json; charset=utf-8",
dataType: 'json', // 服务器返回数据类型
data: JSON.stringify(data), //获取提交的表单字段
success: function (data) {
if (data.resMsg == "发起成功") {
top.layer.close(addLoadingMsg); //再执行关闭
reloadTip(tip, tip + "成功", "success");
setTimeout(function () {
parent.layer.closeAll();
window.parent.getAnnouncementType(form,"")
}, 2000);
} else if (data.resMsg == "团队名称已存在") {
top.layer.close(addLoadingMsg); //再执行关闭
reloadTip(tip, "团队名称已存在", "error");
} else {
top.layer.close(addLoadingMsg); //再执行关闭
reloadTip(tip, tip + "失败", "error");
}
},
error: function (XMLHttpRequest, textStatus, e) {
layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false});
top.layer.close(addLoadingMsg); //再执行关闭
}
});
}
function reloadTip(tip, message, type) {
parent.layNotify.notice({
title: tip + "提示",
type: type,
message: message
});
}
function ajaxCommonMethod(url, data, success, error) {
$.ajax({
type: 'POST',
async: false, // 默认异步true,false表示同步
url: ctxPath + url,// 请求地址
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>