|
|
|
@ -240,286 +240,263 @@
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
|
|
|
|
|
|
//提升数据表格的作用域,因为底下还有一个reloadTable方法
|
|
|
|
|
var tableIns;
|
|
|
|
|
var tableIns; // 定义表格实例变量,用于后续操作表格
|
|
|
|
|
|
|
|
|
|
layui.use(['jquery', 'form', 'layer', 'table', 'laydate'], function () {
|
|
|
|
|
var $ = layui.jquery;
|
|
|
|
|
var form = layui.form;
|
|
|
|
|
var layer = layui.layer;
|
|
|
|
|
var table = layui.table;
|
|
|
|
|
var laydate = layui.laydate;
|
|
|
|
|
var $ = layui.jquery; // 引入jQuery模块
|
|
|
|
|
var form = layui.form; // 引入表单模块
|
|
|
|
|
var layer = layui.layer; // 引入弹出层模块
|
|
|
|
|
var table = layui.table; // 引入表格模块
|
|
|
|
|
var laydate = layui.laydate; // 引入日期选择器模块
|
|
|
|
|
|
|
|
|
|
//初始化时间选择器
|
|
|
|
|
// 初始化时间选择器
|
|
|
|
|
laydate.render({
|
|
|
|
|
elem: '#startTime',
|
|
|
|
|
type: 'datetime'
|
|
|
|
|
elem: '#startTime', // 绑定元素ID为startTime的DOM元素
|
|
|
|
|
type: 'datetime' // 设置类型为日期时间选择器
|
|
|
|
|
});
|
|
|
|
|
laydate.render({
|
|
|
|
|
elem: '#endTime',
|
|
|
|
|
type: 'datetime'
|
|
|
|
|
})
|
|
|
|
|
elem: '#endTime', // 绑定元素ID为endTime的DOM元素
|
|
|
|
|
type: 'datetime' // 设置类型为日期时间选择器
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//初始化表格 加载数据
|
|
|
|
|
// 初始化表格并加载数据
|
|
|
|
|
tableIns = table.render({
|
|
|
|
|
elem: "#inportTable",
|
|
|
|
|
title: "进货数据表格",
|
|
|
|
|
url: "/inport/loadAllInport",
|
|
|
|
|
toolbar: "#inportToolBar",
|
|
|
|
|
page: true,
|
|
|
|
|
height: "full-180",
|
|
|
|
|
cols: [ [
|
|
|
|
|
{field: 'id', title: 'ID', align: 'center',width:'50'},
|
|
|
|
|
{field: 'providername', title: '供应商', align: 'center',width:'100'},
|
|
|
|
|
{field: 'goodsname', title: '商品名称', align: 'center',width:'150'},
|
|
|
|
|
{field: 'paytype', title: '支付类型', align: 'center',width:'90'},
|
|
|
|
|
{field: 'inporttime', 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: 'inportprice', title: '进货价格', align: 'center',width:'120'},
|
|
|
|
|
{field: 'remark', title: '备注', align: 'center',width:'120'},
|
|
|
|
|
{fixed: 'right', title: '操作', toolbar: '#inportRowBar', align: 'center',width:'260'}
|
|
|
|
|
] ],
|
|
|
|
|
elem: "#inportTable", // 绑定表格容器的ID
|
|
|
|
|
title: "进货数据表格", // 表格标题
|
|
|
|
|
url: "/inport/loadAllInport", // 数据接口地址
|
|
|
|
|
toolbar: "#inportToolBar", // 工具栏模板的选择器或DOM
|
|
|
|
|
page: true, // 开启分页
|
|
|
|
|
height: "full-180", // 设置表格高度,减去头部和底部的高度
|
|
|
|
|
cols: [[ // 表头配置项
|
|
|
|
|
{field: 'id', title: 'ID', align: 'center', width: '50'}, // ID列配置
|
|
|
|
|
{field: 'providername', title: '供应商', align: 'center', width: '100'}, // 供应商列配置
|
|
|
|
|
{field: 'goodsname', title: '商品名称', align: 'center', width: '150'}, // 商品名称列配置
|
|
|
|
|
{field: 'paytype', title: '支付类型', align: 'center', width: '90'}, // 支付类型列配置
|
|
|
|
|
{field: 'inporttime', 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: 'inportprice', title: '进货价格', align: 'center', width: '120'}, // 进货价格列配置
|
|
|
|
|
{field: 'remark', title: '备注', align: 'center', width: '120'}, // 备注列配置
|
|
|
|
|
{fixed: 'right', title: '操作', toolbar: '#inportRowBar', align: 'center', width: '260'} // 操作列配置
|
|
|
|
|
]],
|
|
|
|
|
done: function (data, curr, count) {
|
|
|
|
|
//不是第一页时,如果当前返回的数据为0那么就返回上一页
|
|
|
|
|
// 当不是第一页且当前页没有数据时,自动跳转到上一页
|
|
|
|
|
if (data.data.length == 0 && curr != 1) {
|
|
|
|
|
tableIns.reload({
|
|
|
|
|
page: {
|
|
|
|
|
curr: curr - 1
|
|
|
|
|
curr: curr - 1 // 设置当前页为上一页
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//监控模糊查询按钮事件
|
|
|
|
|
// 监听模糊查询按钮事件
|
|
|
|
|
form.on("submit(doSearch)", function (data) {
|
|
|
|
|
tableIns.reload({
|
|
|
|
|
where: data.field,
|
|
|
|
|
where: data.field, // 将表单数据作为查询条件
|
|
|
|
|
page: {
|
|
|
|
|
curr: 1
|
|
|
|
|
curr: 1 // 重置到第一页
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
return false;
|
|
|
|
|
return false; // 阻止表单默认提交行为
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//监控工具条事件
|
|
|
|
|
// 监听工具条事件
|
|
|
|
|
table.on("toolbar(inportTable)", function (obj) {
|
|
|
|
|
switch (obj.event) {
|
|
|
|
|
case 'add':
|
|
|
|
|
openAddLayer();
|
|
|
|
|
case 'add': // 如果点击了添加按钮
|
|
|
|
|
openAddLayer(); // 调用打开添加层的函数
|
|
|
|
|
break;
|
|
|
|
|
case 'deleteBatch':
|
|
|
|
|
batchDeleteInport();
|
|
|
|
|
case 'deleteBatch': // 如果点击了批量删除按钮
|
|
|
|
|
batchDeleteInport(); // 调用批量删除的函数
|
|
|
|
|
break;
|
|
|
|
|
};
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//监控行工具条事件
|
|
|
|
|
table.on("tool(inportTable)", function (obj) {
|
|
|
|
|
//获取当前行数据
|
|
|
|
|
var data = obj.data;
|
|
|
|
|
var data = obj.data; // 获取当前行的数据
|
|
|
|
|
switch (obj.event) {
|
|
|
|
|
case 'delete':
|
|
|
|
|
deleteInport(data);
|
|
|
|
|
case 'delete': // 如果点击了删除按钮
|
|
|
|
|
deleteInport(data); // 调用删除函数,传入当前行数据
|
|
|
|
|
break;
|
|
|
|
|
case 'update':
|
|
|
|
|
updateInport(data);
|
|
|
|
|
case 'update': // 如果点击了编辑按钮
|
|
|
|
|
updateInport(data); // 调用更新函数,传入当前行数据
|
|
|
|
|
break;
|
|
|
|
|
case 'back':
|
|
|
|
|
backInport(data);
|
|
|
|
|
case 'back': // 如果点击了返回按钮
|
|
|
|
|
backInport(data); // 调用返回函数,传入当前行数据
|
|
|
|
|
break;
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//初始化供应商名称的下拉列表
|
|
|
|
|
$.get("/provider/loadAllProviderForSelect",function (res) {
|
|
|
|
|
// 初始化供应商名称的下拉列表
|
|
|
|
|
$.get("/provider/loadAllProviderForSelect", function (res) {
|
|
|
|
|
var data = res.data;
|
|
|
|
|
var dom = $("#select_providerid");
|
|
|
|
|
var html = '<option value="0">请选择供应商</option>';
|
|
|
|
|
$.each(data,function (index, item) {
|
|
|
|
|
html += '<option value="'+item.id+'">'+item.providername+'</option>';
|
|
|
|
|
})
|
|
|
|
|
$.each(data, function (index, item) {
|
|
|
|
|
html += '<option value="' + item.id + '">' + item.providername + '</option>';
|
|
|
|
|
});
|
|
|
|
|
dom.html(html);
|
|
|
|
|
//重新渲染下拉列表
|
|
|
|
|
// 重新渲染下拉列表
|
|
|
|
|
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");
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
var mainIndex;
|
|
|
|
|
var url;
|
|
|
|
|
|
|
|
|
|
//打开添加弹出层
|
|
|
|
|
// 打开添加弹出层
|
|
|
|
|
function openAddLayer() {
|
|
|
|
|
mainIndex = layer.open({
|
|
|
|
|
type:1,
|
|
|
|
|
content:$("#addOrUpdateDiv"),
|
|
|
|
|
area:['700px','500px'],
|
|
|
|
|
title:'添加进货',
|
|
|
|
|
success:function () {
|
|
|
|
|
$("#dataFrm")[0].reset();
|
|
|
|
|
//初始化供应商的下拉列表
|
|
|
|
|
initProviderSelect();
|
|
|
|
|
//使该div隐藏
|
|
|
|
|
$(".mydiv").hide();
|
|
|
|
|
url="/inport/addInport";
|
|
|
|
|
|
|
|
|
|
type: 1,
|
|
|
|
|
content: $("#addOrUpdateDiv"),
|
|
|
|
|
area: ['700px', '500px'],
|
|
|
|
|
title: '添加进货',
|
|
|
|
|
success: function () {
|
|
|
|
|
$("#dataFrm")[0].reset(); // 清空表单数据
|
|
|
|
|
initProviderSelect(); // 初始化供应商的下拉列表
|
|
|
|
|
$(".mydiv").hide(); // 隐藏特定元素
|
|
|
|
|
url = "/inport/addInport"; // 设置提交URL为添加进货
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//打开修改的弹出层
|
|
|
|
|
// 打开修改的弹出层
|
|
|
|
|
function updateInport(data) {
|
|
|
|
|
mainIndex = layer.open({
|
|
|
|
|
type:1,
|
|
|
|
|
content:$("#addOrUpdateDiv"),
|
|
|
|
|
area:['700px','500px'],
|
|
|
|
|
title:'修改商品进货',
|
|
|
|
|
success:function () {
|
|
|
|
|
//清空原有的数据
|
|
|
|
|
$("#dataFrm")[0].reset();
|
|
|
|
|
//装载新的数据
|
|
|
|
|
form.val("dataFrm",data);
|
|
|
|
|
//供应商进行反选
|
|
|
|
|
initProviderSelect(data.providerid);
|
|
|
|
|
//商品进行反选
|
|
|
|
|
initGoodsSelect(data.providerid,data.goodsid);
|
|
|
|
|
//禁用供应商和商品的下拉列表
|
|
|
|
|
$(".mydiv").show();
|
|
|
|
|
url="/inport/updateInport";
|
|
|
|
|
type: 1,
|
|
|
|
|
content: $("#addOrUpdateDiv"),
|
|
|
|
|
area: ['700px', '500px'],
|
|
|
|
|
title: '修改商品进货',
|
|
|
|
|
success: function () {
|
|
|
|
|
$("#dataFrm")[0].reset(); // 清空表单数据
|
|
|
|
|
form.val("dataFrm", data); // 填充表单数据
|
|
|
|
|
initProviderSelect(data.providerid); // 初始化并选中供应商
|
|
|
|
|
initGoodsSelect(data.providerid, data.goodsid); // 初始化并选中商品
|
|
|
|
|
$(".mydiv").show(); // 显示特定元素
|
|
|
|
|
url = "/inport/updateInport"; // 设置提交URL为修改进货
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//初始化添加和修改页面的下拉列表
|
|
|
|
|
// 初始化添加和修改页面的下拉列表
|
|
|
|
|
function initProviderSelect(providerid) {
|
|
|
|
|
//重置商品的下拉列表
|
|
|
|
|
var dom = $("#goodsid");
|
|
|
|
|
dom.html("");
|
|
|
|
|
$.get("/provider/loadAllProviderForSelect",function (res) {
|
|
|
|
|
dom.html(""); // 重置商品的下拉列表
|
|
|
|
|
$.get("/provider/loadAllProviderForSelect", function (res) {
|
|
|
|
|
var data = res.data;
|
|
|
|
|
var dom = $("#providerid");
|
|
|
|
|
var html = '<option value="0">请选择供应商</option>';
|
|
|
|
|
$.each(data,function (index, item) {
|
|
|
|
|
html += '<option value="'+item.id+'">'+item.providername+'</option>';
|
|
|
|
|
$.each(data, function (index, item) {
|
|
|
|
|
html += '<option value="' + item.id + '">' + item.providername + '</option>';
|
|
|
|
|
});
|
|
|
|
|
dom.html(html);
|
|
|
|
|
//如果providerid有值就进行反选
|
|
|
|
|
if (providerid!=undefined){
|
|
|
|
|
dom.val(providerid);
|
|
|
|
|
if (providerid != undefined) {
|
|
|
|
|
dom.val(providerid); // 如果提供了供应商ID,则进行反选
|
|
|
|
|
}
|
|
|
|
|
//重新渲染下拉列表
|
|
|
|
|
form.render("select");
|
|
|
|
|
form.render("select"); // 重新渲染下拉列表
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
//监听供应商的下拉列表的事件
|
|
|
|
|
form.on('select(providerid)',function (data) {
|
|
|
|
|
var providerid = data.value;
|
|
|
|
|
initGoodsSelect(providerid);
|
|
|
|
|
// 监听供应商的下拉列表的事件
|
|
|
|
|
form.on('select(providerid)', function (data) {
|
|
|
|
|
var providerid = data.value;
|
|
|
|
|
initGoodsSelect(providerid); // 根据选中的供应商ID加载对应的商品列表
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//加载商品的下拉列表
|
|
|
|
|
// 加载商品的下拉列表
|
|
|
|
|
function initGoodsSelect(providerid, goodsid) {
|
|
|
|
|
$.get("/goods/loadGoodsByProviderId",{providerid:providerid},function (res) {
|
|
|
|
|
$.get("/goods/loadGoodsByProviderId", { providerid: providerid }, 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){
|
|
|
|
|
dom.val(goodsid);
|
|
|
|
|
if (goodsid != undefined) {
|
|
|
|
|
dom.val(goodsid); // 如果提供了商品ID,则进行反选
|
|
|
|
|
}
|
|
|
|
|
//重新渲染下拉列表
|
|
|
|
|
form.render("select");
|
|
|
|
|
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 deleteInport(data) {
|
|
|
|
|
layer.confirm('你确定要删除这条进货信息吗?', {icon: 3, title: '提示'}, function (index) {
|
|
|
|
|
$.post("/inport/deleteInport", {id: data.id},function (res) {
|
|
|
|
|
layer.confirm('你确定要删除这条进货信息吗?', { icon: 3, title: '提示' }, function (index) {
|
|
|
|
|
$.post("/inport/deleteInport", { 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 backInport(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(); // 清空表单数据
|
|
|
|
|
form.val("dataFrmBack", { id: data.id, currentNumber: data.number }); // 填充表单数据(进货ID和当前数量)
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//自定义验证规则
|
|
|
|
|
// 自定义验证规则:退货数量必须在有效范围内
|
|
|
|
|
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(); // 获取当前进货单的数量
|
|
|
|
|
if (parseInt(value) > currentNumber || parseInt(value) < 1) {
|
|
|
|
|
return '退货数量只能在【0】-【' + currentNumber + '】之间'; // 返回错误信息
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//退货提交
|
|
|
|
|
form.on("submit(doBackSubmit)",function (data) {
|
|
|
|
|
$.post("/outport/addOutport",data.field,function (res) {
|
|
|
|
|
if (res.code==200){
|
|
|
|
|
//重新加载表格数据
|
|
|
|
|
tableIns.reload();
|
|
|
|
|
//关闭退货弹出层
|
|
|
|
|
layer.close(mainIndex);
|
|
|
|
|
// 提交退货表单事件处理
|
|
|
|
|
form.on("submit(doBackSubmit)", function (data) {
|
|
|
|
|
$.post("/outport/addOutport", 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; // 阻止表单默认提交行为
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|