优化:审批日期选择操作优化,工时计算优化。

This commit is contained in:
HDM58\hdm58 2023-06-14 18:18:52 +08:00
parent 307d2ec30a
commit 3bdfe60443
11 changed files with 215 additions and 596 deletions

View File

@ -35,7 +35,7 @@
,cols: [[
{field:'id',width:80, title: 'ID号', align:'center'}
,{field: 'sort', title: '排序',align:'center', width:80}
,{field:'title', edit:'text',width:240, title: '分类名称'}
,{field:'title', width:240, title: '分类名称'}
,{field:'pid', title: '父级ID', width:80, align:'center'}
,{field:'desc', title: '描述', }
,{width:160,title: '操作', align:'center',templet: function(d){

View File

@ -399,8 +399,8 @@ class Approve extends BaseController
$detail['end_time_b'] = date('H:i',$detail['end_time']);
$detail['detail_time'] = date('Y-m-d',$detail['detail_time']);
$detail['days'] = floor($detail['duration']*10/75);
$detail['hours'] = (($detail['duration']*10)%75)/10;
$detail['days'] = floor($detail['duration']*10/80);
$detail['hours'] = (($detail['duration']*10)%80)/10;
$type = $detail['type'];
if($detail['file_ids'] !=''){
$fileArray = Db::name('File')->where('id','in',$detail['file_ids'])->select();
@ -446,8 +446,8 @@ class Approve extends BaseController
$detail['detail_time'] = date('Y-m-d',$detail['detail_time']);
}
$detail['days'] = floor($detail['duration']*10/75);
$detail['hours'] = (($detail['duration']*10)%75)/10;
$detail['days'] = floor($detail['duration']*10/80);
$detail['hours'] = (($detail['duration']*10)%80)/10;
$detail['create_user'] = Db::name('Admin')->where('id',$detail['admin_id'])->value('name');
$flows = Db::name('FlowStep')->where(['action_id'=>$detail['id'],'type'=>1,'sort'=>$detail['check_step_sort'],'delete_time'=>0])->find();

View File

@ -9,35 +9,29 @@
{eq name="$id" value="0"}
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray-2">开始时间<font>*</font></td>
<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>
<input id="start_time_b" name="start_time_b" autocomplete="off" class="layui-input select-datetime" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
<input id="start_time" name="start_time" autocomplete="off" class="layui-input select-time" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</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="">
<input id="end_time_b" name="end_time_b" autocomplete="off" class="layui-input select-datetime" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
<input id="end_time" name="end_time" autocomplete="off" class="layui-input select-time" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</td>
</tr>
<tr>
<td class="layui-td-gray">出差地点<font>*</font></td>
<td colspan="5"><input type="text" name="address" value="" autocomplete="off" placeholder="请输入出差地点" lay-verify="required" lay-reqText="请输入出差地点" class="layui-input"></td>
<td colspan="3"><input type="text" name="address" value="" autocomplete="off" placeholder="请输入出差地点" lay-verify="required" lay-reqText="请输入出差地点" class="layui-input"></td>
</tr>
<tr>
<td class="layui-td-gray">出差事由<font>*</font></td>
<td colspan="5">
<td colspan="3">
<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">
<td colspan="3" style="line-height:inherit">
<div class="layui-row" id="fileList">
<input type="hidden" data-type="file" name="file_ids" value="">
</div>
@ -47,35 +41,29 @@
{else/}
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray-2">开始时间<font>*</font></td>
<td class="layui-td-gray">开始时间<font>*</font></td>
<td>
<input id="start_time_a" name="start_time_a" autocomplete="off" readonly class="layui-input select-time" value="{$detail.start_time_a}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</td>
<td>
<input id="start_time_b" name="start_time_b" autocomplete="off" class="layui-input select-datetime" value="{$detail.start_time_b}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
<input id="start_time" name="start_time" autocomplete="off" class="layui-input select-time" value="{$detail.start_time|date='Y-m-d H:i:s'}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</td>
<td class="layui-td-gray">结束时间<font>*</font></td>
<td>
<input id="end_time_a" name="end_time_a" autocomplete="off" readonly 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}">
<input id="end_time_b" name="end_time_b" autocomplete="off" class="layui-input select-datetime" value="{$detail.end_time_b}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
<input type="hidden" name="duration" value="">
<input id="end_time" name="end_time" autocomplete="off" class="layui-input select-time" value="{$detail.end_time|date='Y-m-d H:i:s'}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</td>
</tr>
<tr>
<td class="layui-td-gray">出差地点<font>*</font></td>
<td colspan="5"><input type="text" name="address" value="{$detail.address}" autocomplete="off" placeholder="请输入出差地点" lay-verify="required" lay-reqText="请输入出差地点" class="layui-input"></td>
<td colspan="3"><input type="text" name="address" value="{$detail.address}" autocomplete="off" placeholder="请输入出差地点" lay-verify="required" lay-reqText="请输入出差地点" class="layui-input"></td>
</tr>
<tr>
<td class="layui-td-gray">出差事由<font>*</font></td>
<td colspan="5">
<td colspan="3">
<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">
<td colspan="3" style="line-height:inherit">
<div class="layui-row" id="fileList">
<input type="hidden" name="file_ids" data-type="file" value="{$detail.file_ids}">
{notempty name="$detail.file_ids"}
@ -102,44 +90,20 @@ const moduleInit = ['tool','employeepicker','oaTool'];
tool=layui.tool,
oaTool=layui.oaTool,
laydate = layui.laydate;
oaTool.addFile({
btn: 'upFile',
box: 'fileList'
});
//日期时间范围
lay('.select-time').each(function () {
laydate.render({
elem: this,
trigger: 'click'
trigger: 'click',
fullPanel:true,
type:'datetime'
});
});
//选择具体时间
lay('.select-datetime').each(function () {
laydate.render({
elem: this,
trigger: 'click',
type: 'time',
format: 'HH:mm',
btns: ['clear', 'confirm'],
ready: function (date) {
var dom = $(".laydate-time-list").children("li");
for (var i = 0; i < dom.length; i++) {
if (i == 2 || i == 5) {
$(dom[i]).remove();
} else if(i==1||i==4) {
var li = $(dom[i]).children("ol").children("li")
for (var j = 0; j < li.length; j++) {
if ($(li[j]).text() != 00 && $(li[j]).text()!=30) {
$(li[j]).remove();
}
}
}
}
},
});
});
oaTool.addFile({
btn: 'upFile',
box: 'fileList'
});
if (typeof (flowStep) == "function") {
flowStep();

View File

@ -20,23 +20,17 @@
</td>
<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>
<input id="start_time_b" name="start_time_b" autocomplete="off" class="layui-input select-datetime" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
<input id="start_time" name="start_time" autocomplete="off" class="layui-input select-time" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</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="">
<input id="end_time_b" name="end_time_b" autocomplete="off" class="layui-input select-datetime" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
<input id="end_time" name="end_time" autocomplete="off" class="layui-input select-time" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</td>
</tr>
<tr>
<td class="layui-td-gray">备注</td>
<td colspan="7">
<td colspan="5">
<textarea name="remark" placeholder="请输入备注信息" class="layui-textarea"></textarea>
</td>
</tr>
@ -55,23 +49,17 @@
</td>
<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>
<input id="start_time_b" name="start_time_b" autocomplete="off" class="layui-input select-datetime" value="{$detail.start_time_b}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
<input id="start_time" name="start_time" autocomplete="off" class="layui-input select-time" value="{$detail.start_time|date='Y-m-d H:i:s'}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</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}">
<input id="end_time_b" name="end_time_b" autocomplete="off" class="layui-input select-datetime" value="{$detail.end_time_b}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
<input type="hidden" name="duration" value="">
<input id="end_time" name="end_time" autocomplete="off" class="layui-input select-time" value="{$detail.end_time|date='Y-m-d H:i:s'}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</td>
</tr>
<tr>
<td class="layui-td-gray">备注</td>
<td colspan="7">
<td colspan="5">
<textarea name="remark" placeholder="请输入备注" class="layui-textarea">{$detail.remark}</textarea>
</td>
</tr>
@ -92,46 +80,14 @@ const moduleInit = ['tool','employeepicker'];
flowStep();
}
//日期时间范围
laydate.render({
elem: '#start_time_a',
type: 'date',
format: 'yyyy-MM-dd',
showBottom: false
});
//日期时间范围
laydate.render({
elem: '#end_time_a',
type: 'date',
format: 'yyyy-MM-dd',
showBottom: false
});
//选择具体时间
lay('.select-datetime').each(function () {
lay('.select-time').each(function () {
laydate.render({
elem: this,
trigger: 'click',
type: 'time',
format: 'HH:mm',
btns: ['clear', 'confirm'],
ready: function (date) {
var dom = $(".laydate-time-list").children("li");
for (var i = 0; i < dom.length; i++) {
if (i == 2 || i == 5) {
$(dom[i]).remove();
} else if(i==1||i==4) {
var li = $(dom[i]).children("ol").children("li")
for (var j = 0; j < li.length; j++) {
if ($(li[j]).text() != 00 && $(li[j]).text()!=30) {
$(li[j]).remove();
}
}
}
}
}
fullPanel:true,
type:'datetime'
});
});
});
}
</script>
{/block}

View File

@ -10,42 +10,36 @@
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray-2">活动名称<font>*</font></td>
<td colspan="2"><input type="text" name="name" value="" autocomplete="off" placeholder="请输入活动名称" lay-verify="required" lay-reqText="请输入活动名称" class="layui-input"></td>
<td><input type="text" name="name" value="" autocomplete="off" placeholder="请输入活动名称" lay-verify="required" lay-reqText="请输入活动名称" class="layui-input"></td>
<td class="layui-td-gray">活动预算<font>*</font></td>
<td colspan="2"><input type="text" name="amount" value="" autocomplete="off" placeholder="请输入活动预算金额" lay-verify="required|number" lay-reqText="请输入活动预算金额" class="layui-input"></td>
<td><input type="text" name="amount" value="" autocomplete="off" placeholder="请输入活动预算金额" lay-verify="required|number" lay-reqText="请输入活动预算金额" class="layui-input"></td>
</tr>
<tr>
<td class="layui-td-gray">活动说明<font>*</font></td>
<td colspan="5">
<td colspan="3">
<textarea name="content" placeholder="请输入活动说明" class="layui-textarea" lay-verify="required" lay-reqText="请输入活动说明" ></textarea>
</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>
<input id="start_time_b" name="start_time_b" autocomplete="off" class="layui-input select-datetime" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
<input id="start_time" name="start_time" autocomplete="off" class="layui-input select-time" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</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="">
<input id="end_time_b" name="end_time_b" autocomplete="off" class="layui-input select-datetime" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
<input id="end_time" name="end_time" autocomplete="off" class="layui-input select-time" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</td>
</tr>
<tr>
<td class="layui-td-gray">备注</td>
<td colspan="5">
<td colspan="3">
<textarea name="remark" placeholder="请输入备注信息" class="layui-textarea"></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">
<td colspan="3" style="line-height:inherit">
<div class="layui-row" id="fileList">
<input type="hidden" data-type="file" name="file_ids" value="">
</div>
@ -56,9 +50,9 @@
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray-2">活动名称<font>*</font></td>
<td colspan="2"><input type="text" name="name" value="{$detail.name}" autocomplete="off" placeholder="请输入活动名称" lay-verify="required" lay-reqText="请输入活动名称" class="layui-input"></td>
<td><input type="text" name="name" value="{$detail.name}" autocomplete="off" placeholder="请输入活动名称" lay-verify="required" lay-reqText="请输入活动名称" class="layui-input"></td>
<td class="layui-td-gray">活动预算<font>*</font></td>
<td colspan="2"><input type="text" name="amount" value="{$detail.amount}" autocomplete="off" placeholder="请输入活动预算金额" lay-verify="required|number" lay-reqText="请输入活动预算金额" class="layui-input"></td>
<td><input type="text" name="amount" value="{$detail.amount}" autocomplete="off" placeholder="请输入活动预算金额" lay-verify="required|number" lay-reqText="请输入活动预算金额" class="layui-input"></td>
</tr>
<tr>
<td class="layui-td-gray">活动说明<font>*</font></td>
@ -69,29 +63,23 @@
<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>
<input id="start_time_b" name="start_time_b" autocomplete="off" class="layui-input select-datetime" value="{$detail.start_time_b}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
<input id="start_time" name="start_time" autocomplete="off" class="layui-input select-time" value="{$detail.start_time|date='Y-m-d H:i:s'}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</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}">
<input id="end_time_b" name="end_time_b" autocomplete="off" class="layui-input select-datetime" value="{$detail.end_time_b}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
<input type="hidden" name="duration" value="">
<input id="end_time" name="end_time" autocomplete="off" class="layui-input select-time" value="{$detail.end_time|date='Y-m-d H:i:s'}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</td>
</tr>
<tr>
<td class="layui-td-gray">备注</td>
<td colspan="5">
<td colspan="3">
<textarea name="remark" placeholder="请输入备注" class="layui-textarea">{$detail.remark}</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">
<td colspan="3" style="line-height:inherit">
<div class="layui-row" id="fileList">
<input type="hidden" name="file_ids" data-type="file" value="{$detail.file_ids}">
{notempty name="$detail.file_ids"}
@ -127,46 +115,14 @@ const moduleInit = ['tool','employeepicker','oaTool'];
flowStep();
}
//日期时间范围
laydate.render({
elem: '#start_time_a',
type: 'date',
format: 'yyyy-MM-dd',
showBottom: false
});
//日期时间范围
laydate.render({
elem: '#end_time_a',
type: 'date',
format: 'yyyy-MM-dd',
showBottom: false
});
//选择具体时间
lay('.select-datetime').each(function () {
lay('.select-time').each(function () {
laydate.render({
elem: this,
trigger: 'click',
type: 'time',
format: 'HH:mm',
btns: ['clear', 'confirm'],
ready: function (date) {
var dom = $(".laydate-time-list").children("li");
for (var i = 0; i < dom.length; i++) {
if (i == 2 || i == 5) {
$(dom[i]).remove();
} else if(i==1||i==4) {
var li = $(dom[i]).children("ol").children("li")
for (var j = 0; j < li.length; j++) {
if ($(li[j]).text() != 00 && $(li[j]).text()!=30) {
$(li[j]).remove();
}
}
}
}
}
fullPanel:true,
type:'datetime'
});
});
});
}
</script>
{/block}

