first commit
This commit is contained in:
@@ -0,0 +1,168 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-4">
|
||||
<h3 class="pb-3">添加报销申请</h3>
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">报销员工</td>
|
||||
<td>{$user.name}</td>
|
||||
<td class="layui-td-gray">报销部门</td>
|
||||
<td>{$user.department}</td>
|
||||
<td class="layui-td-gray">报销主体</td>
|
||||
<td>
|
||||
<select name="subject_id" lay-verify="required" lay-reqText="请选择报销主体">
|
||||
<option value="">请选择报销主体</option>
|
||||
{volist name=":get_base_data('enterprise')" id="vo"}
|
||||
<option value="{$vo.id}">{$vo.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">凭证编号<font>*</font></td>
|
||||
<td><input type="text" name="code" value="{$codeno}" {eq name="$is_codeno" value="1"}readonly{/eq} lay-verify="required" placeholder="请输入报销凭证编号" lay-reqText="请填写报销凭证编号" class="layui-input" value=""></td>
|
||||
<td class="layui-td-gray">单据日期<font>*</font></td>
|
||||
<td><input type="text" class="layui-input tool-time" name="expense_time" lay-verify="required" placeholder="请选择原始单据日期" lay-reqText="请选择原始单据日期" readonly value="">
|
||||
</td>
|
||||
<td class="layui-td-gray">入账月份<font>*</font></td>
|
||||
<td><input type="text" class="layui-input tool-time" data-type="month" name="income_month" lay-verify="required" placeholder="请选择入账月份" lay-reqText="请选择入账月份" readonly value=""></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">关联项目</td>
|
||||
<td colspan="5">
|
||||
<input type="text" class="layui-input picker-oa" data-types="project" name="ptname" placeholder="请选择需要关联的项目" readonly value="">
|
||||
<input type="hidden" class="layui-input" name="project_id" value="0">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">冲抵借支</td>
|
||||
<td colspan="5">
|
||||
<input type="text" class="layui-input picker-oa" data-types="loan" name="loan" placeholder="请选择需要冲抵借支记录" readonly value="">
|
||||
<input type="hidden" class="layui-input" name="loan_id" value="0">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">报销选项<font>*</font></td>
|
||||
<td colspan="5">
|
||||
<table id="interfix" class="layui-table layui-table-min" style="margin:0;">
|
||||
<tr>
|
||||
<th width="100">报销金额</th>
|
||||
<th width="120">报销项目</th>
|
||||
<th>备注信息</th>
|
||||
<th width="60">操作</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>
|
||||
</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 class="pt-2">
|
||||
<button class="layui-btn layui-btn-sm" type="button" id="addInterfix">+ 报销选项</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">
|
||||
<div class="layui-input-inline">附件</div>
|
||||
<div class="layui-input-inline"><button type="button" class="layui-btn layui-btn-xs" id="uploadBtn"><i class="layui-icon"></i></button></div>
|
||||
</td>
|
||||
<td colspan="5">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
<input type="hidden" data-type="file" name="file_ids" value="">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div id="checkBox" data-status="0" data-id="0" data-checkflowid="0" class="pt-3"></div>
|
||||
<div class="pt-4">
|
||||
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">保存并提交审核</button>
|
||||
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||
</div>
|
||||
</form>
|
||||
<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}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool','oaPicker','uploadPlus','oaCheck'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool,table=layui.table,uploadPlus = layui.uploadPlus,oaCheck = layui.oaCheck;
|
||||
//相关附件上传
|
||||
var attachment = new uploadPlus();
|
||||
//审批相关
|
||||
oaCheck.init({
|
||||
check_name:'expense',
|
||||
check_btn:0
|
||||
});
|
||||
//添加报销信息表格
|
||||
$('#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;
|
||||
}
|
||||
$(this).parents(".more_interfix").remove();
|
||||
});
|
||||
|
||||
//监听提交
|
||||
form.on('submit(webform)', function(data){
|
||||
var interfix = $('.more_interfix');
|
||||
if(interfix.length <1 ){
|
||||
layer.msg('至少要保留一个报销选项');
|
||||
return false;
|
||||
}
|
||||
tool.ask('审核期间不能编辑修改,确定报销数据无误?', function(index) {
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
let checkCallback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
tool.sideClose(1000);
|
||||
}
|
||||
}
|
||||
data.field.check_name = 'expense';
|
||||
data.field.action_id = e.data.return_id;
|
||||
oaCheck.submit(data.field,checkCallback);
|
||||
}
|
||||
}
|
||||
tool.post("/finance/expense/add", data.field, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,214 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
{block name="style"}
|
||||
<style>
|
||||
.tab-5 .search-item{display:none;}
|
||||
</style>
|
||||
{/block}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
|
||||
<div class="p-page">
|
||||
<div class="layui-card border-x border-t" style="margin-bottom:0; box-shadow:0 0 0 0 rgb(5 32 96 / 0%)">
|
||||
<div class="body-table layui-tab layui-tab-brief" lay-filter="tab">
|
||||
<ul class="layui-tab-title">
|
||||
<li class="layui-this">全部</li>
|
||||
<li>我申请的</li>
|
||||
<li>待我审批</li>
|
||||
<li>我已审批</li>
|
||||
<li>抄送我的</li>
|
||||
<li>已打款</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<form class="layui-form gg-form-bar border-x tab-0" id="barsearchform">
|
||||
<div class="layui-input-inline" style="width:175px;">
|
||||
<input type="text" class="layui-input" id="diff_time" placeholder="选择时间区间" readonly name="diff_time">
|
||||
</div>
|
||||
<div class="layui-input-inline search-item" style="width:120px;">
|
||||
<select name="check_status">
|
||||
<option value="">选择审批状态</option>
|
||||
{volist name=":get_check_status()" id="vo"}
|
||||
<option value="{$key}">{$vo}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-input-inline search-item" style="width:120px;">
|
||||
<select name="pay_status">
|
||||
<option value="">打款状态</option>
|
||||
<option value="0">未打款</option>
|
||||
<option value="1">已打款</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:150px">
|
||||
<input type="hidden" name="tab" value="0"/>
|
||||
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="table-search"><i class="layui-icon layui-icon-search mr-1"></i>搜索</button>
|
||||
<button type="reset" class="layui-btn layui-btn-reset" lay-filter="table-reset">清空</button>
|
||||
</div>
|
||||
</form>
|
||||
<table class="layui-hide" id="table_expense" lay-filter="table_expense"></table>
|
||||
</div>
|
||||
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container">
|
||||
<button class="layui-btn layui-btn-sm tool-add" type="button" data-href="/finance/expense/add">+ 添加报销申请</button>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool','tablePlus','laydatePlus'];
|
||||
function gouguInit() {
|
||||
var table = layui.tablePlus, tool = layui.tool, laydatePlus = layui.laydatePlus, element = layui.element;
|
||||
//tab切换
|
||||
element.on('tab(tab)', function(data){
|
||||
$('[name="tab"]').val(data.index);
|
||||
$("#barsearchform")[0].reset();
|
||||
$("#barsearchform").attr('class','layui-form gg-form-bar border-x tab-'+data.index);
|
||||
layui.pageTable.reload({where:{tab:data.index},page:{curr:1}});
|
||||
return false;
|
||||
});
|
||||
|
||||
//日期范围
|
||||
var diff_time = new laydatePlus({'target':'diff_time'});
|
||||
layui.pageTable = table.render({
|
||||
elem: "#table_expense"
|
||||
,toolbar: "#toolbarDemo"
|
||||
,title: '报销列表'
|
||||
,url: "/finance/expense/datalist"
|
||||
,page: true
|
||||
,limit: 20
|
||||
,cellMinWidth: 80
|
||||
,height: 'full-154'
|
||||
,cols: [[
|
||||
{
|
||||
field: 'id',
|
||||
title: 'ID号',
|
||||
align: 'center',
|
||||
width: 80
|
||||
}, {
|
||||
field: 'cost',
|
||||
title: '报销总金额(元)',
|
||||
align: 'right',
|
||||
width: 110,
|
||||
},{
|
||||
field:'check_status',title: '审批状态',width:110, align:'center',templet: function(d){
|
||||
var html = '<span class="check-status-color-'+d.check_status+'">『'+d.check_status_str+'』</span>';
|
||||
return html;
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'admin_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_str',
|
||||
title: '入账月份',
|
||||
align: 'center',
|
||||
width: 80
|
||||
},{
|
||||
field: 'create_time',
|
||||
title: '录入时间',
|
||||
align: 'center',
|
||||
width: 150
|
||||
},{
|
||||
field: 'check_user',
|
||||
title: '当前审核人'
|
||||
},{
|
||||
field: 'pay_status',
|
||||
title: '打款状态',
|
||||
align: 'center',
|
||||
width: 90,
|
||||
templet:function(d){
|
||||
var html='';
|
||||
if(d.check_status==2){
|
||||
html = '<span class="red">『未打款』</span>';
|
||||
if(d.pay_status==1){
|
||||
html = '<span class="green">『已打款』</span>';
|
||||
}
|
||||
}
|
||||
else{
|
||||
html='-';
|
||||
}
|
||||
return html;
|
||||
}
|
||||
},{
|
||||
field: 'pay_name',
|
||||
title: '打款人',
|
||||
align: 'center',
|
||||
width: 80
|
||||
},{
|
||||
field: 'pay_time',
|
||||
title: '打款时间',
|
||||
align: 'center',
|
||||
width: 150
|
||||
}, {
|
||||
field: 'right',
|
||||
fixed: 'right',
|
||||
title: '操作',
|
||||
width: 130,
|
||||
align: 'center',
|
||||
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>';
|
||||
html+=btn1;
|
||||
if((d.check_status==0 || d.check_status==4) && d.admin_id==login_admin){
|
||||
html+=btn2+btn3;
|
||||
}
|
||||
html+='</div>';
|
||||
return html;
|
||||
}
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
table.on('tool(table_expense)',function (obj) {
|
||||
var checkStatus = table.checkStatus(obj.config.id); //获取选中行状态
|
||||
var data = obj.data;
|
||||
if (obj.event === 'view') {
|
||||
tool.side("/finance/expense/view?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'edit') {
|
||||
tool.side("/finance/expense/add?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'del') {
|
||||
layer.confirm('确定要删除该内容吗?', { icon: 3, title: '提示' }, function (index) {
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
obj.del();
|
||||
}
|
||||
}
|
||||
tool.delete("/finance/expense/del", { id: data.id }, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,198 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-page">
|
||||
<h3 class="pb-3">编辑报销申请</h3>
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">报销员工</td>
|
||||
<td>{$detail.admin_name}</td>
|
||||
<td class="layui-td-gray">报销部门</td>
|
||||
<td>{$detail.department|default=''}</td>
|
||||
<td class="layui-td-gray">报销主体</td>
|
||||
<td>
|
||||
<select name="subject_id" lay-verify="required" lay-reqText="请选择报销主体">
|
||||
<option value="">请选择报销主体</option>
|
||||
{volist name=":get_base_data('enterprise')" id="vo"}
|
||||
<option value="{$vo.id}" {eq name="$detail.subject_id" value="$vo.id"} selected{/eq}>{$vo.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">凭证编号<font>*</font></td>
|
||||
<td><input type="text" name="code" autocomplete="off" {eq name="$is_codeno" value="1"}readonly{/eq} lay-verify="required" placeholder="报销凭证编号" lay-reqText="请填写报销凭证编号" class="layui-input" value="{$detail.code}"></td>
|
||||
<td class="layui-td-gray-2">原始单据日期<font>*</font></td>
|
||||
<td><input type="text" class="layui-input tool-time" id="expense_time" name="expense_time" lay-verify="required" placeholder="请选择原始单据日期" lay-reqText="请选择原始单据日期" readonly value="{$detail.expense_time}"></td>
|
||||
<td class="layui-td-gray">入账月份<font>*</font></td>
|
||||
<td><input type="text" class="layui-input tool-time" data-type="month" name="income_month" lay-verify="required" placeholder="请选择入账月份" lay-reqText="请选择入账月份" readonly value="{$detail.income_month_str}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">关联项目</td>
|
||||
<td colspan="5">
|
||||
<input type="text" class="layui-input picker-oa" name="ptname" data-types="project" placeholder="请选择需要关联的项目" readonly value="{$detail.ptname|default=""}">
|
||||
<input type="hidden" class="layui-input" name="project_id" value="{$detail.project_id}">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">冲抵借支</td>
|
||||
<td colspan="5">
|
||||
<input type="text" class="layui-input picker-oa" data-types="loan" name="loan" placeholder="请选择需要冲抵借支记录" readonly value="{$detail.loan}">
|
||||
<input type="hidden" class="layui-input" name="loan_id" value="{$detail.loan_id}">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">报销选项<font>*</font></td>
|
||||
<td colspan="5">
|
||||
<table id="interfix" class="layui-table layui-table-min" style="margin:0;">
|
||||
<tr>
|
||||
<th width="100">报销金额</th>
|
||||
<th width="120">报销类别</th>
|
||||
<th>备注信息</th>
|
||||
<th width="60">操作</th>
|
||||
</tr>
|
||||
{volist name="$detail.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>
|
||||
</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 class="pt-2">
|
||||
<button class="layui-btn layui-btn-sm" type="button" id="addInterfix">+ 报销选项</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">
|
||||
<div class="layui-input-inline">附件</div>
|
||||
<div class="layui-input-inline"><button type="button" class="layui-btn layui-btn-xs" id="uploadBtn"><i class="layui-icon"></i></button></div>
|
||||
</td>
|
||||
<td colspan="5">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
<input type="hidden" name="file_ids" data-type="file" value="{$detail.file_ids}">
|
||||
{notempty name="$detail.file_ids"}
|
||||
{volist name="$detail.file_array" id="vo"}
|
||||
<div class="layui-col-md4" id="uploadFile{$vo.id}">{:file_card($vo)}</div>
|
||||
{/volist}
|
||||
{/notempty}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div id="checkBox" data-status="{$detail.check_status}" data-id="{$detail.id}" data-checkflowid="{$detail.check_flow_id}"></div>
|
||||
<div class="pt-4">
|
||||
<input name="id" id="id" type="hidden" value="{$detail.id}">
|
||||
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">保存并提交审核</button>
|
||||
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||
</div>
|
||||
</form>
|
||||
<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}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool','oaPicker','uploadPlus','oaCheck'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool,table=layui.table,uploadPlus = layui.uploadPlus,oaCheck = layui.oaCheck;
|
||||
//相关附件上传
|
||||
var attachment = new uploadPlus();
|
||||
//审批相关
|
||||
oaCheck.init({
|
||||
check_name:'expense',
|
||||
check_btn:0
|
||||
});
|
||||
//添加报销信息表格
|
||||
$('#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: "/finance/api/del_expense_interfix",
|
||||
type:'post',
|
||||
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();
|
||||
}
|
||||
});
|
||||
|
||||
//监听提交
|
||||
form.on('submit(webform)', function(data){
|
||||
var interfix = $('.more_interfix');
|
||||
if(interfix.length <1 ){
|
||||
layer.msg('至少要保留一个报销选项');
|
||||
return false;
|
||||
}
|
||||
tool.ask('审核期间不能编辑修改,确定报销数据无误?', function(index) {
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
let checkCallback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
tool.sideClose(1000);
|
||||
}
|
||||
}
|
||||
data.field.check_name = 'expense';
|
||||
data.field.action_id = e.data.return_id;
|
||||
oaCheck.submit(data.field,checkCallback);
|
||||
}
|
||||
}
|
||||
tool.post("/finance/expense/add", data.field, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,186 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="p-page">
|
||||
<form class="layui-form gg-form-bar border-t border-x" id="barsearchform">
|
||||
<div class="layui-input-inline" style="width:100px;">
|
||||
<input type="text" class="layui-input picker-admin" placeholder="选择报销人员" readonly name="uname" value="">
|
||||
<input type="hidden" name="uid" value="0">
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:175px;">
|
||||
<input type="text" class="layui-input" id="diff_time" placeholder="选择入账月份区间" readonly name="diff_time">
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:120px;">
|
||||
<select name="pay_status">
|
||||
<option value="">打款状态</option>
|
||||
<option value="0">未打款</option>
|
||||
<option value="1">已打款</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:150px">
|
||||
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="table-search"><i class="layui-icon layui-icon-search mr-1"></i>搜索</button>
|
||||
<button type="reset" class="layui-btn layui-btn-reset" lay-filter="table-reset">清空</button>
|
||||
</div>
|
||||
</form>
|
||||
<table class="layui-hide" id="test" lay-filter="test"></table>
|
||||
</div>
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container">
|
||||
<h3 class="h3-title" style="height:32px;">报销记录</h3>
|
||||
</div>
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const auth = {$authExpense};
|
||||
const moduleInit = ['tool','tablePlus','laydatePlus','oaPicker'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,table = layui.tablePlus,tool=layui.tool, laydatePlus = layui.laydatePlus;
|
||||
//日期范围
|
||||
var diff_time = new laydatePlus({'target':'diff_time'});
|
||||
|
||||
layui.pageTable = table.render({
|
||||
elem: '#test',
|
||||
title: '报销记录列表',
|
||||
toolbar: '#toolbarDemo',
|
||||
url: "/finance/expense/record", //数据接口
|
||||
cellMinWidth: 80,
|
||||
page: true, //开启分页
|
||||
limit: 20,
|
||||
height: 'full-114',
|
||||
totalRow: true,
|
||||
cols: [
|
||||
[
|
||||
{
|
||||
field: 'id',
|
||||
title: 'ID号',
|
||||
align: 'center',
|
||||
width: 80,
|
||||
totalRowText: '<div style="text-align:right">合计</div>'
|
||||
},{
|
||||
field: 'cost',
|
||||
title: '报销总金额(元)',
|
||||
align: 'right',
|
||||
width: 110,
|
||||
totalRow: function (d) {return d.TOTAL_ROW.cost}
|
||||
},{
|
||||
field: 'pay_amount',
|
||||
title: '需打款金额(元)',
|
||||
align: 'right',
|
||||
width: 110,
|
||||
totalRow: function (d) {return d.TOTAL_ROW.cost}
|
||||
},{
|
||||
field: 'pay_status',
|
||||
title: '打款/确认状态',
|
||||
align: 'center',
|
||||
width: 110,
|
||||
templet:function(d){
|
||||
var status = '打款';
|
||||
if(d.pay_amount==0){
|
||||
status = '确认';
|
||||
}
|
||||
var html='<span class="red">『未'+status+'』</span>';
|
||||
if(d.pay_status==1){
|
||||
html='<span class="yellow">『已'+status+'』</span>';
|
||||
}
|
||||
return html;
|
||||
}
|
||||
},{
|
||||
field: 'admin_name',
|
||||
title: '报销人员',
|
||||
align: 'center',
|
||||
width: 90
|
||||
},{
|
||||
field: 'department',
|
||||
title: '报销部门',
|
||||
align: 'center',
|
||||
width: 120
|
||||
},{
|
||||
field: 'code',
|
||||
title: '报销凭证编号',
|
||||
minWidth: 130,
|
||||
},{
|
||||
field: 'expense_time',
|
||||
title: '原始单据日期',
|
||||
align: 'center',
|
||||
width: 110
|
||||
},{
|
||||
field: 'income_month_str',
|
||||
title: '入账月份',
|
||||
align: 'center',
|
||||
width: 80
|
||||
},{
|
||||
field: 'create_time',
|
||||
title: '录入时间',
|
||||
align: 'center',
|
||||
width: 150
|
||||
},{
|
||||
field: 'pay_name',
|
||||
title: '打款/确认人',
|
||||
align: 'center',
|
||||
width: 110
|
||||
},{
|
||||
field: 'pay_time',
|
||||
title: '打款/确认时间',
|
||||
align: 'center',
|
||||
width: 150
|
||||
}, {
|
||||
field: 'right',
|
||||
fixed: 'right',
|
||||
title: '操作',
|
||||
width: 136,
|
||||
align: 'center',
|
||||
templet:function(d){
|
||||
var status = '打款';
|
||||
if(d.pay_amount==0){
|
||||
status = '确认';
|
||||
}
|
||||
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-warm layui-btn-xs" lay-event="open">标记为已'+status+'</span>';
|
||||
html+=btn1;
|
||||
if(d.pay_status==0 && auth==1){
|
||||
html+=btn2;
|
||||
}
|
||||
html+='</div>';
|
||||
return html;
|
||||
}
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
//监听行工具事件
|
||||
table.on('tool(test)', function(obj) {
|
||||
var data = obj.data;
|
||||
if (obj.event === 'view') {
|
||||
tool.side("/finance/expense/view?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if(obj.event === 'open'){
|
||||
let tips = '确定标记为已打款?';
|
||||
if(data.pay_amount==0){
|
||||
tips = '确定标记为已确认?';
|
||||
}
|
||||
layer.confirm(tips, {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
tool.post("/finance/api/topay", {id: data.id}, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,115 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="layui-form p-page">
|
||||
<h3 class="pb-3">报销详情</h3>
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">凭证编号</td>
|
||||
<td>{$detail.code}</td>
|
||||
<td class="layui-td-gray">入账月份</td>
|
||||
<td>{$detail.income_month_str}</td>
|
||||
<td class="layui-td-gray-2">原始单据日期</td>
|
||||
<td>{$detail.expense_time}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">报销主体</td>
|
||||
<td colspan="5">{$detail.subject_name|default='-'}</td>
|
||||
</tr>
|
||||
{if condition="$detail.project_id > 0"}
|
||||
<tr>
|
||||
<td class="layui-td-gray">关联项目</td>
|
||||
<td colspan="5">{$detail.ptname}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
<tr>
|
||||
<td class="layui-td-gray">报销员工</td>
|
||||
<td>{$detail.admin_name}</td>
|
||||
<td class="layui-td-gray">报销部门</td>
|
||||
<td>{$detail.department}</td>
|
||||
<td class="layui-td-gray">报销总费用(元)</td>
|
||||
<td><span style="color:#1E9FFF">{$detail.cost}</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">冲抵借支</td>
|
||||
<td colspan="3">
|
||||
<span style="color:#16b777">{$detail.balance_cost}</span>
|
||||
{if condition="$detail.loan_id > 0"}
|
||||
[<a data-href="/finance/loan/view?id={$detail.loan_id}" class="side-a">冲抵借支详情</a>]
|
||||
{/if}
|
||||
</td>
|
||||
<td class="layui-td-gray">需打款费用(元)</td>
|
||||
<td><span style="color:#ff5722">{$detail.pay_amount}</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">报销选项</td>
|
||||
<td colspan="5">
|
||||
<table class="layui-table layui-table-min" style="margin:0">
|
||||
<tr>
|
||||
<th width="100">报销金额(元)</th>
|
||||
<th width="150">报销类别</th>
|
||||
<th>备注信息</th>
|
||||
</tr>
|
||||
{volist name="$detail.list" id="vo"}
|
||||
<tr>
|
||||
<td>{$vo.amount}</td>
|
||||
<td>{$vo.cate_title}</td>
|
||||
<td style="text-align:left">{$vo.remarks}</td>
|
||||
</tr>
|
||||
{/volist}
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
{notempty name="$detail.file_ids"}
|
||||
<tr>
|
||||
<td class="layui-td-gray">相关附件</td>
|
||||
<td colspan="5">
|
||||
<div class="layui-row">
|
||||
{volist name="$detail.file_array" id="vo"}
|
||||
<div class="layui-col-md4" id="uploadFile{$vo.id}">{:file_card($vo,'view')}</div>
|
||||
{/volist}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{/notempty}
|
||||
{if ( $detail.check_status eq 2)}
|
||||
{if ( $detail.pay_status eq 1)}
|
||||
<tr>
|
||||
<td class="layui-td-gray">打款状态</td>
|
||||
<td><span class="yellow">已打款</span></td>
|
||||
<td class="layui-td-gray">打款人</td>
|
||||
<td>{$detail.pay_admin}</td>
|
||||
<td class="layui-td-gray">打款时间</td>
|
||||
<td>{$detail.pay_time}</td>
|
||||
</tr>
|
||||
{else/}
|
||||
<tr>
|
||||
<td class="layui-td-gray">打款状态</td>
|
||||
<td><span class="red">未打款</span></td>
|
||||
<td class="layui-td-gray">打款人</td>
|
||||
<td>-</td>
|
||||
<td class="layui-td-gray">打款时间</td>
|
||||
<td>-</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{/if}
|
||||
</table>
|
||||
|
||||
<div id="checkBox" class="pt-3" data-status="{$detail.check_status}" data-id="{$detail.id}" data-checkflowid="{$detail.check_flow_id}"></div>
|
||||
</div>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool','oaCheck'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool, oaCheck=layui.oaCheck;
|
||||
oaCheck.init({
|
||||
check_name:'expense'
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
Reference in New Issue
Block a user