From 605be0c8702fc7bfe4f7fcdd397c9f0d40722b69 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期四, 09 四月 2026 15:19:43 +0800
Subject: [PATCH] 1.商品档案新增最大限制和最小限制 2.mes空桶/余料回库修复

---
 src/main/java/com/zy/asrs/utils/MatExcelListener.java            |    8 +
 src/main/java/com/zy/api/service/impl/HmesApiServiceImpl.java    |    2 
 src/main/java/com/zy/asrs/mapper/LocDetlMapper.java              |    5 +
 src/main/java/com/zy/asrs/controller/LocDetlController.java      |   66 ++----------
 src/main/resources/mapper/LocDetlMapper.xml                      |   66 +++++++++++++
 src/main/webapp/static/js/mat/mat.js                             |   25 ++++
 src/main/webapp/views/mat/mat.html                               |   27 ----
 src/main/webapp/views/locDetlGroup/locDetlGroup.html             |   13 +-
 src/main/java/com/zy/common/web/WcsController.java               |    9 +
 src/main/java/com/zy/asrs/entity/param/AbnormalLocDetlParam.java |    7 +
 src/main/webapp/static/js/locDetlGroup/locDetlGroup.js           |   17 +++
 src/main/resources/mapper/MatMapper.xml                          |    3 
 src/main/java/com/zy/asrs/entity/Mat.java                        |    4 
 src/main/resources/application-dev.yml                           |    2 
 src/main/java/com/zy/common/entity/MatExcel.java                 |   25 +++-
 15 files changed, 185 insertions(+), 94 deletions(-)

diff --git a/src/main/java/com/zy/api/service/impl/HmesApiServiceImpl.java b/src/main/java/com/zy/api/service/impl/HmesApiServiceImpl.java
index 36abd52..74c3361 100644
--- a/src/main/java/com/zy/api/service/impl/HmesApiServiceImpl.java
+++ b/src/main/java/com/zy/api/service/impl/HmesApiServiceImpl.java
@@ -341,7 +341,7 @@
         }
 
         workService.updateWrkIsSuplus(String.valueOf(mast.getWrkNo()), HMES_USER_ID, backType);
-        return workService.backLocOperation(String.valueOf(mast.getWrkNo()), HMES_USER_ID);
+        return R.ok();
     }
 
     private HmesStationFreezeStatusDto buildStationFreezeStatus(LocAroundBind bind) {
diff --git a/src/main/java/com/zy/asrs/controller/LocDetlController.java b/src/main/java/com/zy/asrs/controller/LocDetlController.java
index 762238a..21208c6 100644
--- a/src/main/java/com/zy/asrs/controller/LocDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/LocDetlController.java
@@ -62,67 +62,27 @@
                           @RequestParam(required = false) String orderByType,
                           @RequestParam(required = false) String condition,
                           @RequestParam Map<String, Object> param) {
-
-//        List<LocDetl> result = new ArrayList<>();
-        List<AbnormalLocDetlParam> result = new ArrayList<>();
-//        excludeTrash(param);
-        param.put("curr", curr);
-        param.put("limit", limit);
-        Page<LocDetl> groupLocDetl = locDetlService.getStockStatis2(toPage(1, 10000, param, LocDetl.class));
-//        List<LocDetl> groupLocDetl = locDetlService.selectGroupPage(param, curr, limit);
-        for (LocDetl locDetl : groupLocDetl.getRecords()) {
-            AbnormalLocDetlParam abnormalLocDetlParam = new AbnormalLocDetlParam();
-            Mat mat = matService.selectOne(new EntityWrapper<Mat>()
-                    .eq("matnr", locDetl.getMatnr()));
-            if (Cools.isEmpty(mat)) {
-                continue;
-            }
-
-
-            if (!Cools.isEmpty(mat.getStoreMax()) || !Cools.isEmpty(mat.getStoreMin())) {
-                abnormalLocDetlParam.setStoreMax(mat.getStoreMax());
-                abnormalLocDetlParam.setStoreMaxDate(mat.getStoreMaxDate());
-                abnormalLocDetlParam.setStoreMin(mat.getStoreMin());
-                abnormalLocDetlParam.setAnfme(locDetl.getAnfme());
-                abnormalLocDetlParam.setMaktx(mat.getMaktx());
-                abnormalLocDetlParam.setMatnr(mat.getMatnr());
-                abnormalLocDetlParam.setSpecs(mat.getSpecs());
-                abnormalLocDetlParam.setBatch(locDetl.getBatch());
-
-//                SimpleDateFormat simple = new SimpleDateFormat("yyyyMMdd");
-//                Date maxDate = simple.parse(locDetl.getBatch());
-//                long time = maxDate.getTime();
-//                Date now = new Date();
-//                long time1 = now.getTime();
-//                abnormalLocDetlParam.setNowTime((int) ((time1 - time) / (1000 * 60 * 60 * 24)));
-
-                if (!Cools.isEmpty(mat.getStoreMax()) && locDetl.getAnfme() > mat.getStoreMax()) {
-                    result.add(abnormalLocDetlParam);
-                } else if (!Cools.isEmpty(mat.getStoreMin()) && locDetl.getAnfme() < mat.getStoreMin()) {
-                    result.add(abnormalLocDetlParam);
-                }
-            }
-        }
+        Map<String, Object> queryParam = new HashMap<>();
+        putIfPresent(queryParam, "matnr", param.get("matnr"));
+        putIfPresent(queryParam, "maktx", param.get("maktx"));
+        putIfPresent(queryParam, "specs", param.get("specs"));
+        putIfPresent(queryParam, "warnStatus", param.get("warnStatus"));
+        queryParam.put("pageNumber", curr);
+        queryParam.put("pageSize", limit);
 
         Page<AbnormalLocDetlParam> locDetlPage = new Page<>();
-        locDetlPage.setRecords(paging(result, curr, limit));
-        locDetlPage.setTotal(result.size());
+        locDetlPage.setRecords(locDetlMapper.groupLocList(queryParam));
+        locDetlPage.setTotal(locDetlMapper.groupLocListCount(queryParam));
         locDetlPage.setCurrent(curr);
         locDetlPage.setSize(limit);
         return R.ok(locDetlPage);
     }
 
