265 lines
9.9 KiB
Java
265 lines
9.9 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"/>
|
|
<link rel="stylesheet" href="/js/bootstrap/css/bootstrap.min.css">
|
|
<link type="text/css" rel="stylesheet" href="/css/jsherp.css"/>
|
|
<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/themes/gray/easyui.css"/>
|
|
<link rel="stylesheet" type="text/css" href="/js/easyui/themes/icon.css"/>
|
|
<link type="text/css" rel="stylesheet" href="/css/common.css"/>
|
|
<script type="text/javascript" src="/js/easyui/jquery.easyui.min.js"></script>
|
|
<script type="text/javascript" src="/js/easyui/locale/easyui-lang-zh_CN.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:5px;" title="销售统计列表" iconCls="icon-list">
|
|
<div class="box-body form-inline">
|
|
<div class="form-group">
|
|
<label class="control-label">月份:</label>
|
|
<div class="control-inline">
|
|
<input type="text" name="searchMonth" id="searchMonth" onClick="WdatePicker({dateFmt:'yyyy-MM'})"
|
|
class="txt Wdate width-160" style="height: 30px;border: 1px solid #d3d3d3;border-radius:5px;"/>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label">名称:</label>
|
|
<div class="control-inline">
|
|
<input name="mName" id="mName" style="width:100px;"></input>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label">型号:</label>
|
|
<div class="control-inline">
|
|
<input type="text" name="mModel" id="mModel" class="easyui-textbox" style="width:100px;"></input>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<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>
|
|
</div>
|
|
<div class="form-group">
|
|
当前销售总额:<span class="first-total">0</span> <span class="tip">注:此处包含零售+批发销售</span>
|
|
</div>
|
|
</div>
|
|
<table id="tableData" style="top:300px;border-bottom-color:#FFFFFF"></table>
|
|
</div>
|
|
|
|
<script type="text/javascript">
|
|
var mPropertyList = ""; //商品属性列表
|
|
//初始化界面
|
|
$(function () {
|
|
$("#searchTable .tip").css("padding-left", "15px").css("color", "red");
|
|
var thisDate = getNowFormatMonth(); //当前月份
|
|
$("#searchMonth").val(thisDate);
|
|
initMaterialNameList();
|
|
initMProperty(); //初始化商品属性
|
|
initTableData();
|
|
ininPager();
|
|
search();
|
|
print();
|
|
});
|
|
|
|
//初始化商品名称模糊匹配
|
|
function initMaterialNameList() {
|
|
$('#mName').combobox({
|
|
method:"get",
|
|
url: "/material/getMaterialNameList",
|
|
valueField: 'value',
|
|
textField: 'text',
|
|
hasDownArrow: false,
|
|
filter: function(q, row){
|
|
var opts = $(this).combobox('options');
|
|
return row[opts.textField].indexOf(q) >-1;
|
|
}
|
|
});
|
|
}
|
|
|
|
//初始化商品属性
|
|
function initMProperty() {
|
|
$.ajax({
|
|
type: "get",
|
|
url: "/materialProperty/list",
|
|
dataType: "json",
|
|
//设置为同步
|
|
async: false,
|
|
data: ({
|
|
search: JSON.stringify({
|
|
name: ""
|
|
}),
|
|
currentPage: 1,
|
|
pageSize: 100
|
|
}),
|
|
success: function (res) {
|
|
if(res && res.code === 200){
|
|
var thisRows = res.data.page.rows;
|
|
for (var i = 0; i < thisRows.length; i++) {
|
|
if (thisRows[i].enabled) {
|
|
mPropertyList += thisRows[i].nativeName + ",";
|
|
}
|
|
}
|
|
if (mPropertyList) {
|
|
mPropertyList = mPropertyList.substring(0, mPropertyList.length - 1);
|
|
}
|
|
}
|
|
},
|
|
//此处添加错误处理
|
|
error: function () {
|
|
$.messager.alert('查询提示', '查询信息异常,请稍后再试!', 'error');
|
|
return;
|
|
}
|
|
});
|
|
}
|
|
|
|
//初始化表格数据
|
|
function initTableData() {
|
|
$('#tableData').datagrid({
|
|
height: heightInfo,
|
|
nowrap: false,
|
|
rownumbers: true,
|
|
//动画效果
|
|
animate: false,
|
|
//选中单行
|
|
singleSelect: true,
|
|
pagination: true,
|
|
//交替出现背景
|
|
striped: true,
|
|
//loadFilter: pagerFilter,
|
|
pageSize: 10,
|
|
pageList: [10, 50, 100],
|
|
columns: [[
|
|
{title: '名称', field: 'MaterialName', width: 160},
|
|
{title: '规格', field: 'MaterialStandard', width: 80},
|
|
{title: '型号', field: 'MaterialModel', width: 80},
|
|
{title: '扩展信息', field: 'MaterialOther', width: 150},
|
|
{title: '单位', field: 'MaterialUnit', width: 80,
|
|
formatter: function (value, row) {
|
|
if(value) {
|
|
return value;
|
|
} else if(row.UName) {
|
|
var uName = row.UName;
|
|
return uName.substring(0,uName.indexOf(","));
|
|
}
|
|
}
|
|
},
|
|
{title: '销售数量', field: 'OutSum', width: 80},
|
|
{title: '销售金额', field: 'OutSumPrice', width: 80},
|
|
{title: '退货数量', field: 'InSum', width: 80},
|
|
{title: '退货金额', field: 'InSumPrice', width: 80},
|
|
{title: '实际销售金额', field: 'OutInSumPrice', width: 100}
|
|
|
|
]],
|
|
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 == "searchMonth")) {
|
|
$("#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');
|
|
}
|
|
}
|
|
|
|
//搜索处理
|
|
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: "post",
|
|
url: "/depotItem/saleOut",
|
|
dataType: "json",
|
|
data: ({
|
|
currentPage: pageNo,
|
|
pageSize: pageSize,
|
|
monthTime: $("#searchMonth").val(),
|
|
name: $("#mName").combobox("getValue"),
|
|
model: $("#mModel").textbox("getValue"),
|
|
mpList: mPropertyList
|
|
}),
|
|
success: function (res) {
|
|
if (res && res.code === 200) {
|
|
$("#tableData").datagrid('loadData', res.data);
|
|
}
|
|
var total = 0;
|
|
res.data.rows.forEach(function(value, index, array){
|
|
//执行某些操作
|
|
total += value.OutInSumPrice;
|
|
})
|
|
|
|
$(".first-total").text(total); //当前总余额
|
|
},
|
|
//此处添加错误处理
|
|
error: function () {
|
|
$.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error');
|
|
return;
|
|
}
|
|
});
|
|
}
|
|
|
|
//报表打印
|
|
function print() {
|
|
$("#printBtn").off("click").on("click", function () {
|
|
CreateFormPage('打印报表', $('#tableData'));
|
|
});
|
|
}
|
|
</script>
|
|
</body>
|
|
</html>
|