let objParam; let form, table, upload, tableIns, layer; let pageNum = 1; function setParams(params) { objParam = JSON.parse(params); $('#proStatus').html(setProStatus(objParam.proStatus)); $('#titleName').html(objParam.proName + '配件记录'); layui.use(["form", "table", 'upload', 'layer'], function () { form = layui.form; table = layui.table; upload = layui.upload; layer = layui.layer; getInputDetails(); initTable(); initFileTable(); }); } // 获取配件到货入库详情 function getInputDetails() { let params = { encryptedData: JSON.stringify({ 'proId': objParam.proId }) }; let url = dataUrl + 'backstage/statistic/getProDetails'; ajaxRequest(url, "POST", params, true, function () { }, function (result) { console.error(result); if (result.code === 200) { setTableData(result.data); } else { } }, function (xhr, status, error) { errorFn(xhr, status, error) }, null); // 基本数据表格赋值 function setTableData(obj) { $('#lyNum').html(obj.lyNum); $('#lyMoney').html(obj.lyMoney); } } // 处理文件类型 function handleFileType(value) { value = value.toLowerCase(); let src = ''; if (value.indexOf('docx') > -1 || value.indexOf('doc') > -1) { src = '../../../images/docx.png' } else if (value.indexOf('xls') > -1 || value.indexOf('xlsx') > -1) { src = '../../../images/xlsx.png' } else if (value.indexOf('pdf') > -1) { src = '../../../images/pdf.png' } else if (value.indexOf('png') > -1 || value.indexOf('jpg') > -1 || value.indexOf('jpeg') > -1) { src = '../../../images/img_icon.png' } return '' } function initFileTable() { tableIns = table.render({ elem: "#currentTableIdByFile", id: 'currentTableIdByFile', headers: { authorization: sessionStorage.getItem("gz-token"), }, height: "full", url: dataUrl + "backstage/statistic/getProDetailsFilePage", where: { encryptedData: JSON.stringify({ 'proId': objParam.proId }), }, request: { pageName: 'pageNum', limitName: 'pageSize' }, parseData: function (res) { // res 即为原始返回的数据 if(res.code === 401){ closeWindowOpen(); } return { "code": 0, // 解析接口状态 "msg": '获取成功', // 解析提示文本 "count": res.total, // 解析数据长度 "data": res.list // 解析数据列表 }; }, cols: [ [ { width: '9.9%', title: "序号", align: "center", templet: function (d) { return d.LAY_NUM; }, }, { field: "fileName", width: '30%', title: "文件名", unresize: true, align: "center", templet: function (d) { return handleFileType(d.fileName) + d.fileName; }, }, { field: "type", width: '10%', title: "文件类型", unresize: true, align: "center", }, { field: "createName", title: "上传人员", width: '10%', unresize: true, align: "center", templet: function (d) { return '' + d.createName; }, }, { field: "createTime", title: "上传时间", width: '20%', unresize: true, align: "center", }, { field: "inputNum", title: "操作", width: '20%', unresize: true, align: "center", templet: function (d) { let html = ""; html += "预览"; html += "下载"; return html; }, }, ], ], limits: [10, 15, 20, 25, 50, 100], limit: 10, page: true, done: function (res, curr, count) { pageNum = tableIns.config.page.curr; table.resize("currentTableId"); }, }); } // 查询/重置 function queryTable(type) { if (type === 1) { let partType = $('#partType').val(); let flag = checkValue(partType); if (flag) { $('#partType').val(''); return layer.msg('配件类型查询包含特殊字符,请重新输入', { icon: 2 }); } let partName = $('#partName').val(); let flag2 = checkValue(partName); if (flag2) { $('#partName').val(''); return layer.msg('配件名称查询包含特殊字符,请重新输入', { icon: 2 }); } let partModel = $('#partModel').val(); let flag3 = checkValue(partModel); if (flag3) { $('#partModel').val(''); return layer.msg('规格型号查询包含特殊字符,请重新输入', { icon: 2 }); } reloadTable(1); } else if (type === 2) { $('#partType').val(''); $('#partName').val(''); $('#partModel').val(''); layui.form.render(); reloadTable(1); } } // 刷新页面数据 function reloadData() { reloadTable(pageNum); } // 重载表格 function reloadTable(pageNum) { table.reload("currentTableId", { page: { curr: pageNum ? pageNum : 1, }, where: { encryptedData: JSON.stringify({ 'partType': $('#partType').val(), 'partName': $('#partName').val(), 'partModel': $('#partModel').val(), 'proId': objParam.proId }), }, }, ); } // 初始化表格 function initTable() { tableIns = table.render({ elem: "#currentTableId", id: 'currentTableId', headers: { authorization: sessionStorage.getItem("gz-token"), }, height: "full", url: dataUrl + "backstage/statistic/getProDetailsPage", where: { encryptedData: JSON.stringify({ 'partType': $('#partType').val(), 'partName': $('#partName').val(), 'partModel': $('#partModel').val(), 'proId': objParam.proId }), }, request: { pageName: 'pageNum', limitName: 'pageSize' }, parseData: function (res) { // res 即为原始返回的数据 return { "code": 0, // 解析接口状态 "msg": '获取成功', // 解析提示文本 "count": res.total, // 解析数据长度 "data": res.list // 解析数据列表 }; }, cols: [ [ { width: '9.9%', title: "序号", align: "center", templet: function (d) { return d.LAY_NUM; }, }, { field: "partType", width: '15%', title: "配件类型", unresize: true, align: "center", }, { field: "partName", width: '15%', title: "配件名称", unresize: true, align: "center", }, { field: "partModel", title: "规格型号", width: '15%', unresize: true, align: "center", }, { field: "partUnit", title: "单位", width: '10%', unresize: true, align: "center", }, { field: "applyNum", width: '10%', title: "领用量", unresize: true, align: "center", }, { field: "money", width: '10%', title: "金额(元)", unresize: true, align: "center", }, { field: "remark", title: "备注", width: '15%', align: "center", unresize: true, }, ], ], limits: [10, 15, 20, 25, 50, 100], limit: 10, page: true, done: function (res, curr, count) { pageNum = tableIns.config.page.curr; table.resize("currentTableId"); }, }); } // 导出 function exportExcel() { let params = { 'partType': $('#partType').val(), 'partName': $('#partName').val(), 'partModel': $('#partModel').val(), 'proId': objParam.proId, } let url = dataUrl + "backstage/statistic/exportProDetailsPage"; exportExcelUtil(url, '配件明细', JSON.stringify(params)); } // 预览文件 function viewFile(obj) { let fileName = obj.fileName.toLowerCase(); if (fileName.indexOf('png')> -1 || fileName.indexOf('jpg')> -1 || fileName.indexOf('jpeg')> -1 ) { layer.photos({ shade: 0.5, photos: { "title": "图片预览", "start": 0, "data": [ { "alt": "layer", "pid": 1, "src": fileUrl + obj.fileUrl + '?token=' + sessionStorage.getItem("gz-token"), } ] } }); } else { // 调用公司的预览文件的服务 commonViewFile(obj.fileUrl); } } // 下载文件 function downLoadFile(obj) { let url = dataUrl + "backstage/export/download?fileId=" + obj.id; downLoadFileUtil(url, obj.fileName, null); } // 打印 function print() { Print('#body', { onStart: function () { console.log('onStart', new Date()) }, onEnd: function () { console.log('onEnd', new Date()) } }) } // 工程状态 function setProStatus(status) { if (status === '1') { return "在建"; } else if (status === '2') { return "完工"; } else { return '/'; } }