| | |
| | | |
| | | // 出站口 |
| | | private Integer outSite; |
| | | private Integer outStaArea; |
| | | |
| | | // 物料编号集合 |
| | | private List<LocDetl> locDetls; |
| | |
| | | private String boxType1 = "1"; |
| | | private String boxType2 = "1"; |
| | | private String boxType3 = "1"; |
| | | private Integer outArea; |
| | | |
| | | public FindLocNoAttributeVo() { |
| | | } |
| | |
| | | this.standby3 = standby3; |
| | | } |
| | | |
| | | public Integer getOutArea() { |
| | | return outArea; |
| | | } |
| | | |
| | | public void setOutArea(Integer outArea) { |
| | | this.outArea = outArea; |
| | | } |
| | | |
| | | |
| | | public boolean beSimilar(LocDetl locDetl){ |
| | | return (this.matnr.equals(locDetl.getMatnr()) |
| | |
| | | * @param ioType 入出库类型 |
| | | */ |
| | | void stockOut(BasDevp staNo, List<LocDetlDto> locDetls, IoWorkType ioWorkType, Long userId); |
| | | void stockOut(BasDevp staNo, Integer outStaArea, List<LocDetlDto> locDetls, IoWorkType ioWorkType, Long userId); |
| | | |
| | | void stockOut(BasDevp staNo, TaskDto taskDto, Long userId); |
| | | |
| | |
| | | String orderNo = null; |
| | | for (CombParam.CombMat combMat : param.getCombMats()) { |
| | | if(combMat.getSupplier().equals("1")){ |
| | | // List<OrderDetlPakin> orderDetlPakins = orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>() |
| | | // .eq("matnr", combMat.getMatnr()).eq("box_type3", combMat.getOrderNo()) |
| | | // .eq("standby1", combMat.getStandby1()).eq("standby2", combMat.getStandby2()) |
| | | // .eq("standby3", combMat.getStandby3()).eq("box_type2","BU-00001"));//1时检索和得 |
| | | // if (orderDetlPakins.size() > 0) { |
| | | // orderNo = orderDetlPakins.get(0).getOrderNo(); |
| | | // combMat.setBoxType1(orderDetlPakins.get(0).getBoxType1()); |
| | | // combMat.setBoxType2(orderDetlPakins.get(0).getBoxType2()); |
| | | // combMat.setBoxType3(orderDetlPakins.get(0).getBoxType3()); |
| | | // combMat.setMemo(orderDetlPakins.get(0).getMemo()); |
| | | // combMat.setSupp(orderDetlPakins.get(0).getSupp()); |
| | | // combMat.setSuppCode(orderDetlPakins.get(0).getSuppCode()); |
| | | // combMat.setManu(orderDetlPakins.get(0).getManu());//仓库编码 |
| | | // } else { |
| | | // throw new CoolException("未查询到相关订单===>>" + param.getBarcode()); |
| | | // } |
| | | List<OrderDetlPakin> orderDetlPakins = orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>() |
| | | .eq("matnr", combMat.getMatnr()).eq("box_type3", combMat.getOrderNo()) |
| | | .eq("standby1", combMat.getStandby1()).eq("standby2", combMat.getStandby2()) |
| | | .eq("standby3", combMat.getStandby3()).eq("box_type2","shyucheng.test")); |
| | | .eq("standby3", combMat.getStandby3()).eq("box_type2","BU-00001"));//1时检索和得 |
| | | if (orderDetlPakins.size() > 0) { |
| | | orderNo = orderDetlPakins.get(0).getOrderNo(); |
| | | combMat.setBoxType1(orderDetlPakins.get(0).getBoxType1()); |
| | |
| | | }catch (Exception e){} |
| | | } |
| | | } |
| | | @Override |
| | | @Transactional |
| | | public void stockOut(BasDevp staNo,Integer outStaArea, List<LocDetlDto> locDetlDtos, IoWorkType ioWorkType, Long userId) { |
| | | Date now = new Date(); |
| | | // 合并同类项 |
| | | Set<String> locNos = new HashSet<>(); |
| | | List<OutLocDto> dtos = new ArrayList<>(); |
| | | for (LocDetlDto locDetlDto : locDetlDtos) { |
| | | String locNo = locDetlDto.getLocDetl().getLocNo(); |
| | | if (locNos.contains(locNo)) { |
| | | for (OutLocDto dto : dtos) { |
| | | if (dto.getLocNo().equals(locNo)) { |
| | | dto.getLocDetlDtos().add(locDetlDto); |
| | | break; |
| | | } |
| | | } |
| | | } else { |
| | | locNos.add(locNo); |
| | | dtos.add(new OutLocDto(locNo, locDetlDto)); |
| | | } |
| | | } |
| | | Config configAutoMPArea = configService.selectConfigByCode("AutoMPArea"); |
| | | |
| | | Integer ioType = null; |
| | | // 生成工作档 |
| | | for (OutLocDto dto : dtos) { |
| | | // 判断入出库类型:101.全板出库 or 103.拣料出库 |
| | | if (ioWorkType == null) { |
| | | ioType = dto.isAll() ? 101 : 103; |
| | | } else if (ioWorkType.equals(IoWorkType.CHECK_OUT)) { |
| | | ioType = 107; |
| | | } |
| | | assert ioType != null; |
| | | // 获取库位 |
| | | LocMast locMast = locMastService.selectById(dto.getLocNo()); |
| | | |
| | | Integer outSta = staNo.getDevNo(); |
| | | // //2号堆垛机全板出库站指定为204站,拣料站指定为202 |
| | | // if(locMast.getCrnNo()==2){ |
| | | // outSta = ioType == 101 ? 204 : 202; |
| | | // } |
| | | |
| | | // 获取路径 |
| | | StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), outSta); |
| | | // if(ioType.equals(107)){ |
| | | // staDesc = staDescService.queryCrnStnCheck(ioType, locMast.getCrnNo(), outSta); |
| | | // } |
| | | |
| | | // 生成工作号 |
| | | int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType)); |
| | | // 生成工作档 |
| | | WrkMast wrkMast = new WrkMast(); |
| | | wrkMast.setWrkNo(workNo); |
| | | wrkMast.setIoTime(now); |
| | | wrkMast.setWrkSts(11L); // 工作状态:11.生成出库ID |
| | | wrkMast.setIoType(ioType); // 入出库状态 |
| | | wrkMast.setIoPri(13D); // 优先级:13 |
| | | wrkMast.setCrnNo(locMast.getCrnNo()); |
| | | wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 源站 |
| | | wrkMast.setStaNo(staDesc.getStnNo()); // 目标站 |
| | | wrkMast.setSourceLocNo(dto.getLocNo()); // 源库位 |
| | | wrkMast.setBarcode(locMast.getBarcode()); |
| | | wrkMast.setFullPlt("Y"); // 满板:Y |
| | | wrkMast.setPicking("N"); // 拣料 |
| | | wrkMast.setExitMk("N"); // 退出 |
| | | wrkMast.setEmptyMk("N"); // 空板 |
| | | wrkMast.setCtnKind(outStaArea);// |
| | | wrkMast.setLinkMis("N"); |
| | | wrkMast.setBarcode(locMast.getBarcode()); |
| | | wrkMast.setTakeNone("0"); //0非自动 |
| | | |
| | | List<BasAgvWrkDetl> basAgvWrkDetls = null; |
| | | List<BasAgvLocDetl> basAgvLocDetls = null; |
| | | try{ |
| | | if (Boolean.parseBoolean(configAutoMPArea.getValue())){ |
| | | if (wrkMast.getStaNoAgvSign()){ |
| | | if (ioType==101){ |
| | | // 全板出库 |
| | | basAgvLocDetls = new ArrayList<>(); |
| | | } else { |
| | | // 拣料出库 |
| | | basAgvWrkDetls = new ArrayList<>(); |
| | | } |
| | | wrkMast.setTakeNone("1"); //等待下发 |
| | | } else { |
| | | wrkMast.setTakeNone("3"); //无需AGV搬运 |
| | | } |
| | | } |
| | | } catch (Exception e) {} //配置项不存在,不做处理 |
| | | wrkMast.setAppeUser(userId); // 操作人员数据 |
| | | wrkMast.setAppeTime(now); |
| | | wrkMast.setModiUser(userId); |
| | | wrkMast.setModiTime(now); |
| | | if (!wrkMastService.insert(wrkMast)) { |
| | | throw new CoolException("保存工作档失败,出库库位号:"+dto.getLocNo()); |
| | | } |
| | | |
| | | // 生成工作档明细 |
| | | for (LocDetlDto detlDto : dto.getLocDetlDtos()) { |
| | | if (detlDto.getCount()==null || detlDto.getCount() <= 0.0D) {continue;} |
| | | WrkDetl wrkDetl = new WrkDetl(); |
| | | wrkDetl.sync(detlDto.getLocDetl()); |
| | | wrkDetl.setOrderNo(""); // 手动出库不需要带出库存中的单据编号 |
| | | wrkDetl.setWrkNo(workNo); |
| | | wrkDetl.setIoTime(now); |
| | | Double anfme = ioType==101?detlDto.getLocDetl().getAnfme():detlDto.getCount(); |
| | | wrkDetl.setAnfme(anfme); // 数量 |
| | | wrkDetl.setAppeTime(now); |
| | | wrkDetl.setAppeUser(userId); |
| | | wrkDetl.setModiTime(now); |
| | | wrkDetl.setModiUser(userId); |
| | | |
| | | try{ |
| | | if (basAgvWrkDetls != null){ |
| | | BasAgvWrkDetl basAgvWrkDetl = new BasAgvWrkDetl(); |
| | | basAgvWrkDetl.sync(wrkDetl); |
| | | basAgvWrkDetls.add(basAgvWrkDetl); |
| | | } |
| | | } catch (Exception e) {} //配置项不存在,不做处理 |
| | | |
| | | if (!wrkDetlService.insert(wrkDetl)) { |
| | | throw new CoolException("保存工作档明细失败"); |
| | | } |
| | | } |
| | | // if(locMastRgv !=null){ |
| | | // if (Boolean.parseBoolean(config.getValue()) && locMastRgv.getLocNo() != null && ioType != 107) { //若有空库位且配置允许则绑定其备料库位号 |
| | | // //修改agv备料区状态 |
| | | // if(locMastRgv.getLocSts().equals("O") && ioType != 107){ |
| | | // locMastRgv.setLocSts("S"); |
| | | // locMastRgv.setModiUser(userId); |
| | | // locMastRgv.setModiTime(now); |
| | | // if (!locMastService.updateById(locMastRgv)) { |
| | | // throw new CoolException("预约agv备料区库位状态失败,库位号:"+locMastRgv.getLocNo()); |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | |
| | | // 修改库位状态: F.在库 ====>>> R.出库预约/P.拣料/盘点/并板出库中 |
| | | locMast = locMastService.selectById(dto.getLocNo()); |
| | | if (locMast.getLocSts().equals("F")) { |
| | | |
| | | try{ |
| | | if (basAgvLocDetls != null){ |
| | | List<LocDetl> locDetlList = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo())); |
| | | for (LocDetl locDetl : locDetlList) { |
| | | BasAgvLocDetl basAgvLocDetl = new BasAgvLocDetl(); |
| | | basAgvLocDetl.sync(locDetl); |
| | | basAgvLocDetls.add(basAgvLocDetl); |
| | | } |
| | | } |
| | | } catch (Exception e) {} //配置项不存在,不做处理 |
| | | |
| | | locMast.setLocSts(ioType==101?"R":"P"); |
| | | locMast.setModiUser(userId); |
| | | locMast.setModiTime(now); |
| | | if (!locMastService.updateById(locMast)) { |
| | | throw new CoolException("预约库位状态失败,库位号:"+dto.getLocNo()); |
| | | } |
| | | } else { |
| | | log.error(dto.getLocNo() + "库位不是在库状态"); |
| | | throw new CoolException(dto.getLocNo() + "库位不是在库状态"); |
| | | } |
| | | |
| | | try{ |
| | | // 增加AGV库存中转数量 |
| | | if (basAgvLocDetls != null){ |
| | | for (BasAgvLocDetl basAgvLocDetl : basAgvLocDetls) { |
| | | try{ |
| | | basAgvLocDetlService.insert(basAgvLocDetl); |
| | | } catch (Exception e){ |
| | | log.error("增加AGV库存中转数量失败"); |
| | | } |
| | | } |
| | | } |
| | | if (basAgvWrkDetls != null){ |
| | | for (BasAgvWrkDetl basAgvWrkDetl : basAgvWrkDetls) { |
| | | try{ |
| | | basAgvWrkDetlService.insert(basAgvWrkDetl); |
| | | } catch (Exception e){ |
| | | log.error("增加AGV库存中转数量失败"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | }catch (Exception e){} |
| | | } |
| | | } |
| | | @Override |
| | | @Transactional |
| | | public void stockOut(BasDevp staNo, TaskDto taskDto, Long userId) { |
| | |
| | | LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo())); |
| | | if (locMast.getLocSts().equals("F")){ |
| | | // 启动出库开始 107.盘点出库 |
| | | stockOut(staNo, locDetlDtos, IoWorkType.CHECK_OUT, userId); |
| | | stockOut(staNo,param.getOutStaArea(), locDetlDtos, IoWorkType.CHECK_OUT, userId); |
| | | }else { |
| | | throw new CoolException("所选库位存在状态不为F的库位,库位号:"+locMast.getLocNo()+" 、当前状态:"+locMast.getLocSts()+"-"+locMast.getLocSts$()); |
| | | } |
| | |
| | | for (int k = 0; k < billEntryArray.size(); k++) { |
| | | JSONObject entry = billEntryArray.getJSONObject(k); |
| | | String matnr = entry.getString("material_number"); //物料编码,内部SKU |
| | | Double anfmeBox = entry.getDouble("eap7_integerfield");//箱数 |
| | | Double anfmeBox = 0.0;//箱数 |
| | | Double anfme = entry.getDouble("completqty");//个数 |
| | | Double totalNumItems = entry.getDouble("eap7_decimalfield1");//总件数 |
| | | Double totalVolume = entry.getDouble("eap7_decimalfield2");//总体积 |
| | |
| | | "商品不存在:" + matnr, false); |
| | | continue; |
| | | } |
| | | anfmeBox = anfme/mat.getSafeQty(); |
| | | // ========= 明细去重 ========= |
| | | List<OrderDetl> orderDetls = |
| | | orderDetlService.selectByOrderId(order.getId()); |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | order.setSettle(8L); // 更新状态为已上报审核 9->8 |
| | | orderService.updateById(order); |
| | | } else { |
| | |
| | | StaDesc staDesc = null; |
| | | BasDevp staNo = null; |
| | | |
| | | if (Utils.BooleanWhsTypeSta(rowLastno, staDescId)) { |
| | | // if (Utils.BooleanWhsTypeSta(rowLastno, staDescId)) { |
| | | // 获取目标站 |
| | | // wrapper = new EntityWrapper<StaDesc>() |
| | | // .eq("type_no", staDescId) |
| | |
| | | // } |
| | | // startupDto.setStaNo(staNo.getDevNo()); |
| | | // } |
| | | } |
| | | // } |
| | | |
| | | // 更新库位排号 |
| | | if (Utils.BooleanWhsTypeSta(rowLastno, staDescId) && Cools.isEmpty(locMast)) { |
| | |
| | | // 开始查找库位 ==============================>> |
| | | |
| | | // 1.按规则查找库位 |
| | | if (Cools.isEmpty(locMast)) { |
| | | if (Cools.isEmpty(locMast) && sourceStaNo != 4006) { |
| | | List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() |
| | | .eq("row1", nearRow) |
| | | .eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue()) |
| | |
| | | } |
| | | } |
| | | } |
| | | // else{ |
| | | // if(findLocNoAttributeVo.getOutArea() == 1){ |
| | | // |
| | | // } |
| | | // } |
| | | |
| | | // 递归查询 |
| | | if (Cools.isEmpty(locMast) || !locMast.getLocSts().equals("O")) { |
| | |
| | | switch (param.getIoType()) { |
| | | case 1://满托盘入库 |
| | | case 10://空托盘入库 |
| | | dto = startupFullPutStoreAgv(param.getSourceStaNo(), param.getBarcode(), locTypeDto); |
| | | dto = startupFullPutStoreAgv(param.getSourceStaNo(), param.getBarcode(), locTypeDto,param.getOutArea()); |
| | | break; |
| | | // dto = emptyPlateIn(param.getSourceStaNo(), locTypeDto, param.getBarcode()); |
| | | // break; |
| | |
| | | * 全板入库AGV |
| | | */ |
| | | @Transactional |
| | | public StartupDto startupFullPutStoreAgv(Integer devpNo, String barcode, LocTypeDto locTypeDto) { |
| | | public StartupDto startupFullPutStoreAgv(Integer devpNo, String barcode, LocTypeDto locTypeDto,Integer outArea) { |
| | | // 源站点状态检测 |
| | | // BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true); |
| | | // 检索库位 |
| | | FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(); |
| | | findLocNoAttributeVo.setOutArea(outArea); |
| | | // FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(waitPakins.get(0)); |
| | | StartupDto dto = commonService.getLocNo( 1, devpNo,findLocNoAttributeVo, locTypeDto); |
| | | // 更新目标库位状态 |
| | |
| | | private Integer sourceStaNo; |
| | | |
| | | private String barcode; |
| | | private Integer outArea; |
| | | |
| | | // 库位规格( 0:未知, 1:低库位, 2:高库位) |
| | | private Short locType1; |
| | |
| | | <if test="standby2!=null and standby2!='' "> |
| | | and a.standby2 like '%' + #{standby2} + '%' |
| | | </if> |
| | | <if test="standby3!=null and standby3!='' "> |
| | | and a.standby3 like '%' + #{standby3} + '%' |
| | | </if> |
| | | <if test="boxType3!=null and boxType3!='' "> |
| | | and a.box_type3 like '%' + #{boxType3} + '%' |
| | | </if> |
| | | </sql> |
| | | |
| | | <select id="getStockOutPage" resultMap="BaseResultMap"> |
| | |
| | | ,{field: 'anfme', align: 'center',title: '数量', hide: false} |
| | | ,{field: 'zpallet', align: 'center',title: '托盘条码', hide: false} |
| | | |
| | | ,{field: 'boxType3', align: 'center',title: '采购单号', hide: true} |
| | | ,{field: 'boxType3', align: 'center',title: '采购单号', hide: false} |
| | | // ,{field: 'model', align: 'center',title: '代码', hide: true} |
| | | // ,{field: 'color', align: 'center',title: '颜色', hide: true} |
| | | // ,{field: 'brand', align: 'center',title: '品牌', hide: true} |
| | |
| | | layer.msg('请先添加盘点库存', {icon: 2}); |
| | | } else { |
| | | var staNo = $("#staNoSelect").val(); |
| | | var outStaArea = $("#outboundAreaSelect").val(); |
| | | if (staNo === "" || staNo === null){ |
| | | layer.msg("请选择盘点站", {icon: 2}); |
| | | return; |
| | | } |
| | | let param = { |
| | | outStaArea: outStaArea, |
| | | outSite: staNo, |
| | | locDetls: locDetlData |
| | | } |
| | |
| | | ,{field: 'maktx', align: 'center',title: '商品名称', sort:true} |
| | | ,{field: 'loc_no', align: 'center',title: '库位号', sort:true} |
| | | ,{field: 'orderNo', align: 'center',title: '单据编号', hide: true} |
| | | ,{field: 'batch', align: 'center',title: '批号', sort:true} |
| | | // ,{field: 'batch', align: 'center',title: '批号', sort:true} |
| | | ,{field: 'anfme', align: 'center',title: '数量',hide: false} |
| | | ,{field: 'zpallet', align: 'center',title: '托盘条码',hide: false} |
| | | ,{field: 'specs', align: 'center',title: '规格',hide: true} |
| | | ,{field: 'weight', align: 'center',title: '重量', hide: true} |
| | | // ,{field: 'specs', align: 'center',title: '规格',hide: true} |
| | | // ,{field: 'weight', align: 'center',title: '重量', hide: true} |
| | | ,{field: 'owner$', align: 'center',title: '货主', hide: false} |
| | | ,{field: 'payment$', align: 'center',title: '货物形态', hide: false} |
| | | ,{field: 'supp', align: 'center',title: 'po', hide: false} |
| | |
| | | <!-- <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">修改</a>--> |
| | | <a class="layui-btn layui-btn-danger layui-btn-xs btn-delete" lay-event="del">删除</a> |
| | | {{# } }} |
| | | <!-- <a class="layui-btn layui-btn-danger layui-btn-xs btn-delete" lay-event="del">删除</a>--> |
| | | <a class="layui-btn layui-btn-danger layui-btn-xs btn-delete" lay-event="del">删除</a> |
| | | |
| | | {{# if (d.settle == 98) { }} |
| | | <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="complete">彻底完结</a> |
| | |
| | | border-radius: 5px; |
| | | box-shadow: 0 0 3px rgba(0,0,0,.3); |
| | | } |
| | | #staNoSpan { |
| | | #staNoSpan, #outboundAreaSpan { |
| | | text-align: center; |
| | | display: inline-block; |
| | | width: 100px; |
| | | font-size: 13px; |
| | | margin-right: 10px; /* 增加右边间距 */ |
| | | } |
| | | .layui-btn-container .layui-form-select { |
| | | display: inline-block; |
| | | width: 150px; |
| | | width: 180px; /* 增加宽度 */ |
| | | height: 30px; |
| | | } |
| | | .layui-btn-container .layui-form-select.layui-form-selected { |
| | | display: inline-block; |
| | | width: 150px; |
| | | width: 180px; /* 增加宽度 */ |
| | | } |
| | | .layui-btn-container .layui-select-title input { |
| | | font-size: 13px; |
| | |
| | | <select id="staNoSelect" lay-verify="required"> |
| | | <option value="">请选择站点</option> |
| | | </select> |
| | | <!-- 2.启动出库 --> |
| | | |
| | | <!-- 2.选择放货区域 --> |
| | | <span id="outboundAreaSpan">放货区域:</span> |
| | | <select id="outboundAreaSelect"> |
| | | <option value="1">1</option> |
| | | <option value="2">2</option> |
| | | <option value="3">3</option> |
| | | </select> |
| | | |
| | | <!-- 3.启动出库 --> |
| | | <button class="layui-btn layui-btn-lg" id="btn-outbound" lay-event="outbound">盘点出库</button> |
| | | </div> |
| | | </div> |
| | |
| | | |
| | | </body> |
| | | </html> |
| | | |
| | |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="matnr" placeholder="商品编号" autocomplete="off"> |
| | | <input class="layui-input" type="text" name="matnr" placeholder="SKU" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="specs" placeholder="规格" autocomplete="off"> |
| | | <input class="layui-input" type="text" name="boxType3" placeholder="采购单号" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="standby2" placeholder="UPC" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <!-- <div class="layui-inline">--> |
| | | <!-- <div class="layui-input-inline">--> |
| | | <!-- <input class="layui-input" type="text" name="maktx" placeholder="物料描述" autocomplete="off">--> |
| | | <!-- <select name="frozen" class="layui-input" type="text" autocomplete="off">--> |
| | | <!-- <option value="">冻结否</option>--> |
| | | <!-- <option value="0">未冻结</option>--> |
| | | <!-- <option value="1">已冻结</option>--> |
| | | <!-- </select>--> |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <select name="frozen" class="layui-input" type="text" autocomplete="off"> |
| | | <option value="">冻结否</option> |
| | | <option value="0">未冻结</option> |
| | | <option value="1">已冻结</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <!-- 日期范围 --> |
| | | <div class="layui-inline" style="width: 300px"> |
| | | <div class="layui-input-inline"> |
| | |
| | | |
| | | </body> |
| | | <script> |
| | | layui.use(['form', 'jquery'], function () { |
| | | var $ = layui.jquery; |
| | | var form = layui.form; |
| | | |
| | | // 重置按钮功能 |
| | | $('#reset').on('click', function () { |
| | | // 重置表单内容 |
| | | $('#search-box')[0].reset(); // 清空表单 |
| | | form.render(); // 更新表单UI |
| | | |
| | | // 清除其他控件的值,比如日期范围 |
| | | $('.layui-laydate-range').val(''); |
| | | |
| | | // 重新渲染表格 |
| | | tableReload(); |
| | | }); |
| | | }); |
| | | |
| | | function getCol() { |
| | | let cols = [ |
| | |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="matnr" placeholder="商品编号" autocomplete="off"> |
| | | <input class="layui-input" type="text" name="matnr" placeholder="SKU" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="specs" placeholder="规格" autocomplete="off"> |
| | | <input class="layui-input" type="text" name="boxType3" placeholder="采购单号" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="maktx" placeholder="物料描述" autocomplete="off"> |
| | | <input class="layui-input" type="text" name="standby2" placeholder="UPC" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <select name="frozen" class="layui-input" type="text" autocomplete="off"> |
| | | <option value="">冻结否</option> |
| | | <option value="0">未冻结</option> |
| | | <option value="1">已冻结</option> |
| | | </select> |
| | | <input class="layui-input" type="text" name="standby1" placeholder="PO" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <!-- <div class="layui-inline">--> |
| | | <!-- <div class="layui-input-inline">--> |
| | | <!-- <select name="frozen" class="layui-input" type="text" autocomplete="off">--> |
| | | <!-- <option value="">冻结否</option>--> |
| | | <!-- <option value="0">未冻结</option>--> |
| | | <!-- <option value="1">已冻结</option>--> |
| | | <!-- </select>--> |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | <!-- 日期范围 --> |
| | | <div class="layui-inline" style="width: 300px"> |
| | | <div class="layui-input-inline"> |