From c82b47020ff5b0e76609454ab915afd0e27db199 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期二, 01 七月 2025 13:47:29 +0800
Subject: [PATCH] #
---
 src/main/webapp/static/js/inventoryCheckOrder/inventoryCheckOrder.js    |    2 
 src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java    |  115 ++++++++++++++--------
 src/main/webapp/views/pakStore/locDetlCheckQuery.html                   |    5 +
 src/main/java/com/zy/asrs/service/ReportToThirdService.java             |    3 
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java             |   25 +++-
 src/main/java/com/zy/asrs/task/ReportInventoryCheckOrdersScheduler.java |   69 +++++++------
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java           |   48 +++++++++
 src/main/java/com/zy/asrs/controller/MobileController.java              |    7 +
 src/main/java/com/zy/asrs/entity/InventoryCheckOrderDetl.java           |    4 
 src/main/java/com/zy/asrs/service/MobileService.java                    |    2 
 10 files changed, 190 insertions(+), 90 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index a9cdf6e..bff7c10 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -683,4 +683,11 @@
         return R.ok("鍑哄簱鎴愬姛");
     }
 
+    @RequestMapping("/checkOut/submit/auth")
+    @ManagerAuth(memo = "鐩樼偣涓婃姤ERP")
+    public R checkOutSubmit(@RequestParam("orderId") Integer orderId) {
+        mobileService.checkOutSubmit(orderId, getUserId());
+        return R.ok("涓婃姤ERP鎴愬姛");
+    }
+
 }
diff --git a/src/main/java/com/zy/asrs/entity/InventoryCheckOrderDetl.java b/src/main/java/com/zy/asrs/entity/InventoryCheckOrderDetl.java
index d59b78b..92ca301 100644
--- a/src/main/java/com/zy/asrs/entity/InventoryCheckOrderDetl.java
+++ b/src/main/java/com/zy/asrs/entity/InventoryCheckOrderDetl.java
@@ -58,6 +58,10 @@
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date ioTime;
 
+    @ApiModelProperty(value = "")
+    @TableField("cwarehouseid")
+    private String cwarehouseid;
+
     public InventoryCheckOrderDetl() {
     }
 
diff --git a/src/main/java/com/zy/asrs/service/MobileService.java b/src/main/java/com/zy/asrs/service/MobileService.java
index c1d97d0..de9c55d 100644
--- a/src/main/java/com/zy/asrs/service/MobileService.java
+++ b/src/main/java/com/zy/asrs/service/MobileService.java
@@ -67,4 +67,6 @@
 
     void stockOut(OrderDetl orderDetl, BasDevp staNo, LocDetl locDetl,
                   Double curOutQty, Integer ioType, Long userId, Date now);
+
+    void checkOutSubmit(Integer orderId, Long userId);
 }
diff --git a/src/main/java/com/zy/asrs/service/ReportToThirdService.java b/src/main/java/com/zy/asrs/service/ReportToThirdService.java
index 3a1a8af..9bd1923 100644
--- a/src/main/java/com/zy/asrs/service/ReportToThirdService.java
+++ b/src/main/java/com/zy/asrs/service/ReportToThirdService.java
@@ -13,6 +13,7 @@
 
     boolean reportTkrk(String matnr, String batch, String orderNo, Double anfme);
 
-    boolean reportCheckOrder(InventoryCheckOrder checkOrder);
+
+    boolean reportCheckOrder(String matnr, String batch);
 
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index dd58017..ed6c164 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -78,6 +78,8 @@
     private ManLocDetlService manLocDetlService;
     @Autowired
     private ManLocDetlMapper manLocDetlMapper;
+    @Autowired
+    private ReportToThirdService reportToThirdService;
 
     @Autowired
     private InventoryCheckOrderService inventoryCheckOrderService;
