first commit

This commit is contained in:
2026-07-23 09:40:36 +08:00
commit 090abf48fa
989 changed files with 145728 additions and 0 deletions
+299
View File
@@ -0,0 +1,299 @@
{extend name="../../base/view/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="layui-form p-page">
<h3 class="pb-3">发票信息</h3>
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">发票金额(元)</td>
<td class="blue">{$detail.amount}</td>
<td class="layui-td-gray">发票类型</td>
<td>
{eq name="$detail.invoice_type" value="1"}增值税专用发票{/eq}
{eq name="$detail.invoice_type" value="2"}普通发票{/eq}
{eq name="$detail.invoice_type" value="3"}专业发票{/eq}
</td>
<td class="layui-td-gray">发票主体</td>
<td>{$detail.subject}</td>
</tr>
<tr>
<td class="layui-td-gray">抬头类型</td>
<td>
{eq name="$detail.types" value="1"}企业{/eq}
{eq name="$detail.types" value="2"}个人{/eq}
</td>
<td class="layui-td-gray">发票抬头</td>
<td>{$detail.invoice_title}</td>
<td class="layui-td-gray">电话号码</td>
<td>{$detail.invoice_phone}</td>
</tr>
<tr class="invoice-type" {eq name="$detail.type" value="2"}style="display:none"{/eq}>
<td class="layui-td-gray-2">纳税人识别号</td>
<td>{$detail.invoice_tax}</td>
<td class="layui-td-gray">开户行</td>
<td>{$detail.invoice_bank}</td>
<td class="layui-td-gray">银行账号</td>
<td>{$detail.invoice_account}</td>
</tr>
<tr class="invoice-type" {eq name="$detail.type" value="2"}style="display:none"{/eq}>
<td class="layui-td-gray-2">银行营业网点</td>
<td>{$detail.invoice_banking}</td>
<td class="layui-td-gray">地址</td>
<td colspan="3">{$detail.invoice_address}</td>
</tr>
{notempty name="$detail.remark"}
<tr>
<td class="layui-td-gray">备注信息</td>
<td colspan="5">{$detail.remark}</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="uploadFile{$vo.id}">{:file_card($vo,'view')}</div>
{/volist}
</div>
</td>
</tr>
{/notempty}
{if condition="$detail.open_admin_id > 0"}
<tr>
<td class="layui-td-gray">发票号码</td>
<td>{$detail.code}</td>
<td class="layui-td-gray">开票人</td>
<td>{$detail.open_admin_name}</td>
<td class="layui-td-gray">开票时间</td>
<td>{$detail.open_time}</td>
</tr>
{/if}
{notempty name="$detail.other_file_ids"}
<tr>
<td class="layui-td-gray">发票附件</td>
<td colspan="5">
<div class="layui-row">
{volist name="$detail.other_file_array" id="vo"}
<div class="layui-col-md4" id="uploadFile{$vo.id}">{:file_card($vo,'view')}</div>
{/volist}
</div>
</td>
</tr>
{/notempty}
</table>
<h3 class="py-3">回款信息</h3>
<form class="layui-form">
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">回款状态</td>
<td>
{if condition="($detail.enter_status == 0)"}
<span class="red">未回款</span>
{elseif condition="($detail.enter_status == 1)"}
<span class="blue">部分回款</span>
{elseif condition="($detail.enter_status == 2)"}
<span class="green">全部回款</span>
{/if}
</td>
<td class="layui-td-gray-2">未回款金额(元)</td>
<td style="color:#FF5722">{$detail.not_income}</td>
<td class="layui-td-gray-2">已回款金额(元)</td>
<td style="color:#1E9FFF">{$detail.enter_amount}</td>
</tr>
<tr>
<td class="layui-td-gray">回款记录</td>
<td colspan="5">
<table id="interfix" class="layui-table layui-table-min" style="margin:0">
<tr>
<th style="width:200px;">回款日期</th>
<th style="width:200px;">到帐金额(元)</th>
<th>备注</th>
<th style="width:100px;">操作</th>
</tr>
{empty name="$detail.income"}
<tr class="none_interfix">
<td colspan="4" style="text-align: center;">暂无回款记录</td>
</tr>
{else/}
{volist name="$detail.income" id="vo"}
<tr class="more_interfix">
<td>{$vo.enter_time | date='Y-m-d'}</td>
<td>{$vo.amount}</td>
<td style="text-align:left;">{$vo.remarks}</td>
<td><a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="remove" data-id="{$vo.id}" data-inid="{$id}">删除</a></td>
</tr>
{/volist}
{/empty}
</table>
{if condition="($detail.enter_status lt 2)"}
<div class="pt-3"><button class="layui-btn layui-btn-sm" type="button" id="addInterfix">+ 添加回款记录</button></div>
{/if}
</td>
</tr>
</table>
<div class="pt-3">
<input name="invoice_id" id="invoice_id" type="hidden" value="{$id}">
<input name="enter_type" id="enter_type" type="hidden" value="1">
{if condition="($detail.enter_status lt 2)"}
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">保存回款记录</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
{/if}
{if condition="($detail.enter_status eq 0)"}
<span class="layui-btn layui-btn-danger" lay-event="all">全部回款</span>
{/if}
{if condition="($detail.enter_status eq 1)"}
<span class="layui-btn layui-btn-danger" lay-event="all">剩余部分全部回款</span>
{/if}
{if condition="($detail.enter_status gt 0)"}
<span class="layui-btn layui-btn-warm" lay-event="refue">全部反回款</span>
{/if}
</div>
</form>
<input type="hidden" name="id" value="{$detail.id}">
</div>
{/block}
<!-- /主体 -->
<!-- 脚本 -->
{block name="script"}
<script>
const moduleInit = ['tool'];
function gouguInit() {
var form = layui.form,tool=layui.tool,laydate = layui.laydate;
//添加表格行
$('#addInterfix').on('click',function(){
var html = '';
html += '<tr class="more_interfix">';
html += '<td><input type="text" class="layui-input tool-time" name="enter_time[]" readonly lay-verify="required" lay-reqText="请选择回款日期">';
html += '<td><input type="text" class="layui-input" name="amount[]" lay-verify="required|number" lay-reqText="请输入回款金额,数字"></td>';
html += '<td><input type="text" class="layui-input" name="remarks[]"></td>';
html += '<td><a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a></td>';
html += '</tr>';
$("#interfix").find('.none_interfix').remove();
$("#interfix").append(html);
form.render();
});
//删除表格
$('#interfix').on('click', '[lay-event="del"]', function() {
$(this).parents(".more_interfix").remove();
if($("#interfix").find('.more_interfix').length<1){
$("#interfix").append('<tr class="none_interfix"><td colspan="4" style="text-align: center;">暂无回款记录</td></tr>');
}
});
//删除回款记录
$('#interfix').on('click', '[lay-event="remove"]', function() {
var that=$(this);
var id=that.data('id');
var invoice_id=that.data('inid');
layer.confirm('确定要删除该回款记录?', {icon: 3, title:'提示'}, function(index){
$.ajax({
url: "/finance/income/del",
type:'post',
data:{id:id,invoice_id:invoice_id},
success:function(res){
layer.msg(res.msg);
if(res.code==0){
parent.layui.pageTable.reload();
window.setTimeout(function(){
location.reload();
},1200)
}
}
})
})
});
//监听提交
form.on('submit(webform)', function(data){
console.log(data.field);
if($("#interfix").find('.tool-time').length<1){
layer.msg('请添加回款记录');
return false;
}
$.ajax({
url: "/finance/income/add",
type:'post',
data:data.field,
success:function(res){
layer.msg(res.msg);
if(res.code==0){
parent.layui.pageTable.reload();
window.setTimeout(function(){
location.reload();
},1200)
}
}
})
return false;
});
$('.layui-form').on('click', '[lay-event="refue"]', function () {
var invoice_id=$('#invoice_id').val();
layer.confirm('确定要全部反回款?', {icon: 3, title:'提示'}, function(index){
$.ajax({
url: "/finance/income/add",
type:'post',
data:{invoice_id:invoice_id,enter_type:3},
success:function(res){
layer.msg(res.msg);
if(res.code==0){
parent.layui.pageTable.reload();
window.setTimeout(function(){
location.reload();
},1200)
}
}
})
})
return false;
})
$('.layui-form').on('click', '[lay-event="all"]', function () {
var invoice_id=$('#invoice_id').val();
layer.confirm('确定已经全部回款?', {icon: 3, title:'提示'}, function(idx){
layer.prompt({title: '选择回款日期', formType: 3,value :'',success: function(layero, index){
$('.layui-layer-input').attr('readonly',true);
lay('.layui-layer-input').each(function () {
laydate.render({
elem: this,
trigger: 'click',
showBottom:false
});
});
layer.close(idx);
}
}, function(enter_time, index){
if(enter_time ==''){
layer.msg('选择回款日期');
return false;
}
$.ajax({
url: "/finance/income/add",
type:'post',
data:{invoice_id:invoice_id,enter_type:2,enter_time:enter_time},
success:function(res){
layer.msg(res.msg);
if(res.code==0){
parent.layui.pageTable.reload();
window.setTimeout(function(){
location.reload();
},1200)
}
}
})
})
})
return false;
})
}
</script>
{/block}
<!-- /脚本 -->
+271
View File
@@ -0,0 +1,271 @@
{extend name="../../base/view/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="layui-form p-page">
<h3 class="pb-3">无发票回款信息</h3>
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">预回款金额(元)</td>
<td class="blue">{$detail.amount}</td>
<td class="layui-td-gray">收款主体</td>
<td colspan="3">{$detail.subject}</td>
</tr>
<tr>
<td class="layui-td-gray">付款主体</td>
<td>
{eq name="$detail.types" value="1"}企业{/eq}
{eq name="$detail.types" value="2"}个人{/eq}
</td>
<td class="layui-td-gray-2">付款方名称</td>
<td>{$detail.invoice_title}</td>
<td class="layui-td-gray">电话号码</td>
<td>{$detail.invoice_phone}</td>
</tr>
<tr class="invoice-type" {eq name="$detail.type" value="2"}style="display:none"{/eq}>
<td class="layui-td-gray-2">纳税人识别号</td>
<td>{$detail.invoice_tax}</td>
<td class="layui-td-gray">开户行</td>
<td>{$detail.invoice_bank}</td>
<td class="layui-td-gray">银行账号</td>
<td>{$detail.invoice_account}</td>
</tr>
<tr class="invoice-type" {eq name="$detail.type" value="2"}style="display:none"{/eq}>
<td class="layui-td-gray-2">银行营业网点</td>
<td>{$detail.invoice_banking}</td>
<td class="layui-td-gray">地址</td>
<td colspan="3">{$detail.invoice_address}</td>
</tr>
{notempty name="$detail.remark"}
<tr>
<td class="layui-td-gray">备注信息</td>
<td colspan="5">{$detail.remark}</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="uploadFile{$vo.id}">{:file_card($vo,'view')}</div>
{/volist}
</div>
</td>
</tr>
{/notempty}
</table>
<h3 class="py-3">回款信息</h3>
<form class="layui-form">
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">回款状态</td>
<td>
{if condition="($detail.enter_status == 0)"}
<span class="red">未回款</span>
{elseif condition="($detail.enter_status == 1)"}
<span class="blue">部分回款</span>
{elseif condition="($detail.enter_status == 2)"}
<span class="green">全部回款</span>
{/if}
</td>
<td class="layui-td-gray-2">未回款金额(元)</td>
<td style="color:#FF5722">{$detail.not_income}</td>
<td class="layui-td-gray-2">已回款金额(元)</td>
<td style="color:#1E9FFF">{$detail.enter_amount}</td>
</tr>
<tr>
<td class="layui-td-gray">回款记录</td>
<td colspan="5">
<table id="interfix" class="layui-table layui-table-min" style="margin:0">
<tr>
<th style="width:200px;">回款日期</th>
<th style="width:200px;">到帐金额(元)</th>
<th>备注</th>
<th style="width:100px;">操作</th>
</tr>
{empty name="$detail.income"}
<tr class="none_interfix">
<td colspan="4" style="text-align: center;">暂无回款记录</td>
</tr>
{else/}
{volist name="$detail.income" id="vo"}
<tr class="more_interfix">
<td>{$vo.enter_time | date='Y-m-d'}</td>
<td>{$vo.amount}</td>
<td style="text-align:left;">{$vo.remarks}</td>
<td><a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="remove" data-id="{$vo.id}" data-inid="{$id}">删除</a></td>
</tr>
{/volist}
{/empty}
</table>
{if condition="($detail.enter_status lt 2)"}
<div class="pt-3"><button class="layui-btn layui-btn-sm" type="button" id="addInterfix">+ 添加回款记录</button></div>
{/if}
</td>
</tr>
</table>
<div class="pt-3">
<input name="invoice_id" id="invoice_id" type="hidden" value="{$id}">
<input name="enter_type" id="enter_type" type="hidden" value="1">
{if condition="($detail.enter_status lt 2)"}
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">保存回款记录</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
{/if}
{if condition="($detail.enter_status eq 0)"}
<span class="layui-btn layui-btn-danger" lay-event="all">全部回款</span>
{/if}
{if condition="($detail.enter_status eq 1)"}
<span class="layui-btn layui-btn-danger" lay-event="all">剩余部分全部回款</span>
{/if}
{if condition="($detail.enter_status gt 0)"}
<span class="layui-btn layui-btn-warm" lay-event="refue">全部反回款</span>
{/if}
</div>
</form>
<input type="hidden" name="id" value="{$detail.id}">
</div>
{/block}
<!-- /主体 -->
<!-- 脚本 -->
{block name="script"}
<script>
const moduleInit = ['tool'];
function gouguInit() {
var form = layui.form,tool=layui.tool,laydate = layui.laydate;
//添加表格行
$('#addInterfix').on('click',function(){
var html = '';
html += '<tr class="more_interfix">';
html += '<td><input type="text" class="layui-input tool-time" name="enter_time[]" readonly lay-verify="required" lay-reqText="请选择回款日期">';
html += '<td><input type="text" class="layui-input" name="amount[]" lay-verify="required|number" lay-reqText="请输入回款金额,数字"></td>';
html += '<td><input type="text" class="layui-input" name="remarks[]"></td>';
html += '<td><a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a></td>';
html += '</tr>';
$("#interfix").find('.none_interfix').remove();
$("#interfix").append(html);
form.render();
});
//删除表格
$('#interfix').on('click', '[lay-event="del"]', function() {
$(this).parents(".more_interfix").remove();
if($("#interfix").find('.more_interfix').length<1){
$("#interfix").append('<tr class="none_interfix"><td colspan="4" style="text-align: center;">暂无回款记录</td></tr>');
}
});
//删除回款记录
$('#interfix').on('click', '[lay-event="remove"]', function() {
var that=$(this);
var id=that.data('id');
var invoice_id=that.data('inid');
layer.confirm('确定要删除该回款记录?', {icon: 3, title:'提示'}, function(index){
$.ajax({
url: "/finance/income/del",
type:'post',
data:{id:id,invoice_id:invoice_id},
success:function(res){
layer.msg(res.msg);
if(res.code==0){
parent.layui.pageTable.reload();
window.setTimeout(function(){
location.reload();
},1200)
}
}
})
})
});
//监听提交
form.on('submit(webform)', function(data){
console.log(data.field);
if($("#interfix").find('.tool-time').length<1){
layer.msg('请添加回款记录');
return false;
}
$.ajax({
url: "/finance/income/add",
type:'post',
data:data.field,
success:function(res){
layer.msg(res.msg);
if(res.code==0){
parent.layui.pageTable.reload();
window.setTimeout(function(){
location.reload();
},1200)
}
}
})
return false;
});
$('.layui-form').on('click', '[lay-event="refue"]', function () {
var invoice_id=$('#invoice_id').val();
layer.confirm('确定要全部反回款?', {icon: 3, title:'提示'}, function(index){
$.ajax({
url: "/finance/income/add",
type:'post',
data:{invoice_id:invoice_id,enter_type:3},
success:function(res){
layer.msg(res.msg);
if(res.code==0){
parent.layui.pageTable.reload();
window.setTimeout(function(){
location.reload();
},1200)
}
}
})
})
return false;
})
$('.layui-form').on('click', '[lay-event="all"]', function () {
var invoice_id=$('#invoice_id').val();
layer.confirm('确定已经全部回款?', {icon: 3, title:'提示'}, function(idx){
layer.prompt({title: '选择回款日期', formType: 3,value :'',success: function(layero, index){
$('.layui-layer-input').attr('readonly',true);
lay('.layui-layer-input').each(function () {
laydate.render({
elem: this,
trigger: 'click',
showBottom:false
});
});
layer.close(idx);
}
}, function(enter_time, index){
if(enter_time ==''){
layer.msg('选择回款日期');
return false;
}
$.ajax({
url: "/finance/income/add",
type:'post',
data:{invoice_id:invoice_id,enter_type:2,enter_time:enter_time},
success:function(res){
layer.msg(res.msg);
if(res.code==0){
parent.layui.pageTable.reload();
window.setTimeout(function(){
location.reload();
},1200)
}
}
})
})
})
return false;
})
}
</script>
{/block}
<!-- /脚本 -->
+199
View File
@@ -0,0 +1,199 @@
{extend name="../../base/view/common/base" /}
<!-- 主体 -->
{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"><a href="/finance/income/datalist">有发票回款</a></li>
<li><a href="/finance/invoice/datalist_a">无发票回款</a></li>
</ul>
</div>
</div>
<form class="layui-form gg-form-bar border-x" 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" style="width:120px;">
<select name="enter_status">
<option value="">请选择状态</option>
<option value="0">未回款</option>
<option value="1">部分回款</option>
<option value="2">全部回款</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="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 = "{$auth}";
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();
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: "#test"
,toolbar: "#toolbarDemo"
,url: "/finance/income/datalist"
,page: true
,limit: 20
,cellMinWidth: 80
,height: 'full-154'
,cellMinWidth: 80
,page: true //开启分页
,limit: 20
,cols: [
[
{
field: 'id',
title: 'ID号',
align: 'center',
width: 80
},{
field: 'enter_status',
title: '回款状态',
align: 'center',
width: 100,
templet:function(d){
var html='<span class="red">『未回款』</span>';
if(d.enter_status==1){
html='<span class="blue">『部分回款』</span>';
}
else if(d.enter_status==2){
html='<span class="green">『全部回款』</span>';
}
return html;
}
},{
field: 'enter_amount',
title: '回款金额(元)',
align: 'right',
width: 100,
},{
field: 'enter_time',
title: '最新回款时间',
align: 'center',
width: 136
}, {
field: 'invoice_title',
minWidth: 240,
title: '发票抬头',
templet:function(d){
var html='<span class="layui-badge layui-bg-blue">企业</span> '+d.invoice_title;
if(d.types==2){
html='<span class="layui-badge layui-bg-green">个人</span> '+d.invoice_title;
}
return html;
}
},{
field: 'amount',
title: '发票金额(元)',
align: 'right',
width: 100,
},{
field: 'invoice_type',
title: '开票类型',
align: 'center',
width: 120,
templet:function(d){
var html='-';
if(d.invoice_type==1){
html='<span style="color:#1E9FFF">增值税专用发票</span>';
}
else if(d.invoice_type==2){
html='<span style="color:#5FB878">普通发票</span>';
}
else if(d.invoice_type==3){
html='<span style="color:#FFB800">专用发票</span>';
}
else{
html='<span style="color:#666666">无需开票</span>';
}
return html;
}
},{
field: 'admin_name',
title: '申请开票人',
align: 'center',
width: 90
},{
field: 'department',
title: '所属部门',
align: 'center',
width: 120
},{
field: 'create_time',
title: '申请时间',
align: 'center',
width: 150
},{
field: 'code',
title: '发票号码',
align: 'center',
width: 150
},{
field: 'open_time',
title: '开票日期',
align: 'center',
width: 90
}, {
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-xs" lay-event="add">回款管理</span>';
var btn2='<span class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">回款详情</span>';
if(auth == 1){
return html+btn1+btn2+'</div>';
}
else{
return html+btn2+'</div>';
}
}
}
]
]
});
//监听行工具事件
table.on('tool(test)', function(obj) {
var data = obj.data;
if (obj.event === 'add') {
tool.side("/finance/income/add?id="+data.id);
return;
}
if (obj.event === 'view') {
tool.side("/finance/income/view?id="+data.id);
return;
}
});
}
</script>
{/block}
<!-- /脚本 -->
+117
View File
@@ -0,0 +1,117 @@
{extend name="../../base/view/common/base" /}
<!-- 主体 -->
{block name="body"}
<div class="p-page">
<form class="layui-form gg-form-bar border-x border-t" 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" 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="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 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();
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: "#test"
,toolbar: "#toolbarDemo"
,url: "/finance/income/record"
,page: true
,limit: 20
,cellMinWidth: 80
,height: 'full-114'
,cellMinWidth: 80
,page: true //开启分页
,limit: 20
,totalRow: true
,cols: [
[
{
field: 'id',
title: 'ID号',
align: 'center',
width: 80,
totalRowText: '<div style="text-align:right">合计</div>'
},{
field: 'amount',
title: '回款金额(元)',
style: 'color:#16b777',
align: 'right',
width: 120,
totalRow: function (d) {return d.TOTAL_ROW.amount}
},{
field: 'enter_time',
title: '回款时间',
align: 'center',
width: 110
},{
field: 'remarks',
title: '回款备注'
},{
field: 'admin_name',
title: '登记人',
align: 'center',
width: 90
},{
field: 'create_time',
title: '登记时间',
align: 'center',
width: 150
},{
field: 'code',
title: '关联发票号',
align: 'center',
width: 150
},{
field: 'right',
fixed: 'right',
title: '操作',
width: 90,
align: 'center',
templet:function(d){
var html='<span class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">回款详情</span>';
return html;
}
}
]
]
});
//监听行工具事件
table.on('tool(test)', function(obj) {
var data = obj.data;
if (obj.event === 'view') {
tool.side("/finance/income/view?id="+data.invoice_id);
return;
}
});
}
</script>
{/block}
<!-- /脚本 -->
+216
View File
@@ -0,0 +1,216 @@
{extend name="../../base/view/common/base" /}
<!-- 主体 -->
{block name="body"}
<div class="layui-form p-page">
{eq name="$detail.invoice_type" value="0"}
<h3 class="pb-3">无发票回款信息</h3>
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">预回款金额(元)</td>
<td class="blue">{$detail.amount}</td>
<td class="layui-td-gray">收款主体</td>
<td colspan="3">{$detail.subject}</td>
</tr>
<tr>
<td class="layui-td-gray">付款主体</td>
<td>
{eq name="$detail.types" value="1"}企业{/eq}
{eq name="$detail.types" value="2"}个人{/eq}
</td>
<td class="layui-td-gray-2">付款方名称</td>
<td>{$detail.invoice_title}</td>
<td class="layui-td-gray">电话号码</td>
<td>{$detail.invoice_phone}</td>
</tr>
<tr class="invoice-type" {eq name="$detail.type" value="2"}style="display:none"{/eq}>
<td class="layui-td-gray-2">纳税人识别号</td>
<td>{$detail.invoice_tax}</td>
<td class="layui-td-gray">开户行</td>
<td>{$detail.invoice_bank}</td>
<td class="layui-td-gray">银行账号</td>
<td>{$detail.invoice_account}</td>
</tr>
<tr class="invoice-type" {eq name="$detail.type" value="2"}style="display:none"{/eq}>
<td class="layui-td-gray-2">银行营业网点</td>
<td>{$detail.invoice_banking}</td>
<td class="layui-td-gray">地址</td>
<td colspan="3">{$detail.invoice_address}</td>
</tr>
{notempty name="$detail.remark"}
<tr>
<td class="layui-td-gray">备注信息</td>
<td colspan="5">{$detail.remark}</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="uploadFile{$vo.id}">{:file_card($vo,'view')}</div>
{/volist}
</div>
</td>
</tr>
{/notempty}
{notempty name="$detail.other_file_ids"}
<tr>
<td class="layui-td-gray">发票附件</td>
<td colspan="5">
<div class="layui-row">
{volist name="$detail.other_file_array" id="vo"}
<div class="layui-col-md4" id="uploadFile{$vo.id}">{:file_card($vo,'view')}</div>
{/volist}
</div>
</td>
</tr>
{/notempty}
</table>
{else/}
<h3 class="pb-3">发票信息</h3>
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">发票金额(元)</td>
<td class="blue">{$detail.amount}</td>
<td class="layui-td-gray">发票类型</td>
<td>
{eq name="$detail.invoice_type" value="1"}增值税专用发票{/eq}
{eq name="$detail.invoice_type" value="2"}普通发票{/eq}
{eq name="$detail.invoice_type" value="3"}专业发票{/eq}
</td>
<td class="layui-td-gray">发票主体</td>
<td>{$detail.subject}</td>
</tr>
<tr>
<td class="layui-td-gray">抬头类型</td>
<td>
{eq name="$detail.types" value="1"}企业{/eq}
{eq name="$detail.types" value="2"}个人{/eq}
</td>
<td class="layui-td-gray">发票抬头</td>
<td>{$detail.invoice_title}</td>
<td class="layui-td-gray">电话号码</td>
<td>{$detail.invoice_phone}</td>
</tr>
<tr class="invoice-type" {eq name="$detail.type" value="2"}style="display:none"{/eq}>
<td class="layui-td-gray-2">纳税人识别号</td>
<td>{$detail.invoice_tax}</td>
<td class="layui-td-gray">开户行</td>
<td>{$detail.invoice_bank}</td>
<td class="layui-td-gray">银行账号</td>
<td>{$detail.invoice_account}</td>
</tr>
<tr class="invoice-type" {eq name="$detail.type" value="2"}style="display:none"{/eq}>
<td class="layui-td-gray-2">银行营业网点</td>
<td>{$detail.invoice_banking}</td>
<td class="layui-td-gray">地址</td>
<td colspan="3">{$detail.invoice_address}</td>
</tr>
{notempty name="$detail.remark"}
<tr>
<td class="layui-td-gray">备注信息</td>
<td colspan="5">{$detail.remark}</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="uploadFile{$vo.id}">{:file_card($vo,'view')}</div>
{/volist}
</div>
</td>
</tr>
{/notempty}
{if condition="$detail.open_admin_id > 0"}
<tr>
<td class="layui-td-gray">发票号码</td>
<td>{$detail.code}</td>
<td class="layui-td-gray">开票人</td>
<td>{$detail.open_admin_name}</td>
<td class="layui-td-gray">开票时间</td>
<td>{$detail.open_time|date='Y-m-d'}</td>
</tr>
{/if}
{notempty name="$detail.other_file_ids"}
<tr>
<td class="layui-td-gray">发票附件</td>
<td colspan="5">
<div class="layui-row">
{volist name="$detail.other_file_array" id="vo"}
<div class="layui-col-md4" id="uploadFile{$vo.id}">{:file_card($vo,'view')}</div>
{/volist}
</div>
</td>
</tr>
{/notempty}
</table>
{/eq}
<h3 class="py-3">回款信息</h3>
<form class="layui-form">
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">回款状态</td>
<td>
{if condition="($detail.enter_status == 0)"}
<span class="red">未回款</span>
{elseif condition="($detail.enter_status == 1)"}
<span class="blue">部分回款</span>
{elseif condition="($detail.enter_status == 2)"}
<span class="green">全部回款</span>
{/if}
</td>
<td class="layui-td-gray-2">未回款金额(元)</td>
<td class="red">{$detail.not_income}</td>
<td class="layui-td-gray-2">已回款金额(元)</td>
<td class="green">{$detail.enter_amount}</td>
</tr>
<tr>
<td class="layui-td-gray">回款记录</td>
<td colspan="5">
<table class="layui-table layui-table-min" style="margin:0">
<tr>
<th style="width:150px;">回款日期</th>
<th style="width:150px;">回款金额(元)</th>
<th>备注</th>
<th style="width:100px;">登记人</th>
<th style="width:150px;">登记时间</th>
</tr>
{empty name="$detail.income"}
<tr class="none_interfix">
<td colspan="5" style="text-align: center;">暂无回款记录</td>
</tr>
{else/}
{volist name="$detail.income" id="vo"}
<tr class="more_interfix">
<td>{$vo.enter_time | date='Y-m-d'}</td>
<td>{$vo.amount}</td>
<td style="text-align:left;">{$vo.remarks}</td>
<td>{$vo.admin}</td>
<td>{$vo.create_time | date='Y-m-d H:i:s'}</td>
</tr>
{/volist}
{/empty}
</table>
</td>
</tr>
</table>
</form>
<input type="hidden" name="id" value="{$detail.id}">
</div>
{/block}
<!-- /主体 -->
<!-- 脚本 -->
{block name="script"}
<script>
const moduleInit = ['tool'];
function gouguInit() {
var form = layui.form,tool=layui.tool;
}
</script>
{/block}
<!-- /脚本 -->