dev_oa/app/oa/view/approve/add_qingjia.html

338 lines
14 KiB
HTML

{extend name="../../base/view/common/base" /}
{block name="style"}
{include file="/approve/add_style" /}
{/block}
<!-- 主体 -->
{block name="body"}
<form class="layui-form p-4">
<h3 class="pb-3">请假申请</h3>
{eq name="$id" value="0"}
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray-2">请假类型<font>*</font></td>
<td colspan="5">
<select name="detail_type" lay-verify="required" lay-reqText="请选择请假类型">
<option value="">--请选择--</option>
<option value="1">事假</option>
<option value="2">年假</option>
<option value="3">调休假</option>
<option value="4">病假</option>
<option value="5">婚假</option>
<option value="6">丧假</option>
<option value="7">产假</option>
<option value="8">陪产假</option>
<option value="9">其他</option>
</select>
</td>
</tr>
<tr>
<td class="layui-td-gray">开始时间<font>*</font></td>
<td>
<input id="start_time_a" name="start_time_a" autocomplete="off" class="layui-input select-time" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</td>
<td>
<select lay-filter="time_b" id="start_time_b" name="start_time_b">
<option value="">--请选择--</option>
<option value="09:00">09:00</option>
<option value="09:30">09:30</option>
<option value="10:00">10:00</option>
<option value="10:30">10:30</option>
<option value="11:00">11:00</option>
<option value="11:30">11:30</option>
<option value="12:00">12:00</option>
<option value="13:30">13:30</option>
<option value="14:00">14:00</option>
<option value="14:30">14:30</option>
<option value="15:00">15:00</option>
<option value="15:30">15:30</option>
<option value="16:00">16:00</option>
<option value="16:30">16:30</option>
<option value="17:00">17:00</option>
<option value="17:30">17:30</option>
<option value="18:00">18:00</option>
</select>
</td>
<td class="layui-td-gray">结束时间<font>*</font></td>
<td>
<input id="end_time_a" name="end_time_a" autocomplete="off" class="layui-input select-time" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</td>
<td>
<input type="hidden" name="duration" value="">
<select lay-filter="time_b" id="end_time_b" name="end_time_b">
<option value="">--请选择--</option>
<option value="09:00">09:00</option>
<option value="09:30">09:30</option>
<option value="10:00">10:00</option>
<option value="10:30">10:30</option>
<option value="11:00">11:00</option>
<option value="11:30">11:30</option>
<option value="12:00">12:00</option>
<option value="13:30">13:30</option>
<option value="14:00">14:00</option>
<option value="14:30">14:30</option>
<option value="15:00">15:00</option>
<option value="15:30">15:30</option>
<option value="16:00">16:00</option>
<option value="16:30">16:30</option>
<option value="17:00">17:00</option>
<option value="17:30">17:30</option>
<option value="18:00">18:00</option>
</select>
</td>
</tr>
<tr>
<td class="layui-td-gray">请假工时</td>
<td colspan="2" id="hours">-</td>
<td class="layui-td-gray">请假天数</td>
<td colspan="2" id="days">-</td>
</tr>
<tr>
<td class="layui-td-gray">请假事由<font>*</font></td>
<td colspan="5">
<textarea name="content" placeholder="请输入请假事由" class="layui-textarea" lay-verify="required" lay-reqText="请输入请假事由"></textarea>
</td>
</tr>
<tr>
<td class="layui-td-gray"><div class="layui-input-inline">附件</div> <div class="layui-input-inline"><button type="button" class="layui-btn layui-btn-xs" id="upFile"><i class="layui-icon"></i></button></div></td>
<td colspan="5" style="line-height:inherit">
<div class="layui-row" id="fileList">
<input type="hidden" name="file_ids" value="">
</div>
</td>
</tr>
</table>
{else/}
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">请假类型<font>*</font></td>
<td colspan="5">
<select name="detail_type" lay-verify="required" lay-reqText="请选择请假类型">
<option value="">--请选择--</option>
<option value="1" {eq name="$detail.detail_type" value="1"}selected=""{/eq}>事假</option>
<option value="2" {eq name="$detail.detail_type" value="2"}selected=""{/eq}>年假</option>
<option value="3" {eq name="$detail.detail_type" value="3"}selected=""{/eq}>调休假</option>
<option value="4" {eq name="$detail.detail_type" value="4"}selected=""{/eq}>病假</option>
<option value="5" {eq name="$detail.detail_type" value="5"}selected=""{/eq}>婚假</option>
<option value="6" {eq name="$detail.detail_type" value="6"}selected=""{/eq}>丧假</option>
<option value="7" {eq name="$detail.detail_type" value="7"}selected=""{/eq}>产假</option>
<option value="8" {eq name="$detail.detail_type" value="8"}selected=""{/eq}>陪产假</option>
<option value="9" {eq name="$detail.detail_type" value="9"}selected=""{/eq}>其他</option>
</select>
</td>
</tr>
<tr>
<td class="layui-td-gray">开始时间<font>*</font></td>
<td>
<input id="start_time_a" name="start_time_a" autocomplete="off" class="layui-input select-time" value="{$detail.start_time_a}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</td>
<td>
<select lay-filter="time_b" id="start_time_b" name="start_time_b" lay-verify="required" lay-reqText="请选择具体时间">
<option value="">--请选择--</option>
<option value="09:00" {eq name="$detail.start_time_b" value="09:00"}selected=""{/eq}>09:00</option>
<option value="09:30" {eq name="$detail.start_time_b" value="09:30"}selected=""{/eq}>09:30</option>
<option value="10:00" {eq name="$detail.start_time_b" value="10:00"}selected=""{/eq}>10:00</option>
<option value="10:30" {eq name="$detail.start_time_b" value="10:30"}selected=""{/eq}>10:30</option>
<option value="11:00" {eq name="$detail.start_time_b" value="11:00"}selected=""{/eq}>11:00</option>
<option value="11:30" {eq name="$detail.start_time_b" value="11:30"}selected=""{/eq}>11:30</option>
<option value="12:00" {eq name="$detail.start_time_b" value="12:00"}selected=""{/eq}>12:00</option>
<option value="13:30" {eq name="$detail.start_time_b" value="13:30"}selected=""{/eq}>13:30</option>
<option value="14:00" {eq name="$detail.start_time_b" value="14:00"}selected=""{/eq}>14:00</option>
<option value="14:30" {eq name="$detail.start_time_b" value="14:30"}selected=""{/eq}>14:30</option>
<option value="15:00" {eq name="$detail.start_time_b" value="15:00"}selected=""{/eq}>15:00</option>
<option value="15:30" {eq name="$detail.start_time_b" value="15:30"}selected=""{/eq}>15:30</option>
<option value="16:00" {eq name="$detail.start_time_b" value="16:00"}selected=""{/eq}>16:00</option>
<option value="16:30" {eq name="$detail.start_time_b" value="16:30"}selected=""{/eq}>16:30</option>
<option value="17:00" {eq name="$detail.start_time_b" value="17:00"}selected=""{/eq}>17:00</option>
<option value="17:30" {eq name="$detail.start_time_b" value="17:30"}selected=""{/eq}>17:30</option>
<option value="18:00" {eq name="$detail.start_time_b" value="18:00"}selected=""{/eq}>18:00</option>
</select>
</td>
<td class="layui-td-gray">结束时间<font>*</font></td>
<td>
<input id="end_time_a" name="end_time_a" autocomplete="off" class="layui-input select-time" value="{$detail.end_time_a}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</td>
<td>
<input type="hidden" name="duration" value="{$detail.duration}">
<select lay-filter="time_b" id="end_time_b" name="end_time_b" lay-verify="required" lay-reqText="请选择具体时间">
<option value="">--请选择--</option>
<option value="09:00" {eq name="$detail.end_time_b" value="09:00"}selected=""{/eq}>09:00</option>
<option value="09:30" {eq name="$detail.end_time_b" value="09:30"}selected=""{/eq}>09:30</option>
<option value="10:00" {eq name="$detail.end_time_b" value="10:00"}selected=""{/eq}>10:00</option>
<option value="10:30" {eq name="$detail.end_time_b" value="10:30"}selected=""{/eq}>10:30</option>
<option value="11:00" {eq name="$detail.end_time_b" value="11:00"}selected=""{/eq}>11:00</option>
<option value="11:30" {eq name="$detail.end_time_b" value="11:30"}selected=""{/eq}>11:30</option>
<option value="12:00" {eq name="$detail.end_time_b" value="12:00"}selected=""{/eq}>12:00</option>
<option value="13:30" {eq name="$detail.end_time_b" value="13:30"}selected=""{/eq}>13:30</option>
<option value="14:00" {eq name="$detail.end_time_b" value="14:00"}selected=""{/eq}>14:00</option>
<option value="14:30" {eq name="$detail.end_time_b" value="14:30"}selected=""{/eq}>14:30</option>
<option value="15:00" {eq name="$detail.end_time_b" value="15:00"}selected=""{/eq}>15:00</option>
<option value="15:30" {eq name="$detail.end_time_b" value="15:30"}selected=""{/eq}>15:30</option>
<option value="16:00" {eq name="$detail.end_time_b" value="16:00"}selected=""{/eq}>16:00</option>
<option value="16:30" {eq name="$detail.end_time_b" value="16:30"}selected=""{/eq}>16:30</option>
<option value="17:00" {eq name="$detail.end_time_b" value="17:00"}selected=""{/eq}>17:00</option>
<option value="17:30" {eq name="$detail.end_time_b" value="17:30"}selected=""{/eq}>17:30</option>
<option value="18:00" {eq name="$detail.end_time_b" value="18:00"}selected=""{/eq}>18:00</option>
</select>
</td>
</tr>
<tr>
<td class="layui-td-gray">请假工时</td>
<td colspan="2" id="hours">共{$detail.duration}工时</td>
<td class="layui-td-gray">请假天数</td>
<td colspan="2" id="days">共{$detail.days}天,{$detail.hours}小时</td>
</tr>
<tr>
<td class="layui-td-gray">请假事由<font>*</font></td>
<td colspan="5">
<textarea name="content" placeholder="请输入请假事由" class="layui-textarea" lay-verify="required" lay-reqText="请输入请假事由">{$detail.content}</textarea>
</td>
</tr>
<tr>
<td class="layui-td-gray"><div class="layui-input-inline">附件</div> <div class="layui-input-inline"><button type="button" class="layui-btn layui-btn-xs" id="upFile"><i class="layui-icon"></i></button></div></td>
<td colspan="5" style="line-height:inherit">
<div class="layui-row" id="fileList">
<input type="hidden" name="file_ids" value="{$detail.file_ids}">
{notempty name="$detail.file_ids"}
{volist name="$detail.fileArray" id="vo"}
<div class="layui-col-md4" id="uploadImg{$vo.id}">
<div class="file-card">
<i class="file-icon iconfont icon-renwuguanli"></i>
<div class="file-title">{$vo.name}</div>
<div class="file-tool">
<a href="{$vo.filepath}" download="{$vo.name}" target="_blank" title="下载查看"><i class="iconfont icon-shujudaoru blue"></i></a>
<i class="btn-delete iconfont icon-shanchu red" data-id="{$vo.id}" title="删除"></i>
</div>
</div>
</div>
{/volist}
{/notempty}
</div>
</td>
</tr>
</table>
{/eq}
{include file="/approve/add_flow" /}
</form>
{/block}
<!-- /主体 -->
<!-- 脚本 -->
{block name="script"}
<script>
/**
* 工时计算
*/
function leaveTime() {
var data_1 = $('#start_time_a').val();
var data_1_1 = $('#start_time_b').val();
var data_2 = $('#end_time_a').val();
var data_2_1 = $('#end_time_b').val();
if(data_1=='' || data_1_1=='' || data_2=='' || data_2_1==''){
return 0;
}
var start_date = data_1+' '+data_1_1;
var end_date = data_2+' '+data_2_1;
var start = new Date(start_date.replace(/-/g,'/'));
var end = new Date(end_date.replace(/-/g,'/'));
var startHour = start.getHours(); //16
var startMin = start.getMinutes();
var endHour = end.getHours();
var endMin = end.getMinutes();
var startDate = start.setHours(0, 0, 0);
var endDate = end.setHours(0, 0, 0);
if(endDate<startDate){
return 0;
}
var dayNum = parseInt(Math.abs(endDate - startDate) / 1000 / 60 / 60 / 24);
var hour = 0;
if (startDate == endDate) {
var date = new Date(startDate);
var week = date.getDay();
if (week != 0 && week != 6) {
hour= (endHour-startHour)*10-startMin/6+endMin/6;
if (startHour <= 12 && endHour>12) {
hour= hour-15;
}
}
} else {
for (var i = 0; i <= dayNum; i++) {
var DateTime = startDate + 60 * 60 * 24 * 1000*i
var date = new Date(DateTime);
var week = date.getDay();
if (week != 0 && week != 6) {
if (DateTime == startDate) {
hour+= (18-startHour)*10-(startMin/6);
if (startHour <= 12) {
hour= hour-15;
}
} else if (DateTime > startDate && DateTime < endDate) {
hour += 75;
} else if (DateTime == endDate){
hour+= (endHour-9)*10+endMin/6;
if (endHour > 12) {
hour= hour-15;
}
}
}
}
}
if(hour<0){
hour=0;
}
return hour;
}
const moduleInit = ['tool','employeepicker'];
function gouguInit() {
var form = layui.form,
tool=layui.tool,
laydate = layui.laydate;
if (typeof (flowStep) == "function") {
flowStep();
}
//日期时间范围
lay('.select-time').each(function () {
laydate.render({
elem: this,
trigger: 'click',
done:function(){
var hours = leaveTime();
if(hours == 0){
$('#hours,#days').html('-');
}
else{
$('#hours').html('共'+hours/10+'小时');
var days = 0;
if(hours>=75){
days = parseInt(hours/75);
}
$('#days').html('共'+days+'天,'+(hours%75)/10+'小时');
}
$('[name="duration"]').val(hours/10);
}
});
});
form.on('select(time_b)', function(data){
var hours = leaveTime();
if(hours == 0){
$('#hours,#days').html('-');
}
else{
$('#hours').html('共'+hours/10+'小时');
var days = 0;
if(hours>=75){
days = parseInt(hours/75);
}
$('#days').html('共'+days+'天,'+(hours%75)/10+'小时');
}
$('[name="duration"]').val(hours/10);
});
}
</script>
{/block}
<!-- /脚本 -->