|
|
|
@ -240,7 +240,7 @@
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
|
|
|
|
|
|
//提升数据表格的作用域,因为底下还有一个reloadTable方法
|
|
|
|
|
var tableIns;
|
|
|
|
|
var tableIns; // 定义表格实例变量
|
|
|
|
|
|
|
|
|
|
layui.use(['jquery', 'form', 'layer', 'table', 'laydate'], function () {
|
|
|
|
|
var $ = layui.jquery;
|
|
|
|
@ -249,7 +249,7 @@
|
|
|
|
|
var table = layui.table;
|
|
|
|
|
var laydate = layui.laydate;
|
|
|
|
|
|
|
|
|
|
//初始化时间选择器
|
|
|
|
|
// 初始化时间选择器
|
|
|
|
|
laydate.render({
|
|
|
|
|
elem: '#startTime',
|
|
|
|
|
type: 'datetime'
|
|
|
|
@ -257,9 +257,9 @@
|
|
|
|
|
laydate.render({
|
|
|
|
|
elem: '#endTime',
|
|
|
|
|
type: 'datetime'
|
|
|
|
|
})
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//初始化表格 加载数据
|
|
|
|
|
// 初始化表格并加载数据
|
|
|
|
|
tableIns = table.render({
|
|
|
|
|
elem: "#salesTable",
|
|
|
|
|
title: "销售数据表格",
|
|
|
|
@ -267,32 +267,32 @@
|
|
|
|
|
toolbar: "#salesToolBar",
|
|
|
|
|
page: true,
|
|
|
|
|
height: "full-180",
|
|
|
|
|
cols: [ [
|
|
|
|
|
{field: 'id', title: 'ID', align: 'center',width:'50'},
|
|
|
|
|
{field: 'customername', title: '客户名称', align: 'center',width:'100'},
|
|
|
|
|
{field: 'goodsname', title: '商品名称', align: 'center',width:'150'},
|
|
|
|
|
{field: 'paytype', title: '支付类型', align: 'center',width:'90'},
|
|
|
|
|
{field: 'salestime', title: '销售时间', align: 'center',width:'170'},
|
|
|
|
|
{field: 'operateperson', title: '操作员', align: 'center',width:'130'},
|
|
|
|
|
{field: 'number', title: '销售数量', align: 'center',width:'100'},
|
|
|
|
|
{field: 'size', title: '商品规格', align: 'center',width:'100'},
|
|
|
|
|
{field: 'saleprice', title: '销售价格', align: 'center',width:'120'},
|
|
|
|
|
{field: 'remark', title: '备注', align: 'center',width:'120'},
|
|
|
|
|
{fixed: 'right', title: '操作', toolbar: '#salesRowBar', align: 'center',width:'260'}
|
|
|
|
|
] ],
|
|
|
|
|
cols: [[
|
|
|
|
|
{field: 'id', title: 'ID', align: 'center', width: '50'},
|
|
|
|
|
{field: 'customername', title: '客户名称', align: 'center', width: '100'},
|
|
|
|
|
{field: 'goodsname', title: '商品名称', align: 'center', width: '150'},
|
|
|
|
|
{field: 'paytype', title: '支付类型', align: 'center', width: '90'},
|
|
|
|
|
{field: 'salestime', title: '销售时间', align: 'center', width: '170'},
|
|
|
|
|
{field: 'operateperson', title: '操作员', align: 'center', width: '130'},
|
|
|
|
|
{field: 'number', title: '销售数量', align: 'center', width: '100'},
|
|
|
|
|
{field: 'size', title: '商品规格', align: 'center', width: '100'},
|
|
|
|
|
{field: 'saleprice', title: '销售价格', align: 'center', width: '120'},
|
|
|
|
|
{field: 'remark', title: '备注', align: 'center', width: '120'},
|
|
|
|
|
{fixed: 'right', title: '操作', toolbar: '#salesRowBar', align: 'center', width: '260'}
|
|
|
|
|
]],
|
|
|
|
|
done: function (data, curr, count) {
|
|
|
|
|
//不是第一页时,如果当前返回的数据为0那么就返回上一页
|
|
|
|
|
// 如果不是第一页且当前返回的数据为空,则返回上一页
|
|
|
|
|
if (data.data.length == 0 && curr != 1) {
|
|
|
|
|
tableIns.reload({
|
|
|
|
|
page: {
|
|
|
|
|
curr: curr - 1
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//监控模糊查询按钮事件
|
|
|
|
|
// 监控模糊查询按钮事件
|
|
|
|
|
form.on("submit(doSearch)", function (data) {
|
|
|
|
|
tableIns.reload({
|
|
|
|
|
where: data.field,
|
|
|
|
@ -300,240 +300,222 @@
|
|
|
|
|
curr: 1
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
return false;
|
|
|
|
|
return false; // 阻止表单提交
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//监控工具条事件
|
|
|
|
|
// 监控工具条事件
|
|
|
|
|
table.on("toolbar(salesTable)", function (obj) {
|
|
|
|
|
switch (obj.event) {
|
|
|
|
|
case 'add':
|
|
|
|
|
openAddLayer();
|
|
|
|
|
openAddLayer(); // 打开添加弹出层
|
|
|
|
|
break;
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//监控行工具条事件
|
|
|
|
|
// 监控行工具条事件
|
|
|
|
|
table.on("tool(salesTable)", function (obj) {
|
|
|
|
|
//获取当前行数据
|
|
|
|
|
var data = obj.data;
|
|
|
|
|
var data = obj.data; // 获取当前行数据
|
|
|
|
|
switch (obj.event) {
|
|
|
|
|
case 'delete':
|
|
|
|
|
deleteSales(data);
|
|
|
|
|
deleteSales(data); // 删除销售记录
|
|
|
|
|
break;
|
|
|
|
|
case 'update':
|
|
|
|
|
updateSales(data);
|
|
|
|
|
updateSales(data); // 打开修改弹出层
|
|
|
|
|
break;
|
|
|
|
|
case 'back':
|
|
|
|
|
backSales(data);
|
|
|
|
|
backSales(data); // 回滚销售记录
|
|
|
|
|
break;
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//初始化客户名称的下拉列表
|
|
|
|
|
$.get("/customer/loadAllCustomerForSelect",function (res) {
|
|
|
|
|
// 初始化客户名称的下拉列表
|
|
|
|
|
$.get("/customer/loadAllCustomerForSelect", function (res) {
|
|
|
|
|
var data = res.data;
|
|
|
|
|
var dom = $("#select_customerid");
|
|
|
|
|
var html = '<option value="0">请选择客户</option>';
|
|
|
|
|
$.each(data,function (index, item) {
|
|
|
|
|
html += '<option value="'+item.id+'">'+item.customername+'</option>';
|
|
|
|
|
})
|
|
|
|
|
$.each(data, function (index, item) {
|
|
|
|
|
html += '<option value="' + item.id + '">' + item.customername + '</option>';
|
|
|
|
|
});
|
|
|
|
|
dom.html(html);
|
|
|
|
|
//重新渲染下拉列表
|
|
|
|
|
form.render("select");
|
|
|
|
|
form.render("select"); // 重新渲染下拉列表
|
|
|
|
|
});
|
|
|
|
|
//初始化商品名称的下拉列表
|
|
|
|
|
$.get("/goods/loadAllGoodsForSelect",function (res) {
|
|
|
|
|
|
|
|
|
|
// 初始化商品名称的下拉列表
|
|
|
|
|
$.get("/goods/loadAllGoodsForSelect", function (res) {
|
|
|
|
|
var data = res.data;
|
|
|
|
|
var dom = $("#select_goodsid");
|
|
|
|
|
var html = '<option value="0">请选择商品</option>';
|
|
|
|
|
$.each(data,function (index, item) {
|
|
|
|
|
html += '<option value="'+item.id+'">'+item.goodsname+'-['+item.size+']-'+'['+item.providername+']'+'</option>';
|
|
|
|
|
$.each(data, function (index, item) {
|
|
|
|
|
html += '<option value="' + item.id + '">' + item.goodsname + '-[' + item.size + ']-' + '[' + item.providername + ']' + '</option>';
|
|
|
|
|
});
|
|
|
|
|
dom.html(html);
|
|
|
|
|
//重新渲染下拉列表
|
|
|
|
|
form.render("select");
|
|
|
|
|
form.render("select"); // 重新渲染下拉列表
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
var mainIndex;
|
|
|
|
|
var url;
|
|
|
|
|
var mainIndex; // 主窗口索引
|
|
|
|
|
var url; // URL地址变量
|
|
|
|
|
|
|
|
|
|
//打开添加弹出层
|
|
|
|
|
// 打开添加弹出层函数
|
|
|
|
|
function openAddLayer() {
|
|
|
|
|
mainIndex = layer.open({
|
|
|
|
|
type:1,
|
|
|
|
|
content:$("#addOrUpdateDiv"),
|
|
|
|
|
area:['700px','500px'],
|
|
|
|
|
title:'添加销售',
|
|
|
|
|
success:function () {
|
|
|
|
|
$("#dataFrm")[0].reset();
|
|
|
|
|
//初始化客户名称的下拉列表
|
|
|
|
|
initCustomerSelect();
|
|
|
|
|
//使该div隐藏
|
|
|
|
|
$(".mydiv").hide();
|
|
|
|
|
url="/sales/addSales";
|
|
|
|
|
|
|
|
|
|
type: 1,
|
|
|
|
|
content: $("#addOrUpdateDiv"),
|
|
|
|
|
area: ['700px', '500px'],
|
|
|
|
|
title: '添加销售',
|
|
|
|
|
success: function () {
|
|
|
|
|
$("#dataFrm")[0].reset(); // 重置表单数据
|
|
|
|
|
initCustomerSelect(); // 初始化客户名称下拉列表
|
|
|
|
|
$(".mydiv").hide(); // 隐藏特定元素
|
|
|
|
|
url = "/sales/addSales"; // 设置URL地址为添加销售接口
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//打开修改的弹出层
|
|
|
|
|
// 打开修改弹出层函数
|
|
|
|
|
function updateSales(data) {
|
|
|
|
|
mainIndex = layer.open({
|
|
|
|
|
type:1,
|
|
|
|
|
content:$("#addOrUpdateDiv"),
|
|
|
|
|
area:['700px','500px'],
|
|
|
|
|
title:'修改商品销售',
|
|
|
|
|
success:function () {
|
|
|
|
|
//清空原有的数据
|
|
|
|
|
$("#dataFrm")[0].reset();
|
|
|
|
|
//装载新的数据
|
|
|
|
|
form.val("dataFrm",data);
|
|
|
|
|
//客户进行反选
|
|
|
|
|
initCustomerSelect(data.customerid);
|
|
|
|
|
//商品下拉列表的回显
|
|
|
|
|
$.get("/goods/loadAllGoodsForSelect",function(res){
|
|
|
|
|
var redata=res.data;
|
|
|
|
|
var dom=$("#goodsid");
|
|
|
|
|
var html='<option value="0">请选择供应商</option>'
|
|
|
|
|
$.each(redata,function(index,item){
|
|
|
|
|
if (data.goodsid===item.id){
|
|
|
|
|
html+='<option value="'+item.id+'" selected>'+item.goodsname+'</option>'
|
|
|
|
|
}else {
|
|
|
|
|
html+='<option value="'+item.id+'">'+item.goodsname+'</option>'
|
|
|
|
|
type: 1,
|
|
|
|
|
content: $("#addOrUpdateDiv"),
|
|
|
|
|
area: ['700px', '500px'],
|
|
|
|
|
title: '修改商品销售',
|
|
|
|
|
success: function () {
|
|
|
|
|
$("#dataFrm")[0].reset(); // 清空原有数据
|
|
|
|
|
form.val("dataFrm", data); // 装载新的数据到表单中
|
|
|
|
|
initCustomerSelect(data.customerid); // 初始化客户名称下拉列表并选中当前客户
|
|
|
|
|
$.get("/goods/loadAllGoodsForSelect", function (res) {
|
|
|
|
|
var redata = res.data;
|
|
|
|
|
var dom = $("#goodsid");
|
|
|
|
|
var html = '<option value="0">请选择供应商</option>';
|
|
|
|
|
$.each(redata, function (index, item) {
|
|
|
|
|
if (data.goodsid === item.id) {
|
|
|
|
|
html += '<option value="' + item.id + '" selected>' + item.goodsname + '</option>';
|
|
|
|
|
} else {
|
|
|
|
|
html += '<option value="' + item.id + '">' + item.goodsname + '</option>';
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
dom.html(html);
|
|
|
|
|
form.render("select");
|
|
|
|
|
dom.html(html); // 更新商品下拉列表选项
|
|
|
|
|
form.render("select"); // 重新渲染下拉列表
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//禁用供应商和商品的下拉列表
|
|
|
|
|
$(".mydiv").show();
|
|
|
|
|
url="/sales/updateSales";
|
|
|
|
|
$(".mydiv").show(); // 显示特定元素
|
|
|
|
|
url = "/sales/updateSales"; // 设置URL地址为更新销售接口
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//初始化添加和修改页面的下拉列表
|
|
|
|
|
// 初始化添加和修改页面的下拉列表
|
|
|
|
|
function initCustomerSelect(customerid) {
|
|
|
|
|
//重置商品的下拉列表
|
|
|
|
|
var dom = $("#goodsid");
|
|
|
|
|
// 重置客户的下拉列表
|
|
|
|
|
var dom = $("#customerid");
|
|
|
|
|
dom.html("");
|
|
|
|
|
$.get("/customer/loadAllCustomerForSelect",function (res) {
|
|
|
|
|
$.get("/customer/loadAllCustomerForSelect", function (res) {
|
|
|
|
|
var data = res.data;
|
|
|
|
|
var dom = $("#customerid");
|
|
|
|
|
var html = '<option value="0">请选择客户</option>';
|
|
|
|
|
$.each(data,function (index, item) {
|
|
|
|
|
html += '<option value="'+item.id+'">'+item.customername+'</option>';
|
|
|
|
|
$.each(data, function (index, item) {
|
|
|
|
|
html += '<option value="' + item.id + '">' + item.customername + '</option>';
|
|
|
|
|
});
|
|
|
|
|
dom.html(html);
|
|
|
|
|
//如果customerid有值就进行反选
|
|
|
|
|
if (customerid!=undefined){
|
|
|
|
|
// 如果 customerid 有值就进行反选
|
|
|
|
|
if (customerid != undefined) {
|
|
|
|
|
dom.val(customerid);
|
|
|
|
|
}
|
|
|
|
|
//重新渲染下拉列表
|
|
|
|
|
// 重新渲染下拉列表
|
|
|
|
|
form.render("select");
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
//监听客户的下拉列表的事件
|
|
|
|
|
form.on('select(customerid)',function (data) {
|
|
|
|
|
var customerid = data.value;
|
|
|
|
|
initGoodsSelect(customerid);
|
|
|
|
|
// 监听客户的下拉列表的事件
|
|
|
|
|
form.on('select(customerid)', function (data) {
|
|
|
|
|
var customerid = data.value;
|
|
|
|
|
initGoodsSelect(customerid);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//加载商品的下拉列表
|
|
|
|
|
// 加载商品的下拉列表
|
|
|
|
|
function initGoodsSelect(goodsid) {
|
|
|
|
|
$.get("/goods/loadAllGoodsForSelect",function (res) {
|
|
|
|
|
$.get("/goods/loadAllGoodsForSelect", function (res) {
|
|
|
|
|
var data = res.data;
|
|
|
|
|
var dom = $("#goodsid");
|
|
|
|
|
var html = '<option value="0">请选择商品</option>';
|
|
|
|
|
$.each(data,function (index, item) {
|
|
|
|
|
html += '<option value="'+item.id+'">'+item.goodsname+'-['+item.size+']-'+'['+item.providername+']'+'</option>';
|
|
|
|
|
$.each(data, function (index, item) {
|
|
|
|
|
html += '<option value="' + item.id + '">' + item.goodsname + '-[' + item.size + ']-' + '[' + item.providername + ']' + '</option>';
|
|
|
|
|
});
|
|
|
|
|
dom.html(html);
|
|
|
|
|
//如果goodsid有值就进行反选
|
|
|
|
|
if (goodsid!=undefined){
|
|
|
|
|
// 如果 goodsid 有值就进行反选
|
|
|
|
|
if (goodsid != undefined) {
|
|
|
|
|
dom.val(goodsid);
|
|
|
|
|
}
|
|
|
|
|
//重新渲染下拉列表
|
|
|
|
|
// 重新渲染下拉列表
|
|
|
|
|
form.render("select");
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
form.on("submit(doSubmit)",function (data) {
|
|
|
|
|
$.post(url,data.field,function (res) {
|
|
|
|
|
if (res.code==200){
|
|
|
|
|
tableIns.reload();
|
|
|
|
|
// 提交表单事件
|
|
|
|
|
form.on("submit(doSubmit)", function (data) {
|
|
|
|
|
$.post(url, data.field, function (res) {
|
|
|
|
|
if (res.code == 200) {
|
|
|
|
|
tableIns.reload(); // 重新加载表格数据
|
|
|
|
|
}
|
|
|
|
|
layer.msg(res.msg);
|
|
|
|
|
layer.close(mainIndex);
|
|
|
|
|
layer.msg(res.msg); // 显示操作结果消息
|
|
|
|
|
layer.close(mainIndex); // 关闭当前弹出层
|
|
|
|
|
});
|
|
|
|
|
return false;
|
|
|
|
|
return false; // 阻止表单默认提交行为
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//删除
|
|
|
|
|
// 删除销售信息
|
|
|
|
|
function deleteSales(data) {
|
|
|
|
|
layer.confirm('你确定要删除这条销售信息吗?', {icon: 3, title: '提示'}, function (index) {
|
|
|
|
|
$.post("/sales/deleteSales", {id: data.id},function (res) {
|
|
|
|
|
$.post("/sales/deleteSales", {id: data.id}, function (res) {
|
|
|
|
|
if (res.code == 200) {
|
|
|
|
|
tableIns.reload({
|
|
|
|
|
where:"",
|
|
|
|
|
});
|
|
|
|
|
tableIns.reload({where: "",}); // 重新加载表格数据
|
|
|
|
|
}
|
|
|
|
|
layer.msg(res.msg);
|
|
|
|
|
layer.msg(res.msg); // 显示操作结果消息
|
|
|
|
|
});
|
|
|
|
|
layer.close(index);
|
|
|
|
|
layer.close(index); // 关闭确认框
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//打开退货的弹出层
|
|
|
|
|
// 打开退货的弹出层
|
|
|
|
|
function backSales(data) {
|
|
|
|
|
mainIndex = layer.open({
|
|
|
|
|
type:1,
|
|
|
|
|
content:$("#backGoodsDiv"),
|
|
|
|
|
area:['600px','400px'],
|
|
|
|
|
title:'商品销售退货',
|
|
|
|
|
success:function () {
|
|
|
|
|
//清空原有的数据
|
|
|
|
|
$("#dataFrmBack")[0].reset();
|
|
|
|
|
//装载新的数据 获得销售的ID以及当前销售单的销售数量
|
|
|
|
|
form.val("dataFrmBack",{id:data.id,currentNumber:data.number});
|
|
|
|
|
type: 1,
|
|
|
|
|
content: $("#backGoodsDiv"),
|
|
|
|
|
area: ['600px', '400px'],
|
|
|
|
|
title: '商品销售退货',
|
|
|
|
|
success: function () {
|
|
|
|
|
$("#dataFrmBack")[0].reset(); // 清空原有的数据
|
|
|
|
|
// 装载新的数据,获得销售的ID以及当前销售单的销售数量
|
|
|
|
|
form.val("dataFrmBack", {id: data.id, currentNumber: data.number});
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//自定义验证规则
|
|
|
|
|
// 自定义验证规则
|
|
|
|
|
form.verify({
|
|
|
|
|
checkNumber: function (value) {
|
|
|
|
|
var currentNumber = $("#currentNumber").val();
|
|
|
|
|
//value为退货的数量 currentNumber为当前销售单的数量
|
|
|
|
|
if (parseInt(value)>currentNumber||parseInt(value)<1){
|
|
|
|
|
return '退货数量只能在【0】-【'+currentNumber+'】之间';
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
checkNumber: function (value) {
|
|
|
|
|
var currentNumber = $("#currentNumber").val();
|
|
|
|
|
// value为退货的数量,currentNumber为当前销售单的数量
|
|
|
|
|
if (parseInt(value) > currentNumber || parseInt(value) < 1) {
|
|
|
|
|
return '退货数量只能在【0】-【' + currentNumber + '】之间';
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//退货提交
|
|
|
|
|
form.on("submit(doBackSubmit)",function (data) {
|
|
|
|
|
$.post("/salesback/addSalesback",data.field,function (res) {
|
|
|
|
|
if (res.code==200){
|
|
|
|
|
//重新加载表格数据
|
|
|
|
|
tableIns.reload();
|
|
|
|
|
//关闭退货弹出层
|
|
|
|
|
layer.close(mainIndex);
|
|
|
|
|
// 退货提交事件
|
|
|
|
|
form.on("submit(doBackSubmit)", function (data) {
|
|
|
|
|
$.post("/salesback/addSalesback", data.field, function (res) {
|
|
|
|
|
if (res.code == 200) {
|
|
|
|
|
tableIns.reload(); // 重新加载表格数据
|
|
|
|
|
layer.close(mainIndex); // 关闭退货弹出层
|
|
|
|
|
}
|
|
|
|
|
layer.msg(res.msg);
|
|
|
|
|
layer.msg(res.msg); // 显示操作结果消息
|
|
|
|
|
});
|
|
|
|
|
return false;
|
|
|
|
|
return false; // 阻止表单默认提交行为
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
</body>
|
|
|
|
|