yn_cw_gj/src/main/resources/static/pages/finance/payable.html

340 lines
14 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>应付录入</title>
<link rel="stylesheet" type="text/css" media="screen" href="../../css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" media="screen" href="../../css/dataTables.bootstrap.min.css">
<link rel="stylesheet" type="text/css" media="screen" href="../../layui-v2.8.3/layui/css/layui.css">
<link rel="stylesheet" type="text/css" media="screen" href="../../css/work/publicStyles.css">
<style>
button{
border-radius: 7px !important;
}
#addBtn{
background-color: #f59a23 !important;
}
#exportBt{
background-color: #f2f2f2 !important;
color: #000000 !important;
border: 1px solid #ababab !important;
}
.wrap {
word-wrap: break-word;
}
</style>
</head>
<body>
<div>
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12" >
<header style="height: 100%">
<div align="left">
<table style="width: 100%">
<tr>
<td>
<form class="form-inline layui-form" onsubmit="return false">
<div class="form-group">
<div class="layui-inline">
<div class="layui-input-inline">
<input id="htmc" type="text" class="layui-input" style="width: 200px" placeholder="请输入合同名称">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input id="gysmc" type="text" class="layui-input" style="width: 200px" placeholder="请输入供应商名称">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input id="spbh" type="text" class="layui-input" style="width: 200px" placeholder="请输入商品编号">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input id="pzh" type="text" class="layui-input" style="width: 200px" placeholder="请输入单号(凭证号)">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input id="zdr" type="text" class="layui-input" style="width: 200px" placeholder="请输入制单人">
</div>
</div>
<div class="layui-input-inline" style="width: 10%;">
<input id="startTime" name="startTime" type="text" class="layui-input" style="border: 1px solid #D2D2D2; width: 100%" readonly placeholder="请选择开始时间">
</div>
<div class="layui-input-inline" style="width: 10%;">
<input id="endTime" name="endTime" type="text" class="layui-input" style="border: 1px solid #D2D2D2; width: 100%" readonly placeholder="请选择结束时间">
</div>
<button id="searchBt" class="layui-btn" permission="sys:payable:query" style="margin-left: 15px;">
搜索
</button>
<button id="addBtn" class="layui-btn" onclick="addForm()" permission="sys:payable:add">
添加
</button>
<button id="exportBt" class="layui-btn" >
下载
</button>
</div>
</form>
</td>
</tr>
</table>
</div>
</header>
<div style="margin-left: 15px;margin-right: 15px;">
<div class="widget-body">
<table id="demo" lay-filter="test" class="layui-table" lay-size="lg">
</table>
</div>
</div>
</div>
</div>
</body>
</html>
<script type="text/javascript" src="../../js/libs/jquery-3.6.0.min.js"></script>
<script type="text/javascript" src="../../js/jq.js"></script>
<script type="text/javascript" src="../../js/plugin/datatables/jquery.dataTables.min.js"></script>
<script type="text/javascript" src="../../js/plugin/datatables/dataTables.bootstrap.min.js"></script>
<script type="text/javascript" src="../../layui-v2.8.3/layui/layui.js"></script>
<script type="text/javascript" src="../../js/my/permission.js"></script>
<script type="text/javascript" src="../../js/publicJs.js"></script>
<script type="text/javascript" src="../../js/common_methon.js"></script>
<script type="text/html" id="gysmcView">
<a style="color: #35B3F1;cursor:pointer;" onclick="buttonquerygysmc('{{d.htmcid}}')">{{d.gysmc}}</a>
</script>
<script type="text/html" id="toolsBar">
<a style="color: #009688;font-size: 16px;cursor:pointer;" onclick="openForm('{{d.id}}')">修改</a>
<span> | </span>
<a style="color: #009688;font-size: 16px;cursor:pointer;" onclick="del('{{d.id}}')">删除</a>
</script>
<script type="text/javascript">
var pers = checkPermission();
var example;
var form;
var layuiForm;
let laydate
layui.use(['form', 'laydate', 'upload'], function () {
table = layui.table;
form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
layuiForm = form;
laydate = layui.laydate;
form.render();
form.verify({});
// 日期选择器渲染
laydate.render({
elem: '#startTime',
format: 'yyyy-MM-dd'
});
laydate.render({
elem: '#endTime',
format: 'yyyy-MM-dd'
});
table.render({
elem: '#demo'
, url: ctxPath + '/payable/getList' //数据接口
, method: 'post' //方式默认是get
, toolbar: true //开启工具栏,此处显示默认图标,可以自定义模板,详见文档
,defaultToolbar: []
, where: {
htmc :$('#htmc').val(),
gysmc :$('#gysmc').val(),
spbh :$('#spbh').val(),
pzh :$('#pzh').val(),
zdr :$('#zdr').val(),
startTime :$('#startTime').val(),
endTime :$('#endTime').val()
} //post请求必须加where post请求需要的参数
, cellMinWidth: 80
, cols: [[ //表头
{field: 'number', width:100,title: '序号', align: 'center', type: 'numbers'}
, {field: 'rq',width:200, align: 'center', title: '日期'}
, {field: 'pzh', width: 200, align: 'center', title: '单号(凭证号)'}
, {field: 'htmc', width: 220, align: 'center', title: '合同名称(项目名称)'}
, {field: 'department', width: 220, align: 'center', title: '组织机构'}
, {field: 'gysmc', width: 200, align: 'center',title:'往来单位',templet: '#gysmcView'}
, {field: 'spbh', width: 200, align: 'center', title: '商品编号'}
, {field: 'spmc', width: 200, align: 'center', title: '商品名称'}
, {field: 'je', width: 200, align: 'center', title: '金额'}
, {field: 'fphm', width: 200, align: 'center', title: '发票号码'}
, {field: 'kpje', width: 200, align: 'center', title: '开票金额'}
, {field: 'zdr', width: 200, align: 'center', title: '制单人'}
, {field: 'spzy', width: 200, align: 'center', title: '收票摘要'}
, {fixed: 'right',title: '操作', width: 150,align: 'center', toolbar: '#toolsBar'}
]]
, id: 'menuTable'
, page: true //开启分页
, loading: true //数据加载中。。。
, limits: [5, 10, 20] //一页选择显示3,5或10条数据
, limit: 10 //一页显示5条数据
, response: {
statusCode: 200 //规定成功的状态码默认0
}, parseData: function (res) { //将原始数据解析成 table 组件所规定的数据res为从url中get到的数据
let result;
if (res.data !== '' && res.data != null && res.data !== "null") {
if (this.page.curr) {
result = res.data.slice(this.limit * (this.page.curr - 1), this.limit * this.page.curr);
} else {
result = res.data.slice(0, this.limit);
}
}
return {
"code": res.code, //解析接口状态
"msg": res.msg, //解析提示文本
"count": res.count, //解析数据长度
"data": result, //解析数据列表
};
},
toolbar: "#toolbar"
});
});
function buttonquerygysmc(htmcid) {
localStorage.setItem("htmcid",htmcid);
var index = layer.open({
title: ["查看", 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: 'supplierInfoView.html',
area: ["60%","80%"],
maxmin: false,
});
}
function addForm(){
openForms("","新增");
}
/**
* 新增功能
*/
function openForms(id,title){
localStorage.setItem("id",id);
// layerOpenForm(title,"./addRole.html","80%","95%")
var index = layer.open({
title: [title, 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: "./addPayable.html",
area: ["70%","90%"],
maxmin: false,
});
}
/**
* 修改功能
*/
function openForm(id){
localStorage.setItem("id",id);
$.ajax({
type : 'get',
url : ctxPath + '/payable/'+id,
async : false,
success: function (data) {
var height = '90%';
var width = '70%';
var index = layer.open({
title: ['修改','color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
type: 2,
content: 'addPayable.html',
area: [width, height],
maxmin: false,
success:function(layero,index){
var myIframe = window[layero.find('iframe')[0]['name']];
var fnc = myIframe.setData(data); //aaa()为子页面的方法
},
});
}
})
}
function del(id){
layer.confirm('确定要删除吗?', {
btn : [ '确定', '取消' ]
}, function() {
$.ajax({
type : 'delete',
url : ctxPath + '/payable/'+id,
success : function(data) {
table.reload('menuTable');
layer.msg("删除成功");
}
});
layer.close(1);
});
}
$("#searchBt").click(function () {
let startIpt = $('#startTime').val()
let endIpt = $('#endTime').val()
console.log(startIpt, endIpt)
if (
startIpt === '' && endIpt !== ''
||
startIpt !== '' && endIpt === ''
||
startIpt === null && endIpt !== null
||
startIpt !== null && endIpt === null
) {
layer.msg('请填写完整日期!', {
icon: 2,
time: 2000
})
} else if (Date.parse(startIpt) > Date.parse(endIpt)) {
layer.msg('请选择正确的日期范围!', { icon: 5, time: 1500 }, () => {
})
} else {
table.reload('menuTable', {
url: ctxPath + '/payable/getList'
, method: 'post' //方式默认是get
, page: true
, where: {
htmc :$('#htmc').val(),
gysmc :$('#gysmc').val(),
spbh :$('#spbh').val(),
pzh :$('#pzh').val(),
zdr :$('#zdr').val(),
startTime :$('#startTime').val(),
endTime :$('#endTime').val()
} //设定异步数据接口的额外参数
});
}
});
$("#exportBt").click(function () {
var token = localStorage.getItem("token");
var loadingMsg = layer.msg('下载中,请稍候...', {icon: 16, scrollbar: false, time: 0});
var url = ctxPath + "/payable/exp?htmc=" + $("#htmc").val().trim()+"&gysmc=" + $("#gysmc").val().trim()+ "&spbh=" + $("#spbh").val().trim()+"&pzh=" + $("#pzh").val().trim()+"&zdr=" + $("#zdr").val().trim()+"&startTime=" + $("#startTime").val().trim()+"&endTime=" + $("#endTime").val().trim()+"&token=" + token;
var xhr = new XMLHttpRequest();
xhr.open("get", url, true);
xhr.responseType = "blob"; // 转换流
xhr.onload = function () {
layer.close(loadingMsg);
if (this.status === 200) {
var blob = this.response;
var a = document.createElement("a");
var url = window.URL.createObjectURL(blob);
a.href = url;
a.download = "应付录入信息.xlsx"; // 文件名
}else {
layer.msg('导出发生异常,请稍后重试', {icon: 16, scrollbar: false, time: 2000});
}
a.click()
window.URL.revokeObjectURL(url)
};
xhr.send();
});
</script>