From 092cc691e157daf9640853848d59ade2029719be Mon Sep 17 00:00:00 2001 From: erdanergou Date: Tue, 11 Apr 2023 11:56:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BA=E5=BA=93=E5=AD=98=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=A4=87=E6=B3=A8=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PageController.java | 23 +++++ .../entity/ExcelInfoByInventory.java | 3 + .../depository_manage/entity/Inventory.java | 7 +- .../mapper/MaterialMapper.xml | 10 +- .../depository_manage/pojo/InventoryP.java | 7 ++ .../service/impl/ExcelServiceImpl.java | 6 +- .../service/impl/MaterialServiceImpl.java | 5 + .../static/upload/inventoryImport.xlsx | Bin 9194 -> 9203 bytes .../pages/depository/Inventory-view.html | 4 +- .../depository/Inventory-view_mobile.html | 4 +- .../pages/depository/table-stock.html | 87 +++++++++++------- .../pages/depository/table-stock_mobile.html | 15 ++- .../mapper/MaterialMapper.xml | 10 +- .../static/upload/inventoryImport.xlsx | Bin 9194 -> 9203 bytes .../pages/depository/Inventory-view.html | 4 +- .../depository/Inventory-view_mobile.html | 4 +- .../pages/depository/table-stock.html | 87 +++++++++++------- .../pages/depository/table-stock_mobile.html | 15 ++- 18 files changed, 207 insertions(+), 84 deletions(-) diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java b/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java index c681f3a0..e7626e38 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java @@ -850,6 +850,15 @@ public class PageController { UserByPort userToken = AuthenticationTokenPool.getUserToken(token); ModelAndView mv = new ModelAndView(); mv.setViewName("pages/depository/table-stock"); + Integer isadmin = userToken.getIsadmin(); + if (isadmin == null) { + isadmin = 1; + } + if (isadmin == 4 || Integer.compare(userToken.getMaindeparment(), 361) == 0) { + mv.addObject("display", "table-cell"); + } else { + mv.addObject("display", "none"); + } mv.addObject("number", userToken.getNumber()); String userAgent = request.getHeader("user-agent"); // 判断当前使用的设备为移动端还是pc端 @@ -913,6 +922,20 @@ public class PageController { inventory.setSplitInfoList(splitInfoByMid); mv.addObject("record", inventory); String userAgent = request.getHeader("user-agent"); + String token = request.getHeader("user-token"); + if (token == null) { + token = (String) request.getSession().getAttribute("userToken"); + } + UserByPort userToken = AuthenticationTokenPool.getUserToken(token); + Integer isadmin = userToken.getIsadmin(); + if (isadmin == null) { + isadmin = 1; + } + if (isadmin == 4 || Integer.compare(userToken.getMaindeparment(), 361) == 0) { + mv.addObject("display", "block"); + } else { + mv.addObject("display", "none"); + } // 判断当前使用的设备为移动端还是pc端 boolean b = DeviceUtil.checkAgentIsMobile(userAgent); if (b) { diff --git a/src/main/java/com/dreamchaser/depository_manage/entity/ExcelInfoByInventory.java b/src/main/java/com/dreamchaser/depository_manage/entity/ExcelInfoByInventory.java index 79c85c85..7fd43ae2 100644 --- a/src/main/java/com/dreamchaser/depository_manage/entity/ExcelInfoByInventory.java +++ b/src/main/java/com/dreamchaser/depository_manage/entity/ExcelInfoByInventory.java @@ -42,4 +42,7 @@ public class ExcelInfoByInventory { /** 仓库编码 */ @ExcelProperty(value = "库位码") private String depositoryCode; + + @ExcelProperty(value = "备注") + private String remark; } diff --git a/src/main/java/com/dreamchaser/depository_manage/entity/Inventory.java b/src/main/java/com/dreamchaser/depository_manage/entity/Inventory.java index 00bf974f..b0e49242 100644 --- a/src/main/java/com/dreamchaser/depository_manage/entity/Inventory.java +++ b/src/main/java/com/dreamchaser/depository_manage/entity/Inventory.java @@ -142,10 +142,15 @@ public class Inventory { private String brand; /** - * 备注 + * 物料备注 */ private String remark; + /** + * 库存导入时备注 + */ + private String iremark; + /** * 生产日期 */ diff --git a/src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml b/src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml index ed4b6836..f253360c 100644 --- a/src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml +++ b/src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml @@ -51,6 +51,7 @@ + @@ -137,7 +138,8 @@ - id,mid,depositoryId,mname,quantity,price,mtid,mstate,tname,dname,version ,unit ,texture,mcode,depositoryCode,producedDate,shelfLife,productionPlace,brand,remark,numberOfTemporary + id,mid,depositoryId,mname,quantity,price,mtid,mstate,tname,dname,version ,unit , + texture,mcode,depositoryCode,producedDate,shelfLife,productionPlace,brand,remark,numberOfTemporary,iremark @@ -810,10 +812,11 @@ - insert into inventory(id,mid,quantity,producedDate,depository_id) + insert into inventory(id,mid,remark,quantity,producedDate,depository_id) values ( #{id}, #{mid}, + #{remark}, #{quantity}, #{producedDate}, #{depositoryId} @@ -1004,6 +1007,9 @@ depository_id = #{depositoryId}, + + remark = #{remark}, + mid = #{mid}, diff --git a/src/main/java/com/dreamchaser/depository_manage/pojo/InventoryP.java b/src/main/java/com/dreamchaser/depository_manage/pojo/InventoryP.java index e0dec3e9..0dc7bf81 100644 --- a/src/main/java/com/dreamchaser/depository_manage/pojo/InventoryP.java +++ b/src/main/java/com/dreamchaser/depository_manage/pojo/InventoryP.java @@ -216,6 +216,12 @@ public class InventoryP { private Double defaultQuantity; + /** + * 库存导入时备注 + */ + private String iremark; + + public InventoryP(Integer id, Integer depositoryId, String mname, Integer quantity, Double price, String typeName) { this.id = id; this.mname = mname; @@ -248,6 +254,7 @@ public class InventoryP { this.baseUnit = inventory.getUnit(); // 基础单位 this.placeKingdeeCode = inventory.getPlaceKingdeeCode(); // 库位编码(金蝶) this.depositoryName = inventory.getDepositoryName(); // 仓库名称 + this.iremark = inventory.getIremark() == null ? "" : inventory.getIremark(); // 库存导入时填写的备注 } public InventoryP() { diff --git a/src/main/java/com/dreamchaser/depository_manage/service/impl/ExcelServiceImpl.java b/src/main/java/com/dreamchaser/depository_manage/service/impl/ExcelServiceImpl.java index 594efdac..7a3953ee 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/impl/ExcelServiceImpl.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/impl/ExcelServiceImpl.java @@ -610,6 +610,10 @@ public class ExcelServiceImpl implements ExcelService { insert.put("depositoryId", depositoryId); insert.put("depositoryCode", excelInfoByInventory.getDepositoryCode()); insert.put("mid", material.getId()); + String remark = excelInfoByInventory.getRemark(); + if (remark != null) { + insert.put("remark", remark); + } // 插入库存记录 materialService.insertInventoryForImport(insert); @@ -759,7 +763,7 @@ public class ExcelServiceImpl implements ExcelService { param.put("id", excelVo.getId()); param.put("brand", excelVo.getBrand()); param.put("price", excelVo.getPrice() == null ? "0" : excelVo.getPrice()); - param.put("uid",userByPort.getId()); + param.put("uid", userByPort.getId()); materialService.insertMaterial(param); success.add(excelVo); if ((i + 1) % 100 == 0 || excelVosForMaterial.size() - 1 == i) { diff --git a/src/main/java/com/dreamchaser/depository_manage/service/impl/MaterialServiceImpl.java b/src/main/java/com/dreamchaser/depository_manage/service/impl/MaterialServiceImpl.java index 08efd6ab..4c613d07 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/impl/MaterialServiceImpl.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/impl/MaterialServiceImpl.java @@ -988,6 +988,11 @@ public class MaterialServiceImpl implements MaterialService { // 如果该物料存在 Inventory material = inventory.get(0); + if(map.containsKey("remark")){ + material.setRemark(map.get("remark").toString()); + } + + double quantity = Double.parseDouble(map.get("quantity").toString()); double quantity_residue = 0; diff --git a/src/main/resources/static/upload/inventoryImport.xlsx b/src/main/resources/static/upload/inventoryImport.xlsx index 476929e1b8fca0762e178445a2e474b33674b11b..f47e8b5267d198dcc990ac3dad73958166280772 100644 GIT binary patch delta 1964 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 -
+
-
+
-
+
-
+
搜索信息
+
@@ -127,7 +128,7 @@ } - function showDetail(){ + function showDetail() { } @@ -136,13 +137,14 @@ let newIndexShade; - layui.use(['form', 'table', 'upload'], function () { var $ = layui.jquery, form = layui.form, upload = layui.upload, table = layui.table; + let display = $("#display").val(); + $('#openSonByMateralType').on('click', function () { layer.open({ type: 2, @@ -187,6 +189,28 @@ }); + let cols = [ + {type: "checkbox", width: 50}, + {title: '存货编码', width: 150, templet: '#materialCode'}, + {field: 'mname', width: 200, title: '物料名称'}, + {field: 'brand', width: 200, title: '品牌'}, + {field: 'version', width: 200, title: '规格型号'}, + {field: 'typeName', width: 200, title: '物料类型'}, + {title: '计量单位', width: 200, templet: '#changeUnit', align: "center"}, + {field: 'quantity', width: 200, title: '数量'}, + {field: 'depositoryName', width: 200, title: '仓库名称'}, + {field: 'depositoryCode', width: 200, title: '仓库编码'}, + {title: '所处库位', width: 200, templet: '#changePlace', align: "center"}, + {field: 'warningCount', width: 200, title: '待过期数量', sort: true}, + {field: 'price', title: '单价', width: 200, sort: true}, + {field: 'amounts', title: '总金额', width: 200, sort: true}, + {field: 'texture', width: 200, title: '材质',}, + {field: 'iremark', width: 200, title: '备注',}, + {title: '操作', minWidth: 250, toolbar: '#currentTableBar', align: "center"} + ]; + + let flagForReload = true; + table.render({ elem: "#currentTableId", url: '/material/findInventory', @@ -225,9 +249,8 @@ {field: 'depositoryCode', width: 200, title: '仓库编码'}, {title: '所处库位', width: 200, templet: '#changePlace', align: "center"}, {field: 'warningCount', width: 200, title: '待过期数量', sort: true}, - {field: 'price', title: '单价', width: 200, sort: true}, - {field: 'amounts', title: '总金额', width: 200, sort: true}, {field: 'texture', width: 200, title: '材质',}, + {field: 'iremark', width: 200, title: '备注',}, {title: '操作', minWidth: 250, toolbar: '#currentTableBar', align: "center"} ] ], @@ -237,17 +260,21 @@ skin: 'line', done: function (res, curr, count) { bindTableToolbarFunction(); + if (display !== "none") { + if (flagForReload) { + flagForReload = false; + table.reload("currentTableId", {cols: [cols]}); + } + } $.each(res['data'], function (i, j) { let jElement = j['warningCount']; let placeCode = j['placeCode'].split(" "); let placeKingdeeCode = j['placeKingdeeCode'].split(" "); let depositoryId = j['depositoryId']; - let unit = j['unit']; let mid = j['id']; if (jElement !== null && jElement !== undefined) { let flag = (Number(jElement) !== 0); if (flag) { - // console.log(i + ' -458- ' + 'jdjg is null'); Layui_SetDataTableRowColor('table', i + 1, '#b1070a'); } @@ -424,8 +451,7 @@ layer.full(index); }); return false; - } - else if (obj.event === 'applicationOut') { + } else if (obj.event === 'applicationOut') { // 出库申请 var index = layer.open({ title: '出库申请', @@ -440,8 +466,7 @@ layer.full(index); }); return false; - } - else if (obj.event === 'changeUnit') { + } else if (obj.event === 'changeUnit') { let showQuantity = data.showQuantity; let btn = $("#btn_" + data.id); let clickNum = Number(btn.attr("click_num")); @@ -534,21 +559,23 @@ if (res.code === 200) { var re = ""; for (let i = 0; i < res.data.errMsg.length; i++) { - var show = "

" + res.data.errMsg[i] + "

"; + var show = "

" + res.data.errMsg[i] + "

"; re += show } for (let i = 0; i < res.data.dataList.length; i++) { - var code = res.data.dataList[i]["code"] === null ? '' : res.data.dataList[i]["code"]; - var mname = res.data.dataList[i]["mname"]; - var version = res.data.dataList[i]["version"] === null ? '' : res.data.dataList[i]["version"]; - var quantity = res.data.dataList[i]["quantity"]; - var show = "

" + code + ", " + mname + ", " + version + ", 数量为" + quantity + ":通过" + "

"; + let dataListElement = res.data.dataList[i]; + var code = dataListElement["code"] === null ? '' : dataListElement["code"]; + var mname = dataListElement["mname"]; + var version = dataListElement["version"] === null ? '' : dataListElement["version"]; + var quantity = dataListElement["quantity"]; + var remark = dataListElement["remark"] === null ? "" : dataListElement["remark"]; + var show = "

" + code + ", " + mname + ", " + version + ", 数量为:" + quantity + "备注:" + remark + ":通过" + "

"; re += show } if ("WebSocket" in window) { let number = $("#number").val(); - socket = new WebSocket('ws://127.0.0.1:11111/webSocket/'+number); + socket = new WebSocket('ws://127.0.0.1:11111/webSocket/' + number); switch (socket.readyState) { case WebSocket.CONNECTING: // 连接中 @@ -571,8 +598,8 @@ } socket.addEventListener('message', function (event) { layer.close(newIndexShade); - let shadeItem = '
'; - if ($("#"+"layui-layer-shade-x"+newIndexShade).length <= 0) { + let shadeItem = '
'; + if ($("#" + "layui-layer-shade-x" + newIndexShade).length <= 0) { $('body').append(shadeItem); } let jsonObject = JSON.parse(event.data); @@ -583,7 +610,8 @@ var mname = jsonObject[i]["mname"]; var version = jsonObject[i]["version"] === null ? '' : jsonObject[i]["version"]; var quantity = jsonObject[i]["quantity"]; - var show = "

" + code + ", " + mname + ", " + version + ", 数量为" + quantity + ":通过" + "

"; + var remark = jsonObject[i]["remark"]; + var show = "

" + code + ", " + mname + ", " + version + ", 数量为:" + quantity + "备注:" + remark + ":通过" + "

"; re += show } $("#showDataContent").append(re); @@ -591,7 +619,7 @@ } - newIndexShade = layer.open({ + newIndexShade = layer.open({ type: 1 , title: false //不显示标题栏 , closeBtn: false @@ -606,20 +634,20 @@ , yes: function (index, layero) { //按钮【按钮一】的回调 $.ajax({ - url:"/excel/realImportInventory", + url: "/excel/realImportInventory", type: "post", - data: JSON.stringify({"result":"yes"}), + data: JSON.stringify({"result": "yes"}), dataType: "json", contentType: "application/json;charset=utf-8", success: function () { if (socket !== null) { socket.close(); - }else{ + } else { layer.close(index); } layer.alert("数据导入完成", { icon: 0 - },function (indexForMsg,layero) { + }, function (indexForMsg, layero) { layer.close(indexForMsg); closeShowDataMessage(); table.reload('currentTableId', { @@ -637,9 +665,9 @@ , btn2: function (index, layero) { //按钮【按钮二】的回调 $.ajax({ - url:"/excel/realImportInventory", + url: "/excel/realImportInventory", type: "post", - data: JSON.stringify({"result":"no"}), + data: JSON.stringify({"result": "no"}), dataType: "json", contentType: "application/json;charset=utf-8", success: function () { @@ -669,11 +697,8 @@ } - - - closeShowDataMessage = function () { - $("#layui-layer-shade-x"+newIndexShade).remove(); + $("#layui-layer-shade-x" + newIndexShade).remove(); $("#showImportData").hide(); $("#showDataContent").empty(); if (socket !== null) { diff --git a/src/main/resources/templates/pages/depository/table-stock_mobile.html b/src/main/resources/templates/pages/depository/table-stock_mobile.html index 4d8439be..0c614710 100644 --- a/src/main/resources/templates/pages/depository/table-stock_mobile.html +++ b/src/main/resources/templates/pages/depository/table-stock_mobile.html @@ -163,6 +163,7 @@ + '

' + "物料型号:" + result[i].version + '

' + brandItem + '

' + "物料类型:" + result[i].typeName + '

' + + '

' + "库存备注:" + result[i].iremark + '

' + '
'); } lis.push('
'); @@ -273,13 +274,19 @@ result = res.data; lis.push("
"); for (let i = 0; i < result.length; i++) { + + let brandItem = '

' + "物料品牌:" + result[i].brand + '

'; + if (result[i].brand === "") { + brandItem = ""; + } lis.push('
  • ' + result[i].mname + '

    '); lis.push('
    ' - + '

    ' + result[i].code + '

    ' - + '

    ' + result[i].version + '

    ' - + '

    ' + "品牌:" + result[i].brand + '

    ' - + '

    ' + result[i].typeName + '

    ' + + '

    ' + "物料编码:" + result[i].code + '

    ' + + '

    ' + "物料型号:" + result[i].version + '

    ' + + brandItem + + '

    ' + "物料类型:" + result[i].typeName + '

    ' + + '

    ' + "库存备注:" + result[i].iremark + '

    ' + '
  • '); } lis.push('
    '); diff --git a/target/classes/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml b/target/classes/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml index ed4b6836..f253360c 100644 --- a/target/classes/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml +++ b/target/classes/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml @@ -51,6 +51,7 @@ + @@ -137,7 +138,8 @@ - id,mid,depositoryId,mname,quantity,price,mtid,mstate,tname,dname,version ,unit ,texture,mcode,depositoryCode,producedDate,shelfLife,productionPlace,brand,remark,numberOfTemporary + id,mid,depositoryId,mname,quantity,price,mtid,mstate,tname,dname,version ,unit , + texture,mcode,depositoryCode,producedDate,shelfLife,productionPlace,brand,remark,numberOfTemporary,iremark @@ -810,10 +812,11 @@ - insert into inventory(id,mid,quantity,producedDate,depository_id) + insert into inventory(id,mid,remark,quantity,producedDate,depository_id) values ( #{id}, #{mid}, + #{remark}, #{quantity}, #{producedDate}, #{depositoryId} @@ -1004,6 +1007,9 @@ depository_id = #{depositoryId}, + + remark = #{remark}, + mid = #{mid}, diff --git a/target/classes/static/upload/inventoryImport.xlsx b/target/classes/static/upload/inventoryImport.xlsx index 476929e1b8fca0762e178445a2e474b33674b11b..f47e8b5267d198dcc990ac3dad73958166280772 100644 GIT binary patch delta 1964 zcmV;d2UGa!NApLp+6D#Eni(UClivm$e^GCnFc5y9wEuwoPQe67fETu`6kwR1~Mti2v<^1cH*-psKix3+N04f!uTiP#MO{NND6-4PYm zvW@*~7<_L=jybrGobA+6xS3k*6R$F{i;;~z5Vb#@?mFia&vXuvo4P)H(yx7Ee4PVh z98An2B-k*E(FvoZXLJLXe{F^nM$R9Ux)uS{I%`#3TJKHUz|f0~?Sc$xjLaT#nRO|0 zhTkYDD5TMt?!(ZV;*n9!T79c@XRStZpoe|;YV1yZ+f7G-?N6qjJ@H4LeeEY+8jRB< zT?8gSro~17unh#B(q)4=jHcVpK);@o!5U6Ch0K;E7@G& z5tUw-QgU}-rAJuzO4$8>0oELs%a*dp=}-Lsbg)mFCO$U%xnDXQ6cTT^sfsu#bNZNM z&k1G2LF=C{32T26lfY;1pg;sbjf9fMo-=C~&B7@T#Ypt+f`-UNkSllsrE)sGLx+F2 z8W^GgJ1CsSd$mbx=vPMyDEU%_H@kiTIj;iB_M#MFttGNzI|eU*(4(jwrO5pQ00960 z00030|76h73c@f91<+q9`2f4lsW7s_X4UT~wcyi~rOf&FW+F<+TezJ2kc)K7xrA7v z$LanwQwI(VJ>p1wwFfYZYhr4zuaGI_v2;*vYVep=+OPK0;G8&}eT8=RXwz2=S~w|= zTI{3BFLAUAh-pf1O3r{pJ(uAGs+{Old*lu{hGzKP&vE#$($>G*MFiQ$Ul^E1M^t6Sh z+}se>5_7j`eTay%1I}#_=~UT9c6q8|1QwVs zk`H^px)`5zb!(-iu(1>*tNFN^TnbK7@E>RCUO$)P`{H&`O=rJZ7P)p52gf;U8>FMq zZ2?BT%vDCyGPs-w{2!;hn|<|%>kt<2qvCD!r)AA14zl*7RkJLxG9FO z>x?QM`{m11Jpy-+A-@5$(HWot1pr)|twXbR8#Dob-G+v?1C>2F5UeP^h2(B4Hfczr z+y1?2yVVYckN2LF@1A=}zC5TV`T^_eRu_mS1Vx}lD{H+i&|9^N?@;7C*OE7_h5{YI zp=Eh{lMBN{YvIMV2CT2aMS-Lp6Q)2r?+wG)i5)2JlHkxm+_YA4A4bw;Xh4DX4%39uYGI6TfA5GZl6nDy& zVh~67!PTR2zuzbOtd9}$Q~a@he(hI{Yu(*S04j4Sn6SWoYs(x@i*UGxJHHM$-qau; zjzPcDlcJA1KtM(z02|_-mG|uNsal~jC3GGylSNGC6}@Bho@KMoZsf)LF3`|Wr@{Xc z(<~;ln9_=5EG2ACCd4yf$bI<<%3lDJp#v1N>>W%41=5-sBZ`wfAyNT@laL`T8+EJA zH?{%*0B{8W02lxO00000000000002Clh`4r38_9_qZmPE*71V6MZt%2$#>s(cfRpuTNY@;l@_u}Fufoc@hX*>s8$L7 z^>E`1G17)r87pMP6TIUZUrxS$8E>Upzeu@808r@!=f>2r>*_S;CDRwO<`sCBe^Qmq zz*enXT`SHqopWx=!u1G=+>(h3?-62k4u)JVMapL~ZAxC5J&583GeBSGqSifHnVthz zGPQ1MCzWLl5HF$-X4ipYRHpG_RY}EO3Xt8>5VZ>K2!52n;`NchbrPx+sghbQ%>_Wa zd(tQRDRC+Nkb?F!2j?LLuHqYEe`|PPrJ_%=iVj%O5sZ?5Mx)SLU9ZHDyicNq2W}po zjF+O|kNeg|tge5s(pIX#s9@U6Ghuj^-~nvqmLDI0D%I4}Mik)nBH~5ZogCWvP9cCb zT-_j`y_jYVhm_^ohNrp1UHilYc zU5VWOvy>Gnl+l{*#mE~`->T-Vxz(n#s8Isw(STeH$S82g+z*{#IP#of;Cs$>F!Sc& zU_P5qyZYD>7yplg4xL29xSyStWzLj&P%K@;#Qn*aQ>LMz_JV-#3S{i|tlj>r$!`FY zp#v1NkqI*b2^aOSjav?ixX6jK65*ixEVPCq{;y?aW0;HKot z8p!DeJbf5nUyWAQ&3z3J2oj9XX&pk7G3G@Ln)}E$U~s0gPV<1jZpM7$fR}&WCaqW+ z#{;IhG;~YI+&K(eRZ_sS6$=d}Y#|O5517BNW#e}=EzZGd?&gc8C#-G|QAj1jrh`(V zMK+xo>v*BC?sd}Vf~+0BDSkIQnQr_Jj=TK`#?q|Y2I zWqW}KRC-xT$?cw%9$+^Y!UlhPSbJP9TgWn}Kk@(5!#-)7_|WX;e(88rO1$B=D&nBZ z>0^>j63WJ-&OcugR{kg^ffw(fKmHYaOXMQRB|L#rIi1|0 z!@oNX3{imX6^`Sb+N3k|t0N^;e4)adUA=&u)d6MuQF@D&wpPi?%`<;^fgVNeC`Ilc z00030{{R30|NpWn&PYuyaY-ymw6iJ7FIOnCRWejkC@x6MD+aQx%#;)=3{4V~tx_so zQj3#Q^Ga-$4D^hY>}--jN*zIJ!8(BA#X!+AI|Cd2GCLdnWT*-!OcjQxDx5J@n4+q1 z!Bk;{s=^ghg)yoMH%tx{CU6z{K%WEMj0g$<0JHoJrV0sNs`&R20RR9MldBjUf040D z13?r;d%=GgUT5qH~p{>{1ubSPWsm6#&y1+1Ow|g!8lGy+dG*6visGs6!ZP2OYV) zBb+1VZ_$O25amalyC~6_axI%{fAmSu7MUV1i#~UGp;hb>ttm_SK@hZgrVIj$>;Nf* zHn0Jji-GQLwG_@sL9$*=>)Ey7BnAI=HtyX^HGL`{M)iF0ljVtDMT&UTJN{3@dO0cICcjoTT;faC@1reh!;+8rO*LDU4A1xF__Y}n z_ivS70F$8u6tnLci~$AnA1}p3vw#~k0e^LK3vCA~dvYLHQG5%@-BxVUl0>`xd((ES z9Sk4uJtyBi_mXsVP*v~)#+J3t5RC{5K#N+IdY7TMVjV6}U>(Vtht^^x+lD14V8QMG7FpRC(gW@*w4(-KlZ4`IDG&|gI@x^z5V?yRwfq&zY zJB~YG*o;JULP{|rn{QL~04Xq3pg=o|X+-g#*MU*?>VsaHI92J6jo;}McgmJx5J&gH zmZPz4+o((J0|i}*!-b8LMj=uJh6w-wlc5P3leQrc8yEGkj
    -
    +
    -
    +
    -
    +
    -
    +
    搜索信息
    +
    @@ -127,7 +128,7 @@ } - function showDetail(){ + function showDetail() { } @@ -136,13 +137,14 @@ let newIndexShade; - layui.use(['form', 'table', 'upload'], function () { var $ = layui.jquery, form = layui.form, upload = layui.upload, table = layui.table; + let display = $("#display").val(); + $('#openSonByMateralType').on('click', function () { layer.open({ type: 2, @@ -187,6 +189,28 @@ }); + let cols = [ + {type: "checkbox", width: 50}, + {title: '存货编码', width: 150, templet: '#materialCode'}, + {field: 'mname', width: 200, title: '物料名称'}, + {field: 'brand', width: 200, title: '品牌'}, + {field: 'version', width: 200, title: '规格型号'}, + {field: 'typeName', width: 200, title: '物料类型'}, + {title: '计量单位', width: 200, templet: '#changeUnit', align: "center"}, + {field: 'quantity', width: 200, title: '数量'}, + {field: 'depositoryName', width: 200, title: '仓库名称'}, + {field: 'depositoryCode', width: 200, title: '仓库编码'}, + {title: '所处库位', width: 200, templet: '#changePlace', align: "center"}, + {field: 'warningCount', width: 200, title: '待过期数量', sort: true}, + {field: 'price', title: '单价', width: 200, sort: true}, + {field: 'amounts', title: '总金额', width: 200, sort: true}, + {field: 'texture', width: 200, title: '材质',}, + {field: 'iremark', width: 200, title: '备注',}, + {title: '操作', minWidth: 250, toolbar: '#currentTableBar', align: "center"} + ]; + + let flagForReload = true; + table.render({ elem: "#currentTableId", url: '/material/findInventory', @@ -225,9 +249,8 @@ {field: 'depositoryCode', width: 200, title: '仓库编码'}, {title: '所处库位', width: 200, templet: '#changePlace', align: "center"}, {field: 'warningCount', width: 200, title: '待过期数量', sort: true}, - {field: 'price', title: '单价', width: 200, sort: true}, - {field: 'amounts', title: '总金额', width: 200, sort: true}, {field: 'texture', width: 200, title: '材质',}, + {field: 'iremark', width: 200, title: '备注',}, {title: '操作', minWidth: 250, toolbar: '#currentTableBar', align: "center"} ] ], @@ -237,17 +260,21 @@ skin: 'line', done: function (res, curr, count) { bindTableToolbarFunction(); + if (display !== "none") { + if (flagForReload) { + flagForReload = false; + table.reload("currentTableId", {cols: [cols]}); + } + } $.each(res['data'], function (i, j) { let jElement = j['warningCount']; let placeCode = j['placeCode'].split(" "); let placeKingdeeCode = j['placeKingdeeCode'].split(" "); let depositoryId = j['depositoryId']; - let unit = j['unit']; let mid = j['id']; if (jElement !== null && jElement !== undefined) { let flag = (Number(jElement) !== 0); if (flag) { - // console.log(i + ' -458- ' + 'jdjg is null'); Layui_SetDataTableRowColor('table', i + 1, '#b1070a'); } @@ -424,8 +451,7 @@ layer.full(index); }); return false; - } - else if (obj.event === 'applicationOut') { + } else if (obj.event === 'applicationOut') { // 出库申请 var index = layer.open({ title: '出库申请', @@ -440,8 +466,7 @@ layer.full(index); }); return false; - } - else if (obj.event === 'changeUnit') { + } else if (obj.event === 'changeUnit') { let showQuantity = data.showQuantity; let btn = $("#btn_" + data.id); let clickNum = Number(btn.attr("click_num")); @@ -534,21 +559,23 @@ if (res.code === 200) { var re = ""; for (let i = 0; i < res.data.errMsg.length; i++) { - var show = "

    " + res.data.errMsg[i] + "

    "; + var show = "

    " + res.data.errMsg[i] + "

    "; re += show } for (let i = 0; i < res.data.dataList.length; i++) { - var code = res.data.dataList[i]["code"] === null ? '' : res.data.dataList[i]["code"]; - var mname = res.data.dataList[i]["mname"]; - var version = res.data.dataList[i]["version"] === null ? '' : res.data.dataList[i]["version"]; - var quantity = res.data.dataList[i]["quantity"]; - var show = "

    " + code + ", " + mname + ", " + version + ", 数量为" + quantity + ":通过" + "

    "; + let dataListElement = res.data.dataList[i]; + var code = dataListElement["code"] === null ? '' : dataListElement["code"]; + var mname = dataListElement["mname"]; + var version = dataListElement["version"] === null ? '' : dataListElement["version"]; + var quantity = dataListElement["quantity"]; + var remark = dataListElement["remark"] === null ? "" : dataListElement["remark"]; + var show = "

    " + code + ", " + mname + ", " + version + ", 数量为:" + quantity + "备注:" + remark + ":通过" + "

    "; re += show } if ("WebSocket" in window) { let number = $("#number").val(); - socket = new WebSocket('ws://127.0.0.1:11111/webSocket/'+number); + socket = new WebSocket('ws://127.0.0.1:11111/webSocket/' + number); switch (socket.readyState) { case WebSocket.CONNECTING: // 连接中 @@ -571,8 +598,8 @@ } socket.addEventListener('message', function (event) { layer.close(newIndexShade); - let shadeItem = '
    '; - if ($("#"+"layui-layer-shade-x"+newIndexShade).length <= 0) { + let shadeItem = '
    '; + if ($("#" + "layui-layer-shade-x" + newIndexShade).length <= 0) { $('body').append(shadeItem); } let jsonObject = JSON.parse(event.data); @@ -583,7 +610,8 @@ var mname = jsonObject[i]["mname"]; var version = jsonObject[i]["version"] === null ? '' : jsonObject[i]["version"]; var quantity = jsonObject[i]["quantity"]; - var show = "

    " + code + ", " + mname + ", " + version + ", 数量为" + quantity + ":通过" + "

    "; + var remark = jsonObject[i]["remark"]; + var show = "

    " + code + ", " + mname + ", " + version + ", 数量为:" + quantity + "备注:" + remark + ":通过" + "

    "; re += show } $("#showDataContent").append(re); @@ -591,7 +619,7 @@ } - newIndexShade = layer.open({ + newIndexShade = layer.open({ type: 1 , title: false //不显示标题栏 , closeBtn: false @@ -606,20 +634,20 @@ , yes: function (index, layero) { //按钮【按钮一】的回调 $.ajax({ - url:"/excel/realImportInventory", + url: "/excel/realImportInventory", type: "post", - data: JSON.stringify({"result":"yes"}), + data: JSON.stringify({"result": "yes"}), dataType: "json", contentType: "application/json;charset=utf-8", success: function () { if (socket !== null) { socket.close(); - }else{ + } else { layer.close(index); } layer.alert("数据导入完成", { icon: 0 - },function (indexForMsg,layero) { + }, function (indexForMsg, layero) { layer.close(indexForMsg); closeShowDataMessage(); table.reload('currentTableId', { @@ -637,9 +665,9 @@ , btn2: function (index, layero) { //按钮【按钮二】的回调 $.ajax({ - url:"/excel/realImportInventory", + url: "/excel/realImportInventory", type: "post", - data: JSON.stringify({"result":"no"}), + data: JSON.stringify({"result": "no"}), dataType: "json", contentType: "application/json;charset=utf-8", success: function () { @@ -669,11 +697,8 @@ } - - - closeShowDataMessage = function () { - $("#layui-layer-shade-x"+newIndexShade).remove(); + $("#layui-layer-shade-x" + newIndexShade).remove(); $("#showImportData").hide(); $("#showDataContent").empty(); if (socket !== null) { diff --git a/target/classes/templates/pages/depository/table-stock_mobile.html b/target/classes/templates/pages/depository/table-stock_mobile.html index 4d8439be..0c614710 100644 --- a/target/classes/templates/pages/depository/table-stock_mobile.html +++ b/target/classes/templates/pages/depository/table-stock_mobile.html @@ -163,6 +163,7 @@ + '

    ' + "物料型号:" + result[i].version + '

    ' + brandItem + '

    ' + "物料类型:" + result[i].typeName + '

    ' + + '

    ' + "库存备注:" + result[i].iremark + '

    ' + '
    '); } lis.push('
    '); @@ -273,13 +274,19 @@ result = res.data; lis.push("
    "); for (let i = 0; i < result.length; i++) { + + let brandItem = '

    ' + "物料品牌:" + result[i].brand + '

    '; + if (result[i].brand === "") { + brandItem = ""; + } lis.push('
  • ' + result[i].mname + '

    '); lis.push('
    ' - + '

    ' + result[i].code + '

    ' - + '

    ' + result[i].version + '

    ' - + '

    ' + "品牌:" + result[i].brand + '

    ' - + '

    ' + result[i].typeName + '

    ' + + '

    ' + "物料编码:" + result[i].code + '

    ' + + '

    ' + "物料型号:" + result[i].version + '

    ' + + brandItem + + '

    ' + "物料类型:" + result[i].typeName + '

    ' + + '

    ' + "库存备注:" + result[i].iremark + '

    ' + '
  • '); } lis.push('
    ');