View File

@ -9,29 +9,23 @@
{eq name="$id" value="0"}
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray-2">开始时间<font>*</font></td>
<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>
<input id="start_time_b" name="start_time_b" autocomplete="off" class="layui-input select-datetime" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
<input id="start_time" name="start_time" autocomplete="off" class="layui-input select-time" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</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="">
<input id="end_time_b" name="end_time_b" autocomplete="off" class="layui-input select-datetime" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
<input id="end_time" name="end_time" autocomplete="off" class="layui-input select-time" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</td>
</tr>
<tr>
<td class="layui-td-gray">加班时长</td>
<td colspan="5" id="duration">-</td>
<td colspan="3" id="duration">-</td>
</tr>
<tr>
<td class="layui-td-gray">加班事由<font>*</font></td>
<td colspan="5">
<td colspan="3">
<textarea name="content" placeholder="请输入加班事由" class="layui-textarea" lay-verify="required" lay-reqText="请输入加班事由"></textarea>
</td>
</tr>
@ -39,20 +33,14 @@
{else/}
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray-2">开始时间<font>*</font></td>
<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>
<input id="start_time_b" name="start_time_b" autocomplete="off" class="layui-input select-datetime" value="{$detail.start_time_b}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
<input id="start_time" name="start_time" autocomplete="off" class="layui-input select-time" value="{$detail.start_time|date='Y-m-d H:i:s'}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</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}">
<input id="end_time_b" name="end_time_b" autocomplete="off" class="layui-input select-datetime" value="{$detail.end_time_b}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
<input type="hidden" name="duration" value="">
<input id="end_time" name="end_time" autocomplete="off" class="layui-input select-time" value="{$detail.end_time|date='Y-m-d H:i:s'}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</td>
</tr>
<tr>
@ -79,16 +67,11 @@
* 工时计算
*/
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==''){
var start_date = $('#start_time').val();
var end_date = $('#end_time').val();
if(start_date=='' || end_date==''){
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 diff=end.getTime() - start.getTime();//时间差的毫秒数
@ -98,7 +81,7 @@ function leaveTime() {
//计算出小时数
var hours=diff/(3600*1000);
console.log(hours);
return hours;
return hours.toFixed(1);
}
@ -114,6 +97,8 @@ const moduleInit = ['tool','employeepicker'];
laydate.render({
elem: this,
trigger: 'click',
fullPanel:true,
type:'datetime',
done:function(){
var hours = leaveTime();
if(hours == 0){
@ -127,41 +112,6 @@ const moduleInit = ['tool','employeepicker'];
});
});
//选择具体时间
lay('.select-datetime').each(function () {
laydate.render({
elem: this,
trigger: 'click',
type: 'time',
format: 'HH:mm',
btns: ['clear', 'confirm'],
ready: function (date) {
var dom = $(".laydate-time-list").children("li");
for (var i = 0; i < dom.length; i++) {
if (i == 2 || i == 5) {
$(dom[i]).remove();
} else if(i==1||i==4) {
var li = $(dom[i]).children("ol").children("li")
for (var j = 0; j < li.length; j++) {
if ($(li[j]).text() != 00 && $(li[j]).text()!=30) {
$(li[j]).remove();
}
}
}
}
},
done:function(){
var hours = leaveTime();
if(hours == 0){
$('#duration').html('-');
}
else{
$('#duration').html('共'+hours+'小时');
}
$('[name="duration"]').val(hours);
}
});
});
}
</script>
{/block}

View File

@ -10,7 +10,7 @@
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray-2">请假类型<font>*</font></td>
<td colspan="5">
<td colspan="3">
<select name="detail_type" lay-verify="required" lay-reqText="请选择请假类型">
<option value="">--请选择--</option>
<option value="1">事假</option>
@ -28,35 +28,29 @@
<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>
<input id="start_time_b" name="start_time_b" autocomplete="off" class="layui-input select-datetime" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
<input id="start_time" name="start_time" autocomplete="off" class="layui-input select-time" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</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="">
<input id="end_time_b" name="end_time_b" autocomplete="off" class="layui-input select-datetime" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
<input id="end_time" name="end_time" autocomplete="off" class="layui-input select-time" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</td>
</tr>
<tr>
<td class="layui-td-gray">请假工时</td>
<td colspan="2" id="hours">-</td>
<td id="hours">-</td>
<td class="layui-td-gray">请假天数</td>
<td colspan="2" id="days">-</td>
<td id="days">-</td>
</tr>
<tr>
<td class="layui-td-gray">请假事由<font>*</font></td>
<td colspan="5">
<td colspan="3">
<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">
<td colspan="3" style="line-height:inherit">
<div class="layui-row" id="fileList">
<input data-type="file" type="hidden" name="file_ids" value="">
</div>
@ -67,7 +61,7 @@
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">请假类型<font>*</font></td>
<td colspan="5">
<td colspan="3">
<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>
@ -85,35 +79,29 @@
<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>
<input id="start_time_b" name="start_time_b" autocomplete="off" class="layui-input select-datetime" value="{$detail.start_time_b}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
<input id="start_time" name="start_time" autocomplete="off" class="layui-input select-time" value="{$detail.start_time|date='Y-m-d H:i:s'}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</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}">
<input id="end_time_b" name="end_time_b" autocomplete="off" class="layui-input select-datetime" value="{$detail.end_time_b}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
<input type="hidden" name="duration" value="">
<input id="end_time" name="end_time" autocomplete="off" class="layui-input select-time" value="{$detail.end_time|date='Y-m-d H:i:s'}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</td>
</tr>
<tr>
<td class="layui-td-gray">请假工时</td>
<td colspan="2" id="hours">共{$detail.duration}工时</td>
<td id="hours">共{$detail.duration}工时</td>
<td class="layui-td-gray">请假天数</td>
<td colspan="2" id="days">共{$detail.days}天,{$detail.hours}小时</td>
<td id="days">共{$detail.days}天,{$detail.hours}小时</td>
</tr>
<tr>
<td class="layui-td-gray">请假事由<font>*</font></td>
<td colspan="5">
<td colspan="3">
<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">
<td colspan="3" style="line-height:inherit">
<div class="layui-row" id="fileList">
<input data-type="file" type="hidden" name="file_ids" value="{$detail.file_ids}">
{notempty name="$detail.file_ids"}
@ -137,69 +125,49 @@
/**
* 工时计算
*/
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;
}
const WORKDAY_HOURS = 8;
const START_HOUR = 9;
const END_HOUR = 18;
const START_BREAK_HOUR = 12;
const END_BREAK_HOUR = 13;
const WEEKEND_DAYS = [0, 6];
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;
function isWeekend(day) {
return WEEKEND_DAYS.includes(day);
}
function calculateWorkHours() {
var startDate = new Date($('#start_time').val());
var endDate = new Date($('#end_time').val());
const start = startDate.getTime();
const end = endDate.getTime();
const startDay = startDate.getDay();
const endDay = endDate.getDay();
let totalHours = 0;
for (let time = start; time < end; time += 3600000 /* 1 hour in milliseconds */) {
const date = new Date(time);
const dayOfWeek = date.getDay();
const hour = date.getHours();
if (!isWeekend(dayOfWeek)) {
if (dayOfWeek === startDay && hour < START_HOUR) {
continue;
} else if (dayOfWeek === endDay && hour >= END_HOUR) {
break;
} else if (hour >= START_HOUR && hour < END_HOUR) {
if (hour < START_BREAK_HOUR || hour >= END_BREAK_HOUR) {
totalHours += 1;
}
}
}
}
return totalHours;
}
const moduleInit = ['tool','employeepicker','oaTool'];
function gouguInit() {
var form = layui.form,
@ -220,61 +188,22 @@ const moduleInit = ['tool','employeepicker','oaTool'];
laydate.render({
elem: this,
trigger: 'click',
fullPanel:true,
type:'datetime',
done:function(){
var hours = leaveTime();
var hours = calculateWorkHours();
if(hours == 0){
$('#hours,#days').html('-');
}
else{
$('#hours').html('共'+hours/10+'小时');
$('#hours').html('共'+hours+'小时');
var days = 0;
if(hours>=75){
days = parseInt(hours/75);
if(hours>=8){
days = parseInt(hours/8);
}
$('#days').html('共'+days+'天,'+(hours%75)/10+'小时');
$('#days').html('共'+days+'天,'+(hours%8)+'小时');
}
$('[name="duration"]').val(hours/10);
}
});
});
//选择具体时间
lay('.select-datetime').each(function () {
laydate.render({
elem: this,
trigger: 'click',
type: 'time',
format: 'HH:mm',
btns: ['clear', 'confirm'],
ready: function (date) {
var dom = $(".laydate-time-list").children("li");
for (var i = 0; i < dom.length; i++) {
if (i == 2 || i == 5) {
$(dom[i]).remove();
} else if(i==1||i==4) {
var li = $(dom[i]).children("ol").children("li")
for (var j = 0; j < li.length; j++) {
if ($(li[j]).text() != 00 && $(li[j]).text()!=30) {
$(li[j]).remove();
}
}
}
}
},
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);
$('[name="duration"]').val(hours);
}
});
});