@@ -851,7 +853,10 @@
         List<WrkDetl> paramWrkDetls = JSON.parseArray(JSON.toJSONString(param.getWrkDetls()), WrkDetl.class);
         for (WrkDetl wrkDetl : paramWrkDetls) {
             String locNo = Cools.isEmpty(wrkMast.getLocNo()) ? wrkMast.getSourceLocNo() : wrkMast.getLocNo();
-            List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>().eq("loc_no", locNo));
+            List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>()
+                    .eq("loc_no", locNo)
+                    .eq("area", wrkDetl.getWrkNo())
+            );
             for (InventoryCheckOrderDetl checkOrderDetl : checkOrderDetls) {
                 if (wrkDetl.getMatnr().equals(checkOrderDetl.getMatnr()) && Cools.eq(wrkDetl.getBatch(), checkOrderDetl.getBatch())) {
                     checkOrderDetl.setCheckAnfme(wrkDetl.getAnfme());
@@ -1182,4 +1187,45 @@
             throw new CoolException(locDetl.getLocNo() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��");
         }
     }
+
+    @Override
+    public void checkOutSubmit(Integer orderId, Long userId) {
+        InventoryCheckOrder inventoryCheckOrder = inventoryCheckOrderService.selectOne(new EntityWrapper<InventoryCheckOrder>()
+                .eq("id", orderId));
+        if (inventoryCheckOrder == null) {
+            throw new CoolException("鐩樼偣鍗曚笉瀛樺湪");
+        }
+
+        if (!inventoryCheckOrder.getStatus().equals("1")) {
+            throw new CoolException("鐩樼偣鍗曠姸鎬佸凡涓婃姤");
+        }
+
+        List<InventoryCheckOrderDetl> checkOrderDetlList = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>()
+                .eq("order_no", inventoryCheckOrder.getOrderNo())
+        );
+        if (checkOrderDetlList.isEmpty()) {
+            throw new CoolException("鐩樼偣鍗曟棤鐗╂枡鏄庣粏");
+        }
+        InventoryCheckOrderDetl orderDetl = checkOrderDetlList.get(0);
+
+        List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>()
+                .eq("matnr", orderDetl.getMatnr())
+                .eq("batch", orderDetl.getBatch())
+        );
+
+        boolean complete = true;
+        for (InventoryCheckOrderDetl checkOrderDetl : checkOrderDetls) {
+            if (!checkOrderDetl.getStatus().equals("2")) {
+                complete = false;
+            }
+        }
+        if (complete) {
+            boolean result = reportToThirdService.reportCheckOrder(orderDetl.getMatnr(), orderDetl.getBatch());
+            if (!result) {
+                throw new CoolException("鐩樼偣鍗曚笂鎶ュけ璐�");
+            }
+        }else {
+            throw new CoolException("鐩樼偣鏈畬鎴愭棤娉曚笂鎶�");
+        }
+    }
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
index 57ce31b..6424df5 100644
--- a/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
@@ -20,6 +20,7 @@
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -223,18 +224,49 @@
     }
 
     @Override
-    public boolean reportCheckOrder(InventoryCheckOrder checkOrder) {
-        Object process1 = processInvcount(checkOrder);
-        //鍙戦�佽姹�
-        NcResultMessage response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, invcountAdd, JSONObject.toJSONString(process1));
-        log.info("鐩樼偣鍗時esponse:{}", response);
-        if (!Cools.isEmpty(response) && response.isSuccess()) {
-            log.info("鐩樼偣鍗時esponse:{}", response);
-            return true;
-        } else {
-//            remark = response.getMessage() + "--" + response.getErrorStack().substring(0, 100);
-            return false;
+    public boolean reportCheckOrder(String matnr, String batch) {
+        List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>()
+                .eq("matnr", matnr)
+                .eq("batch", batch)
+        );
+
+        ArrayList<String> warehouseIdList = new ArrayList<>();
+        ArrayList<String> orderNoList = new ArrayList<>();
+        for (InventoryCheckOrderDetl checkOrderDetl : checkOrderDetls) {
+            if (!warehouseIdList.contains(checkOrderDetl.getCwarehouseid())) {
+                warehouseIdList.add(checkOrderDetl.getCwarehouseid());
+            }
+            if (!orderNoList.contains(checkOrderDetl.getOrderNo())) {
+                orderNoList.add(checkOrderDetl.getOrderNo());
+            }
         }
+
+        boolean result = true;
+        for (String cwarehouseid : warehouseIdList) {
+            Object process1 = processInvcount(matnr, batch, cwarehouseid);
+            //鍙戦�佽姹�
+            NcResultMessage response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, invcountAdd, JSONObject.toJSONString(process1));
+            log.info("鐩樼偣鍗時esponse:{}", response);
+            if (!Cools.isEmpty(response) && response.isSuccess()) {
+                log.info("鐩樼偣鍗時esponse:{}", response);
+            } else {
+                result = false;
+            }
+        }
+
+
+        if (result) {
+            List<InventoryCheckOrder> inventoryCheckOrders = inventoryCheckOrderService.selectList(new EntityWrapper<InventoryCheckOrder>()
+                    .in("orderNo", orderNoList)
+                    .eq("status", 1)
+            );
+
+            for (InventoryCheckOrder inventoryCheckOrder : inventoryCheckOrders) {
+                inventoryCheckOrder.setStatus("2");
+                inventoryCheckOrderService.updateById(inventoryCheckOrder);
+            }
+        }
+        return result;
     }
 
     private Object processXSFH(List<OrderDetl> orderDetls, Boolean flag) {
@@ -314,50 +346,45 @@
         return data;
     }
 
