【config】修改系统参数配置列表

pull/65/head
chenjinlong 2021-01-25 15:46:37 +08:00
parent 84b76be583
commit fafc516262
9 changed files with 399 additions and 113 deletions

View File

@ -22,7 +22,8 @@ public class ConfigViewController {
*/
@GetResource(name = "系统配置-列表-视图", path = "/view/config")
public String indexView() {
return "/modular/system/config/sysConfig.html";
return "/modular/system/config/config.html";
//return "/modular/system/config/sysConfig.html";
}
/**
@ -36,6 +37,17 @@ public class ConfigViewController {
return "/modular/system/config/sysConfig_add.html";
}
/**
* -
*
* @author jiawei
* @date 2021/1/4 13:34
*/
@GetResource(name = "系统配置—新增-视图", path = "/view/config/addConfigDictView")
public String addConfigDictView() {
return "/modular/system/config/config_add.html";
}
/**
* --
*

View File

@ -0,0 +1,186 @@
layui.use(['layer', 'form', 'table', 'util', 'admin', 'func', 'HttpRequest'], function () {
var $ = layui.jquery;
var layer = layui.layer;
var form = layui.form;
var table = layui.table;
var admin = layui.admin;
var HttpRequest = layui.HttpRequest;
var func = layui.func;
var dictTypeObj; // 左表选中数据
var Dict = {
tableId: "dictTable",
};
var DictType = {
tableId: "dictTypeTable"
};
/* 字典类型-点击新增对话框 */
DictType.openAddDlg = function (data) {
console.log(data);
func.open({
height: 680,
title: '添加系统配置',
content: Feng.ctxPath + '/view/config/addView?groupCode=' + data.dictCode,
tableId: Dict.tableId
});
};
/* 字典类型-点击编辑对话框 */
DictType.openEditDlg = function (data) {
func.open({
height: 680,
title: '修改系统配置',
content: Feng.ctxPath + '/view/config/editView?configId=' + data.configId,
tableId: Dict.tableId
});
};
/* 字典类型-点击删除 */
DictType.onDeleteItem = function (data) {
var operation = function () {
var httpRequest = new HttpRequest(Feng.ctxPath + "/sysConfig/delete", 'post', function (data) {
Feng.success("删除成功!");
table.reload(Dict.tableId);
}, function (data) {
Feng.error(data.message + "!");
});
httpRequest.set(data);
httpRequest.start(true);
};
Feng.confirm("是否删除?", operation);
};
/* 字典类型-点击搜索 */
form.on('submit(dictTypeTbSearch)', function (data) {
dictTypeTable.reload({where: data.field});
return false;
});
/* 字典类型-点击表格头工具栏 */
table.on('toolbar(dictTypeTable)', function (obj) {
var data = dictTypeObj.data;
if (obj.event === 'add') { // 添加
Dict.openAddDlg();
} else if (obj.event === 'edit') { // 修改
DictType.openEditDlg(data);
} else if (obj.event === 'del') { // 删除
Dict.onDeleteItem(data);
}
});
/* 字典类型-渲染表格 */
var dictTypeTable = table.render({
elem: '#dictTypeTable',
url: Feng.ctxPath + '/dict/getConfigGroupPage',
height: 'full-100',
toolbar: '#dictTypeHtbBar',
defaultToolbar: [], //默认表格头部右侧工具栏
cols: [[
{type: 'numbers'},
{field: 'dictName', title: '类型'},
{field: 'dictCode', title: '编码'}
]],
done: function (res, curr, count) {
//加载后自动选中第一行并出发click事件
$('#dictTypeTable+.layui-table-view .layui-table-body tbody>tr:first').trigger('click');
},
parseData: Feng.parseData //解析成 table 组件所规定的数据格式
});
/* 字典类型-监听行单击事件 */
table.on('row(dictTypeTable)', function (obj) {
dictTypeObj = obj;
obj.tr.addClass('layui-table-click').siblings().removeClass('layui-table-click');
dictTable.reload({
where: {groupCode: obj.data.dictCode},
page: {curr: 1},
url: Feng.ctxPath + '/sysConfig/page'
});
});
/* 字典-点击新增对话框 */
Dict.openAddDlg = function (data) {
func.open({
height: 680,
title: '添加字典',
content: Feng.ctxPath + '/view/config/addConfigDictView',
tableId: DictType.tableId
});
};
/* 字典-点击编辑对话框 */
Dict.openEditDlg = function (data) {
func.open({
height: 680,
title: '修改字典',
content: Feng.ctxPath + '/view/dict/editView?dictId=' + data.dictId,
tableId: Dict.tableId
});
};
/* 字典-点击删除 */
Dict.onDeleteItem = function (data) {
var operation = function () {
var httpRequest = new HttpRequest(Feng.ctxPath + "/dict/deleteDict", 'post', function (data) {
Feng.success("删除成功!");
table.reload(DictType.tableId);
}, function (data) {
Feng.error("删除失败!" + data.message + "!");
});
httpRequest.set(data);
httpRequest.start(true);
};
Feng.confirm("是否删除?", operation);
};
/* 字典-点击搜索 */
form.on('submit(dictTbSearch)', function (data) {
//赋值左表dictTypeCode
data.field.dictTypeCode = dictTypeObj.data.dictTypeCode;
dictTable.reload({where: data.field});
return false;
});
/* 字典-点击操作工具栏 */
table.on('tool(dictTable)', function (obj) {
var data = obj.data;
if (obj.event === 'edit') { // 修改
DictType.openEditDlg(data);
} else if (obj.event === 'del') { // 删除
DictType.onDeleteItem(data);
}
});
// 添加按钮点击事件
$('#btnAdd').click(function () {
console.log(dictTypeObj.data);
DictType.openAddDlg(dictTypeObj.data);
return false;
});
/* 字典-渲染表格 */
var dictTable = table.render({
elem: '#dictTable',
data: [],
height: 'full-100',
page: true,
//toolbar: '#dictHtbBar',
cellMinWidth: 100,
cols: [[
{type: 'checkbox'},
{type: 'numbers'},
{field: 'configId', hide: true, title: '主键'},
{field: 'configName', sort: true, align: "center", title: '名称'},
{field: 'configCode', sort: true, align: "center", title: '属性编码'},
{field: 'configValue', sort: true, align: "center", title: '属性值'},
{field: 'remark', sort: true, align: "center", title: '备注'},
{align: 'center', toolbar: '#dictTbBar', title: '操作'}
]],
parseData: Feng.parseData,
request: Feng.pageRequest
});
});

