layui.use(['form', 'layer', 'table', 'laytpl', 'laydate'], function () { var form = layui.form, layer = parent.layer === undefined ? layui.layer : top.layer, $ = layui.jquery, laytpl = layui.laytpl, table = layui.table, laydate = layui.laydate; var UserId = JSON.parse(window.sessionStorage.getItem("userInfo")).UserCode; var UserName = JSON.parse(window.sessionStorage.getItem("userInfo")).USERS_NAME; var acc_data = { data: [] }; var rep_data = { data: [] }; var app_data = { data: [] }; //请假类型 load_dvc_type = function () { $.post("../../ashx/CommonHandler.ashx", { Action: "getDicList", modtype: "OALEAVETYPE", random: new Date().getTime() //随机参数 }, function (res) { if (res && res.data) { var optionStr = ""; res.data.forEach(function (obj, index, arr) { optionStr += ""; }); $("#l_type").append(optionStr); form.render(); } }); } load_dvc_type(); var sTime, eTime; //开始时间选择器 laydate.render({ elem: '#s_time', type: 'datetime', done: function (value, date) { sTime = value; checkDate() } }); //结束时间选择器 laydate.render({ elem: '#e_time', type: 'datetime', done: function (value, date) { eTime = value; checkDate() } }); function checkDate() { if (sTime == null || eTime == null || sTime == "" || eTime == "") { $("#l_num").val(""); return false; } if (sTime >= eTime) { layer.msg("[开始时间]必须小于[结束时间]"); setTimeout(function () { $("#e_time").val(null); $("#l_num").val(null); }, 1); return false; } var lNum = getDays(sTime, eTime); $("#l_num").val(lNum); } function getDays(startDate, endDate) { startDate = startDate.replace(new RegExp("-", "gm"), "/"); var startDateM = (new Date(startDate)).getTime(); endDate = endDate.replace(new RegExp("-", "gm"), "/"); var endDateM = (new Date(endDate)).getTime(); var datetime = 1000 * 60 * 60; var minusDays = (endDateM - startDateM) / datetime; var days = Math.round(minusDays); var day, hour; if (days < 1) { return "1小时"; } else if (days >= 24) { day = parseInt(days / 24); hour = days % 24; if (hour == 0) { return day + "天"; } else { return day + "天" + hour + "小时"; } } else { hour = days; return hour + "小时"; } } //随行人 $("#acc_ppl").click(function () { $("#chkStyle").val("checkbox"); layui.layer.open({ type: 2, title: '随行人选择', area: ['260px', '420px'], content: '../Tree/Orgtree.html', btn: ['确定'], success: function (layero, index) { var pid = $("#acc_pplId").val(); var body = layui.layer.getChildFrame('body', index); body.find("#treeID").val(pid); }, yes: function (index, layero) { acc_data.data.length = 0; var iframeWin = window[layero.find('iframe')[0]['name']]; var datas = iframeWin.window.returnData(); datas = JSON.parse(datas); var treeId = "", treeName = "", count = 0; for (var i = 0; i < datas.length; i++) { if (datas[i].TYPE == "emp") { if (count == 0) { treeName += datas[i].NAME; } else { treeName += "," + datas[i].NAME; } var acc_pplobj = new Object(); acc_pplobj.ppl_Id = datas[i].ID; acc_pplobj.ppl_Name = datas[i].NAME; acc_data.data.push(acc_pplobj); count++; } } $("#acc_ppl").val(treeName); layui.layer.close(index); //如果设定了yes回调,需进行手工关闭 } }); }); //顶班人 $("#rep_ppl").click(function () { $("#chkStyle").val("checkbox"); layui.layer.open({ type: 2, title: '顶班人选择', area: ['260px', '420px'], content: '../Tree/Orgtree.html?', btn: ['确定'], success: function (layero, index) { var pid = $("#rep_pplId").val(); var body = layui.layer.getChildFrame('body', index); body.find("#treeID").val(pid); }, yes: function (index, layero) { rep_data.data.length = 0; var iframeWin = window[layero.find('iframe')[0]['name']]; var datas = iframeWin.window.returnData(); datas = JSON.parse(datas); var treeId = "", treeName = "", count = 0; for (var i = 0; i < datas.length; i++) { console.log(i + ":" + datas[i].NAME); if (datas[i].TYPE == "emp") { if (count == 0) { treeName += datas[i].NAME; } else { treeName += "," + datas[i].NAME; } var rep_pplobj = new Object(); rep_pplobj.ppl_Id = datas[i].ID; rep_pplobj.ppl_Name = datas[i].NAME; rep_data.data.push(rep_pplobj); count++; } } $("#rep_ppl").val(treeName); layui.layer.close(index); //如果设定了yes回调,需进行手工关闭 } }); }); //审批人 $("#approverAdd").click(function () { $("#chkStyle").val("radio"); layui.layer.open({ type: 2, title: '审批人选择', area: ['260px', '420px'], content: '../Tree/OrgLeadertree.html', btn: ['确定'], success: function (layero, index) { var body = layui.layer.getChildFrame('body', index); }, yes: function (index, layero) { $("#chkStyle").val(""); var iframeWin = window[layero.find('iframe')[0]['name']]; var datas = iframeWin.window.returnData(); datas = JSON.parse(datas); for (var i = 0; i < datas.length; i++) { console.log(i+":"+datas[i].NAME); if (datas[i].TYPE == "emp") { var flag = true; for (var y = 0; y < app_data.data.length; y++) { if (app_data.data[y].ppl_Id == datas[i].ID) { layer.msg("选择的审批人已经添加过了,不可重复添加"); flag = false; break; } } if (flag) { var button1 = ''; button1 += '' var button = "——>"; var app_pplobj = new Object(); app_pplobj.ppl_Id = datas[i].ID; app_pplobj.ppl_Name = datas[i].NAME; $("#approverAdd").before(button1); app_data.data.push(app_pplobj); } } } layui.layer.close(index); //如果设定了yes回调,需进行手工关闭 } }); }); //审批人 $("#approverList").on("click", "button", function () { $(this).next("i").remove(); $(this).remove(); var pplId = $(this).attr("data-value"); for (var i = 0; i < app_data.data.length; i++) { if (app_data.data[i].ppl_Id == pplId) { app_data.data.splice(i, 1); } } }); form.on("submit(AddEdit)", function (data) { if (app_data.data.length == 0) { top.layer.msg('请添加审批人!'); return; } //load提交 var index = layer.msg('数据提交中,请稍候', { icon: 16, time: false, shade: 0.8 }); $.post("../../ashx/OaLeaveHandler.ashx", { Action: "add", ppl_id: UserId, //申请人ID (员工表ID) ppl_name: UserName, //申请人姓名 l_type: $("#l_type").val(), //请假类型 (字典表value) //l_typeName: $("#l_type option:selected").text(),//请假类型名称 s_time: $("#s_time").val(), //开始时间 e_time: $("#e_time").val(), //结束时间 l_num: $("#l_num").val(), //请假天数 l_out: $("#l_out").val(), //去向 acc_pplId: JSON.stringify(acc_data), //随行人(员工表ID ","分割) rep_pplId: JSON.stringify(rep_data), //顶班人(员工表ID ","分割) l_reason: $("#l_reason").val(), //请假事由 app_pplId: JSON.stringify(app_data), //审批人 random: new Date().getTime() //随机参数(员工表ID ","分割) }, function (res) { console.log(res); layer.close(index); res = $.parseJSON(res); if (res.code == 1) { // parent.layer.msg(res.msg); var title = "请假申请审批"; var content = UserName + "的请假申请,请审批!"; var usercode = ""; usercode = app_data.data[0].ppl_Id; sendMessage(title, content, usercode); top.layer.msg("申请成功!"); parent.location.reload(); layer.close(index); } else { layer.close(index); layer.msg(res.msg); } }); layer.close(index); return false; }) startMqttServer(); })