| src/main/java/com/zy/core/utils/WmsOperateUtils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/system/controller/ConfigController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/system/entity/Config.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/mapper/ConfigMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/webapp/static/js/config/config.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/webapp/views/config/config.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/webapp/views/config/config_detail.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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("未配置WMS系统URI,配置文件Code编码:wmsSystemUri"); 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("未配置WMS入库接口地址,配置文件Code编码:wmsSystemInUrl"); return null; } if(wmsSystemInUrlConfig == null){ News.error("未配置WMS入库接口地址,配置文件Code编码:wmsSystemInUrl"); 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; } 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; 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; } } 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> 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(); } 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> 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">正常</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">正常</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>