物料绑定仓库仓位
不知道别的小伙伴做erp的时候有没有这个功能,本来我们也是没有的,每个物料需要进出库的时候由仓储那边来手动选择仓库仓位,由于仓储那边不想每次都选择仓库仓位,所以他们提出了物料绑定仓库仓位,在入库出库的时候直接一键出入库即可。没办法甲方说改我们这种打工人也只能玩命改。
首先要改的就是数据库,我们需要在物料表里面添加两个字段,分别是仓库的id和仓位的id。这样我们连表查询的时候就可以查到这条物料信息的仓库仓位id是多少,不过甲方想要的不是物料的id,所以我们需要在service里面重赋值一下,在Dto里面添加仓库名和仓位名两个字段。这个功能比较简单就不粘代码了。
接下来我们要说的是增加和修改的时候来选择仓库仓位的功能是怎么是怎么实现的。
这方面也是有多种做法,不过我直接在前端动了手,主要是因为有前人给栽树,所以粘过来改一改就可以省下来时间来摸摸鱼了。
<script>
layui.use(['form', 'tableSelect'], function () {
var tableSelect = layui.tableSelect;
var tt=0;
tableSelect.render({
elem: '#materialTableSelect',
checkedKey: 'id',
table: {
url: '@Url.Action("GetSelectModel", "Material", new { area= "Erp" })',
cols: [[
{ field: 'id', width: 80, title: 'ID', sort: true }
, { field: 'typeName', title: '仓库名称', sort: true }
, { field: 'typeEncode', title: '仓库编号', sort: true }
, { field: 'typeDescription', title: '仓库说明', sort: true }
]]
},
done: function (elem, data) {
var NEWJSON = []
layui.each(data.data, function (index, item) {
console.log(item.id + " " + item.typeName)
document.getElementById("WareHId").value = item.id;
document.getElementById("materialTableSelect").value = item.typeName;
NEWJSON.push(item.typeName)
})
elem.val(NEWJSON.join(","))
tt = document.getElementById("WareHId").value
tabletmp()
}
})
var tabletmp = function() {
tableSelect.render({
elem: '#supplierTableSelect',
checkedKey: 'id',
table: {
url: '@Url.Action("GetSelectModel2", "Material", new { area= "Erp" })',
where: { warehouseId: tt },
cols: [[
{ field: 'id', width: 80, title: 'ID', sort: true }
, { field: 'typeName', title: '仓位名称', sort: true }
, { field: 'typeEncode', title: '仓位编号', sort: true }
, { field: 'warehouseId', title: '仓库外键', sort: true }
, { field: 'typeDescription', title: '仓位说明', sort: true }
]]
},
done: function (elem, data) {
var NEWJSON = []
layui.each(data.data, function (index, item) {
document.getElementById("WareHModelId").value = item.id;
document.getElementById("supplierTableSelect").value = item.typeName;
NEWJSON.push(item.typeName)
})
elem.val(NEWJSON.join(","))
}
})}
});
</script>
点击默认仓库时,直接调用别人写好的方法,然后重赋值一下就实现了。
可能有小伙伴看不懂,有什么疑问可以在评论里面。大家一起交流。