189 lines
6.5 KiB
JavaScript
189 lines
6.5 KiB
JavaScript
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 = "<a style='cursor:pointer;margin: 0 2px;' title='进度更新' onclick='viewData("+JSON.stringify(d)+")'><img src='../../img/synthesisQuery/update_progress.png'></a>"
|
||
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 (
|
||
'<div style="display: flex;">' +
|
||
'<div style="width: 230px;" class="layui-progress layui-progress-big" id="' + d.filter + '" lay-filter="proProgress' + d.filter + '">' +
|
||
'<div class="layui-progress-bar ' + color + '" lay-percent="' + d.proProgress + '%">' +
|
||
"</div></div><span style='margin-left: 10px;'>"+d.proProgress+"%</span>" +
|
||
'</div>'
|
||
);
|
||
} |