View File

@ -5,19 +5,4 @@
.layui-form-item .layui-btn-danger{display:none; margin-top:-8px}
.layui-form-item:hover .layui-btn-danger{display:inline-block;}
.select-1,.select-2{display:none;}
/* 设置只展示时分,隐藏秒那一列 */
.laydate-time-list {
padding-bottom: 0;
overflow: hidden;
}
.laydate-time-list > li {
width: 50% !important;
}
.laydate-time-list ol li {
width: 100% !important;
padding-left: 0 !important;
text-align: center !important;
}
</style>

View File

@ -10,40 +10,34 @@
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray-2">外出地点<font>*</font></td>
<td colspan="5"><input type="text" name="address" value="" autocomplete="off" placeholder="请输入外出地点" lay-verify="required" lay-reqText="请输入外出地点" class="layui-input"></td>
<td colspan="3"><input type="text" name="address" value="" autocomplete="off" placeholder="请输入外出地点" lay-verify="required" lay-reqText="请输入外出地点" class="layui-input"></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>
<input id="start_time_b" name="start_time_b" autocomplete="off" class="layui-input select-datetime" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
<input id="start_time" name="start_time" autocomplete="off" class="layui-input select-time" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</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="">
<input id="end_time_b" name="end_time_b" autocomplete="off" class="layui-input select-datetime" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
<input id="end_time" name="end_time" autocomplete="off" class="layui-input select-time" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</td>
</tr>
<tr>
<td class="layui-td-gray">外出时长</td>
<td colspan="2" id="hours">-</td>
<td id="hours">-</td>
<td class="layui-td-gray">外出天数</td>
<td colspan="2" id="days">-</td>
<td id="days">-</td>
</tr>
<tr>
<td class="layui-td-gray">外出事由<font>*</font></td>
<td colspan="5">
<td colspan="3">
<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">
<td colspan="3" style="line-height:inherit">
<div class="layui-row" id="fileList">
<input type="hidden" data-type="file" name="file_ids" value="">
</div>
@ -54,40 +48,34 @@
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray-2">外出地点<font>*</font></td>
<td colspan="5"><input type="text" name="address" value="{$detail.address}" autocomplete="off" placeholder="请输入外出地点" lay-verify="required" lay-reqText="请输入外出地点" class="layui-input"></td>
<td colspan="3"><input type="text" name="address" value="{$detail.address}" autocomplete="off" placeholder="请输入外出地点" lay-verify="required" lay-reqText="请输入外出地点" class="layui-input"></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>
<input id="start_time_b" name="start_time_b" autocomplete="off" class="layui-input select-datetime" value="{$detail.start_time_b}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
<input id="start_time" name="start_time" autocomplete="off" class="layui-input select-time" value="{$detail.start_time|date='Y-m-d H:i:s'}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</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}">
<input id="end_time_b" name="end_time_b" autocomplete="off" class="layui-input select-datetime" value="{$detail.end_time_b}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
<input type="hidden" name="duration" value="">
<input id="end_time" name="end_time" autocomplete="off" class="layui-input select-time" value="{$detail.end_time|date='Y-m-d H:i:s'}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</td>
</tr>
<tr>
<td class="layui-td-gray">外出时长</td>
<td colspan="2" id="hours">共{$detail.duration}工时</td>
<td id="hours">共{$detail.duration}工时</td>
<td class="layui-td-gray">外出天数</td>
<td colspan="2" id="days">共{$detail.days}天,{$detail.hours}小时</td>
<td id="days">共{$detail.days}天,{$detail.hours}小时</td>
</tr>
<tr>
<td class="layui-td-gray">外出事由<font>*</font></td>
<td colspan="5">
<td colspan="3">
<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">
<td colspan="3" style="line-height:inherit">
<div class="layui-row" id="fileList">
<input type="hidden" name="file_ids" data-type="file" value="{$detail.file_ids}">
{notempty name="$detail.file_ids"}
@ -111,67 +99,46 @@
/**
* 工时计算
*/
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;
}
const WORKDAY_HOURS = 8;
const START_HOUR = 9;
const END_HOUR = 18;
const START_BREAK_HOUR = 12;
const END_BREAK_HOUR = 13;
const WEEKEND_DAYS = [0, 6];
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();
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;
}
}
}
function isWeekend(day) {
return WEEKEND_DAYS.includes(day);
}
function calculateWorkHours() {
var startDate = new Date($('#start_time').val());
var endDate = new Date($('#end_time').val());
const start = startDate.getTime();
const end = endDate.getTime();
const startDay = startDate.getDay();
const endDay = endDate.getDay();
let totalHours = 0;
for (let time = start; time < end; time += 3600000 /* 1 hour in milliseconds */) {
const date = new Date(time);
const dayOfWeek = date.getDay();
const hour = date.getHours();
if (!isWeekend(dayOfWeek)) {
if (dayOfWeek === startDay && hour < START_HOUR) {
continue;
} else if (dayOfWeek === endDay && hour >= END_HOUR) {
break;
} else if (hour >= START_HOUR && hour < END_HOUR) {
if (hour < START_BREAK_HOUR || hour >= END_BREAK_HOUR) {
totalHours += 1;
}
}
}
if(hour<0){
hour=0;
}
return hour;
}
return totalHours;
}
const moduleInit = ['tool','employeepicker','oaTool'];
@ -194,64 +161,25 @@ const moduleInit = ['tool','employeepicker','oaTool'];
laydate.render({
elem: this,
trigger: 'click',
fullPanel:true,
type:'datetime',
done:function(){
var hours = leaveTime();
var hours = calculateWorkHours();
if(hours == 0){
$('#hours,#days').html('-');
}
else{
$('#hours').html('共'+hours/10+'小时');
$('#hours').html('共'+hours+'小时');
var days = 0;
if(hours>75){
days = parseInt(hours/75);
if(hours>=8){
days = parseInt(hours/8);
}
$('#days').html('共'+days+'天,'+(hours%75)/10+'小时');
$('#days').html('共'+days+'天,'+(hours%8)+'小时');
}
$('[name="duration"]').val(hours/10);
$('[name="duration"]').val(hours);
}
});
});
//选择具体时间
lay('.select-datetime').each(function () {
laydate.render({
elem: this,
trigger: 'click',
type: 'time',
format: 'HH:mm',
btns: ['clear', 'confirm'],
ready: function (date) {
var dom = $(".laydate-time-list").children("li");
for (var i = 0; i < dom.length; i++) {
if (i == 2 || i == 5) {
$(dom[i]).remove();
} else if(i==1||i==4) {
var li = $(dom[i]).children("ol").children("li")
for (var j = 0; j < li.length; j++) {
if ($(li[j]).text() != 00 && $(li[j]).text()!=30) {
$(li[j]).remove();
}
}
}
}
},
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);
}
});
});
}
</script>
{/block}

