hn_cloud_web/smz-web/js/work/ownPerson/Announcement.js

330 lines
12 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

var example = null;
var pers = null;
var version = "";
let layer;
var remarkShowLength = 50;//默认现实的字符串长度
layui.use(['laydate','form','layer'], function () {
layer = layui.layer;
var laydate = layui.laydate;
pers = checkPermission();
var minListDate = $('#hidMinListDate').val();//最小可选时间1990-02-01
var maxListDate = $('#hidMaxListDate').val();//最大可选时间2200-12-31
$('#startTime').val(getNowTime());
$('#endTime').val(getNowTime());
var begin = "#startTime", end = "#endTime";//开始时间选择框、结束时间选择框:文本框
var endChange = function (val, date) {
if (date && date.year)
begindate.config.max = {
year: date.year,
month: date.month - 1,//必须减1才是正确值
date: date.date,
hours: date.hours,
minutes: date.minutes,
seconds: date.seconds
};
else {
var dateInit = new Date(maxListDate.replace(/-/g, "/"));
begindate.config.max = {
year: dateInit.getFullYear(),
month: dateInit.getMonth(),
date: dateInit.getDate(),
hours: dateInit.getHours(),
minutes: dateInit.getMinutes(),
seconds: dateInit.getSeconds()
};
}
};
var beginChange = function (val, date) {
if (date && date.year)
enddate.config.min = {
year: date.year,
month: date.month - 1,
date: date.date,
hours: date.hours,
minutes: date.minutes,
seconds: date.seconds
};
else {
var dateInit = new Date(minListDate.replace(/-/g, "/"));
enddate.config.min = {
year: dateInit.getFullYear(),
month: dateInit.getMonth(),
date: dateInit.getDate(),
hours: dateInit.getHours(),
minutes: dateInit.getMinutes(),
seconds: dateInit.getSeconds()
};
}
};
var enddate = laydate.render({
elem: end,
format: 'yyyy-MM-dd',
min: minListDate,
max: maxListDate,
done: endChange
});
var begindate = laydate.render({
elem: begin,
format: 'yyyy-MM-dd',
min: minListDate,
max: maxListDate,
done: beginChange
});
$("#searchBt").click(function () {
var ggbt = $("#ggbt").val();
var startTime = $("#startTime").val();
var endTime = $("#endTime").val();
var dateStart = new Date(startTime);
var dateEnd = new Date(endTime);
var difValue = (dateEnd - dateStart) / (1000 * 60 * 60 * 24);
if ((startTime == '' && endTime != '') || (startTime != '' && endTime == '')) {
return top.layer.msg('时间填写不完整', {
icon: 2,
time: 2000 //2秒关闭如果不配置默认是3秒
});
}
var startDateTemp = startTime.split("-");
var endDateTemp = endTime.split("-");
var allStartDate = new Date(startDateTemp[0], startDateTemp[1], startDateTemp[2]);
var allEndDate = new Date(endDateTemp[0], endDateTemp[1], endDateTemp[2]);
if (allStartDate.getTime() > allEndDate.getTime()) {
return top.layer.msg('时间选择不合理,请重新选择', {
icon: 2,
time: 2000 //2秒关闭如果不配置默认是3秒
});
}
});
init();
$("#searchBt").click(function () {
example.ajax.reload();
});
});
function init() {
example =
$('#dt-table').DataTable({
"destroy": true,
"searching": false,
"processing": true, //加载数据时显示进度状态
"serverSide": true,
"pagingType": "full_numbers", //首页|尾页
"language": {
"url": contentPath + "/js/plugin/datatables/Chinese.lang"
},
"createdRow": function (row, data, dataIndex) {
if(!!data.remark){
if (data.remark.length > remarkShowLength) {//只有超长才有td点击事件
$(row).children('td').eq(3).attr('onclick', 'javascript:changeShowRemarks(this);');
}
$(row).children('td').eq(3).attr('content', data.remark);
}
},
"ajax": {
"url": ctxPath + "/Announcement",
"type": "get",
"data": function (d) {
d.ggbt = $("#ggbt").val();
d.startTime = $("#startTime").val();
d.endTime = $("#endTime").val();
},
"error": function (xhr, textStatus, errorThrown) {
var msg = xhr.responseText;
console.log(msg);
var response = JSON.parse(msg);
var code = response.code;
var message = response.message;
if (code == 400) {
layer.msg(message);
} else if (code == 401) {
localStorage.removeItem("token");
layer.msg("token过期请先登录", {shift: -1, time: 1000}, function () {
location.href = ctxPath + '/login.html';
});
} else if (code == 403) {
console.log("未授权:" + message);
layer.msg('未授权');
} else if (code == 500) {
console.log('系统错误:' + message);
}
}
},
"lengthMenu": [ [10, 20, 50], [10, 20, 50] ], // 设置每页显示数据量选项
"drawCallback": function () {
console.log('表格重绘')
var thisDataTable = $('#dt-table').DataTable();
let redirectpage
$(".pagination").append("<li>" +
"<a class='paginate_button' style='padding:4px;' href='#' tabindex='0'>到 <input style='margin:0px;width:40px;' id='changePage' autocomplete='off'> 页</a>" +
"<a class='paginate_button' style='margin-bottom:1px' href='#' tabindex='0' id='dataTable-btn'>确认</a></li>");
//点击按钮跳转指定页数
$('#dataTable-btn').click(function (e) {
console.log(Number($("#changePage").val()))
if ($("#changePage").val() && Number($("#changePage").val()) > 0) {
redirectpage = Number($("#changePage").val()) - 1
} else {
redirectpage = 0;
}
thisDataTable.page(redirectpage).draw('page');
});
//敲击回车键跳转指定页数
$("#changePage").keypress(function (e) {
if (e.keyCode == 13) {
if ($("#changePage").val() && Number($("#changePage").val()) > 0) {
redirectpage = Number($("#changePage").val()) - 1;
} else {
redirectpage = 0;
}
thisDataTable.page(redirectpage).draw('page');
}
});
},
"dom": "<'dt-toolbar'r>t<'dt-toolbar-footer'<'col-sm-4 col-xs-4 hidden-xs'i><'col-xs-8 col-sm-8' p v>><'dt-table-length'l>",
//页面需要展示的数据
"columns": [
{
width: '40px',
"orderable": false,
data: function (row, type, set, meta) {
var c = meta.settings._iDisplayStart + meta.row + 1;
return c;
}
},
{"data": "ggbt"},
{"data": "ggnr"},
{"data": "name"},
{"data": "isRead"},
{"data": "createTime"},
{
"data": "photoNum",
"render": function (data, type, row) {
var id = row['id'];
var photoNum = row['photoNum'];
// var html = "<span style='color: green;cursor: pointer;' title='' onclick='photoView(\""+id +"\",)'> " + photoNum + " </span>";
var html = "<span title='' > " + photoNum + " </span>";
return html;
}
},
{"data": "createData"},
{"data": "","render":function (data, type, row) {
var id = row['id'];
var sameBatch = row['sameBatch'];
var html = "";
html +="<span style='color: #009688;' onclick='buttonDetail(\""+sameBatch +"\",)'>详情</span>";
html +="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
html +="<span style='color: red;' onclick='del(\""+id +"\",)'>删除</span>";
return html;
}
},
],
"order": [[1, "desc"], [2, "desc"], [3, "desc"], [4, "desc"]] //在栏目列上显示排序功能
});
}
/**
* 删除
* */
function del(id) {
layer.confirm("确定删除吗?", function () {
$.ajax({
type: 'delete',
url: ctxPath + '/Announcement/' + id,
data: {},
dataType: 'json',
success: function (data) {
if (data.resMsg == "删除成功") {
layer.msg("删除成功", {icon: 1, time: 2000});
example.ajax.reload();
} else {
layer.msg(data.resMsg, {icon: 2,time: 2000});
example.ajax.reload(null, false); // 刷新页面
}
}
})
})
}
/**
* 新增页面
* */
function insertAnnouncement() {
var height = '600px';
var width = '1200px';
var index = layer.open({
title: ['新增', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: 'AnnouncementForm.html',
area: [width, height],
maxmin: false,
btn: ['确定', '关闭'],
yes: function (index, layero) {
// 获取弹出层中的form表单元素
var formSubmit = layer.getChildFrame('form', index);
var submited = formSubmit.find('button')[2];
// 触发点击事件,会对表单进行验证,验证成功则提交表单,失败则返回错误信息
submited.click();
// example.ajax.reload(); // 刷新页面
},
btn2: function (index, layero) {
}
});
}
/**
* 详情
* */
function buttonDetail(sameBatch) {
$.ajax({
type: 'POST',
contentType: "application/x-www-form-urlencoded",
url: ctxPath + '/Announcement/getDetailData',
data:{
"sameBatch":sameBatch
},
dataType: 'json',
success: function (data) {
var height = '600px';
var width = '1200px';
var index = layer.open({
title: ['详情','color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: 'AnnouncementForm.html',
area: [width, height],
maxmin: false,
btn: ['关闭'],
success:function(layero,index){
var myIframe = window[layero.find('iframe')[0]['name']];
var fnc = myIframe.setData(data); //aaa()为子页面的方法
},
});
}
})
}
//照片查看
function photoView(id) {
localStorage.setItem("id",id);
var height = '525px';
var width = '800px';
var index = layer.open({
title: ["查看", 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: 'announcementPhoto.html',
area: [width, height],
maxmin: false,
});
}
/**
* 获得当前时间 yyyy-MM-dd
* @returns {string}
*/
function getNowTime() {
var time = new Date();
var year = time.getFullYear();
var month = time.getMonth() + 1 >= 10 ? time.getMonth() + 1 : '0' + (time.getMonth() + 1);
var day = time.getDate() >= 10 ? time.getDate() : '0' + time.getDate();
return year + "-" + month + "-" + day;
}