first commit
This commit is contained in:
@@ -0,0 +1,144 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-page" lay-filter="form-outs">
|
||||
<h3 class="pb-2">外出</h3>
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">开始时间<font>*</font></td>
|
||||
<td><input name="start_date" class="layui-input tool-time" value="{$detail.start_date|default=''}" readonly lay-verify="required" placeholder="请选择开始时间" lay-reqText="请选择开始时间" data-type="datetime" data-format="yyyy-MM-dd HH:mm"></td>
|
||||
<td class="layui-td-gray">结束时间<font>*</font></td>
|
||||
<td><input name="end_date" class="layui-input tool-time" value="{$detail.end_date|default=''}" readonly lay-verify="required" placeholder="请选择结束时间" lay-reqText="请选择结束时间" data-type="datetime" data-format="yyyy-MM-dd HH:mm"></td>
|
||||
<td class="layui-td-gray">外出天数<font>*</font></td>
|
||||
<td><input name="duration" class="layui-input" value="{$detail.duration|default=''}" lay-verify="required|number" placeholder="请输入外出天数" lay-reqText="请输入外出天数"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">外出事由<font>*</font></td>
|
||||
<td colspan="5">
|
||||
<textarea name="reason" placeholder="请输入外出事由" class="layui-textarea" lay-verify="required" lay-reqText="请输入外出事由">{$detail.reason|default=''}</textarea>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">附件 <button type="button" class="layui-btn layui-btn-xs" id="uploadBtn"><i class="layui-icon"></i></button></td>
|
||||
<td colspan="5">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
<input data-type="file" type="hidden" name="file_ids" value="{$detail.file_ids|default=''}">
|
||||
{notempty name="$detail.file_ids"}
|
||||
{volist name="$detail.file_array" id="vo"}
|
||||
<div class="layui-col-md4">{:file_card($vo)}</div>
|
||||
{/volist}
|
||||
{/notempty}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div id="checkBox" data-status="{$detail.check_status|default=0}" data-id="{$detail.id|default=0}" data-checkflowid="{$detail.check_flow_id|default=0}" class="pt-3"></div>
|
||||
<div class="pt-4">
|
||||
<input type="hidden" name="id" value="{$detail.id|default=0}">
|
||||
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">立即提交</button>
|
||||
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||
</div>
|
||||
</form>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
/*
|
||||
* 时长计算
|
||||
*/
|
||||
function daysBetweenDates(date1, date2) {
|
||||
if(date1=='' || date2==''){
|
||||
return -1;
|
||||
}
|
||||
var startDate = new Date(date1);
|
||||
var endDate = new Date(date2);
|
||||
var millisecondsPerDay = 24 * 60 * 60 * 1000;
|
||||
var differenceInMilliseconds = endDate - startDate;
|
||||
var differenceInDays = differenceInMilliseconds / millisecondsPerDay;
|
||||
return Math.round(differenceInDays);
|
||||
}
|
||||
|
||||
const moduleInit = ['tool','uploadPlus','oaCheck'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool,uploadPlus=layui.uploadPlus,laydate = layui.laydate,oaCheck=layui.oaCheck;
|
||||
oaCheck.init({
|
||||
check_name:'outs',
|
||||
check_btn:0
|
||||
});
|
||||
var fileUp = new uploadPlus();
|
||||
|
||||
//监听提交
|
||||
form.on('submit(webform)', function (data) {
|
||||
if(data.field.duration==0){
|
||||
layer.msg('外出时间选择有误');
|
||||
return false;
|
||||
}
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
let checkCallback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
tool.sideClose(1000);
|
||||
}
|
||||
}
|
||||
data.field.check_name = 'outs';
|
||||
data.field.action_id = e.data.return_id;
|
||||
oaCheck.submit(data.field,checkCallback);
|
||||
}
|
||||
}
|
||||
let clickbtn = $(this);
|
||||
tool.post("/home/outs/add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
|
||||
function countDuration(){
|
||||
var date1 = $('#start_date').val();
|
||||
var date2 = $('#end_date').val();
|
||||
let days = daysBetweenDates(date1,date2);
|
||||
if(days < 0){
|
||||
$('#duration').val(0);
|
||||
$('#days').html('-');
|
||||
}
|
||||
else{
|
||||
let formData = form.val('form-outs');
|
||||
console.log(formData);
|
||||
if(formData.start_span==1){
|
||||
days=days+1;
|
||||
}
|
||||
if(formData.start_span==2){
|
||||
days=days+0.5;
|
||||
}
|
||||
if(formData.end_span==1){
|
||||
days=days-0.5;
|
||||
}
|
||||
if(days<0){
|
||||
days=0;
|
||||
}
|
||||
$('#duration').val(days);
|
||||
$('#days').html(days);
|
||||
}
|
||||
}
|
||||
|
||||
//日期时间范围
|
||||
lay('.select-time').each(function () {
|
||||
laydate.render({
|
||||
elem: this,
|
||||
trigger: 'click',
|
||||
done:function(){
|
||||
countDuration();
|
||||
}
|
||||
});
|
||||
});
|
||||
form.on('radio(start-span)',function(data){
|
||||
countDuration();
|
||||
});
|
||||
form.on('radio(end-span)',function(data){
|
||||
countDuration();
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,86 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
|
||||
<div class="p-page">
|
||||
<form class="layui-form gg-form-bar border-t border-x" lay-filter="barsearchform">
|
||||
<div class="layui-input-inline" style="width:300px">
|
||||
<input type="text" name="keywords" placeholder="关键字" class="layui-input" autocomplete="off" />
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:150px">
|
||||
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="table-search"><i class="layui-icon layui-icon-search mr-1"></i>搜索</button>
|
||||
<button type="reset" class="layui-btn layui-btn-reset" lay-filter="table-reset">清空</button>
|
||||
</div>
|
||||
</form>
|
||||
<table class="layui-hide" id="table_leaves" lay-filter="table_leaves"></table>
|
||||
</div>
|
||||
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-group">
|
||||
<button class="layui-btn layui-btn-sm tool-add" type="button" data-href="/home/leaves/add">+ 添加请假</button>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool','tablePlus'];
|
||||
function gouguInit() {
|
||||
var table = layui.tablePlus, tool = layui.tool;
|
||||
|
||||
layui.pageTable = table.render({
|
||||
elem: "#table_leaves"
|
||||
, toolbar: "#toolbarDemo"
|
||||
,url: "/home/leaves/datalist"
|
||||
,page: true
|
||||
,limit: 20
|
||||
,cellMinWidth: 80
|
||||
,height: 'full-114'
|
||||
,cols: [[
|
||||
{field:'id',width:80, title: 'ID号', align:'center'}
|
||||
,{field:'title',title: '名称'}
|
||||
,{field:'admin_name',title: '创建人',width:90,align:'center'}
|
||||
,{field:'create_time', title: '创建时间',width:150,align:'center'}
|
||||
,{width:120,fixed:'right',title: '操作', align:'center',ignoreExport:true,templet: function(d){
|
||||
var html='';
|
||||
var btn1='<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">详细</a>';
|
||||
var btn2='<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>';
|
||||
var btn3='<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>';
|
||||
html = '<div class="layui-btn-group">'+btn1+btn2+btn3+'</div>';
|
||||
return html;
|
||||
}}
|
||||
]]
|
||||
});
|
||||
|
||||
table.on('tool(table_leaves)',function (obj) {
|
||||
var checkStatus = table.checkStatus(obj.config.id); //获取选中行状态
|
||||
var data = obj.data;
|
||||
if (obj.event === 'view') {
|
||||
tool.side("/home/leaves/view?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'edit') {
|
||||
tool.side("/home/leaves/add?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'del') {
|
||||
layer.confirm('确定要删除该内容吗?', { icon: 3, title: '提示' }, function (index) {
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
obj.del();
|
||||
}
|
||||
}
|
||||
tool.delete("/home/leaves/del", { id: data.id }, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,50 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="p-page">
|
||||
<h3 class="pb-2">外出详情</h3>
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">开始时间</td>
|
||||
<td>{$detail.start_date}</td>
|
||||
<td class="layui-td-gray">结束时间</td>
|
||||
<td>{$detail.end_date}</td>
|
||||
<td class="layui-td-gray">外出天数</td>
|
||||
<td>共{$detail.duration|default=0}天</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">外出事由</td>
|
||||
<td colspan="5">{$detail.reason|default=''}</td>
|
||||
</tr>
|
||||
{notempty name="$detail.file_ids"}
|
||||
<tr>
|
||||
<td class="layui-td-gray">相关附件</td>
|
||||
<td colspan="5">
|
||||
<div class="layui-row">
|
||||
{volist name="$detail.file_array" id="vo"}
|
||||
<div class="layui-col-md4">{:file_card($vo,'view')}</div>
|
||||
{/volist}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{/notempty}
|
||||
</table>
|
||||
<div id="checkBox" data-status="{$detail.check_status}" data-id="{$detail.id}" data-checkflowid="{$detail.check_flow_id}" class="pt-3"></div>
|
||||
</div>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
var moduleInit = ['tool','oaCheck'];
|
||||
|
||||
function gouguInit() {
|
||||
var tool = layui.tool,oaCheck = layui.oaCheck;
|
||||
//审批相关
|
||||
oaCheck.init({
|
||||
check_name:'outs',
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
Reference in New Issue
Block a user