349 lines
17 KiB
Java
349 lines
17 KiB
Java
<!DOCTYPE html>
|
||
<html>
|
||
<head>
|
||
<title>客户对账</title>
|
||
<meta charset="utf-8">
|
||
<!-- 指定以IE8的方式来渲染 -->
|
||
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"/>
|
||
<link rel="shortcut icon" href="/images/favicon.ico" type="image/x-icon"/>
|
||
<script type="text/javascript" src="/js/jquery-1.8.0.min.js"></script>
|
||
<script type="text/javascript" src="/js/print/print.js"></script>
|
||
<link rel="stylesheet" type="text/css" href="/js/easyui-1.3.5/themes/default/easyui.css"/>
|
||
<link rel="stylesheet" type="text/css" href="/js/easyui-1.3.5/themes/icon.css"/>
|
||
<link type="text/css" rel="stylesheet" href="/css/common.css"/>
|
||
<script type="text/javascript" src="/js/easyui-1.3.5/jquery.easyui.min.js"></script>
|
||
<script type="text/javascript" src="/js/easyui-1.3.5/locale/easyui-lang-zh_CN.js"></script>
|
||
<script type="text/javascript" src="/js/common/outlook_in.js"></script>
|
||
<script type="text/javascript" src="/js/My97DatePicker/WdatePicker.js"></script>
|
||
<script type="text/javascript" src="/js/common/common.js"></script>
|
||
</head>
|
||
<body>
|
||
<!-- 数据显示table -->
|
||
<div id="tablePanel" class="easyui-panel" data-options="fit:true" style="padding:1px;top:300px;" title="客户对账列表" iconCls="icon-list">
|
||
<table id="searchTable">
|
||
<tr>
|
||
<td>客户:</td>
|
||
<td>
|
||
<input id="OrganId" name="OrganId" style="width:120px;"/>
|
||
</td>
|
||
<td> </td>
|
||
<td>单据日期:</td>
|
||
<td>
|
||
<input type="text" name="searchBeginTime" id="searchBeginTime"
|
||
onClick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})" class="txt Wdate" style="width:140px;"/>
|
||
</td>
|
||
<td>-</td>
|
||
<td>
|
||
<input type="text" name="searchEndTime" id="searchEndTime"
|
||
onClick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})" class="txt Wdate" style="width:140px;"/>
|
||
</td>
|
||
<td> </td>
|
||
<td>
|
||
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-search" id="searchBtn">查询</a>
|
||
|
||
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-print" id="printBtn">打印</a>
|
||
</td>
|
||
<td> </td>
|
||
<td>
|
||
期初应收:<span class="first-total">0</span>
|
||
期末应收:<span class="last-total">0</span><span id="pleaseSelect">(请选择客户)</span>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<table id="tableData" style="top:300px;border-bottom-color:#FFFFFF"></table>
|
||
</div>
|
||
|
||
<script type="text/javascript">
|
||
var uid = sessionStorage.getItem("userId");
|
||
var cusUrl = "/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + uid; //客户接口
|
||
//初始化界面
|
||
$(function () {
|
||
var thisDate = getNowFormatMonth(); //当前月份
|
||
var thisDateTime = getNowFormatDateTime(); //当前时间
|
||
$("#searchBeginTime").val(thisDate + "-01 00:00:00");
|
||
$("#searchEndTime").val(thisDateTime);
|
||
initSupplier(); //初始化客户信息
|
||
initTableData();
|
||
ininPager();
|
||
search();
|
||
print();
|
||
});
|
||
|
||
|
||
//初始化客户
|
||
function initSupplier() {
|
||
$('#OrganId').combobox({
|
||
url: cusUrl,
|
||
valueField: 'id',
|
||
textField: 'supplier',
|
||
filter: function (q, row) {
|
||
var opts = $(this).combobox('options');
|
||
return row[opts.textField].indexOf(q) > -1;
|
||
}
|
||
});
|
||
}
|
||
|
||
//初始化表格数据
|
||
function initTableData() {
|
||
$('#tableData').datagrid({
|
||
height: heightInfo,
|
||
nowrap: false,
|
||
rownumbers: true,
|
||
//动画效果
|
||
animate: false,
|
||
//选中单行
|
||
singleSelect: true,
|
||
pagination: true,
|
||
//交替出现背景
|
||
striped: true,
|
||
pageSize: 10,
|
||
pageList: [10, 50, 100],
|
||
columns: [[
|
||
{
|
||
title: '单据编号', field: 'number', width: 140,
|
||
formatter: function (value, row) {
|
||
return "<a class='n-link' onclick=\"newTab('" + row.number + "','../materials/bill_detail.html?n=" + row.number + "&type=" + row.type + "','')\">"
|
||
+ row.number + "</a>";
|
||
}
|
||
},
|
||
{title: '类型', field: 'type', width: 100},
|
||
{title: '单位名称', field: 'supplierName', width: 200},
|
||
{title: '单据金额', field: 'discountLastMoney', width: 80},
|
||
{title: '实际支付', field: 'changeAmount', width: 80},
|
||
{title: '本期变化', field: 'allPrice', width: 80},
|
||
{title: '单据日期', field: 'oTime', width: 140}
|
||
]],
|
||
onLoadError: function () {
|
||
$.messager.alert('页面加载提示', '页面加载异常,请稍后再试!', 'error');
|
||
return;
|
||
}
|
||
});
|
||
dgResize();
|
||
}
|
||
|
||
//初始化键盘enter事件
|
||
$(document).keydown(function (event) {
|
||
//兼容 IE和firefox 事件
|
||
var e = window.event || event;
|
||
var k = e.keyCode || e.which || e.charCode;
|
||
//兼容 IE,firefox 兼容
|
||
var obj = e.srcElement ? e.srcElement : e.target;
|
||
//绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 ---遗留问题 enter键效验 对话框会关闭问题
|
||
if (k == "13" && (obj.id == "Type" || obj.id == "Name")) {
|
||
$("#savePerson").click();
|
||
}
|
||
//搜索按钮添加快捷键
|
||
if (k == "13" && (obj.id == "searchType")) {
|
||
$("#searchBtn").click();
|
||
}
|
||
});
|
||
|
||
//分页信息处理
|
||
function ininPager() {
|
||
try {
|
||
var opts = $("#tableData").datagrid('options');
|
||
var pager = $("#tableData").datagrid('getPager');
|
||
pager.pagination({
|
||
onSelectPage: function (pageNum, pageSize) {
|
||
opts.pageNumber = pageNum;
|
||
opts.pageSize = pageSize;
|
||
pager.pagination('refresh', {
|
||
pageNumber: pageNum,
|
||
pageSize: pageSize
|
||
});
|
||
showDetails(pageNum, pageSize);
|
||
}
|
||
});
|
||
}
|
||
catch (e) {
|
||
$.messager.alert('异常处理提示', "分页信息异常 : " + e.name + ": " + e.message, 'error');
|
||
}
|
||
}
|
||
|
||
//增加
|
||
var url;
|
||
var personID = 0;
|
||
//保存编辑前的名称
|
||
var orgPerson = "";
|
||
|
||
//搜索处理
|
||
function search() {
|
||
showDetails(1, initPageSize);
|
||
var opts = $("#tableData").datagrid('options');
|
||
var pager = $("#tableData").datagrid('getPager');
|
||
opts.pageNumber = 1;
|
||
opts.pageSize = initPageSize;
|
||
pager.pagination('refresh', {
|
||
pageNumber: 1,
|
||
pageSize: initPageSize
|
||
});
|
||
}
|
||
|
||
$("#searchBtn").unbind().bind({
|
||
click: function () {
|
||
search();
|
||
}
|
||
});
|
||
|
||
function showDetails(pageNo, pageSize) {
|
||
$.ajax({
|
||
type: "get",
|
||
url: "/depotHead/findStatementAccount",
|
||
dataType: "json",
|
||
data: ({
|
||
currentPage: pageNo,
|
||
pageSize: pageSize,
|
||
beginTime: $("#searchBeginTime").val(),
|
||
endTime: $("#searchEndTime").val(),
|
||
organId: $('#OrganId').combobox('getValue'),
|
||
supType: "客户"
|
||
}),
|
||
success: function (res) {
|
||
if (res && res.code === 200) {
|
||
$("#tableData").datagrid('loadData', res.data);
|
||
//如果选择了单位信息,就进行计算期初和期末
|
||
var supplierId = $('#OrganId').combobox('getValue');
|
||
if (supplierId) {
|
||
//先查找期初信息
|
||
var beginNeedGet = 0;
|
||
var beginNeedPay = 0;
|
||
$.ajax({
|
||
type: "get",
|
||
url: "/supplier/findById",
|
||
dataType: "json",
|
||
async: false,
|
||
data: ({
|
||
supplierId: supplierId
|
||
}),
|
||
success: function (res) {
|
||
if (res && res.data && res.data[0]) {
|
||
if (res.data[0].BeginNeedGet) {
|
||
beginNeedGet = res.data[0].BeginNeedGet;
|
||
}
|
||
if (res.data[0].BeginNeedPay) {
|
||
beginNeedPay = res.data[0].BeginNeedPay;
|
||
}
|
||
//显示期初结存
|
||
var searchBeginTime = $("#searchBeginTime").val(); //开始时间
|
||
$.ajax({
|
||
type: "get",
|
||
url: "/depotHead/findTotalPay",
|
||
dataType: "json",
|
||
async: false,
|
||
data: ({
|
||
supplierId: supplierId,
|
||
endTime: searchBeginTime,
|
||
supType: "customer"
|
||
}),
|
||
success: function (res) {
|
||
if (res && res.code === 200 && res.data && res.data.rows) {
|
||
var moneyA = res.data.rows.getAllMoney.toFixed(2) - 0;
|
||
$.ajax({
|
||
type: "get",
|
||
url: "/accountHead/findTotalPay",
|
||
dataType: "json",
|
||
async: false,
|
||
data: ({
|
||
supplierId: supplierId,
|
||
endTime: searchBeginTime,
|
||
supType: "customer"
|
||
}),
|
||
success: function (res) {
|
||
if (res && res.code === 200 && res.data && res.data.rows) {
|
||
var moneyB = res.data.rows.getAllMoney.toFixed(2) - 0;
|
||
var money = moneyA + moneyB;
|
||
var moneyBeginNeedGet = beginNeedGet - 0; //期初应收
|
||
var moneyBeginNeedPay = beginNeedPay - 0; //期初应付
|
||
money = (money + moneyBeginNeedGet - moneyBeginNeedPay).toFixed(2);
|
||
$(".first-total").text(money); //期初结存
|
||
$("#pleaseSelect").hide();
|
||
}
|
||
},
|
||
error: function () {
|
||
$.messager.alert('提示', '网络异常请稍后再试!', 'error');
|
||
return;
|
||
}
|
||
});
|
||
}
|
||
},
|
||
error: function () {
|
||
$.messager.alert('提示', '网络异常请稍后再试!', 'error');
|
||
return;
|
||
}
|
||
})
|
||
|
||
//显示期末合计
|
||
var searchEndTime = $("#searchEndTime").val(); //结束时间
|
||
$.ajax({
|
||
type: "get",
|
||
url: "/depotHead/findTotalPay",
|
||
dataType: "json",
|
||
async: false,
|
||
data: ({
|
||
supplierId: supplierId,
|
||
endTime: searchEndTime,
|
||
supType: "customer"
|
||
}),
|
||
success: function (res) {
|
||
if (res && res.code === 200 && res.data && res.data.rows) {
|
||
var moneyA = res.data.rows.getAllMoney.toFixed(2) - 0;
|
||
$.ajax({
|
||
type: "get",
|
||
url: "/accountHead/findTotalPay",
|
||
dataType: "json",
|
||
async: false,
|
||
data: ({
|
||
supplierId: supplierId,
|
||
endTime: searchEndTime,
|
||
supType: "customer"
|
||
}),
|
||
success: function (res) {
|
||
if (res && res.code === 200 && res.data && res.data.rows) {
|
||
var moneyB = res.data.rows.getAllMoney.toFixed(2) - 0;
|
||
var money = moneyA + moneyB;
|
||
var moneyBeginNeedGet = beginNeedGet - 0; //期初应收
|
||
var moneyBeginNeedPay = beginNeedPay - 0; //期初应付
|
||
money = (money + moneyBeginNeedGet - moneyBeginNeedPay).toFixed(2);
|
||
$(".last-total").text(money); //期末合计
|
||
$("#pleaseSelect").hide();
|
||
}
|
||
},
|
||
error: function () {
|
||
$.messager.alert('提示', '网络异常请稍后再试!', 'error');
|
||
return;
|
||
}
|
||
});
|
||
}
|
||
},
|
||
error: function () {
|
||
$.messager.alert('提示', '网络异常请稍后再试!', 'error');
|
||
return;
|
||
}
|
||
})
|
||
}
|
||
},
|
||
error: function () {
|
||
$.messager.alert('提示', '网络异常请稍后再试!', 'error');
|
||
return;
|
||
}
|
||
});
|
||
}
|
||
}
|
||
},
|
||
//此处添加错误处理
|
||
error: function () {
|
||
$.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error');
|
||
return;
|
||
}
|
||
});
|
||
}
|
||
|
||
//报表打印
|
||
function print() {
|
||
$("#printBtn").off("click").on("click", function () {
|
||
CreateFormPage('打印报表', $('#tableData'));
|
||
});
|
||
}
|
||
</script>
|
||
</body>
|
||
</html> |