已废弃
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

482 lines
18 KiB

2 years ago
// 用于扫描条形码或二维码
function scanCode(obj) {
}
// 用于加载物料选择菜单
function selectMaterial() {
}
// 用于通过物料名称获取物料
function selectMaterialByName() {
}
// 用于编码查询
function selectCode(obj) {
}
// 用于扫描物料码
function scanCodeForMaterial() {
}
// 用于计算盘点结果
function calculateForMaterial(obj) {
}
function updateFlowShowForMaterial() {
}
// 用于展示具体库存数据
function showDetail() {
}
layui.use(['form', 'step', 'flow', 'table', 'inputTag'], function () {
var $ = layui.$,
form = layui.form,
table = layui.table,
inputTag = layui.inputTag,
dropdown = layui.dropdown, //下拉菜单
flow = layui.flow;
departmentManagerIdForMaterial = $("#departmentManagerIdForMaterial").val();
let takingPre = 0;
let tagData = [];
let tempData = $("#departmentManagerForMaterial").val().split(",");
$.each(tempData, function (index, item) {
if (item !== "") {
tagData.push(item)
}
});
$("#departmentManagerForMaterial").val("");
let tagLabel = inputTag.render({
elem: '#departmentManagerForMaterial',
data: tagData,//初始值
removeKeyNum: 8,//删除按键编号 默认,BackSpace 键
createKeyNum: 13,//创建按键编号 默认,Enter 键
onChange: function (data, value, type, index) {
if (type === "remove") {
let split = departmentManagerIdForMaterial.split(",");
split.splice(index, 1);
departmentManagerIdForMaterial = split.toString();
$("#departmentManagerIdForMaterial").val(departmentManagerIdForMaterial);
}
}
});
updateFlowShowForMaterial = function () {
$("#LAY_FlowForMaterial").empty();
takingPre = 0;
let req = {};
let mid = $("#mid").val();
req.mid = mid;
req.size = size;
if(mid !== ""){
flow.load({
elem: '#LAY_FlowForMaterial' //流加载容器
, done: function (page, next) { //执行下一页的回调
let result;
let lis = [];
req.page = page;
$.ajax({
url: '/material/findMaterialByConditionForStockTaking',
data: req,
type: 'get',
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (res) {
result = res.data;
lis.push("<div class='clearfix'>");
for (let i = 0; i < result.length; i++) {
let splitInventory = result[i].splitInventory;
let keys = Object.keys(splitInventory);
let InventoryItem = "";
for (let j = 0; j < keys.length; j++) {
let key = keys[j];
let item = '<p>' + "计量单位:" + key + ";对应库存:" + splitInventory[key] + '</p>';
InventoryItem += item;
}
lis.push('<li style="width:100%;margin-top: 10px;float:left;border: 1px solid #9999996e;"><div class="layui-card my-shadow my-card flow1" iid='+result[i].id+' pid='+result[i].pid+' onclick="showDetail(this)">' +
'<div class="layui-card-header"><h2>' + "所处位置:" + result[i].dname + "-" + result[i].kingdeecode + '</h2></div>');
lis.push('<div class="layui-col-md4 my-info" style="margin-left: 15px; color: #999;font-size: 15px;">'
+ InventoryItem
+ '</div></div></li>');
}
lis.push('</div>');
takingPre += result.length;
//执行下一页渲染,第二参数为:满足“加载更多”的条件,即后面仍有分页
//pages为Ajax返回的总页数,只有当前页小于总页数的情况下,才会继续出现加载更多
next(lis.join(''), takingPre < res.count);
}
});
}
});
}
};
// 用于打开负责人树形菜单
$("#selectdepartmentManagerForMaterial").on('click', function () {
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['70%', '70%'],
move: '.layui-layer-title',
fixed: false,
content: '/selectManager?type=Material',
end: function () {
departmentManagerIdForMaterial = $("#departmentManagerIdForMaterial").val();
tagLabel.createItem();
},
success: function (layero, index) {
var children = layero.children();
var content = $(children[1]);
var iframeChildren = $(content.children());
content.css('height', '100%');
iframeChildren.css('height', '100%');
}
});
});
table.on('edit(currentTableFilterForMaterial)', function (obj) {
obj.update({stockTakingQuantity: obj.value});//修改当前行数据
calculateForMaterial(obj);
});
// 用于监听下拉菜单
table.on('tool(currentTableFilterForMaterial)', function (obj) { //注:tool 是工具条事件名,test 是 table 原始容器的属性 lay-filter="对应的值"
var data = obj.data //获得当前行数据
, layEvent = obj.event; //获得 lay-event 对应的值
if (layEvent === 'more') {
let splitInfoList = obj.data.splitInfoList;
if (splitInfoList.length > 0) {
let dropDownDataList = [];
for (var i = 0; i < splitInfoList.length; i++) {
let dropDownData = {};
dropDownData.title = splitInfoList[i].newUnit;
dropDownData.id = obj.data.id;
dropDownDataList.push(dropDownData);
}
dropdown.render({
elem: this //触发事件的 DOM 对象
, show: true //外部事件触发即显示
, data: dropDownDataList
, click: function (unit) {
this.elem[0].childNodes[0].data = unit.title;
obj.tr[0].childNodes[7].childNodes[0].innerText = obj.data.splitInventory[unit.title];
}
, align: 'right' //右对齐弹出(v2.6.8 新增)
, style: 'box-shadow: 1px 1px 10px rgb(0 0 0 / 12%);' //设置额外样式
})
}
//下拉菜单
}
});
// 用于计算盘点结果
calculateForMaterial = function (obj) {
let oldInventory = Number(obj.tr[0].childNodes[7].childNodes[0].innerText);
let nowInventory = Number(obj.value);
let number = 0;
let takingResult = '';
let takingResultString = '';
let req = {};
if ((oldInventory) > (nowInventory)) {
number = oldInventory - nowInventory;
takingResult = "Inventory_down";
takingResultString = "盘亏";
} else if ((oldInventory) < (nowInventory)) {
number = nowInventory - oldInventory;
takingResult = "Inventory_up";
takingResultString = "盘盈";
} else {
takingResult = "Inventory_normal";
takingResultString = "正常";
}
obj.tr[0].childNodes[9].childNodes[0].innerText = takingResultString;
obj.tr[0].childNodes[10].childNodes[0].innerText = number;
obj.update({takingResult: takingResult});
obj.update({takingInventory: number});
req.number = number + "";
req.takingResult = takingResult;
req.takingResultString = takingResultString;
req.id = obj.data.id + "";
req.unit = obj.tr[0].childNodes[6].childNodes[0].innerText;
req.oldInventory = oldInventory + "";
$.ajax({
url: "/stockTaking/temporaryStorageForTakingResult",
dataType: "json",
data: JSON.stringify(req),
type: "POST",
contentType: "application/json;charset=utf-8"
});
};
// 用于通过物料名称获取物料
selectMaterialByName = function (obj) {
// 输入code
var data = obj.value;
var req = {};
data = data.split(",")[0];
if (data !== "") {
req.mname = data;
let loading2 = layer.open({type: 3, shade: [0.25, '#000'], icon: 2, speed: 0});
$.ajax({
url: "/material/findMaterialByCondition",
type: "post",
dataType: 'json',
data: JSON.stringify(req),
contentType: "application/json;charset=utf-8",
success: function (d) {
if (d.count > 1) {
layer.msg("请点击右侧搜索确定物品",{
icon:0,
time:1000
},function () {
$("#mname").val("");
$("#mid").val("");
$("#code").val("");
$("#version").val("");
$("#mtype").val("");
$("#texture").val("");
$("#brand").val("");
layer.close(loading2);
});
return false;
} else if (d.count === 0) {
layer.msg("没有该物品,请确认输入是否正确",{
icon:0,
time:1000
},function () {
$("#mname").val("");
$("#mid").val("");
$("#code").val("");
$("#version").val("");
$("#mtype").val("");
$("#texture").val("");
$("#brand").val("");
layer.close(loading2);
});
return false;
} else {
var material = d.data[0];
$("#mname").val(material.mname);
$("#mid").val(material.mid);
$("#code").val(material.code);
$("#version").val(material.version);
$("#mtype").val(material.typeName);
$("#texture").val(material.texture);
$("#brand").val(material.brand);
form.render();
updateFlowShowForMaterial();
layer.close(loading2);
}
}
});
}
};
// 用于实现点击搜索按钮
selectMaterial = function (obj) {
var mname = $("#mname").val();
mname = mname.split(",")[0];
layer.open({
type: 2,
title: '弹窗内容',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['70%', '70%'],
content: '/selectMaterial?mname=' + mname + '&type=2',
move: '.layui-layer-title',
fixed: false,
success: function (layero, index) {
var children = layero.children();
var content = $(children[1]);
var iframeChildren = $(content.children());
content.css('height', '100%');
iframeChildren.css('height', '100%');
},
end: function () {
let mid = $("#mid").val();
if (mid !== "") {
let loading2 = layer.open({type: 3, shade: [0.25, '#000'], icon: 2, speed: 0});
$.ajax({
url: "/material/findMatrialById?mid=" + mid + "&type=out",
type: "get",
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (d) {
var material = d.data.materialById;
$("#mid").val(material.mid);
$("#mname").val(material.mname);
$("#code").val(material.code);
$("#version").val(material.version);
$("#mtype").val(material.typeName);
$("#texture").val(material.texture);
$("#brand").val(material.brand);
layer.close(loading2);
updateFlowShowForMaterial();
form.render();
}
});
}
else{
updateFlowShowForMaterial()
}
}
});
};
// 用于实现通过编码查询物料
selectCode = function (obj) {
// 输入code
var code = obj.value;
var req = {};
req.code = code;
req.type = "out";
if (code !== "") {
let loading2 = layer.open({type: 3, shade: [0.25, '#000'], icon: 2, speed: 0});
$.ajax({
url: "/material/findMatrialByCode",
type: "get",
dataType: 'json',
data: (req),
contentType: "application/json;charset=utf-8",
success: function (d) {
var d = d.data;
if (d == null) {
layer.msg("仓库中暂无该物料", {
icon: 0,
time: 1000
}, function () {
$("#mname").val("");
$("#mid").val("");
$("#code").val("");
$("#version").val("");
$("#mtype").val("");
$("#texture").val("");
$("#brand").val("");
updateFlowShowForMaterial();
layer.close(loading2);
});
} else {
$("#mname").val(d.mname);
$("#mid").val(d.mid);
$("#version").val(d.version);
$("#mtype").val(d.typeName);
$("#texture").val(d.texture);
$("#brand").val(d.brand);
form.render();
updateFlowShowForMaterial();
layer.close(loading2);
}
}
});
}
};
scanCodeForMaterial = function () {
let wxScan = parent;
if (wxScan.wx === undefined) {
wxScan = wxScan.parent.wx;
} else {
wxScan = wxScan.wx;
}
wxScan.scanQRCode({
desc: 'scanQRCode desc',
needResult: 1, // 默认为0,扫描结果由企业微信处理,1则直接返回扫描结果,
scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是条形码(一维码),默认二者都有
success: function (res) {
// 回调
var result = res.resultStr;//当needResult为1时返回处理结果
var req = {};
req.qrCode = result;
req.codeFlag = 2;
let loading2 = layer.open({type: 3, shade: [0.25, '#000'], icon: 2, speed: 0});
$.ajax({
url: "/material/qywxApplicationOutScanQrCode",
type: "post",
dataType: 'json',
data: JSON.stringify(req),
contentType: "application/json;charset=utf-8",
success: function (d) {
var data = d.data;
if (data === null) {
layer.msg("对于编码:" + result + ",并未发现仓库中存在对应的物料", {
icon: 0,
time: 1000 //0.5秒关闭(如果不配置,默认是3秒)
}, function () {
$("#mname").val("");
$("#mid").val("");
$("#code").val("");
$("#version").val("");
$("#mtype").val("");
$("#texture").val("");
$("#brand").val("");
updateFlowShowForMaterial();
layer.close(loading2);
})
} else {
$("#mname").val(data.mname);
$("#mid").val(data.id);
$("#code").val(data.code);
$("#version").val(data.version);
$("#mtype").val(data.typeName);
$("#texture").val(data.texture);
$("#brand").val(data.brand);
updateFlowShowForMaterial();
layer.close(loading2);
}
}
})
}
})
};
showDetail = function (obj) {
let pid = $(obj).attr("pid");
let iid = $(obj).attr("iid");
layer.open({
type: 2,
title: '盘点详情',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['100%', '100%'],
content: '/stockTakingInfoForInventory?id=' + iid + '&pid='+pid,
move: '.layui-layer-title',
fixed: false
})
}
});