IntelligentRecognition/ah-jjsp-web/.svn/pristine/47/474536ba93ff7f57400890aa311...

281 lines
9.8 KiB
Plaintext
Raw Permalink 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 table, form, layer, laydate, rate, util;
let idNumber, classId, teamName,teamId;
let pageNum = 1, limitSize = 30;
function setForm(classId1, idNumber1, teamName1,teamId1, type) {
idNumber = idNumber1;
classId = classId1;
teamName = teamName1;
teamId=teamId1;
if (type === 2) {
$('#content').css('height', 'calc(100% - 40px)')
} else {
$('#content').css('height', 'calc(100% - 40px)')
// $('.close').css('display','none')
}
$(function () {
layui.use(['rate', 'layer', 'laydate', 'form', 'table', 'util'], function () {
layer = layui.layer;
rate = layui.rate;
form = layui.form;
laydate = layui.laydate;
table = layui.table;
util = layui.util;
form.render();
util.event('lay-active', {
query: function () {
pages(1, limitSize);
},
reset: function () {
$('#keyword').val('');
$('#startTime').val('');
$('#endTime').val('');
form.render();
pages(1, limitSize);
},
add: function () {
let width = '1075px', height = '725px';
layer.open({
/* color:#253E78;font-size:24px;background-color:rgb(37 62 120 / 22%);*/
title: ['<div style="border-left: 3px solid #2F82FB;display: flex;align-items: center;height: 20px;padding: 0 10px;">班组评价</div>', 'font-size:16px;background-color:#f0f0f0;display: flex;align-items: center;'],
move: false,
type: 2,
content: '../../../html/teamInformation/child/teamEvaluateAdd.html',
area: [width, height],
maxmin: false,
end: function () {
pages(1, limitSize);
},
success: function (layero, index) {
let body = layer.getChildFrame('body', index);
let iframeWin = window[layero.find('iframe')[0]['name']];//获得iframe页的窗口对象执行iframe页的方法
iframeWin.setForm(classId, idNumber, teamName,teamId);//调用子页面的方法,页面锁定
}
});
},
export: function () {
exportData();
}
});
//日期范围
laydate.render({
elem: '#startTime'
, type: 'date'
, range: '~'
, format: 'yyyy-MM-dd',
max: Date.parse(new Date()),
});
pages(1, 30, 1);
});
});
}
function pages(pageNum, pageSize) {
let params = getReqParams(pageNum, pageSize);
$.ajax({
headers: {
"encrypt": sm3(JSON.stringify(params))
},
url: dataUrl + "proteam/pot/team/getTeamEvaList" + '?token=' + token,
data: params,
type: 'POST',
async: false,
success: function (result) {
if (result.code === 200) {
if (result.rows) {
initTable(result.rows, limitSize, pageNum)
laypages(result.total, pageNum, limitSize)
}
} else if (result.code === 500) {
layer.alert(result.msg, { icon: 2 })
} else if (result.code === 401) {
logout(1);
}
}, error: function () {
}
});
}
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: [30, 50, 100],
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) {
table.render({
elem: "#evaluateTable",
id: "evaluateTable",
height: "full-150",
data: dataList,
cols: [
[//表头
{
title: "序号",
width: 100,
unresize: true,
align: "center",
templet: function (d) {
return (page - 1) * limit + d.LAY_INDEX;
}
},
{
field: "teamName",
title: "班组名称",
unresize: true,
sort: true,
minWidth: 200,
align: "center",
},
{
field: 'fzrName',
title: "班组长",
unresize: true,
sort: true,
minWidth: 200,
align: "center",
templet: function (d) {
return "<span>" + d.fzrName + "</span><br><span>" + d.phone + "</span>";
},
},
{
field: "createtTime",
title: "评价日期",
unresize: true,
sort: true,
minWidth: 100,
align: "center"
},
{
field: "userId",
title: "评价人",
unresize: true,
sort: true,
minWidth: 200,
align: "center"
},
{
field: "zhpj",
title: "评价星级",
minWidth: 200,
unresize: true,
sort: true,
templet: function (d) {
return '<div id="test' + d.LAY_TABLE_INDEX + '"></div>'
},
align: "center",
},
{
field: "content",
title: "评价内容",
unresize: true,
sort: true,
minWidth: 80,
align: "center"
},
{
field: "labelName",
title: "标签",
unresize: true,
sort: true,
minWidth: 80,
align: "center",
templet: function (d) {
let html = ''
if (d.labelName) {
let labelNameArr = d.labelName.split(',');
$.each(labelNameArr, function (index, item) {
html += '<button style="display:block;margin:5px 0 0 0;" class="layui-btn layui-btn-primary layui-btn-sm layui-border-blue">' + item + '</button>'
})
}
return html;
},
}
],
],
limit: limit,
done: function (res, curr, count) {
$(".layui-laypage-skip").css("display", "none");
for (let i = 0; i < res.data.length; i++) {
rate.render({
elem: '#test' + i
, value: res.data[i].zhpj / 2
, readonly: true
, half: true,
theme: '#2F82FB'
});
table.render()
}
}
});
}
// 获取参数
function getReqParams(page, limit) {
let startTime = isEmpty($('#startTime').val().split('~')[0]) ? "" : $('#startTime').val().split('~')[0];
let endTime = isEmpty($('#startTime').val().split('~')[1]) ? "" : $('#startTime').val().split('~')[1];
return {
pageNum: page + "",
pageSize: limit + "",
userId: $('#keyword').val(),
startTime: startTime.trim(),
endTime: endTime.trim(),
idNumber: idNumber,
teamId:teamId
};
}
//导出
function exportData() {
let loadingMsg = layer.msg("数据导出中,请稍候...", { icon: 16, scrollbar: false, time: 0, });
let url = dataUrl + "proteam/pot/team/exportTeamEvaData?" + setData(getReqParams(pageNum, limitSize)) + '&token=' + token;
let xhr = new XMLHttpRequest();
let a = document.createElement("a");
xhr.open("get", url, true);
xhr.responseType = "blob"; // 转换流
xhr.setRequestHeader("encrypt",
sm3(JSON.stringify(
getReqParams(pageNum, limitSize)
)));
xhr.onload = function () {
layer.close(loadingMsg);
if (this.status === 200) {
let url = window.URL.createObjectURL(new Blob([this.response]))
let link = document.createElement('a')
link.style.display = 'none'
link.href = url
link.setAttribute('download', "班组评价.xlsx")
document.body.appendChild(link)
link.click()
// 释放URL对象所占资源
window.URL.revokeObjectURL(url)
// 用完即删
document.body.removeChild(link)
} else {
layer.msg("数据发生异常,请稍后重试", { icon: 16, scrollbar: false, time: 2000 });
}
};
xhr.send();
}
// 关闭页面
function closePage() {
let index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引
parent.layer.close(index); //再执行关闭
}