From 664d9030efca22edd8e43b4db4b2c0700fff44af Mon Sep 17 00:00:00 2001
From: Junjie <DELL@qq.com>
Date: 星期三, 14 一月 2026 09:18:33 +0800
Subject: [PATCH] #

---
 src/main/webapp/views/config/config.html                     |   57 ++++--
 src/main/webapp/views/config/config_detail.html              |  113 +++++++------
 src/main/java/com/zy/core/utils/WmsOperateUtils.java         |   34 +++-
 src/main/webapp/static/js/config/config.js                   |  193 +++++++++++++----------
 src/main/resources/mapper/ConfigMapper.xml                   |    1 
 src/main/java/com/zy/system/entity/Config.java               |   13 +
 src/main/java/com/zy/system/controller/ConfigController.java |   16 ++
 7 files changed, 255 insertions(+), 172 deletions(-)

diff --git a/src/main/java/com/zy/core/utils/WmsOperateUtils.java b/src/main/java/com/zy/core/utils/WmsOperateUtils.java
index 39f0363..423b10d 100644
--- a/src/main/java/com/zy/core/utils/WmsOperateUtils.java
+++ b/src/main/java/com/zy/core/utils/WmsOperateUtils.java
@@ -19,7 +19,9 @@
 import com.zy.common.entity.FindCrnNoResult;
 import com.zy.common.service.CommonService;
 import com.zy.common.utils.HttpHandler;
+import com.zy.common.utils.RedisUtil;
 import com.zy.core.News;
+import com.zy.core.enums.RedisKeyType;
 import com.zy.core.enums.SlaveType;
 import com.zy.system.entity.Config;
 import com.zy.system.service.ConfigService;
@@ -49,28 +51,40 @@
     private BasDualCrnpService basDualCrnpService;
     @Autowired
     private BasStationService basStationService;