-    private Object processInvcount(InventoryCheckOrder checkOrder) {
+    private Object processInvcount(String matnr, String batch, String cwarehouseid) {
         List<InventoryCheckOrderDetl> inventoryCheckOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>()
-                .eq("order_no", checkOrder.getOrderNo()));
+                .eq("matnr", matnr)
+                .eq("batch", batch)
+                .eq("cwarehouseid", cwarehouseid)
+        );
         if (inventoryCheckOrderDetls.isEmpty()) {
             throw new CoolException("鐩樼偣鏄庣粏涓嶅瓨鍦�");
         }
 
+        //鍚堝苟鏁伴噺
+        BigDecimal checkAnfmeDecimal = new BigDecimal(0);
+        for (InventoryCheckOrderDetl checkOrderDetl : inventoryCheckOrderDetls) {
+            checkAnfmeDecimal = checkAnfmeDecimal.add(BigDecimal.valueOf(checkOrderDetl.getCheckAnfme()));
+        }
+
+        //璁$畻杈呮暟閲�
+        Double weight = MatUtils.calcWeight(matnr, checkAnfmeDecimal.doubleValue());
+
         //缁勮瀵硅薄鏁版嵁
         Map<String, Object> data = new HashMap<String, Object>();
 
-        //浠撳簱id
-        String cwarehouseid = null;
         List<InvCountBodyVO> invCountBodyVOList = new ArrayList<>();
-        for (InventoryCheckOrderDetl inventoryCheckOrderDetl : inventoryCheckOrderDetls) {
-            List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>()
-                    .eq("matnr", inventoryCheckOrderDetl.getMatnr())
-                    .eq("batch", inventoryCheckOrderDetl.getBatch())
-            );
-            if (wrkDetls.isEmpty()) {
-                throw new CoolException("宸ヤ綔妗f槑缁嗕笉瀛樺湪");
-            }
 
-            NccScPcdaWms nccScPcdaWms = nccScPcdaWmsService.selectOne(new EntityWrapper<NccScPcdaWms>()
-                    .eq("WLBM", inventoryCheckOrderDetl.getMatnr())
-                    .eq("VBATCHCODE", inventoryCheckOrderDetl.getBatch())
-            );
-            if(null == nccScPcdaWms) {
-                throw new CoolException("ERP鏁版嵁搴撴棤娉曟煡璇㈠埌鐩樼偣涓婃姤鏁版嵁");
-            }
-
-            cwarehouseid = wrkDetls.get(0).getStandby1();
-
-            //璁$畻杈呮暟閲�
-            Double weight = MatUtils.calcWeight(inventoryCheckOrderDetl.getMatnr(), inventoryCheckOrderDetl.getCheckAnfme());
-
-            InvCountBodyVO invCountBodyVO = new InvCountBodyVO();
-            invCountBodyVO.setCmaterialoid(inventoryCheckOrderDetl.getMatnr());
-            invCountBodyVO.setVbatchcode(inventoryCheckOrderDetl.getBatch());
-            invCountBodyVO.setNcountnum(inventoryCheckOrderDetl.getCheckAnfme());
-            invCountBodyVO.setNcountastnum(weight);
-            invCountBodyVO.setCstateid(nccScPcdaWms.getPkStorestate());
-            invCountBodyVO.setPk_batchcode(nccScPcdaWms.getPkBatchcode());
-            invCountBodyVOList.add(invCountBodyVO);
+        NccScPcdaWms nccScPcdaWms = nccScPcdaWmsService.selectOne(new EntityWrapper<NccScPcdaWms>()
+                .eq("WLBM", matnr)
+                .eq("VBATCHCODE", batch)
+        );
+        if (null == nccScPcdaWms) {
+            throw new CoolException("ERP鏁版嵁搴撴棤娉曟煡璇㈠埌鐩樼偣涓婃姤鏁版嵁");
         }
