layui.config({ base: '../../lib/layui/lay/mymodules/' , version: '101100' }).use('eleTree'); layui.extend({ admin: '{/}../../static/js/admin' }); layui.use(['jquery', 'eleTree', 'table', 'laypage', 'admin'], function () { var $ = layui.jquery, eleTree = layui.eleTree, laypage = layui.laypage, table = layui.table; var addStateHtml = '../../pages/admin/addstate.html'; var updateHtml = '../../pages/admin/updateState.html'; // 部门 var belpID = 'root'; delpFun(); sessionStorage.setItem("ztreeDepid", 'root'); function delpFun() { $.ajax({ url: urlphp+'api/section/getlist?userStaffNum=' + parent.getUserStaffNum(), method: 'get', dataType: 'json', success: function (res) { if (res.code === 0) { var data = [res.data]; eleTree.render({ elem: '.ele1', data: data, defaultExpandAll: true, // showCheckbox: true, }); eleTree.on("nodeClick(data)", function (d) { belpID = d.data.currentData.id; sessionStorage.setItem("ztreeDepid", d.data.currentData.id); $('.stetaName').val(""); var info = { statusContent: '', departmentId: d.data.currentData.id, deleteStatus: 'false', pageNumber: '1', pageSize: '1', }; getStateList(info); }) } else { layer.msg('请检查网路', {icon: 2}); } }, error: function (err) { layer.msg('请检查网路', {icon: 2}); } }) } var info = { statusContent: $('.stetaName').val(), departmentId: belpID, deleteStatus: 'false', pageNumber: '1', pageSize: '1', }; getStateList(info); function getStateList(res) { var index = layer.load(2); table.render({ elem: '#stateRemind', url: urlF+'api/status/v1/getStatusList', id: 'idstetaTable', method: 'get', loading: true, page: true, cols: [[ {field: 'statusContent', title: '状态名称', align: 'center'} , {field: 'createDate', title: '创建日期', align: 'center'} , {title: ' 操作', align: 'center', toolbar: '#barDemo'} ]], where: { statusContent: res.statusContent, departmentId: res.departmentId, deleteStatus: res.deleteStatus }, request: { pageName: 'pageNumber' //页码的参数名称,默认:page , limitName: 'pageSize' //每页数据量的参数名,默认:limit }, response: { statusName: 'code' , statusCode: 200, countName: 'count', dataName: 'data' }, done: function (res, curr, count) { layer.close(index); if (res.code === '200') { $('.fr').html('共有数据:' + res.count + ' 条') } } }); } // 查询 $(".seachSteta").click(function () { var checkbox = $("#checkboxT").prop('checked'), root = '', info; if (checkbox == true) { root = ''; info = { statusContent: $('.stetaName').val(), departmentId: root, deleteStatus: 'false', pageNumber: '1', pageSize: '1', }; } else { info = { statusContent: $('.stetaName').val(), departmentId: belpID, deleteStatus: 'false', pageNumber: '1', pageSize: '1', }; } getStateList(info) }); // 监听状态table table.on('tool(stateItme)', function (obj) { if (obj.event === "move") { sessionStorage.setItem("statusId", obj.data.id); moveDep('选择部门信息', urlF+'api/status/v1/moveStatus/', '400', '500', table, 'idstetaTable'); } else if (obj.event === "copy") { var content = { _method: 'put' }; layer.alert('确认要复制记录模板吗?', {icon: 8}, function (index) { $.ajax({ url: urlF+'api/status/v1/copyStatus/' + obj.data.id, method: 'post', dataType: 'json', data: content, success: function (res) { if (res.code === '200') { layer.msg('复制成功', {icon: 1}); table.reload('idstetaTable'); } else { layer.msg('复制失败', {icon: 2}); table.reload('idstetaTable'); } layer.close(index); }, error: function () { layer.msg('请检查网络', {icon: 2}); layer.close(index); } }); }); } else if (obj.event === "edit") { var objID = obj.data; var delobj = []; layer.open({ type: 2, id: 'updateState', title: '修改状态和提醒设置', shadeClose: true, scrollbar: true, shade: 0.3, maxmin: true, skin: 'oaBtn', btn: ['确认', '取消'], area: ['500px', '500px'], content: updateHtml, success: function (layero, index) { var body = layer.getChildFrame('body', index); body.find('#stetaName').val(obj.data.statusContent); $.ajax({ url: urlF+'api/status/v1/getStatusItemList/' + obj.data.id, method: 'get', dataType: 'json', success: function (res) { for (var i = 0; i < res.data.length; i++) { var str = `
继续 完成
`; body.find(".a_itmes").append(str) } }, error: function () { layer.msg('请检查网络', {icon: 2}); } }); body.delegate('.a_delete', 'click', function () { if (body.find(".a_itmes .a_itme").length === 1) { return; } else { var id = $(this).parent().attr("id-data"), deleteFlay = $(this).parent().attr("delete-flay"); var sonterm = { deleteFlag: deleteFlay, id: id, statusColor: '', statusContent: '', zIndex: '' }; delobj.push(sonterm) } }) }, yes: function (index, layero) { var body = layer.getChildFrame('body', index); var reg = /\S/; if (!reg.test(body.find("#stetaName").val())) { layer.msg('请输入状态组名称', {icon: 8}); return false; } if (!reg.test(body.find(".a_steta1").val())) { layer.msg('请输入状态组子项至少填一个', {icon: 8}); return false; } var item = body.find('.a_itmes .a_itme'); var a_colour = body.find('.a_colour'); var arr = []; var ID = []; var json = []; var color = []; var obj = {deleteFlag: 'false', id: '', statusColor: '', statusContent: '', zIndex: ''}; a_colour.each(function () { var value = $(this).find('span').attr("color_data"); color.push(value); }); item.each(function () { var value = $(this).find('input').val(); var ids = $(this).attr("id-data"); if (reg.test(value)) { arr.push(value); ID.push(ids) } }); if (arr == "") { layer.msg('请输入状态组子项至少填一个', {icon: 8}); return false; } else { for (var i = 0; i < arr.length; i++) { obj = {}; obj.deleteFlag = false; obj.id = ID[i]; obj.statusColor = color[i]; obj.statusContent = arr[i]; obj.zIndex = i + 1; delobj.push(obj) } } var delobjs = []; for (var k = 0; k < delobj.length; k++) { if (delobj[k].id != undefined || delobj[k].statusContent != "") { delobjs.push(delobj[k]) } } var updateStetaInfo = { id: objID.id, statusContent: body.find('#stetaName').val(), statusItems: delobjs, _method: 'put' }; $.ajax({ url: urlF+'api/status/v1/updateStatus', method: 'POST', dataType: 'json', data: updateStetaInfo, success: function (res) { if (res.code === '200') { layer.msg('修改成功', {icon: 1}); table.reload('idstetaTable'); layer.close(index); } else if (res.code == '422') { layer.msg('状态内容不能为空', {icon: 2}); table.reload('idstetaTable'); layer.close(index); } else { layer.msg('修改失败,请检查信息', {icon: 2}); table.reload('idstetaTable'); layer.close(index); } }, error: function (err) { layer.close(index); } }) } }) } else if (obj.event === "delete") { var content = { _method: 'DELETE' }; layer.alert('确认要删除吗?', {icon: 8}, function (index) { $.ajax({ url: urlF+'api/status/v1/reomveStatus/' + obj.data.id, method: 'post', dataType: 'json', data: content, success: function (res) { if (res.code === '200') { layer.msg('删除成功', {icon: 1}); table.reload('idstetaTable'); } else { layer.msg('删除失败', {icon: 2}); table.reload('idstetaTable'); } layer.close(index); }, error: function () { layer.msg('请检查网络', {icon: 2}); layer.close(index); } }); }); } }); // 添加状态 // 打开添加弹窗 $(".addState").click(function () { layer.open({ type: 2, id: 'addState', title: '添加状态和提醒设置', shadeClose: true, scrollbar: true, shade: 0.3, maxmin: true, skin: 'oaBtn', btn: ['确认', '取消'], area: ['500px', '500px'], content: addStateHtml, success: function (layero, index) { var body = layer.getChildFrame('body', index); }, yes: function (index, layero) { var body = layer.getChildFrame('body', index); var reg = /\S/; if (!reg.test(body.find("#stetaName").val())) { layer.msg('请输入状态组名称', {icon: 8}); return false; } if (!reg.test(body.find(".a_steta1").val())) { return false; } var item = body.find('.a_itmes .a_itme'); var a_colour = body.find('.a_colour'); var json = []; var arr = []; var color = []; var obj = {statusColor: '', statusContent: '', zIndex: ''}; a_colour.each(function () { var value = $(this).find('span').attr("color_data"); color.push(value); }); item.each(function () { var value = $(this).find('input').val(); if (reg.test(value)) { arr.push(value); } }); if (arr == "") { layer.msg('请输入状态组子项至少填一个', {icon: 8}); return false; } else { for (var j = 0; j < arr.length; j++) { obj = {}; obj.statusColor = color[j]; obj.statusContent = arr[j]; obj.zIndex = j + 1; json.push(obj); } } var addStetaInfo = { departmentId: belpID, statusContent: body.find('#stetaName').val(), statusItems: json }; $.ajax({ url: urlF+'api/status/v1/addStatus', method: 'POST', dataType: 'json', data: addStetaInfo, success: function (res) { if (res.code === '200') { layer.msg('添加成功', {icon: 1}); table.reload('idstetaTable'); layer.close(index); } else if (res.code == '422') { layer.msg('状态内容不能为空', {icon: 2}); table.reload('idstetaTable'); layer.close(index); } else { layer.msg('添加失败,请检查信息或网络', {icon: 2}); table.reload('idstetaTable') } }, error: function (err) { layer.msg('网络错误', {icon: 2}); } }) } }) }) });