1.处理remote service问题

2.增加layui-input-tree.js
3.调整公共js目录
This commit is contained in:
wanggeng 2022-08-12 00:05:26 +08:00
parent 3d8ee2f3e1
commit 6e4b025bb6
3 changed files with 270 additions and 2 deletions

View File

@ -200,7 +200,9 @@ public class RestRemoteRequest {
} else {
httpEntity = new HttpEntity(JSONObject.toJSONString(jsonBody), httpHeaders);
}
} else if (!fileMap.isEmpty() || !fileInputStreamMap.isEmpty() || !formVariableParams.isEmpty()) {
} else if ((fileMap != null && !fileMap.isEmpty()) ||
(fileInputStreamMap != null && !fileInputStreamMap.isEmpty()) ||
(formVariableParams != null && !formVariableParams.isEmpty())) {
HttpHeaders httpHeaders = getHttpHeaders(headerMap);
MultiValueMap<String, Object> multiValueMap = new LinkedMultiValueMap<>();
if (!fileMap.isEmpty()) {

View File

@ -2,7 +2,7 @@
* 通用工具类
* @constructor
*/
function CommonUtil() {
function HtmlUtil() {
/**
* 获取html文本

View File

@ -0,0 +1,266 @@
function LayuiInputTree(layui) {
var $ = layui.$;
var layer = layui.layer;
var ztree = layui.ztree;
var restAjax = layui.restajax;
// 样式
var style = `
<link rel="stylesheet" href="assets/js/vendor/zTree3/css/metroStyle/metroStyle.css"/>
<style id="layuiInputTreeStyle">
.layui-input-tree-box {border: 1px solid #e6e6e6; background-color: #FFF; position: absolute; z-index: 1100; display: none;}
.layui-input-tree-box .ztree-box {width: 140px; height: 160px;overflow: auto;}
.layui-input-tree-box .ztree-buttons {padding: 0 10px 10px 10px; }
</style>
`
// 添加样式
$(document.head).append(style);
/**
* 初始化单选
* @param opt
*/
this.initSelect = function (opt) {
var zTreeUrl = opt.zTreeUrl;
if (!zTreeUrl) {
return;
}
var onConfirm = opt.onConfirm;
var onClear = opt.onClear;
var id = opt.id;
var inputDomId = '#' + id;
var zTree;
var boxDomId = inputDomId + 'Box';
var zTreeBoxId = inputDomId + 'ZTreeBox';
var confirmBtnId = inputDomId + 'ConfirmBtn';
var clearBtnId = inputDomId + 'ClearBtn';
var inputDom = $(inputDomId);
var inputParentDom = inputDom.parent();
var selectedNode = null;
inputParentDom.css('position', 'relative');
inputDom.attr('readonly', '');
inputDom.css('cursor', 'pointer');
inputDom.after(`
<div id="${id}Box" class="layui-input-tree-box">
<div id="${id}ZTreeBox" class="ztree-box ztree"></div>
<div class="ztree-buttons">
<div class="layui-btn-group">
<button id="${id}ConfirmBtn" type="button" class="layui-col-xs6 layui-btn layui-btn-xs" title="确定"><i class="fa fa-check" aria-hidden="true"></i></button>
<button id="${id}ClearBtn" type="button" class="layui-col-xs6 layui-btn layui-btn-xs layui-btn-danger" title="清空"><i class="fa fa-trash" aria-hidden="true"></i></button>
</div>
</div>
</div>
`);
// 初始化事件
function initEvent() {
$(document).on('click', inputDomId, function () {
var boxDom = $(boxDomId);
if (boxDom.is(':hidden')) {
boxDom.show();
} else {
boxDom.hide();
}
})
// 确认事件
$(document).on('click', confirmBtnId, function () {
if (onConfirm) {
onConfirm(zTree, selectedNode)
$(inputDomId).click();
}
})
// 清空事件
$(document).on('click', clearBtnId, function () {
selectedNode = null;
$(inputDomId).val('');
zTree.cancelSelectedNode();
if (onClear) {
onClear(zTree);
$(inputDomId).click();
}
})
}
// 初始化zTree
function initZTree() {
var setting = {
async: {
enable: true,
autoLoad: true,
type: 'get',
url: zTreeUrl,
autoParam: ['id'],
otherParam: {},
dataFilter: function (treeId, parentNode, childNodes) {
if (!childNodes) return null;
for (var i = 0, l = childNodes.length; i < l; i++) {
childNodes[i].name = childNodes[i].name.replace(/\.n/g, '.');
}
return childNodes;
}
},
callback: {
onClick: function (event, treeId, treeNode) {
selectedNode = new SelectedNode();
selectedNode.id = treeNode.id;
selectedNode.name = treeNode.name;
selectedNode.pId = treeNode.pId;
$(inputDomId).val(treeNode.name);
return false;
}
}
}
zTree = $.fn.zTree.init($(zTreeBoxId), setting);
}
initZTree();
initEvent();
}
/**
* 初始化多选
* @param opt
*/
this.initMultiSelect = function (opt) {
var zTreeUrl = opt.zTreeUrl;
if (!zTreeUrl) {
return;
}
var onConfirm = opt.onConfirm;
var onClear = opt.onClear;
var selectedDatas = opt.selectedDatas;
var checkboxType = opt.checkboxType;
var id = opt.id;
var inputDomId = '#' + id;
var zTree;
var boxDomId = inputDomId + 'Box';
var zTreeBoxId = inputDomId + 'ZTreeBox';
var confirmBtnId = inputDomId + 'ConfirmBtn';
var clearBtnId = inputDomId + 'ClearBtn';
var inputDom = $(inputDomId);
var inputParentDom = inputDom.parent();
var selectedNodesObj = {};
if (selectedDatas && selectedDatas.length > 0) {
$.each(selectedDatas, function (index, item) {
selectedNodesObj[item.id] = item;
})
}
inputParentDom.css('position', 'relative');
inputDom.attr('readonly', '');
inputDom.css('cursor', 'pointer');
inputDom.after(`
<div id="${id}Box" class="layui-input-tree-box">
<div id="${id}ZTreeBox" class="ztree-box ztree"></div>
<div class="ztree-buttons">
<div class="layui-btn-group">
<button id="${id}ConfirmBtn" type="button" class="layui-col-xs6 layui-btn layui-btn-xs" title="确定"><i class="fa fa-check" aria-hidden="true"></i></button>
<button id="${id}ClearBtn" type="button" class="layui-col-xs6 layui-btn layui-btn-xs layui-btn-danger" title="清空"><i class="fa fa-trash" aria-hidden="true"></i></button>
</div>
</div>
</div>
`);
// 初始化事件
function initEvent() {
$(document).on('click', inputDomId, function () {
var boxDom = $(boxDomId);
if (boxDom.is(':hidden')) {
boxDom.show();
} else {
boxDom.hide();
}
})
// 确认事件
$(document).on('click', confirmBtnId, function () {
if (onConfirm) {
var selectedNodes = [];
for(var key in selectedNodesObj) {
selectedNodes.push(selectedNodesObj[key]);
}
onConfirm(zTree, selectedNodes)
$(inputDomId).click();
}
})
// 清空事件
$(document).on('click', clearBtnId, function () {
selectedNodesObj = {};
$(inputDomId).val('');
zTree.checkAllNodes(false);
if (onClear) {
onClear(zTree);
$(inputDomId).click();
}
})
}
// 初始化zTree
function initZTree() {
var setting = {
async: {
enable: true,
autoLoad: true,
type: 'get',
url: zTreeUrl,
autoParam: ['id'],
otherParam: {},
dataFilter: function (treeId, parentNode, childNodes) {
if (!childNodes) return null;
for (var i = 0, l = childNodes.length; i < l; i++) {
childNodes[i].name = childNodes[i].name.replace(/\.n/g, '.');
}
return childNodes;
}
},
check: {
enable: true,
chkboxType: checkboxType ? checkboxType : {'Y': 'ps', 'N': 'ps'},
chkStyle: 'checkbox'
},
callback: {
onAsyncSuccess: function (event, treeId, treeNode) {
// 加载完默认勾选
for (var key in selectedNodesObj) {
var node = zTree.getNodeByParam('id', key);
if (!node) {
return;
}
zTree.checkNode(node, true, true);
}
},
onCheck: function (event, treeId, treeNode) {
if (treeNode.checked) {
var selectedNode = new SelectedNode();
selectedNode.id = treeNode.id;
selectedNode.name = treeNode.name;
selectedNode.pId = treeNode.pId;
selectedNodesObj[treeNode.id] = selectedNode;
} else {
delete selectedNodesObj[treeNode.id];
}
var names = '';
for (var key in selectedNodesObj) {
if (names != '') {
names += ',';
}
names += selectedNodesObj[key].name;
}
$(inputDomId).val(names);
return false;
}
}
}
zTree = $.fn.zTree.init($(zTreeBoxId), setting);
}
initZTree();
initEvent();
}
function SelectedNode() {
this.id = null;
this.name = null;
this.pId = null;
}
}