first commit
This commit is contained in:
@@ -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><input type="text" class="layui-input" name="amount" lay-verify="required|number" placeholder="请输入发票金额" lay-reqText="请输入发票金额" value=""></td>
|
||||
<td class="layui-td-gray">发票号码<font>*</font></td>
|
||||
<td><input type="text" class="layui-input" name="code" lay-verify="required" placeholder="请输入发票号码" lay-reqText="请输入发票号码" value=""></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">发票类型<font>*</font></td>
|
||||
<td>
|
||||
<select name="invoice_type" lay-verify="required" lay-reqText="请选择发票类型">
|
||||
<option value="">请选择发票类型</option>
|
||||
<option value="1">增值税专用发票</option>
|
||||
<option value="2">普通发票</option>
|
||||
<option value="3">专业发票</option>
|
||||
</select>
|
||||
</td>
|
||||
<td class="layui-td-gray">发票日期<font>*</font></td>
|
||||
<td><input type="text" class="layui-input tool-time" name="open_time" lay-verify="required" readonly placeholder="请选择" lay-reqText="请完善发票日期" value=""></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">发票抬头<font>*</font></td>
|
||||
<td>
|
||||
<select name="invoice_subject" 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>
|
||||
<td class="layui-td-gray-3">开票主体(供应商)<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="supplier_name" class="layui-input picker-oa" data-types="supplier" value="" placeholder="请选择" readonly lay-verify="required" lay-reqText="开票主体(供应商)">
|
||||
<input type="hidden" name="supplier_id" value=0>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">关联采购合同</td>
|
||||
<td colspan="3">
|
||||
<input type="text" class="layui-input picker-oa" data-types="purchase" name="purchase_name" placeholder="请选择" readonly value="">
|
||||
<input type="hidden" class="layui-input" name="purchase_id" value="0">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">关联项目</td>
|
||||
<td colspan="3">
|
||||
<input type="text" class="layui-input picker-oa" data-types="project" name="project_name" placeholder="请选择" readonly value="">
|
||||
<input type="hidden" class="layui-input" name="project_id" value="0">
|
||||
</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="3">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
<input type="hidden" data-type="file" name="file_ids" value="">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">备注信息</td>
|
||||
<td colspan="3"><textarea name="remark" placeholder="请输入备注信息" class="layui-textarea"></textarea></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>
|
||||
var moduleInit = ['tool','oaPicker','oaCheck','uploadPlus'];
|
||||
function gouguInit() {
|
||||
var form = layui.form, tool = layui.tool, oaPicker = layui.oaPicker,oaCheck = layui.oaCheck,uploadPlus = layui.uploadPlus;
|
||||
//相关附件上传
|
||||
var attachment = new uploadPlus();
|
||||
|
||||
//审批相关
|
||||
oaCheck.init({
|
||||
check_name:'ticket',
|
||||
check_btn:0
|
||||
});
|
||||
|
||||
//监听提交
|
||||
form.on('submit(webform)', function (data) {
|
||||
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 = 'ticket';
|
||||
data.field.action_id = e.data.return_id;
|
||||
oaCheck.submit(data.field,checkCallback);
|
||||
}
|
||||
}
|
||||
let clickbtn = $(this);
|
||||
tool.post("/finance/ticket/add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,106 @@
|
||||
{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><input type="text" class="layui-input" name="amount" lay-verify="required|number" placeholder="请输入预付款金额" lay-reqText="请输入预付款金额" value=""></td>
|
||||
<td class="layui-td-gray">付款方<font>*</font></td>
|
||||
<td>
|
||||
<select name="invoice_subject" 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-3">收款方(供应商)<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<input type="text" name="supplier_name" class="layui-input picker-oa" data-types="supplier" value="" placeholder="请选择" readonly lay-verify="required" lay-reqText="请完善收款方(供应商)">
|
||||
<input type="hidden" name="supplier_id" value="0">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">关联采购合同</td>
|
||||
<td colspan="3">
|
||||
<input type="text" class="layui-input picker-oa" data-types="purchase" name="purchase_name" placeholder="请选择" readonly value="">
|
||||
<input type="hidden" class="layui-input" name="purchase_id" value="0">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">关联项目</td>
|
||||
<td colspan="3">
|
||||
<input type="text" class="layui-input picker-oa" data-types="project" name="project_name" placeholder="请选择" readonly value="">
|
||||
<input type="hidden" class="layui-input" name="project_id" value="0">
|
||||
</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="3">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
<input type="hidden" data-type="file" name="file_ids" value="">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">备注信息</td>
|
||||
<td colspan="3"><textarea name="remark" placeholder="请输入备注信息" class="layui-textarea"></textarea></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>
|
||||
var moduleInit = ['tool','oaPicker','oaCheck','uploadPlus'];
|
||||
function gouguInit() {
|
||||
var form = layui.form, tool = layui.tool, oaPicker = layui.oaPicker,oaCheck = layui.oaCheck,uploadPlus = layui.uploadPlus;
|
||||
//相关附件上传
|
||||
var attachment = new uploadPlus();
|
||||
|
||||
//审批相关
|
||||
oaCheck.init({
|
||||
check_name:'ticketa',
|
||||
check_btn:0
|
||||
});
|
||||
|
||||
//监听提交
|
||||
form.on('submit(webform)', function (data) {
|
||||
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 = 'ticketa';
|
||||
data.field.action_id = e.data.return_id;
|
||||
oaCheck.submit(data.field,checkCallback);
|
||||
}
|
||||
}
|
||||
let clickbtn = $(this);
|
||||
tool.post("/finance/ticket/add_a", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,210 @@
|
||||
{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">全部</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="open_status">
|
||||
<option value="">发票状态</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="table_ticket" lay-filter="table_ticket"></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/ticket/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();
|
||||
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_ticket"
|
||||
,toolbar: "#toolbarDemo"
|
||||
,title: '发票列表'
|
||||
,url: "/finance/ticket/datalist"
|
||||
,page: true
|
||||
,limit: 20
|
||||
,cellMinWidth: 80
|
||||
,height: 'full-154'
|
||||
,cols: [[
|
||||
{
|
||||
field: 'id',
|
||||
title: 'ID号',
|
||||
align: 'center',
|
||||
width: 80
|
||||
},{
|
||||
field: 'supplier_name',
|
||||
title: '供应商[发票主体]',
|
||||
minWidth: 240
|
||||
},{
|
||||
field: 'amount',
|
||||
title: '发票金额(元)',
|
||||
align: 'right',
|
||||
width: 100,
|
||||
},{
|
||||
field: 'code',
|
||||
title: '发票号码',
|
||||
align: 'center',
|
||||
width: 160
|
||||
},{
|
||||
field: 'invoice_type',
|
||||
title: '开票类型',
|
||||
align: 'center',
|
||||
width: 120,
|
||||
templet:function(d){
|
||||
var html='-';
|
||||
if(d.invoice_type==1){
|
||||
html='<span class="green">增值税专用发票</span>';
|
||||
}
|
||||
else if(d.invoice_type==2){
|
||||
html='<span class="blue">普通发票</span>';
|
||||
}
|
||||
else if(d.invoice_type==3){
|
||||
html='<span class="red">专业发票</span>';
|
||||
}
|
||||
return html;
|
||||
}
|
||||
},{
|
||||
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: 100
|
||||
},{
|
||||
field: 'department',
|
||||
title: '收票部门',
|
||||
align: 'center',
|
||||
width: 120
|
||||
},{
|
||||
field: 'create_time',
|
||||
title: '收取时间',
|
||||
align: 'center',
|
||||
width: 150
|
||||
},{
|
||||
field: 'check_user',
|
||||
title: '当前审核人'
|
||||
},{
|
||||
field: 'open_status',
|
||||
title: '发票状态',
|
||||
align: 'center',
|
||||
width: 90,
|
||||
templet:function(d){
|
||||
var html='';
|
||||
if(d.check_status==2){
|
||||
html = '<span class="green">『正常』</span>';
|
||||
if(d.open_status==2){
|
||||
html = '<span class="red">『已作废』</span>';
|
||||
}
|
||||
}
|
||||
else{
|
||||
html='-';
|
||||
}
|
||||
return html;
|
||||
}
|
||||
},{
|
||||
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_ticket)',function (obj) {
|
||||
var checkStatus = table.checkStatus(obj.config.id); //获取选中行状态
|
||||
var data = obj.data;
|
||||
if (obj.event === 'view') {
|
||||
tool.side("/finance/ticket/view?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'edit') {
|
||||
tool.side("/finance/ticket/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/ticket/del", { id: data.id }, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,264 @@
|
||||
{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><a href="/finance/payment/datalist">有发票付款</a></li>
|
||||
<li class="layui-this"><a href="/finance/ticket/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="pay_status">
|
||||
<option value="">请选择状态</option>
|
||||
<option value="0">未付款</option>
|
||||
<option value="1">部分付款</option>
|
||||
<option value="2">全部付款</option>
|
||||
</select>
|
||||
</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" 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">
|
||||
<button class="layui-btn layui-btn-sm tool-add" type="button" data-href="/finance/ticket/add_a">+ 添加无发票付款申请</button>
|
||||
</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;
|
||||
|
||||
//日期范围
|
||||
var diff_time = new laydatePlus({'target':'diff_time'});
|
||||
layui.pageTable = table.render({
|
||||
elem: "#test"
|
||||
,toolbar: "#toolbarDemo"
|
||||
,url: "/finance/ticket/datalist_a"
|
||||
,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: 'pay_status',
|
||||
title: '付款状态',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
templet:function(d){
|
||||
var html='<span class="red">『未付款』</span>';
|
||||
if(d.pay_status==1){
|
||||
html='<span class="blue">『部分付款』</span>';
|
||||
}
|
||||
else if(d.pay_status==2){
|
||||
html='<span class="green">『全部付款』</span>';
|
||||
}
|
||||
return html;
|
||||
}
|
||||
},{
|
||||
field: 'pay_amount',
|
||||
title: '付款金额(元)',
|
||||
align: 'right',
|
||||
width: 100,
|
||||
},{
|
||||
field: 'pay_time',
|
||||
title: '最新付款时间',
|
||||
align: 'center',
|
||||
width: 136
|
||||
},{
|
||||
field: 'supplier_name',
|
||||
title: '供应商[发票主体]',
|
||||
minWidth: 240
|
||||
},{field:'check_status',title: '审批状态',width:110, align:'center',templet: function(d){
|
||||
let html='';
|
||||
if(d.open_status==2){
|
||||
html = '<span class="check-status-color-3">『已作废』</span>';
|
||||
}
|
||||
else{
|
||||
html = '<span class="check-status-color-'+d.check_status+'">『'+d.check_status_str+'』</span>';
|
||||
}
|
||||
return html;
|
||||
}
|
||||
},{
|
||||
field: 'amount',
|
||||
title: '预付款金额(元)',
|
||||
align: 'right',
|
||||
width: 120,
|
||||
},{
|
||||
field: 'admin_name',
|
||||
title: '申请人',
|
||||
align: 'center',
|
||||
width: 90
|
||||
},{
|
||||
field: 'department',
|
||||
title: '所属部门',
|
||||
align: 'center',
|
||||
width: 120
|
||||
},{
|
||||
field: 'create_time',
|
||||
title: '申请时间',
|
||||
align: 'center',
|
||||
width: 150
|
||||
},{
|
||||
field: 'check_user',
|
||||
title: '当前审核人'
|
||||
},{
|
||||
field: 'right',
|
||||
fixed: 'right',
|
||||
title: '操作',
|
||||
width: 180,
|
||||
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>';
|
||||
var btn3='<span class="layui-btn layui-btn-danger layui-btn-xs" lay-event="tovoid">作废</span>';
|
||||
var btn4='<span class="layui-btn layui-btn-danger layui-btn-xs" lay-event="novoid">反作废</span>';
|
||||
|
||||
var btna1='<span class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view_a">详情</span>';
|
||||
var btna2='<span class="layui-btn layui-btn-xs" lay-event="edit_a">编辑</span>';
|
||||
var btna3='<span class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del_a">删除</span>';
|
||||
if(d.check_status==2){
|
||||
if(auth == 1){
|
||||
if(d.pay_status==0){
|
||||
if(d.open_status==2){
|
||||
html+=btn4+'</div>';
|
||||
}
|
||||
else{
|
||||
html+=btn1+btn2+btn3+'</div>';
|
||||
}
|
||||
}
|
||||
else{
|
||||
html+=btn1+btn2+'</div>';
|
||||
}
|
||||
}
|
||||
else{
|
||||
html+=btn2+'</div>';
|
||||
}
|
||||
}
|
||||
else{
|
||||
html+=btna1;
|
||||
if((d.check_status==0 ||d.check_status==4) && d.admin_id==login_admin){
|
||||
html+=btna2+btna3;
|
||||
}
|
||||
html+='</div>';
|
||||
}
|
||||
return html;
|
||||
}
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
//监听行工具事件
|
||||
table.on('tool(test)', function(obj) {
|
||||
var data = obj.data;
|
||||
if (obj.event === 'add') {
|
||||
tool.side("/finance/payment/add?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'view') {
|
||||
tool.side("/finance/payment/view?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'tovoid') {
|
||||
layer.confirm('确定作废该无发票付款申请吗?', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
$.ajax({
|
||||
url: "/finance/api/tovoid_ticket",
|
||||
type:'post',
|
||||
data: {
|
||||
id: data.id
|
||||
},
|
||||
success: function(res) {
|
||||
layer.msg(res.msg);
|
||||
if (res.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
})
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
if (obj.event === 'novoid') {
|
||||
layer.confirm('确定反作废该无发票付款申请吗?', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
$.ajax({
|
||||
url: "/finance/api/novoid_ticket",
|
||||
type:'post',
|
||||
data: {
|
||||
id: data.id
|
||||
},
|
||||
success: function(res) {
|
||||
layer.msg(res.msg);
|
||||
if (res.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
})
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
if (obj.event === 'view_a') {
|
||||
tool.side("/finance/ticket/view_a?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'edit_a') {
|
||||
tool.side("/finance/ticket/add_a?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'del_a') {
|
||||
layer.confirm('确定要删除该内容吗?', { icon: 3, title: '提示' }, function (index) {
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
obj.del();
|
||||
}
|
||||
}
|
||||
tool.delete("/finance/ticket/del_a", { id: data.id }, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,154 @@
|
||||
{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><input type="text" class="layui-input" name="amount" lay-verify="required|number" placeholder="请输入发票金额" lay-reqText="请输入发票金额" value="{$detail.amount}"></td>
|
||||
<td class="layui-td-gray">发票号码<font>*</font></td>
|
||||
<td><input type="text" class="layui-input" name="code" lay-verify="required" placeholder="请输入发票号码" lay-reqText="请输入发票号码" value="{$detail.code}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">发票类型<font>*</font></td>
|
||||
<td>
|
||||
<select name="invoice_type" lay-verify="required" lay-reqText="请选择发票类型">
|
||||
<option value="">请选择发票类型</option>
|
||||
<option value="1" {eq name="$detail.invoice_type" value="1"}selected{/eq}>增值税专用发票</option>
|
||||
<option value="2" {eq name="$detail.invoice_type" value="2"}selected{/eq}>普通发票</option>
|
||||
<option value="3" {eq name="$detail.invoice_type" value="3"}selected{/eq}>专业发票</option>
|
||||
</select>
|
||||
</td>
|
||||
<td class="layui-td-gray">发票日期<font>*</font></td>
|
||||
<td><input type="text" class="layui-input tool-time" name="open_time" lay-verify="required" readonly placeholder="请选择" lay-reqText="请完善发票日期" value="{$detail.open_time|date='Y-m-d'}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">发票抬头<font>*</font></td>
|
||||
<td>
|
||||
<select name="invoice_subject" lay-verify="required" lay-reqText="请选择发票抬头">
|
||||
<option value="">请选择发票抬头</option>
|
||||
{volist name=":get_base_data('enterprise')" id="vo"}
|
||||
<option value="{$vo.id}" {eq name="$vo.id" value="$detail.invoice_subject"}selected{/eq}>{$vo.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</td>
|
||||
<td class="layui-td-gray-3">开票主体(供应商)<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="supplier_name" class="layui-input picker-oa" data-types="supplier" value="{$detail.supplier_name}" placeholder="请选择" readonly lay-verify="required" lay-reqText="开票主体(供应商)">
|
||||
<input type="hidden" name="supplier_id" value="{$detail.supplier_id}">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">关联采购合同</td>
|
||||
<td colspan="3">
|
||||
<input type="text" class="layui-input picker-oa" data-types="purchase" name="purchase_name" placeholder="请选择" readonly value="{$detail.purchase_name|default=''}">
|
||||
<input type="hidden" class="layui-input" name="purchase_id" value="{$detail.purchase_id}">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">关联项目</td>
|
||||
<td colspan="5">
|
||||
<input type="text" class="layui-input picker-oa" data-types="project" name="project_name" placeholder="请选择需要关联的项目" readonly value="{$detail.project_name|default=''}">
|
||||
<input type="hidden" class="layui-input" name="project_id" value="{$detail.project_id}">
|
||||
</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="{$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>
|
||||
<tr>
|
||||
<td class="layui-td-gray">备注信息</td>
|
||||
<td colspan="5"><textarea name="remark" placeholder="请输入备注信息" class="layui-textarea">{$detail.remark|default=''}</textarea></td>
|
||||
</tr>
|
||||
</table>
|
||||
<div id="checkBox" class="pt-3" data-status="{$detail.check_status}" data-id="{$detail.id}" data-checkflowid="{$detail.check_flow_id}"></div>
|
||||
<div class="pt-4">
|
||||
<input type="hidden" name="id" 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>
|
||||
var moduleInit = ['tool','oaPicker','oaCheck','uploadPlus'];
|
||||
function gouguInit() {
|
||||
var form = layui.form, tool = layui.tool, oaPicker = layui.oaPicker,oaCheck = layui.oaCheck,uploadPlus = layui.uploadPlus;
|
||||
//选择抬头类型
|
||||
form.on('radio(type)', function (data) {
|
||||
if(data.value==2){
|
||||
$('.invoice-qiye').hide();
|
||||
}
|
||||
else{
|
||||
$('.invoice-qiye').show();
|
||||
}
|
||||
});
|
||||
|
||||
//相关附件上传
|
||||
var attachment = new uploadPlus();
|
||||
|
||||
//审批相关
|
||||
oaCheck.init({
|
||||
check_name:'ticket',
|
||||
check_btn:0
|
||||
});
|
||||
|
||||
$('.customer-picker').on('click',function(){
|
||||
let that = $(this),ids = [],titles=[];
|
||||
let callback = function(data){
|
||||
for ( var i = 0; i <data.length; i++){
|
||||
ids.push(data[i].id);
|
||||
titles.push(data[i].title);
|
||||
}
|
||||
that.val(titles.join(','));
|
||||
that.next().val(ids.join(','));
|
||||
$('[name="invoice_tax"]').val(tax_num.join(','));
|
||||
$('[name="invoice_bank"]').val(bank.join(','));
|
||||
$('[name="invoice_account"]').val(bank_sn.join(','));
|
||||
$('[name="invoice_phone"]').val(cperson_mobile.join(','));
|
||||
$('[name="invoice_address"]').val(cperson_address.join(','));
|
||||
}
|
||||
oaPicker.picker('customer',1,callback,{});
|
||||
});
|
||||
//监听提交
|
||||
form.on('submit(webform)', function (data) {
|
||||
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 = 'ticket';
|
||||
data.field.action_id = e.data.return_id;
|
||||
oaCheck.submit(data.field,checkCallback);
|
||||
}
|
||||
}
|
||||
let clickbtn = $(this);
|
||||
tool.post("/finance/ticket/add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,111 @@
|
||||
{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><input type="text" class="layui-input" name="amount" lay-verify="required|number" placeholder="请输入预付款金额" lay-reqText="请输入预付款金额" value="{$detail.amount}"></td>
|
||||
<td class="layui-td-gray">付款方<font>*</font></td>
|
||||
<td>
|
||||
<select name="invoice_subject" lay-verify="required" lay-reqText="请选择付款方">
|
||||
<option value="">请选择付款方</option>
|
||||
{volist name=":get_base_data('enterprise')" id="vo"}
|
||||
<option value="{$vo.id}" {eq name="$vo.id" value="$detail.invoice_subject"}selected{/eq}>{$vo.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-3">收款方(供应商)<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<input type="text" name="supplier_name" class="layui-input picker-oa" data-types="supplier" value="{$detail.supplier_name|default=''}" placeholder="请选择" readonly lay-verify="required" lay-reqText="请完善收款方(供应商)">
|
||||
<input type="hidden" name="supplier_id" value="{$detail.supplier_id}">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">关联采购合同</td>
|
||||
<td colspan="3">
|
||||
<input type="text" class="layui-input picker-oa" data-types="purchase" name="purchase_name" placeholder="请选择需要关联的合同" readonly value="{$detail.purchase_name|default=''}">
|
||||
<input type="hidden" class="layui-input" name="purchase_id" value="{$detail.purchase_id}">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">关联项目</td>
|
||||
<td colspan="3">
|
||||
<input type="text" class="layui-input picker-oa" data-types="project" name="project_name" placeholder="请选择需要关联的项目" readonly value="{$detail.project_name|default=''}">
|
||||
<input type="hidden" class="layui-input" name="project_id" value="{$detail.project_id}">
|
||||
</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="3">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
<input type="hidden" data-type="file" name="file_ids" 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>
|
||||
<tr>
|
||||
<td class="layui-td-gray">备注信息</td>
|
||||
<td colspan="3"><textarea name="remark" placeholder="请输入备注信息" class="layui-textarea">{$detail.remark|default=''}</textarea></td>
|
||||
</tr>
|
||||
</table>
|
||||
<div id="checkBox" class="pt-3" data-status="{$detail.check_status}" data-id="{$detail.id}" data-checkflowid="{$detail.check_flow_id}"></div>
|
||||
<div class="pt-4">
|
||||
<input type="hidden" name="id" 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>
|
||||
var moduleInit = ['tool','oaPicker','oaCheck','uploadPlus'];
|
||||
function gouguInit() {
|
||||
var form = layui.form, tool = layui.tool, oaPicker = layui.oaPicker,oaCheck = layui.oaCheck,uploadPlus = layui.uploadPlus;
|
||||
//相关附件上传
|
||||
var attachment = new uploadPlus();
|
||||
|
||||
//审批相关
|
||||
oaCheck.init({
|
||||
check_name:'ticketa',
|
||||
check_btn:0
|
||||
});
|
||||
//监听提交
|
||||
form.on('submit(webform)', function (data) {
|
||||
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 = 'ticketa';
|
||||
data.field.action_id = e.data.return_id;
|
||||
oaCheck.submit(data.field,checkCallback);
|
||||
}
|
||||
}
|
||||
let clickbtn = $(this);
|
||||
tool.post("/finance/ticket/add_a", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,220 @@
|
||||
{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">正常</li>
|
||||
<li>已作废</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: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 = {$authInvoice};
|
||||
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',
|
||||
title: '收票列表',
|
||||
toolbar: '#toolbarDemo',
|
||||
url: "/finance/ticket/record", //数据接口
|
||||
cellMinWidth: 80,
|
||||
page: true, //开启分页
|
||||
limit: 20,
|
||||
height: 'full-154',
|
||||
totalRow: true,
|
||||
cols: [[
|
||||
{
|
||||
field: 'id',
|
||||
title: 'ID号',
|
||||
align: 'center',
|
||||
width: 80
|
||||
},{
|
||||
field: 'open_status',
|
||||
title: '发票状态',
|
||||
align: 'center',
|
||||
width: 90,
|
||||
templet:function(d){
|
||||
var html='';
|
||||
if(d.check_status==2){
|
||||
html = '<span class="green">『正常』</span>';
|
||||
if(d.open_status==2){
|
||||
html = '<span class="red">『已作废』</span>';
|
||||
}
|
||||
}
|
||||
else{
|
||||
html='-';
|
||||
}
|
||||
return html;
|
||||
},
|
||||
totalRowText: '<div style="text-align:right">合计</div>'
|
||||
},{
|
||||
field: 'amount',
|
||||
title: '发票金额(元)',
|
||||
align: 'right',
|
||||
width: 120,
|
||||
totalRow: function (d) {return d.TOTAL_ROW.amount}
|
||||
},{
|
||||
field: 'supplier_name',
|
||||
title: '供应商[发票主体]',
|
||||
minWidth: 240
|
||||
},{
|
||||
field: 'open_time',
|
||||
title: '发票日期',
|
||||
align: 'center',
|
||||
width: 100
|
||||
},{
|
||||
field: 'code',
|
||||
title: '发票号码',
|
||||
align: 'center',
|
||||
width: 160
|
||||
},{
|
||||
field: 'invoice_type',
|
||||
title: '开票类型',
|
||||
align: 'center',
|
||||
width: 120,
|
||||
templet:function(d){
|
||||
var html='-';
|
||||
if(d.invoice_type==1){
|
||||
html='<span class="green">增值税专用发票</span>';
|
||||
}
|
||||
else if(d.invoice_type==2){
|
||||
html='<span class="blue">普通发票</span>';
|
||||
}
|
||||
else if(d.invoice_type==3){
|
||||
html='<span class="red">专业发票</span>';
|
||||
}
|
||||
return html;
|
||||
}
|
||||
},{
|
||||
field: 'admin_name',
|
||||
title: '收票员工',
|
||||
align: 'center',
|
||||
width: 100
|
||||
},{
|
||||
field: 'department',
|
||||
title: '收票部门',
|
||||
align: 'center',
|
||||
width: 120
|
||||
},{
|
||||
field: 'create_time',
|
||||
title: '创建时间',
|
||||
align: 'center',
|
||||
width: 150
|
||||
},{
|
||||
field: 'right',
|
||||
fixed: 'right',
|
||||
title: '操作',
|
||||
width: 100,
|
||||
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="tovoid">作废</span>';
|
||||
var btn3='<span class="layui-btn layui-btn-danger layui-btn-xs" lay-event="novoid">反作废</span>';
|
||||
html+=btn1;
|
||||
if(auth==1){
|
||||
if(d.open_status==1){
|
||||
html+=btn2;
|
||||
}
|
||||
if(d.open_status==2){
|
||||
html+=btn3;
|
||||
}
|
||||
}
|
||||
html+='</div>';
|
||||
return html;
|
||||
}
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
//监听行工具事件
|
||||
table.on('tool(test)', function(obj) {
|
||||
var data = obj.data;
|
||||
if (obj.event === 'view') {
|
||||
tool.side("/finance/ticket/view?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'tovoid') {
|
||||
layer.confirm('确定作废该发票吗?', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
$.ajax({
|
||||
url: "/finance/api/tovoid_ticket",
|
||||
type:'post',
|
||||
data: {
|
||||
id: data.id
|
||||
},
|
||||
success: function(res) {
|
||||
layer.msg(res.msg);
|
||||
if (res.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
})
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
if (obj.event === 'novoid') {
|
||||
layer.confirm('确定反作废该发票吗?', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
$.ajax({
|
||||
url: "/finance/api/novoid_ticket",
|
||||
type:'post',
|
||||
data: {
|
||||
id: data.id
|
||||
},
|
||||
success: function(res) {
|
||||
layer.msg(res.msg);
|
||||
if (res.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
})
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,80 @@
|
||||
{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-2">发票金额</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>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">发票抬头</td>
|
||||
<td>{$detail.subject}</td>
|
||||
<td class="layui-td-gray-3">开票主体(供应商)</td>
|
||||
<td>{$detail.supplier_name}</td>
|
||||
</tr>
|
||||
{if ( $detail.open_status gt 0)}
|
||||
<tr>
|
||||
<td class="layui-td-gray">发票号码</td>
|
||||
<td>{$detail.code}{eq name="$detail.open_status" value="2"}<span class="yellow">『已作废』</span>{/eq}</td>
|
||||
<td class="layui-td-gray">发票日期</td>
|
||||
<td>{$detail.open_time}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{if condition="$detail.purchase_id > 0"}
|
||||
<tr>
|
||||
<td class="layui-td-gray">关联采购合同</td>
|
||||
<td colspan="3">{$detail.purchase_name|default=''}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{if condition="$detail.project_id > 0"}
|
||||
<tr>
|
||||
<td class="layui-td-gray">关联的项目</td>
|
||||
<td colspan="3">{$detail.project_name|default=''}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{notempty name="$detail.remark"}
|
||||
<tr>
|
||||
<td class="layui-td-gray">备注信息</td>
|
||||
<td colspan="3">{$detail.remark}</td>
|
||||
</tr>
|
||||
{/notempty}
|
||||
{notempty name="$detail.file_ids"}
|
||||
<tr>
|
||||
<td class="layui-td-gray">关联附件</td>
|
||||
<td colspan="3">
|
||||
<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>
|
||||
<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 ticket_id = {$detail.id};
|
||||
const moduleInit = ['tool','oaCheck','uploadPlus'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool, oaCheck=layui.oaCheck,uploadPlus = layui.uploadPlus;
|
||||
oaCheck.init({
|
||||
check_name:'ticket'
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,98 @@
|
||||
{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-2">预付款金额</td>
|
||||
<td class="blue">{$detail.amount} 元</td>
|
||||
<td class="layui-td-gray">付款方</td>
|
||||
<td>{$detail.subject}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-3">收款方(供应商)</td>
|
||||
<td colspan="3">{$detail.supplier_name}</td>
|
||||
</tr>
|
||||
{if condition="$detail.purchase_id > 0"}
|
||||
<tr>
|
||||
<td class="layui-td-gray">关联采购合同</td>
|
||||
<td colspan="3">{$detail.purchase_name|default=''}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{if condition="$detail.project_id > 0"}
|
||||
<tr>
|
||||
<td class="layui-td-gray">关联的项目</td>
|
||||
<td colspan="3">{$detail.project_name|default=''}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{notempty name="$detail.remark"}
|
||||
<tr>
|
||||
<td class="layui-td-gray">备注信息</td>
|
||||
<td colspan="3">{$detail.remark}</td>
|
||||
</tr>
|
||||
{/notempty}
|
||||
{notempty name="$detail.file_ids"}
|
||||
<tr>
|
||||
<td class="layui-td-gray">关联附件</td>
|
||||
<td colspan="3">
|
||||
<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>
|
||||
<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 ticket_id = {$detail.id};
|
||||
const moduleInit = ['tool','oaCheck','uploadPlus'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool, oaCheck=layui.oaCheck,uploadPlus = layui.uploadPlus;
|
||||
oaCheck.init({
|
||||
check_name:'ticketa'
|
||||
});
|
||||
//相关附件上传
|
||||
var attachment = new uploadPlus({
|
||||
"attachment":{
|
||||
uidDelete:true,
|
||||
ajaxSave:function(val){
|
||||
$.ajax({
|
||||
url: "/finance/api/upload_ticket",
|
||||
type:'post',
|
||||
data:{
|
||||
id:ticket_id,
|
||||
other_file_ids:val
|
||||
},
|
||||
success: function (e) {
|
||||
location.reload();
|
||||
}
|
||||
})
|
||||
},
|
||||
ajaxDelete:function(val){
|
||||
$.ajax({
|
||||
url: "/finance/api/upload_ticket",
|
||||
type:'post',
|
||||
data:{
|
||||
id:ticket_id,
|
||||
other_file_ids:val
|
||||
},
|
||||
success: function (e) {
|
||||
location.reload();
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
Reference in New Issue
Block a user