审批新增按日期、申请人、审批类型查询

This commit is contained in:
hdm 2023-02-15 23:38:27 +08:00
parent c5225d7aa8
commit 470fa1fe0b
3 changed files with 156 additions and 15 deletions

View File

@ -84,8 +84,24 @@ class Approve extends BaseController
//查询条件
$map1 = [];
$map2 = [];
$map1[] = ['', 'exp', Db::raw("FIND_IN_SET('{$user_id}',check_admin_ids)")];
$map2[] = ['', 'exp', Db::raw("FIND_IN_SET('{$user_id}',flow_admin_ids)")];
$map1[] = ['', 'exp', Db::raw("FIND_IN_SET('{$user_id}',f.check_admin_ids)")];
$map2[] = ['', 'exp', Db::raw("FIND_IN_SET('{$user_id}',f.flow_admin_ids)")];
if (!empty($param['type'])) {
$map1[] = ['f.type', '=', $param['type']];
$map2[] = ['f.type', '=', $param['type']];
}
if (!empty($param['uid'])) {
$map1[] = ['f.admin_id', '=', $param['uid']];
$map2[] = ['f.admin_id', '=', $param['uid']];
}
//按时间检索
$start_time = isset($param['start_time']) ? strtotime($param['start_time']) : 0;
$end_time = isset($param['end_time']) ? strtotime($param['end_time']) : 0;
if ($start_time > 0 && $end_time > 0) {
$map1[] = ['f.create_time', 'between', [$start_time, $end_time]];
$map2[] = ['f.create_time', 'between', [$start_time, $end_time]];
}
$rows = empty($param['limit']) ? get_config('app.page_size') : $param['limit'];
@ -155,6 +171,8 @@ class Approve extends BaseController
}
return table_assign(0, '', $list);
} else {
$type = Db::name('FlowType')->whereOr('status',1)->select()->toArray();
View::assign('type', $type);
return view();
}
}
@ -166,8 +184,21 @@ class Approve extends BaseController
$user_id = $this->uid;
//查询条件
$map = [];
$map[] = ['check_status', '=', 2];
$map[] = ['', 'exp', Db::raw("FIND_IN_SET('{$user_id}',copy_uids)")];
$map[] = ['f.check_status', '=', 2];
$map[] = ['', 'exp', Db::raw("FIND_IN_SET('{$user_id}',f.copy_uids)")];
if (!empty($param['type'])) {
$map[] = ['f.type', '=', $param['type']];
}
if (!empty($param['uid'])) {
$map[] = ['f.admin_id', '=', $param['uid']];
}
//按时间检索
$start_time = isset($param['start_time']) ? strtotime($param['start_time']) : 0;
$end_time = isset($param['end_time']) ? strtotime($param['end_time']) : 0;
if ($start_time > 0 && $end_time > 0) {
$map[] = ['f.create_time', 'between', [$start_time, $end_time]];
}
$rows = empty($param['limit']) ? get_config('app.page_size') : $param['limit'];
$list = Db::name('Approve')
->field('f.*,a.name,d.title as department_name,t.title as flow_type')
@ -190,6 +221,8 @@ class Approve extends BaseController
});
return table_assign(0, '', $list);
} else {
$type = Db::name('FlowType')->whereOr('status',1)->select()->toArray();
View::assign('type', $type);
return view();
}
}

View File