+        InvCountBodyVO invCountBodyVO = new InvCountBodyVO();
+        invCountBodyVO.setCmaterialoid(matnr);
+        invCountBodyVO.setVbatchcode(batch);
+        invCountBodyVO.setNcountnum(checkAnfmeDecimal.doubleValue());
+        invCountBodyVO.setNcountastnum(weight);
+        invCountBodyVO.setCstateid(nccScPcdaWms.getPkStorestate());
+        invCountBodyVO.setPk_batchcode(nccScPcdaWms.getPkBatchcode());
+        invCountBodyVOList.add(invCountBodyVO);
 
         InvCountHeaderVO invCountHeaderVO = new InvCountHeaderVO();
         invCountHeaderVO.setPk_org("FYT");
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index d6bbde5..ef807a4 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -326,15 +326,6 @@
                 ioType = dto.isAll() ? 101 : 103;
             } else if (ioWorkType.equals(IoWorkType.CHECK_OUT)) {
                 ioType = 107;
-                if (Cools.isEmpty(checkOrderNo)) {
-                    checkOrderNo = DateUtils.createTimeStamp();
-                    InventoryCheckOrder checkOrder = new InventoryCheckOrder();
-                    checkOrder.setCreateBy(userId);
-                    checkOrder.setStatus("1");
-                    checkOrder.setCreateTime(new Date());
-                    checkOrder.setOrderNo(checkOrderNo);
-                    checkOrderService.insert(checkOrder);
-                }
             }
             assert ioType != null;
             // 鑾峰彇搴撲綅
@@ -350,6 +341,20 @@
             StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), outSta);
             // 鐢熸垚宸ヤ綔鍙�
             int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
+
+            if (ioType == 107) {
+                if (Cools.isEmpty(checkOrderNo)) {
+                    checkOrderNo = DateUtils.createTimeStamp() + "_" + workNo;
+                    InventoryCheckOrder checkOrder = new InventoryCheckOrder();
+                    checkOrder.setCreateBy(userId);
+                    checkOrder.setStatus("1");
+                    checkOrder.setArea(String.valueOf(workNo));
+                    checkOrder.setCreateTime(new Date());
+                    checkOrder.setOrderNo(checkOrderNo);
+                    checkOrderService.insert(checkOrder);
+                }
+            }
+
             // 鐢熸垚宸ヤ綔妗�
             WrkMast wrkMast = new WrkMast();
             wrkMast.setWrkNo(workNo);
@@ -406,6 +411,8 @@
                     checkOrderDetl.setBatch(detlDto.getLocDetl().getBatch());
                     checkOrderDetl.setLocNo(detlDto.getLocDetl().getLocNo());
                     checkOrderDetl.setAnfme(detlDto.getLocDetl().getAnfme());
+                    checkOrderDetl.setArea(String.valueOf(workNo));
+                    checkOrderDetl.setCwarehouseid(wrkDetl.getStandby1());
                     checkOrderDetl.setIoTime(new Date());
                     checkOrderDetl.setStatus("0");
                     checkOrderDetlService.insert(checkOrderDetl);
diff --git a/src/main/java/com/zy/asrs/task/ReportInventoryCheckOrdersScheduler.java b/src/main/java/com/zy/asrs/task/ReportInventoryCheckOrdersScheduler.java
index 889d8a7..651f619 100644
--- a/src/main/java/com/zy/asrs/task/ReportInventoryCheckOrdersScheduler.java
+++ b/src/main/java/com/zy/asrs/task/ReportInventoryCheckOrdersScheduler.java
@@ -31,42 +31,43 @@
 
     /**
      * 涓婃姤鐩樼偣缁撴灉
+     * 涓嶈嚜鍔ㄤ笂鎶ワ紝閲囩敤浜哄伐鎵嬪姩涓婃姤鏂规
      */
