var oldKeyWord; var oldDepartment; var oldDepartmentId; layui.use(['table', 'layer', 'laydate', 'jquery', 'form'], function () { var table = layui.table; var laydate = layui.laydate; let form = layui.form; //渲染table table.render({ elem: '#demo' , url: ctxPath + '/users/getMsgContent' //数据接口 , method: 'post' //方式默认是get , toolbar: 'default' //开启工具栏,此处显示默认图标,可以自定义模板,详见文档 , where: {} //post请求必须加where ,post请求需要的参数 , cellMinWidth: 80 , cols: [[ //表头 {field: 'number', width:100,title: '序号', align: 'center', type: 'numbers'} , {field: 'username',width:200, align: 'center', title: '用户名'} , {field: 'phone', width: 150, align: 'center', title: '联系方式(登录名)'} , {field: 'roleName', width: 200, align: 'center', title: '角色'} , {field: 'orgName', width: 220, align: 'center', title: '组织机构'} , {field: 'createTimes', width: 220, align: 'center', title: '创建时间'} , {field: 'status', width: 200, align: 'center', title: '状态', id:'statusSwitch', templet: '#switchTpl'} , {fixed: 'right', title: '操作', align: 'center', toolbar: '#toolsBar'} ]] , id: 'menuTable' , page: true //开启分页 , loading: true //数据加载中。。。 , limits: [10, 20, 50, 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" }); form.on('switch(statusSwitch)', function(data){ var isChecked = data.elem.checked; // 获取复选框的当前状态 var value = data.value; // 获取复选框的值 let status = isChecked ? 1 : 0; // if (isChecked) { // console.log('复选框值为 ' + value + ' 被选中'); // // 执行其他操作,比如发送请求给后端 // } else { // console.log('复选框值为 ' + value + ' 被取消选中'); // // 执行其他操作 // } // 发送请求到后端更新数据库中的状态字段 $.ajax({ url: ctxPath + '/users/switchListen', type: 'POST', data: { id: value, status: status }, success: function(res) { layer.msg('状态更新成功'); }, error: function() { layer.msg('更新状态失败'); } }); }); /** * 部门下拉树 */ loadOrgTree(); /** * 点击除了部门输入框和下拉树范围之外的地方,关闭下拉树列表 */ $(document).on('click',function(e){ if ($(e.target).closest('#orgContent').length == 0 && $(e.target).closest('#department').length == 0){ hideRole(); } }) // 行工具事件 table.on('tool(test)', function (obj) { var data = obj.data //获得当前行数据 var layEvent = obj.event; //获得 lay-event 对应的值 var id = data.id if (layEvent === 'edit') { openForm(id,'修改'); } else if (layEvent === 'del') { delHospital(id); } else if (layEvent === 'resetPassword'){ resetPassword(id); } }); //头监听事件 -- checkBox 选中行和选中条数 table.on('toolbar(test)', function (obj) { // 获取当前表格被选中的记录对象,返回数据 table.checkStatus(obj.config.id); //获取事件名,执行对应的代码 var eventName = obj.event; console.log(eventName) switch (eventName) { case "searchBt": oldKeyWord = $("#keyWord").val(); oldDepartment = $("#department").val(); oldDepartmentId = $("#departmentId").val(); table.reload('menuTable', { url: ctxPath + '/users/getMsgContent' , method: 'post' //方式默认是get , page: true , where: { keyWord: oldKeyWord, department: oldDepartment, departmentId: oldDepartmentId } //设定异步数据接口的额外参数 }); /**二次赋值-- 点击搜索按钮之后会进行一次刷新操作*/ loadOrgTree(); $("#keyWord").val(oldKeyWord); $("#department").val(oldDepartment); $("#departmentId").val(oldDepartmentId); loadOrgTree(); break; case "addBtn": openForm("",'新增用户'); break; case "resetBt": oldKeyWord = ""; oldDepartment = "点击进行部门选择"; oldDepartmentId = ""; $("#keyWord").val(""); $("#department").val("点击进行部门选择"); $("#departmentId").val(""); table.reload('menuTable', { url: ctxPath + '/users/getMsgContent' , method: 'post' //方式默认是get , page: true , where: { username: "", idCard: "", keyWord: "", department: "", departmentId: "" } //设定异步数据接口的额外参数 }); loadOrgTree(); break; case "exportBtn": //导出 break; } }); }); /** * 新增-修改功能 */ function openForm(id,title){ localStorage.setItem("id",id); localStorage.setItem("inType","personAdd") layerOpenForm(title,"./addUserForm.html","70%","85%") } /** * 删除功能 */ function delHospital(id) { layer.confirm('确定要删除吗?', { btn : [ '确定', '取消' ] }, function() { ajaxCommonMethods('/users/delById',{'id': id},"删除成功","删除失败","1"); layer.close(1); }); } /** * 重置密码 * @param id */ function resetPassword(id){ layer.prompt({ formType: 0, value: '', title: '请输入重置后密码', btn:['确定','取消'], btnAlign:'c', }, function(value, index, elem){ if (!password_reg(value)){ layer.msg("您的密码复杂度太低(密码中必须包含大小字母、数字、特殊字符)!",{icon:0}); return false; } ajaxCommonMethods('/users/resetPassword',{'id': id,'password':value},"重置成功","重置失败","1"); }); } /** 树的方法开始 */ var machines = new Set(); //专业容器 var size = 1; //序号 var map =[]; var mapinfo={}; function loadOrgTree(){ $.ajax({ type: "post", url: ctxPath + "/users/getDepartmentTree", data: {}, dataType: "json", success: function(data) { $.fn.zTree.init($("#departmentTree"),{view:{showIcon: false,dblClickExpand:true,selectedMulti:false,nameIsHTML:true},data:{simpleData:{enable: true}}, callback:{ onClick:clickRole }},data.obj); // 获取树对象 var treeObj = $.fn.zTree.getZTreeObj("departmentTree"); /* 获取所有树节点 */ var nodes = treeObj.transformToArray(treeObj.getNodes()); //展开第一级树 treeObj.expandNode(nodes[1], true); }, error: function(XMLHttpRequest, textStatus, errorThrown) { alert("未连接到服务器,请检查网络!"); } }); } /** * 专业的选择 */ var preisShow=false;//窗口是否显示 function showRole() { if(preisShow){ hideRole(); }else{ var obj = $("#department"); var offpos = $("#department").position(); $("#orgContent").css({width:offpos.width+"px",left:offpos.left+"px",top:offpos.top+obj.heigth+"px"}).slideDown("fast"); preisShow=true; } } function hideRole(){ $("#orgContent").fadeOut("fast"); preisShow=false; } var isParent = null var examPerfession = null; var typeId = null; function clickRole(e, treeId, treeNode) { // if(!treeNode.isParent){ var check = (treeNode); if(check){ var zTree = $.fn.zTree.getZTreeObj("departmentTree"), nodes = zTree.getSelectedNodes(),v ="",n ="",o="",p=""; for (var i=0, l=nodes.length; i 0 ) v = v.substring(0, v.length-1); if (n.length > 0 ) n = n.substring(0, n.length-1); if (o.length > 0 ) o = o.substring(0, o.length-1); if (p.length > 0 ) p = p.substring(0, p.length-1); $("#departmentId").val(n); $("#department").val(p); // typeId = n; examPerfession = n; isParent = treeNode.isParent; typeId = treeNode.type; hideRole(); } // } } /**树的方法结束*/