| | |
| | | import com.core.common.Cools; |
| | | import com.core.common.DateUtils; |
| | | import com.core.common.R; |
| | | import com.zy.asrs.entity.Order; |
| | | import com.zy.asrs.entity.OrderDetl; |
| | | import com.zy.asrs.service.OrderDetlService; |
| | | import com.zy.asrs.service.OrderService; |
| | | import com.zy.common.web.BaseController; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | |
| | | |
| | | @Autowired |
| | | private OrderDetlService orderDetlService; |
| | | @Autowired |
| | | private OrderService orderService; |
| | | |
| | | @RequestMapping(value = "/orderDetl/{id}/auth") |
| | | @ManagerAuth |
| | |
| | | wrapper.eq("status", 1); |
| | | return R.ok(orderDetlService.selectPage(new Page<>(curr, limit), wrapper)); |
| | | } |
| | | @RequestMapping(value = "/orderDetl/out/list") |
| | | @ManagerAuth |
| | | public R out(@RequestParam(defaultValue = "1")Integer curr, |
| | | @RequestParam(defaultValue = "10")Integer limit, |
| | | @RequestParam(required = false)String orderByField, |
| | | @RequestParam(required = false)String orderByType, |
| | | @RequestParam Map<String, Object> param){ |
| | | EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>(); |
| | | excludeTrash(param); |
| | | convert(param, wrapper); |
| | | List<Order> orders = orderService.selectInOrOutOrders(false); |
| | | |
| | | if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} else { |
| | | wrapper.orderBy("create_time", false); |
| | | } |
| | | if (Cools.isEmpty(orders)) { |
| | | return R.ok(new Page<OrderDetl>()); |
| | | }else { |
| | | for (Order order : orders) { |
| | | wrapper.or(); |
| | | wrapper.eq("order_no",order.getOrderNo()); |
| | | } |
| | | } |
| | | wrapper.eq("status", 1); |
| | | |
| | | return R.ok(orderDetlService.selectPage(new Page<>(curr, limit), wrapper)); |
| | | } |
| | | |
| | | @RequestMapping(value = "/orderDetl/in/list") |
| | | @ManagerAuth |
| | | public R in(@RequestParam(defaultValue = "1")Integer curr, |
| | | @RequestParam(defaultValue = "10")Integer limit, |
| | | @RequestParam(required = false)String orderByField, |
| | | @RequestParam(required = false)String orderByType, |
| | | @RequestParam Map<String, Object> param){ |
| | | EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>(); |
| | | excludeTrash(param); |
| | | convert(param, wrapper); |
| | | List<Order> orders = orderService.selectInOrOutOrders(true); |
| | | |
| | | if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} else { |
| | | wrapper.orderBy("create_time", false); |
| | | } |
| | | |
| | | |
| | | if (Cools.isEmpty(orders)) { |
| | | return R.ok(new Page<OrderDetl>()); |
| | | }else { |
| | | for (Order order : orders) { |
| | | wrapper.or(); |
| | | wrapper.eq("order_no",order.getOrderNo()); |
| | | } |
| | | } |
| | | wrapper.eq("status", 1); |
| | | |
| | | Page<OrderDetl> orderDetlPage = orderDetlService.selectPage(new Page<>(curr, limit), wrapper); |
| | | return R.ok(orderDetlPage); |
| | | } |
| | | |
| | | |
| | | @RequestMapping(value = "/orderDetl/pakout/list/auth") |
| | | @ManagerAuth |
| | |
| | | import com.baomidou.mybatisplus.mapper.Wrapper; |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | import com.core.common.DateUtils; |
| | | import com.zy.asrs.entity.ManLocDetl; |
| | | import com.zy.asrs.entity.Order; |
| | | import com.zy.asrs.entity.OrderDetl; |
| | | import com.zy.asrs.entity.Pakout; |
| | | import com.zy.asrs.entity.param.OrderDomainParam; |
| | | import com.zy.asrs.service.ManLocDetlService; |
| | | import com.zy.asrs.service.OrderDetlService; |
| | | import com.zy.asrs.service.OrderService; |
| | | import com.zy.asrs.service.PakoutService; |
| | | import com.core.annotations.ManagerAuth; |
| | | import com.core.common.BaseRes; |
| | |
| | | |
| | | @Autowired |
| | | private PakoutService pakoutService; |
| | | @Autowired |
| | | private OrderService orderService; |
| | | @Autowired |
| | | private OrderDetlService orderDetlService; |
| | | @Autowired |
| | | private ManLocDetlService manLocDetlService; |
| | | |
| | | @RequestMapping(value = "/pakout/{id}/auth") |
| | | @ManagerAuth |
| | |
| | | |
| | | @RequestMapping(value = "/pakout/add/auth") |
| | | @ManagerAuth |
| | | public R add(Pakout pakout) { |
| | | pakoutService.insert(pakout); |
| | | return R.ok(); |
| | | public R add(@RequestBody OrderDomainParam param) { |
| | | if (Cools.isEmpty(param)){ |
| | | return R.error("数据异常"); |
| | | } |
| | | if (!Cools.isEmpty(param.getOrderNo())){ |
| | | Order order = orderService.selectOne(new EntityWrapper<Order>() |
| | | .eq("order_no", param.getOrderNo()) |
| | | ); |
| | | if (Cools.isEmpty(order)){ |
| | | return R.error("单据不存在"); |
| | | } |
| | | List<OrderDetl> orderDetls =orderDetlService.selectList(new EntityWrapper<OrderDetl>() |
| | | .eq("order_no", param.getOrderNo()) |
| | | ); |
| | | if (Cools.isEmpty(orderDetls)){ |
| | | return R.error("单据明细为空"); |
| | | } |
| | | for (OrderDetl orderDetl : orderDetls){ |
| | | List<ManLocDetl> manLocDetls=null; |
| | | try{ |
| | | if (Cools.isEmpty(orderDetl.getBatch())){ |
| | | manLocDetls = manLocDetlService.selectList(new EntityWrapper<ManLocDetl>() |
| | | .eq("matnr",orderDetl.getMatnr()) |
| | | ); |
| | | }else { |
| | | manLocDetls = manLocDetlService.selectList(new EntityWrapper<ManLocDetl>() |
| | | .eq("matnr",orderDetl.getMatnr()) |
| | | .eq("batch",orderDetl.getBatch()) |
| | | ); |
| | | } |
| | | }catch (Exception e){ |
| | | return R.error("添加拣货单失败"); |
| | | } |
| | | |
| | | if (!Cools.isEmpty(manLocDetls)){ |
| | | for (ManLocDetl manLocDetl:manLocDetls){ |
| | | Double statusAnfme = 0.0; |
| | | if (Cools.isEmpty(manLocDetl.getStatus())){ |
| | | manLocDetl.setStatus(1); |
| | | } |
| | | try{ |
| | | if (manLocDetl.getStatus$().equals("禁用")){ |
| | | if (Cools.isEmpty(manLocDetl.getBatch())){ |
| | | List<Pakout> manPakOuts = pakoutService.selectList(new EntityWrapper<Pakout>() |
| | | .eq("loc_no", manLocDetl.getLocNo()) |
| | | .eq("matnr", manLocDetl.getMatnr()) |
| | | .eq("status",0) |
| | | ); |
| | | if (!Cools.isEmpty(manPakOuts)){ |
| | | for (Pakout manPakOut:manPakOuts){ |
| | | statusAnfme=statusAnfme+manPakOut.getAnfme(); |
| | | } |
| | | } |
| | | }else { |
| | | List<Pakout> manPakOuts = pakoutService.selectList(new EntityWrapper<Pakout>() |
| | | .eq("loc_no", manLocDetl.getLocNo()) |
| | | .eq("matnr", manLocDetl.getMatnr()) |
| | | .eq("batch",manLocDetl.getBatch()) |
| | | .eq("status",0) |
| | | ); |
| | | if (!Cools.isEmpty(manPakOuts)){ |
| | | for (Pakout manPakOut:manPakOuts){ |
| | | statusAnfme=statusAnfme+manPakOut.getAnfme(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }catch (Exception e){ |
| | | return R.error("查询库存禁用数量失败"); |
| | | } |
| | | Wrapper<ManLocDetl> wrapper = new EntityWrapper<ManLocDetl>() |
| | | .eq("loc_no", manLocDetl.getLocNo()) |
| | | .eq("matnr", manLocDetl.getMatnr()); |
| | | if (orderDetl.getAnfme() > manLocDetl.getAnfme()-statusAnfme){ |
| | | if (addPakOUT(manLocDetl,param.getOrderNo()).equals(R.ok())){ |
| | | manLocDetl.setStatus(0); |
| | | try{ |
| | | if (Cools.isEmpty(manLocDetl.getBatch())){ |
| | | manLocDetlService.update(manLocDetl,wrapper.eq("modi_time",manLocDetl.getModiTime())); |
| | | }else { |
| | | manLocDetlService.update(manLocDetl,wrapper.eq("batch",manLocDetl.getBatch())); |
| | | } |
| | | }catch (Exception e){ |
| | | return R.error("更新库存失败"); |
| | | } |
| | | orderDetl.setAnfme(orderDetl.getAnfme()-manLocDetl.getAnfme()); |
| | | }else { |
| | | return R.error("添加拣货单失败"); |
| | | } |
| | | }else if (orderDetl.getAnfme()-manLocDetl.getAnfme()-statusAnfme==0){ |
| | | if (addPakOUT(manLocDetl,param.getOrderNo()).equals(R.ok())){ |
| | | manLocDetl.setStatus(0); |
| | | try{ |
| | | if (Cools.isEmpty(manLocDetl.getBatch())){ |
| | | manLocDetlService.update(manLocDetl,wrapper.eq("modi_time",manLocDetl.getModiTime())); |
| | | }else { |
| | | manLocDetlService.update(manLocDetl,wrapper.eq("batch",manLocDetl.getBatch())); |
| | | } |
| | | }catch (Exception e){ |
| | | return R.error("更新库存失败"); |
| | | } |
| | | orderDetl.setAnfme(orderDetl.getAnfme()-manLocDetl.getAnfme()); |
| | | }else { |
| | | return R.error("添加拣货单失败"); |
| | | } |
| | | }else if (orderDetl.getAnfme()<manLocDetl.getAnfme()-statusAnfme){ |
| | | Double a=manLocDetl.getAnfme(); |
| | | manLocDetl.setAnfme(orderDetl.getAnfme()); |
| | | if (addPakOUT(manLocDetl,param.getOrderNo()).equals(R.ok())){ |
| | | orderDetl.setAnfme(orderDetl.getAnfme()-manLocDetl.getAnfme()); |
| | | manLocDetl.setStatus(0); |
| | | manLocDetl.setAnfme(a); |
| | | try{ |
| | | if (Cools.isEmpty(manLocDetl.getBatch())){ |
| | | manLocDetlService.update(manLocDetl,wrapper.eq("modi_time",manLocDetl.getModiTime())); |
| | | }else { |
| | | manLocDetlService.update(manLocDetl,wrapper.eq("batch",manLocDetl.getBatch())); |
| | | } |
| | | }catch (Exception e){ |
| | | return R.error("更新库存失败"); |
| | | } |
| | | |
| | | }else { |
| | | return R.error("添加拣货单失败"); |
| | | } |
| | | }else { |
| | | return R.error("系统出错,请联系管理员"); |
| | | } |
| | | if (orderDetl.getAnfme()==0){ |
| | | break; |
| | | } |
| | | } |
| | | if (orderDetl.getAnfme()!=0){ |
| | | ManLocDetl manLocDetl=new ManLocDetl(); |
| | | manLocDetl.setAnfme(0.0); |
| | | manLocDetl.setMatnr(orderDetl.getMatnr()); |
| | | manLocDetl.setMaktx(orderDetl.getMaktx()); |
| | | manLocDetl.setMemo(orderDetl.getMemo()+"库存不足"); |
| | | if (addPakOUT(manLocDetl,param.getOrderNo()).equals(R.ok())){ |
| | | continue; |
| | | }else { |
| | | return R.error("添加拣货单失败"); |
| | | } |
| | | } |
| | | }else { |
| | | ManLocDetl manLocDetl=new ManLocDetl(); |
| | | manLocDetl.setAnfme(0.0); |
| | | manLocDetl.setMatnr(orderDetl.getMatnr()); |
| | | manLocDetl.setMaktx(orderDetl.getMaktx()); |
| | | manLocDetl.setMemo(orderDetl.getMemo()+"无库存"); |
| | | if (addPakOUT(manLocDetl,param.getOrderNo()).equals(R.ok())){ |
| | | continue; |
| | | }else { |
| | | return R.error("添加拣货单失败"); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | orderService.updateSettle(order.getId(),(long)2,null); |
| | | }else { |
| | | return R.error("单据编号异常"); |
| | | } |
| | | return R.ok("拣货单添加成功"); |
| | | } |
| | | |
| | | @RequestMapping(value = "/pakout/update/auth") |
| | | private R addPakOUT(ManLocDetl manLocDetl,String OrderNo){ |
| | | Pakout manPakOut=new Pakout(); |
| | | manPakOut.setWrkNo(OrderNo+"-"+System.currentTimeMillis()); |
| | | manPakOut.setWrkSts((long)1); |
| | | manPakOut.setAnfme(manLocDetl.getAnfme()); |
| | | manPakOut.setLocNo(manLocDetl.getLocNo()); |
| | | manPakOut.setNodeId(manLocDetl.getNodeId()); |
| | | manPakOut.setMatnr(manLocDetl.getMatnr()); |
| | | manPakOut.setMaktx(manLocDetl.getMaktx()); |
| | | manPakOut.setSpecs(manLocDetl.getSpecs()); |
| | | manPakOut.setUnit(manLocDetl.getUnit()); |
| | | manPakOut.setBarcode(manLocDetl.getBarcode()); |
| | | manPakOut.setDocNum(OrderNo); |
| | | manPakOut.setStatus(0); |
| | | manPakOut.setCreateTime(new Date()); |
| | | if (!Cools.isEmpty(manLocDetl.getBatch())){ |
| | | manPakOut.setBatch(manLocDetl.getBatch()); |
| | | manPakOut.setUpdateTime(new Date()); |
| | | }else { |
| | | manPakOut.setUpdateTime(manLocDetl.getModiTime());//用于识别货物 |
| | | } |
| | | |
| | | manPakOut.setMemo(manLocDetl.getMemo()); |
| | | if (Cools.isEmpty(pakoutService.selectOne(new EntityWrapper<Pakout>().eq("doc_num",OrderNo)))){ |
| | | manPakOut.setName(manLocDetl.getMaktx()); |
| | | } |
| | | try{ |
| | | if (!pakoutService.insert(manPakOut)){ |
| | | return R.error("添加拣货明细失败,请联系管理员"); |
| | | } |
| | | }catch (Exception e){ |
| | | return R.error("添加拣货明细失败,请联系管理员"); |
| | | } |
| | | return R.ok(); |
| | | |
| | | } |
| | | |
| | | @RequestMapping(value = "/pakout/update/auth") |
| | | @ManagerAuth |
| | | public R update(Pakout pakout){ |
| | | if (Cools.isEmpty(pakout) || null==pakout.getMatnr()){ |
| | |
| | | |
| | | private Double count; |
| | | |
| | | private String orderNo; |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | Integer checkDetlWorkQtyLess0(@Param("orderNo") String orderNo); |
| | | |
| | | void updateSettleTo1(@Param("orderNo")String orderNo); |
| | | |
| | | List<Order> selectInOrOutOrders(@Param("flag") Integer flag); |
| | | |
| | | } |
| | |
| | | |
| | | void BackToInit(String orderNo); |
| | | |
| | | List<Order> selectInOrOutOrders(boolean inOrders); |
| | | |
| | | void checkSettleUpdate(Long orderId); |
| | | } |
| | |
| | | import com.zy.asrs.entity.ManLocDetl; |
| | | import com.zy.asrs.entity.Mat; |
| | | import com.zy.asrs.entity.Node; |
| | | import com.zy.asrs.entity.OrderDetl; |
| | | import com.zy.asrs.entity.param.InitPakoutParam; |
| | | import com.zy.asrs.entity.param.MatnrDto; |
| | | import com.zy.asrs.entity.param.PakinParam; |
| | | import com.zy.asrs.entity.result.Pakin; |
| | | import com.zy.asrs.mapper.NodeMapper; |
| | | import com.zy.asrs.service.ManLocDetlService; |
| | | import com.zy.asrs.service.MatService; |
| | | import com.zy.asrs.service.NodeService; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.asrs.utils.SaasUtils; |
| | | import com.zy.asrs.utils.VersionUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | private SnowflakeIdWorker snowflakeIdWorker; |
| | | @Autowired |
| | | private ManLocDetlService manLocDetlService; |
| | | @Autowired |
| | | private OrderDetlService orderDetlService; |
| | | @Autowired |
| | | private OrderService orderService; |
| | | @Override |
| | | public Node getTop() { |
| | | Node top = this.selectOne(new EntityWrapper<Node>().eq("type", 0).eq("level", 0)); |
| | |
| | | .eq("loc_no", node.getUuid()) |
| | | .eq("matnr", dto.getMatnr())); |
| | | } |
| | | |
| | | |
| | | if (!Cools.isEmpty(dto.getOrderNo())) { |
| | | OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>() |
| | | .eq("order_no", dto.getOrderNo()) |
| | | .eq("matnr", dto.getMatnr())); |
| | | orderDetl.setQty(orderDetl.getQty() + dto.getCount()); |
| | | orderDetlService.updateById(orderDetl); |
| | | orderService.checkSettleUpdate(orderDetl.getOrderId()); |
| | | } |
| | | } |
| | | return R.ok("入库成功"); |
| | | } |
| | |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | @Slf4j |
| | | @Service("orderService") |
| | |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public List<Order> selectInOrOutOrders(boolean inOrders) { |
| | | if (inOrders) { |
| | | return this.baseMapper.selectInOrOutOrders(1); |
| | | |
| | | }else { |
| | | return this.baseMapper.selectInOrOutOrders(0); |
| | | |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void checkSettleUpdate(Long orderId) { |
| | | long settle = 1; |
| | | Integer count = 0; |
| | | List<OrderDetl> orderNo1 = orderDetlService.selectList(new EntityWrapper<OrderDetl>() |
| | | .eq("order_id", orderId)); |
| | | for (int i = 0; i < orderNo1.size(); i++) { |
| | | OrderDetl orderDetl = orderNo1.get(i); |
| | | if (orderDetl.getQty() > 0){ |
| | | settle = 2; |
| | | |
| | | } |
| | | if (Objects.equals(orderDetl.getAnfme(), orderDetl.getQty())){ |
| | | count++; |
| | | } |
| | | |
| | | } |
| | | if (count == orderNo1.size()){ |
| | | settle = 4; |
| | | } |
| | | updateSettle(orderId,settle,1L); |
| | | } |
| | | |
| | | } |
| | |
| | | and status = 1 |
| | | order by create_time asc |
| | | </select> |
| | | <select id="selectInOrOutOrders" resultMap="BaseResultMap"> |
| | | SELECT * FROM man_order o left join man_doc_type d on o.doc_type = d.doc_id WHERE d.pakin = #{flag} and o.settle in (1,2) |
| | | </select> |
| | | |
| | | <insert id="addToLogTable"> |
| | | INSERT INTO man_order_log SELECT * FROM man_order WHERE id = #{id} |
| | |
| | | data: JSON.stringify({ |
| | | nodeId: data.field.nodeSel, |
| | | mats: matCodeData |
| | | |
| | | }), |
| | | contentType:'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | |
| | | var matCodeData = []; |
| | | function getCol() { |
| | | var cols = [ |
| | | {fixed: 'left', field: 'count', title: '数量(必填)', align: 'center', edit:'text', width: 120, style:'color: blue;font-weight: bold'} |
| | | {fixed: 'left', field: 'count', title: '数量(必填)', align: 'center', edit:'text', width: 120, style:'color: blue;font-weight: bold'}, |
| | | {field: 'matnr', align: 'center', title: '商品编码'}, |
| | | {field: 'anfme', align: 'center', title: '数量'}, |
| | | {field: 'qty', align: 'center', title: '完成数量'}, |
| | | {field: 'orderNo', align: 'center', title: '单据编号'}, |
| | | {field: 'maktx', align: 'center', title: '商品名称'}, |
| | | {field: 'batch', align: 'center', title: '批号'}, |
| | | {field: 'specs', align: 'center', title: '规格'} |
| | | ]; |
| | | cols.push.apply(cols, matCols); |
| | | // cols.push.apply(cols, matCols); |
| | | cols.push({fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width:80}) |
| | | return cols; |
| | | } |
| | |
| | | data: JSON.stringify({ |
| | | nodeId: data.field.nodeSel, |
| | | mats: matCodeData |
| | | |
| | | }), |
| | | contentType:'application/json;charset=UTF-8', |
| | | method: 'POST', |
| | |
| | | maxmin: true, |
| | | area: [top.detailWidth, top.detailHeight], |
| | | shadeClose: true, |
| | | content: 'matQuery.html', |
| | | content: 'orderQuery.html', |
| | | success: function(layero, index){ |
| | | } |
| | | }); |
| | |
| | | } |
| | | function addPakOut(expTpe) { |
| | | $.ajax({ |
| | | url: baseUrl+"/ManPakOut/add/auth", |
| | | url: baseUrl+"/pakout/add/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: JSON.stringify({ |
| | | docType: Number(20), |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <title></title> |
| | | <meta name="renderer" content="webkit"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/cool.css" media="all"> |
| | | <link rel="stylesheet" href="../../static/css/common.css" media="all"> |
| | | <style> |
| | | body { |
| | | padding: 0 20px; |
| | | } |
| | | .layui-table-box { |
| | | border-right: 1px solid #9F9F9F; |
| | | border-left: 1px solid #9F9F9F; |
| | | } |
| | | </style> |
| | | </head> |
| | | <body> |
| | | |
| | | <!-- 搜索栏 --> |
| | | <fieldset class="layui-elem-field site-demo-button" style="margin: 20px;"> |
| | | <legend>搜索栏</legend> |
| | | <div id="search-box" class="layui-form layui-card-header"> |
| | | <div class="layui-inline"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="matnr" 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"> |
| | | </div> |
| | | </div> |
| | | <!-- 日期范围 --> |
| | | <div class="layui-inline" style="width: 300px"> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input layui-laydate-range" name="update_time" type="text" placeholder="起始时间 - 终止时间" autocomplete="off" style="width: 300px"> |
| | | </div> |
| | | </div> |
| | | <!-- 待添加 --> |
| | | <div id="data-search-btn" class="layui-btn-container layui-form-item" style="display: inline-block"> |
| | | <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">搜索</button> |
| | | <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">重置</button> |
| | | </div> |
| | | </div> |
| | | </fieldset> |
| | | |
| | | <script type="text/html" id="toolbar"> |
| | | <div class="layui-btn-container"> |
| | | <button class="layui-btn" id="btn-confirm" lay-event="confirm" style="">提取</button> |
| | | </div> |
| | | </script> |
| | | |
| | | <div class="layui-form"> |
| | | <table class="layui-hide" id="matCode" lay-filter="matCode"></table> |
| | | </div> |
| | | |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script> |
| | | |
| | | </body> |
| | | <script> |
| | | function getCol() { |
| | | var cols = [ |
| | | {type: 'checkbox', fixed: 'left'} |
| | | |
| | | |
| | | ]; |
| | | // cols.push.apply(cols, matCols); |
| | | cols.push( |
| | | {field: 'matnr', align: 'center', title: '商品编码'}, |
| | | {field: 'anfme', align: 'center', title: '数量'}, |
| | | {field: 'qty', align: 'center', title: '完成数量'}, |
| | | {field: 'orderNo', align: 'center', title: '单据编号'}, |
| | | {field: 'maktx', align: 'center', title: '商品名称'}, |
| | | {field: 'batch', align: 'center', title: '批号'}, |
| | | {field: 'specs', align: 'center', title: '规格'} |
| | | ) |
| | | return cols; |
| | | } |
| | | var pageCurr; |
| | | layui.use(['table','laydate', 'form'], function() { |
| | | var table = layui.table; |
| | | var $ = layui.jquery; |
| | | var layer = layui.layer; |
| | | var layDate = layui.laydate; |
| | | var form = layui.form; |
| | | // 物料查询数据表 |
| | | matQueryTable = table.render({ |
| | | elem: '#matCode', |
| | | headers: {token: localStorage.getItem('token')}, |
| | | url: baseUrl + '/orderDetl/in/list', |
| | | page: true, |
| | | limit: 7, |
| | | limits: [7, 10, 30,50,100], |
| | | even: true, |
| | | cellMinWidth: 50, |
| | | toolbar: '#toolbar', |
| | | cols: [getCol()], |
| | | request: { |
| | | pageName: 'curr', |
| | | pageSize: 'limit' |
| | | |
| | | }, |
| | | parseData: function (res) { |
| | | return { |
| | | 'code': res.code, |
| | | 'msg': res.msg, |
| | | 'count': res.data.total, |
| | | 'data': res.data.records |
| | | } |
| | | }, |
| | | response: { |
| | | statusCode: 200 |
| | | }, |
| | | done: function (res, curr, count) { |
| | | if (res.code === 403) { |
| | | top.location.href = baseUrl + "/"; |
| | | } |
| | | } |
| | | }); |
| | | |
| | | // 监听头工具栏事件 |
| | | table.on('toolbar(matCode)', function (obj) { |
| | | var checkStatus = table.checkStatus(obj.config.id); |
| | | var data = checkStatus.data; |
| | | switch(obj.event) { |
| | | case 'confirm': |
| | | if (data.length === 0){ |
| | | layer.msg("请选择数据"); |
| | | return; |
| | | } |
| | | parent.addTableData(data); |
| | | break; |
| | | } |
| | | }); |
| | | |
| | | // 搜索栏搜索事件 |
| | | form.on('submit(search)', function (data) { |
| | | pageCurr = 1; |
| | | tableReload(false); |
| | | }); |
| | | |
| | | // 搜索栏重置事件 |
| | | form.on('submit(reset)', function (data) { |
| | | pageCurr = 1; |
| | | clearFormVal($('#search-box')); |
| | | tableReload(); |
| | | }); |
| | | |
| | | layDate.render({ |
| | | elem: '.layui-laydate-range' |
| | | ,type: 'datetime' |
| | | ,range: true |
| | | }); |
| | | }) |
| | | |
| | | function tableReload(child) { |
| | | var searchData = {}; |
| | | $.each($('#search-box [name]').serializeArray(), function() { |
| | | searchData[this.name] = this.value; |
| | | }); |
| | | matQueryTable.reload({ |
| | | where: searchData, |
| | | page: { |
| | | curr: pageCurr |
| | | }, |
| | | done: function (res, curr, count) { |
| | | if (res.code === 403) { |
| | | top.location.href = baseUrl+"/"; |
| | | } |
| | | pageCurr=curr; |
| | | if (res.data.length === 0 && count !== 0) { |
| | | tableIns.reload({ |
| | | where: searchData, |
| | | page: { |
| | | curr: pageCurr-1 |
| | | } |
| | | }); |
| | | pageCurr -= 1; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function clearFormVal(el) { |
| | | $(':input', el) |
| | | .val('') |
| | | .removeAttr('checked') |
| | | .removeAttr('selected'); |
| | | } |
| | | </script> |
| | | </html> |
| | | |