first commit
This commit is contained in:
@@ -0,0 +1,123 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-4">
|
||||
<h3 class="pb-2">添加借支申请</h3>
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">借支主题<font>*</font></td>
|
||||
<td colspan="3"><input type="text" name="title" value="" lay-verify="required" placeholder="请输入借支主题" lay-reqText="请填写借支主题" class="layui-input"></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="cost" value="" lay-verify="required|number" placeholder="请输入借支金额" lay-reqText="请填写借支金额" class="layui-input"></td>
|
||||
<td class="layui-td-gray">借支员工</td>
|
||||
<td>{$user.name} ({$user.department})</td>
|
||||
<td class="layui-td-gray">借支编号<font>*</font></td>
|
||||
<td><input type="text" name="code" value="{$codeno}" lay-verify="required" {eq name="$is_codeno" value="1"}readonly{/eq} placeholder="请输入借支编号" lay-reqText="请填写借支编号" class="layui-input"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">借支类型<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<input type="radio" name="types" value="1" title="日常备用金" lay-filter="types" checked>
|
||||
<input type="radio" name="types" value="2" title="项目预支款" lay-filter="types">
|
||||
</td>
|
||||
<td class="layui-td-gray-2">预计归还日期<font>*</font></td>
|
||||
<td><input type="text" name="plan_time" value="" lay-verify="required" readonly placeholder="请完善预计归还日期" lay-reqText="请完善预计归还日期" class="layui-input tool-time"></td>
|
||||
</tr>
|
||||
<tr id="project" style="display:none;">
|
||||
<td class="layui-td-gray">关联项目<font>*</font></td>
|
||||
<td colspan="5">
|
||||
<input type="text" class="layui-input picker-oa" data-types="project" name="ptname" data-where="{apply:'1'}" placeholder="请选择需要关联的项目" readonly value="">
|
||||
<input type="hidden" class="layui-input" name="project_id" value="0">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">借支理由<font>*</font></td>
|
||||
<td colspan="5"><textarea name="content" placeholder="请输入借支理由" class="layui-textarea" lay-verify="required" lay-reqText="请输入借支理由"></textarea></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>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool','oaPicker','uploadPlus','oaCheck'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool,uploadPlus = layui.uploadPlus,oaCheck = layui.oaCheck;
|
||||
form.on('radio(types)', function (data) {
|
||||
if(data.value==1){
|
||||
$('#project').hide();
|
||||
}
|
||||
else if(data.value==2){
|
||||
$('#project').show();
|
||||
}
|
||||
});
|
||||
//相关附件上传
|
||||
var attachment = new uploadPlus();
|
||||
//审批相关
|
||||
oaCheck.init({
|
||||
check_name:'loan',
|
||||
check_btn:0
|
||||
});
|
||||
|
||||
//监听提交
|
||||
form.on('submit(webform)', function(data){
|
||||
if(data.field.types==2 && data.field.ptname==''){
|
||||
layer.msg('请完善关联的项目');
|
||||
return false;
|
||||
}
|
||||
if(data.field.types==1){
|
||||
data.field.project_id=0;
|
||||
}
|
||||
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 = 'loan';
|
||||
data.field.action_id = e.data.return_id;
|
||||
oaCheck.submit(data.field,checkCallback);
|
||||
}
|
||||
}
|
||||
tool.post("/finance/loan/add", data.field, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,255 @@
|
||||
{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:132px;">
|
||||
<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_loan" lay-filter="table_loan"></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/loan/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_loan"
|
||||
,toolbar: "#toolbarDemo"
|
||||
,title: '借支列表'
|
||||
,url: "/finance/loan/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: 'balance_cost',
|
||||
title: '已冲抵金额(元)',
|
||||
align: 'right',
|
||||
width: 110,
|
||||
style:'color:#ff5722',
|
||||
templet: function(d){
|
||||
if(d.pay_status==1){
|
||||
return d.balance_cost;
|
||||
}
|
||||
return '-';
|
||||
}
|
||||
},{
|
||||
field:'balance_status',title: '冲抵状态',width:110, align:'center',templet: function(d){
|
||||
var html = '-';
|
||||
if(d.pay_status==1){
|
||||
html = '<span class="green">未冲抵</span>';
|
||||
if(d.balance_status == 1){
|
||||
html = '<span class="blue">部分冲抵</span>';
|
||||
}
|
||||
if(d.balance_status == 2){
|
||||
html = '<span class="red">已冲抵</span>';
|
||||
}
|
||||
}
|
||||
return html;
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'plan_time',
|
||||
title: '计划归还日期',
|
||||
align: 'center',
|
||||
width: 180,
|
||||
templet: function(d){
|
||||
var html = d.plan_time;
|
||||
if(d.delay<1 && d.loan_time<2 && d.back_status==0){
|
||||
html+= '<span class="red" style="font-size:12px;"> (到期,待归还)</span>';
|
||||
}
|
||||
if(d.back_status==1){
|
||||
html+= '<span class="green" style="font-size:12px;"> (已归还)</span>';
|
||||
}
|
||||
if(d.back_status==2){
|
||||
html+= '<span class="green" style="font-size:12px;"> (无需归还)</span>';
|
||||
}
|
||||
return html;
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'admin_name',
|
||||
title: '借支员工',
|
||||
align: 'center',
|
||||
width: 90
|
||||
},{
|
||||
field: 'department',
|
||||
title: '借支部门',
|
||||
align: 'center',
|
||||
width: 120
|
||||
},{
|
||||
field: 'title',
|
||||
title: '借支主题',
|
||||
minWidth: 200
|
||||
},{
|
||||
field: 'content',
|
||||
title: '借支理由',
|
||||
minWidth: 200
|
||||
},{
|
||||
field: 'create_time',
|
||||
title: '申请时间',
|
||||
align: 'center',
|
||||
width: 150
|
||||
},{
|
||||
field: 'check_user',
|
||||
title: '当前审核人',
|
||||
minWidth: 120
|
||||
},{
|
||||
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_loan)',function (obj) {
|
||||
var checkStatus = table.checkStatus(obj.config.id); //获取选中行状态
|
||||
var data = obj.data;
|
||||
if (obj.event === 'view') {
|
||||
tool.side("/finance/loan/view?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'edit') {
|
||||
tool.side("/finance/loan/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/loan/del", { id: data.id }, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,121 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-page">
|
||||
<h3 class="pb-2">编辑借支申请</h3>
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">借支主题<font>*</font></td>
|
||||
<td colspan="3"><input type="text" name="title" value="{$detail.title|default=''}" lay-verify="required" placeholder="请输入借支主题" lay-reqText="请填写借支主题" class="layui-input"></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="cost" value="{$detail.cost|default=''}" lay-verify="required|number" placeholder="请输入借支金额" lay-reqText="请填写借支金额" class="layui-input"></td>
|
||||
<td class="layui-td-gray">借支员工</td>
|
||||
<td>{$detail.admin_name} ({$detail.department|default=''})</td>
|
||||
<td class="layui-td-gray">借支编号<font>*</font></td>
|
||||
<td><input type="text" name="code" value="{$detail.code|default=''}" {eq name="$is_codeno" value="1"}readonly{/eq} lay-verify="required" readonly placeholder="请输入借支编号" lay-reqText="请填写借支编号" class="layui-input"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">借支类型<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<input type="radio" name="types" value="1" title="日常备用金" lay-filter="types" lay-filter="types" {eq name="$detail.types" value="1"} checked{/eq}>
|
||||
<input type="radio" name="types" value="2" title="项目预支款" lay-filter="types" lay-filter="types" {eq name="$detail.types" value="2"} checked{/eq}>
|
||||
</td>
|
||||
<td class="layui-td-gray-2">预计归还日期<font>*</font></td>
|
||||
<td><input type="text" name="plan_time" value="{$detail.plan_time|date='Y-m-d'}" readonly lay-verify="required" placeholder="请完善预计归还日期" lay-reqText="请完善预计归还日期" class="layui-input tool-time"></td>
|
||||
</tr>
|
||||
<tr id="project" style="{$detail.types==1?'display:none;':''}">
|
||||
<td class="layui-td-gray">关联项目<font>*</font></td>
|
||||
<td colspan="5">
|
||||
<input type="text" class="layui-input picker-oa" data-types="project" name="ptname" data-where="{apply:'1'}" placeholder="请选择需要关联的项目" readonly value="{$detail.ptname|default=''}">
|
||||
<input type="hidden" class="layui-input" name="project_id" value="{$detail.project_id|default=0}">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">借支理由<font>*</font></td>
|
||||
<td colspan="5"><textarea name="content" placeholder="请输入借支理由" class="layui-textarea" lay-verify="required" lay-reqText="请输入借支理由">{$detail.content|default=''}</textarea></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="uploadImg{$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>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool','oaPicker','uploadPlus','oaCheck'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool,uploadPlus = layui.uploadPlus,oaCheck = layui.oaCheck;
|
||||
//相关附件上传
|
||||
var attachment = new uploadPlus();
|
||||
//审批相关
|
||||
oaCheck.init({
|
||||
check_name:'loan',
|
||||
check_btn:0
|
||||
});
|
||||
|
||||
//监听提交
|
||||
form.on('submit(webform)', function(data){
|
||||
if(data.field.types==2 && data.field.ptname==''){
|
||||
layer.msg('请完善关联的项目');
|
||||
return false;
|
||||
}
|
||||
if(data.field.types==1){
|
||||
data.field.project_id=0;
|
||||
}
|
||||
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 = 'loan';
|
||||
data.field.action_id = e.data.return_id;
|
||||
oaCheck.submit(data.field,checkCallback);
|
||||
}
|
||||
}
|
||||
tool.post("/finance/loan/add", data.field, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,221 @@
|
||||
{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 = {$isAuthLoan};
|
||||
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/loan/record", //数据接口
|
||||
cellMinWidth: 80,
|
||||
page: true, //开启分页
|
||||
limit: 20,
|
||||
height: 'full-114',
|
||||
cols: [
|
||||
[
|
||||
{
|
||||
field: 'id',
|
||||
title: 'ID号',
|
||||
align: 'center',
|
||||
width: 80,
|
||||
totalRowText: '<div style="text-align:right">合计</div>'
|
||||
}, {
|
||||
field: 'cost',
|
||||
title: '借支金额(元)',
|
||||
align: 'right',
|
||||
width: 120,
|
||||
totalRow: function (d) {return d.TOTAL_ROW.cost}
|
||||
},{
|
||||
field: 'pay_status',
|
||||
title: '打款状态',
|
||||
align: 'center',
|
||||
width: 90,
|
||||
templet:function(d){
|
||||
var html='<span class="red">『未打款』</span>';
|
||||
if(d.pay_status==1){
|
||||
html='<span class="yellow">『已打款』</span>';
|
||||
}
|
||||
return html;
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'balance_cost',
|
||||
title: '已冲抵金额(元)',
|
||||
align: 'right',
|
||||
width: 110,
|
||||
style:'color:#ff5722',
|
||||
templet: function(d){
|
||||
if(d.pay_status==1){
|
||||
return d.balance_cost;
|
||||
}
|
||||
return '-';
|
||||
}
|
||||
},{
|
||||
field:'balance_status',title: '冲抵状态',width:110, align:'center',templet: function(d){
|
||||
var html = '-';
|
||||
if(d.pay_status==1){
|
||||
html = '<span class="green">未冲抵</span>';
|
||||
if(d.balance_status == 1){
|
||||
html = '<span class="blue">部分冲抵</span>';
|
||||
}
|
||||
if(d.balance_status == 2){
|
||||
html = '<span class="red">已冲抵</span>';
|
||||
}
|
||||
}
|
||||
return html;
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'plan_time',
|
||||
title: '计划归还日期',
|
||||
align: 'center',
|
||||
width: 180,
|
||||
templet: function(d){
|
||||
var html = d.plan_time;
|
||||
if(d.delay<1 && d.loan_time<2 && d.back_status==0){
|
||||
html+= '<span class="red" style="font-size:12px;"> (到期,待归还)</span>';
|
||||
}
|
||||
if(d.back_status==1){
|
||||
html+= '<span class="green" style="font-size:12px;"> (已归还)</span>';
|
||||
}
|
||||
if(d.back_status==2){
|
||||
html+= '<span class="green" style="font-size:12px;"> (无需归还)</span>';
|
||||
}
|
||||
return html;
|
||||
}
|
||||
},{
|
||||
field: 'admin_name',
|
||||
title: '借支人员',
|
||||
align: 'center',
|
||||
width: 90
|
||||
},{
|
||||
field: 'department',
|
||||
title: '借支部门',
|
||||
align: 'center',
|
||||
width: 120
|
||||
},{
|
||||
field: 'content',
|
||||
title: '借支理由'
|
||||
},{
|
||||
field: 'create_time',
|
||||
title: '申请时间',
|
||||
align: 'center',
|
||||
width: 150
|
||||
},{
|
||||
field: 'pay_name',
|
||||
title: '打款人',
|
||||
align: 'center',
|
||||
width: 90
|
||||
},{
|
||||
field: 'pay_time',
|
||||
title: '打款确认时间',
|
||||
align: 'center',
|
||||
width: 150
|
||||
}, {
|
||||
field: 'right',
|
||||
fixed: 'right',
|
||||
title: '操作',
|
||||
width: 136,
|
||||
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-warm layui-btn-xs" lay-event="open">标记为已打款</span>';
|
||||
var btn3='<span class="layui-btn layui-bg-red layui-btn-xs" lay-event="back">标记为已归还</span>';
|
||||
html+=btn1;
|
||||
if(d.pay_status==0 && auth==1){
|
||||
html+=btn2;
|
||||
}
|
||||
if(d.pay_status == 1 && d.balance_status<2 && d.back_status==0 && auth==1){
|
||||
html+=btn3;
|
||||
}
|
||||
html+='</div>';
|
||||
return html;
|
||||
}
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
//监听行工具事件
|
||||
table.on('tool(test)', function(obj) {
|
||||
var data = obj.data;
|
||||
if (obj.event === 'view') {
|
||||
tool.side("/finance/loan/view?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if(obj.event === 'open'){
|
||||
layer.confirm('确定标记为已打款?', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
tool.post("/finance/api/topay2", {id: data.id}, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
if(obj.event === 'back'){
|
||||
layer.confirm('确定标记为已归还?', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
tool.post("/finance/api/topay3", {id: data.id}, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,146 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="layui-form p-page">
|
||||
<h3 class="pb-2">借支详情</h3>
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray">借支主题</td>
|
||||
<td colspan="3">{$detail.title}</td>
|
||||
<td class="layui-td-gray-2">借支企业主体</td>
|
||||
<td>{$detail.subject_name|default='-'}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">借支金额</td>
|
||||
<td><span style="color:#1E9FFF">{$detail.cost} 元</span></td>
|
||||
<td class="layui-td-gray">借支员工</td>
|
||||
<td>{$detail.admin_name} ({$detail.department})</td>
|
||||
<td class="layui-td-gray">借支编号</td>
|
||||
<td>{$detail.code|default='-'}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">借支类型</td>
|
||||
<td colspan="3">
|
||||
{eq name="$detail.types" value="1"}日常备用金{/eq}
|
||||
{eq name="$detail.types" value="2"}项目预支款{/eq}
|
||||
</td>
|
||||
<td class="layui-td-gray-2">预计归还日期</td>
|
||||
<td>{$detail.plan_time|date='Y-m-d'}</td>
|
||||
</tr>
|
||||
{notempty name="$detail.project_id"}
|
||||
<tr>
|
||||
<td class="layui-td-gray">关联项目</td>
|
||||
<td colspan="5">{$detail.ptname|default=''}</td>
|
||||
</tr>
|
||||
{/notempty}
|
||||
<tr>
|
||||
<td class="layui-td-gray">借支理由</td>
|
||||
<td colspan="5">{$detail.content}</td>
|
||||
</tr>
|
||||
{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>
|
||||
<tr>
|
||||
<td class="layui-td-gray">冲抵状态</td>
|
||||
<td>
|
||||
{eq name="$detail.balance_status" value="0"}<span class="green">未冲抵</span>{/eq}
|
||||
{eq name="$detail.balance_status" value="1"}<span class="blue">部分冲抵</span>{/eq}
|
||||
{eq name="$detail.balance_status" value="2"}<span class="red">已冲抵</span>{/eq}
|
||||
</td>
|
||||
<td class="layui-td-gray-2">已冲抵金额</td>
|
||||
<td colspan="3">{$detail.balance_cost}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">归还状态</td>
|
||||
<td>
|
||||
{eq name="$detail.back_status" value="0"}<span class="red">未还款</span>{/eq}
|
||||
{eq name="$detail.back_status" value="1"}<span class="green">已还款</span>{/eq}
|
||||
{eq name="$detail.back_status" value="2"}<span class="blue">无需还款</span>{/eq}
|
||||
</td>
|
||||
{eq name="$detail.back_status" value="1"}
|
||||
<td class="layui-td-gray">归还经手人</td>
|
||||
<td>{$detail.back_admin}</td>
|
||||
<td class="layui-td-gray">归还时间</td>
|
||||
<td>{$detail.back_time}</td>
|
||||
{/eq}
|
||||
</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}
|
||||
{notempty name="$detail.expense"}
|
||||
<tr>
|
||||
<td class="layui-td-gray">冲抵记录</td>
|
||||
<td colspan="5">
|
||||
<table class="layui-table layui-table-min" style="margin:0">
|
||||
<tr>
|
||||
<th>报销总金额(元)</th>
|
||||
<th>冲抵金额(元)</th>
|
||||
<th>需打款金额(元)</th>
|
||||
<th>报销凭证编号</th>
|
||||
<th>原始单据日期</th>
|
||||
<th>入账月份</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
{volist name="$detail.expense" id="vo"}
|
||||
<tr>
|
||||
<td class="blue">{$vo.cost}</td>
|
||||
<td class="green">{$vo.balance_cost}</td>
|
||||
<td class="red">{$vo.pay_amount}</td>
|
||||
<td>{$vo.code}</td>
|
||||
<td>{$vo.expense_time|date='Y-m-d'}</td>
|
||||
<td>{$vo.income_month|date='Y-m'}</td>
|
||||
<td><a data-href="/finance/expense/view?id={$vo.id}" class="side-a">详情</a></td>
|
||||
</tr>
|
||||
{/volist}
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
{/notempty}
|
||||
{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="uploadImg{$vo.id}">{:file_card($vo,'view')}</div>
|
||||
{/volist}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{/notempty}
|
||||
</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:'loan',
|
||||
check_reversed:null
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
Reference in New Issue
Block a user