-    @Scheduled(cron = "0/3 * * * * ? ")
+//    @Scheduled(cron = "0/3 * * * * ? ")
     public void execute() {
-        String erpReport = Parameter.get().getErpReport();
-        if (Cools.isEmpty(erpReport) || !erpReport.equals("true")) {
-            return;
-        }
-
-        List<InventoryCheckOrder> inventoryCheckOrders = inventoryCheckOrderService.selectList(new EntityWrapper<InventoryCheckOrder>()
-                .eq("status", 1));
-        if (inventoryCheckOrders.isEmpty()) {
-            return;
-        }
-
-        for (InventoryCheckOrder checkOrder : inventoryCheckOrders) {
-            List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>().eq("order_no", checkOrder.getOrderNo()));
-            boolean complete = true;
-            for (InventoryCheckOrderDetl checkOrderDetl : checkOrderDetls) {
-                if (!checkOrderDetl.getStatus().equals("2")) {
-                    complete = false;
-                }
-            }
-            if (complete) {
-                boolean result = reportToThirdService.reportCheckOrder(checkOrder);
-                if (!result) {
-                    continue;
-                }
-
-                checkOrder.setStatus("2");
-                if (!inventoryCheckOrderService.updateById(checkOrder)) {
-                    log.error("鐩樼偣鍗昜orderNo={}]鏇存柊鐘舵�佸け璐�", checkOrder.getOrderNo());
-                } else {
-                    log.info("鐩樼偣鍗昜orderNo={}]鏇存柊鐘舵�佹垚鍔�", checkOrder.getOrderNo());
-                }
-            }
-        }
+//        String erpReport = Parameter.get().getErpReport();
+//        if (Cools.isEmpty(erpReport) || !erpReport.equals("true")) {
+//            return;
+//        }
+//
+//        List<InventoryCheckOrder> inventoryCheckOrders = inventoryCheckOrderService.selectList(new EntityWrapper<InventoryCheckOrder>()
+//                .eq("status", 1));
+//        if (inventoryCheckOrders.isEmpty()) {
+//            return;
+//        }
+//
+//        for (InventoryCheckOrder checkOrder : inventoryCheckOrders) {
+//            List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>().eq("order_no", checkOrder.getOrderNo()));
+//            boolean complete = true;
+//            for (InventoryCheckOrderDetl checkOrderDetl : checkOrderDetls) {
+//                if (!checkOrderDetl.getStatus().equals("2")) {
+//                    complete = false;
+//                }
+//            }
+//            if (complete) {
+//                boolean result = reportToThirdService.reportCheckOrder(checkOrder);
+//                if (!result) {
+//                    continue;
+//                }
+//
+//                checkOrder.setStatus("2");
+//                if (!inventoryCheckOrderService.updateById(checkOrder)) {
+//                    log.error("鐩樼偣鍗昜orderNo={}]鏇存柊鐘舵�佸け璐�", checkOrder.getOrderNo());
+//                } else {
+//                    log.info("鐩樼偣鍗昜orderNo={}]鏇存柊鐘舵�佹垚鍔�", checkOrder.getOrderNo());
+//                }
+//            }
+//        }
     }
 
     /**
diff --git a/src/main/webapp/static/js/inventoryCheckOrder/inventoryCheckOrder.js b/src/main/webapp/static/js/inventoryCheckOrder/inventoryCheckOrder.js
index 3e3faaf..5268aba 100644
--- a/src/main/webapp/static/js/inventoryCheckOrder/inventoryCheckOrder.js
+++ b/src/main/webapp/static/js/inventoryCheckOrder/inventoryCheckOrder.js
@@ -48,7 +48,7 @@
             // ,{field: 'itemNum', align: 'center',title: '鍝侀」鏁�'}
             // ,{field: 'count', align: 'center',title: '鏁伴噺'}
             // ,{field: 'weight', align: 'center',title: '閲嶉噺'}
-            ,{field: 'profit$', align: 'center',title: '鐩堜簭',templet: '#profitTpl'}
+            // ,{field: 'profit$', align: 'center',title: '鐩堜簭',templet: '#profitTpl'}
             ,{field: 'status$', align: 'center',title: '鐘舵��'}
             // ,{field: 'createBy$', align: 'center',title: '娣诲姞浜哄憳'}
             // ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿'}
diff --git a/src/main/webapp/views/pakStore/locDetlCheckQuery.html b/src/main/webapp/views/pakStore/locDetlCheckQuery.html
index dada33b..b04f645 100644
--- a/src/main/webapp/views/pakStore/locDetlCheckQuery.html
+++ b/src/main/webapp/views/pakStore/locDetlCheckQuery.html
@@ -78,6 +78,11 @@
         </div>
         <div class="layui-inline">
             <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="batch" placeholder="鎵瑰彿"  autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
                 <input class="layui-input" type="text" name="specs" placeholder="瑙勬牸"  autocomplete="off">
             </div>
         </div>
--
Gitblit v1.9.1