1优化:财务管理、项目管理各个数据列表时间区间的筛选操作

2修复:财务管理中的发票管理的抄送给我的列表搜索时查询条件错误的问题
This commit is contained in:
HDM58\hdm58 2023-10-09 11:12:19 +08:00
parent 6f52406408
commit 6a4bdd9bd5
14 changed files with 133 additions and 243 deletions

View File

@ -31,8 +31,10 @@ class Chance extends BaseController
if (!empty($param['stage'])) { if (!empty($param['stage'])) {
$where[] = ['a.stage', '=', $param['stage']]; $where[] = ['a.stage', '=', $param['stage']];
} }
if (!empty($param['start_date']) && !empty($param['end_date'])) { //按时间检索
$where[] = ['a.expected_time', 'BETWEEN', [strtotime($param['start_date']),strtotime($param['end_date'])]]; if (!empty($param['diff_time'])) {
$diff_time =explode('~', $param['diff_time']);
$where[] = ['a.expected_time', 'between', [strtotime(urldecode($diff_time[0])),strtotime(urldecode($diff_time[1]))]];
} }
$where[] = ['a.delete_time', '=', 0]; $where[] = ['a.delete_time', '=', 0];

View File

@ -14,14 +14,8 @@
{/volist} {/volist}
</select> </select>
</div> </div>
<div class="layui-input-inline" id="selectDate"> <div class="layui-input-inline" style="width:300px;">
<div class="layui-input-inline" style="width:110px; margin-bottom:0"> <input type="text" class="layui-input" id="diff_time" placeholder="预计签单时间" readonly name="diff_time">
<input type="text" autocomplete="off" name="start_date" id="startDate" class="layui-input" placeholder="预计签单时间">
</div>
<div class="layui-input-inline">-</div>
<div class="layui-input-inline" style="width:110px; margin-bottom:0;">
<input type="text" autocomplete="off" name="end_date" id="endDate" class="layui-input" placeholder="预计签单时间">
</div>
</div> </div>
<div class="layui-input-inline" style="width:120px;"> <div class="layui-input-inline" style="width:120px;">
<input type="text" name="username" placeholder="请选择归属人" class="layui-input picker-one" autocomplete="off" /> <input type="text" name="username" placeholder="请选择归属人" class="layui-input picker-one" autocomplete="off" />
@ -40,16 +34,11 @@
<!-- 脚本 --> <!-- 脚本 -->
{block name="script"} {block name="script"}
<script> <script>
const moduleInit = ['tool','employeepicker']; const moduleInit = ['tool','employeepicker','laydatePlus'];
function gouguInit() { function gouguInit() {
var table = layui.table, tool = layui.tool, form = layui.form,laydate=layui.laydate; var table = layui.table, tool = layui.tool, form = layui.form,laydatePlus=layui.laydatePlus;
//日期范围 //日期范围
laydate.render({ var diff_time = new laydatePlus({'target':'diff_time'});
elem: '#selectDate'
,range: ['#startDate', '#endDate']
,rangeLinked:true
});
layui.pageTable = table.render({ layui.pageTable = table.render({
elem: '#test' elem: '#test'
@ -107,16 +96,8 @@
//监听搜索提交 //监听搜索提交
form.on('submit(webform)', function(data) { form.on('submit(webform)', function(data) {
layui.pageTable.reload({ layui.pageTable.reload({
where: { where: data.field,
keywords: data.field.keywords, page: {curr: 1}
stage: data.field.stage,
uid: data.field.uid,
start_date: data.field.start_date,
end_date: data.field.end_date
},
page: {
curr: 1
}
}); });
return false; return false;
}); });

View File

@ -25,10 +25,9 @@ class Expense extends BaseController
$where = []; $where = [];
$where[] = ['delete_time', '=', 0]; $where[] = ['delete_time', '=', 0];
//按时间检索 //按时间检索
$start_time = !empty($param['start_time']) ? strtotime(urldecode($param['start_time'])) : 0; if (!empty($param['diff_time'])) {
$end_time = !empty($param['end_time']) ? strtotime(urldecode($param['end_time'])) : 0; $diff_time =explode('~', $param['diff_time']);
if ($start_time > 0 && $end_time > 0) { $where[] = ['expense_time', 'between', [strtotime(urldecode($diff_time[0])),strtotime(urldecode($diff_time[1]))]];
$where[] = ['expense_time', 'between', [$start_time, $end_time]];
} }
$where[] = ['admin_id','=',$this->uid]; $where[] = ['admin_id','=',$this->uid];
@ -85,10 +84,9 @@ class Expense extends BaseController
//查询条件 //查询条件
$map = []; $map = [];
//按时间检索 //按时间检索
$start_time = !empty($param['start_time']) ? strtotime(urldecode($param['start_time'])) : 0; if (!empty($param['diff_time'])) {
$end_time = !empty($param['end_time']) ? strtotime(urldecode($param['end_time'])) : 0; $diff_time =explode('~', $param['diff_time']);
if ($start_time > 0 && $end_time > 0) { $map[] = ['expense_time', 'between', [strtotime(urldecode($diff_time[0])),strtotime(urldecode($diff_time[1]))]];
$map[] = ['expense_time', 'between', [$start_time, $end_time]];
} }
$map[] = ['check_status', 'in', [2,3,5]]; $map[] = ['check_status', 'in', [2,3,5]];
$map[] = ['', 'exp', Db::raw("FIND_IN_SET('{$user_id}',copy_uids)")]; $map[] = ['', 'exp', Db::raw("FIND_IN_SET('{$user_id}',copy_uids)")];
@ -113,10 +111,9 @@ class Expense extends BaseController
$where[] = ['check_status','in',[2,5]]; $where[] = ['check_status','in',[2,5]];
} }
//按时间检索 //按时间检索
$start_time = !empty($param['start_time']) ? strtotime(urldecode($param['start_time'])) : 0; if (!empty($param['diff_time'])) {
$end_time = !empty($param['end_time']) ? strtotime(urldecode($param['end_time'])) : 0; $diff_time =explode('~', $param['diff_time']);
if ($start_time > 0 && $end_time > 0) { $where[] = ['expense_time', 'between', [strtotime(urldecode($diff_time[0])),strtotime(urldecode($diff_time[1]))]];
$where[] = ['expense_time', 'between', [$start_time, $end_time]];
} }
$model = new ExpenseList; $model = new ExpenseList;
$list = $model->get_list($param,$where); $list = $model->get_list($param,$where);

View File

@ -27,10 +27,9 @@ class Income extends BaseController
$where[] = ['delete_time', '=', 0]; $where[] = ['delete_time', '=', 0];
$where[] = ['check_status', '=', 5]; $where[] = ['check_status', '=', 5];
//按时间检索 //按时间检索
$start_time = isset($param['start_time']) ? strtotime(urldecode($param['start_time'])) : 0; if (!empty($param['diff_time'])) {
$end_time = isset($param['end_time']) ? strtotime(urldecode($param['end_time'])) : 0; $diff_time =explode('~', $param['diff_time']);
if ($start_time > 0 && $end_time > 0) { $where[] = ['enter_time', 'between', [strtotime(urldecode($diff_time[0])),strtotime(urldecode($diff_time[1]))]];
$where[] = ['enter_time', 'between', [$start_time, $end_time]];
} }
if (isset($param['is_cash']) && $param['is_cash']!='') { if (isset($param['is_cash']) && $param['is_cash']!='') {
$where[] = ['is_cash', '=', $param['is_cash']]; $where[] = ['is_cash', '=', $param['is_cash']];

View File

@ -28,10 +28,9 @@ class Invoice extends BaseController
$where[] = ['i.check_status','=',$param['check_status']]; $where[] = ['i.check_status','=',$param['check_status']];
} }
//按时间检索 //按时间检索
$start_time = isset($param['start_time']) ? strtotime(urldecode($param['start_time'])) : 0; if (!empty($param['diff_time'])) {
$end_time = isset($param['end_time']) ? strtotime(urldecode($param['end_time'])) : 0; $diff_time =explode('~', $param['diff_time']);
if ($start_time > 0 && $end_time > 0) { $where[] = ['i.create_time', 'between', [strtotime(urldecode($diff_time[0])),strtotime(urldecode($diff_time[1]))]];
$where[] = ['i.create_time', 'between', [$start_time, $end_time]];
} }
$where[] = ['i.admin_id','=',$this->uid]; $where[] = ['i.admin_id','=',$this->uid];
$where[] = ['i.delete_time','=',0]; $where[] = ['i.delete_time','=',0];
@ -81,10 +80,9 @@ class Invoice extends BaseController
//查询条件 //查询条件
$map = []; $map = [];
//按时间检索 //按时间检索
$start_time = !empty($param['start_time']) ? strtotime(urldecode($param['start_time'])) : 0; if (!empty($param['diff_time'])) {
$end_time = !empty($param['end_time']) ? strtotime(urldecode($param['end_time'])) : 0; $diff_time =explode('~', $param['diff_time']);
if ($start_time > 0 && $end_time > 0) { $map[] = ['i.create_time', 'between', [strtotime(urldecode($diff_time[0])),strtotime(urldecode($diff_time[1]))]];
$where[] = ['i.expense_time', 'between', [$start_time, $end_time]];
} }
$map[] = ['i.delete_time','=',0]; $map[] = ['i.delete_time','=',0];
$map[] = ['i.check_status', '=', 2]; $map[] = ['i.check_status', '=', 2];
@ -110,10 +108,9 @@ class Invoice extends BaseController
$where[] = ['i.check_status','in',[2,5,10]]; $where[] = ['i.check_status','in',[2,5,10]];
} }
//按时间检索 //按时间检索
$start_time = !empty($param['start_time']) ? strtotime(urldecode($param['start_time'])) : 0; if (!empty($param['diff_time'])) {
$end_time = !empty($param['end_time']) ? strtotime(urldecode($param['end_time'])) : 0; $diff_time =explode('~', $param['diff_time']);
if ($start_time > 0 && $end_time > 0) { $where[] = ['i.create_time', 'between', [strtotime(urldecode($diff_time[0])),strtotime(urldecode($diff_time[1]))]];
$where[] = ['i.create_time', 'between', [$start_time, $end_time]];
} }
$where[] = ['i.delete_time','=',0]; $where[] = ['i.delete_time','=',0];
$model = new InvoiceList(); $model = new InvoiceList();

View File

@ -3,14 +3,8 @@
{block name="body"} {block name="body"}
<div class="p-3"> <div class="p-3">
<form class="layui-form gg-form-bar border-x border-t" lay-filter="barsearchform"> <form class="layui-form gg-form-bar border-x border-t" lay-filter="barsearchform">
<div id="barDate" class="layui-input-inline"> <div class="layui-input-inline" style="width:300px;">
<div class="layui-input-inline" style="width:110px; margin-bottom:0;"> <input type="text" class="layui-input" id="diff_time" placeholder="选择时间区间" readonly name="diff_time">
<input type="text" class="layui-input" id="start_time" placeholder="选择时间区间" readonly name="start_time">
</div>
~
<div class="layui-input-inline" style="width:110px; margin-bottom:0;">
<input type="text" class="layui-input" id="end_time" placeholder="选择时间区间" readonly name="end_time">
</div>
</div> </div>
<div class="layui-input-inline"> <div class="layui-input-inline">
<select name="check_status"> <select name="check_status">
@ -37,20 +31,18 @@
<!-- 脚本 --> <!-- 脚本 -->
{block name="script"} {block name="script"}
<script> <script>
const moduleInit = ['tool']; const moduleInit = ['tool','laydatePlus'];
function gouguInit() { function gouguInit() {
var form = layui.form,table = layui.table,tool=layui.tool, laydate = layui.laydate; var form = layui.form,table = layui.table,tool=layui.tool, laydatePlus = layui.laydatePlus;
//日期范围 //日期范围
laydate.render({ var diff_time = new laydatePlus({'target':'diff_time'});
elem: '#barDate',
range: ['#start_time', '#end_time'],
rangeLinked:true
});
//监听搜索提交 //监听搜索提交
form.on('submit(webform)', function(data){ form.on('submit(webform)', function(data) {
let f=data.field; layui.pageTable.reload({
layui.pageTable.reload({where:{check_status:f.check_status,start_time:f.start_time,end_time:f.end_time},page:{curr:1}}); where: data.field,
page: {curr: 1}
});
return false; return false;
}); });

View File

@ -3,14 +3,8 @@
{block name="body"} {block name="body"}
<div class="p-3"> <div class="p-3">
<form class="layui-form gg-form-bar border-x border-t"> <form class="layui-form gg-form-bar border-x border-t">
<div id="barDate" class="layui-input-inline"> <div class="layui-input-inline" style="width:300px;">
<div class="layui-input-inline" style="width:110px; margin-bottom:0"> <input type="text" class="layui-input" id="diff_time" placeholder="选择时间区间" readonly name="diff_time">
<input type="text" class="layui-input" id="start_time" placeholder="选择时间区间" readonly name="start_time">
</div>
~
<div class="layui-input-inline" style="width:110px; margin-bottom:0;">
<input type="text" class="layui-input" id="end_time" placeholder="选择时间区间" readonly name="end_time">
</div>
</div> </div>
<div class="layui-input-inline" style="width:150px;"> <div class="layui-input-inline" style="width:150px;">
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform"><i class="layui-icon layui-icon-search mr-1"></i>搜索</button> <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform"><i class="layui-icon layui-icon-search mr-1"></i>搜索</button>
@ -25,20 +19,17 @@
<!-- 脚本 --> <!-- 脚本 -->
{block name="script"} {block name="script"}
<script> <script>
const moduleInit = ['tool','employeepicker']; const moduleInit = ['tool','laydatePlus'];
function gouguInit() { function gouguInit() {
var form = layui.form,table = layui.table,tool=layui.tool, laydate = layui.laydate; var form = layui.form,table = layui.table,tool=layui.tool, laydatePlus = layui.laydatePlus;
//日期范围 //日期范围
laydate.render({ var diff_time = new laydatePlus({'target':'diff_time'});
elem: '#barDate',
range: ['#start_time', '#end_time'],
rangeLinked:true
});
//监听搜索提交 //监听搜索提交
form.on('submit(webform)', function(data){ form.on('submit(webform)', function(data) {
let f=data.field; layui.pageTable.reload({
layui.pageTable.reload({where:{start_time:f.start_time,end_time:f.end_time},page:{curr:1}}); where: data.field,
page: {curr: 1}
});
return false; return false;
}); });

View File

@ -3,14 +3,8 @@
{block name="body"} {block name="body"}
<div class="p-3"> <div class="p-3">
<form class="layui-form gg-form-bar border-x border-t" lay-filter="barsearchform"> <form class="layui-form gg-form-bar border-x border-t" lay-filter="barsearchform">
<div id="barDate" class="layui-input-inline"> <div class="layui-input-inline" style="width:300px;">
<div class="layui-input-inline" style="width:110px; margin-bottom:0"> <input type="text" class="layui-input" id="diff_time" placeholder="选择时间区间" readonly name="diff_time">
<input type="text" class="layui-input" id="start_time" placeholder="选择时间区间" readonly name="start_time">
</div>
~
<div class="layui-input-inline" style="width:110px; margin-bottom:0;">
<input type="text" class="layui-input" id="end_time" placeholder="选择时间区间" readonly name="end_time">
</div>
</div> </div>
<div class="layui-input-inline"> <div class="layui-input-inline">
<select name="check_status"> <select name="check_status">
@ -40,20 +34,17 @@
<!-- 脚本 --> <!-- 脚本 -->
{block name="script"} {block name="script"}
<script> <script>
const moduleInit = ['tool','employeepicker']; const moduleInit = ['tool','laydatePlus'];
function gouguInit() { function gouguInit() {
var form = layui.form,table = layui.table,tool=layui.tool, laydate = layui.laydate; var form = layui.form,table = layui.table,tool=layui.tool, laydatePlus = layui.laydatePlus;
//日期范围 //日期范围
laydate.render({ var diff_time = new laydatePlus({'target':'diff_time'});
elem: '#barDate',
range: ['#start_time', '#end_time'],
rangeLinked:true
});
//监听搜索提交 //监听搜索提交
form.on('submit(webform)', function(data){ form.on('submit(webform)', function(data) {
let f=data.field; layui.pageTable.reload({
layui.pageTable.reload({where:{check_status:f.check_status,start_time:f.start_time,end_time:f.end_time},page:{curr:1}}); where: data.field,
page: {curr: 1}
});
return false; return false;
}); });

View File

@ -3,14 +3,8 @@
{block name="body"} {block name="body"}
<div class="p-3"> <div class="p-3">
<form class="layui-form gg-form-bar border-x border-t" lay-filter="barsearchform"> <form class="layui-form gg-form-bar border-x border-t" lay-filter="barsearchform">
<div id="barDate" class="layui-input-inline"> <div class="layui-input-inline" style="width:300px;">
<div class="layui-input-inline" style="width:110px; margin-bottom:0"> <input type="text" class="layui-input" id="diff_time" placeholder="选择时间区间" readonly name="diff_time">
<input type="text" class="layui-input" id="start_time" placeholder="选择时间区间" readonly name="start_time">
</div>
~
<div class="layui-input-inline" style="width:110px; margin-bottom:0">
<input type="text" class="layui-input" id="end_time" placeholder="选择时间区间" readonly name="end_time">
</div>
</div> </div>
<div class="layui-input-inline"> <div class="layui-input-inline">
<select name="is_cash"> <select name="is_cash">
@ -39,20 +33,18 @@
{block name="script"} {block name="script"}
<script> <script>
const auth = "{$auth}"; const auth = "{$auth}";
const moduleInit = ['tool']; const moduleInit = ['tool','laydatePlus'];
function gouguInit() { function gouguInit() {
var form = layui.form,table = layui.table,tool=layui.tool, laydate = layui.laydate; var form = layui.form,table = layui.table,tool=layui.tool, laydatePlus = layui.laydatePlus;
//日期范围 //日期范围
laydate.render({ var diff_time = new laydatePlus({'target':'diff_time'});
elem: '#barDate',
range: ['#start_time', '#end_time'],
rangeLinked:true
});
//监听搜索提交 //监听搜索提交
form.on('submit(webform)', function(data){ form.on('submit(webform)', function(data) {
let f=data.field; layui.pageTable.reload({
layui.pageTable.reload({where:{is_cash:f.is_cash,start_time:f.start_time,end_time:f.end_time},page:{curr:1}}); where: data.field,
page: {curr: 1}
});
return false; return false;
}); });

View File

@ -3,14 +3,8 @@
{block name="body"} {block name="body"}
<div class="p-3"> <div class="p-3">
<form class="layui-form gg-form-bar border-x border-t" lay-filter="barsearchform"> <form class="layui-form gg-form-bar border-x border-t" lay-filter="barsearchform">
<div id="barDate" class="layui-input-inline"> <div class="layui-input-inline" style="width:300px;">
<div class="layui-input-inline" style="width:110px; margin-bottom:0;"> <input type="text" class="layui-input" id="diff_time" placeholder="选择时间区间" readonly name="diff_time">
<input type="text" class="layui-input" id="start_time" placeholder="选择时间区间" readonly name="start_time">
</div>
~
<div class="layui-input-inline" style="width:110px; margin-bottom:0">
<input type="text" class="layui-input" id="end_time" placeholder="选择时间区间" readonly name="end_time">
</div>
</div> </div>
<div class="layui-input-inline"> <div class="layui-input-inline">
<select name="check_status"> <select name="check_status">
@ -38,20 +32,18 @@
<!-- 脚本 --> <!-- 脚本 -->
{block name="script"} {block name="script"}
<script> <script>
const moduleInit = ['tool']; const moduleInit = ['tool','laydatePlus'];
function gouguInit() { function gouguInit() {
var form = layui.form,table = layui.table,tool=layui.tool, laydate = layui.laydate; var form = layui.form,table = layui.table,tool=layui.tool, laydatePlus = layui.laydatePlus;
//日期范围 //日期范围
laydate.render({ var diff_time = new laydatePlus({'target':'diff_time'});
elem: '#barDate',
range: ['#start_time', '#end_time'],
rangeLinked:true
});
//监听搜索提交 //监听搜索提交
form.on('submit(webform)', function(data){ form.on('submit(webform)', function(data) {
let f=data.field; layui.pageTable.reload({
layui.pageTable.reload({where:{check_status:f.check_status,start_time:f.start_time,end_time:f.end_time},page:{curr:1}}); where: data.field,
page: {curr: 1}
});
return false; return false;
}); });

View File

@ -3,14 +3,8 @@
{block name="body"} {block name="body"}
<div class="p-3"> <div class="p-3">
<form class="layui-form gg-form-bar border-x border-t"> <form class="layui-form gg-form-bar border-x border-t">
<div id="barDate" class="layui-input-inline"> <div class="layui-input-inline" style="width:300px;">
<div class="layui-input-inline" style="width:110px; margin-bottom:0"> <input type="text" class="layui-input" id="diff_time" placeholder="选择时间区间" readonly name="diff_time">
<input type="text" class="layui-input" id="start_time" placeholder="选择时间区间" readonly name="start_time">
</div>
~
<div class="layui-input-inline" style="width:110px; margin-bottom:0">
<input type="text" class="layui-input" id="end_time" placeholder="选择时间区间" readonly name="end_time">
</div>
</div> </div>
<div class="layui-input-inline" style="width:150px;"> <div class="layui-input-inline" style="width:150px;">
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform"><i class="layui-icon layui-icon-search mr-1"></i>搜索</button> <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform"><i class="layui-icon layui-icon-search mr-1"></i>搜索</button>
@ -25,20 +19,18 @@
<!-- 脚本 --> <!-- 脚本 -->
{block name="script"} {block name="script"}
<script> <script>
const moduleInit = ['tool','employeepicker']; const moduleInit = ['tool','laydatePlus'];
function gouguInit() { function gouguInit() {
var form = layui.form,table = layui.table,tool=layui.tool, laydate = layui.laydate; var form = layui.form,table = layui.table,tool=layui.tool, laydatePlus = layui.laydatePlus;
//日期范围 //日期范围
laydate.render({ var diff_time = new laydatePlus({'target':'diff_time'});
elem: '#barDate',
range: ['#start_time', '#end_time'],
rangeLinked:true
});
//监听搜索提交 //监听搜索提交
form.on('submit(webform)', function(data){ form.on('submit(webform)', function(data) {
let f=data.field; layui.pageTable.reload({
layui.pageTable.reload({where:{start_time:f.start_time,end_time:f.end_time},page:{curr:1}}); where: data.field,
page: {curr: 1}
});
return false; return false;
}); });

View File

@ -3,14 +3,8 @@
{block name="body"} {block name="body"}
<div class="p-3"> <div class="p-3">
<form class="layui-form gg-form-bar border-x border-t" lay-filter="barsearchform"> <form class="layui-form gg-form-bar border-x border-t" lay-filter="barsearchform">
<div id="barDate" class="layui-input-inline"> <div class="layui-input-inline" style="width:300px;">
<div class="layui-input-inline" style="width:110px; margin-bottom:0"> <input type="text" class="layui-input" id="diff_time" placeholder="选择时间区间" readonly name="diff_time">
<input type="text" class="layui-input" id="start_time" placeholder="选择时间区间" readonly name="start_time">
</div>
~
<div class="layui-input-inline" style="width:110px; margin-bottom:0">
<input type="text" class="layui-input" id="end_time" placeholder="选择时间区间" readonly name="end_time">
</div>
</div> </div>
<div class="layui-input-inline"> <div class="layui-input-inline">
<select name="check_status"> <select name="check_status">
@ -41,20 +35,18 @@
<!-- 脚本 --> <!-- 脚本 -->
{block name="script"} {block name="script"}
<script> <script>
const moduleInit = ['tool','employeepicker']; const moduleInit = ['tool','laydatePlus'];
function gouguInit() { function gouguInit() {
var form = layui.form,table = layui.table,tool=layui.tool, laydate = layui.laydate; var form = layui.form,table = layui.table,tool=layui.tool, laydatePlus = layui.laydatePlus;
//日期范围 //日期范围
laydate.render({ var diff_time = new laydatePlus({'target':'diff_time'});
elem: '#barDate',
range: ['#start_time', '#end_time'],
rangeLinked:true
});
//监听搜索提交 //监听搜索提交
form.on('submit(webform)', function(data){ form.on('submit(webform)', function(data) {
let f=data.field; layui.pageTable.reload({
layui.pageTable.reload({where:{check_status:f.check_status,start_time:f.start_time,end_time:f.end_time},page:{curr:1}}); where: data.field,
page: {curr: 1}
});
return false; return false;
}); });

View File

@ -170,9 +170,6 @@ class Task extends BaseController
public function task_time() { public function task_time() {
if (request()->isAjax()) { if (request()->isAjax()) {
$param = get_params(); $param = get_params();
//按时间检索
$start_time = isset($param['start_time']) ? strtotime($param['start_time']) : 0;
$end_time = isset($param['end_time']) ? strtotime($param['end_time']) : 0;
$tid = isset($param['tid']) ? $param['tid'] : 0; $tid = isset($param['tid']) ? $param['tid'] : 0;
$where = []; $where = [];
if ($tid>0) { if ($tid>0) {
@ -188,8 +185,10 @@ class Task extends BaseController
if (!empty($param['keywords'])) { if (!empty($param['keywords'])) {
$where[] = ['a.title', 'like', '%' . trim($param['keywords']) . '%']; $where[] = ['a.title', 'like', '%' . trim($param['keywords']) . '%'];
} }
if ($start_time > 0 && $end_time > 0) { //按时间检索
$where[] = ['a.start_time', 'between', [$start_time, $end_time]]; if (!empty($param['diff_time'])) {
$diff_time =explode('~', $param['diff_time']);
$where[] = ['a.start_time', 'between', [strtotime(urldecode($diff_time[0])),strtotime(urldecode($diff_time[1]))]];
} }
} }
$where[] = ['a.delete_time', '=', 0]; $where[] = ['a.delete_time', '=', 0];

View File

@ -8,17 +8,11 @@
{block name="body"} {block name="body"}
<div class="p-3"> <div class="p-3">
<form class="layui-form gg-form-bar border-x border-t" lay-filter="barsearchform"> <form class="layui-form gg-form-bar border-x border-t" lay-filter="barsearchform">
<div id="barDate" class="layui-input-inline"> <div class="layui-input-inline" style="width:300px;">
<div class="layui-input-inline" style="width:120px; margin-bottom:0"> <input type="text" class="layui-input" id="diff_time" placeholder="时间范围" readonly name="diff_time">
<input type="text" class="layui-input" id="start_time" placeholder="选择时间区间" readonly name="start_time">
</div> </div>
~ <div class="layui-input-inline" style="width:110px;">
<div class="layui-input-inline" style="width:120px;margin-bottom:0"> <input type="text" name="username" placeholder="请选择员工" class="layui-input picker-one" readonly />
<input type="text" class="layui-input" id="end_time" placeholder="选择时间区间" readonly name="end_time">
</div>
</div>
<div class="layui-input-inline" style="width:120px;">
<input type="text" name="username" placeholder="请选择员工" class="layui-input" readonly data-event="select"/>
<input type="text" name="uid" value="" style="display:none" /> <input type="text" name="uid" value="" style="display:none" />
</div> </div>
<div class="layui-input-inline" style="width:240px;"> <div class="layui-input-inline" style="width:240px;">
@ -39,45 +33,24 @@
<!-- 脚本 --> <!-- 脚本 -->
{block name="script"} {block name="script"}
<script> <script>
const moduleInit = ['tool','employeepicker','oaSchedule']; const moduleInit = ['tool','employeepicker','oaSchedule','laydatePlus'];
function gouguInit() { function gouguInit() {
var form = layui.form,table = layui.table,tool=layui.tool, employeepicker = layui.employeepicker,laydate = layui.laydate,work = layui.oaSchedule; var form = layui.form,table = layui.table,tool=layui.tool, laydatePlus = layui.laydatePlus,laydate = layui.laydate,work = layui.oaSchedule;
//日期范围 //日期范围
laydate.render({ var diff_time = new laydatePlus({'target':'diff_time'});
elem: '#barDate',
range: ['#start_time', '#end_time'],
rangeLinked:true
});
//监听搜索提交
form.on('submit(webform)', function(data) {
layui.scheduleTable.reload({
where: data.field,
page: {curr: 1}
});
return false;
});
$('[lay-filter="clear"]').on('click',function(){ $('[lay-filter="clear"]').on('click',function(){
setTimeout(function(){ setTimeout(function(){
$('[lay-filter="webform"]').click(); $('[lay-filter="webform"]').click();
},10) },10)
})
// 选择员工
$('body').on('click','[data-event="select"]',function(){
var that = $(this);
var names = that.val(), ids = $('[name="uid"]').val();
employeepicker.init({
ids: ids,
names: names,
type: 0,
department_url: "/api/index/get_department_tree",
employee_url: "/api/index/get_employee",
callback: function (ids, names, dids, departments) {
$('[name="uid"]').val(ids);
that.val(names);
$('[lay-filter="webform"]').click();
}
})
});
//监听搜索提交
form.on('submit(webform)', function(data){
let f=data.field;
layui.scheduleTable.reload({where:{keywords:f.keywords,start_time:f.start_time,end_time:f.end_time,uid:f.uid},page:{curr:1}});
return false;
}); });
layui.scheduleTable = table.render({ layui.scheduleTable = table.render({