first commit

This commit is contained in:
2026-07-23 09:40:36 +08:00
commit 090abf48fa
989 changed files with 145728 additions and 0 deletions
+93
View File
@@ -0,0 +1,93 @@
{extend name="../../base/view/common/base" /}
<!-- 主体 -->
{block name="body"}
<form class="layui-form p-page" lay-filter="form-leaves">
<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>
</tr>
<tr>
<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>
<td class="layui-td-gray">请假类型<font>*</font></td>
<td>
<select name="types" lay-verify="required" lay-reqText="请选择请假类型">
<option value="">--请选择--</option>
{volist name=":get_leaves_types(1)" id="vo"}
{empty name="$detail"}
<option value="{$vo.id}">{$vo.title}</option>
{else/}
<option value="{$vo.id}" {eq name="$detail.types" value="$vo.id"} selected{/eq}>{$vo.title}</option>
{/empty}
{/volist}
</select>
</td>
</tr>
<tr>
<td class="layui-td-gray">请假事由<font>*</font></td>
<td colspan="3"><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="3">
<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>
const moduleInit = ['tool','uploadPlus','oaCheck'];
function gouguInit() {
var form = layui.form,tool=layui.tool,uploadPlus=layui.uploadPlus,oaCheck=layui.oaCheck;
oaCheck.init({
check_name:'leaves',
check_btn:0
});
var fileUp = new uploadPlus();
//监听提交
form.on('submit(webform)', function (data) {
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 = 'leaves';
data.field.action_id = e.data.return_id;
oaCheck.submit(data.field,checkCallback);
}
}
let clickbtn = $(this);
tool.post("/home/leaves/add", data.field, callback,clickbtn);
return false;
});
}
</script>
{/block}
<!-- /脚本 -->
+86
View File
@@ -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}
<!-- /脚本 -->
+54
View File
@@ -0,0 +1,54 @@
{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} {$detail.start_span_name}</td>
<td class="layui-td-gray">结束时间</td>
<td>{$detail.end_date} {$detail.end_span_name}</td>
</tr>
<tr>
<td class="layui-td-gray">请假类型</td>
<td>{$detail.types_name}</td>
<td class="layui-td-gray">请假天数</td>
<td id="days">共{$detail.duration|default=0}天</td>
</tr>
<tr>
<td class="layui-td-gray">请假事由</td>
<td colspan="3">{$detail.reason|default=''}</td>
</tr>
{notempty name="$detail.file_ids"}
<tr>
<td class="layui-td-gray">相关附件</td>
<td colspan="3">
<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:'leaves',
});
}
</script>
{/block}
<!-- /脚本 -->