let form, layer, table, tableIns; let pageNum = 1, limitSize = 10; // 默认第一页,分页数量为10 let orgData,selectOrgId; let quanju = new Array();//全局 let huancun = new Array();//缓存 layui.use(['form', 'layer', 'table', 'laydate'], function () { form = layui.form; layer = layui.layer; table = layui.table; layui.form.render(); pages(1, 10, 1); getToolsSelected(); }) function getToolsSelected() { let url = dataUrl + '/tools/all'; ajaxRequest(url, "POST", null, true, function () { }, function (result) { if (result.code === 200) { setSelectValue(result.data, 'sampleTools'); // return result.data } else { layer.alert(result.msg, {icon: 2}) } }, function (xhr) { error(xhr) }); } /** * 获取数据 */ function pages(pageNum, pageSize, typeNum) { let params = getReqParams(pageNum, pageSize, typeNum); let url = dataUrl + "/samples/getList" ajaxRequest(url, "POST", params, true, function () { }, function (result) { console.log("result.data:",result.data); if (result.code === 200) { initTable(result.data, result.limit, result.curr) laypages(result.count, result.curr, result.limit) } 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,}); tableIns = table.render({ elem: "#table_data", height: "full-130", data: dataList, limit: limit, cols: [ [ { type: 'checkbox', fixed: 'left', align: "center" }, //表头 {title: "序号", width: 80, unresize: true, align: "center", templet: function (d) { return (page - 1) * limit + d.LAY_INDEX; } }, {field: "customName", title: "送样单位", unresize: true, align: "center"}, {field: "sampleUser", title: "送样人", unresize: true, align: "center"}, {field: "sampleTime", title: "送样时间", unresize: true, align: "center"}, {field: "sampleTools", title: "送样设备", unresize: true, align: "center"}, {field: "collectSamplesUser", title: "收样人", unresize: true, align: "center"}, {field: "collectSamplesTime", title: "收样时间", unresize: true, align: "center"}, { field: "teamName", title: "试验班组", unresize: true, align: "center", templet: function (d) { let html = ''; let view =''; if (d.teamName == null) { view="未派工"; } else { view="" + d.teamName + ""; } html=view; return html; } }, {title: "操作", unresize: true, width: 85, align: "center", templet: function (d) { let html = ''; let view="详情"; html=view; if(d.delFlag==1){ return ''; } 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"); var suborders_data_arr=res.data; for (let suborders_key in suborders_data_arr) { if (suborders_data_arr[suborders_key]['teamName']!=null&&suborders_data_arr[suborders_key]['teamName']!="") { let index = suborders_data_arr[suborders_key]['LAY_TABLE_INDEX']; $('tr[data-index=' + index + '] input[type="checkbox"]').prop('disabled', true).attr("name","layTableCheckboxDisabled"); // 禁止部分选择 } }; form.render('checkbox'); }, }); } /** * 获取选中的数据 */ function getCheckedValues() { let data = table.checkStatus("table_data").data; let ids = []; if (data.length === 0) { return ''; } for (let i = 0; i < data.length; i++) { if (!data[i].teamName) { // teamName 为空时才加入 ids 数组 ids.push(data[i].id); } } console.log("ids1:", ids); console.log("ids2:", ids.join(',')) // 将 ids 数组用逗号分隔成字符串 return ids.join(','); } // 获取参数 function getReqParams(page, limit, type) { var selectedValue =$('#sampleTools').val() // 2. 查找对应的选项文本 var selectedText = $('#sampleTools option[value="' + selectedValue + '"]').text(); if (selectedText=='请选择'){ selectedText='' } let obj = {}; if (!type) { obj = { page: page + "", limit: limit + "", sampleTools: selectedText, collectSamplesUser:$('#collectSamplesUser').val(), keyWord:$('#keyWord').val() }; } else { obj = { page: '1', limit: '10', sampleTools: '', collectSamplesUser: '', keyWord: '' }; } console.log(obj) obj={ encryptedData:encryptCBC(JSON.stringify(obj)) } return obj; } // 查询/重置 function query() { let pattern = new RegExp("[%_<>]"); if (pattern.test($("#loginName").val())) { $("#loginName").val(''); return layer.msg('用户名查询包含特殊字符,请重新输入', { icon: 2, time: 2000 //2秒关闭(如果不配置,默认是3秒) }); } if (pattern.test($("#phone").val())) { $("#phone").val(''); return layer.msg('手机号查询包含特殊字符,请重新输入', { icon: 2, time: 2000 //2秒关闭(如果不配置,默认是3秒) }); } pageNum = 1; pages(1, limitSize); } //重置 function reset() { pages(1, limitSize, 1) } function reloadData() { pages(pageNum, limitSize); } // 新增/修改平台用户 function addData(id) { if (id) { title = '收样管理/详情'; } let param = { 'id': id } openIframe2("addOrEditUser", title, "child/samplesForm.html", '100%', '100%', param); } /** * 收样 */ function collectSamples(id) { title = '收样'; let param = { 'id': id } openIframe2("addOrEditUser", title, "child/samplesAdd.html", '70%', '90%', param); } /** * 检查是否有权限 */ function isHasAuth(name) { //先去查一下是否有权限,后台接口查询 let url = dataUrl + '/samples/getAuthority'; let params = { 'name': name } params = { encryptedData: encryptCBC(JSON.stringify(params)) } ajaxRequest(url, "POST", params, true, function () { }, function (result) { if (result.code === 200) { if (result.data){ if (name=='派工'){ dispatch(); }else if (name=='收样'){ collectSamples(''); } }else { return layer.msg('您不具有该功能权限', {icon: 7}) } } else { layer.alert(result.msg, {icon: 2}) } }, function (xhr) { error(xhr) }); } /** * 派工 */ function dispatch() { //获取复选框选中数据的Id var ids = getCheckedValues(); if (ids==='') { return layer.msg('请选择需要派工的数据', {icon: 7}) } else { layer.open({ type: 1, id: 'dispatch', area: ['380px', '45%'], resize: false, shadeClose: true, title: '请选择试验班组', content: `
`, success: function () { // 对弹层中的表单进行初始化渲染 form.render(); getTeamSelected(); // 表单提交事件 form.on('submit(upload)', function (data) { console.log("data.field:",data.field) let loadingMsg = layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0}); let url = dataUrl + '/samples/dispatchWork'; let params = { "ids": ids, teamId: data.field.teamId } params={ encryptedData:encryptCBC(JSON.stringify(params)) } ajaxRequest(url, "POST", params, true, function () { }, function (result) { layer.close(loadingMsg); // 关闭提示层 if (result.code === 200) { closePage(1); parent.layer.msg("派工成功", {icon: 1}); }else { layer.alert(result.msg, {icon: 2}) } }, function (xhr) { layer.close(loadingMsg); // 关闭提示层 error(xhr) }); }); } }); } } /** * 获取班组数据 */ function getTeamSelected() { let url = dataUrl + '/samples/getTeamSelected'; ajaxRequest(url, "POST", null, true, function () { }, function (result) { if (result.code === 200) { setSelectValue(result.data, 'teamId'); // return result.data } else { layer.alert(result.msg, {icon: 2}) } }, function (xhr) { error(xhr) }); } /** * 下拉选表单赋值 */ function setSelectValue(list, selectName) { console.log("list",list) let html = ''; $.each(list, function (index, item) { html += ''; }) $('#' + selectName).empty().append(html); layui.form.render(); } function closePage(type) { layer.closeAll(); if (type === 1) { pages(1, 10, 1) } }