// 用于扫描条形码或二维码 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("
"); 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 = '

' + "计量单位:" + key + ";对应库存:" + splitInventory[key] + '

'; InventoryItem += item; } lis.push('
  • ' + '

    ' + "所处位置:" + result[i].dname + "-" + result[i].kingdeecode + '

    '); lis.push('
    ' + InventoryItem + '
  • '); } lis.push('
    '); 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 }) } });