@ -2,6 +2,31 @@
<!-- 主体 -->
{block name="body"}
<div class="p-3">
<form class="layui-form gg-form-bar border-x" lay-filter="barsearchform" id="barsearchform">
<div class="layui-input-inline" style="width:150px;">
<select name="type">
<option value="">选择审批类别</option>
{volist name="type" id="vo"}
<option value="{$vo.id}">{$vo.title}</option>
{/volist}
</select>
</div>
<div class="layui-input-inline" style="width:150px;">
<input type="text" name="username" placeholder="选择申请人" class="layui-input picker-one" readonly>
<input type="text" name="uid" value="" style="display:none" />
</div>
<div id="barDate" class="layui-input-inline">
<div class="layui-input-inline" style="width:120px;">
<input type="text" class="layui-input" id="start_time" placeholder="申请时间区间" readonly name="start_time">
</div>
~
<div class="layui-input-inline" style="width:120px;">
<input type="text" class="layui-input" id="end_time" placeholder="申请时间区间" readonly name="end_time">
</div>
</div>
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">提交搜索</button>
<button type="reset" class="layui-btn layui-btn-reset" lay-filter="clear">清空</button>
</form>
<table class="layui-hide" id="test" lay-filter="test"></table>
</div>
<script type="text/html" id="toolbarDemo">
@ -13,9 +38,38 @@
<!-- 脚本 -->
{block name="script"}
<script>
const moduleInit = ['tool'];
const moduleInit = ['tool','employeepicker'];
function gouguInit() {
var table = layui.table, tool = layui.tool;
var form = layui.form,table = layui.table, tool = layui.tool ,element=layui.element,laydate = layui.laydate;
$('[lay-filter="clear"]').on('click',function(){
setTimeout(function(){
$('[lay-filter="webform"]').click();
},10)
});
//日期范围
laydate.render({
elem: '#barDate',
range: ['#start_time', '#end_time']
});
//监听搜索提交
form.on('submit(webform)', function(data) {
layui.pageTable.reload({
where: {
status: data.field.tab,
type: data.field.type,
start_time:data.field.start_time,
end_time:data.field.end_time,
uid: data.field.uid
},
page: {
curr: 1
}
});
return false;
});
layui.pageTable = table.render({
elem: '#test'
,toolbar: '#toolbarDemo'

View File

@ -2,18 +2,41 @@
<!-- 主体 -->
{block name="body"}
<div class="p-3">
<div class="layui-card">
<div class="layui-card border-x border-t" style="margin-bottom:0; box-shadow:0 0 0 0 rgb(5 32 96 / 0%)">
<div class="body-table layui-tab layui-tab-brief" lay-filter="tab">
<ul class="layui-tab-title">
<li class="layui-this">全部</li>
<li>待我审批</li>
<li>我已审批</li>
</ul>
<div class="layui-tab-content" style="padding:0">
</div>
</div>
<form class="layui-form gg-form-bar border-x" lay-filter="barsearchform" id="barsearchform">
<div class="layui-input-inline" style="width:150px;">
<select name="type">
<option value="">选择审批类别</option>
{volist name="type" id="vo"}
<option value="{$vo.id}">{$vo.title}</option>
{/volist}
</select>
</div>
<div class="layui-input-inline" style="width:150px;">
<input type="text" name="username" placeholder="选择申请人" class="layui-input picker-one" readonly>
<input type="text" name="uid" value="" style="display:none" />
</div>
<div id="barDate" class="layui-input-inline">
<div class="layui-input-inline" style="width:120px;">
<input type="text" class="layui-input" id="start_time" placeholder="申请时间区间" readonly name="start_time">
</div>
~
<div class="layui-input-inline" style="width:120px;">
<input type="text" class="layui-input" id="end_time" placeholder="申请时间区间" readonly name="end_time">
</div>
</div>
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">提交搜索</button>
<button type="reset" class="layui-btn layui-btn-reset" lay-filter="clear">清空</button>
</form>
<table class="layui-hide" id="test" lay-filter="test"></table>
</div>
</div>
</div>
</div>
<script type="text/html" id="toolbarDemo">
<h3 class="h3-title" style="height:28px;">审批列表</h3>
@ -24,15 +47,46 @@
<!-- 脚本 -->
{block name="script"}
<script>
const moduleInit = ['tool'];
const moduleInit = ['tool','employeepicker'];
function gouguInit() {
var table = layui.table, tool = layui.tool ,element=layui.element;
var form = layui.form,table = layui.table, tool = layui.tool ,element=layui.element,laydate = layui.laydate;
$('[lay-filter="clear"]').on('click',function(){
setTimeout(function(){
$('[lay-filter="webform"]').click();
},10)
});
//日期范围
laydate.render({
elem: '#barDate',
range: ['#start_time', '#end_time']
});
element.on('tab(tab)', function(data){
$('[name="tab"]').val(data.index);
$("#barsearchform")[0].reset();
layui.pageTable.reload({where:{status:data.index},page:{curr:1}});
return false;
});
//监听搜索提交
form.on('submit(webform)', function(data) {
layui.pageTable.reload({
where: {
status: data.field.tab,
type: data.field.type,
start_time:data.field.start_time,
end_time:data.field.end_time,
uid: data.field.uid
},
page: {
curr: 1
}
});
return false;
});
layui.pageTable = table.render({
elem: '#test'
,toolbar: '#toolbarDemo'