+    @Autowired
+    private StationOperateProcessUtils stationOperateProcessUtils;
+    @Autowired
+    private RedisUtil redisUtil;
 
     //鐢宠鍏ュ簱浠诲姟
     public synchronized String applyInTask(String barcode, Integer sourceStaNo, Integer locType1) {
-        String wmsUrl = null;
-        Config wmsSystemUriConfig = configService.selectOne(new EntityWrapper<Config>().eq("code", "wmsSystemUri"));
-        if (wmsSystemUriConfig != null) {
-            wmsUrl = wmsSystemUriConfig.getValue();
+        Object systemConfigMapObj = redisUtil.get(RedisKeyType.SYSTEM_CONFIG_MAP.key);
+        if (systemConfigMapObj == null) {
+            News.error("绯荤粺Config缂撳瓨澶辨晥");
+            return null;
         }
+        HashMap<String, String> systemConfigMap = (HashMap<String, String>) systemConfigMapObj;
 
+        String wmsUrl = systemConfigMap.get("wmsSystemUri");
         if (wmsUrl == null) {
             News.error("鏈厤缃甒MS绯荤粺URI锛岄厤缃枃浠禖ode缂栫爜锛歸msSystemUri");
             return null;
         }
 
-        String wmsSystemInUrl = null;
-        Config wmsSystemInUrlConfig = configService.selectOne(new EntityWrapper<Config>().eq("code", "wmsSystemInUrl"));
-        if (wmsSystemInUrlConfig != null) {
-            wmsSystemInUrl = wmsSystemInUrlConfig.getValue();
+        String wmsSystemInUrl = systemConfigMap.get("wmsSystemInUrl");
+        if(wmsSystemInUrl == null){
+            News.error("鏈厤缃甒MS鍏ュ簱鎺ュ彛鍦板潃锛岄厤缃枃浠禖ode缂栫爜锛歸msSystemInUrl");
+            return null;
         }
 
-        if(wmsSystemInUrlConfig == null){
-            News.error("鏈厤缃甒MS鍏ュ簱鎺ュ彛鍦板潃锛岄厤缃枃浠禖ode缂栫爜锛歸msSystemInUrl");
+        int conveyorStationTaskLimit = 30;
+        String conveyorStationTaskLimitStr = systemConfigMap.get("conveyorStationTaskLimit");
+        if(conveyorStationTaskLimitStr != null){
+            conveyorStationTaskLimit = Integer.parseInt(conveyorStationTaskLimitStr);
+        }
+        int currentStationTaskCount = stationOperateProcessUtils.getCurrentStationTaskCount();
+        if (currentStationTaskCount > conveyorStationTaskLimit) {
+            News.error("杈撻�佺珯鐐逛换鍔″凡杈惧埌涓婇檺锛屼笂闄愬�硷細{}锛岀珯鐐逛换鍔℃暟锛歿}", conveyorStationTaskLimit, currentStationTaskCount);
             return null;
         }
 
diff --git a/src/main/java/com/zy/system/controller/ConfigController.java b/src/main/java/com/zy/system/controller/ConfigController.java
index 9079b78..6243d13 100644
--- a/src/main/java/com/zy/system/controller/ConfigController.java
+++ b/src/main/java/com/zy/system/controller/ConfigController.java
@@ -201,6 +201,22 @@
         return R.ok();
     }
 
+    @RequestMapping(value = "/config/getSelectTypes")
+    @ManagerAuth
+    public R getSelectTypes() {
+        EntityWrapper<Config> wrapper = new EntityWrapper<>();
+        wrapper.setSqlSelect("DISTINCT select_type as selectType");
+        wrapper.isNotNull("select_type");
+        List<Map<String, Object>> maps = configService.selectMaps(wrapper);
+        List<String> types = new ArrayList<>();
+        for (Map<String, Object> map : maps) {
+            if (map != null && map.get("selectType") != null) {
+                types.add(String.valueOf(map.get("selectType")));
+            }
+        }
+        return R.ok(types);
+    }
+
 
     private static boolean checkJson(String val){
         Object parse = null;
diff --git a/src/main/java/com/zy/system/entity/Config.java b/src/main/java/com/zy/system/entity/Config.java
index 9b6a39a..a4ab8fc 100644
--- a/src/main/java/com/zy/system/entity/Config.java
+++ b/src/main/java/com/zy/system/entity/Config.java
@@ -42,6 +42,11 @@
      */
     private Short status;
 
+    /**
+     * 绛涢�夌被鍨�
+     */
+    private String selectType;
+
     public Config() {}
 
     public Config(String name,String code,String value,Short type,Short status) {
@@ -132,5 +137,13 @@
         this.status = status;
     }
 
+    public String getSelectType() {
+        return selectType;
+    }
+
+    public void setSelectType(String selectType) {
+        this.selectType = selectType;
+    }
+
 
 }
diff --git a/src/main/resources/mapper/ConfigMapper.xml b/src/main/resources/mapper/ConfigMapper.xml
index 8673fe5..4c6ac5e 100644
--- a/src/main/resources/mapper/ConfigMapper.xml
+++ b/src/main/resources/mapper/ConfigMapper.xml
@@ -10,6 +10,7 @@
         <result column="value" property="value" />
         <result column="type" property="type" />
         <result column="status" property="status" />
+        <result column="select_type" property="selectType" />
 
     </resultMap>
 
diff --git a/src/main/webapp/static/js/config/config.js b/src/main/webapp/static/js/config/config.js
index ad7c95e..7478474 100644
--- a/src/main/webapp/static/js/config/config.js
+++ b/src/main/webapp/static/js/config/config.js
@@ -1,5 +1,5 @@
 var pageCurr;
-layui.use(['table','laydate', 'form'], function(){
+layui.use(['table', 'laydate', 'form'], function () {
     var table = layui.table;
     var $ = layui.jquery;
     var layer = layui.layer;
@@ -9,23 +9,24 @@
     // 鏁版嵁娓叉煋
     tableIns = table.render({
         elem: '#config',
-        headers: {token: localStorage.getItem('token')},
-        url: baseUrl+'/config/list/auth',
+        headers: { token: localStorage.getItem('token') },
+        url: baseUrl + '/config/list/auth',
         page: true,
         limit: 16,
         limits: [16, 30, 50, 100, 200, 500],
         toolbar: '#toolbar',
         cellMinWidth: 50,
         cols: [[
-            {type: 'checkbox', fixed: 'left'}
-            ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80}
-            ,{field: 'name', align: 'center',title: '鍚嶇О'}
-            ,{field: 'code', align: 'center',title: '缂栫爜'}
-            ,{field: 'value', align: 'center',title: '瀵瑰簲鍊�'}
-            ,{field: 'type$', align: 'center',title: '绫诲瀷'}
-            ,{field: 'status$', align: 'center',title: '鐘舵��'}
+            { type: 'checkbox', fixed: 'left' }
+            , { field: 'id', title: 'ID', sort: true, align: 'center', fixed: 'left', width: 80 }
+            , { field: 'name', align: 'center', title: '鍚嶇О' }
+            , { field: 'code', align: 'center', title: '缂栫爜' }
+            , { field: 'value', align: 'center', title: '瀵瑰簲鍊�' }
+            , { field: 'selectType', align: 'center', title: '绛涢�夌被鍨�' }
+            , { field: 'type$', align: 'center', title: '绫诲瀷' }
+            , { field: 'status$', align: 'center', title: '鐘舵��' }
 
-            ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:150}
+            , { fixed: 'right', title: '鎿嶄綔', align: 'center', toolbar: '#operate', width: 150 }
         ]],
         request: {
             pageName: 'curr',
@@ -42,11 +43,11 @@
         response: {
             statusCode: 200
         },
-        done: function(res, curr, count) {
+        done: function (res, curr, count) {
             if (res.code === 403) {
-                top.location.href = baseUrl+"/";
+                top.location.href = baseUrl + "/";
             }
-            pageCurr=curr;
+            pageCurr = curr;
             limit();
         }
     });
@@ -54,7 +55,7 @@
     // 鐩戝惉鎺掑簭浜嬩欢
     table.on('sort(config)', function (obj) {
         var searchData = {};
-        $.each($('#search-box [name]').serializeArray(), function() {
+        $.each($('#search-box [name]').serializeArray(), function () {
             searchData[this.name] = this.value;
         });
         searchData['orderByField'] = obj.field;
@@ -66,9 +67,9 @@
             },
             done: function (res, curr, count) {
                 if (res.code === 403) {
-                    top.location.href = baseUrl+"/";
+                    top.location.href = baseUrl + "/";
                 }
-                pageCurr=curr;
+                pageCurr = curr;
                 limit();
             }
         });
@@ -77,7 +78,7 @@
     // 鐩戝惉澶村伐鍏锋爮浜嬩欢
     table.on('toolbar(config)', function (obj) {
         var checkStatus = table.checkStatus(obj.config.id);
-        switch(obj.event) {
+        switch (obj.event) {
             case 'addData':
                 layer.open({
                     type: 2,
@@ -86,9 +87,9 @@
                     area: [top.detailWidth, top.detailHeight],
                     shadeClose: false,
                     content: 'config_detail.html',
-                    success: function(layero, index){
-                    	clearFormVal(layer.getChildFrame('#detail', index));
-                        layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"});
+                    success: function (layero, index) {
+                        clearFormVal(layer.getChildFrame('#detail', index));
+                        layer.iframeAuto(index); layer.style(index, { top: (($(window).height() - layer.getChildFrame('#data-detail', index).height()) / 3) + "px" });
                     }
                 });
                 break;
@@ -102,26 +103,26 @@
                 break;
             case 'deleteData':
                 var data = checkStatus.data;
-                var ids=[];
+                var ids = [];
                 data.map(function (track) {
                     ids.push(track.id);
                 });
-                if (ids.length === 0){
+                if (ids.length === 0) {
                     layer.msg('璇烽�夋嫨鏁版嵁');
                 } else {
-                    layer.confirm('纭畾鍒犻櫎'+(ids.length===1?'姝�':ids.length)+'鏉℃暟鎹悧', function(){
+                    layer.confirm('纭畾鍒犻櫎' + (ids.length === 1 ? '姝�' : ids.length) + '鏉℃暟鎹悧', function () {
                         $.ajax({
-                            url: baseUrl+"/config/delete/auth",
-                            headers: {'token': localStorage.getItem('token')},
-                            data: {ids: ids},
+                            url: baseUrl + "/config/delete/auth",
+                            headers: { 'token': localStorage.getItem('token') },
+                            data: { ids: ids },
                             method: 'POST',
-                            traditional:true,
+                            traditional: true,
                             success: function (res) {
-                                if (res.code === 200){
+                                if (res.code === 200) {
                                     layer.closeAll();
                                     tableReload(false);
-                                } else if (res.code === 403){
-                                    top.location.href = baseUrl+"/";
+                                } else if (res.code === 403) {
+                                    top.location.href = baseUrl + "/";
                                 } else {
                                     layer.msg(res.msg)
                                 }
@@ -131,16 +132,16 @@
                 }
                 break;
             case 'refreshCache':
-                layer.confirm('纭畾鍒锋柊Redis缂撳瓨鍚�', function(){
+                layer.confirm('纭畾鍒锋柊Redis缂撳瓨鍚�', function () {
                     $.ajax({
-                        url: baseUrl+"/config/refreshCache",
-                        headers: {'token': localStorage.getItem('token')},
+                        url: baseUrl + "/config/refreshCache",
+                        headers: { 'token': localStorage.getItem('token') },
                         method: 'POST',
                         success: function (res) {
-                            if (res.code === 200){
+                            if (res.code === 200) {
                                 layer.msg('鍒锋柊鎴愬姛');
-                            } else if (res.code === 403){
-                                top.location.href = baseUrl+"/";
+                            } else if (res.code === 403) {
+                                top.location.href = baseUrl + "/";
                             } else {
                                 layer.msg(res.msg)
                             }
@@ -149,9 +150,9 @@
                 });
                 break;
             case 'exportData':
-                layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
-                    var titles=[];
-                    var fields=[];
+                layer.confirm('纭畾瀵煎嚭Excel鍚�', { shadeClose: true }, function () {
+                    var titles = [];
+                    var fields = [];
                     obj.config.cols[0].map(function (col) {
                         if (col.type === 'normal' && col.hide === false && col.toolbar == null) {
                             titles.push(col.title);
@@ -159,7 +160,7 @@
                         }
                     });
                     var exportData = {};
-                    $.each($('#search-box [name]').serializeArray(), function() {
+                    $.each($('#search-box [name]').serializeArray(), function () {
                         exportData[this.name] = this.value;
                     });
                     var param = {
@@ -167,18 +168,18 @@
                         'fields': fields
                     };
                     $.ajax({
-                        url: baseUrl+"/config/export/auth",
-                        headers: {'token': localStorage.getItem('token')},
+                        url: baseUrl + "/config/export/auth",
+                        headers: { 'token': localStorage.getItem('token') },
                         data: JSON.stringify(param),
-                        dataType:'json',
-                        contentType:'application/json;charset=UTF-8',
+                        dataType: 'json',
+                        contentType: 'application/json;charset=UTF-8',
                         method: 'POST',
                         success: function (res) {
                             layer.closeAll();
                             if (res.code === 200) {
-                                table.exportFile(titles,res.data,'xls');
+                                table.exportFile(titles, res.data, 'xls');
                             } else if (res.code === 403) {
-                                top.location.href = baseUrl+"/";
+                                top.location.href = baseUrl + "/";
                             } else {
                                 layer.msg(res.msg)
                             }
@@ -189,7 +190,7 @@
             case 'serverInfo':
                 $.ajax({
                     url: baseUrl + "/license/getServerInfos",
-                    headers: {'token': localStorage.getItem('token')},
+                    headers: { 'token': localStorage.getItem('token') },
                     method: 'GET',
                     success: function (res) {
                         var pretty = '';
@@ -200,18 +201,18 @@
                         }
                         var html = ''
                             + '<div style="padding:15px 20px 5px 20px;">'
-                            +   '<div style="font-weight:600;margin-bottom:8px;">绯荤粺閰嶇疆淇℃伅</div>'
-                            +   '<pre id="server-info-pre" style="background:#f7f7f7;border:1px solid #e6e6e6;border-radius:6px;padding:12px;white-space:pre-wrap;word-wrap:break-word;max-height:360px;overflow:auto;">'
-                            +       pretty
-                            +   '</pre>'
-                            +   '<div class="layui-btn-container" style="text-align:right;margin-top:6px;">'
-                            +       '<button class="layui-btn layui-btn-primary" id="copy-server-info">澶嶅埗</button>'
-                            +   '</div>'
+                            + '<div style="font-weight:600;margin-bottom:8px;">绯荤粺閰嶇疆淇℃伅</div>'
+                            + '<pre id="server-info-pre" style="background:#f7f7f7;border:1px solid #e6e6e6;border-radius:6px;padding:12px;white-space:pre-wrap;word-wrap:break-word;max-height:360px;overflow:auto;">'
+                            + pretty
+                            + '</pre>'
+                            + '<div class="layui-btn-container" style="text-align:right;margin-top:6px;">'
+                            + '<button class="layui-btn layui-btn-primary" id="copy-server-info">澶嶅埗</button>'
+                            + '</div>'
                             + '</div>';
                         layer.open({
                             type: 1,
                             title: '鑾峰彇绯荤粺閰嶇疆',
-                            area: ['640px','480px'],
+                            area: ['640px', '480px'],
                             shadeClose: true,
                             content: html,
                             success: function (layero, index) {
@@ -260,16 +261,16 @@
                 });
                 break;
             case 'activate':
-                layer.confirm('纭畾鎵ц涓�閿縺娲诲悧', function(){
+                layer.confirm('纭畾鎵ц涓�閿縺娲诲悧', function () {
                     $.ajax({
                         url: baseUrl + "/license/activate",
-                        headers: {'token': localStorage.getItem('token')},
+                        headers: { 'token': localStorage.getItem('token') },
                         method: 'POST',
                         success: function (res) {
-                            if (res.code === 200){
+                            if (res.code === 200) {
                                 layer.msg('婵�娲绘垚鍔�');
-                            } else if (res.code === 403){
-                                top.location.href = baseUrl+"/";
+                            } else if (res.code === 403) {
+                                top.location.href = baseUrl + "/";
                             } else {
                                 layer.msg(res.msg)
                             }
@@ -283,10 +284,10 @@
             case 'projectName':
                 $.ajax({
                     url: baseUrl + "/license/getProjectName",
-                    headers: {'token': localStorage.getItem('token')},
+                    headers: { 'token': localStorage.getItem('token') },
                     method: 'GET',
                     success: function (res) {
-                        if (res.code === 200){
+                        if (res.code === 200) {
                             layer.alert(res.msg);
                         } else {
                             layer.msg(res.msg)
@@ -301,7 +302,7 @@
     });
 
     // 鐩戝惉琛屽伐鍏蜂簨浠�
-    table.on('tool(config)', function(obj){
+    table.on('tool(config)', function (obj) {
         var data = obj.data;
         switch (obj.event) {
             // 璇︽儏
@@ -313,11 +314,11 @@
                     area: [top.detailWidth, top.detailHeight],
                     shadeClose: false,
                     content: 'config_detail.html',
-                    success: function(layero, index){
+                    success: function (layero, index) {
                         setFormVal(layer.getChildFrame('#detail', index), data, true);
                         top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true);
                         layer.getChildFrame('#data-detail-submit,#prompt', index).hide();
-                        layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"});
+                        layer.iframeAuto(index); layer.style(index, { top: (($(window).height() - layer.getChildFrame('#data-detail', index).height()) / 3) + "px" });
                         layero.find('iframe')[0].contentWindow.layui.form.render('select');
                     }
                 });
@@ -331,10 +332,10 @@
                     area: [top.detailWidth, top.detailHeight],
                     shadeClose: false,
                     content: 'config_detail.html',
-                    success: function(layero, index){
+                    success: function (layero, index) {
                         setFormVal(layer.getChildFrame('#detail', index), data, false);
                         top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false);
-                        layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"});
+                        layer.iframeAuto(index); layer.style(index, { top: (($(window).height() - layer.getChildFrame('#data-detail', index).height()) / 3) + "px" });
                         layero.find('iframe')[0].contentWindow.layui.form.render('select');
                     }
                 });
@@ -346,32 +347,33 @@
     // 鏁版嵁淇敼鍔ㄤ綔
     form.on('submit(edit)', function () {
         var index = layer.load(1, {
-            shade: [0.5,'#000'] //0.1閫忔槑搴︾殑鑳屾櫙
+            shade: [0.5, '#000'] //0.1閫忔槑搴︾殑鑳屾櫙
         });
         var data = {
             id: $('#id').val(),
             name: $('#name').val(),
             code: $('#code').val(),
             value: $('#value').val(),
+            selectType: $('#selectType').val(),
             type: $('#type').val(),
             status: $('#status').val(),
 
         };
         $.ajax({
-            url: baseUrl+"/config/edit/auth",
-            headers: {'token': localStorage.getItem('token')},
+            url: baseUrl + "/config/edit/auth",
+            headers: { 'token': localStorage.getItem('token') },
             data: top.reObject(data),
             method: 'POST',
             success: function (res) {
-                if (res.code === 200){
+                if (res.code === 200) {
                     parent.layer.closeAll();
                     tableReload(true);
                     $("#data-detail :input").each(function () {
                         $(this).val("");
                     });
-                } else if (res.code === 403){
-                    top.location.href = baseUrl+"/";
-                }else {
+                } else if (res.code === 403) {
+                    top.location.href = baseUrl + "/";
+                } else {
                     layer.msg(res.msg)
                 }
                 layer.close(index);
@@ -394,16 +396,33 @@
 
     // 鏃堕棿閫夋嫨鍣�
 
+    // 鍒濆鍖栫瓫閫夌被鍨嬩笅鎷夋
+    $.ajax({
+        url: baseUrl + "/config/getSelectTypes",
+        headers: { 'token': localStorage.getItem('token') },
+        method: 'POST',
+        success: function (res) {
+            if (res.code === 200) {
+                var types = res.data;
+                var select = $("#selectTypeSearch");
+                for (var i = 0; i < types.length; i++) {
+                    select.append("<option value='" + types[i] + "'>" + types[i] + "</option>");
+                }
+                form.render('select');
+            }
+        }
+    });
+
 });
 
 // 鍏抽棴鍔ㄤ綔
-$(document).on('click','#data-detail-close', function () {
+$(document).on('click', '#data-detail-close', function () {
     parent.layer.closeAll();
 });
 
 function tableReload(child) {
     var searchData = {};
-    $.each($('#search-box [name]').serializeArray(), function() {
+    $.each($('#search-box [name]').serializeArray(), function () {
         searchData[this.name] = this.value;
     });
     (child ? parent.tableIns : tableIns).reload({
@@ -413,14 +432,14 @@
         },
         done: function (res, curr, count) {
             if (res.code === 403) {
-                top.location.href = baseUrl+"/";
+                top.location.href = baseUrl + "/";
             }
-            pageCurr=curr;
+            pageCurr = curr;
             if (res.data.length === 0 && count !== 0) {
                 tableIns.reload({
                     where: searchData,
                     page: {
-                        curr: pageCurr-1
+                        curr: pageCurr - 1
                     }
                 });
                 pageCurr -= 1;
@@ -434,9 +453,9 @@
     for (var val in data) {
         var find = el.find(":input[id='" + val + "']");
         find.val(data[val]);
-        if (showImg){
+        if (showImg) {
             var next = find.next();
-            if (next.get(0)){
+            if (next.get(0)) {
                 if (next.get(0).localName === "img") {
                     find.hide();
                     next.attr("src", data[val]);
@@ -456,13 +475,13 @@
 
 function detailScreen(index) {
     var detail = layer.getChildFrame('#data-detail', index);
-    var height = detail.height()+60;
-    if (height > ($(window).height()*0.9)) {
-        height = ($(window).height()*0.9);
+    var height = detail.height() + 60;
+    if (height > ($(window).height() * 0.9)) {
+        height = ($(window).height() * 0.9);
     }
     layer.style(index, {
-        top: (($(window).height()-height)/3)+"px",
-        height: height+'px'
+        top: (($(window).height() - height) / 3) + "px",
+        height: height + 'px'
     });
     $(".layui-layer-shade").remove();
 }
diff --git a/src/main/webapp/views/config/config.html b/src/main/webapp/views/config/config.html
index 05b8862..9e49db5 100644
--- a/src/main/webapp/views/config/config.html
+++ b/src/main/webapp/views/config/config.html
@@ -1,5 +1,6 @@
 <!DOCTYPE html>
 <html lang="en">
+
 <head>
     <meta charset="utf-8">
     <title></title>
@@ -10,26 +11,36 @@
     <link rel="stylesheet" href="../../static/css/cool.css" media="all">
     <link rel="stylesheet" href="../../static/css/common.css" media="all">
 </head>
+
 <body>
 
-<!-- 鎼滅储鏍� -->
-<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="id" placeholder="缂栧彿" autocomplete="off">
+    <!-- 鎼滅储鏍� -->
+    <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="id" placeholder="缂栧彿" autocomplete="off">
+            </div>
+        </div>
+        <div class="layui-inline">
+            <div class="layui-input-inline">
+                <select name="select_type" id="selectTypeSearch" lay-search="">
+                    <option value="">绛涢�夌被鍨�</option>
+                </select>
+            </div>
+        </div>
+
+        <!-- 寰呮坊鍔� -->
+        <div id="data-search-btn" class="layui-btn-container layui-form-item">
+            <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>
 
-    <!-- 寰呮坊鍔� -->
-    <div id="data-search-btn" class="layui-btn-container layui-form-item">
-        <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>
-
-<!-- 琛ㄦ牸 -->
-<table class="layui-hide" id="config" lay-filter="config"></table>
-<script type="text/html" id="toolbar">
+    <!-- 琛ㄦ牸 -->
+    <table class="layui-hide" id="config" lay-filter="config"></table>
+    <script type="text/html" id="toolbar">
     <div class="layui-btn-container">
         <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>
         <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>
@@ -41,19 +52,19 @@
     </div>
 </script>
 
-<script type="text/html" id="operate">
+    <script type="text/html" id="operate">
     <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">璇︽儏</a>
     <a class="layui-btn layui-btn-xs btn-edit" lay-event="edit">缂栬緫</a>
 </script>
 
-<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/config/config.js" charset="utf-8"></script>
+    <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/config/config.js" charset="utf-8"></script>
 
-<iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe>
+    <iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe>
 
 </body>
-</html>
 
+</html>
\ No newline at end of file
diff --git a/src/main/webapp/views/config/config_detail.html b/src/main/webapp/views/config/config_detail.html
index 2838e7b..36a0ea3 100644
--- a/src/main/webapp/views/config/config_detail.html
+++ b/src/main/webapp/views/config/config_detail.html
@@ -1,5 +1,6 @@
 <!DOCTYPE html>
 <html lang="en">
+
 <head>
     <meta charset="utf-8">
     <title></title>
@@ -10,74 +11,82 @@
     <link rel="stylesheet" href="../../static/css/cool.css" media="all">
     <link rel="stylesheet" href="../../static/css/common.css" media="all">
 </head>
+
 <body>
 
-<!-- 璇︽儏 -->
-<div id="data-detail" class="layer_self_wrap">
-    <form id="detail" class="layui-form">
-        <div class="layui-inline"  style="display: none">
-            <label class="layui-form-label"><span class="not-null">*</span>缂栥��銆�鍙凤細</label>
-            <div class="layui-input-inline">
-                <input id="id" class="layui-input" type="text" placeholder="缂栧彿">
+    <!-- 璇︽儏 -->
+    <div id="data-detail" class="layer_self_wrap">
+        <form id="detail" class="layui-form">
+            <div class="layui-inline" style="display: none">
+                <label class="layui-form-label"><span class="not-null">*</span>缂栥��銆�鍙凤細</label>
+                <div class="layui-input-inline">
+                    <input id="id" class="layui-input" type="text" placeholder="缂栧彿">
+                </div>
             </div>
-        </div>
-        <div class="layui-inline"  style="width:31%;">
-            <label class="layui-form-label"><span class="not-null">*</span>鍚嶃��銆�绉帮細</label>
-            <div class="layui-input-inline">
-                <input id="name" class="layui-input" type="text" placeholder="鍚嶇О" lay-verify="required" >
+            <div class="layui-inline" style="width:31%;">
+                <label class="layui-form-label"><span class="not-null">*</span>鍚嶃��銆�绉帮細</label>
+                <div class="layui-input-inline">
+                    <input id="name" class="layui-input" type="text" placeholder="鍚嶇О" lay-verify="required">
+                </div>
             </div>
-        </div>
-        <div class="layui-inline"  style="width:31%;">
-            <label class="layui-form-label"><span class="not-null">*</span>缂栥��銆�鐮侊細</label>
-            <div class="layui-input-inline">
-                <input id="code" class="layui-input" type="text" placeholder="缂栫爜" lay-verify="required" >
+            <div class="layui-inline" style="width:31%;">
+                <label class="layui-form-label"><span class="not-null">*</span>缂栥��銆�鐮侊細</label>
+                <div class="layui-input-inline">
+                    <input id="code" class="layui-input" type="text" placeholder="缂栫爜" lay-verify="required">
+                </div>
             </div>
-        </div>
-        <div class="layui-inline"  style="width:97%;">
-            <label class="layui-form-label"><span class="not-null">*</span>瀵� 搴� 鍊硷細</label>
-            <div class="layui-input-inline">
-                <input id="value" class="layui-input" type="text" placeholder="瀵瑰簲鍊�" lay-verify="required" >
+            <div class="layui-inline" style="width:97%;">
+                <label class="layui-form-label"><span class="not-null">*</span>瀵� 搴� 鍊硷細</label>
+                <div class="layui-input-inline">
+                    <input id="value" class="layui-input" type="text" placeholder="瀵瑰簲鍊�" lay-verify="required">
+                </div>
             </div>
-        </div>
-        <div class="layui-inline"  style="width:31%;">
-            <label class="layui-form-label"><span class="not-null">*</span>绫汇��銆�鍨嬶細</label>
-            <div class="layui-input-inline">
-                <select id="type" lay-verify="required">
-                    <option value="" style="display: none"></option>
-                    <option value="1">String</option>
-                    <option value="2">JSON</option>
-                </select>
+            <div class="layui-inline" style="width:31%;">
+                <label class="layui-form-label"><span class="not-null">*</span>绫汇��銆�鍨嬶細</label>
+                <div class="layui-input-inline">
+                    <select id="type" lay-verify="required">
+                        <option value="" style="display: none"></option>
+                        <option value="1">String</option>
+                        <option value="2">JSON</option>
+                    </select>
+                </div>
             </div>
-        </div>
-        <div class="layui-inline"  style="width:31%;">
-            <label class="layui-form-label"><span class="not-null">*</span>鐘躲��銆�鎬侊細</label>
-            <div class="layui-input-inline">
-                <select id="status" lay-verify="required">
-                    <option value="" style="display: none"></option>
-                    <option value="1">姝e父</option>
-                    <option value="0">绂佺敤</option>
-                </select>
+            <div class="layui-inline" style="width:31%;">
+                <label class="layui-form-label"><span class="not-null">*</span>鐘躲��銆�鎬侊細</label>
+                <div class="layui-input-inline">
+                    <select id="status" lay-verify="required">
+                        <option value="" style="display: none"></option>
+                        <option value="1">姝e父</option>
+                        <option value="0">绂佺敤</option>
+                    </select>
+                </div>
             </div>
-        </div>
+            <div class="layui-inline" style="width:97%;">
+                <label class="layui-form-label">绛涢�夌被鍨嬶細</label>
+                <div class="layui-input-inline">
+                    <input id="selectType" class="layui-input" type="text" placeholder="绛涢�夌被鍨�">
+                </div>
+            </div>
 
 
-        <hr class="layui-bg-gray">
+            <hr class="layui-bg-gray">
 
-        <div id="data-detail-btn" class="layui-btn-container layui-form-item">
-            <div id="data-detail-submit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇濆瓨</div>
-            <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div>
-        </div>
+            <div id="data-detail-btn" class="layui-btn-container layui-form-item">
+                <div id="data-detail-submit" type="button" class="layui-btn layui-btn-normal" lay-submit
+                    lay-filter="edit">淇濆瓨</div>
+                <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div>
+            </div>
 
-        <div id="prompt">
-            娓╅Θ鎻愮ず锛氳浠旂粏濉啓鐩稿叧淇℃伅锛�<span class="extrude"><span class="not-null">*</span> 涓哄繀濉�夐」銆�</span>
-        </div>
-    </form>
-</div>
+            <div id="prompt">
+                娓╅Θ鎻愮ず锛氳浠旂粏濉啓鐩稿叧淇℃伅锛�<span class="extrude"><span class="not-null">*</span> 涓哄繀濉�夐」銆�</span>
+            </div>
+        </form>
+    </div>
 </body>
 <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/config/config.js" charset="utf-8"></script>
-</html>
 
+</html>
\ No newline at end of file

--
Gitblit v1.9.1