软测单独项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

277 lines
11 KiB

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 += "<option value='" + obj.DIC_VALUE + "'>" + obj.DIC_TEXT + "</option>";
});
$("#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 = '<button class="layui-btn layui-btn-sm layui-btn-normal" data-value=' + datas[i].ID + '><i class="layui-icon"></i> ' + datas[i].NAME + '</button>';
button1 += '<i style="margin:0 5px;font-size:20px" class="iconfont icon-youjiantou"></i>'
var button = "<input style='width:60px' class='layui-btn layui-btn-sm layui-btn-normal' data-value='" + datas[i].ID + "' value='" + datas[i].NAME + "'/>——>";
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();
})