layui.config({ base: '../../js/layuiModules/', // 第三方模块所在目录 version: 'v1.6.4' // 插件版本号 }).extend({ soulTable: 'notice,layNotify', // 模块 }); let form; var tree; var table; var notice; var layNotify; const token = localStorage.getItem("token"); let pers = checkPermission(); $("#resetBt").click(function(){ table.reload('menuTable', { url: ctxPath + '/owmTeams/getOwnTeamsList' , method: 'post' //方式默认是get , page: true , where: { keyWord: "", status: "", teamTypeId: "", } //设定异步数据接口的额外参数 }); $("#keyWord").val(""); $("#teamTypeId").val(""); $("#statusId").val(""); form.render(); }) $("#searchBt").click(function(){ table.reload('menuTable', { url: ctxPath + '/owmTeams/getOwnTeamsList' , method: 'post' //方式默认是get , page: true , where: { keyWord: $("#keyWord").val(), status: $("#statusId").val(), teamTypeId: $("#teamTypeId").val(), } //设定异步数据接口的额外参数 }); }) $("#addBt").click(function(){ localStorage.setItem("id","") localStorage.setItem('teamTypeId',""); localStorage.setItem('voltageLevelId',""); localStorage.setItem('teamName',""); layerOpenFormForSencond("新增","./ownTeamForm.html"); }) $("#bindBt").click(function(){ layerOpenViewForSencond("分配班组","./teamBindOrgForm.html"); }) $("#exportBt").click(function(){ keyWord = $("#keyWord").val(); status = $("#statusId").val(); teamTypeId = $("#teamTypeId").val(); window.location.href = ctxPath + "/owmTeams/exportPhysicalCheckResult?" +"keyWord=" + keyWord + "&status=" + status + "&teamTypeId=" + teamTypeId + "&type=" + '1' + "&token=" + token; //下载文件 }) layui.use(['table', 'form','notice', 'layNotify'], function () { table = layui.table; form = layui.form; tree = layui.tree; notice = layui.notice; layNotify = layui.layNotify; if ($.inArray('freeTeam:add', pers) < 0) { document.getElementById('addDiv').remove(); } //渲染表格 table.render({ elem: '#demo' , url: ctxPath + '/owmTeams/getOwnTeamsList' //数据接口 , method: 'post' //方式默认是get , toolbar: 'default' //开启工具栏,此处显示默认图标,可以自定义模板,详见文档 , where: {} //post请求必须加where ,post请求需要的参数 , cellMinWidth: 80 , cols: [[ //表头 { field: 'number', width:80,title: '序号', align: 'center', type: 'numbers' } , {field: 'teamName', align: 'center', title: '班组名称'} , {field: 'teamTypeName', align: 'center', title: '班组类别'} , {field: 'standardTeamType', align: 'center', title: '标准班组类型'} , { field: 'teamNum', title: '班组人数', align: 'center', templet: d => { return text =""+d.teamNum+""; } } , { field: 'status', title: '状态', align: 'center', templet: d => { let text = ""; if (d.status === "1") { text = "已投入"; } else if (d.status === "0") { text = "闲置中"; } return text; } } , { field: 'branchName', title: '分配分公司', align: 'center', templet: d => { if (isEmpty(d.branchName)) { return "去绑定分公司" } return d.branchName; } } , { field: 'proName', title: '所属项目', align: 'center', templet: d => { if (isEmpty(d.proName)) { return "" } return d.proName; } } , {field: 'status', width: 200, align: 'center', title: '状态', id:'statusSwitch', templet: '#switchTpl'} , {field: 'createTime', align: 'center', title: '创建时间'} , { fixed: 'right', width:180, title: '操作', align: 'center', templet: d => { let text = ""; if ($.inArray('freeTeam:update', pers) > 0) { text +='修改'; } if ($.inArray('freeTeam:del', pers) > 0) { if (d.status != 1){ text +=' | '; text +='删除'; } } return text; } } ]] , id: 'menuTable' ,done: function (res, curr, count) { form.render(); } , page: true //开启分页 , loading: true //数据加载中。。。 , limits: [5, 10, 20] //一页选择显示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" }); //监听工具条 table.on('tool(test)', function (obj) { var data = obj.data; //当前行数据 var rowIndex = obj.index; var layEvent = obj.event; //当前点击的事件名 if (layEvent === 'update') { localStorage.setItem('id',data.id); localStorage.setItem('teamTypeId',data.teamTypeId); localStorage.setItem('standardTeamTypeId',data.standardTeamTypeId); localStorage.setItem('teamName',data.teamName); layerOpenFormForSencond("修改","./ownTeamForm.html"); } if (layEvent === 'del') { var index = layer.confirm('确定要删除吗?', { btn : [ '确定', '取消' ] }, function() { layer.close(index); ajaxCommonMethod('/owmTeams/delOwnTeamById',{'id': data.id},"删除成功","删除失败"); }); } }); form.on('switch(statusSwitch)', function(data){ var isChecked = data.elem.checked; // 获取复选框的当前状态 var value = data.value; // 获取复选框的值 let status = isChecked ? 1 : 0; $.ajax({ url: ctxPath + '/owmTeams/updateOwnTeamStatus', type: 'POST', data: { id: value, status: status }, success: function(res) { if ("数据获取成功" == res.resMsg){ reloadTip("状态","状态更新成功",'success'); }else { reloadTip("状态","状态更新失败",'error'); } }, error: function() { reloadTip("状态","状态更新失败",'error'); } }); }); // 单元格编辑事件 table.on('edit(test)', function (obj) { var field = obj.field; // 得到字段 var value = obj.value; // 得到修改后的值 var oldValue = obj.oldValue; var data = obj.data; // 得到所在行所有键值 var update = {}; // 值的校验 if (field === 'idNumber') { if (value.length != 18) { update[field] = oldValue; obj.update(update); layer.tips('输入的身份证不正确,请重新编辑', this, {tips: 1}); return obj.reedit(); // 重新编辑 -- v2.8.0 新增 } else { update[field] = value; obj.update(update); } } // 编辑后续操作,如提交更新请求,以完成真实的数据更新 // … layer.msg('编辑成功', {icon: 1}); }); }); function openTeamForm(id,resourceId,teamTypeId,voltageLevelId,teamName){ localStorage.setItem('id',id); localStorage.setItem('resourceId',resourceId); localStorage.setItem('teamTypeId',teamTypeId); localStorage.setItem('voltageLevelId',voltageLevelId); localStorage.setItem('teamName',teamName); layerOpenFormForSencond("班组成员","./ownPersonToTeamForm.html"); } function openOrgForm(){ layerOpenViewForSencond("分配班组","./teamBindOrgForm.html"); } function openForm(){ layerOpenViewForSencond("分配班组","./teamBindOrgForm.html"); } /** * 合并行方法 **/ function merge(res) { var data = res.data; var mergeIndex = 0;//定位需要添加合并属性的行数 var mark = 1; //这里涉及到简单的运算,mark是计算每次需要合并的格子数 var columsName = ['postName'];//需要合并的列名称 ['business_tenant_name','land','contract_begin','contract_end','history_arrears','period']; var columsIndex = [0];//需要合并的列索引值 [2,3,5,6,14,15]; for (var k = 0; k < columsName.length; k++) { //这里循环所有要合并的列 var trArr = $(".layui-table-body>.layui-table").find("tr");//所有行 for (var i = 1; i < res.data.length; i++) { //这里循环表格当前的数据 var tdCurArr = trArr.eq(i).find("td").eq(columsIndex[k]);//获取当前行的当前列 var tdPreArr = trArr.eq(mergeIndex).find("td").eq(columsIndex[k]);//获取相同列的第一列 if (data[i][columsName[0]] === data[i - 1][columsName[0]]) { layui.hint().error(i); if (data[i][columsName[k]] === data[i - 1][columsName[k]]) { //后一行的值与前一行的值做比较,相同就需要合并 mark += 1; tdPreArr.each(function () {//相同列的第一列增加rowspan属性 $(this).attr("rowspan", mark); }); tdCurArr.each(function () {//当前行隐藏 $(this).css("display", "none"); }); } } else { mergeIndex = i; mark = 1;//一旦前后两行的值不一样了,那么需要合并的格子数mark就需要重新计算 } } mergeIndex = 0; mark = 1; } } function ajaxCommonMethod(url,data,success,error){ $.ajax({ type: 'POST', async: false, // 默认异步true,false表示同步 url: ctxPath + url,// 请求地址 contentType: "application/x-www-form-urlencoded", dataType: 'json', // 服务器返回数据类型 data: data, //获取提交的表单字段 success: function (data) { var resMsg = data.resMsg; if ("数据获取成功" == resMsg) { reloadTip("删除",success,'success'); setTimeout(function(){ window.location.reload(); }, 2000); }else { reloadTip("删除",error,"error"); } } }); } function reloadTip(tip,message,type){ layNotify.notice({ title: tip+"提示", type: type, message: message }); }