-    private List<AbnormalLocDetlParam> paging(List<AbnormalLocDetlParam> result, Integer curr, Integer limit) {
-        List<AbnormalLocDetlParam> pageRecord = new ArrayList<AbnormalLocDetlParam>();
-        int minIndex = (curr - 1) * limit;
-        int maxIndex = (curr * limit) - 1;
-        if (result.size() < maxIndex) {
-            maxIndex = result.size();
+    private void putIfPresent(Map<String, Object> target, String key, Object value) {
+        String normalized = normalizeFilterText(value);
+        if (normalized != null) {
+            target.put(key, normalized);
         }
-        for (int i = minIndex; i < maxIndex; i++) {
-            pageRecord.add(result.get(i));
-        }
-        return pageRecord;
     }
 
     @RequestMapping(value = "/locDetl/{id}/auth")
diff --git a/src/main/java/com/zy/asrs/entity/Mat.java b/src/main/java/com/zy/asrs/entity/Mat.java
index 54ac096..c5b3db5 100644
--- a/src/main/java/com/zy/asrs/entity/Mat.java
+++ b/src/main/java/com/zy/asrs/entity/Mat.java
@@ -323,12 +323,16 @@
     /**
      * 搴撳瓨棰勮鏁伴噺涓婇檺
      */
+    @ApiModelProperty(value= "搴撳瓨棰勮鏁伴噺涓婇檺")
+    @ExcelProperty(value = "搴撳瓨棰勮鏁伴噺涓婇檺")
     @TableField("store_max")
     private Double storeMax;
 
     /**
      * 搴撳瓨棰勮鏁伴噺涓嬮檺
      */
+    @ApiModelProperty(value= "搴撳瓨棰勮鏁伴噺涓嬮檺")
+    @ExcelProperty(value = "搴撳瓨棰勮鏁伴噺涓嬮檺")
     @TableField("store_min")
     private Double storeMin;
 
diff --git a/src/main/java/com/zy/asrs/entity/param/AbnormalLocDetlParam.java b/src/main/java/com/zy/asrs/entity/param/AbnormalLocDetlParam.java
index 6063621..f430b24 100644
--- a/src/main/java/com/zy/asrs/entity/param/AbnormalLocDetlParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/AbnormalLocDetlParam.java
@@ -175,6 +175,13 @@
      */
     private Integer nowTime;
 
+    /**
+     * 搴撳瓨棰勮鐘舵��
+     */
+    @ApiModelProperty(value = "搴撳瓨棰勮鐘舵��")
+    @ExcelProperty("鐘舵��")
+    private String warnStatus;
+
 
     public String getLocNo$() {
         LocMastService service = SpringUtils.getBean(LocMastService.class);
diff --git a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
index bbf8ac8..76b7062 100644
--- a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.zy.asrs.entity.LocDetl;
+import com.zy.asrs.entity.param.AbnormalLocDetlParam;
 import com.zy.asrs.entity.result.LocDetlAll;
 import com.zy.asrs.entity.result.LocDetlDTO;
 import com.zy.asrs.entity.result.StockVo;
@@ -57,6 +58,10 @@
 
     List<LocDetl> getStockStatis2(Map<String, Object> map);
 
+    List<AbnormalLocDetlParam> groupLocList(Map<String, Object> map);
+
+    Integer groupLocListCount(Map<String, Object> map);
+
     List<LocDetl> getStockStatisExcel();
 
     @Select("select sum(a.anfme) as sum from asr_loc_detl a left join asr_loc_mast b on a.loc_no = b.loc_no where b.loc_sts = 'F' and a.matnr = #{matnr}")
diff --git a/src/main/java/com/zy/asrs/utils/MatExcelListener.java b/src/main/java/com/zy/asrs/utils/MatExcelListener.java
index 7327157..ad11586 100644
--- a/src/main/java/com/zy/asrs/utils/MatExcelListener.java
+++ b/src/main/java/com/zy/asrs/utils/MatExcelListener.java
@@ -126,7 +126,13 @@
         // 鍟嗗搧
         Mat mat = matService.selectByMatnr(excel.getMatnr());
         if (mat == null) {
-            mat = excel;
+            mat = new Mat();
+            mat.setMatnr(excel.getMatnr());
+            mat.setMaktx(excel.getMaktx());
+            mat.setSafeQty(excel.getSafeQty());
+            mat.setVolume(excel.getVolume());
+            mat.setStoreMax(excel.getStoreMax());
+            mat.setStoreMin(excel.getStoreMin());
             mat.setTagId(tagId);
             mat.setLocType(tagId);
             if (Objects.isNull(mat.getVolume())) {
diff --git a/src/main/java/com/zy/common/entity/MatExcel.java b/src/main/java/com/zy/common/entity/MatExcel.java
index 640c0de..8a5ccea 100644
--- a/src/main/java/com/zy/common/entity/MatExcel.java
+++ b/src/main/java/com/zy/common/entity/MatExcel.java
@@ -2,17 +2,11 @@
 
 import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
 import com.alibaba.excel.annotation.ExcelProperty;
-import com.zy.asrs.entity.Mat;
 import lombok.Data;
 
-/**
- * 0.A 1.B 2.C 3.D 4.E 5.F 6.G 7.H 8.I
- * 9.J 10.K 11.L 12.M 13.N 14.O 15.P 16.Q 17.R 18.S
- * 19.T 20.U 21.V 22.W 23.X 24.Y 25.Z
- */
 @Data
 @ExcelIgnoreUnannotated
-public class MatExcel extends Mat {
+public class MatExcel {
 
     @ExcelProperty(index = 0, value = "涓�绾у垎绫�")
     private String priClass;
@@ -20,4 +14,21 @@
     @ExcelProperty(index = 1, value = "浜岀骇鍒嗙被")
     private String secClass;
 
+    @ExcelProperty(index = 2, value = "鍟嗗搧缂栫爜")
+    private String matnr;
+
+    @ExcelProperty(index = 3, value = "鍟嗗搧鍚嶇О")
+    private String maktx;
+
+    @ExcelProperty(index = 4, value = "褰掗浂闃�鍊�")
+    private Double safeQty;
+
+    @ExcelProperty(index = 5, value = "姣忓叕鏂ら暱搴�")
+    private Double volume;
+
+    @ExcelProperty(index = 6, value = "搴撳瓨棰勮鏁伴噺涓婇檺")
+    private Double storeMax;
+
+    @ExcelProperty(index = 7, value = "搴撳瓨棰勮鏁伴噺涓嬮檺")
+    private Double storeMin;
 }
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index 73510d7..1bac91d 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -125,6 +125,15 @@
 
             }
             m=m*mat.getVolume();
+            Double currentStock = locDetlService.getSumAnfme(matnr);
+            if (currentStock == null) {
+                currentStock = 0D;
+            }
+            if (mat.getStoreMax() != null && currentStock + m > mat.getStoreMax()) {
+                log.info("WCS鍏ュ簱鎷︽埅: 鐗╂枡瓒呰繃搴撳瓨涓婇檺, matnr={}, currentStock={}, inboundQty={}, storeMax={}",
+                        matnr, currentStock, m, mat.getStoreMax());
+                return R.error("鐗╂枡宸插埌杈句笂闄愮姝㈠叆搴�");
+            }
             //Double val = Math.round((m - matnr.getSafeQty()) * 10000) / 10000.0;
             Config config = configService.selectConfigByCode("SimulationInbound");
             if (config != null && config.getValue().equals("Y")) {
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 998e10b..21814ed 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -100,6 +100,8 @@
 
 #wcs瀵规帴
 wcs:
+  #  寮�鍏�
+  switch: false
   status-sync:
     enabled: true
     initial-delay: 10000
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index 05b0f54..7c4bc10 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -769,4 +769,70 @@
         ) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
     </select>
 
+    <sql id="groupLocWarnStatusCase">
+        case
+            when mm.store_max is null and mm.store_min is null then '鏈缃�'
+            when mm.store_max is not null and isnull(stock.anfme, 0) &gt; mm.store_max then '瓒呬笂闄�'
+            when mm.store_min is not null and isnull(stock.anfme, 0) &lt; mm.store_min then '瓒呬笅闄�'
+            else '姝e父'
+        end
+    </sql>
+
+    <sql id="groupLocListCondition">
+        where 1 = 1
+        and (mm.memo is null or mm.memo != '鎵撳寘涓婄嚎')
+        <if test="matnr != null and matnr != ''">
+            and mm.matnr like '%' + #{matnr} + '%'
+        </if>
+        <if test="maktx != null and maktx != ''">
+            and mm.maktx like '%' + #{maktx} + '%'
+        </if>
+        <if test="specs != null and specs != ''">
+            and mm.specs like '%' + #{specs} + '%'
+        </if>
+        <if test="warnStatus != null and warnStatus != ''">
+            and
+            <include refid="groupLocWarnStatusCase"/>
+            = #{warnStatus}
+        </if>
+    </sql>
+
+    <select id="groupLocList" resultType="com.zy.asrs.entity.param.AbnormalLocDetlParam">
+        select * from
+        (
+            select
+                row_number() over (order by mm.matnr asc) as row_num,
+                mm.matnr as matnr,
+                mm.maktx as maktx,
+                mm.specs as specs,
+                isnull(stock.anfme, 0) as anfme,
+                mm.store_max as storeMax,
+                mm.store_min as storeMin,
+                <include refid="groupLocWarnStatusCase"/> as warnStatus
+            from man_mat mm
+            left join (
+                select
+                    a.matnr,
+                    sum(a.anfme) as anfme
+                from asr_loc_detl a
+                group by a.matnr
+            ) stock on stock.matnr = mm.matnr
+            <include refid="groupLocListCondition"/>
+        ) t
+        where t.row_num between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
+    </select>
+
+    <select id="groupLocListCount" resultType="java.lang.Integer">
+        select count(1)
+        from man_mat mm
+        left join (
+            select
+                a.matnr,
+                sum(a.anfme) as anfme
+            from asr_loc_detl a
+            group by a.matnr
+        ) stock on stock.matnr = mm.matnr
+        <include refid="groupLocListCondition"/>
+    </select>
+
 </mapper>
diff --git a/src/main/resources/mapper/MatMapper.xml b/src/main/resources/mapper/MatMapper.xml
index de36573..92b15fa 100644
--- a/src/main/resources/mapper/MatMapper.xml
+++ b/src/main/resources/mapper/MatMapper.xml
@@ -42,6 +42,9 @@
         <result column="update_by" property="updateBy" />
         <result column="update_time" property="updateTime" />
         <result column="memo" property="memo" />
+        <result column="store_max" property="storeMax" />
+        <result column="store_min" property="storeMin" />
+        <result column="store_max_date" property="storeMaxDate" />
 
         <result column="stock" property="stock" />
     </resultMap>
diff --git a/src/main/webapp/static/js/locDetlGroup/locDetlGroup.js b/src/main/webapp/static/js/locDetlGroup/locDetlGroup.js
index 8998f94..8334ef2 100644
--- a/src/main/webapp/static/js/locDetlGroup/locDetlGroup.js
+++ b/src/main/webapp/static/js/locDetlGroup/locDetlGroup.js
@@ -4,10 +4,21 @@
     var cols = [
         {field: 'matnr', align: 'center', title: '鐗╂枡鍙�', sort: true}
         , {field: 'maktx', align: 'center', title: '鐗╂枡鍚嶇О', sort: true}
-        , {field: 'specs', align: 'center', title: '瑙勬牸'}
-        , {field: 'batch', align: 'center', title: '鎵瑰彿', width: 300, sort: true}
         , {field: 'storeMax', align: 'center', title: '鏁伴噺涓婇檺', sort: true}
         , {field: 'storeMin', align: 'center', title: '鏁伴噺涓嬮檺', sort: true}
+        , {
+            field: 'warnStatus', align: 'center', title: '鐘舵��', sort: true, templet: function (d) {
+                var colorMap = {
+                    '鏈缃�': '#999999',
+                    '姝e父': '#5cb85c',
+                    '瓒呬笂闄�': '#d9534f',
+                    '瓒呬笅闄�': '#337ab7'
+                };
+                var text = d.warnStatus || '';
+                var color = colorMap[text] || '#333333';
+                return '<span style="color:' + color + ';">' + text + '</span>';
+            }
+        }
         // , {field: 'storeMaxDate', align: 'center', title: '搴撻緞涓婇檺', sort: true}
         , {field: 'anfme', align: 'center', title: '瀹為檯鏁伴噺'}
         // , {field: 'nowTime', align: 'center', title: '瀹為檯搴撻緞'}
@@ -431,6 +442,7 @@
     form.on('submit(reset)', function (data) {
         pageCurr = 1;
         clearFormVal($('#search-box'));
+        form.render('select');
         tableReload(false);
     });
 
@@ -467,6 +479,7 @@
         type: 'datetime'
     });
 
+    form.render('select');
 
 });
 
diff --git a/src/main/webapp/static/js/mat/mat.js b/src/main/webapp/static/js/mat/mat.js
index 1e753ff..e90a9cc 100644
--- a/src/main/webapp/static/js/mat/mat.js
+++ b/src/main/webapp/static/js/mat/mat.js
@@ -2,6 +2,22 @@
 var printMatCodeNos = [];
 var admin;
 
+function createNumberCell(title, field) {
+    return {
+        field: field,
+        align: 'center',
+        title: title,
+        templet: function (d) {
+            var raw = d[field];
+            if (raw === null || raw === undefined) return '';
+            if (typeof raw === 'string' && raw.trim() === '') return '';
+            var num = Number(raw);
+            if (!isFinite(num)) return '';
+            return num.toFixed(2);
+        }
+    };
+}
+
 function getCol() {
     var cols = [
         {type: 'checkbox'}
@@ -11,7 +27,14 @@
         // ,{field: 'store_min', align: 'center',title: '搴撳瓨涓嬮檺'}
         // ,{field: 'store_max_date', align: 'center',title: '搴撻緞涓婇檺(澶�)'}
     ];
-    cols.push.apply(cols, matCols);
+    var pageMatCols = matCols.filter(function (col) {
+        return ['specs', 'model', 'brand'].indexOf(col.field) === -1;
+    });
+    cols.push.apply(cols, pageMatCols);
+    cols.push(
+        createNumberCell('搴撳瓨棰勮鏁伴噺涓婇檺', 'storeMax'),
+        createNumberCell('搴撳瓨棰勮鏁伴噺涓嬮檺', 'storeMin')
+    );
     cols.push(
         {fixed: 'right', title: '鎿嶄綔', align: 'center', toolbar: '#operate', width: 150}
     )
diff --git a/src/main/webapp/views/locDetlGroup/locDetlGroup.html b/src/main/webapp/views/locDetlGroup/locDetlGroup.html
index b495afb..fc84c8a 100644
--- a/src/main/webapp/views/locDetlGroup/locDetlGroup.html
+++ b/src/main/webapp/views/locDetlGroup/locDetlGroup.html
@@ -26,12 +26,13 @@
     </div>
     <div class="layui-inline">
         <div class="layui-input-inline">
-            <input class="layui-input" type="text" name="specs" placeholder="瑙勬牸" autocomplete="off">
-        </div>
-    </div>
-    <div class="layui-inline">
-        <div class="layui-input-inline">
-            <input class="layui-input" type="text" name="batch" placeholder="鎵瑰彿" autocomplete="off">
+            <select name="warnStatus">
+                <option value="">鐘舵��</option>
+                <option value="鏈缃�">鏈缃�</option>
+                <option value="姝e父">姝e父</option>
+                <option value="瓒呬笂闄�">瓒呬笂闄�</option>
+                <option value="瓒呬笅闄�">瓒呬笅闄�</option>
+            </select>
         </div>
     </div>
 
diff --git a/src/main/webapp/views/mat/mat.html b/src/main/webapp/views/mat/mat.html
index 14e0786..8c7feea 100644
--- a/src/main/webapp/views/mat/mat.html
+++ b/src/main/webapp/views/mat/mat.html
@@ -97,12 +97,6 @@
                                 <input name="maktx" class="layui-input" placeholder="杈撳叆鍟嗗搧鍚嶇О"/>
                             </div>
                         </div>
-                        <div class="layui-inline">
-                            <label class="layui-form-label" style="padding: 8px 15px 8px 15px">鍟嗗搧瑙勬牸:</label>
-                            <div class="layui-input-inline">
-                                <input name="specs" class="layui-input" placeholder="杈撳叆鍟嗗搧瑙勬牸"/>
-                            </div>
-                        </div>
                         <div class="layui-inline">&emsp;
                             <button class="layui-btn icon-btn" lay-filter="search" lay-submit>
                                 <i class="layui-icon">&#xe615;</i>鎼滅储
@@ -168,7 +162,6 @@
         <input name="uuid" type="hidden">
         <input name="nodeId" type="hidden">
         <input name="tag_id" type="hidden">
-        <input name="model" type="hidden">
         <input name="name" type="hidden">
         <input name="batch" type="hidden">
         <input name="docId" type="hidden">
@@ -202,21 +195,15 @@
                     </div>
                 </div>
                 <div class="layui-form-item">
-                    <label class="layui-form-label">瑙勬牸</label>
+                    <label class="layui-form-label">搴撳瓨棰勮鏁伴噺涓婇檺</label>
                     <div class="layui-input-block">
-                        <input name="specs" placeholder="璇疯緭鍏ヨ鏍�" class="layui-input">
+                        <input name="storeMax" placeholder="璇疯緭鍏ュ簱瀛橀璀︽暟閲忎笂闄�" class="layui-input">
                     </div>
                 </div>
                 <div class="layui-form-item">
-                    <label class="layui-form-label">鍝佺墝</label>
+                    <label class="layui-form-label">搴撳瓨棰勮鏁伴噺涓嬮檺</label>
                     <div class="layui-input-block">
-                        <input name="brand" placeholder="璇疯緭鍏ュ崟绠卞噣閲嶆牸" class="layui-input">
-                    </div>
-                </div>
-                <div class="layui-form-item">
-                    <label class="layui-form-label">鍨嬪彿</label>
-                    <div class="layui-input-block">
-                        <input name="model" placeholder="璇疯緭鍏ュ瀷鍙�" class="layui-input">
+                        <input name="storeMin" placeholder="璇疯緭鍏ュ簱瀛橀璀︽暟閲忎笅闄�" class="layui-input">
                     </div>
                 </div>
             </div>
@@ -237,12 +224,6 @@
                     <label class="layui-form-label layui-form-required">姣忓叕鏂ら暱搴�</label>
                     <div class="layui-input-block">
                         <input id="volume" name="volume" placeholder="璇疯緭鍏�" class="layui-input" lay-vertype="tips" lay-verify="required" required="">
-                    </div>
-                </div>
-                <div class="layui-form-item">
-                    <label class="layui-form-label">瑙勬牸</label>
-                    <div class="layui-input-block">
-                        <input name="specs" placeholder="璇疯緭鍏ヤ唬鐮�" class="layui-input">
                     </div>
                 </div>
                 <div class="layui-form-item">

--
Gitblit v1.9.1