View File

@ -11,29 +11,23 @@
<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>
<input id="start_time_b" name="start_time_b" autocomplete="off" class="layui-input select-datetime" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
<input id="start_time" name="start_time" autocomplete="off" class="layui-input select-time" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</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="">
<input id="end_time_b" name="end_time_b" autocomplete="off" class="layui-input select-datetime" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
<input id="end_time" name="end_time" autocomplete="off" class="layui-input select-time" value="" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</td>
</tr>
<tr>
<td class="layui-td-gray">用车时长</td>
<td colspan="5" id="duration">-</td>
<td colspan="3" id="duration">-</td>
</tr>
<tr>
<td class="layui-td-gray-2">用车目的地<font>*</font></td>
<td colspan="2"><input type="text" name="address" value="" autocomplete="off" placeholder="请输入用车目的地" lay-verify="required" lay-reqText="请输入用车目的地" class="layui-input"></td>
<td><input type="text" name="address" value="" autocomplete="off" placeholder="请输入用车目的地" lay-verify="required" lay-reqText="请输入用车目的地" class="layui-input"></td>
<td class="layui-td-gray">车辆选择<font>*</font></td>
<td colspan="2">
<td>
<select name="detail_type" lay-verify="required" lay-reqText="请选择">
<option value="">--请选择--</option>
{volist name=":oa_car_cate()" id="vo"}
@ -44,7 +38,7 @@
</tr>
<tr>
<td class="layui-td-gray">用车事由<font>*</font></td>
<td colspan="5">
<td colspan="3">
<textarea name="content" placeholder="请输入用车事由" class="layui-textarea" lay-verify="required" lay-reqText="请输入用车事由"></textarea>
</td>
</tr>
@ -54,29 +48,23 @@
<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>
<input id="start_time_b" name="start_time_b" autocomplete="off" class="layui-input select-datetime" value="{$detail.start_time_b}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
<input id="start_time" name="start_time" autocomplete="off" class="layui-input select-time" value="{$detail.start_time|date='Y-m-d H:i:s'}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</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}">
<input id="end_time_b" name="end_time_b" autocomplete="off" class="layui-input select-datetime" value="{$detail.end_time_b}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
<input type="hidden" name="duration" value="">
<input id="end_time" name="end_time" autocomplete="off" class="layui-input select-time" value="{$detail.end_time|date='Y-m-d H:i:s'}" readonly lay-verify="required" placeholder="请选择时间" lay-reqText="请选择时间">
</td>
</tr>
<tr>
<td class="layui-td-gray">用车时长</td>
<td colspan="5" id="duration">共{$detail.duration}小时</td>
<td colspan="3" id="duration">共{$detail.duration}小时</td>
</tr>
<tr>
<td class="layui-td-gray-2">用车目的地<font>*</font></td>
<td colspan="2"><input type="text" name="address" value="{$detail.address}" autocomplete="off" placeholder="请输入用车目的地" lay-verify="required" lay-reqText="请输入用车目的地" class="layui-input"></td>
<td><input type="text" name="address" value="{$detail.address}" autocomplete="off" placeholder="请输入用车目的地" lay-verify="required" lay-reqText="请输入用车目的地" class="layui-input"></td>
<td class="layui-td-gray">车辆选择<font>*</font></td>
<td colspan="2">
<td>
<select name="detail_type" lay-verify="required" lay-reqText="请选择">
<option value="">--请选择--</option>
{volist name=":oa_car_cate()" id="vo"}
@ -87,7 +75,7 @@
</tr>
<tr>
<td class="layui-td-gray">用车事由<font>*</font></td>
<td colspan="5">
<td colspan="3">
<textarea name="content" placeholder="请输入用车理由" class="layui-textarea" lay-verify="required" lay-reqText="请输入用车理由">{$detail.content}</textarea>
</td>
</tr>
@ -105,16 +93,11 @@
* 工时计算
*/
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==''){
var start_date = $('#start_time').val();
var end_date = $('#end_time').val();
if(start_date=='' || end_date==''){
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 diff=end.getTime() - start.getTime();//时间差的毫秒数
@ -133,11 +116,14 @@ const moduleInit = ['tool','employeepicker'];
if (typeof (flowStep) == "function") {
flowStep();
}
//日期时间范围
lay('.select-time').each(function () {
laydate.render({
elem: this,
trigger: 'click',
fullPanel:true,
type:'datetime',
done:function(){
var hours = leaveTime();
if(hours == 0){
@ -150,42 +136,6 @@ const moduleInit = ['tool','employeepicker'];
}
});
});
//选择具体时间
lay('.select-datetime').each(function () {
laydate.render({
elem: this,
trigger: 'click',
type: 'time',
format: 'HH:mm',
btns: ['clear', 'confirm'],
ready: function (date) {
var dom = $(".laydate-time-list").children("li");
for (var i = 0; i < dom.length; i++) {
if (i == 2 || i == 5) {
$(dom[i]).remove();
} else if(i==1||i==4) {
var li = $(dom[i]).children("ol").children("li")
for (var j = 0; j < li.length; j++) {
if ($(li[j]).text() != 00 && $(li[j]).text()!=30) {
$(li[j]).remove();
}
}
}
}
},
done:function(){
var hours = leaveTime();
if(hours == 0){
$('#duration').html('-');
}
else{
$('#duration').html('共'+hours+'小时');
}
$('[name="duration"]').val(hours);
}
});
});
}
</script>
{/block}

View File

@ -311,7 +311,8 @@ layui.define([], function (exports) {
layui.laydate.render({
elem: that,
show: true,
type: type
type: type,
fullPanel: true
});
return false;
});