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