提交 7189d1b4 编写于 作者: Skyeye云's avatar Skyeye云

销假申请托管到表单布局

上级 455d9aab
// 员工考勤班次
var checkWorkTime = new Array();
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui', 'laydate', 'form'], function(exports) {
winui.renderColor();
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$,
form = layui.form,
laydate = layui.laydate;
var serviceClassName = sysServiceMation["checkWorkCancelLeave"]["key"];
var rowNum = 1; //表格的序号
// 销假日期的初始化集合
var cancelDayElem = new Array();
var cancelStartElem = new Array();
var cancelEndElem = new Array();
var beanTemplate = $("#beanTemplate").html();
var selOption = getFileContent('tpl/template/select-option.tpl');
// 获取当前登录员工信息
systemCommonUtil.getSysCurrentLoginUserMation(function (data) {
$("#useTitle").html("用户销假申请单-" + getYMDFormatDate() + '-' + data.bean.userName);
$("#useName").html(data.bean.userName);
});
// 获取当前登陆人的考勤班次
checkWorkUtil.getCurrentUserCheckWorkTimeList(function (json) {
$.each(json.rows, function (i, item) {
checkWorkTime.push({
id: item.timeId,
name: item.title,
days: item.days,
startTime: item.startTime,
endTime: item.endTime,
restStartTime: item.restStartTime,
restEndTime: item.restEndTime,
type: item.type
});
});
// 考勤班次变化
form.on('select(timeId)', function (data) {
var thisRowNum = data.elem.id.replace("timeId", "");
var thisRowValue = data.value;
$("#cancelDay" + thisRowNum).val("");
$("#cancelStartTime" + thisRowNum).val("");
$("#cancelEndTime" + thisRowNum).val("");
$("#cancelHour" + thisRowNum).html("0");
var timeMation = getInPoingArr(checkWorkTime, "id", thisRowValue);
if (timeMation != null) {
cancelDayElem[thisRowNum].config.chooseDay = timeMation.days;
var min = {
year: getYMDFormatDate().split('-')[0],
month: getYMDFormatDate().split('-')[1] - 1,//关键
date: getYMDFormatDate().split('-')[2],
hours: timeMation.startTime.split(':')[0],
minutes: timeMation.startTime.split(':')[1] - 1,
seconds: '00'
};
var max = {
year: getYMDFormatDate().split('-')[0],
month: getYMDFormatDate().split('-')[1] - 1,//关键
date: getYMDFormatDate().split('-')[2],
hours: timeMation.endTime.split(':')[0],
minutes: timeMation.endTime.split(':')[1] + 1,
seconds: '00'
};
cancelStartElem[thisRowNum].config.min = min;
cancelStartElem[thisRowNum].config.max = max;
cancelEndElem[thisRowNum].config.min = min;
cancelEndElem[thisRowNum].config.max = max;
$("#workTime" + thisRowNum).html(timeMation.startTime + " ~ " + timeMation.endTime);
} else {
cancelDayElem[thisRowNum].config.chooseDay = [];
$("#workTime" + thisRowNum).html("-");
}
});
form.render();
matchingLanguage();
// 初始化一行数据
addRow();
});
skyeyeEnclosure.init('enclosureUpload');
// 保存为草稿
form.on('submit(formAddBean)', function(data) {
if(winui.verifyForm(data.elem)) {
saveData("1", "");
}
return false;
});
// 提交审批
form.on('submit(formSubBean)', function(data) {
if(winui.verifyForm(data.elem)) {
activitiUtil.startProcess(serviceClassName, null, function (approvalId) {
saveData("2", approvalId);
});
}
return false;
});
function saveData(subType, approvalId) {
// 获取销假日期数据
var rowTr = $("#beanTable tr");
if(rowTr.length == 0) {
winui.window.msg('请选择销假日期数据', {icon: 2, time: 2000});
return false;
}
var tableData = new Array();
var noError = false; //循环遍历表格数据时,是否有其他错误信息
$.each(rowTr, function(i, item) {
var rowNum = $(item).attr("trcusid").replace("tr", "");
if(inTableDataArray($("#timeId" + rowNum).val(), $("#cancelDay" + rowNum).val(), tableData)){
winui.window.msg('同一班次中不允许出现相同的销假日期.', {icon: 2, time: 2000});
noError = true;
return false;
}
var row = {
timeId: $("#timeId" + rowNum).val(),
timeStartTime: $("#workTime" + rowNum).html().split('~')[0].trim(),
timeEndTime: $("#workTime" + rowNum).html().split('~')[1].trim(),
cancelDay: $("#cancelDay" + rowNum).val(),
cancelStartTime: $("#cancelStartTime" + rowNum).val(),
cancelEndTime: $("#cancelEndTime" + rowNum).val(),
cancelHour: $("#cancelHour" + rowNum).html(),
remark: $("#remark" + rowNum).val()
};
tableData.push(row);
});
if(noError) {
return false;
}
var params = {
title: $("#useTitle").html(),
remark: $("#remark").val(),
cancelLeaveDayStr: JSON.stringify(tableData),
enclosureInfo: skyeyeEnclosure.getEnclosureIdsByBoxId('enclosureUpload'),
subType: subType, // 表单类型 1.保存草稿 2.提交审批
approvalId: approvalId
};
AjaxPostUtil.request({url: flowableBasePath + "checkworkcancelleave002", params: params, type: 'json', method: 'POST', callback: function(json) {
parent.layer.close(index);
parent.refreshCode = '0';
}});
}
// 判断选中的销假日期是否也在数组中
function inTableDataArray(timeId, cancelDay, array) {
var isIn = false;
$.each(array, function(i, item) {
if(item.timeId === timeId && item.cancelDay === cancelDay) {
isIn = true;
return false;
}
});
return isIn;
}
// 新增行
$("body").on("click", "#addRow", function() {
addRow();
});
// 删除行
$("body").on("click", "#deleteRow", function() {
deleteRow();
});
// 新增行
function addRow() {
var par = {
id: "row" + rowNum.toString(), //checkbox的id
trId: "tr" + rowNum.toString(), //行的id
timeId: "timeId" + rowNum.toString(), //班次id
workTime: "workTime" + rowNum.toString(), //打卡时间id
cancelDay: "cancelDay" + rowNum.toString(), //销假日期id
cancelStartTime: "cancelStartTime" + rowNum.toString(), //开始时间id
cancelEndTime: "cancelEndTime" + rowNum.toString(), //结束时间id
cancelHour: "cancelHour" + rowNum.toString(), //销假工时id
remark: "remark" + rowNum.toString() //备注id
};
$("#beanTable").append(getDataUseHandlebars(beanTemplate, par));
$("#timeId" + rowNum.toString()).html(getDataUseHandlebars(selOption, {rows: checkWorkTime}));
cancelDayElem[rowNum.toString()] = laydate.render({
elem: '#cancelDay' + rowNum.toString(),
calendar: true,
min: getFormatDate()
});
cancelStartElem[rowNum.toString()] = laydate.render({
elem: "#cancelStartTime" + rowNum.toString(),
format: 'HH:mm',
type: 'timeminute',
minutesinterval: 30,
btns: ['confirm'],
done: function(value, date){
var num = $(this)[0].elem.selector.replace("#", "").replace("cancelStartTime", "");
$("#cancelStartTime" + num).val(value);
cancelEndElem[num].config.min = {
year: date.year,
month: date.month - 1,//关键
date: date.date,
hours: date.hours,
minutes: date.minutes,
seconds: date.seconds
};
// 计算工时
calcLeaveHour(num);
}
});
cancelEndElem[rowNum.toString()] = laydate.render({
elem: "#cancelEndTime" + rowNum.toString(),
format: 'HH:mm',
type: 'timeminute',
minutesinterval: 30,
btns: ['confirm'],
done: function(value, date){
var num = $(this)[0].elem.selector.replace("#", "").replace("cancelEndTime", "");
$("#cancelEndTime" + num).val(value);
cancelStartElem[num].config.max = {
year: date.year,
month: date.month - 1,//关键
date: date.date,
hours: date.hours,
minutes: date.minutes,
seconds: date.seconds
};
// 计算工时
calcLeaveHour(num);
}
});
form.render('select');
form.render('checkbox');
rowNum++;
}
// 删除行
function deleteRow() {
var checkRow = $("#beanTable input[type='checkbox'][name='tableCheckRow']:checked");
if(checkRow.length > 0) {
$.each(checkRow, function(i, item) {
$(item).parent().parent().remove();
});
} else {
winui.window.msg('请选择要删除的行', {icon: 2, time: 2000});
}
}
/**
* 计算销假工时
*
* @param num 表格的序号
*/
function calcLeaveHour(num){
var startTime = $("#cancelStartTime" + num).val();
var endTime = $("#cancelEndTime" + num).val();
if (!isNull(startTime) && !isNull(endTime)){
var timeId = $("#timeId" + num).val();
if (!isNull(timeId)){
var hour = "0";
var timeMation = getInPoingArr(checkWorkTime, "id", timeId);
startTime = startTime + ":00";
endTime = endTime + ":00";
// 作息时间是否为空
if (!isNull(timeMation.restStartTime) && !isNull(timeMation.restEndTime)){
var restStartTime = timeMation.restStartTime + ":00";
var restEndTime = timeMation.restEndTime + ":00";
if(compare_HHmmss(restStartTime, endTime) || compare_HHmmss(startTime, restEndTime)){
// 销假结束时间比作息开始时间小或者销假开始时间比作息结束时间大,说明没有与作息时间重合的时间
hour = division(timeDifference(startTime, endTime), 60);
} else {
var overlapTime = getOverlapTime(startTime, endTime, restStartTime, restEndTime);
// 时间计算为:选择的销假时间时间减去与作息时间重复的时间段
hour = division(subtraction(timeDifference(startTime, endTime), timeDifference(overlapTime[0], overlapTime[1])), 60);
}
} else {
hour = division(timeDifference(startTime, endTime), 60);
}
$("#cancelHour" + num).html(hour);
}
}
}
$("body").on("click", "#cancle", function() {
parent.layer.close(index);
});
});
\ No newline at end of file
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui'], function(exports) {
winui.renderColor();
layui.use(['form'], function(form) {
var $ = layui.$;
AjaxPostUtil.request({url: flowableBasePath + "checkworkcancelleave003", params: {rowId: parent.rowId}, type: 'json', method: 'GET', callback: function(json) {
json.bean.stateName = getStateNameByState(json.bean.state, json.bean.stateName);
$("#showForm").html(getDataUseHandlebars($("#useTemplate").html(), json));
// 附件回显
skyeyeEnclosure.showDetails({"enclosureUpload": json.bean.enclosureInfo});
form.render();
matchingLanguage();
}});
});
});
\ No newline at end of file
// 员工考勤班次
var checkWorkTime = new Array();
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui', 'laydate', 'form'], function(exports) {
winui.renderColor();
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$,
form = layui.form,
laydate = layui.laydate;
var serviceClassName = sysServiceMation["checkWorkCancelLeave"]["key"];
var rowNum = 1; //表格的序号
// 销假日期的初始化集合
var cancelDayElem = new Array();
var cancelStartElem = new Array();
var cancelEndElem = new Array();
var beanTemplate = $("#beanTemplate").html();
var selOption = getFileContent('tpl/template/select-option.tpl');
AjaxPostUtil.request({url: flowableBasePath + "checkworkcancelleave004", params: {rowId: parent.rowId}, type: 'json', method: 'GET', callback: function(mation) {
$("#useTitle").html(mation.bean.title);
$("#useName").html(mation.bean.userName);
$("#remark").val(mation.bean.remark);
// 附件回显
skyeyeEnclosure.initTypeISData({'enclosureUpload': mation.bean.enclosureInfo});
if(mation.bean.state == '1'){
$(".typeTwo").removeClass("layui-hide");
} else {
$(".typeOne").removeClass("layui-hide");
}
// 获取当前登陆人的考勤班次
checkWorkUtil.getCurrentUserCheckWorkTimeList(function (json) {
$.each(json.rows, function (i, item) {
checkWorkTime.push({
id: item.timeId,
name: item.title,
days: item.days,
startTime: item.startTime,
endTime: item.endTime,
restStartTime: item.restStartTime,
restEndTime: item.restEndTime,
type: item.type
});
});
// 考勤班次变化
form.on('select(timeId)', function (data) {
var thisRowNum = data.elem.id.replace("timeId", "");
var thisRowValue = data.value;
$("#cancelDay" + thisRowNum).val("");
$("#cancelStartTime" + thisRowNum).val("");
$("#cancelEndTime" + thisRowNum).val("");
$("#cancelHour" + thisRowNum).html("0");
var timeMation = getInPoingArr(checkWorkTime, "id", thisRowValue);
if (timeMation != null) {
cancelDayElem[thisRowNum].config.chooseDay = timeMation.days;
var min = {
year: getYMDFormatDate().split('-')[0],
month: getYMDFormatDate().split('-')[1] - 1,//关键
date: getYMDFormatDate().split('-')[2],
hours: timeMation.startTime.split(':')[0],
minutes: timeMation.startTime.split(':')[1] - 1,
seconds: '00'
};
var max = {
year: getYMDFormatDate().split('-')[0],
month: getYMDFormatDate().split('-')[1] - 1,//关键
date: getYMDFormatDate().split('-')[2],
hours: timeMation.endTime.split(':')[0],
minutes: timeMation.endTime.split(':')[1] + 1,
seconds: '00'
};
cancelStartElem[thisRowNum].config.min = min;
cancelStartElem[thisRowNum].config.max = max;
cancelEndElem[thisRowNum].config.min = min;
cancelEndElem[thisRowNum].config.max = max;
$("#workTime" + thisRowNum).html(timeMation.startTime + " ~ " + timeMation.endTime);
} else {
cancelDayElem[thisRowNum].config.chooseDay = [];
$("#workTime" + thisRowNum).html("-");
}
});
$.each(mation.bean.cancelLeaveDay, function(i, item) {
addRow();
$("#timeId" + (rowNum - 1).toString()).val(item.timeId);
$("#workTime" + (rowNum - 1).toString()).html(item.timeStartTime + " ~ " + item.timeEndTime);
$("#cancelDay" + (rowNum - 1).toString()).val(item.cancelDay);
$("#cancelStartTime" + (rowNum - 1).toString()).val(item.cancelStartTime);
$("#cancelEndTime" + (rowNum - 1).toString()).val(item.cancelEndTime);
$("#cancelHour" + (rowNum - 1).toString()).html(item.cancelHour);
$("#remark" + (rowNum - 1).toString()).val(item.remark);
form.render('select');
form.render('checkbox');
});
form.render();
matchingLanguage();
});
}});
// 保存为草稿
form.on('submit(formEditBean)', function(data) {
if(winui.verifyForm(data.elem)) {
saveData('1', "");
}
return false;
});
// 提交审批
form.on('submit(formSubBean)', function(data) {
if(winui.verifyForm(data.elem)) {
activitiUtil.startProcess(serviceClassName, null, function (approvalId) {
saveData("2", approvalId);
});
}
return false;
});
// 工作流中保存
form.on('submit(subBean)', function(data) {
if(winui.verifyForm(data.elem)) {
saveData('3', "");
}
return false;
});
function saveData(subType, approvalId) {
// 获取销假日期数据
var rowTr = $("#beanTable tr");
if(rowTr.length == 0) {
winui.window.msg('请选择销假日期数据', {icon: 2, time: 2000});
return false;
}
var tableData = new Array();
var noError = false; //循环遍历表格数据时,是否有其他错误信息
$.each(rowTr, function(i, item) {
var rowNum = $(item).attr("trcusid").replace("tr", "");
if(inTableDataArray($("#timeId" + rowNum).val(), $("#cancelDay" + rowNum).val(), tableData)){
winui.window.msg('同一班次中不允许出现相同的销假日期.', {icon: 2, time: 2000});
noError = true;
return false;
}
var row = {
timeId: $("#timeId" + rowNum).val(),
timeStartTime: $("#workTime" + rowNum).html().split('~')[0].trim(),
timeEndTime: $("#workTime" + rowNum).html().split('~')[1].trim(),
cancelDay: $("#cancelDay" + rowNum).val(),
cancelStartTime: $("#cancelStartTime" + rowNum).val(),
cancelEndTime: $("#cancelEndTime" + rowNum).val(),
cancelHour: $("#cancelHour" + rowNum).html(),
remark: $("#remark" + rowNum).val()
};
tableData.push(row);
});
if(noError) {
return false;
}
var params = {
rowId: parent.rowId,
remark: $("#remark").val(),
cancelLeaveDayStr: JSON.stringify(tableData),
enclosureInfo: skyeyeEnclosure.getEnclosureIdsByBoxId('enclosureUpload'),
subType: subType, // 1:保存为草稿 2.提交到工作流 3.在工作流中编辑
approvalId: approvalId,
};
AjaxPostUtil.request({url: flowableBasePath + "checkworkcancelleave005", params: params, type: 'json', method: 'PUT', callback: function(json) {
parent.layer.close(index);
parent.refreshCode = '0';
}});
}
// 判断选中的销假日期是否也在数组中
function inTableDataArray(timeId, cancelDay, array) {
var isIn = false;
$.each(array, function(i, item) {
if(item.timeId === timeId && item.cancelDay === cancelDay) {
isIn = true;
return false;
}
});
return isIn;
}
// 新增行
$("body").on("click", "#addRow", function() {
addRow();
});
// 删除行
$("body").on("click", "#deleteRow", function() {
deleteRow();
});
// 新增行
function addRow() {
var par = {
id: "row" + rowNum.toString(), //checkbox的id
trId: "tr" + rowNum.toString(), //行的id
timeId: "timeId" + rowNum.toString(), //班次id
workTime: "workTime" + rowNum.toString(), //打卡时间id
cancelDay: "cancelDay" + rowNum.toString(), //销假日期id
cancelStartTime: "cancelStartTime" + rowNum.toString(), //开始时间id
cancelEndTime: "cancelEndTime" + rowNum.toString(), //结束时间id
cancelHour: "cancelHour" + rowNum.toString(), //销假工时id
remark: "remark" + rowNum.toString() //备注id
};
$("#beanTable").append(getDataUseHandlebars(beanTemplate, par));
$("#timeId" + rowNum.toString()).html(getDataUseHandlebars(selOption, {rows: checkWorkTime}));
cancelDayElem[rowNum.toString()] = laydate.render({
elem: '#cancelDay' + rowNum.toString(),
calendar: true,
min: getFormatDate()
});
cancelStartElem[rowNum.toString()] = laydate.render({
elem: "#cancelStartTime" + rowNum.toString(),
format: 'HH:mm',
type: 'timeminute',
minutesinterval: 30,
btns: ['confirm'],
done: function(value, date){
var num = $(this)[0].elem.selector.replace("#", "").replace("cancelStartTime", "");
$("#cancelStartTime" + num).val(value);
cancelEndElem[num].config.min = {
year: date.year,
month: date.month - 1,//关键
date: date.date,
hours: date.hours,
minutes: date.minutes,
seconds: date.seconds
};
// 计算工时
calcLeaveHour(num);
}
});
cancelEndElem[rowNum.toString()] = laydate.render({
elem: "#cancelEndTime" + rowNum.toString(),
format: 'HH:mm',
type: 'timeminute',
minutesinterval: 30,
btns: ['confirm'],
done: function(value, date){
var num = $(this)[0].elem.selector.replace("#", "").replace("cancelEndTime", "");
$("#cancelEndTime" + num).val(value);
cancelStartElem[num].config.max = {
year: date.year,
month: date.month - 1,//关键
date: date.date,
hours: date.hours,
minutes: date.minutes,
seconds: date.seconds
};
// 计算工时
calcLeaveHour(num);
}
});
form.render('select');
form.render('checkbox');
rowNum++;
}
// 删除行
function deleteRow() {
var checkRow = $("#beanTable input[type='checkbox'][name='tableCheckRow']:checked");
if(checkRow.length > 0) {
$.each(checkRow, function(i, item) {
$(item).parent().parent().remove();
});
} else {
winui.window.msg('请选择要删除的行', {icon: 2, time: 2000});
}
}
/**
* 计算销假工时
*
* @param num 表格的序号
*/
function calcLeaveHour(num){
var startTime = $("#cancelStartTime" + num).val();
var endTime = $("#cancelEndTime" + num).val();
if (!isNull(startTime) && !isNull(endTime)){
var timeId = $("#timeId" + num).val();
if (!isNull(timeId)){
var hour = "0";
var timeMation = getInPoingArr(checkWorkTime, "id", timeId);
startTime = startTime + ":00";
endTime = endTime + ":00";
// 作息时间是否为空
if (!isNull(timeMation.restStartTime) && !isNull(timeMation.restEndTime)){
var restStartTime = timeMation.restStartTime + ":00";
var restEndTime = timeMation.restEndTime + ":00";
if(compare_HHmmss(restStartTime, endTime) || compare_HHmmss(startTime, restEndTime)){
// 销假结束时间比作息开始时间小或者销假开始时间比作息结束时间大,说明没有与作息时间重合的时间
hour = division(timeDifference(startTime, endTime), 60);
} else {
var overlapTime = getOverlapTime(startTime, endTime, restStartTime, restEndTime);
// 时间计算为:选择的销假时间时间减去与作息时间重复的时间段
hour = division(subtraction(timeDifference(startTime, endTime), timeDifference(overlapTime[0], overlapTime[1])), 60);
}
} else {
hour = division(timeDifference(startTime, endTime), 60);
}
$("#cancelHour" + num).html(hour);
}
}
}
$("body").on("click", "#cancle", function() {
parent.layer.close(index);
});
});
\ No newline at end of file
var rowId = "";
var taskType = "";//流程详情的主标题
var processInstanceId = "";//流程id
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'table', 'jquery', 'winui', 'form', 'laydate'], function (exports) {
}).define(['window', 'table', 'jquery', 'winui', 'form'], function (exports) {
winui.renderColor();
var $ = layui.$,
form = layui.form,
laydate = layui.laydate,
table = layui.table;
var serviceClassName = sysServiceMation["checkWorkCancelLeave"]["key"];
// 新增销假申请
authBtn('1618112042591');
// 申请时间
laydate.render({elem: '#applyTime', range: '~'});
// 我的销假申请列表
table.render({
id: 'messageTable',
elem: '#messageTable',
method: 'post',
url: flowableBasePath + 'checkworkcancelleave001',
url: sysMainMation.checkworkBasePath + 'checkworkcancelleave001',
where: getTableParams(),
even: true,
page: true,
......@@ -35,17 +26,20 @@ layui.config({
limit: getLimit(),
cols: [[
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers' },
{ field: 'title', title: '标题', width: 300, templet: function (d) {
return '<a lay-event="dedails" class="notice-title-click">' + d.title + '</a>';
{ field: 'oddNumber', title: '单号', width: 200, align: 'center', templet: function (d) {
return '<a lay-event="details" class="notice-title-click">' + d.oddNumber + '</a>';
}},
{ field: 'oddNum', title: '单号', width: 200 },
{ field: 'processInstanceId', title: '流程ID', width: 100, templet: function (d) {
{ field: 'name', title: '标题', width: 300 },
{ field: 'processInstanceId', title: '流程ID', width: 80, align: 'center', templet: function (d) {
return '<a lay-event="processDetails" class="notice-title-click">' + d.processInstanceId + '</a>';
}},
{ field: 'stateName', title: '状态', width: 90, templet: function (d) {
return activitiUtil.showStateName2(d.state, 1);
{ field: 'state', title: '状态', width: 90, align: 'center', templet: function (d) {
return skyeyeClassEnumUtil.getEnumDataNameByCodeAndKey("flowableStateEnum", 'id', d.state, 'name');
}},
{ field: 'createTime', title: systemLanguage["com.skyeye.createTime"][languageType], width: 150 },
{ field: 'createName', title: systemLanguage["com.skyeye.createName"][languageType], width: 120 },
{ field: 'createTime', title: systemLanguage["com.skyeye.createTime"][languageType], align: 'center', width: 150 },
{ field: 'lastUpdateName', title: systemLanguage["com.skyeye.lastUpdateName"][languageType], align: 'left', width: 120 },
{ field: 'lastUpdateTime', title: systemLanguage["com.skyeye.lastUpdateTime"][languageType], align: 'center', width: 150 },
{ title: systemLanguage["com.skyeye.operation"][languageType], fixed: 'right', align: 'center', width: 257, toolbar: '#messageTableBar'}
]],
done: function(json) {
......@@ -56,8 +50,8 @@ layui.config({
table.on('tool(messageTable)', function (obj) {
var data = obj.data;
var layEvent = obj.event;
if (layEvent === 'dedails') { // 详情
dedails(data);
if (layEvent === 'details') { // 详情
details(data);
} else if (layEvent === 'edit') { // 编辑
edit(data);
} else if (layEvent === 'subApproval') { // 提交审批
......@@ -74,7 +68,7 @@ layui.config({
// 新增销假申请
$("body").on("click", "#addBean", function() {
_openNewWindows({
url: "../../tpl/checkWorkCancelLeave/checkWorkCancelLeaveAdd.html",
url: systemCommonUtil.getUrl('FP2023071800005', null),
title: "销假申请",
pageId: "checkWorkCancelLeaveAdd",
area: ['90vw', '90vh'],
......@@ -88,7 +82,7 @@ layui.config({
function revoke(data) {
layer.confirm('确认撤销该申请吗?', { icon: 3, title: '撤销操作' }, function (index) {
layer.close(index);
AjaxPostUtil.request({url: flowableBasePath + "checkworkcancelleave009", params: {processInstanceId: data.processInstanceId}, type: 'json', method: "PUT", callback: function (json) {
AjaxPostUtil.request({url: sysMainMation.checkworkBasePath + "checkworkcancelleave009", params: {processInstanceId: data.processInstanceId}, type: 'json', method: "PUT", callback: function (json) {
winui.window.msg("提交成功", {icon: 1, time: 2000});
loadTable();
}});
......@@ -97,9 +91,8 @@ layui.config({
// 编辑销假申请
function edit(data) {
rowId = data.id;
_openNewWindows({
url: "../../tpl/checkWorkCancelLeave/checkWorkCancelLeaveEdit.html",
url: systemCommonUtil.getUrl('FP2023071800006&id=' + data.id, null),
title: "销假申请",
pageId: "checkWorkCancelLeaveEdit",
area: ['90vw', '90vh'],
......@@ -116,10 +109,10 @@ layui.config({
layer.close(index);
activitiUtil.startProcess(serviceClassName, null, function (approvalId) {
var params = {
rowId: data.id,
id: data.id,
approvalId: approvalId
};
AjaxPostUtil.request({url: flowableBasePath + "checkworkcancelleave006", params: params, type: 'json', callback: function (json) {
AjaxPostUtil.request({url: sysMainMation.checkworkBasePath + "checkworkcancelleave006", params: params, type: 'json', method: "POST", callback: function (json) {
winui.window.msg("提交成功", {icon: 1, time: 2000});
loadTable();
}});
......@@ -131,7 +124,7 @@ layui.config({
function cancellation(data) {
layer.confirm('确认作废该申请吗?', { icon: 3, title: '作废操作' }, function (index) {
layer.close(index);
AjaxPostUtil.request({url: flowableBasePath + "checkworkcancelleave007", params: {rowId: data.id}, type: 'json', callback: function (json) {
AjaxPostUtil.request({url: sysMainMation.checkworkBasePath + "checkworkcancelleave007", params: {id: data.id}, type: 'json', method: "POST", callback: function (json) {
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1, time: 2000});
loadTable();
}});
......@@ -139,10 +132,9 @@ layui.config({
}
// 销假申请详情
function dedails(data) {
rowId = data.id;
function details(data) {
_openNewWindows({
url: "../../tpl/checkWorkCancelLeave/checkWorkCancelLeaveDetails.html",
url: systemCommonUtil.getUrl('FP2023071800007&id=' + data.id, null),
title: systemLanguage["com.skyeye.detailsPageTitle"][languageType],
pageId: "checkWorkCancelLeaveDetails",
area: ['90vw', '90vh'],
......@@ -152,34 +144,15 @@ layui.config({
}
form.render();
form.on('submit(formSearch)', function (data) {
if (winui.verifyForm(data.elem)) {
table.reloadData("messageTable", {page: {curr: 1}, where: getTableParams()});
}
return false;
});
// 刷新
$("body").on("click", "#reloadTable", function() {
loadTable();
});
// 刷新数据
function loadTable() {
table.reloadData("messageTable", {where: getTableParams()});
}
function getTableParams() {
var startTime = "", endTime = "";
if (!isNull($("#applyTime").val())) {
startTime = $("#applyTime").val().split('~')[0].trim() + ' 00:00:00';
endTime = $("#applyTime").val().split('~')[1].trim() + ' 23:59:59';
}
return {
state: $("#state").val(),
startTime: startTime,
endTime: endTime
};
return $.extend(true, {}, initTableSearchUtil.getSearchValue("messageTable"));
}
exports('checkWorkCancelLeaveList', {});
......
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div style="margin:0 auto;padding:20px;">
<form class="layui-form" action="" id="showForm">
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">标题<i class="red">*</i></label>
<div class="layui-input-block ver-center" id="useTitle">
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">步骤</label>
<div class="layui-input-block ver-center">
填单
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">责任人<i class="red">*</i></label>
<div class="layui-input-block ver-center" id="useName">
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">销假日期<i class="red">*</i></label>
<div class="layui-input-block">
<div class="winui-toolbar">
<div class="winui-tool" style="text-align: left;">
<button id="addRow" class="winui-toolbtn" type="button"><i class="fa fa-plus" aria-hidden="true"></i>新增行</button>
<button id="deleteRow" class="winui-toolbtn" type="button"><i class="fa fa-trash-o" aria-hidden="true"></i>删除行</button>
</div>
</div>
<div class="layui-form-mid layui-word-aux" id="messageTips"></div>
<table class="layui-table">
<thead>
<tr>
<th style="width: 30px;"></th>
<th style="width: 100px;">班次<i class="red">*</i></th>
<th style="width: 80px;">打卡时间</th>
<th style="width: 100px;">销假日期<i class="red">*</i></th>
<th style="width: 80px;">开始时间<i class="red">*</i></th>
<th style="width: 80px;">结束时间<i class="red">*</i></th>
<th style="width: 80px;">销假工时</th>
<th style="min-width: 80px;">备注</th>
</tr>
</thead>
<tbody id="beanTable" class="insurance-table">
</tbody>
</table>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">相关描述</label>
<div class="layui-input-block">
<textarea id="remark" name="remark" placeholder="请输入相关描述" class="layui-textarea" style="height: 100px;" maxlength="200"></textarea>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">相关附件</label>
<div class="layui-input-block" id="enclosureUpload">
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<div class="layui-input-block">
<button class="winui-btn" id="cancle"><language showName="com.skyeye.cancel"></language></button>
<button class="winui-btn" lay-submit lay-filter="formAddBean">保存为草稿</button>
<button class="winui-btn" lay-submit lay-filter="formSubBean">提交审批</button>
</div>
</div>
</form>
</div>
<!-- beanTemplate -->
<script type="text/x-handlebars-template" id="beanTemplate">
<tr trcusid="{{trId}}">
<td><input type="checkbox" rowId="{{id}}" lay-filter="checkboxProperty" name="tableCheckRow"/></td>
<td><select id="{{timeId}}" lay-filter="timeId" win-verify="required"></select></td>
<td id="{{workTime}}">-</td>
<td><input type="text" class="layui-input" id="{{cancelDay}}" win-verify="required"/></td>
<td><input type="text" class="layui-input" id="{{cancelStartTime}}" win-verify="required"/></td>
<td><input type="text" class="layui-input" id="{{cancelEndTime}}" win-verify="required"/></td>
<td id="{{cancelHour}}">0</td>
<td><input type="text" class="layui-input" id="{{remark}}"/></td>
</tr>
</script>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/checkWorkCancelLeave/'}).use('checkWorkCancelLeaveAdd');
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div style="margin:0 auto;padding:20px;">
<form class="layui-form" action="" id="showForm">
</form>
</div>
<!-- useTemplate -->
<script type="text/x-handlebars-template" id="useTemplate">
{{#bean}}
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">标题</label>
<div class="layui-input-block ver-center">
{{title}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">单号</label>
<div class="layui-input-block ver-center">
{{oddNumber}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">状态</label>
<div class="layui-input-block ver-center">
{{{stateName}}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">责任人</label>
<div class="layui-input-block ver-center">
{{userName}}
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">申请时间</label>
<div class="layui-input-block ver-center">
{{createTime}}
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">销假日期</label>
<div class="layui-input-block">
<table class="layui-table">
<thead>
<tr>
<th style="width: 100px;">班次</th>
<th style="width: 80px;">打卡时间</th>
<th style="width: 100px;">销假日期</th>
<th style="width: 80px;">开始时间</th>
<th style="width: 80px;">结束时间</th>
<th style="width: 80px;">销假工时</th>
<th style="width: 80px;">状态</th>
<th style="min-width: 80px;">备注</th>
</tr>
</thead>
<tbody id="beanTable" class="insurance-table">
{{#each cancelLeaveDay}}
<tr>
<td>{{timeName}}</td>
<td>{{timeStartTime}} ~ {{timeEndTime}}</td>
<td>{{cancelDay}}</td>
<td>{{cancelStartTime}}</td>
<td>{{cancelEndTime}}</td>
<td>{{cancelHour}}</td>
<td>{{stateName}}</td>
<td>{{remark}}</td>
</tr>
{{/each}}
</tbody>
</table>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">相关描述</label>
<div class="layui-input-block ver-center">
{{remark}}
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">相关附件</label>
<div class="layui-input-block ver-center" id="enclosureUpload">
</div>
</div>
{{/bean}}
</script>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/checkWorkCancelLeave/'}).use('checkWorkCancelLeaveDetails');
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div style="margin:0 auto;padding:20px;">
<form class="layui-form" action="" id="showForm">
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">标题<i class="red">*</i></label>
<div class="layui-input-block ver-center" id="useTitle">
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">步骤</label>
<div class="layui-input-block ver-center">
填单
</div>
</div>
<div class="layui-form-item layui-col-xs6">
<label class="layui-form-label">责任人<i class="red">*</i></label>
<div class="layui-input-block ver-center" id="useName">
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">销假日期<i class="red">*</i></label>
<div class="layui-input-block">
<div class="winui-toolbar">
<div class="winui-tool" style="text-align: left;">
<button id="addRow" class="winui-toolbtn" type="button"><i class="fa fa-plus" aria-hidden="true"></i>新增行</button>
<button id="deleteRow" class="winui-toolbtn" type="button"><i class="fa fa-trash-o" aria-hidden="true"></i>删除行</button>
</div>
</div>
<div class="layui-form-mid layui-word-aux" id="messageTips"></div>
<table class="layui-table">
<thead>
<tr>
<th style="width: 30px;"></th>
<th style="width: 100px;">班次<i class="red">*</i></th>
<th style="width: 80px;">打卡时间</th>
<th style="width: 100px;">销假日期<i class="red">*</i></th>
<th style="width: 80px;">开始时间<i class="red">*</i></th>
<th style="width: 80px;">结束时间<i class="red">*</i></th>
<th style="width: 80px;">销假工时</th>
<th style="min-width: 80px;">备注</th>
</tr>
</thead>
<tbody id="beanTable" class="insurance-table">
</tbody>
</table>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">相关描述</label>
<div class="layui-input-block">
<textarea id="remark" name="remark" placeholder="请输入相关描述" class="layui-textarea" style="height: 100px;" maxlength="200"></textarea>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">相关附件</label>
<div class="layui-input-block" id="enclosureUpload">
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<div class="layui-input-block">
<button class="winui-btn" id="cancle"><language showName="com.skyeye.cancel"></language></button>
<button class="winui-btn typeOne layui-hide" lay-submit lay-filter="formEditBean">保存为草稿</button>
<button class="winui-btn typeOne layui-hide" lay-submit lay-filter="formSubBean">提交审批</button>
<button class="winui-btn typeTwo layui-hide" lay-submit lay-filter="subBean"><language showName="com.skyeye.save"></language></button>
</div>
</div>
</form>
</div>
<!-- beanTemplate -->
<script type="text/x-handlebars-template" id="beanTemplate">
<tr trcusid="{{trId}}">
<td><input type="checkbox" rowId="{{id}}" lay-filter="checkboxProperty" name="tableCheckRow"/></td>
<td><select id="{{timeId}}" lay-filter="timeId" win-verify="required"></select></td>
<td id="{{workTime}}">-</td>
<td><input type="text" class="layui-input" id="{{cancelDay}}" win-verify="required"/></td>
<td><input type="text" class="layui-input" id="{{cancelStartTime}}" win-verify="required"/></td>
<td><input type="text" class="layui-input" id="{{cancelEndTime}}" win-verify="required"/></td>
<td id="{{cancelHour}}">0</td>
<td><input type="text" class="layui-input" id="{{remark}}"/></td>
</tr>
</script>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/checkWorkCancelLeave/'}).use('checkWorkCancelLeaveEdit');
</script>
</body>
</html>
\ No newline at end of file
......@@ -7,66 +7,36 @@
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div style="margin:0 auto; height: 100%;">
<div class="txtcenter" style="margin:0 auto; padding-top: 10px;">
<div class="winui-tip alert-info" id="showInfo">
销假申请只能销已经申请的请假时间段,如果销为申请的日期,则会默认审核不通过(如果销年假,则会退还对应的年假)。
</div>
<form class="layui-form layui-form-pane" action="" autocomplete="off">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">状态</label>
<div class="layui-input-inline">
<select id="state">
<option value="">全部</option>
<option value="0">草稿</option>
<option value="1">审核中</option>
<option value="2">审核通过</option>
<option value="3">审核不通过</option>
<option value="4">作废</option>
<option value="5">撤销</option>
</select>
</div>
<label class="layui-form-label">申请时间</label>
<div class="layui-input-inline">
<input type="text" id="applyTime" name="applyTime" placeholder="请选择申请时间" class="layui-input" />
</div>
<button type="reset" class="layui-btn layui-btn-primary list-form-search"><language showName="com.skyeye.reset"></language></button>
<button class="layui-btn list-form-search" lay-submit lay-filter="formSearch"><language showName="com.skyeye.search2"></language></button>
</div>
</div>
</form>
</div>
<div class="winui-toolbar">
<div class="winui-tool" style="text-align: left;">
<button id="reloadTable" class="winui-toolbtn"><i class="fa fa-refresh" aria-hidden="true"></i><language showName="com.skyeye.refreshDataBtn"></language></button>
<button id="addBean" class="winui-toolbtn" auth="1618112042591"><i class="fa fa-plus" aria-hidden="true"></i>销假申请</button>
</div>
</div>
<div style="margin:auto 10px;">
<table id="messageTable" lay-filter="messageTable"></table>
<script type="text/html" id="messageTableBar">
{{# if(d.state == '0' || d.state == '3' || d.state == '5'){ }}
{{# if(auth('1618112063022')){ }}
<a class="layui-btn layui-btn-xs" lay-event="subApproval">提交审批</a>
{{# } }}
{{# if(auth('1618112071386')){ }}
<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="cancellation">作废</a>
{{# } }}
{{# } }}
{{# if(d.editRow == '1' || d.editRow == '2'){ }}
{{# if(auth('1618112051995')){ }}
<a class="layui-btn layui-btn-xs" lay-event="edit"><language showName="com.skyeye.editBtn"></language></a>
{{# } }}
{{# } }}
{{# if(d.editRow == '2'){ }}
{{# if(auth('1618112082353')){ }}
<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="revoke">撤销</a>
{{# } }}
{{# } }}
</script>
<div class="winui-tip alert-info" id="showInfo">
销假申请只能销已经申请的请假时间段,如果销为申请的日期,则会默认审核不通过(如果销年假,则会退还对应的年假)。
</div>
<div class="winui-toolbar">
<div class="winui-tool">
<button id="reloadTable" class="winui-toolbtn search-table-btn-right"><i class="fa fa-refresh" aria-hidden="true"></i><language showName="com.skyeye.refreshDataBtn"></language></button>
<button id="addBean" class="winui-toolbtn search-table-btn-right" auth="1618112042591"><i class="fa fa-plus" aria-hidden="true"></i>销假申请</button>
</div>
</div>
<div style="margin:auto 10px;">
<table id="messageTable" lay-filter="messageTable"></table>
<script type="text/html" id="messageTableBar">
{{# if(d.editRow == '1'){ }}
{{# if(auth('1618112063022')){ }}
<a class="layui-btn layui-btn-xs" lay-event="subApproval">提交审批</a>
{{# } }}
{{# if(auth('1618112071386')){ }}
<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="cancellation">作废</a>
{{# } }}
{{# if(auth('1618112042591')){ }}
<a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="edit"><language showName="com.skyeye.editBtn"></language></a>
{{# } }}
{{# } }}
{{# if(d.editRow == '2'){ }}
{{# if(auth('1618112082353')){ }}
<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="revoke">撤销</a>
{{# } }}
{{# } }}
</script>
</div>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册