const token = localStorage.getItem("token");
layui.config({
base: '../../js/layuiModules/', // 第三方模块所在目录
version: 'v1.6.4' // 插件版本号
}).extend({
soulTable: 'notice,layNotify', // 模块
});
var proId = localStorage.getItem("proId")
var proName = localStorage.getItem("proName")
var orgId = localStorage.getItem("orgId")
var orgName = localStorage.getItem("orgName")
let form;
var tree;
var code;
var table;
var notice;
var layNotify;
var element;
$("#searchBt").click(function () {
showProjectProgressTable();
})
$("#searchPersonBt").click(function () {
getPersonList();
})
$("#changProgress").click(function () {
localStorage.setItem("proId", proId);
layerOpenFormForSecond('更新项目', './changeProgress.html');
});
$("#rollbackProgress").click(function () {
localStorage.setItem("proId", proId);
layerOpenFormForSecond('回退项目', './rollbackProgress.html');
});
$("#upload").click(function () {
localStorage.setItem("proId", proId);
layerOpenProgressView('上传附件', './uploadProcessFile.html');
});
layui.use(['table', 'form', 'notice', 'layNotify', 'element'], function () {
table = layui.table;
form = layui.form;
tree = layui.tree;
notice = layui.notice;
layNotify = layui.layNotify;
element = layui.element;
// 加载提示
var addLoadingMsg = top.layer.msg('数据加载中,请稍候...', {
icon: 16,
scrollbar: false,
time: 0,
shade: [0.8, '#393D49']
});
$("#pro_proName").text(proName);
$("#pro_orgName").text(orgName);
getProTitleData();
getProcessTitles()
showProjectProgressTable()
changeTab(code);
top.layer.close(addLoadingMsg); //再执行关闭
});
function changeTab(){
// hash 地址定位
var hashName = 'tabid'; // hash 名称
var layid = location.hash.replace(new RegExp('^#' + hashName + '='), ''); // 获取 lay-id 值
// 初始切换
element.tabChange('test-hash', layid);
//上传附件后,加载原页面数据
// 切换事件
element.on('tab(test-hash)', function (obj) {
code = hashName + '=' + this.getAttribute('lay-id');
console.log("code=" +code)
location.hash = code;
if (code == "tabid=1") {
getProcessTitles()
showProjectProgressTable()
}
if (code == "tabid=2") {
getTowerRecordTimeLine();
}
if (code == "tabid=3") {
getFileList();
}
if (code == "tabid=4") {
getPersonList();
}
});
}
function getProTitleData() {
$.ajax({
type: 'post',
url: ctxPath + '/proProgress/getProTitleData',
dataType: 'json', // 服务器返回数据类型
async: false,
data: {
proId: proId,
orgId: orgId,
},
success: function (data) {
var resMsg = data.resMsg;
if ("数据获取成功" == resMsg) {
let info = data.obj.ProgressBean;
if (info != null) {
if (info.status == '1') {
var badgeSpan = $(''); // 创建包含徽章的 span 元素
var textSpan = $('在建'); // 创建文本 span 元素
var combinedSpan = $('').append(badgeSpan).append(textSpan); // 合并两个 span 元素
$('#pro_status').empty().append(combinedSpan);
} else if (info.status == '2') {
var badgeSpan = $(''); // 创建包含徽章的 span 元素
var textSpan = $('已完工'); // 创建文本 span 元素
var combinedSpan = $('').append(badgeSpan).append(textSpan); // 合并两个 span 元素
$('#pro_status').empty().append(combinedSpan);
} else {
var badgeSpan = $(''); // 创建包含徽章的 span 元素
var textSpan = $('未开工'); // 创建文本 span 元素
var combinedSpan = $('').append(badgeSpan).append(textSpan); // 合并两个 span 元素
$('#pro_status').empty().append(combinedSpan);
}
$("#pro_voltageLevel").text(info.voltageLevel);
$("#pro_lineLength").text(info.lineLength);
$("#pro_towerNum").text(isEmpty(info.towerNum) ? '0' : info.towerNum);
$("#pro_startTime").text(info.startTime);
$("#pro_endTime").text(info.endTime);
$("#pro_updateTime").text(info.updateTime);
updateProgress(info.progress);
form.render();
}
}
},
error: function (err) {
console.log("获取项目进度管理工程表头数据出错:", err);
}
});
}
/**
* 修改百分比
* @param newPercent
*/
function updateProgress(newPercent) {
var progressBar = $('#myBar');
progressBar.attr('lay-percent', newPercent + '%'); // 更新进度条的百分比
progressBar.css('width', newPercent); // 更新进度条的显示宽度
element.progress('myProgress', newPercent); // 使用 layui 的 element 模块更新进度条
element.render();
}
/**
* 获取项目进度表头
*/
function getProcessTitles() {
$.ajax({
type: 'post',
url: ctxPath + '/proProgress/getProcessTitles',
dataType: 'json', // 服务器返回数据类型
async: false,
data: {
proId: proId,
orgId: orgId,
},
success: function (data) {
var resMsg = data.resMsg;
if ("数据获取成功" == resMsg) {
let numInfo = data.obj.numInfo;
let lineBean = data.obj.lineBean;
if (numInfo != null) {
$("#progress_towerNum").text(parseInt(numInfo.basicFinishNum) + parseInt(numInfo.basicNotFinishNum));
$("#progress_basicFinishNum").text(parseInt(numInfo.basicFinishNum));
$("#progress_basicNotFinishNum").text(parseInt(numInfo.basicNotFinishNum));
$("#progress_towerFinishNum").text(parseInt(numInfo.towerFinishNum));
$("#progress_towerNotFinishNum").text(parseInt(numInfo.basicFinishNum) + parseInt(numInfo.basicNotFinishNum) - parseInt(numInfo.towerFinishNum));
}
if (lineBean != null) {
$("#progress_lineLength").text(lineBean.lineLength);
$("#progress_lineFinishLength").text(lineBean.lineFinishNum);
$("#progress_lineNotFinishLength").text((parseFloat(lineBean.lineLength) - parseFloat(lineBean.lineFinishNum)).toFixed(2));
}
form.render();
}
},
error: function (err) {
console.log("获取获取项目进度表头数据出错:", err);
}
});
}
/**
* 项目进度表格
*/
function showProjectProgressTable() {
//渲染表格
table.render({
elem: '#demo'
, url: ctxPath + '/proProgress/getProjectProgress' //数据接口
, method: 'post' //方式默认是get
, toolbar: 'default' //开启工具栏,此处显示默认图标,可以自定义模板,详见文档
, where: {
proId: proId,
keyWord: $("#keyWord").val()
} //post请求必须加where ,post请求需要的参数
, cellMinWidth: 80
, cols: [[ //表头
{
field: 'number', width: 80, title: '序号', align: 'center', type: 'numbers'
}
, {field: 'towerName', align: 'center', title: '杆塔'}
, {
field: 'status', title: '基础工序', align: 'center', templet: d => {
if (d.status == '1' || d.status == '2') {
return "
";
}
return '';
}
}
, {
field: 'status', title: '组塔工序', align: 'center', templet: d => {
if (d.status == '2') {
return "
";
}
return ''
}
}
]]
, id: 'menuTable'
, page: true //开启分页
, loading: true //数据加载中。。。
, limits: [5, 10, 20, 100] //一页选择显示3,5或10条数据
, limit: 10 //一页显示5条数据
, response: {
statusCode: 200 //规定成功的状态码,默认:0
}, parseData: function (res) { //将原始数据解析成 table 组件所规定的数据,res为从url中get到的数据
let result;
if (res.data !== '' && res.data != null && res.data !== "null") {
if (this.page.curr) {
result = res.data.slice(this.limit * (this.page.curr - 1), this.limit * this.page.curr);
} else {
result = res.data.slice(0, this.limit);
}
}
return {
"code": res.code, //解析接口状态
"msg": res.msg, //解析提示文本
"count": res.count, //解析数据长度
"data": result, //解析数据列表
};
},
toolbar: "#toolbar"
});
}
/**
* 获取更新记录时间线
*/
function getTowerRecordTimeLine() {
$.ajax({
type: 'post',
url: ctxPath + '/proProgress/getTowerRecordTimeLine',
dataType: 'json', // 服务器返回数据类型
async: false,
data: {
proId: proId,
orgId: orgId,
},
success: function (data) {
var resMsg = data.resMsg;
if ("数据获取成功" == resMsg) {
$("#timeLine").empty();
let info = data.obj.ProgressBean;
if (info != null && info.length > 0) {
for (let i = 0; i < info.length; i++) {
var html = '';
html += '
\n' +
'
\n' +
'