From f74bb3a0d31392a2ea06ac231a854c38df060e65 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期二, 19 一月 2021 11:20:47 +0800 Subject: [PATCH] # --- /dev/null | 183 -------------------------- src/main/java/zy/cloud/wms/manager/utils/NodeUtils.java | 32 ++++ src/main/java/zy/cloud/wms/manager/service/impl/NodeServiceImpl.java | 7 + src/main/webapp/views/allo/allo.html | 13 + src/main/webapp/views/area/area.html | 20 ++ src/main/java/zy/cloud/wms/manager/service/NodeService.java | 3 src/main/java/zy/cloud/wms/manager/controller/NodeController.java | 56 +++++++ src/main/webapp/static/js/allo/allo.js | 19 ++ src/main/webapp/static/js/area/area.js | 21 ++ src/main/webapp/views/allo/allo_detail.html | 20 ++ src/main/webapp/views/area/area_detail.html | 29 +++ src/main/webapp/static/js/cool.js | 5 12 files changed, 206 insertions(+), 202 deletions(-) diff --git a/src/main/java/zy/cloud/wms/manager/controller/NodeController.java b/src/main/java/zy/cloud/wms/manager/controller/NodeController.java index df36c99..1a60a4a 100644 --- a/src/main/java/zy/cloud/wms/manager/controller/NodeController.java +++ b/src/main/java/zy/cloud/wms/manager/controller/NodeController.java @@ -15,11 +15,9 @@ import zy.cloud.wms.common.web.BaseController; import zy.cloud.wms.manager.entity.Node; import zy.cloud.wms.manager.service.NodeService; +import zy.cloud.wms.manager.utils.NodeUtils; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; @RestController public class NodeController extends BaseController { @@ -63,6 +61,26 @@ @RequestMapping(value = "/node/add/auth") @ManagerAuth public R add(Node node) { + if (node.getType() != 1) { + Node parentNode = nodeService.selectById(node.getParentId()); + if (parentNode == null || parentNode.getStatus() == 0) { + return R.error(node.getType()==2?"鎵�灞炰粨搴撲笉瀛樺湪":"鎵�灞炲簱鍖轰笉瀛樺湪"); + } + node.setParentName(parentNode.getName()); + node.setLevel(parentNode.getLevel() + 1); + } + // path + NodeUtils nodeUtils = new NodeUtils(); + nodeUtils.executePath(node); + node.setPath(nodeUtils.path.toString()); + node.setNamePath(nodeUtils.pathName.toString()); + + node.setLevel(node.getType()); + node.setCreateBy(getUserId()); + node.setCreateTime(new Date()); + node.setUpdateBy(getUserId()); + node.setUpdateTime(new Date()); + node.setStatus(1); nodeService.insert(node); return R.ok(); } @@ -73,6 +91,22 @@ if (Cools.isEmpty(node) || null==node.getId()){ return R.error(); } + if (node.getType() != 1) { + Node parentNode = nodeService.selectById(node.getParentId()); + if (parentNode == null || parentNode.getStatus() == 0) { + return R.error(node.getType()==2?"鎵�灞炰粨搴撲笉瀛樺湪":"鎵�灞炲簱鍖轰笉瀛樺湪"); + } + node.setParentName(parentNode.getName()); + node.setLevel(parentNode.getLevel() + 1); + } + // path + NodeUtils nodeUtils = new NodeUtils(); + nodeUtils.executePath(node); + node.setPath(nodeUtils.path.toString()); + node.setNamePath(nodeUtils.pathName.toString()); + + node.setUpdateBy(getUserId()); + node.setUpdateTime(new Date()); nodeService.updateById(node); return R.ok(); } @@ -127,4 +161,18 @@ return R.ok(); } + @PostMapping(value = "/parent/node/group") + public R getParentNodeGroup(@RequestParam(required = false) String condition, + @RequestParam Integer type) { + List<Node> nodes = nodeService.selectList(new EntityWrapper<Node>().eq("type", type).eq("status", 1)); + List<Map<String, Object>> result = new ArrayList<>(); + for (Node node : nodes) { + Map<String, Object> map = new HashMap<>(); + map.put("key", node.getId()); + map.put("val", node.getName()); + result.add(map); + } + return R.ok().add(result); + } + } diff --git a/src/main/java/zy/cloud/wms/manager/service/NodeService.java b/src/main/java/zy/cloud/wms/manager/service/NodeService.java index 6a2e3bc..72126df 100644 --- a/src/main/java/zy/cloud/wms/manager/service/NodeService.java +++ b/src/main/java/zy/cloud/wms/manager/service/NodeService.java @@ -5,4 +5,7 @@ public interface NodeService extends IService<Node> { + + String getPathName(Node node); + } diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/NodeServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/NodeServiceImpl.java index 009abf7..c6a1df4 100644 --- a/src/main/java/zy/cloud/wms/manager/service/impl/NodeServiceImpl.java +++ b/src/main/java/zy/cloud/wms/manager/service/impl/NodeServiceImpl.java @@ -9,4 +9,11 @@ @Service("nodeService") public class NodeServiceImpl extends ServiceImpl<NodeMapper, Node> implements NodeService { + @Override + public String getPathName(Node node) { + if (node.getParentId() != null) { + Node node1 = selectById(node.getParentId()); + } + return null; + } } diff --git a/src/main/java/zy/cloud/wms/manager/utils/NodeUtils.java b/src/main/java/zy/cloud/wms/manager/utils/NodeUtils.java new file mode 100644 index 0000000..ba20490 --- /dev/null +++ b/src/main/java/zy/cloud/wms/manager/utils/NodeUtils.java @@ -0,0 +1,32 @@ +package zy.cloud.wms.manager.utils; + +import com.core.common.SpringUtils; +import zy.cloud.wms.manager.entity.Node; +import zy.cloud.wms.manager.service.NodeService; + +/** + * Created by vincent on 2021/1/19 + */ +public class NodeUtils { + + public StringBuilder path = new StringBuilder(); + + public StringBuilder pathName = new StringBuilder(); + + public void executePath(Node node) { + NodeService bean = SpringUtils.getBean(NodeService.class); + Node parent = bean.selectById(node.getParentId()); + if (null != parent) { + path.insert(0, parent.getId()).insert(0,","); + pathName.insert(0, parent.getName()).insert(0,","); + if (parent.getParentId() != null) { + executePath(parent); + } else { + path.deleteCharAt(0); + pathName.deleteCharAt(0); + } + } + + } + +} diff --git a/src/main/webapp/static/js/allo/allo.js b/src/main/webapp/static/js/allo/allo.js index a73c886..f14975b 100644 --- a/src/main/webapp/static/js/allo/allo.js +++ b/src/main/webapp/static/js/allo/allo.js @@ -1,4 +1,17 @@ var pageCurr; + +getParentNode(); +function getParentNode(el) { + http.post(baseUrl + "/parent/node/group", {type: 2}, function (res) { + if (res.data != null) { + var tpl = $("#parentNodeGroup").html(); + var template = Handlebars.compile(tpl); + var html = template(res); + $('#parentId').append(html); + } + }); +} + layui.use(['table','laydate', 'form'], function(){ var table = layui.table; var $ = layui.jquery; @@ -12,7 +25,7 @@ headers: {token: localStorage.getItem('token')}, url: baseUrl+'/node/list/auth', page: true, - where: {type: 2}, + where: {type: 3}, limit: 16, limits: [16, 30, 50, 100, 200, 500], even: true, @@ -24,7 +37,7 @@ ,{field: 'uuid', align: 'center',title: '缂栧彿'} ,{field: 'name', align: 'center',title: '浠撳簱鍚嶇О'} // ,{field: 'parentId', align: 'center',title: '鐖剁骇'} - // ,{field: 'parentName', align: 'center',title: '鐖剁骇鍚嶇О'} + ,{field: 'parentName', align: 'center',title: '鎵�灞炲簱鍖�'} // ,{field: 'type$', align: 'center',title: '绫诲瀷'} // ,{field: 'path', align: 'center',title: '鍏宠仈璺緞'} // ,{field: 'namePath', align: 'center',title: '鍏宠仈璺緞鍚�'} @@ -234,7 +247,7 @@ type: 3, path: $('#path').val(), namePath: $('#namePath').val(), - level: 3, + level: $('#level').val(), leading: $('#leading').val(), sort: $('#sort').val(), barcode: $('#barcode').val(), diff --git a/src/main/webapp/static/js/area/area.js b/src/main/webapp/static/js/area/area.js index 1438f39..14626a3 100644 --- a/src/main/webapp/static/js/area/area.js +++ b/src/main/webapp/static/js/area/area.js @@ -1,4 +1,18 @@ var pageCurr; +var tableIns; + +getParentNode(); +function getParentNode(el) { + http.post(baseUrl + "/parent/node/group", {type: 1}, function (res) { + if (res.data != null) { + var tpl = $("#parentNodeGroup").html(); + var template = Handlebars.compile(tpl); + var html = template(res); + $('#parentId').append(html); + } + }); +} + layui.use(['table','laydate', 'form'], function(){ var table = layui.table; var $ = layui.jquery; @@ -22,9 +36,9 @@ {type: 'checkbox'} // ,{field: 'id', align: 'center',title: 'ID'} ,{field: 'uuid', align: 'center',title: '缂栧彿'} - ,{field: 'name', align: 'center',title: '浠撳簱鍚嶇О'} + ,{field: 'name', align: 'center',title: '搴撳尯鍚嶇О'} // ,{field: 'parentId', align: 'center',title: '鐖剁骇'} - // ,{field: 'parentName', align: 'center',title: '鐖剁骇鍚嶇О'} + ,{field: 'parentName', align: 'center',title: '鎵�灞炰粨搴�'} // ,{field: 'type$', align: 'center',title: '绫诲瀷'} // ,{field: 'path', align: 'center',title: '鍏宠仈璺緞'} // ,{field: 'namePath', align: 'center',title: '鍏宠仈璺緞鍚�'} @@ -302,9 +316,10 @@ type: 'datetime' }); - }); + + // 鍏抽棴鍔ㄤ綔 $(document).on('click','#data-detail-close', function () { parent.layer.closeAll(); diff --git a/src/main/webapp/static/js/cool.js b/src/main/webapp/static/js/cool.js index f970bcc..03ebe7a 100644 --- a/src/main/webapp/static/js/cool.js +++ b/src/main/webapp/static/js/cool.js @@ -151,3 +151,8 @@ } }); } + +// layui select 榛樿璧嬪�� +function setOption(el, value) { + el.siblings("div.layui-form-select").find('dl').find('dd[lay-value=' + value + ']').click(); +} \ No newline at end of file diff --git a/src/main/webapp/static/js/node/node.js b/src/main/webapp/static/js/node/node.js deleted file mode 100644 index b79f48a..0000000 --- a/src/main/webapp/static/js/node/node.js +++ /dev/null @@ -1,488 +0,0 @@ -var pageCurr; -layui.use(['table','laydate', 'form'], function(){ - var table = layui.table; - var $ = layui.jquery; - var layer = layui.layer; - var layDate = layui.laydate; - var form = layui.form; - - // 鏁版嵁娓叉煋 - tableIns = table.render({ - elem: '#node', - headers: {token: localStorage.getItem('token')}, - url: baseUrl+'/node/list/auth', - page: true, - limit: 16, - limits: [16, 30, 50, 100, 200, 500], - even: true, - toolbar: '#toolbar', - cellMinWidth: 50, - cols: [[ - {type: 'checkbox'} -// ,{field: 'id', title: 'ID', sort: true,align: 'center', fixed: 'left', width: 80} - ,{field: 'id', align: 'center',title: 'ID'} - ,{field: 'uuid', align: 'center',title: '缂栧彿'} - ,{field: 'name', align: 'center',title: '鍚嶇О'} - ,{field: 'parentId', align: 'center',title: '鐖剁骇'} - ,{field: 'parentName', align: 'center',title: '鐖剁骇鍚嶇О'} - ,{field: 'type$', align: 'center',title: '绫诲瀷'} - ,{field: 'path', align: 'center',title: '鍏宠仈璺緞'} - ,{field: 'namePath', align: 'center',title: '鍏宠仈璺緞鍚�'} - ,{field: 'level', align: 'center',title: '绛夌骇'} - ,{field: 'leading', align: 'center',title: '璐熻矗浜�'} - ,{field: 'sort', align: 'center',title: '鎺掑簭'} - ,{field: 'barcode', align: 'center',title: '鏉$爜'} - ,{field: 'major', align: 'center',title: '鎺ㄨ崘浣�'} - ,{field: 'status$', align: 'center',title: '鐘舵��'} - ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿'} - ,{field: 'createBy$', align: 'center',title: '娣诲姞浜哄憳',event: 'createBy', style: 'cursor:pointer'} - ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿'} - ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳',event: 'updateBy', style: 'cursor:pointer'} - ,{field: 'memo', align: 'center',title: '澶囨敞'} - - ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:150} - ]], - request: { - pageName: 'curr', - pageSize: 'limit' - }, - parseData: function (res) { - return { - 'code': res.code, - 'msg': res.msg, - 'count': res.data.total, - 'data': res.data.records - } - }, - response: { - statusCode: 200 - }, - done: function(res, curr, count) { - if (res.code === 403) { - top.location.href = baseUrl+"/"; - } - pageCurr=curr; - limit(); - form.on('checkbox(tableCheckbox)', function (data) { - var _index = $(data.elem).attr('table-index')||0; - if(data.elem.checked){ - res.data[_index][data.value] = 'Y'; - }else{ - res.data[_index][data.value] = 'N'; - } - }); - } - }); - - // 鐩戝惉鎺掑簭浜嬩欢 - table.on('sort(locMast)', function (obj) { - var searchData = {}; - $.each($('#search-box [name]').serializeArray(), function() { - searchData[this.name] = this.value; - }); - searchData['orderByField'] = obj.field; - searchData['orderByType'] = obj.type; - tableIns.reload({ - where: searchData, - page: { - curr: 1 - }, - done: function (res, curr, count) { - if (res.code === 403) { - top.location.href = baseUrl+"/"; - } - pageCurr=curr; - limit(); - } - }); - }); - - // 鐩戝惉澶村伐鍏锋爮浜嬩欢 - table.on('toolbar(node)', function (obj) { - var checkStatus = table.checkStatus(obj.config.id); - switch(obj.event) { - case 'addData': - layer.open({ - type: 2, - title: '鏂板', - maxmin: true, - area: [top.detailWidth, top.detailHeight], - content: 'node_detail.html', - success: function(layero, index){ - layer.getChildFrame('#data-detail-submit-edit', index).hide(); - clearFormVal(layer.getChildFrame('#detail', index)); - layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); - } - }); - break; - case 'deleteData': - var data = checkStatus.data; - if (data.length === 0){ - layer.msg('璇烽�夋嫨鏁版嵁'); - } else { - layer.confirm('纭畾鍒犻櫎'+(data.length===1?'姝�':data.length)+'鏉℃暟鎹悧', function(){ - $.ajax({ - url: baseUrl+"/node/delete/auth", - headers: {'token': localStorage.getItem('token')}, - data: {param: JSON.stringify(data)}, - method: 'POST', - traditional:true, - success: function (res) { - if (res.code === 200){ - layer.closeAll(); - tableReload(false); - } else if (res.code === 403){ - top.location.href = baseUrl+"/"; - } else { - layer.msg(res.msg) - } - } - }) - }); - } - break; - case 'exportData': - 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); - fields.push(col.field); - } - }); - var exportData = {}; - $.each($('#search-box [name]').serializeArray(), function() { - exportData[this.name] = this.value; - }); - var param = { - 'node': exportData, - 'fields': fields - }; - $.ajax({ - url: baseUrl+"/node/export/auth", - headers: {'token': localStorage.getItem('token')}, - data: JSON.stringify(param), - 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'); - } else if (res.code === 403) { - top.location.href = baseUrl+"/"; - } else { - layer.msg(res.msg) - } - } - }); - }); - break; - } - }); - - // 鐩戝惉琛屽伐鍏蜂簨浠� - table.on('tool(node)', function(obj){ - var data = obj.data; - switch (obj.event) { - // 璇︽儏 - case 'detail': - layer.open({ - type: 2, - title: '璇︽儏', - maxmin: true, - area: [top.detailWidth, top.detailHeight], - shadeClose: true, - content: 'node_detail.html', - 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-save,#data-detail-submit-edit,#prompt', index).hide(); - 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'); - layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); - } - }); - break; - // 缂栬緫 - case 'edit': - layer.open({ - type: 2, - title: '淇敼', - maxmin: true, - area: [top.detailWidth, top.detailHeight], - content: 'node_detail.html', - success: function(layero, index){ - layer.getChildFrame('#data-detail-submit-save', index).hide(); - setFormVal(layer.getChildFrame('#detail', index), data, false); - top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false); - top.convertDisabled(layer.getChildFrame('#id', index), true); - 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'); - layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); - } - }); - break; - case 'createBy': - var param = top.reObject(data).createBy; - if (param === undefined) { - layer.msg("鏃犳暟鎹�"); - } else { - layer.open({ - type: 2, - title: '娣诲姞浜哄憳璇︽儏', - maxmin: true, - area: [top.detailWidth, top.detailHeight], - shadeClose: true, - content: '../user/user_detail.html', - success: function(layero, index){ - $.ajax({ - url: "baseUrl+/user/"+ param +"/auth", - headers: {'token': localStorage.getItem('token')}, - method: 'GET', - success: function (res) { - if (res.code === 200){ - setFormVal(layer.getChildFrame('#detail', index), res.data, true); - top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); - layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide(); - 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'); - layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); - } else if (res.code === 403){ - top.location.href = baseUrl+"/"; - }else { - layer.msg(res.msg) - } - } - }) - } - }); - } - break; - case 'updateBy': - var param = top.reObject(data).updateBy; - if (param === undefined) { - layer.msg("鏃犳暟鎹�"); - } else { - layer.open({ - type: 2, - title: '淇敼浜哄憳璇︽儏', - maxmin: true, - area: [top.detailWidth, top.detailHeight], - shadeClose: true, - content: '../user/user_detail.html', - success: function(layero, index){ - $.ajax({ - url: "baseUrl+/user/"+ param +"/auth", - headers: {'token': localStorage.getItem('token')}, - method: 'GET', - success: function (res) { - if (res.code === 200){ - setFormVal(layer.getChildFrame('#detail', index), res.data, true); - top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true); - layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide(); - 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'); - layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); - } else if (res.code === 403){ - top.location.href = baseUrl+"/"; - }else { - layer.msg(res.msg) - } - } - }) - } - }); - } - break; - - } - }); - - // 鏁版嵁淇濆瓨鍔ㄤ綔 - form.on('submit(save)', function () { - if (banMsg != null){ - layer.msg(banMsg); - return; - } - method("add"); - }); - - // 鏁版嵁淇敼鍔ㄤ綔 - form.on('submit(edit)', function () { - method("update") - }); - - function method(name){ - var index = layer.load(1, { - shade: [0.5,'#000'] //0.1閫忔槑搴︾殑鑳屾櫙 - }); - var data = { -// id: $('#id').val(), - id: $('#id').val(), - uuid: $('#uuid').val(), - name: $('#name').val(), - parentId: $('#parentId').val(), - parentName: $('#parentName').val(), - type: $('#type').val(), - path: $('#path').val(), - namePath: $('#namePath').val(), - level: $('#level').val(), - leading: $('#leading').val(), - sort: $('#sort').val(), - barcode: $('#barcode').val(), - major: $('#major').val(), - status: $('#status').val(), - createTime: top.strToDate($('#createTime\\$').val()), - createBy: $('#createBy').val(), - updateTime: top.strToDate($('#updateTime\\$').val()), - updateBy: $('#updateBy').val(), - memo: $('#memo').val(), - - }; - $.ajax({ - url: baseUrl+"/node/"+name+"/auth", - headers: {'token': localStorage.getItem('token')}, - data: top.reObject(data), - method: 'POST', - success: function (res) { - if (res.code === 200){ - parent.layer.closeAll(); - parent.$(".layui-laypage-btn")[0].click(); - $("#data-detail :input").each(function () { - $(this).val(""); - }); - } else if (res.code === 403){ - top.location.href = baseUrl+"/"; - }else { - layer.msg(res.msg) - } - layer.close(index); - } - }) - } - - // 澶嶉�夋浜嬩欢 - form.on('checkbox(detailCheckbox)', function (data) { - var el = data.elem; - if (el.checked) { - $(el).val('Y'); - } else { - $(el).val('N'); - } - }); - - // 鎼滅储鏍忔悳绱簨浠� - form.on('submit(search)', function (data) { - pageCurr = 1; - tableReload(false); - }); - - // 鎼滅储鏍忛噸缃簨浠� - form.on('submit(reset)', function (data) { - pageCurr = 1; - clearFormVal($('#search-box')); - tableReload(false); - }); - - // 鏃堕棿閫夋嫨鍣� - layDate.render({ - elem: '#createTime\\$', - type: 'datetime' - }); - layDate.render({ - elem: '#updateTime\\$', - type: 'datetime' - }); - - -}); - -// 鍏抽棴鍔ㄤ綔 -$(document).on('click','#data-detail-close', function () { - parent.layer.closeAll(); -}); - -function tableReload(child) { - var searchData = {}; - $.each($('#search-box [name]').serializeArray(), function() { - searchData[this.name] = this.value; - }); - (child ? parent.tableIns : tableIns).reload({ - where: searchData, - page: { - curr: pageCurr - }, - done: function (res, curr, count) { - if (res.code === 403) { - top.location.href = baseUrl+"/"; - } - pageCurr=curr; - if (res.data.length === 0 && count !== 0) { - tableIns.reload({ - where: searchData, - page: { - curr: pageCurr-1 - } - }); - pageCurr -= 1; - } - limit(child); - } - }); -} - -function setFormVal(el, data, showImg) { - for (var val in data) { - var find = el.find(":input[id='" + val + "']"); - if (find[0]!=null){ - if (find[0].type === 'checkbox'){ - if (data[val]==='Y'){ - find.attr("checked","checked"); - find.val('Y'); - } else { - find.remove("checked"); - find.val('N'); - } - continue; - } - } - find.val(data[val]); - if (showImg){ - var next = find.next(); - if (next.get(0)){ - if (next.get(0).localName === "img") { - find.hide(); - next.attr("src", data[val]); - next.show(); - } - } - } - } -} - -function clearFormVal(el) { - $(':input', el) - .val('') - .removeAttr('checked') - .removeAttr('selected'); -} - -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.8); - } - layer.style(index, { -// top: (($(window).height()-height)/3)+"px", - height: height+'px' - }); -} - -$('body').keydown(function () { - if (event.keyCode === 13) { - $("#search").click(); - } -}); diff --git a/src/main/webapp/views/allo/allo.html b/src/main/webapp/views/allo/allo.html index 94f2c70..4c8d1d0 100644 --- a/src/main/webapp/views/allo/allo.html +++ b/src/main/webapp/views/allo/allo.html @@ -24,6 +24,12 @@ <input class="layui-input" type="text" name="name" placeholder="浠撳簱鍚嶇О" autocomplete="off"> </div> </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <select id="parentId" name="parent_id" lay-search=""> + </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> @@ -51,10 +57,17 @@ <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script> <script type="text/javascript" src="../../static/js/allo/allo.js" charset="utf-8"></script> <iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> </body> +<script type="text/template" id="parentNodeGroup"> + <option value="">閫夋嫨搴撳尯</option> + {{#each data}} + <option value="{{this.key}}">{{this.val}}</option> + {{/each}} +</script> </html> diff --git a/src/main/webapp/views/allo/allo_detail.html b/src/main/webapp/views/allo/allo_detail.html index 08b3257..b48d5cd 100644 --- a/src/main/webapp/views/allo/allo_detail.html +++ b/src/main/webapp/views/allo/allo_detail.html @@ -33,12 +33,19 @@ <input id="name" class="layui-input" type="text" autocomplete="off"> </div> </div> - <div class="layui-inline" style="width:31%;;display: none"> - <label class="layui-form-label">鐖躲��銆�绾э細</label> + <div class="layui-inline" style="width:85%;"> + <label class="layui-form-label form-required">鎵�灞炲簱鍖猴細</label> <div class="layui-input-inline"> - <input id="parentId" class="layui-input" type="text" lay-verify="number" > + <select id="parentId" lay-verify="required" lay-search=""> + </select> </div> </div> +<!-- <div class="layui-inline" style="width:31%;;display: none">--> +<!-- <label class="layui-form-label">鐖躲��銆�绾э細</label>--> +<!-- <div class="layui-input-inline">--> +<!-- <input id="parentId" class="layui-input" type="text" lay-verify="number" >--> +<!-- </div>--> +<!-- </div>--> <div class="layui-inline" style="width:31%;;display: none"> <label class="layui-form-label">鐖剁骇鍚嶇О锛�</label> <div class="layui-input-inline"> @@ -170,6 +177,13 @@ <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script> <script type="text/javascript" src="../../static/js/allo/allo.js" charset="utf-8"></script> +<script type="text/template" id="parentNodeGroup"> + <option value="">閫夋嫨搴撳尯</option> + {{#each data}} + <option value="{{this.key}}">{{this.val}}</option> + {{/each}} +</script> </html> diff --git a/src/main/webapp/views/area/area.html b/src/main/webapp/views/area/area.html index eff2429..f239ad2 100644 --- a/src/main/webapp/views/area/area.html +++ b/src/main/webapp/views/area/area.html @@ -9,6 +9,11 @@ <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> <link rel="stylesheet" href="../../static/css/cool.css" media="all"> <link rel="stylesheet" href="../../static/css/common.css" media="all"> + <style> + .layui-form-select dl { + max-height: 200px; + } + </style> </head> <body> @@ -21,7 +26,13 @@ </div> <div class="layui-inline"> <div class="layui-input-inline"> - <input class="layui-input" type="text" name="name" placeholder="浠撳簱鍚嶇О" autocomplete="off"> + <input class="layui-input" type="text" name="name" placeholder="搴撳尯鍚嶇О" autocomplete="off"> + </div> + </div> + <div class="layui-inline"> + <div class="layui-input-inline"> + <select id="parentId" name="parent_id" lay-search=""> + </select> </div> </div> <!-- 寰呮坊鍔� --> @@ -51,10 +62,17 @@ <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script> <script type="text/javascript" src="../../static/js/area/area.js" charset="utf-8"></script> <iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> </body> +<script type="text/template" id="parentNodeGroup"> + <option value="">閫夋嫨浠撳簱</option> + {{#each data}} + <option value="{{this.key}}">{{this.val}}</option> + {{/each}} +</script> </html> diff --git a/src/main/webapp/views/area/area_detail.html b/src/main/webapp/views/area/area_detail.html index 08605ab..1eb3daf 100644 --- a/src/main/webapp/views/area/area_detail.html +++ b/src/main/webapp/views/area/area_detail.html @@ -9,6 +9,11 @@ <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> <link rel="stylesheet" href="../../static/css/cool.css" media="all"> <link rel="stylesheet" href="../../static/css/common.css" media="all"> + <style> + .layui-form-select dl { + max-height: 200px; + } + </style> </head> <body> @@ -24,21 +29,28 @@ <div class="layui-inline" style="width:85%;"> <label class="layui-form-label form-required">缂栧彿锛�</label> <div class="layui-input-inline"> - <input id="uuid" class="layui-input" type="text" autocomplete="off"> + <input id="uuid" class="layui-input" type="text" autocomplete="off" lay-verify="required"> </div> </div> <div class="layui-inline" style="width:85%;"> <label class="layui-form-label form-required">鍚嶇О锛�</label> <div class="layui-input-inline"> - <input id="name" class="layui-input" type="text" autocomplete="off"> + <input id="name" class="layui-input" type="text" autocomplete="off" lay-verify="required"> </div> </div> - <div class="layui-inline" style="width:31%;;display: none"> - <label class="layui-form-label">鐖躲��銆�绾э細</label> + <div class="layui-inline" style="width:85%;"> + <label class="layui-form-label form-required">鎵�灞炰粨搴擄細</label> <div class="layui-input-inline"> - <input id="parentId" class="layui-input" type="text" lay-verify="number" > + <select id="parentId" lay-verify="required" lay-search=""> + </select> </div> </div> +<!-- <div class="layui-inline" style="width:31%;;display: none">--> +<!-- <label class="layui-form-label">鐖躲��銆�绾э細</label>--> +<!-- <div class="layui-input-inline">--> +<!-- <input id="parentId" class="layui-input" type="text" lay-verify="number" >--> +<!-- </div>--> +<!-- </div>--> <div class="layui-inline" style="width:31%;;display: none"> <label class="layui-form-label">鐖剁骇鍚嶇О锛�</label> <div class="layui-input-inline"> @@ -170,6 +182,13 @@ <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script> <script type="text/javascript" src="../../static/js/area/area.js" charset="utf-8"></script> +<script type="text/template" id="parentNodeGroup"> + <option value="">閫夋嫨浠撳簱</option> + {{#each data}} + <option value="{{this.key}}">{{this.val}}</option> + {{/each}} +</script> </html> diff --git a/src/main/webapp/views/node/node.html b/src/main/webapp/views/node/node.html deleted file mode 100644 index 9ae3218..0000000 --- a/src/main/webapp/views/node/node.html +++ /dev/null @@ -1,79 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - <meta charset="utf-8"> - <title></title> - <meta name="renderer" content="webkit"> - <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> - <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> - <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> - <link rel="stylesheet" href="../../static/css/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> - </div> - <div class="layui-inline"> - <div class="layui-input-inline cool-auto-complete"> - <input id="createBy" class="layui-input" name="create_by" type="text" placeholder="璇疯緭鍏�" autocomplete="off" style="display: none"> - <input id="createBy$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="娣诲姞浜哄憳" onfocus=this.blur()> - <div class="cool-auto-complete-window"> - <input class="cool-auto-complete-window-input" data-key="userQueryBycreateBy" onkeyup="autoLoad(this.getAttribute('data-key'))"> - <select class="cool-auto-complete-window-select" data-key="userQueryBycreateBySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> - </select> - </div> - </div> - </div> - <div class="layui-inline"> - <div class="layui-input-inline cool-auto-complete"> - <input id="updateBy" class="layui-input" name="update_by" type="text" placeholder="璇疯緭鍏�" autocomplete="off" style="display: none"> - <input id="updateBy$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="淇敼浜哄憳" onfocus=this.blur()> - <div class="cool-auto-complete-window"> - <input class="cool-auto-complete-window-input" data-key="userQueryByupdateBy" onkeyup="autoLoad(this.getAttribute('data-key'))"> - <select class="cool-auto-complete-window-select" data-key="userQueryByupdateBySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> - </select> - </div> - </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 class="layui-form"> - <table class="layui-hide" id="node" lay-filter="node"></table> -</div> -<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> - <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">瀵煎嚭</button> - </div> -</script> - -<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/node/node.js" charset="utf-8"></script> - -<iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> - -</body> -</html> - diff --git a/src/main/webapp/views/node/node_detail.html b/src/main/webapp/views/node/node_detail.html deleted file mode 100644 index 65eb364..0000000 --- a/src/main/webapp/views/node/node_detail.html +++ /dev/null @@ -1,183 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - <meta charset="utf-8"> - <title></title> - <meta name="renderer" content="webkit"> - <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> - <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> - <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> - <link rel="stylesheet" href="../../static/css/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> - </div> - --> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label"><span class="not-null">*</span>I銆�銆�D锛�</label> - <div class="layui-input-inline"> - <input id="id" class="layui-input" type="text" onkeyup="check(this.id, 'node')" lay-verify="number" > - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">缂栥��銆�鍙凤細</label> - <div class="layui-input-inline"> - <input id="uuid" class="layui-input" type="text"> - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">鍚嶃��銆�绉帮細</label> - <div class="layui-input-inline"> - <input id="name" class="layui-input" type="text"> - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">鐖躲��銆�绾э細</label> - <div class="layui-input-inline"> - <input id="parentId" class="layui-input" type="text" lay-verify="number" > - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">鐖剁骇鍚嶇О锛�</label> - <div class="layui-input-inline"> - <input id="parentName" class="layui-input" type="text"> - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">绫汇��銆�鍨嬶細</label> - <div class="layui-input-inline"> - <select id="type"> - <option value="" style="display: none"></option> - <option value="1">浠撳簱</option> - <option value="2">搴撳尯</option> - <option value="3">璐т綅</option> - </select> - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">鍏宠仈璺緞锛�</label> - <div class="layui-input-inline"> - <input id="path" class="layui-input" type="text"> - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">鍏宠仈璺緞鍚嶏細</label> - <div class="layui-input-inline"> - <input id="namePath" class="layui-input" type="text"> - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">绛夈��銆�绾э細</label> - <div class="layui-input-inline"> - <input id="level" class="layui-input" type="text" lay-verify="number" > - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">璐� 璐� 浜猴細</label> - <div class="layui-input-inline"> - <input id="leading" class="layui-input" type="text"> - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">鎺掋��銆�搴忥細</label> - <div class="layui-input-inline"> - <input id="sort" class="layui-input" type="text" lay-verify="number" > - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">鏉°��銆�鐮侊細</label> - <div class="layui-input-inline"> - <input id="barcode" class="layui-input" type="text"> - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">鎺� 鑽� 浣嶏細</label> - <div class="layui-input-inline"> - <input id="major" class="layui-input" type="text" lay-verify="number" > - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">鐘躲��銆�鎬侊細</label> - <div class="layui-input-inline"> - <select id="status"> - <option value="" style="display: none"></option> - <option value="1">姝e父</option> - <option value="0">绂佺敤</option> - </select> - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">娣诲姞鏃堕棿锛�</label> - <div class="layui-input-inline"> - <input id="createTime$" class="layui-input" type="text" autocomplete="off"> - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">娣诲姞浜哄憳锛�</label> - <div class="layui-input-inline cool-auto-complete"> - <input id="createBy" class="layui-input" type="text" lay-verify="number" style="display: none"> - <input id="createBy$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏�..." onfocus=this.blur()> - <div class="cool-auto-complete-window"> - <input class="cool-auto-complete-window-input" data-key="userQueryBycreateBy" onkeyup="autoLoad(this.getAttribute('data-key'))"> - <select class="cool-auto-complete-window-select" data-key="userQueryBycreateBySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> - </select> - </div> - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">淇敼鏃堕棿锛�</label> - <div class="layui-input-inline"> - <input id="updateTime$" class="layui-input" type="text" autocomplete="off"> - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">淇敼浜哄憳锛�</label> - <div class="layui-input-inline cool-auto-complete"> - <input id="updateBy" class="layui-input" type="text" lay-verify="number" style="display: none"> - <input id="updateBy$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏�..." onfocus=this.blur()> - <div class="cool-auto-complete-window"> - <input class="cool-auto-complete-window-input" data-key="userQueryByupdateBy" onkeyup="autoLoad(this.getAttribute('data-key'))"> - <select class="cool-auto-complete-window-select" data-key="userQueryByupdateBySelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> - </select> - </div> - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">澶囥��銆�娉細</label> - <div class="layui-input-inline"> - <input id="memo" class="layui-input" type="text"> - </div> - </div> - - - <hr class="layui-bg-gray"> - - <div id="data-detail-btn" class="layui-btn-container layui-form-item"> - <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">淇濆瓨</div> - <div id="data-detail-submit-edit" 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> -</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/node/node.js" charset="utf-8"></script> -</html> - -- Gitblit v1.9.1