完善发票管理
This commit is contained in:
parent
82006fe5e2
commit
0f93cda537
@ -132,46 +132,13 @@ class Expense extends BaseController
|
||||
}
|
||||
}
|
||||
|
||||
function list() {
|
||||
if (request()->isAjax()) {
|
||||
$param = get_params();
|
||||
$where = [];
|
||||
$where[] = ['admin_id', '=', $this->uid];
|
||||
$where[] = ['status', '=', 1];
|
||||
//按时间检索
|
||||
$start_time = isset($param['start_time']) ? strtotime(urldecode($param['start_time'])) : 0;
|
||||
$end_time = isset($param['end_time']) ? strtotime(urldecode($param['end_time'])) : 0;
|
||||
if ($start_time > 0 && $end_time > 0) {
|
||||
$where[] = ['expense_time', 'between', [$start_time, $end_time]];
|
||||
}
|
||||
$expense = $this->get_list($param, $where);
|
||||
return table_assign(0, '', $expense);
|
||||
} else {
|
||||
return view();
|
||||
}
|
||||
}
|
||||
|
||||
//添加
|
||||
public function add()
|
||||
{
|
||||
$id = empty(get_params('id')) ? 0 : get_params('id');
|
||||
if ($id > 0) {
|
||||
$expense = $this->detail($id);
|
||||
View::assign('expense', $expense);
|
||||
}
|
||||
$expense_cate = Db::name('ExpenseCate')->where(['status' => 1])->select()->toArray();
|
||||
View::assign('user', get_admin($this->uid));
|
||||
View::assign('expense_cate', $expense_cate);
|
||||
View::assign('id', $id);
|
||||
return view();
|
||||
}
|
||||
|
||||
//提交添加
|
||||
public function post_submit()
|
||||
{
|
||||
$admin_id = $this->uid;
|
||||
$dbRes = false;
|
||||
$param = get_params();
|
||||
if (request()->isAjax()) {
|
||||
$dbRes = false;
|
||||
$admin_id = $this->uid;
|
||||
$param['admin_id'] = $admin_id;
|
||||
$param['income_month'] = isset($param['income_month']) ? strtotime(urldecode($param['income_month'])) : 0;
|
||||
$param['expense_time'] = isset($param['expense_time']) ? strtotime(urldecode($param['expense_time'])) : 0;
|
||||
@ -199,7 +166,6 @@ class Expense extends BaseController
|
||||
if (!$value) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$data = [];
|
||||
$data['id'] = $idData[$key];
|
||||
$data['exid'] = $exid;
|
||||
@ -251,7 +217,6 @@ class Expense extends BaseController
|
||||
if (!$value) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$data = [];
|
||||
$data['exid'] = $exid;
|
||||
$data['admin_id'] = $admin_id;
|
||||
@ -283,6 +248,19 @@ class Expense extends BaseController
|
||||
return to_assign(1, '保存失败');
|
||||
}
|
||||
}
|
||||
else{
|
||||
$id = isset($param['id']) ? $param['id'] : 0;
|
||||
if ($id > 0) {
|
||||
$expense = $this->detail($id);
|
||||
View::assign('expense', $expense);
|
||||
}
|
||||
$expense_cate = Db::name('ExpenseCate')->where(['status' => 1])->select()->toArray();
|
||||
View::assign('user', get_admin($this->uid));
|
||||
View::assign('expense_cate', $expense_cate);
|
||||
View::assign('id', $id);
|
||||
return view();
|
||||
}
|
||||
}
|
||||
|
||||
//查看
|
||||
public function view()
|
||||
|
@ -10,10 +10,9 @@ declare (strict_types = 1);
|
||||
namespace app\home\controller;
|
||||
|
||||
use app\home\BaseController;
|
||||
use app\home\model\Invoice as InvoiceList;
|
||||
use app\home\model\InvoiceSubject;
|
||||
use app\home\model\Invoice as InvoiceList;
|
||||
use app\home\validate\InvoiceSubjectCheck;
|
||||
use app\home\validate\InvoiceCheck;
|
||||
use think\exception\ValidateException;
|
||||
use think\facade\Db;
|
||||
use think\facade\View;
|
||||
@ -67,7 +66,7 @@ class Invoice extends BaseController
|
||||
public function get_list($param = [], $where = [])
|
||||
{
|
||||
$rows = empty($param['limit']) ? get_config('app . page_size') : $param['limit'];
|
||||
$expense = ExpenseList::where($where)
|
||||
$expense = InvoiceList::where($where)
|
||||
->order('create_time asc')
|
||||
->paginate($rows, false, ['query' => $param])
|
||||
->each(function ($item, $key) {
|
||||
@ -80,37 +79,28 @@ class Invoice extends BaseController
|
||||
$item->check_time = empty($item->check_time) ? '-' : date('Y-m-d H:i', $item->check_time);
|
||||
$item->pay_name = Db::name('Admin')->where(['id' => $item->pay_admin_id])->value('name');
|
||||
$item->pay_time = empty($item->pay_time) ? '-' : date('Y-m-d H:i', $item->pay_time);
|
||||
$item->amount = Db::name('ExpenseInterfix')->where(['exid' => $item->id])->sum('amount');
|
||||
});
|
||||
return $expense;
|
||||
}
|
||||
|
||||
public function detail($id = 0)
|
||||
{
|
||||
$expense = Db::name('Expense')->where(['id' => $id])->find();
|
||||
if ($expense) {
|
||||
$expense['income_month'] = empty($expense['income_month']) ? '-' : date('Y-m', $expense['income_month']);
|
||||
$expense['expense_time'] = empty($expense['expense_time']) ? '-' : date('Y-m-d', $expense['expense_time']);
|
||||
$expense['user_name'] = Db::name('Admin')->where(['id' => $expense['uid']])->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['check_time'] = date('Y-m-d H:i:s', $expense['check_time']);
|
||||
$invoice = Db::name('Invoice')->where(['id' => $id])->find();
|
||||
if ($invoice) {
|
||||
$invoice['income_month'] = empty($invoice['income_month']) ? '-' : date('Y-m', $invoice['income_month']);
|
||||
$invoice['expense_time'] = empty($invoice['expense_time']) ? '-' : date('Y-m-d', $invoice['expense_time']);
|
||||
$invoice['user_name'] = Db::name('Admin')->where(['id' => $invoice['uid']])->value('name');
|
||||
$invoice['department'] = Db::name('Department')->where(['id' => $invoice['did']])->value('title');
|
||||
if ($invoice['check_admin_id'] > 0) {
|
||||
$invoice['check_admin'] = Db::name('Admin')->where(['id' => $invoice['check_admin_id']])->value('name');
|
||||
$invoice['check_time'] = date('Y-m-d H:i:s', $invoice['check_time']);
|
||||
}
|
||||
if ($expense['pay_admin_id'] > 0) {
|
||||
$expense['pay_admin'] = Db::name('Admin')->where(['id' => $expense['pay_admin_id']])->value('name');
|
||||
$expense['pay_time'] = date('Y-m-d H:i:s', $expense['pay_time']);
|
||||
if ($invoice['pay_admin_id'] > 0) {
|
||||
$invoice['pay_admin'] = Db::name('Admin')->where(['id' => $invoice['pay_admin_id']])->value('name');
|
||||
$invoice['pay_time'] = date('Y-m-d H:i:s', $invoice['pay_time']);
|
||||
}
|
||||
$expense['list'] = Db::name('ExpenseInterfix')
|
||||
->field('a.*,c.title as cate_title')
|
||||
->alias('a')
|
||||
->join('ExpenseCate c', 'a.cate_id = c.id')
|
||||
->where(['a.exid' => $expense['id']])
|
||||
->select();
|
||||
}
|
||||
return $expense;
|
||||
return $invoice;
|
||||
}
|
||||
|
||||
public function index()
|
||||
@ -125,27 +115,8 @@ class Invoice extends BaseController
|
||||
if ($start_time > 0 && $end_time > 0) {
|
||||
$where[] = ['expense_time', 'between', [$start_time, $end_time]];
|
||||
}
|
||||
$expense = $this->get_list($param, $where);
|
||||
return table_assign(0, '', $expense);
|
||||
} else {
|
||||
return view();
|
||||
}
|
||||
}
|
||||
|
||||
function list() {
|
||||
if (request()->isAjax()) {
|
||||
$param = get_params();
|
||||
$where = [];
|
||||
$where[] = ['admin_id', '=', $this->uid];
|
||||
$where[] = ['status', '=', 1];
|
||||
//按时间检索
|
||||
$start_time = isset($param['start_time']) ? strtotime(urldecode($param['start_time'])) : 0;
|
||||
$end_time = isset($param['end_time']) ? strtotime(urldecode($param['end_time'])) : 0;
|
||||
if ($start_time > 0 && $end_time > 0) {
|
||||
$where[] = ['expense_time', 'between', [$start_time, $end_time]];
|
||||
}
|
||||
$expense = $this->get_list($param, $where);
|
||||
return table_assign(0, '', $expense);
|
||||
$invoice = $this->get_list($param, $where);
|
||||
return table_assign(0, '', $invoice);
|
||||
} else {
|
||||
return view();
|
||||
}
|
||||
@ -156,12 +127,10 @@ class Invoice extends BaseController
|
||||
{
|
||||
$id = empty(get_params('id')) ? 0 : get_params('id');
|
||||
if ($id > 0) {
|
||||
$expense = $this->detail($id);
|
||||
View::assign('expense', $expense);
|
||||
$detail = $this->detail($id);
|
||||
View::assign('detail', $detail);
|
||||
}
|
||||
$expense_cate = Db::name('ExpenseCate')->where(['status' => 1])->select()->toArray();
|
||||
View::assign('user', get_admin($this->uid));
|
||||
View::assign('expense_cate', $expense_cate);
|
||||
View::assign('id', $id);
|
||||
return view();
|
||||
}
|
||||
@ -288,9 +257,9 @@ class Invoice extends BaseController
|
||||
public function view()
|
||||
{
|
||||
$id = empty(get_params('id')) ? 0 : get_params('id');
|
||||
$expense = $this->detail($id);
|
||||
$detail = $this->detail($id);
|
||||
View::assign('uid', $this->uid);
|
||||
View::assign('expense', $expense);
|
||||
View::assign('detail', $detail);
|
||||
return view();
|
||||
}
|
||||
|
||||
@ -308,7 +277,7 @@ class Invoice extends BaseController
|
||||
$data['status'] = '-1';
|
||||
$data['id'] = $id;
|
||||
$data['update_time'] = time();
|
||||
if (Db::name('expense')->update($data) !== false) {
|
||||
if (Db::name('Invoice')->update($data) !== false) {
|
||||
add_log('delete', $id);
|
||||
return to_assign(0, "删除成功");
|
||||
} else {
|
||||
@ -328,17 +297,12 @@ class Invoice extends BaseController
|
||||
$param['pay_admin_id'] = $this->uid;
|
||||
$param['pay_time'] = time();
|
||||
}
|
||||
$res = ExpenseList::where('id', $param['id'])->strict(false)->field(true)->update($param);
|
||||
$res = InvoiceList::where('id', $param['id'])->strict(false)->field(true)->update($param);
|
||||
if ($res !== false) {
|
||||
return to_assign();
|
||||
} else {
|
||||
return to_assign(1, "操作失败");
|
||||
}
|
||||
} else {
|
||||
$expense = $this->detail($param['id']);
|
||||
View::assign('expense', $expense);
|
||||
View::assign('uid', $this->uid);
|
||||
return view();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -10,7 +10,7 @@
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form body-content">
|
||||
<h3>报销信息</h3>
|
||||
<h3 class="h3-title">报销信息</h3>
|
||||
{if condition="($id == 0)"}
|
||||
<table class="layui-table">
|
||||
<tr>
|
||||
@ -40,7 +40,7 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray2">费用金额<span style="color: red">*</span><button class="layui-btn layui-btn-normal layui-btn-sm" type="button" id="addInterfix">+报销选项</button></td>
|
||||
<td class="layui-td-gray2">报销选项<span style="color: red">*</span></td>
|
||||
<td colspan="5">
|
||||
<div>
|
||||
<table id="interfix" class="layui-table layui-table-min">
|
||||
@ -65,6 +65,7 @@
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<button class="layui-btn layui-btn-normal layui-btn-sm" type="button" id="addInterfix">+报销选项</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@ -97,7 +98,7 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray2">费用金额<span style="color: red">*</span><button class="layui-btn layui-btn-normal layui-btn-sm" type="button" id="addInterfix">+报销选项</button></td>
|
||||
<td class="layui-td-gray2">报销选项<span style="color: red">*</span></td>
|
||||
<td colspan="5">
|
||||
<div>
|
||||
<table id="interfix" class="layui-table layui-table-min">
|
||||
@ -124,6 +125,7 @@
|
||||
{/volist}
|
||||
</table>
|
||||
</div>
|
||||
<button class="layui-btn layui-btn-normal layui-btn-sm" type="button" id="addInterfix">+报销选项</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@ -195,7 +197,7 @@
|
||||
return false;
|
||||
}
|
||||
$.ajax({
|
||||
url:"{:url('/home/expense/post_submit')}",
|
||||
url:"{:url('/home/expense/add')}",
|
||||
type:'post',
|
||||
data:data.field,
|
||||
success:function(e){
|
||||
|
@ -1,175 +0,0 @@
|
||||
{extend name="common/base"/}
|
||||
{block name="style"}
|
||||
<style>
|
||||
.layui-table-min th{font-size:13px; text-align:center; background-color:#f8f8f8;}
|
||||
.layui-table-min td{font-size:13px; padding:6px;text-align:center;}
|
||||
</style>
|
||||
{/block}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="body-content">
|
||||
<h3>报销详情</h3>
|
||||
<table class="layui-table">
|
||||
<tr>
|
||||
<td class="layui-td-gray2">报销凭证编号</td>
|
||||
<td>{$expense.code}</td>
|
||||
<td class="layui-td-gray2">入账月份</td>
|
||||
<td>{$expense.income_month}</td>
|
||||
<td class="layui-td-gray2">原始单据日期</td>
|
||||
<td>{$expense.expense_time}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray2">报销人</td>
|
||||
<td>{$expense.user_name}</td>
|
||||
<td class="layui-td-gray2">报销部门</td>
|
||||
<td>{$expense.department}</td>
|
||||
<td class="layui-td-gray">报销总费用(元)</td>
|
||||
<td><span style="color:#1E9FFF">{$expense.amount}</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray2">报销状态</td>
|
||||
<td colspan="5">
|
||||
{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>
|
||||
{elseif condition="$expense.check_status == 2"}
|
||||
<span style="color:#5FB878">审核通过</span>
|
||||
{elseif condition="$expense.check_status == 3"}
|
||||
<span style="color:#009688">已打款</span>
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
{if condition="$expense.check_admin_id > 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>
|
||||
{/if}
|
||||
{if condition="$expense.pay_admin_id > 0"}
|
||||
<tr>
|
||||
<td class="layui-td-gray2">打款确认人</td>
|
||||
<td>{$expense.pay_admin}</td>
|
||||
<td class="layui-td-gray2">打款确认时间</td>
|
||||
<td colspan="3">{$expense.pay_time}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
<tr>
|
||||
<td class="layui-td-gray2">费用金额</td>
|
||||
<td colspan="5">
|
||||
<div>
|
||||
<table class="layui-table layui-table-min">
|
||||
<tr>
|
||||
<th width="200">报销金额(元)</th>
|
||||
<th width="300">报销类别</th>
|
||||
<th>备注信息</th>
|
||||
</tr>
|
||||
{volist name="$expense.list" id="vo"}
|
||||
<tr>
|
||||
<td>{$vo.amount}</td>
|
||||
<td>{$vo.cate_title}</td>
|
||||
<td style="text-align:left">{$vo.remarks}</td>
|
||||
</tr>
|
||||
{/volist}
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</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}
|
||||
{eq name="$expense.check_status" value="1"}
|
||||
<button class="layui-btn layui-btn-danger" lay-event="checkno">审核不通过</button>
|
||||
<button class="layui-btn" lay-event="checkok">审核通过</button>
|
||||
{/eq}
|
||||
{eq name="$expense.check_status" value="2"}
|
||||
<button class="layui-btn" lay-event="payed">已打款确认</button>
|
||||
{/eq}
|
||||
</div>
|
||||
</div>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
function init(layui) {
|
||||
//监听返回
|
||||
$('.body-content').on('click', '[lay-event="back"]', function () {
|
||||
window.location.href="{:url('home/expense/index')}";
|
||||
return false;
|
||||
});
|
||||
|
||||
$('.body-content').on('click', '[lay-event="checkok"]', function () {
|
||||
var id=$('#id').val();
|
||||
layer.confirm('确定审核通过该报销申请?', {icon: 3, title:'提示'}, function(index){
|
||||
$.ajax({
|
||||
url:"{:url('home/expense/check')}",
|
||||
data:{id:id,check_status:2},
|
||||
success:function(res){
|
||||
layer.msg(res.msg);
|
||||
if(res.code==0){
|
||||
window.setTimeout(function(){
|
||||
window.location.reload();
|
||||
},1200)
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
return false;
|
||||
});
|
||||
|
||||
$('.body-content').on('click', '[lay-event="checkno"]', function () {
|
||||
var id=$('#id').val();
|
||||
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},
|
||||
success:function(res){
|
||||
layer.msg(res.msg);
|
||||
if(res.code==0){
|
||||
window.setTimeout(function(){
|
||||
parent.location.reload();
|
||||
},1200)
|
||||
}
|
||||
}
|
||||
})
|
||||
layer.closeAll();
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
$('.body-content').on('click', '[lay-event="payed"]', function () {
|
||||
var id=$('#id').val();
|
||||
layer.confirm('确定已经打款?', {icon: 3, title:'提示'}, function(index){
|
||||
$.ajax({
|
||||
url:"{:url('home/expense/check')}",
|
||||
data:{id:id,check_status:3},
|
||||
success:function(res){
|
||||
layer.msg(res.msg);
|
||||
if(res.code==0){
|
||||
window.setTimeout(function(){
|
||||
parent.location.reload();
|
||||
},1200)
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
</script>
|
||||
{include file="common/layui" base='base' extend="[]" callback="init" /}
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
@ -4,8 +4,10 @@
|
||||
<div class="body-content">
|
||||
<table class="layui-hide" id="test" lay-filter="test"></table>
|
||||
</div>
|
||||
<script type="text/html" id="barDemo">
|
||||
<div class="layui-btn-group"><span class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">详情</span><span class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</span></div>
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container">
|
||||
<span class="layui-btn layui-btn-normal layui-btn-sm" lay-event="add">+ 添加报销登记</span>
|
||||
</div>
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
@ -60,7 +62,7 @@
|
||||
field: 'income_month',
|
||||
title: '入账月份',
|
||||
align: 'center',
|
||||
width: 100
|
||||
width: 90
|
||||
},{
|
||||
field: 'admin_name',
|
||||
title: '登记人',
|
||||
@ -113,14 +115,34 @@
|
||||
field: 'right',
|
||||
fixed: 'right',
|
||||
title: '操作',
|
||||
toolbar: '#barDemo',
|
||||
width: 100,
|
||||
align: 'center'
|
||||
width: 130,
|
||||
align: 'right',
|
||||
templet:function(d){
|
||||
var html='<div class="layui-btn-group">';
|
||||
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+='</div>';
|
||||
return html;
|
||||
}
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
//表头工具栏事件
|
||||
table.on('toolbar(test)', function(obj){
|
||||
if (obj.event === 'add') {
|
||||
rightpage.open("{:url('home/expense/add')}");
|
||||
return;
|
||||
}
|
||||
});
|
||||
//监听行工具事件
|
||||
table.on('tool(test)', function(obj) {
|
||||
var data = obj.data;
|
||||
@ -128,6 +150,10 @@
|
||||
rightpage.open("/home/expense/check?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'edit') {
|
||||
rightpage.open("/home/expense/add?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'del') {
|
||||
layer.confirm('确定删除该报销记录吗?', {
|
||||
icon: 3,
|
||||
|
@ -1,161 +0,0 @@
|
||||
{extend name="common/base"/}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="body-content">
|
||||
<table class="layui-hide" id="test" lay-filter="test"></table>
|
||||
</div>
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container">
|
||||
<a class="layui-btn layui-btn-normal layui-btn-sm" href="{:url('home/expense/add')}">添加报销登记</a>
|
||||
</div>
|
||||
</script>
|
||||
<script type="text/html" id="barDemo">
|
||||
<div class="layui-btn-group"><span class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">详情</span><span class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</span></div>
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
function init(layui) {
|
||||
var table = layui.table,
|
||||
rightpage = layui.rightpage,
|
||||
form = layui.form;
|
||||
|
||||
var tableIns = table.render({
|
||||
elem: '#test',
|
||||
title: '报销管理列表',
|
||||
toolbar: '#toolbarDemo',
|
||||
url: "{:url('home/expense/index')}", //数据接口
|
||||
page: true, //开启分页
|
||||
limit: 20,
|
||||
cols: [
|
||||
[
|
||||
{
|
||||
field: 'id',
|
||||
title: 'ID号',
|
||||
align: 'center',
|
||||
width: 80
|
||||
}, {
|
||||
field: 'amount',
|
||||
title: '报销总金额(元)',
|
||||
align: 'right',
|
||||
width: 120,
|
||||
},{
|
||||
field: 'user_name',
|
||||
title: '报销人',
|
||||
align: 'center',
|
||||
width: 90
|
||||
},{
|
||||
field: 'department',
|
||||
title: '报销部门',
|
||||
align: 'center',
|
||||
width: 120
|
||||
},{
|
||||
field: 'code',
|
||||
title: '报销凭证编号',
|
||||
width: 150,
|
||||
},{
|
||||
field: 'expense_time',
|
||||
title: '原始单据日期',
|
||||
align: 'center',
|
||||
width: 110
|
||||
},{
|
||||
field: 'income_month',
|
||||
title: '入账月份',
|
||||
align: 'center',
|
||||
width: 100
|
||||
},{
|
||||
field: 'admin_name',
|
||||
title: '登记人',
|
||||
align: 'center',
|
||||
width: 100
|
||||
},{
|
||||
field: 'create_time',
|
||||
title: '录入时间',
|
||||
align: 'center',
|
||||
width: 150
|
||||
},{
|
||||
field: '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>';
|
||||
}
|
||||
else if(d.check_status==2){
|
||||
html='<span style="color:#5FB878">审核通过</span>';
|
||||
}
|
||||
else if(d.check_status==3){
|
||||
html='<span style="color:#009688">已打款</span>';
|
||||
}
|
||||
return html;
|
||||
}
|
||||
},{
|
||||
field: 'check_name',
|
||||
title: '审核人',
|
||||
align: 'center',
|
||||
width: 90
|
||||
},{
|
||||
field: 'check_time',
|
||||
title: '审核时间',
|
||||
align: 'center',
|
||||
width: 136
|
||||
},{
|
||||
field: 'pay_name',
|
||||
title: '打款确认人',
|
||||
align: 'center',
|
||||
width: 90
|
||||
},{
|
||||
field: 'pay_time',
|
||||
title: '打款确认时间',
|
||||
align: 'center',
|
||||
width: 136
|
||||
}, {
|
||||
field: 'right',
|
||||
fixed: 'right',
|
||||
title: '操作',
|
||||
toolbar: '#barDemo',
|
||||
width: 100,
|
||||
align: 'center'
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
//监听行工具事件
|
||||
table.on('tool(test)', function(obj) {
|
||||
var data = obj.data;
|
||||
if (obj.event === 'view') {
|
||||
rightpage.open("/home/expense/check?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'del') {
|
||||
layer.confirm('确定删除该报销记录吗?', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
$.ajax({
|
||||
url: "{:url('home/expense/delete')}",
|
||||
data: {
|
||||
id: data.id
|
||||
},
|
||||
success: function(res) {
|
||||
layer.msg(res.msg);
|
||||
if (res.code == 0) {
|
||||
obj.del();
|
||||
}
|
||||
}
|
||||
})
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{include file="common/layui" base='base' extend="['rightpage']" use="['table','form']" callback="init" /}
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
@ -8,7 +8,7 @@
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="body-content">
|
||||
<h3>报销详情</h3>
|
||||
<h3 class="h3-title">报销详情</h3>
|
||||
<table class="layui-table">
|
||||
<tr>
|
||||
<td class="layui-td-gray2">报销凭证编号</td>
|
||||
@ -78,11 +78,19 @@
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{if condition="($expense.check_status == 0) AND ($uid == $expense.admin_id)"}
|
||||
<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>
|
||||
</div>
|
||||
{/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>
|
||||
{/eq}
|
||||
</div>
|
||||
</div>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
@ -91,9 +99,68 @@
|
||||
{block name="script"}
|
||||
<script>
|
||||
function init(layui) {
|
||||
$('.body-content').on('click', '[lay-event="checkok"]', function () {
|
||||
var id=$('#id').val();
|
||||
layer.confirm('确定审核通过该报销申请?', {icon: 3, title:'提示'}, function(index){
|
||||
$.ajax({
|
||||
url:"{:url('home/expense/check')}",
|
||||
data:{id:id,check_status:2},
|
||||
success:function(res){
|
||||
layer.msg(res.msg);
|
||||
if(res.code==0){
|
||||
window.setTimeout(function(){
|
||||
window.location.reload();
|
||||
},1200)
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
return false;
|
||||
});
|
||||
|
||||
$('.body-content').on('click', '[lay-event="checkno"]', function () {
|
||||
var id=$('#id').val();
|
||||
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},
|
||||
success:function(res){
|
||||
layer.msg(res.msg);
|
||||
if(res.code==0){
|
||||
window.setTimeout(function(){
|
||||
parent.location.reload();
|
||||
},1200)
|
||||
}
|
||||
}
|
||||
})
|
||||
layer.closeAll();
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
$('.body-content').on('click', '[lay-event="payed"]', function () {
|
||||
var id=$('#id').val();
|
||||
layer.confirm('确定已经打款?', {icon: 3, title:'提示'}, function(index){
|
||||
$.ajax({
|
||||
url:"{:url('home/expense/check')}",
|
||||
data:{id:id,check_status:3},
|
||||
success:function(res){
|
||||
layer.msg(res.msg);
|
||||
if(res.code==0){
|
||||
window.setTimeout(function(){
|
||||
parent.location.reload();
|
||||
},1200)
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
</script>
|
||||
{include file="common/layui" base='base' extend="[]" callback="init" /}
|
||||
{/block}
|
||||
|
@ -10,123 +10,114 @@
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form body-content">
|
||||
<h3>报销信息</h3>
|
||||
<h3 class="h3-title">开票信息</h3>
|
||||
{if condition="($id == 0)"}
|
||||
<table class="layui-table">
|
||||
<tr>
|
||||
<td class="layui-td-gray2">报销凭证编号<span style="color: red">*</span></td>
|
||||
<td class="layui-td-gray">开票金额<span style="color: red">*</span></td>
|
||||
<td>
|
||||
<input type="text" name="code" autocomplete="off" lay-verify="required" placeholder="报销凭证编号" lay-reqText="请填写报销凭证编号" class="layui-input" value="">
|
||||
<input type="text" class="layui-input" name="amount" lay-verify="required" placeholder="请输入开票金额" lay-reqText="请输入开票金额" value="">
|
||||
</td>
|
||||
<td class="layui-td-gray">入账月份<span style="color: red">*</span></td>
|
||||
<td class="layui-td-gray2">开票类型<span style="color: red">*</span></td>
|
||||
<td>
|
||||
<input type="text" class="layui-input" id="income_month" name="income_month" lay-verify="required" placeholder="请选择入账月份" lay-reqText="请选择入账月份" readonly value="">
|
||||
</td>
|
||||
<td class="layui-td-gray2">原始单据日期<span style="color: red">*</span></td>
|
||||
<td>
|
||||
<input type="text" class="layui-input" id="expense_time" name="expense_time" lay-verify="required" placeholder="请选择原始单据日期" lay-reqText="请选择原始单据日期" readonly value="">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray2">报销人<span style="color: red">*</span></td>
|
||||
<td>
|
||||
<input type="text" name="name" placeholder="请选择报销人" readonly class="layui-input" lay-verify="required" lay-reqText="请选择报销人" value="{$user.name}" readonly>
|
||||
<input type="hidden" name="uid" autocomplete="off" class="layui-input" value="{$user.id}">
|
||||
</td>
|
||||
<td class="layui-td-gray">报销部门</td>
|
||||
<td>
|
||||
<input type="text" name="department" readonly class="layui-input" value="{$user.department}" readonly>
|
||||
<input type="hidden" name="did" autocomplete="off" class="layui-input" value="{$user.did}">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray2">费用金额<span style="color: red">*</span><button class="layui-btn layui-btn-normal layui-btn-sm" type="button" id="addInterfix">+报销选项</button></td>
|
||||
<td colspan="5">
|
||||
<div>
|
||||
<table id="interfix" class="layui-table layui-table-min">
|
||||
<tr>
|
||||
<th width="200">报销金额</th>
|
||||
<th width="300">报销项目</th>
|
||||
<th>备注信息</th>
|
||||
<th width="100">操作</th>
|
||||
</tr>
|
||||
<tr class="more_interfix">
|
||||
<td><input type="text" name="amount[]" value="" class="layui-input" lay-verify="required|number" lay-reqText="请完善报销金额"></td>
|
||||
<td style="text-align:left">
|
||||
<select name="cate_id[]" lay-verify="required" lay-reqText="请选择报销项目">
|
||||
<option value="">请选择</option>
|
||||
{volist name="$expense_cate" id="vo"}
|
||||
<option value="{$vo.id}">{$vo.title}</option>
|
||||
{/volist}
|
||||
<select name="invoice_type" lay-verify="required" lay-reqText="请选择开票类型">
|
||||
<option value="">请选择开票类型</option>
|
||||
<option value="1">增值税专用发票</option>
|
||||
<option value="2">增值税普通发票</option>
|
||||
</select>
|
||||
</td>
|
||||
<td><input type="text" name="remarks[]" class="layui-input" value=""><input type="hidden" name="expense_id[]" class="layui-input" value="0"></td>
|
||||
<td><a class="layui-btn layui-btn-danger layui-btn-xs" data-id="0" lay-event="del">删除</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<td class="layui-td-gray2">发票审核人<span style="color: red">*</span></td>
|
||||
<td>
|
||||
<select name="invoice_type" lay-verify="required" lay-reqText="请选择开票类型">
|
||||
<option value="">请选择开票类型</option>
|
||||
<option value="1">增值税专用发票</option>
|
||||
<option value="2">增值税普通发票</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray2">抬头类型<span style="color: red">*</span></td>
|
||||
<td>
|
||||
<input type="radio" name="status" value="1" title="企业" checked>
|
||||
<input type="radio" name="status" value="2" title="个人">
|
||||
</td>
|
||||
<td class="layui-td-gray">开票抬头<span style="color: red">*</span></td>
|
||||
<td><input type="text" name="invoice_title" class="layui-input" value=""></td>
|
||||
<td class="layui-td-gray">电话号码<span style="color: red">*</span></td>
|
||||
<td><input type="text" name="invoice_phone" class="layui-input" value=""></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray2">纳税人识别号<span style="color: red">*</span></td>
|
||||
<td><input type="text" name="invoice_tax" class="layui-input" value=""></td>
|
||||
<td class="layui-td-gray2">开户行<span style="color: red">*</span></td>
|
||||
<td><input type="text" name="invoice_bank" class="layui-input" value=""></td>
|
||||
<td class="layui-td-gray2">银行账号<span style="color: red">*</span></td>
|
||||
<td><input type="text" name="invoice_banking" class="layui-input" value=""></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray2">银行营业网点<span style="color: red">*</span></td>
|
||||
<td><input type="text" name="invoice_banking" class="layui-input" value=""></td>
|
||||
<td class="layui-td-gray2">地址<span style="color: red">*</span></td>
|
||||
<td colspan="3"><input type="text" name="invoice_address" class="layui-input" value=""></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray2">备注信息</td>
|
||||
<td colspan="5"><textarea name="remark" placeholder="请输入备注信息" class="layui-textarea"></textarea></td>
|
||||
</tr>
|
||||
</table>
|
||||
{else/}
|
||||
<table class="layui-table">
|
||||
<tr>
|
||||
<td class="layui-td-gray2">报销凭证编号<span style="color: red">*</span></td>
|
||||
<td class="layui-td-gray">开票金额<span style="color: red">*</span></td>
|
||||
<td>
|
||||
<input type="text" name="code" autocomplete="off" lay-verify="required" placeholder="报销凭证编号" lay-reqText="请填写报销凭证编号" class="layui-input" value="{$expense.code}">
|
||||
<input type="text" class="layui-input" name="amount" lay-verify="required" placeholder="请输入开票金额" lay-reqText="请输入开票金额" value="">
|
||||
</td>
|
||||
<td class="layui-td-gray">入账月份<span style="color: red">*</span></td>
|
||||
<td class="layui-td-gray2">开票类型<span style="color: red">*</span></td>
|
||||
<td>
|
||||
<input type="text" class="layui-input" id="income_month" name="income_month" lay-verify="required" placeholder="请选择入账月份" lay-reqText="请选择入账月份" readonly value="{$expense.income_month}">
|
||||
</td>
|
||||
<td class="layui-td-gray2">原始单据日期<span style="color: red">*</span></td>
|
||||
<td>
|
||||
<input type="text" class="layui-input" id="expense_time" name="expense_time" lay-verify="required" placeholder="请选择原始单据日期" lay-reqText="请选择原始单据日期" readonly value="{$expense.expense_time}">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray2">报销人<span style="color: red">*</span></td>
|
||||
<td>
|
||||
<input type="text" name="name" placeholder="请选择报销人" readonly class="layui-input" lay-verify="required" lay-reqText="请选择报销人" value="{$expense.user_name}" readonly>
|
||||
<input type="hidden" name="uid" autocomplete="off" class="layui-input" value="{$expense.uid}">
|
||||
</td>
|
||||
<td class="layui-td-gray">报销部门</td>
|
||||
<td>
|
||||
<input type="text" name="department" readonly class="layui-input" value="{$expense.department}" readonly>
|
||||
<input type="hidden" name="did" autocomplete="off" class="layui-input" value="{$expense.did}">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray2">费用金额<span style="color: red">*</span><button class="layui-btn layui-btn-normal layui-btn-sm" type="button" id="addInterfix">+报销选项</button></td>
|
||||
<td colspan="5">
|
||||
<div>
|
||||
<table id="interfix" class="layui-table layui-table-min">
|
||||
<tr>
|
||||
<th width="200">报销金额</th>
|
||||
<th width="300">报销类别</th>
|
||||
<th>备注信息</th>
|
||||
<th width="100">操作</th>
|
||||
</tr>
|
||||
{volist name="$expense.list" id="val"}
|
||||
<tr class="more_interfix">
|
||||
<td><input type="text" name="amount[]" value="{$val.amount}" class="layui-input" lay-verify="required|number" lay-reqText="请完善报销金额"></td>
|
||||
<td style="text-align:left">
|
||||
<select name="cate_id[]" lay-verify="required" lay-reqText="请选择报销项目">
|
||||
<option value="">请选择</option>
|
||||
{volist name="$expense_cate" id="vo"}
|
||||
<option value="{$vo.id}" {eq name="$vo.id" value="$val.cate_id"} selected{/eq}>{$vo.title}</option>
|
||||
{/volist}
|
||||
<select name="invoice_type" lay-verify="required" lay-reqText="请选择开票类型">
|
||||
<option value="">请选择开票类型</option>
|
||||
<option value="1">增值税专用发票</option>
|
||||
<option value="2">增值税普通发票</option>
|
||||
</select>
|
||||
</td>
|
||||
<td><input type="text" name="remarks[]" class="layui-input" value="{$val.remarks}"><input type="hidden" name="expense_id[]" class="layui-input" value="{$val.id}"></td>
|
||||
<td><a class="layui-btn layui-btn-danger layui-btn-xs" data-id="{$val.id}" lay-event="del">删除</a></td>
|
||||
</tr>
|
||||
{/volist}
|
||||
</table>
|
||||
</div>
|
||||
<td class="layui-td-gray2">发票审核人<span style="color: red">*</span></td>
|
||||
<td>
|
||||
<select name="invoice_type" lay-verify="required" lay-reqText="请选择开票类型">
|
||||
<option value="">请选择开票类型</option>
|
||||
<option value="1">增值税专用发票</option>
|
||||
<option value="2">增值税普通发票</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<tr>
|
||||
<td class="layui-td-gray2">抬头类型<span style="color: red">*</span></td>
|
||||
<td>
|
||||
<input type="radio" name="status" value="1" title="企业" checked>
|
||||
<input type="radio" name="status" value="2" title="个人">
|
||||
</td>
|
||||
<td class="layui-td-gray">开票抬头<span style="color: red">*</span></td>
|
||||
<td><input type="text" name="invoice_title" class="layui-input" value=""></td>
|
||||
<td class="layui-td-gray">电话号码<span style="color: red">*</span></td>
|
||||
<td><input type="text" name="invoice_phone" class="layui-input" value=""></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray2">纳税人识别号<span style="color: red">*</span></td>
|
||||
<td><input type="text" name="invoice_tax" class="layui-input" value=""></td>
|
||||
<td class="layui-td-gray2">开户行<span style="color: red">*</span></td>
|
||||
<td><input type="text" name="invoice_bank" class="layui-input" value=""></td>
|
||||
<td class="layui-td-gray2">银行账号<span style="color: red">*</span></td>
|
||||
<td><input type="text" name="invoice_banking" class="layui-input" value=""></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray2">银行营业网点<span style="color: red">*</span></td>
|
||||
<td><input type="text" name="invoice_banking" class="layui-input" value=""></td>
|
||||
<td class="layui-td-gray2">地址<span style="color: red">*</span></td>
|
||||
<td colspan="3"><input type="text" name="invoice_address" class="layui-input" value=""></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray2">备注信息</td>
|
||||
<td colspan="5"><textarea name="remark" placeholder="请输入备注信息" class="layui-textarea"></textarea></td>
|
||||
</tr>
|
||||
{/if}
|
||||
|
||||
<div class="layui-form-item" style="padding-top:10px;">
|
||||
@ -135,14 +126,6 @@
|
||||
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||
</div>
|
||||
</form>
|
||||
<div id="selectTem" style="display:none;">
|
||||
<select name="cate_id[]" lay-verify="required" lay-reqText="请选择报销项目">
|
||||
<option value="">请选择</option>
|
||||
{volist name="$expense_cate" id="vo"}
|
||||
<option value="{$vo.id}">{$vo.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
@ -152,41 +135,8 @@
|
||||
function init(layui){
|
||||
var form = layui.form
|
||||
,layer = layui.layer
|
||||
,table = layui.table
|
||||
,employeepicker = layui.employeepicker//很重要
|
||||
,laydate = layui.laydate;
|
||||
|
||||
laydate.render({
|
||||
elem: '#income_month',
|
||||
type:'month',
|
||||
showBottom: false
|
||||
});
|
||||
|
||||
laydate.render({
|
||||
elem: '#expense_time',
|
||||
max:0,
|
||||
showBottom: false
|
||||
});
|
||||
|
||||
// 选择员工
|
||||
$('.body-content').on('click','[name="name"]',function(){
|
||||
var that = $(this);
|
||||
var names = that.val(), ids = $('[name="uid"]').val();
|
||||
employeepicker.init({
|
||||
ids: ids,
|
||||
names: names,
|
||||
type: 0,
|
||||
department_url:"{:url('/home/api/get_department_tree')}",
|
||||
employee_url:"{:url('/home/api/get_employee')}",
|
||||
callback: function (ids, names, dids, departments) {
|
||||
$('[name="uid"]').val(ids);
|
||||
$('[name="did"]').val(dids);
|
||||
$('[name="department"]').val(departments);
|
||||
that.val(names);
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
//监听提交
|
||||
form.on('submit(webform)', function(data){
|
||||
var interfix = $('.more_interfix');
|
||||
@ -195,7 +145,7 @@
|
||||
return false;
|
||||
}
|
||||
$.ajax({
|
||||
url:"{:url('/home/expense/post_submit')}",
|
||||
url:"{:url('/home/expense/add')}",
|
||||
type:'post',
|
||||
data:data.field,
|
||||
success:function(e){
|
||||
@ -207,73 +157,9 @@
|
||||
})
|
||||
return false;
|
||||
});
|
||||
|
||||
//添加报销信息表格
|
||||
$('#addInterfix').on('click',function(){
|
||||
var html = '';
|
||||
var selectTem=$('#selectTem').html();
|
||||
html += '<tr class="more_interfix">\
|
||||
<td><input type="text" name="amount[]" class="layui-input" lay-verify="required|number" lay-reqText="请完善报销金额"></td>\
|
||||
<td style="text-align:left">'+selectTem+'</td>\
|
||||
<td><input type="text" name="remarks[]" class="layui-input"><input type="hidden" name="expense_id[]" class="layui-input" value="0"></td>\
|
||||
<td><a class="layui-btn layui-btn-danger layui-btn-xs" data-id="0" lay-event="del">删除</a></td>\
|
||||
</tr>';
|
||||
$("#interfix").append(html).find('.tr-none').remove();
|
||||
form.render();
|
||||
});
|
||||
|
||||
$('#interfix').on('click', '[lay-event="del"]', function() {
|
||||
if($('.more_interfix').length<2){
|
||||
layer.msg('至少保留一个报销选项');
|
||||
return false;
|
||||
}
|
||||
var that=$(this);
|
||||
var _id = that.data('id');
|
||||
if(_id>0){
|
||||
layer.confirm('确定删除该报销数据项?', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
$.ajax({
|
||||
url: "{:url('home/api/del_expense_interfix')}",
|
||||
data: {
|
||||
id: _id
|
||||
},
|
||||
success: function(res) {
|
||||
layer.msg(res.msg);
|
||||
if (res.code == 0) {
|
||||
that.parents(".more_interfix").remove();
|
||||
}
|
||||
}
|
||||
})
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
else{
|
||||
that.parents(".more_interfix").remove();
|
||||
}
|
||||
});
|
||||
|
||||
//报销成员修改
|
||||
$('[name="nickname"]').on('click',function() {
|
||||
var that=$(this);
|
||||
var ids=that.next().val(),names=that.val();
|
||||
employeepicker.init({
|
||||
ids:ids,
|
||||
names:names,
|
||||
type:0,
|
||||
callback:function(ids,names,dids,departments){
|
||||
that.val(names);
|
||||
that.next().val(ids);
|
||||
$('[name="department"]').val(departments);
|
||||
$('[name="did"]').val(dids);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
{include file="common/layui" base='base' extend="['employeepicker']" callback="init" /}
|
||||
{include file="common/layui" base='base' extend="[]" callback="init" /}
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
@ -1,175 +0,0 @@
|
||||
{extend name="common/base"/}
|
||||
{block name="style"}
|
||||
<style>
|
||||
.layui-table-min th{font-size:13px; text-align:center; background-color:#f8f8f8;}
|
||||
.layui-table-min td{font-size:13px; padding:6px;text-align:center;}
|
||||
</style>
|
||||
{/block}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="body-content">
|
||||
<h3>报销详情</h3>
|
||||
<table class="layui-table">
|
||||
<tr>
|
||||
<td class="layui-td-gray2">报销凭证编号</td>
|
||||
<td>{$expense.code}</td>
|
||||
<td class="layui-td-gray2">入账月份</td>
|
||||
<td>{$expense.income_month}</td>
|
||||
<td class="layui-td-gray2">原始单据日期</td>
|
||||
<td>{$expense.expense_time}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray2">报销人</td>
|
||||
<td>{$expense.user_name}</td>
|
||||
<td class="layui-td-gray2">报销部门</td>
|
||||
<td>{$expense.department}</td>
|
||||
<td class="layui-td-gray">报销总费用(元)</td>
|
||||
<td><span style="color:#1E9FFF">{$expense.amount}</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray2">报销状态</td>
|
||||
<td colspan="5">
|
||||
{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>
|
||||
{elseif condition="$expense.check_status == 2"}
|
||||
<span style="color:#5FB878">审核通过</span>
|
||||
{elseif condition="$expense.check_status == 3"}
|
||||
<span style="color:#009688">已打款</span>
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
{if condition="$expense.check_admin_id > 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>
|
||||
{/if}
|
||||
{if condition="$expense.pay_admin_id > 0"}
|
||||
<tr>
|
||||
<td class="layui-td-gray2">打款确认人</td>
|
||||
<td>{$expense.pay_admin}</td>
|
||||
<td class="layui-td-gray2">打款确认时间</td>
|
||||
<td colspan="3">{$expense.pay_time}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
<tr>
|
||||
<td class="layui-td-gray2">费用金额</td>
|
||||
<td colspan="5">
|
||||
<div>
|
||||
<table class="layui-table layui-table-min">
|
||||
<tr>
|
||||
<th width="200">报销金额(元)</th>
|
||||
<th width="300">报销类别</th>
|
||||
<th>备注信息</th>
|
||||
</tr>
|
||||
{volist name="$expense.list" id="vo"}
|
||||
<tr>
|
||||
<td>{$vo.amount}</td>
|
||||
<td>{$vo.cate_title}</td>
|
||||
<td style="text-align:left">{$vo.remarks}</td>
|
||||
</tr>
|
||||
{/volist}
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</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}
|
||||
{eq name="$expense.check_status" value="1"}
|
||||
<button class="layui-btn layui-btn-danger" lay-event="checkno">审核不通过</button>
|
||||
<button class="layui-btn" lay-event="checkok">审核通过</button>
|
||||
{/eq}
|
||||
{eq name="$expense.check_status" value="2"}
|
||||
<button class="layui-btn" lay-event="payed">已打款确认</button>
|
||||
{/eq}
|
||||
</div>
|
||||
</div>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
function init(layui) {
|
||||
//监听返回
|
||||
$('.body-content').on('click', '[lay-event="back"]', function () {
|
||||
window.location.href="{:url('home/expense/index')}";
|
||||
return false;
|
||||
});
|
||||
|
||||
$('.body-content').on('click', '[lay-event="checkok"]', function () {
|
||||
var id=$('#id').val();
|
||||
layer.confirm('确定审核通过该报销申请?', {icon: 3, title:'提示'}, function(index){
|
||||
$.ajax({
|
||||
url:"{:url('home/expense/check')}",
|
||||
data:{id:id,check_status:2},
|
||||
success:function(res){
|
||||
layer.msg(res.msg);
|
||||
if(res.code==0){
|
||||
window.setTimeout(function(){
|
||||
window.location.reload();
|
||||
},1200)
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
return false;
|
||||
});
|
||||
|
||||
$('.body-content').on('click', '[lay-event="checkno"]', function () {
|
||||
var id=$('#id').val();
|
||||
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},
|
||||
success:function(res){
|
||||
layer.msg(res.msg);
|
||||
if(res.code==0){
|
||||
window.setTimeout(function(){
|
||||
parent.location.reload();
|
||||
},1200)
|
||||
}
|
||||
}
|
||||
})
|
||||
layer.closeAll();
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
$('.body-content').on('click', '[lay-event="payed"]', function () {
|
||||
var id=$('#id').val();
|
||||
layer.confirm('确定已经打款?', {icon: 3, title:'提示'}, function(index){
|
||||
$.ajax({
|
||||
url:"{:url('home/expense/check')}",
|
||||
data:{id:id,check_status:3},
|
||||
success:function(res){
|
||||
layer.msg(res.msg);
|
||||
if(res.code==0){
|
||||
window.setTimeout(function(){
|
||||
parent.location.reload();
|
||||
},1200)
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
</script>
|
||||
{include file="common/layui" base='base' extend="[]" callback="init" /}
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
@ -4,8 +4,10 @@
|
||||
<div class="body-content">
|
||||
<table class="layui-hide" id="test" lay-filter="test"></table>
|
||||
</div>
|
||||
<script type="text/html" id="barDemo">
|
||||
<div class="layui-btn-group"><span class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">详情</span><span class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</span></div>
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container">
|
||||
<span class="layui-btn layui-btn-normal layui-btn-sm" lay-event="add">+ 申请开票</span>
|
||||
</div>
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
@ -20,9 +22,9 @@
|
||||
|
||||
var tableIns = table.render({
|
||||
elem: '#test',
|
||||
title: '报销管理列表',
|
||||
title: '发票列表',
|
||||
toolbar: '#toolbarDemo',
|
||||
url: "{:url('home/expense/index')}", //数据接口
|
||||
url: "{:url('home/invoice/index')}", //数据接口
|
||||
page: true, //开启分页
|
||||
limit: 20,
|
||||
cols: [
|
||||
@ -34,46 +36,36 @@
|
||||
width: 80
|
||||
}, {
|
||||
field: 'amount',
|
||||
title: '报销总金额(元)',
|
||||
title: '客户名称',
|
||||
width: 240,
|
||||
},{
|
||||
field: 'amount',
|
||||
title: '开票金额(元)',
|
||||
align: 'right',
|
||||
width: 120,
|
||||
},{
|
||||
field: 'invoice_type',
|
||||
title: '开票类型',
|
||||
align: 'right',
|
||||
width: 90,
|
||||
},{
|
||||
field: 'user_name',
|
||||
title: '报销人',
|
||||
title: '申请人',
|
||||
align: 'center',
|
||||
width: 90
|
||||
width: 100
|
||||
},{
|
||||
field: 'department',
|
||||
title: '报销部门',
|
||||
title: '所属部门',
|
||||
align: 'center',
|
||||
width: 120
|
||||
},{
|
||||
field: 'code',
|
||||
title: '报销凭证编号',
|
||||
width: 150,
|
||||
},{
|
||||
field: 'expense_time',
|
||||
title: '原始单据日期',
|
||||
align: 'center',
|
||||
width: 110
|
||||
},{
|
||||
field: 'income_month',
|
||||
title: '入账月份',
|
||||
align: 'center',
|
||||
width: 100
|
||||
},{
|
||||
field: 'admin_name',
|
||||
title: '登记人',
|
||||
align: 'center',
|
||||
width: 100
|
||||
},{
|
||||
field: 'create_time',
|
||||
title: '录入时间',
|
||||
title: '申请时间',
|
||||
align: 'center',
|
||||
width: 150
|
||||
},{
|
||||
field: 'status',
|
||||
title: '状态',
|
||||
title: '审核状态',
|
||||
align: 'center',
|
||||
width: 120,
|
||||
templet:function(d){
|
||||
@ -101,31 +93,60 @@
|
||||
width: 136
|
||||
},{
|
||||
field: 'pay_name',
|
||||
title: '打款确认人',
|
||||
title: '开票人',
|
||||
align: 'center',
|
||||
width: 90
|
||||
},{
|
||||
field: 'pay_time',
|
||||
title: '打款确认时间',
|
||||
title: '开票时间',
|
||||
align: 'center',
|
||||
width: 136
|
||||
},{
|
||||
field: 'pay_time',
|
||||
title: '发票号码',
|
||||
align: 'center',
|
||||
width: 136
|
||||
}, {
|
||||
field: 'right',
|
||||
fixed: 'right',
|
||||
title: '操作',
|
||||
toolbar: '#barDemo',
|
||||
width: 100,
|
||||
align: 'center'
|
||||
width: 130,
|
||||
align: 'right',
|
||||
templet:function(d){
|
||||
var html='<div class="layui-btn-group">';
|
||||
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+='</div>';
|
||||
return html;
|
||||
}
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
//表头工具栏事件
|
||||
table.on('toolbar(test)', function(obj){
|
||||
if (obj.event === 'add') {
|
||||
rightpage.open("{:url('home/invoice/add')}");
|
||||
return;
|
||||
}
|
||||
});
|
||||
//监听行工具事件
|
||||
table.on('tool(test)', function(obj) {
|
||||
var data = obj.data;
|
||||
if (obj.event === 'view') {
|
||||
rightpage.open("/home/expense/check?id="+data.id);
|
||||
rightpage.open("/home/invoice/check?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'edit') {
|
||||
rightpage.open("/home/invoice/add?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'del') {
|
||||
@ -134,7 +155,7 @@
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
$.ajax({
|
||||
url: "{:url('home/expense/delete')}",
|
||||
url: "{:url('home/invoice/delete')}",
|
||||
data: {
|
||||
id: data.id
|
||||
},
|
||||
|
@ -1,161 +0,0 @@
|
||||
{extend name="common/base"/}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="body-content">
|
||||
<table class="layui-hide" id="test" lay-filter="test"></table>
|
||||
</div>
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container">
|
||||
<a class="layui-btn layui-btn-normal layui-btn-sm" href="{:url('home/expense/add')}">添加报销登记</a>
|
||||
</div>
|
||||
</script>
|
||||
<script type="text/html" id="barDemo">
|
||||
<div class="layui-btn-group"><span class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">详情</span><span class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</span></div>
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
function init(layui) {
|
||||
var table = layui.table,
|
||||
rightpage = layui.rightpage,
|
||||
form = layui.form;
|
||||
|
||||
var tableIns = table.render({
|
||||
elem: '#test',
|
||||
title: '报销管理列表',
|
||||
toolbar: '#toolbarDemo',
|
||||
url: "{:url('home/expense/index')}", //数据接口
|
||||
page: true, //开启分页
|
||||
limit: 20,
|
||||
cols: [
|
||||
[
|
||||
{
|
||||
field: 'id',
|
||||
title: 'ID号',
|
||||
align: 'center',
|
||||
width: 80
|
||||
}, {
|
||||
field: 'amount',
|
||||
title: '报销总金额(元)',
|
||||
align: 'right',
|
||||
width: 120,
|
||||
},{
|
||||
field: 'user_name',
|
||||
title: '报销人',
|
||||
align: 'center',
|
||||
width: 90
|
||||
},{
|
||||
field: 'department',
|
||||
title: '报销部门',
|
||||
align: 'center',
|
||||
width: 120
|
||||
},{
|
||||
field: 'code',
|
||||
title: '报销凭证编号',
|
||||
width: 150,
|
||||
},{
|
||||
field: 'expense_time',
|
||||
title: '原始单据日期',
|
||||
align: 'center',
|
||||
width: 110
|
||||
},{
|
||||
field: 'income_month',
|
||||
title: '入账月份',
|
||||
align: 'center',
|
||||
width: 100
|
||||
},{
|
||||
field: 'admin_name',
|
||||
title: '登记人',
|
||||
align: 'center',
|
||||
width: 100
|
||||
},{
|
||||
field: 'create_time',
|
||||
title: '录入时间',
|
||||
align: 'center',
|
||||
width: 150
|
||||
},{
|
||||
field: '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>';
|
||||
}
|
||||
else if(d.check_status==2){
|
||||
html='<span style="color:#5FB878">审核通过</span>';
|
||||
}
|
||||
else if(d.check_status==3){
|
||||
html='<span style="color:#009688">已打款</span>';
|
||||
}
|
||||
return html;
|
||||
}
|
||||
},{
|
||||
field: 'check_name',
|
||||
title: '审核人',
|
||||
align: 'center',
|
||||
width: 90
|
||||
},{
|
||||
field: 'check_time',
|
||||
title: '审核时间',
|
||||
align: 'center',
|
||||
width: 136
|
||||
},{
|
||||
field: 'pay_name',
|
||||
title: '打款确认人',
|
||||
align: 'center',
|
||||
width: 90
|
||||
},{
|
||||
field: 'pay_time',
|
||||
title: '打款确认时间',
|
||||
align: 'center',
|
||||
width: 136
|
||||
}, {
|
||||
field: 'right',
|
||||
fixed: 'right',
|
||||
title: '操作',
|
||||
toolbar: '#barDemo',
|
||||
width: 100,
|
||||
align: 'center'
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
//监听行工具事件
|
||||
table.on('tool(test)', function(obj) {
|
||||
var data = obj.data;
|
||||
if (obj.event === 'view') {
|
||||
rightpage.open("/home/expense/check?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'del') {
|
||||
layer.confirm('确定删除该报销记录吗?', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
$.ajax({
|
||||
url: "{:url('home/expense/delete')}",
|
||||
data: {
|
||||
id: data.id
|
||||
},
|
||||
success: function(res) {
|
||||
layer.msg(res.msg);
|
||||
if (res.code == 0) {
|
||||
obj.del();
|
||||
}
|
||||
}
|
||||
})
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{include file="common/layui" base='base' extend="['rightpage']" use="['table','form']" callback="init" /}
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
@ -8,7 +8,7 @@
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="body-content">
|
||||
<h3>报销详情</h3>
|
||||
<h3 class="h3-title">报销详情</h3>
|
||||
<table class="layui-table">
|
||||
<tr>
|
||||
<td class="layui-td-gray2">报销凭证编号</td>
|
||||
@ -78,11 +78,19 @@
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{if condition="($expense.check_status == 0) AND ($uid == $expense.admin_id)"}
|
||||
<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>
|
||||
</div>
|
||||
{/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>
|
||||
{/eq}
|
||||
</div>
|
||||
</div>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
@ -91,9 +99,68 @@
|
||||
{block name="script"}
|
||||
<script>
|
||||
function init(layui) {
|
||||
$('.body-content').on('click', '[lay-event="checkok"]', function () {
|
||||
var id=$('#id').val();
|
||||
layer.confirm('确定审核通过该报销申请?', {icon: 3, title:'提示'}, function(index){
|
||||
$.ajax({
|
||||
url:"{:url('home/expense/check')}",
|
||||
data:{id:id,check_status:2},
|
||||
success:function(res){
|
||||
layer.msg(res.msg);
|
||||
if(res.code==0){
|
||||
window.setTimeout(function(){
|
||||
window.location.reload();
|
||||
},1200)
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
return false;
|
||||
});
|
||||
|
||||
$('.body-content').on('click', '[lay-event="checkno"]', function () {
|
||||
var id=$('#id').val();
|
||||
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},
|
||||
success:function(res){
|
||||
layer.msg(res.msg);
|
||||
if(res.code==0){
|
||||
window.setTimeout(function(){
|
||||
parent.location.reload();
|
||||
},1200)
|
||||
}
|
||||
}
|
||||
})
|
||||
layer.closeAll();
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
$('.body-content').on('click', '[lay-event="payed"]', function () {
|
||||
var id=$('#id').val();
|
||||
layer.confirm('确定已经打款?', {icon: 3, title:'提示'}, function(index){
|
||||
$.ajax({
|
||||
url:"{:url('home/expense/check')}",
|
||||
data:{id:id,check_status:3},
|
||||
success:function(res){
|
||||
layer.msg(res.msg);
|
||||
if(res.code==0){
|
||||
window.setTimeout(function(){
|
||||
parent.location.reload();
|
||||
},1200)
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
</script>
|
||||
{include file="common/layui" base='base' extend="[]" callback="init" /}
|
||||
{/block}
|
||||
|
@ -310,10 +310,10 @@
|
||||
eventLimit: false, // 当事件过多时是否显示更多按钮
|
||||
selectable: true,
|
||||
select: function(arg) {
|
||||
detail=default_detail;
|
||||
|
||||
var startTime=arg.start.getFullYear()+'-'+toNumer(arg.start.getMonth()+1)+'-'+toNumer(arg.start.getDate())+' '+toNumer(arg.start.getHours())+':'+toNumer(arg.start.getMinutes());
|
||||
var endTime=arg.end.getFullYear()+'-'+toNumer(arg.end.getMonth()+1)+'-'+toNumer(arg.end.getDate())+' '+toNumer(arg.end.getHours())+':'+toNumer(arg.end.getMinutes());
|
||||
console.log(arg);
|
||||
detail={};
|
||||
var startTime=arg.start.getFullYear()+'-'+(arg.start.getMonth()+1)+'-'+(arg.start.getDate())+' '+(arg.start.getHours())+':'+(arg.start.getMinutes());
|
||||
var endTime=arg.end.getFullYear()+'-'+(arg.end.getMonth()+1)+'-'+(arg.end.getDate())+' '+(arg.end.getHours())+':'+(arg.end.getMinutes());
|
||||
|
||||
detail['start_time']=startTime;
|
||||
detail['end_time']= endTime;
|
||||
@ -328,7 +328,7 @@
|
||||
events: function(fetchInfo, successCallback, failureCallback ){
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"/home/schedule/index",
|
||||
url:"/home/schedule/calendar",
|
||||
dataType:"json",
|
||||
data:{start:fetchInfo.startStr,end:fetchInfo.endStr,uid:uid},
|
||||
success:function(result){
|
||||
|
@ -1,734 +0,0 @@
|
||||
{extend name="common/base"/}
|
||||
{block name="style"}
|
||||
<style>
|
||||
body{background-color: #eff0f4;}
|
||||
.layui-row h2{font-size: 18px; height:36px}
|
||||
.layui-card-body {padding:10px 15px 0; overflow: hidden;}
|
||||
.layui-card-header{padding-top: 5px;}
|
||||
.layui-card-header h2{font-size: 18px; float: left;}
|
||||
.layui-card-header h3{font-size: 16px;}
|
||||
.layuiadmin-btn-group{float: right;}
|
||||
.layui-card-body dl{width: 33.3%; float:left; display: block;}
|
||||
.layui-card-tips{font-size: 12px; color:#999;}
|
||||
.layui-card-value{padding:5px 0 15px; font-size: 18px; color:#1E9FFF;}
|
||||
.creat-table{float: right; font-size: 14px; color:#0088FF; cursor: pointer;}
|
||||
.show-item{padding-bottom: 20px;}
|
||||
.show-item li{padding: 1px 6px; cursor: pointer; display: inline-block; border: 1px solid #0088FF; color:#0088FF; font-size: 12px; margin: 6px; border-radius: 3px;}
|
||||
.show-item li.on{border: 1px solid #999; color:#999;}
|
||||
.creat-table{float: right; font-size: 14px; color:#0088FF; cursor: pointer;}
|
||||
</style>
|
||||
<script src="__ADMIN__/echarts.min.js"></script>
|
||||
{/block}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="vae-content" style="background-color: #f1f2f7;padding:20px 10px;">
|
||||
<div class="layui-row layui-col-space15">
|
||||
|
||||
<div id="section1" class="layui-row layui-col-space15">
|
||||
<div class="layui-col-md3">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">
|
||||
<h3>项目统计</h3>
|
||||
</div>
|
||||
<div class="layui-card-body">
|
||||
<dl>
|
||||
<dt class="layui-card-tips">项目总数</dt>
|
||||
<dd class="layui-card-value" id="project_total">-</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt class="layui-card-tips">已完成的</dt>
|
||||
<dd class="layui-card-value" id="project_finish">-</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt class="layui-card-tips">正在进行的</dt>
|
||||
<dd class="layui-card-value" id="project_doing">-</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md3">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">
|
||||
<h3>工作任务</h3>
|
||||
</div>
|
||||
<div class="layui-card-body">
|
||||
<dl>
|
||||
<dt class="layui-card-tips">任务总数</dt>
|
||||
<dd class="layui-card-value" id="task_total">-</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt class="layui-card-tips">已完成的</dt>
|
||||
<dd class="layui-card-value" id="task_finish">-</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt class="layui-card-tips">未完成的</dt>
|
||||
<dd class="layui-card-value" id="task_doing">-</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md3">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">
|
||||
<h3>工时统计</h3>
|
||||
</div>
|
||||
<div class="layui-card-body">
|
||||
<dl>
|
||||
<dt class="layui-card-tips">总工时</dt>
|
||||
<dd class="layui-card-value" id="work_total">-</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt class="layui-card-tips">外勤工时</dt>
|
||||
<dd class="layui-card-value" id="work_out">-</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt class="layui-card-tips">案头工时</dt>
|
||||
<dd class="layui-card-value" id="work_in">-</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md3">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">
|
||||
<h3>工作记录</h3>
|
||||
</div>
|
||||
<div class="layui-card-body">
|
||||
<dl>
|
||||
<dt class="layui-card-tips">总记录</dt>
|
||||
<dd class="layui-card-value" id="record_total">-</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt class="layui-card-tips">项目记录</dt>
|
||||
<dd class="layui-card-value" id="record_project">-</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt class="layui-card-tips">日常记录</dt>
|
||||
<dd class="layui-card-value" id="record_daily">-</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-row layui-col-space15">
|
||||
<div class="layui-col-md6 layui-anim layui-anim-scale">
|
||||
<div class="layui-card">
|
||||
<div id="plan" style="width: 100%; height:268px"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md6 layui-anim layui-anim-scale">
|
||||
<div class="layui-card">
|
||||
<div id="schedule" style="width: 100%; height:268px"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-md12 layui-anim layui-anim-scale">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<div id="chartYearProject" style="width: 100%;height:320px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-md12 layui-anim layui-anim-scale">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<div id="chartServiceAllProject" style="width: 100%;height:500px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-md12 layui-anim layui-anim-scale">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<div id="chartIndustryAllProject" style="width: 100%;height:500px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-md12 layui-anim layui-anim-scale">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<div id="chartIndustryYear" style="width: 100%;height:500px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script src="__ADMIN__/echarts.tool.js?v1"></script>
|
||||
<script>
|
||||
var currentYear = '{$this_year}',uid="{$this_uid}";
|
||||
|
||||
function getVirtulData(year,works) {
|
||||
var date = +echarts.number.parseDate(year + '-01-01');
|
||||
var end = +echarts.number.parseDate((+year + 1) + '-01-01');
|
||||
var dayTime = 3600 * 24 * 1000;
|
||||
var data = [];
|
||||
for (var time = date; time < end; time += dayTime) {
|
||||
var this_date = echarts.format.formatTime('yyyy-MM-dd', time);
|
||||
if(works[this_date]){
|
||||
data.push([this_date,works[this_date]]);
|
||||
}else{
|
||||
data.push([this_date,0]);
|
||||
}
|
||||
}
|
||||
//console.log(data);
|
||||
return data;
|
||||
}
|
||||
|
||||
//按业务类型统计
|
||||
var serviceAllProject = echarts.init(document.getElementById('chartServiceAllProject'),echartsTheme);
|
||||
function chartServiceAllProject(project,data1,data2){
|
||||
var optionD = {
|
||||
color: ['#2D9AFF', '#FF5722'],
|
||||
grid: {
|
||||
left: '5px',
|
||||
right: '5px',
|
||||
bottom: '20px',
|
||||
top: '72px',
|
||||
containLabel: true
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'cross',
|
||||
crossStyle: {
|
||||
color: '#999'
|
||||
}
|
||||
}
|
||||
},
|
||||
title: {
|
||||
text: currentYear + '年度各业务类型项目数量及项目工时情况',
|
||||
top: 5,
|
||||
left: 0,
|
||||
textStyle: {
|
||||
fontSize: 20,
|
||||
color:'#333333',
|
||||
fontWeight:800
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
data: ['项目数量','项目工时'],
|
||||
top: 10
|
||||
},
|
||||
xAxis: [{
|
||||
type: 'category',
|
||||
boundaryGap: true,
|
||||
axisPointer: {
|
||||
type: 'shadow'
|
||||
},
|
||||
axisLabel: {
|
||||
rotate: 30,
|
||||
interval: 0
|
||||
},
|
||||
data: project
|
||||
}],
|
||||
yAxis: [
|
||||
{
|
||||
type: 'value',
|
||||
scale: true,
|
||||
name: '数量',
|
||||
min: 0,
|
||||
boundaryGap: [0.2, 0.2]
|
||||
},{
|
||||
type: 'value',
|
||||
scale: true,
|
||||
name: '工时',
|
||||
min: 0,
|
||||
boundaryGap: [0.2, 0.2]
|
||||
}
|
||||
],
|
||||
series: [{
|
||||
name: '项目数量',
|
||||
type: 'bar',
|
||||
barWidth: 30, // 柱图宽度
|
||||
barMaxWidth: 50, // 最大宽度
|
||||
data: data1
|
||||
},
|
||||
{
|
||||
name: '项目工时',
|
||||
type: 'line',
|
||||
yAxisIndex: 1,
|
||||
data: data2
|
||||
}
|
||||
]
|
||||
};
|
||||
serviceAllProject.setOption(optionD);
|
||||
}
|
||||
|
||||
//按行业类型统计
|
||||
var industryAllProject = echarts.init(document.getElementById('chartIndustryAllProject'),echartsTheme);
|
||||
function chartIndustryAllProject(project,data1,data2){
|
||||
var optionC = {
|
||||
color: ['#2D9AFF', '#FF5722'],
|
||||
grid: {
|
||||
left: '5px',
|
||||
right: '5px',
|
||||
bottom: '20px',
|
||||
top: '72px',
|
||||
containLabel: true
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'cross',
|
||||
crossStyle: {
|
||||
color: '#999'
|
||||
}
|
||||
}
|
||||
},
|
||||
title: {
|
||||
text: currentYear + '年度各行业项目数量及项目工时情况',
|
||||
top: 5,
|
||||
left: 0,
|
||||
textStyle: {
|
||||
fontSize: 20,
|
||||
color:'#333333',
|
||||
fontWeight:800
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
data: ['项目数量','项目工时'],
|
||||
top: 10
|
||||
},
|
||||
xAxis: [{
|
||||
type: 'category',
|
||||
boundaryGap: true,
|
||||
axisPointer: {
|
||||
type: 'shadow'
|
||||
},
|
||||
axisLabel: {
|
||||
rotate: 30,
|
||||
interval: 0
|
||||
},
|
||||
data: project
|
||||
}],
|
||||
yAxis: [
|
||||
{
|
||||
type: 'value',
|
||||
scale: true,
|
||||
name: '数量',
|
||||
min: 0,
|
||||
boundaryGap: [0.2, 0.2]
|
||||
},{
|
||||
type: 'value',
|
||||
scale: true,
|
||||
name: '工时',
|
||||
min: 0,
|
||||
boundaryGap: [0.2, 0.2]
|
||||
}
|
||||
],
|
||||
series: [{
|
||||
name: '项目数量',
|
||||
type: 'bar',
|
||||
barWidth: 30, // 柱图宽度
|
||||
barMaxWidth: 50, // 最大宽度
|
||||
data: data1
|
||||
},
|
||||
{
|
||||
name: '项目工时',
|
||||
type: 'line',
|
||||
yAxisIndex: 1,
|
||||
data: data2
|
||||
}
|
||||
]
|
||||
};
|
||||
industryAllProject.setOption(optionC);
|
||||
}
|
||||
|
||||
//按行业类型统计
|
||||
var industryYear = echarts.init(document.getElementById('chartIndustryYear'),echartsTheme);
|
||||
function chartIndustryYear(project,data1,data2){
|
||||
var last_year = (currentYear-1)+'';
|
||||
var optionB = {
|
||||
color: ['#2D9AFF', '#FF5722'],
|
||||
grid: {
|
||||
left: '5px',
|
||||
right: '5px',
|
||||
bottom: '20px',
|
||||
top: '72px',
|
||||
containLabel: true
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'cross',
|
||||
crossStyle: {
|
||||
color: '#999'
|
||||
}
|
||||
}
|
||||
},
|
||||
title: {
|
||||
text: currentYear + '年与'+last_year+'年各行业项目项目工时对比',
|
||||
top: 5,
|
||||
left: 0,
|
||||
textStyle: {
|
||||
fontSize: 20,
|
||||
color:'#333333',
|
||||
fontWeight:800
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
data: [currentYear,last_year],
|
||||
top: 10
|
||||
},
|
||||
xAxis: [{
|
||||
type: 'category',
|
||||
boundaryGap: true,
|
||||
axisPointer: {
|
||||
type: 'shadow'
|
||||
},
|
||||
axisLabel: {
|
||||
rotate: 30,
|
||||
interval: 0
|
||||
},
|
||||
data: project
|
||||
}],
|
||||
yAxis: [{
|
||||
type: 'value',
|
||||
scale: true,
|
||||
name: '工时',
|
||||
min: 0,
|
||||
boundaryGap: [0.2, 0.2]
|
||||
}
|
||||
],
|
||||
series: [{
|
||||
name: currentYear,
|
||||
type: 'bar',
|
||||
barWidth: 20, // 柱图宽度
|
||||
barMaxWidth: 30, // 最大宽度
|
||||
data: data1
|
||||
},
|
||||
{
|
||||
name: last_year,
|
||||
type: 'bar',
|
||||
type: 'bar',
|
||||
barWidth: 20, // 柱图宽度
|
||||
barMaxWidth: 30, // 最大宽度
|
||||
data: data2
|
||||
}
|
||||
]
|
||||
};
|
||||
industryYear.setOption(optionB);
|
||||
}
|
||||
|
||||
//按月份统计
|
||||
var yearProject = echarts.init(document.getElementById('chartYearProject'),echartsTheme);
|
||||
function chartYearProject(project,data1,data2) {
|
||||
var optionE = {
|
||||
color: ['#2D9AFF', '#FF5722'],
|
||||
grid: {
|
||||
left: '5px',
|
||||
right: '5px',
|
||||
bottom: '20px',
|
||||
top: '72px',
|
||||
containLabel: true
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'cross',
|
||||
crossStyle: {
|
||||
color: '#999'
|
||||
}
|
||||
}
|
||||
},
|
||||
title: {
|
||||
text: currentYear + '年度各个月项目数量及项目工时情况',
|
||||
top: 5,
|
||||
left: 0,
|
||||
textStyle: {
|
||||
fontSize: 20,
|
||||
color:'#333333',
|
||||
fontWeight:800
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
data: ['项目数量','项目工时'],
|
||||
top: 10
|
||||
},
|
||||
xAxis: [{
|
||||
type: 'category',
|
||||
boundaryGap: true,
|
||||
axisPointer: {
|
||||
type: 'shadow'
|
||||
},
|
||||
axisLabel: {
|
||||
rotate: 0,
|
||||
interval: 0
|
||||
},
|
||||
data: project
|
||||
}],
|
||||
yAxis: [
|
||||
{
|
||||
type: 'value',
|
||||
scale: true,
|
||||
name: '数量',
|
||||
min: 0,
|
||||
boundaryGap: [0.2, 0.2]
|
||||
},{
|
||||
type: 'value',
|
||||
scale: true,
|
||||
name: '工时',
|
||||
min: 0,
|
||||
boundaryGap: [0.2, 0.2]
|
||||
}
|
||||
],
|
||||
series: [{
|
||||
name: '项目数量',
|
||||
type: 'bar',
|
||||
barWidth: 30, // 柱图宽度
|
||||
barMaxWidth: 50, // 最大宽度
|
||||
data: data1
|
||||
},
|
||||
{
|
||||
name: '项目工时',
|
||||
type: 'line',
|
||||
yAxisIndex: 1,
|
||||
data: data2
|
||||
}
|
||||
]
|
||||
};
|
||||
yearProject.setOption(optionE);
|
||||
}
|
||||
|
||||
//任务情况
|
||||
var planChart = echarts.init(document.getElementById('plan'));
|
||||
function planChartProject(plan) {
|
||||
let today = new Date();
|
||||
let tYear = today.getFullYear();
|
||||
var planOps = {
|
||||
title: {
|
||||
top: 15,
|
||||
left: 10,
|
||||
text: currentYear+'年度工作任务情况'
|
||||
},
|
||||
tooltip: {
|
||||
padding: 6,
|
||||
formatter: function (obj) {
|
||||
var value = obj.value;
|
||||
var tips='<div style="font-size: 12px;">' + value[0] + '<br>';
|
||||
tips+='共 '+value[1] + ' 个工作任务';
|
||||
tips+='</div>';
|
||||
return tips;
|
||||
}
|
||||
},
|
||||
visualMap: {
|
||||
min: 0,
|
||||
max: 10,
|
||||
show: false,
|
||||
inRange: {
|
||||
color: ['#fafafa','#32AA66']
|
||||
}
|
||||
},
|
||||
calendar: {
|
||||
top: 75,
|
||||
left: 50,
|
||||
right: 30,
|
||||
range: tYear,
|
||||
cellSize: ['auto', 24],
|
||||
splitLine: {
|
||||
lineStyle: {
|
||||
color: '#aaa',
|
||||
type: 'dashed',
|
||||
}
|
||||
},
|
||||
itemStyle: {
|
||||
borderWidth: 0.5
|
||||
},
|
||||
yearLabel: {show: false},
|
||||
monthLabel: {
|
||||
nameMap: 'cn',
|
||||
fontSize: 12
|
||||
},
|
||||
dayLabel: {
|
||||
show: true,
|
||||
formatter: '{start} 1st',
|
||||
fontWeight: 'lighter',
|
||||
nameMap: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],
|
||||
fontSize: 12
|
||||
}
|
||||
},
|
||||
series: {
|
||||
type: 'heatmap',
|
||||
coordinateSystem: 'calendar',
|
||||
data: getVirtulData(tYear,plan)
|
||||
}
|
||||
};
|
||||
planChart.setOption(planOps);
|
||||
}
|
||||
|
||||
|
||||
|
||||
//工时记录
|
||||
var scheduleChart = echarts.init(document.getElementById('schedule'));
|
||||
function scheduleChartProject(works) {
|
||||
let today = new Date();
|
||||
let tYear = today.getFullYear();
|
||||
let scheduleOps = {
|
||||
title: {
|
||||
top: 15,
|
||||
left: 10,
|
||||
text: currentYear+'年度工时记录情况'
|
||||
},
|
||||
tooltip: {
|
||||
padding: 6,
|
||||
formatter: function (obj) {
|
||||
var value = obj.value;
|
||||
var tips='<div style="font-size: 12px;">' + value[0] + '<br>';
|
||||
tips+='共 '+value[1] + ' 个工时';
|
||||
tips+='</div>';
|
||||
return tips;
|
||||
}
|
||||
},
|
||||
visualMap: {
|
||||
min: 0,
|
||||
max: 10,
|
||||
show: false,
|
||||
inRange: {
|
||||
color: ['#fafafa','#009CDB']
|
||||
}
|
||||
},
|
||||
calendar: {
|
||||
top: 75,
|
||||
left: 50,
|
||||
right: 30,
|
||||
range: tYear,
|
||||
cellSize: ['auto', 24],
|
||||
splitLine: {
|
||||
lineStyle: {
|
||||
color: '#aaa',
|
||||
type: 'dashed',
|
||||
}
|
||||
},
|
||||
itemStyle: {
|
||||
borderWidth: 0.5
|
||||
},
|
||||
yearLabel: {show: false},
|
||||
monthLabel: {
|
||||
nameMap: 'cn',
|
||||
fontSize: 12
|
||||
},
|
||||
dayLabel: {
|
||||
show: true,
|
||||
formatter: '{start} 1st',
|
||||
fontWeight: 'lighter',
|
||||
nameMap: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],
|
||||
fontSize: 12
|
||||
}
|
||||
},
|
||||
series: {
|
||||
type: 'heatmap',
|
||||
coordinateSystem: 'calendar',
|
||||
data: getVirtulData(tYear,works)
|
||||
}
|
||||
};
|
||||
scheduleChart.setOption(scheduleOps);
|
||||
}
|
||||
|
||||
setTimeout(function() {
|
||||
window.onresize = function() {
|
||||
planChart.resize();
|
||||
scheduleChart.resize();
|
||||
yearProject.resize();
|
||||
serviceAllProject.resize();
|
||||
industryYear.resize();
|
||||
industryAllProject.resize();
|
||||
}
|
||||
})
|
||||
|
||||
function getProject() {
|
||||
$.ajax({
|
||||
url: "/admin/personal/detail",
|
||||
type: 'post',
|
||||
data: {
|
||||
uid: uid,
|
||||
year: currentYear
|
||||
},
|
||||
success: function(res) {
|
||||
if (res.code == 1) {
|
||||
$('#project_finish').html(res.data.count.project_finish);
|
||||
$('#project_doing').html(numFormat(res.data.count.project_doing));
|
||||
$('#project_total').html(numFormat(res.data.count.project_total));
|
||||
$('#record_daily').html(numFormat(res.data.count.record_daily));
|
||||
$('#record_project').html(res.data.count.record_project);
|
||||
$('#record_total').html((res.data.count.record_total));
|
||||
$('#task_doing').html((res.data.count.task_doing));
|
||||
$('#task_finish').html((res.data.count.task_finish));
|
||||
$('#task_total').html((res.data.count.task_total));
|
||||
$('#work_in').html((res.data.count.work_in));
|
||||
$('#work_out').html((res.data.count.work_out));
|
||||
$('#work_total').html((res.data.count.work_total));
|
||||
planChartProject(res.data.plan);
|
||||
scheduleChartProject(res.data.schedule);
|
||||
|
||||
//按月份统计
|
||||
var year_arr = res.data.year_arr,
|
||||
year_arr_array = [],
|
||||
year_arr_num_array = [],
|
||||
year_arr_labor_array = [];
|
||||
|
||||
for (var e = 0; e < year_arr.length; e++) {
|
||||
year_arr_array.push(year_arr[e].month + '月份');
|
||||
year_arr_num_array.push(year_arr[e].num);
|
||||
year_arr_labor_array.push( year_arr[e].labor);
|
||||
}
|
||||
chartYearProject(year_arr_array,year_arr_num_array,year_arr_labor_array);
|
||||
|
||||
//业务类型统计
|
||||
var service_all_cate = res.data.service,
|
||||
service_all_array = [],
|
||||
service_arr_num_array = [],
|
||||
service_arr_labor_array = [];
|
||||
|
||||
for (var d = 0; d < service_all_cate.length; d++) {
|
||||
service_all_array.push(service_all_cate[d].title);
|
||||
service_arr_num_array.push(service_all_cate[d].num);
|
||||
service_arr_labor_array.push(service_all_cate[d].labor);
|
||||
}
|
||||
chartServiceAllProject(service_all_array, service_arr_num_array,service_arr_labor_array);
|
||||
|
||||
//行业统计
|
||||
var industry_all_cate = res.data.industry,
|
||||
industry_all_array = [],
|
||||
industry_arr_num_array = [],
|
||||
industry_arr_labor_array = [];
|
||||
industry_arr_last_labor_array = [];
|
||||
|
||||
for (var c = 0; c < industry_all_cate.length; c++) {
|
||||
industry_all_array.push(industry_all_cate[c].title);
|
||||
industry_arr_num_array.push(industry_all_cate[c].num);
|
||||
industry_arr_labor_array.push(industry_all_cate[c].labor);
|
||||
industry_arr_last_labor_array.push(industry_all_cate[c].last_labor);
|
||||
}
|
||||
chartIndustryAllProject(industry_all_array, industry_arr_num_array,industry_arr_labor_array);
|
||||
|
||||
//年度对比行业统计
|
||||
chartIndustryYear(industry_all_array, industry_arr_labor_array,industry_arr_last_labor_array);
|
||||
} else {
|
||||
layer.msg(res.msg);
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//初始化
|
||||
function init(layui) {
|
||||
var form = layui.form,
|
||||
layer = layui.layer;
|
||||
|
||||
getProject();
|
||||
}
|
||||
</script>
|
||||
{include file="common/layui" base='base' extend="[]" use="['form']" callback="init" /}
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
@ -578,14 +578,14 @@ CREATE TABLE `oa_invoice` (
|
||||
`sid` int(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '关联发票主体ID',
|
||||
`cash_type` tinyint(1) UNSIGNED NULL DEFAULT 1 COMMENT '付款方式:1现金 2转账 3微信支付 4支付宝 5信用卡 6支票 7其他',
|
||||
`is_cash` tinyint(1) UNSIGNED NULL DEFAULT 0 COMMENT '是否直接到账:0否 1是',
|
||||
`remark_desc` text NULL COMMENT '备注',
|
||||
`remark` text NULL COMMENT '备注',
|
||||
`amount` decimal(15, 2) NULL DEFAULT 0.00 COMMENT '发票金额',
|
||||
`enter_amount` decimal(15, 2) NULL DEFAULT 0.00 COMMENT '到账金额',
|
||||
`did` int(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '开发票部门',
|
||||
`admin_id` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '发票申请人',
|
||||
`check_admin_id` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '发票审核人',
|
||||
`open_admin_id` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '发票开具人',
|
||||
`invoice_type` tinyint(1) UNSIGNED NULL DEFAULT 0 COMMENT '发票类型:0普票 1专票',
|
||||
`invoice_type` tinyint(1) UNSIGNED NULL DEFAULT 0 COMMENT '发票类型:1增值税专用发票2增值税普通发票',
|
||||
`invoice_tax` varchar(100) NOT NULL DEFAULT '' COMMENT '纳税人识别号',
|
||||
`invoice_title` varchar(100) NOT NULL DEFAULT '' COMMENT '纳税人名称',
|
||||
`invoice_bank` varchar(100) NOT NULL DEFAULT '' COMMENT '开户银行',
|
||||
|
@ -172,7 +172,7 @@ layui.define(['element'], function(exports){
|
||||
layer.tips('正在清理系统缓存...',this);
|
||||
that.attr('class','clearThis');
|
||||
$.ajax({
|
||||
url:"/admin/api/cache_clear",
|
||||
url:"/home/api/cache_clear",
|
||||
success:function(res){
|
||||
if(res.code == 1){
|
||||
setTimeout(function(){
|
||||
|
Loading…
x
Reference in New Issue
Block a user