gz_digital_signage/src/main/resources/static/js/synthesisQuery/proProgressUpdate.js

189 lines
6.5 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.

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>'
);
}