340 lines
14 KiB
HTML
340 lines
14 KiB
HTML
<!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> |