报销管理功能bug修改
This commit is contained in:
parent
2db7668b62
commit
baaee849a8
@ -68,7 +68,7 @@ class Expense extends BaseController
|
||||
{
|
||||
$rows = empty($param['limit']) ? get_config('app . page_size') : $param['limit'];
|
||||
$expense = ExpenseList::where($where)
|
||||
->order('create_time asc')
|
||||
->order('id desc')
|
||||
->paginate($rows, false, ['query' => $param])
|
||||
->each(function ($item, $key) {
|
||||
$item->income_month = empty($item->income_month) ? '-' : date('Y-m', $item->income_month);
|
||||
@ -93,19 +93,21 @@ class Expense extends BaseController
|
||||
$expense['user_name'] = Db::name('Admin')->where(['id' => $expense['admin_id']])->value('name');
|
||||
$expense['department'] = Db::name('Department')->where(['id' => $expense['did']])->value('title');
|
||||
$expense['amount'] = Db::name('ExpenseInterfix')->where(['exid' => $expense['id']])->sum('amount');
|
||||
|
||||
if ($expense['check_admin_id'] > 0) {
|
||||
$expense['check_admin'] = Db::name('Admin')->where(['id' => $expense['check_admin_id']])->value('name');
|
||||
$expense['pay_admin'] = Db::name('Admin')->where(['id' => $expense['pay_admin_id']])->value('name');
|
||||
if ($expense['check_time'] > 0) {
|
||||
$expense['check_time'] = date('Y-m-d H:i:s', $expense['check_time']);
|
||||
}
|
||||
if ($expense['pay_admin_id'] > 0) {
|
||||
$expense['pay_admin'] = Db::name('Admin')->where(['id' => $expense['pay_admin_id']])->value('name');
|
||||
if ($expense['pay_time'] > 0) {
|
||||
$expense['pay_time'] = date('Y-m-d H:i:s', $expense['pay_time']);
|
||||
}
|
||||
else{
|
||||
$expense['pay_time'] = '-';
|
||||
}
|
||||
$expense['list'] = Db::name('ExpenseInterfix')
|
||||
->field('a.*,c.title as cate_title')
|
||||
->alias('a')
|
||||
->join('ExpenseCate c', 'a.cate_id = c.id')
|
||||
->join('ExpenseCate c', 'a.cate_id = c.id','LEFT')
|
||||
->where(['a.exid' => $expense['id']])
|
||||
->select();
|
||||
}
|
||||
@ -124,6 +126,10 @@ class Expense extends BaseController
|
||||
if ($start_time > 0 && $end_time > 0) {
|
||||
$where[] = ['expense_time', 'between', [$start_time, $end_time]];
|
||||
}
|
||||
|
||||
if (isset($param['check_status']) && $param['check_status']!='') {
|
||||
$where[] = ['check_status', '=', $param['check_status']];
|
||||
}
|
||||
$expense = $this->get_list($param, $where);
|
||||
return table_assign(0, '', $expense);
|
||||
} else {
|
||||
|
@ -224,10 +224,10 @@ class Invoice extends BaseController
|
||||
if ($param['invoice_status'] == 2 || $param['invoice_status'] == 0) {
|
||||
$param['check_time'] = time();
|
||||
}
|
||||
if ($param['check_status'] == 3) {
|
||||
if ($param['invoice_status'] == 3) {
|
||||
$param['open_time'] = time();
|
||||
}
|
||||
if ($param['check_status'] == 10) {
|
||||
if ($param['invoice_status'] == 10) {
|
||||
$param['update_time'] = time();
|
||||
}
|
||||
$res = InvoiceList::where('id', $param['id'])->strict(false)->field(true)->update($param);
|
||||
|
@ -38,15 +38,18 @@ class Login
|
||||
}
|
||||
|
||||
$admin = Db::name('Admin')->where(['username' => $param['username']])->find();
|
||||
if (empty($admin)) {
|
||||
$admin = Db::name('Admin')->where(['mobile' => $param['username']])->find();
|
||||
if (empty($admin)) {
|
||||
return to_assign(1, '用户名或密码错误');
|
||||
}
|
||||
}
|
||||
$param['pwd'] = set_password($param['password'], $admin['salt']);
|
||||
if ($admin['pwd'] !== $param['pwd']) {
|
||||
return to_assign(1, '用户名或密码错误');
|
||||
}
|
||||
if ($admin['status'] == 0) {
|
||||
return to_assign(1, '该用户禁止登录,请于系统所有者联系');
|
||||
if ($admin['status'] != 1) {
|
||||
return to_assign(1, '该用户禁止登录,请与管理者联系');
|
||||
}
|
||||
$data = [
|
||||
'last_login_time' => time(),
|
||||
@ -68,7 +71,6 @@ class Login
|
||||
{
|
||||
$session_admin = get_config('app.session_admin');
|
||||
Session::delete($session_admin);
|
||||
//redirect('/')->send();
|
||||
return to_assign(0, "退出成功");
|
||||
}
|
||||
}
|
||||
|
@ -143,7 +143,7 @@
|
||||
|
||||
<div class="layui-form-item" style="padding-top:10px;">
|
||||
<input name="id" id="id" type="hidden" value="{$id}">
|
||||
<button class="layui-btn" lay-submit="" lay-filter="webform">立即提交</button>
|
||||
<button class="layui-btn" lay-submit="" lay-filter="webform">保存并提交审核</button>
|
||||
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||
</div>
|
||||
</form>
|
||||
@ -185,6 +185,10 @@
|
||||
layer.msg('至少要保留一个报销选项');
|
||||
return false;
|
||||
}
|
||||
layer.confirm('审核期间不能编辑修改,确定报销数据无误?', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
$.ajax({
|
||||
url:"{:url('/home/expense/add')}",
|
||||
type:'post',
|
||||
@ -196,6 +200,8 @@
|
||||
}
|
||||
}
|
||||
})
|
||||
layer.close(index);
|
||||
});
|
||||
return false;
|
||||
});
|
||||
|
||||
|
@ -2,6 +2,27 @@
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="body-content">
|
||||
<form class="layui-form">
|
||||
<div id="barDate" class="layui-input-inline">
|
||||
<div class="layui-input-inline" style="width:110px;">
|
||||
<input type="text" class="layui-input" id="start_time" placeholder="选择时间区间" readonly name="start_time">
|
||||
</div>
|
||||
~
|
||||
<div class="layui-input-inline" style="width:110px;">
|
||||
<input type="text" class="layui-input" id="end_time" placeholder="选择时间区间" readonly name="end_time">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-input-inline">
|
||||
<select name="check_status">
|
||||
<option value="">请选择状态</option>
|
||||
<option value="1">未审核</option>
|
||||
<option value="0">审核不通过</option>
|
||||
<option value="2">审核通过</option>
|
||||
<option value="3">已打款</option>
|
||||
</select>
|
||||
</div>
|
||||
<button class="layui-btn layui-btn-danger" lay-submit="" lay-filter="webform">提交搜索</button>
|
||||
</form>
|
||||
<table class="layui-hide" id="test" lay-filter="test"></table>
|
||||
</div>
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
@ -18,7 +39,20 @@
|
||||
function init(layui) {
|
||||
var table = layui.table,
|
||||
rightpage = layui.rightpage,
|
||||
form = layui.form;
|
||||
form = layui.form,
|
||||
laydate = layui.laydate;
|
||||
//日期范围
|
||||
laydate.render({
|
||||
elem: '#barDate',
|
||||
range: ['#start_time', '#end_time']
|
||||
});
|
||||
|
||||
//监听搜索提交
|
||||
form.on('submit(webform)', function(data){
|
||||
let f=data.field;
|
||||
tableIns.reload({where:{check_status:f.check_status,start_time:f.start_time,end_time:f.end_time},page:{curr:1}});
|
||||
return false;
|
||||
});
|
||||
|
||||
var tableIns = table.render({
|
||||
elem: '#test',
|
||||
@ -38,6 +72,7 @@
|
||||
field: 'amount',
|
||||
title: '报销总金额(元)',
|
||||
align: 'right',
|
||||
style: 'color:#1E9FFF',
|
||||
width: 120,
|
||||
},{
|
||||
field: 'admin_name',
|
||||
@ -69,20 +104,20 @@
|
||||
align: 'center',
|
||||
width: 150
|
||||
},{
|
||||
field: 'status',
|
||||
field: 'check_status',
|
||||
title: '状态',
|
||||
align: 'center',
|
||||
width: 120,
|
||||
templet:function(d){
|
||||
var html='<span style="color:#FF5722">审核不通过</span>';
|
||||
if(d.check_status==1){
|
||||
html='<span style="color:#393D49">报销审核中</span>';
|
||||
html='<span style="color:#5FB878">报销审核中</span>';
|
||||
}
|
||||
else if(d.check_status==2){
|
||||
html='<span style="color:#5FB878">审核通过</span>';
|
||||
html='<span style="color:#1E9FFF">审核通过</span>';
|
||||
}
|
||||
else if(d.check_status==3){
|
||||
html='<span style="color:#009688">已打款</span>';
|
||||
html='<span style="color:#FFB800">已打款</span>';
|
||||
}
|
||||
return html;
|
||||
}
|
||||
@ -90,7 +125,7 @@
|
||||
field: 'check_name',
|
||||
title: '审核人',
|
||||
align: 'center',
|
||||
width: 100
|
||||
width: 90
|
||||
},{
|
||||
field: 'check_time',
|
||||
title: '审核时间',
|
||||
@ -98,9 +133,9 @@
|
||||
width: 150
|
||||
},{
|
||||
field: 'pay_name',
|
||||
title: '打款确认人',
|
||||
title: '打款人',
|
||||
align: 'center',
|
||||
width: 100
|
||||
width: 90
|
||||
},{
|
||||
field: 'pay_time',
|
||||
title: '打款确认时间',
|
||||
@ -117,11 +152,9 @@
|
||||
var btn1='<span class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">详情</span>';
|
||||
var btn2='<span class="layui-btn layui-btn-xs" lay-event="edit">编辑</span>';
|
||||
var btn3='<span class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</span>';
|
||||
if(d.admin_id==login_user){
|
||||
html+=btn1+btn2+btn3;
|
||||
}
|
||||
else{
|
||||
html+=btn1+btn3;
|
||||
html+=btn1;
|
||||
if(d.check_status==0 && d.admin_id==login_user){
|
||||
html+=btn2+btn3;
|
||||
}
|
||||
html+='</div>';
|
||||
return html;
|
||||
|
@ -32,27 +32,32 @@
|
||||
{if condition="$expense.check_status == 0"}
|
||||
<span style="color:#FF5722">审核不通过 【原因:{$expense.check_remark}】</span>
|
||||
{elseif condition="$expense.check_status == 1"}
|
||||
<span style="color:#393D49">报销审核中</span>
|
||||
<span style="color:#FFB800">报销审核中</span>
|
||||
{elseif condition="$expense.check_status == 2"}
|
||||
<span style="color:#5FB878">审核通过</span>
|
||||
<span style="color:#1E9FFF">审核通过</span>
|
||||
{elseif condition="$expense.check_status == 3"}
|
||||
<span style="color:#009688">已打款</span>
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
{if condition="$expense.check_admin_id > 0"}
|
||||
{if condition="$expense.check_time > 0"}
|
||||
<tr>
|
||||
<td class="layui-td-gray2">审核人</td>
|
||||
<td>{$expense.check_admin}</td>
|
||||
<td class="layui-td-gray2">审核时间</td>
|
||||
<td colspan="3">{$expense.check_time}</td>
|
||||
</tr>
|
||||
{else/}
|
||||
<tr>
|
||||
<td class="layui-td-gray2">审核人</td>
|
||||
<td colspan="5">{$expense.check_admin}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{if condition="$expense.pay_admin_id > 0"}
|
||||
<tr>
|
||||
<td class="layui-td-gray2">打款确认人</td>
|
||||
<td class="layui-td-gray2">打款人</td>
|
||||
<td>{$expense.pay_admin}</td>
|
||||
<td class="layui-td-gray2">打款确认时间</td>
|
||||
<td class="layui-td-gray2">打款时间</td>
|
||||
<td colspan="3">{$expense.pay_time}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
@ -77,16 +82,31 @@
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{if condition="($expense.check_status == 1) AND ($uid == $expense.check_admin_id)"}
|
||||
<tr>
|
||||
<td class="layui-td-gray">选择打款人<span style="color: red">*</span></td>
|
||||
<td>
|
||||
<form class="layui-form">
|
||||
<select name="pay_admin_id">
|
||||
<option value="">请选择报销打款人</option>
|
||||
{volist name=":get_check_user(2)" id="vo"}
|
||||
<option value="{$vo.uid}">{$vo.user}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</form>
|
||||
</td>
|
||||
<td colspan="4">
|
||||
<button class="layui-btn layui-btn-danger" lay-event="checkno">审核不通过</button>
|
||||
<button class="layui-btn" lay-event="checkok">审核通过</button>
|
||||
</td>
|
||||
</tr>
|
||||
{/if}
|
||||
</table>
|
||||
<div class="layui-form-item" style="padding-top:10px;">
|
||||
<input name="id" id="id" type="hidden" value="{$expense.id}">
|
||||
{if condition="($expense.check_status == 0) AND ($uid == $expense.admin_id)"}
|
||||
<a class="layui-btn" href="/home/expense/add?id={$expense.id}">编辑</a>
|
||||
{/if}
|
||||
{if condition="($expense.check_status == 1) AND ($uid == $expense.check_admin_id)"}
|
||||
<button class="layui-btn layui-btn-danger" lay-event="checkno">审核不通过</button>
|
||||
<button class="layui-btn" lay-event="checkok">审核通过</button>
|
||||
{/if}
|
||||
{if condition="($expense.check_status == 2) AND ($uid == $expense.pay_admin_id)"}
|
||||
<button class="layui-btn" lay-event="payed">打款确认</button>
|
||||
{/if}
|
||||
@ -101,10 +121,15 @@
|
||||
function init(layui) {
|
||||
$('.body-content').on('click', '[lay-event="checkok"]', function () {
|
||||
var id=$('#id').val();
|
||||
var pay_admin=$('[name="pay_admin_id"]').val();
|
||||
if(pay_admin == ''){
|
||||
layer.msg('请选择报销打款人');
|
||||
return false;
|
||||
}
|
||||
layer.confirm('确定审核通过该报销申请?', {icon: 3, title:'提示'}, function(index){
|
||||
$.ajax({
|
||||
url:"{:url('home/expense/check')}",
|
||||
data:{id:id,check_status:2},
|
||||
data:{id:id,check_status:2,pay_admin_id:pay_admin},
|
||||
success:function(res){
|
||||
layer.msg(res.msg);
|
||||
if(res.code==0){
|
||||
@ -120,7 +145,7 @@ function init(layui) {
|
||||
|
||||
$('.body-content').on('click', '[lay-event="checkno"]', function () {
|
||||
var id=$('#id').val();
|
||||
layer.confirm('确定拒绝该提现申请?', {icon: 3, title:'提示'}, function(index){
|
||||
layer.confirm('确定拒绝该报销申请?', {icon: 3, title:'提示'}, function(index){
|
||||
layer.prompt({title: '拒绝的理由', formType: 3,value :''}, function(text, index){
|
||||
if(text ==''){
|
||||
layer.msg('请输入拒绝的理由');
|
||||
|
@ -61,9 +61,23 @@
|
||||
<tr>
|
||||
<td class="layui-td-gray">发票状态</td>
|
||||
<td colspan="5">
|
||||
{if condition="($detail.check_time == 0)"}
|
||||
|
||||
{elseif condition="($detail.check_time == 1)"}
|
||||
{if condition="($detail.invoice_status == 0)"}
|
||||
<span style="color:#FF5722">审核不通过</span>
|
||||
{elseif condition="($detail.invoice_status == 1)"}
|
||||
<span style="color:#009688">审核中</span>
|
||||
{elseif condition="($detail.invoice_status == 2)"}
|
||||
<span style="color:#1E9FFF">审核通过</span>
|
||||
{elseif condition="($detail.invoice_status == 3)"}
|
||||
<span style="color:#009688">待开具</span>
|
||||
{elseif condition="($detail.invoice_status == 4)"}
|
||||
<span style="color:#1E9FFF">已开具</span>
|
||||
{elseif condition="($detail.invoice_status == 5)"}
|
||||
<span style="color:#009688">部分到账</span>
|
||||
{elseif condition="($detail.invoice_status == 5)"}
|
||||
<span style="color:#1E9FFF">全部到账</span>
|
||||
{elseif condition="($detail.invoice_status == 10)"}
|
||||
<span style="color:#FF5722">已作废</span>
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@ -101,10 +115,10 @@
|
||||
function init(layui) {
|
||||
$('.body-content').on('click', '[lay-event="checkok"]', function () {
|
||||
var id=$('#id').val();
|
||||
layer.confirm('确定审核通过该报销申请?', {icon: 3, title:'提示'}, function(index){
|
||||
layer.confirm('确定审核通过该发票申请?', {icon: 3, title:'提示'}, function(index){
|
||||
$.ajax({
|
||||
url:"{:url('home/expense/check')}",
|
||||
data:{id:id,check_status:2},
|
||||
url:"{:url('home/invoice/check')}",
|
||||
data:{id:id,invoice_status:2},
|
||||
success:function(res){
|
||||
layer.msg(res.msg);
|
||||
if(res.code==0){
|
||||
@ -120,15 +134,15 @@ function init(layui) {
|
||||
|
||||
$('.body-content').on('click', '[lay-event="checkno"]', function () {
|
||||
var id=$('#id').val();
|
||||
layer.confirm('确定拒绝该提现申请?', {icon: 3, title:'提示'}, function(index){
|
||||
layer.confirm('确定拒绝该发票申请?', {icon: 3, title:'提示'}, function(index){
|
||||
layer.prompt({title: '拒绝的理由', formType: 3,value :''}, function(text, index){
|
||||
if(text ==''){
|
||||
layer.msg('请输入拒绝的理由');
|
||||
return false;
|
||||
}
|
||||
$.ajax({
|
||||
url:"{:url('home/expense/check')}",
|
||||
data:{id:id,check_status:0,check_remark:text},
|
||||
url:"{:url('home/invoice/check')}",
|
||||
data:{id:id,invoice_status:0,check_remark:text},
|
||||
success:function(res){
|
||||
layer.msg(res.msg);
|
||||
if(res.code==0){
|
||||
@ -145,10 +159,10 @@ function init(layui) {
|
||||
|
||||
$('.body-content').on('click', '[lay-event="payed"]', function () {
|
||||
var id=$('#id').val();
|
||||
layer.confirm('确定已经打款?', {icon: 3, title:'提示'}, function(index){
|
||||
layer.confirm('确定已经开具发票?', {icon: 3, title:'提示'}, function(index){
|
||||
$.ajax({
|
||||
url:"{:url('home/expense/check')}",
|
||||
data:{id:id,check_status:3},
|
||||
url:"{:url('home/invoice/check')}",
|
||||
data:{id:id,invoice_status:3},
|
||||
success:function(res){
|
||||
layer.msg(res.msg);
|
||||
if(res.code==0){
|
||||
|
Loading…
x
Reference in New Issue
Block a user