let form, layer, table, tableIns,element;
let pageNum = 1, limitSize = 10; // 默认第一页,分页数量为10
layui.use(['form', 'layer', 'table','element'], function () {
form = layui.form;
layer = layui.layer;
table = layui.table;
element = layui.element;
layui.form.render();
pages(1, 10, 1);
element.render();
})
function pages(pageNum, pageSize, typeNum) {
let params = getReqParams(pageNum, pageSize, typeNum);
let url = dataUrl + "/backstage/proProgress/getList"
ajaxRequest(url, "POST", params, true, function () {
}, function (result) {
console.log(result);
if (result.code === 200) {
if (result.data) {
initTable(result.data, result.limit, result.curr)
laypages(result.count, result.curr, result.limit)
element.render();
}
} else if (result.code === 500) {
layer.alert(result.msg, {icon: 2})
}
}, function (xhr) {
error(xhr)
});
}
function laypages(total, page, limit) {
layui.use(['laypage'], function () {
let laypage = layui.laypage;
laypage.render({
elem: 'voi-page',
count: total,
curr: page,
limit: limit,
limits: [10, 20, 50, 100, 200, 500],
layout: ['prev', 'page', 'next', 'skip', 'count', 'limit'],
groups: 5,
jump: function (obj, first) {
if (!first) {
pageNum = obj.curr, limitSize = obj.limit;
pages(obj.curr, obj.limit, null);
}
}
});
})
}
/*初始化表格*/
function initTable(dataList, limit, page) {
let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, scrollbar: false, time: 0,});
pageNum = page, limitSize = limit;
tableIns = table.render({
elem: "#table_data",
height: "full-150",
data: dataList,
limit: limit,
cols: [
[
{
title: "序号", width: "5%", unresize: true, align: "center",
templet: function (d) {
return (page - 1) * limit + d.LAY_NUM;
}
},
{field: "proName", title: "项目名称", width: "30%", unresize: true, align: "center"},
{field: "voltageLevel", title: "电压等级", width: "10%", unresize: true, align: "center"},
{title: "项目进度", width: "20%", unresize: true, align: "center",templet: schedule},
{field: "updateUserName", title: "更新人", width: "10%", unresize: true, align: "center"},
{field: "updateTime", title: "更新时间", width: "15%", unresize: true, align: "center"},
{
title: "操作", unresize: true, width: "10%", align: "center",
templet: function (d) {
let html = '';
let view = "
"
html = view;
return html;
}
},
],
],
done: function (res, curr, count) {
layer.close(loadingMsg);
table.resize("table_data");
count || this.elem.next(".layui-table-view").find(".layui-table-header").css("display", "inline-block");
count || this.elem.next(".layui-table-view").find(".layui-table-box").css("overflow", "auto");
element.render();
},
});
}
// 获取参数
function getReqParams(page, limit, type) {
let obj = {};
if (!type) {
obj = {
pageNum: page + "",
pageSize: limit + "",
keyWord: $('#keyWord').val(),
};
} else {
obj = {
pageNum: '1',
pageSize: '10',
keyWord: '',
};
}
obj = {
encryptedData: encryptCBC(JSON.stringify(obj))
}
return obj;
}
// 查询/重置
function query(type) {
pageNum = 1;
if(type === 2){
$('#keyWord').val('');
layui.form.render();
}
pages(1, limitSize);
}
/**详情*/
function viewData(obj){
openIframeByParamObj("viewData", "更新进度", "./proProgressUpdateDetail.html", "92%", "95%", obj);
}
/*下载*/
function downloadExcel(){
let obj = {
id: $('#proId').val()
}
let params = {
encryptedData: encryptCBC(JSON.stringify(obj))
}
let loadingMsg = layer.msg("数据导出中,请稍候...", {icon: 16, scrollbar: false, time: 0,});
let url = dataUrl + "/backstage/proProgress/downloadExcel?token=" + tokens + "&encryptedData=" + encodeURIComponent(encryptCBC(JSON.stringify(obj)));
let xhr = new XMLHttpRequest();
xhr.open("post", url, true);
xhr.responseType = "blob"; // 转换流
xhr.setRequestHeader('Content-Type','application/json;charset=UTF-8')
xhr.onload = function () {
layer.close(loadingMsg);
if (this.status === 200) {
let blob = this.response;
var a = document.createElement("a");
var url = window.URL.createObjectURL(blob);
a.href = url;
a.download = "工程进度更新" + ".xlsx"; // 文件名
} else {
layer.msg("数据导出发生异常,请稍后重试", {icon: 16, scrollbar: false, time: 2000});
}
a.click();
window.URL.revokeObjectURL(url);
};
// xhr.send(params);
xhr.send();
}
// 设置进度值
function schedule(d) {
d.proProgress = parseFloat(d.proProgress ? d.proProgress : 0);
d.filter == undefined ? (d.filter = (pageNum - 1) * limitSize + d.LAY_NUM) : d.filter;
d.proProgress == undefined ? (d.proProgress = 100) : d.proProgress;
var color = "layui-bg-orange";
if (d.proProgress < 100) {
color = "layui-bg-orange";
} else if (d.proProgress === 100) {
color = "layui-bg-primary";
} else if (d.proProgress > 100) {
color = "layui-bg-blue";
}
//设置页面进度条
return (
'