View File

@ -0,0 +1,25 @@
layui.use(['form', 'admin', 'HttpRequest'], function () {
var $ = layui.jquery;
var form = layui.form;
var admin = layui.admin;
var HttpRequest = layui.HttpRequest;
//获取信息详情填充表单
var request = new HttpRequest(Feng.ctxPath + '/dictType/getConfigDictTypeDetail', 'get');
var result = request.start();
form.val('dictForm', result.data);
//表单提交事件
form.on('submit(btnSubmit)', function (data) {
var request = new HttpRequest(Feng.ctxPath + "/dict/addDict", 'post', function (data) {
admin.closeThisDialog();
Feng.success("添加成功!");
admin.putTempData('formOk', true);
}, function (data) {
admin.closeThisDialog();
Feng.error("添加失败!" + data.message);
});
request.set(data.field);
request.start(true);
});
});

View File

@ -1,39 +1,14 @@
/**
* 修改
*/
var SysConfigInfoDlg = {
data: {}
};
layui.use(['form', 'admin', 'HttpRequest'], function () {
var $ = layui.jquery;
var form = layui.form;
var admin = layui.admin;
var HttpRequest = layui.HttpRequest;
// 初始化所属分类字典下拉
var activeDictSelect = function () {
$("#groupCode").html('<option value="">请选择所属分类</option>');
//要删掉
$("#groupCode").append('<option value="sys_config">' + '默认常量' + '</option>');
form.render();
};
$("#groupCode").val(Feng.getUrlParam("groupCode"));
//表单提交事件
form.on('submit(btnSubmit)', function (data) {
SysConfigInfoDlg.data = $.extend({"sysFlag": data.field.sysFlag ? data.field.sysFlag : 'N'}, data.field)
var groupCode = $("#groupCode").find("option:selected").val()
if (!groupCode) {
Feng.error("所属分类不能为空")
return false;
}
SysConfigInfoDlg.data = $.extend({"groupCode": groupCode}, data.field)
var httpRequest = new HttpRequest(Feng.ctxPath + "/sysConfig/add", 'post', function (data) {
admin.closeThisDialog();
Feng.success("添加成功!");
@ -42,11 +17,7 @@ layui.use(['form', 'admin', 'HttpRequest'], function () {
admin.closeThisDialog();
Feng.error("添加失败!" + data.message)
});
httpRequest.set(SysConfigInfoDlg.data);
httpRequest.set(data.field);
httpRequest.start(true);
});
// 常量所属分类动态赋值
activeDictSelect();
});

View File

@ -1,15 +1,7 @@
/**
* 详情对话框
*/
var SysConfigInfoDlg = {
data: {}
};
layui.use(['form', 'admin', 'selectPlus', 'HttpRequest'], function () {
layui.use(['form', 'admin', 'HttpRequest'], function () {
var $ = layui.jquery;
var form = layui.form;
var admin = layui.admin;
var selectPlus = layui.selectPlus;
var HttpRequest = layui.HttpRequest;
// 获取详情信息,填充表单
@ -18,45 +10,9 @@ layui.use(['form', 'admin', 'selectPlus', 'HttpRequest'], function () {
form.val('sysConfigForm', result.data);
// 系统参数样式
if (result.data) {
var mData = result.data;
if (mData.sysFlag == 'Y') {
$('input[name="sysFlag"]').attr('checked', 'checked'); //改变开关为 开
} else {
$('input[name="sysFlag"]').removeAttr('checked'); //改变开关为 关
}
/*改变是否系统参数样式*/
$("input[name='sysFlag']").attr("disabled", "true");
form.render(); //系统参数禁用
$("input[name='sysFlag']").next().removeClass("layui-form-onswitch"); // 系统参数去掉样式
}
// 初始化所属分类字典下拉
var activeDictSelect = function () {
$("#groupCode").html('<option value="">请选择所属分类</option>');
//要删掉
$("#groupCode").append('<option value="sys_config">' + '默认常量' + '</option>');
$("#groupCode").val(result.data.groupCode);
form.render();
};
//表单提交事件
form.on('submit(btnSubmit)', function (data) {
SysConfigInfoDlg.data = $.extend({"sysFlag": data.field.sysFlag ? data.field.sysFlag : 'N'}, data.field)
var groupCode = $("#groupCode").find("option:selected").val()
if (!groupCode) {
Feng.error("所属分类不能为空")
return false;
}
SysConfigInfoDlg.data = $.extend({"groupCode": groupCode}, data.field)
var httpRequest = new HttpRequest(Feng.ctxPath + "/sysConfig/edit", 'post', function (data) {
admin.closeThisDialog();
Feng.success("修改成功!");
@ -65,11 +21,8 @@ layui.use(['form', 'admin', 'selectPlus', 'HttpRequest'], function () {
admin.closeThisDialog();
Feng.error("修改失败!" + data.message)
});
httpRequest.set(SysConfigInfoDlg.data);
httpRequest.set(data.field);
httpRequest.start(true);
});
// 常量所属分类动态赋值
activeDictSelect();
});

View File

@ -0,0 +1,109 @@
@layout("/layout/_container.html",{js:["/assets/modular/system/config/config.js"]}){
<style>
#dictTypeTable + .layui-table-view .layui-table-tool-temp {
padding-right: 0;
}
#dictTypeTable + .layui-table-view .layui-table-body tbody > tr td {
cursor: pointer;
}
#dictTypeTable + .layui-table-view .layui-table-body tbody > tr.layui-table-click {
background-color: #fff3e0;
}
#dictTypeTable + .layui-table-view .layui-table-body tbody > tr.layui-table-click td:last-child > div:before {
position: absolute;
right: 6px;
content: "\e602";
font-size: 12px;
font-style: normal;
font-family: layui-icon !important;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
</style>
<div class="layui-fluid" style="padding-bottom: 0;">
<div class="layui-row layui-col-space15">
<div class="layui-col-md3">
<div class="layui-card">
<div class="layui-card-body" style="padding: 10px;">
<!-- 表格工具栏1 -->
<form class="layui-form toolbar">
<div class="layui-form-item">
<div class="layui-inline" style="max-width: 140px;">
<input name="dictName" class="layui-input" type="text" placeholder="类型" autocomplete="off"/>
</div>
<!--
<div class="layui-inline" style="max-width: 140px;">
<input name="dictTypeCode" class="layui-input" type="text" placeholder="编码" autocomplete="off"/>
</div>-->
<div class="layui-inline">
<button class="layui-btn icon-btn" lay-filter="dictTypeTbSearch" lay-submit>
<i class="layui-icon">&#xe615;</i>搜索
</button>
</div>
</div>
</form>
<!-- 数据表格1 -->
<table id="dictTypeTable" lay-filter="dictTypeTable"></table>
</div>
</div>
</div>
<div class="layui-col-md9">
<div class="layui-card">
<div class="layui-card-body" style="padding: 10px;">
<!-- 表格工具栏2 -->
<form class="layui-form toolbar">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">名称:</label>
<div class="layui-input-inline">
<input name="configName" class="layui-input" placeholder="输入字典名称"/>
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">编码:</label>
<div class="layui-input-inline">
<input name="configCode" class="layui-input" placeholder="输入字典键值"/>
</div>
</div>
<div class="layui-inline">&emsp;
<button class="layui-btn icon-btn" lay-filter="dictTbSearch" lay-submit><i class="layui-icon">&#xe615;</i>搜索</button>
<button id="btnAdd" class="layui-btn icon-btn"><i class="layui-icon">&#xe654;</i>添加</button>
</div>
</div>
</form>
<!-- 数据表格2 -->
<table id="dictTable" lay-filter="dictTable"></table>
</div>
</div>
</div>
</div>
</div>
<!-- 表格头部操作列 -->
<script type="text/html" id="dictTypeHtbBar">
<button lay-event="add" class="layui-btn layui-btn-sm icon-btn"><i class="layui-icon">&#xe654;</i>添加</button>
<!--<button lay-event="edit" class="layui-btn layui-btn-sm layui-btn-warm icon-btn"><i class="layui-icon">&#xe642;</i>修改</button>-->
<button lay-event="del" class="layui-btn layui-btn-sm layui-btn-danger icon-btn"><i class="layui-icon">&#xe640;</i>删除</button>
</script>
<!-- 表格头部操作列结束 -->
<!-- 表格头部操作列 -->
<script type="text/html" id="dictHtbBar">
<button lay-event="add" class="layui-btn layui-btn-sm icon-btn"><i class="layui-icon">&#xe654;</i>添加</button>
<button lay-event="del" class="layui-btn layui-btn-sm layui-btn-danger icon-btn"><i class="layui-icon">&#xe640;</i>删除</button>
</script>
<!-- 表格头部操作列结束 -->
<!-- 表格操作列 -->
<script type="text/html" id="dictTbBar">
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">修改</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<!-- 表格操作列结束 -->
@}

View File

@ -0,0 +1,57 @@
@layout("/layout/_form.html",{js:["/assets/modular/system/config/config_add.js"]}){
<form class="layui-form" id="dictForm" lay-filter="dictForm">
<div class="layui-fluid" style="padding-bottom: 75px;">
<div class="layui-card">
<div class="layui-card-body">
<div class="layui-form-item layui-row">
<input id="dictTypeId" name="dictTypeId" type="hidden"/>
<input id="dictTypeCode" name="dictTypeCode" type="hidden"/>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label layui-form-required">字典类型</label>
<div class="layui-input-block">
<input id="dictTypeName" name="dictTypeName" placeholder="" type="text" class="layui-input" lay-verify="required" readonly/>
</div>
</div>
<div class="layui-inline layui-col-md6">
<label class="layui-form-label layui-form-required">字典名称</label>
<div class="layui-input-block">
<input id="dictName" name="dictName" placeholder="请输入字典名称" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-inline layui-col-md6">
<label class="layui-form-label">字典简称</label>
<div class="layui-input-block">
<input id="dictShortName" name="dictShortName" placeholder="请输入简称" type="text" class="layui-input"/>
</div>
</div>
<div class="layui-inline layui-col-md6">
<label class="layui-form-label layui-form-required">字典编码</label>
<div class="layui-input-block">
<input id="dictCode" name="dictCode" placeholder="请输入字典编码" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-inline layui-col-md6">
<label class="layui-form-label">编码简写</label>
<div class="layui-input-block">
<input id="dictShortCode" name="dictShortCode" placeholder="请输入编码简写" type="text" class="layui-input"/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">排序</label>
<div class="layui-input-block">
<input id="dictSort" name="dictSort" placeholder="请输入字典排序" type="text" class="layui-input" lay-verify="required" required>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="form-group-bottom text-center">
<button class="layui-btn" lay-filter="btnSubmit" lay-submit>&emsp;提交&emsp;</button>
<button type="reset" class="layui-btn layui-btn-primary" ew-event="closeDialog">&emsp;取消&emsp;</button>
</div>
</form>
@}

View File

@ -2,42 +2,27 @@
<form class="layui-form" id="sysConfigForm" lay-filter="sysConfigForm" >
<div class="layui-fluid " style="">
<div class="layui-card">
<div class="layui-card-header">基本信息</div>
<div class="layui-card-body">
<input name="configId" type="hidden"/>
<input name="groupCode" id="groupCode" type="hidden"/>
<div class="layui-form-item">
<label class="layui-form-label layui-form-required">参数名称</label>
<div class="layui-input-block">
<input id="configName" name="configName" placeholder="请输入参数名称" type="text" class="layui-input" autocomplete="off" lay-verify="required" required/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label layui-form-required">唯一编码</label>
<div class="layui-input-block">
<input id="configCode" name="configCode" placeholder="请输入唯一编码" type="text" class="layui-input" autocomplete="off" lay-verify="required" required/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label layui-form-required">系统参数</label>
<div class="layui-input-block">
<input type="checkbox" name="sysFlag" lay-skin="switch" lay-text="是|否" value="Y" checked>
</div>
</div>
<div id="dictCodeDiv">
</div>
<div class="layui-form-item">
<label class="layui-form-label layui-form-required">所属分类</label>
<div class="layui-input-block">
<select name="groupCode" id="groupCode" lay-filter="dictTypeId">
</select>
</div>
</div>
<!-- 手动输入 -->
<div class="layui-form-item" id="customCodeDiv">
<label class="layui-form-label layui-form-required">参数值</label>
@ -48,7 +33,7 @@
<div class="layui-form-item">
<label class="layui-form-label">备注</label>
<div class="layui-input-block">
<input id="remark" name="remark" placeholder="请输入备注" type="text" autocomplete="off" class="layui-input"/>
<textarea id="remark" name="remark" placeholder="请输入备注" class="layui-textarea"></textarea>
</div>
</div>
</div>

View File

@ -3,9 +3,10 @@
<form class="layui-form" id="sysConfigForm" lay-filter="sysConfigForm" >
<div class="layui-fluid" style="padding-bottom: 75px;">
<div class="layui-card">
<div class="layui-card-header">基本信息</div>
<div class="layui-card-body">
<input name="configId" type="hidden"/>
<input name="groupCode" id="groupCode" type="hidden"/>
<div class="layui-form-item">
<label class="layui-form-label layui-form-required">参数名称</label>
<div class="layui-input-block">
@ -26,19 +27,6 @@
<input type="checkbox" name="sysFlag" lay-skin="switch" lay-text="是|否" value="Y" checked>
</div>
</div>
<div id="dictCodeDiv">
</div>
<div class="layui-form-item">
<label class="layui-form-label layui-form-required">所属分类</label>
<div class="layui-input-block">
<select name="groupCode" id="groupCode" lay-filter="dictTypeId" disabled="disabled">
</select>
</div>
</div>
<!-- 手动输入 -->
<div class="layui-form-item" id="customCodeDiv">
<label class="layui-form-label layui-form-required">参数值</label>
@ -49,7 +37,7 @@
<div class="layui-form-item">
<label class="layui-form-label">备注</label>
<div class="layui-input-block">
<input id="remark" name="remark" placeholder="请输入备注" type="text" autocomplete="off" class="layui-input"/>
<textarea id="remark" name="remark" placeholder="请输入备注" class="layui-textarea"></textarea>
</div>
</div>
</div>