Commit 9dc66a7e by fengshuonan

完善常量的新增和修改

parent 0ded1702
package cn.stylefeng.guns.sys.modular.consts.entity; package cn.stylefeng.guns.sys.modular.consts.entity;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
...@@ -14,6 +15,7 @@ import java.util.Date; ...@@ -14,6 +15,7 @@ import java.util.Date;
* @since 2019-06-20 * @since 2019-06-20
*/ */
@TableName("sys_config") @TableName("sys_config")
@Data
public class SysConfig implements Serializable { public class SysConfig implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -45,8 +47,8 @@ public class SysConfig implements Serializable { ...@@ -45,8 +47,8 @@ public class SysConfig implements Serializable {
/** /**
* 字典类型的编码 * 字典类型的编码
*/ */
@TableField("dict_type_code") @TableField("dict_type_id")
private String dictTypeCode; private Long dictTypeId;
/** /**
* 属性值,如果是字典中的类型,则为dict的code * 属性值,如果是字典中的类型,则为dict的code
...@@ -84,109 +86,4 @@ public class SysConfig implements Serializable { ...@@ -84,109 +86,4 @@ public class SysConfig implements Serializable {
@TableField(value = "update_user", fill = FieldFill.UPDATE) @TableField(value = "update_user", fill = FieldFill.UPDATE)
private Long updateUser; private Long updateUser;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getDictFlag() {
return dictFlag;
}
public void setDictFlag(String dictFlag) {
this.dictFlag = dictFlag;
}
public String getDictTypeCode() {
return dictTypeCode;
}
public void setDictTypeCode(String dictTypeCode) {
this.dictTypeCode = dictTypeCode;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Long getCreateUser() {
return createUser;
}
public void setCreateUser(Long createUser) {
this.createUser = createUser;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public Long getUpdateUser() {
return updateUser;
}
public void setUpdateUser(Long updateUser) {
this.updateUser = updateUser;
}
@Override
public String toString() {
return "SysConfig{" +
"id=" + id +
", name=" + name +
", code=" + code +
", dictFlag=" + dictFlag +
", dictTypeCode=" + dictTypeCode +
", value=" + value +
", remark=" + remark +
", createTime=" + createTime +
", createUser=" + createUser +
", updateTime=" + updateTime +
", updateUser=" + updateUser +
"}";
}
} }
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<result column="name" property="name" /> <result column="name" property="name" />
<result column="code" property="code" /> <result column="code" property="code" />
<result column="dict_flag" property="dictFlag" /> <result column="dict_flag" property="dictFlag" />
<result column="dict_type_code" property="dictTypeCode" /> <result column="dict_type_id" property="dictTypeId" />
<result column="value" property="value" /> <result column="value" property="value" />
<result column="remark" property="remark" /> <result column="remark" property="remark" />
<result column="create_time" property="createTime" /> <result column="create_time" property="createTime" />
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
<!-- 通用查询结果列 --> <!-- 通用查询结果列 -->
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id AS "id", name AS "name", code AS "code", dict_flag AS "dictFlag", dict_type_code AS "dictTypeCode", value AS "value", remark AS "remark", create_time AS "createTime", create_user AS "createUser", update_time AS "updateTime", update_user AS "updateUser" id AS "id", name AS "name", code AS "code", dict_flag AS "dictFlag", dict_type_id AS "dictTypeId", value AS "value", remark AS "remark", create_time AS "createTime", create_user AS "createUser", update_time AS "updateTime", update_user AS "updateUser"
</sql> </sql>
......
...@@ -43,7 +43,7 @@ public class SysConfigParam implements Serializable, BaseValidatingParam { ...@@ -43,7 +43,7 @@ public class SysConfigParam implements Serializable, BaseValidatingParam {
/** /**
* 字典类型的编码 * 字典类型的编码
*/ */
private String dictTypeCode; private Long dictTypeId;
/** /**
* 字典的值 * 字典的值
......
package cn.stylefeng.guns.sys.modular.consts.model.result; package cn.stylefeng.guns.sys.modular.consts.model.result;
import lombok.Data; import lombok.Data;
import java.util.Date;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.util.Date;
/** /**
* <p> * <p>
...@@ -42,7 +42,7 @@ public class SysConfigResult implements Serializable { ...@@ -42,7 +42,7 @@ public class SysConfigResult implements Serializable {
/** /**
* 字典类型的编码 * 字典类型的编码
*/ */
private String dictTypeCode; private Long dictTypeId;
/** /**
* 属性值,如果是字典中的类型,则为dict的code * 属性值,如果是字典中的类型,则为dict的code
......
...@@ -8,6 +8,7 @@ import cn.stylefeng.guns.sys.modular.consts.model.params.SysConfigParam; ...@@ -8,6 +8,7 @@ import cn.stylefeng.guns.sys.modular.consts.model.params.SysConfigParam;
import cn.stylefeng.guns.sys.modular.consts.model.result.SysConfigResult; import cn.stylefeng.guns.sys.modular.consts.model.result.SysConfigResult;
import cn.stylefeng.guns.sys.modular.consts.service.SysConfigService; import cn.stylefeng.guns.sys.modular.consts.service.SysConfigService;
import cn.stylefeng.roses.core.util.ToolUtil; import cn.stylefeng.roses.core.util.ToolUtil;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
...@@ -50,7 +51,21 @@ public class SysConfigServiceImpl extends ServiceImpl<SysConfigMapper, SysConfig ...@@ -50,7 +51,21 @@ public class SysConfigServiceImpl extends ServiceImpl<SysConfigMapper, SysConfig
SysConfig oldEntity = getOldEntity(param); SysConfig oldEntity = getOldEntity(param);
SysConfig newEntity = getEntity(param); SysConfig newEntity = getEntity(param);
ToolUtil.copyProperties(newEntity, oldEntity); ToolUtil.copyProperties(newEntity, oldEntity);
this.updateById(newEntity);
UpdateWrapper<SysConfig> updateWrapper = new UpdateWrapper<SysConfig>().eq("id", param.getId());
//如果是字典类型
if (ToolUtil.isNotEmpty(param.getDictFlag())
&& param.getDictFlag().equalsIgnoreCase("Y")) {
newEntity.setValue(param.getDictValue());
} else {
//如果是非字典,则标识位置为空
newEntity.setDictFlag("N");
updateWrapper.set(true, "dict_type_id", null);
}
this.update(newEntity, updateWrapper);
} }
@Override @Override
......
...@@ -31,14 +31,14 @@ layui.use(['form', 'admin', 'ax'], function () { ...@@ -31,14 +31,14 @@ layui.use(['form', 'admin', 'ax'], function () {
status = "dict"; status = "dict";
//初始化所有字典类型 //初始化所有字典类型
$("#dictTypeCode").html('<option value="">请选择系统字典类型</option>'); $("#dictTypeId").html('<option value="">请选择系统字典类型</option>');
var ajax = new $ax(Feng.ctxPath + "/dictType/listTypes", function (data) { var ajax = new $ax(Feng.ctxPath + "/dictType/listTypes", function (data) {
for (var i = 0; i < data.data.length; i++) { for (var i = 0; i < data.data.length; i++) {
var dictTypeId = data.data[i].dictTypeId; var dictTypeId = data.data[i].dictTypeId;
var name = data.data[i].name; var name = data.data[i].name;
var code = data.data[i].code; var code = data.data[i].code;
$("#dictTypeCode").append('<option value="' + dictTypeId + '">' + code + '--' + name + '</option>'); $("#dictTypeId").append('<option value="' + dictTypeId + '">' + code + '--' + name + '</option>');
} }
form.render(); form.render();
...@@ -62,7 +62,7 @@ layui.use(['form', 'admin', 'ax'], function () { ...@@ -62,7 +62,7 @@ layui.use(['form', 'admin', 'ax'], function () {
var radio = $('input:radio[name="dictValue"]:checked').val(); var radio = $('input:radio[name="dictValue"]:checked').val();
if (!$("#dictTypeCode").val() || !radio) { if (!$("#dictTypeId").val() || !radio) {
Feng.error("请选择具体字典!"); Feng.error("请选择具体字典!");
return false; return false;
} }
...@@ -95,7 +95,7 @@ layui.use(['form', 'admin', 'ax'], function () { ...@@ -95,7 +95,7 @@ layui.use(['form', 'admin', 'ax'], function () {
}); });
//监听字典选择 //监听字典选择
form.on('select(dictTypeCode)', function (data) { form.on('select(dictTypeId)', function (data) {
var dictTypeId = data.value; var dictTypeId = data.value;
......
...@@ -21,16 +21,93 @@ layui.use(['form', 'admin', 'ax'], function () { ...@@ -21,16 +21,93 @@ layui.use(['form', 'admin', 'ax'], function () {
var form = layui.form; var form = layui.form;
var admin = layui.admin; var admin = layui.admin;
//让当前iframe弹层高度适应
admin.iframeAuto();
//获取详情信息,填充表单 //获取详情信息,填充表单
var ajax = new $ax(Feng.ctxPath + "/sysConfig/detail?id=" + Feng.getUrlParam("id")); var ajax = new $ax(Feng.ctxPath + "/sysConfig/detail?id=" + Feng.getUrlParam("id"));
var result = ajax.start(); var result = ajax.start();
form.val('sysConfigForm', result.data); form.val('sysConfigForm', result.data);
//初始化字典选择框
var activeDictSelect = function () {
$("#dictCodeDiv").show();
$("#customCodeDiv").hide();
status = "dict";
//初始化所有字典类型
$("#dictTypeId").html('<option value="">请选择系统字典类型</option>');
var ajax = new $ax(Feng.ctxPath + "/dictType/listTypes", function (data) {
for (var i = 0; i < data.data.length; i++) {
var dictTypeId = data.data[i].dictTypeId;
var name = data.data[i].name;
var code = data.data[i].code;
$("#dictTypeId").append('<option value="' + dictTypeId + '">' + code + '--' + name + '</option>');
}
form.render();
}, function (data) {
});
ajax.start();
};
//初始化非字典选择
var activeCustomSelect = function () {
$("#dictCodeDiv").hide();
$("#customCodeDiv").show();
status = "custom";
};
//更新字典详情列表
var updateDictDetail = function (dictTypeId, activeCode) {
$("#dictDetails").html('');
var ajax = new $ax(Feng.ctxPath + "/dict/listDicts", function (data) {
for (var i = 0; i < data.data.length; i++) {
var name = data.data[i].name;
var code = data.data[i].code;
if (activeCode === code) {
$("#dictDetails").append('<input type="radio" name="dictValue" value="' + code + '" title="' + name + '" checked="checked">');
} else {
$("#dictDetails").append('<input type="radio" name="dictValue" value="' + code + '" title="' + name + '">');
}
}
form.render();
}, function (data) {
});
ajax.set("dictTypeId", dictTypeId);
ajax.start();
};
//监听单选切换
form.on('radio(dictChecked)', function (data) {
if (data.value === "Y") {
activeDictSelect();
} else {
activeCustomSelect();
}
});
//表单提交事件 //表单提交事件
form.on('submit(btnSubmit)', function (data) { form.on('submit(btnSubmit)', function (data) {
//如果是选择字典
if (status === "dict") {
var radio = $('input:radio[name="dictValue"]:checked').val();
if (!$("#dictTypeId").val() || !radio) {
Feng.error("请选择具体字典!");
return false;
}
} else {
if (!$("#value").val()) {
Feng.error("请填写参数值!");
return false;
}
}
var ajax = new $ax(Feng.ctxPath + "/sysConfig/editItem", function (data) { var ajax = new $ax(Feng.ctxPath + "/sysConfig/editItem", function (data) {
Feng.success("更新成功!"); Feng.success("更新成功!");
window.location.href = Feng.ctxPath + '/sysConfig' window.location.href = Feng.ctxPath + '/sysConfig'
...@@ -43,9 +120,33 @@ layui.use(['form', 'admin', 'ax'], function () { ...@@ -43,9 +120,33 @@ layui.use(['form', 'admin', 'ax'], function () {
return false; return false;
}); });
//监听字典选择
form.on('select(dictTypeId)', function (data) {
var dictTypeId = data.value;
//初始化字典详细列表
updateDictDetail(dictTypeId);
});
//返回按钮 //返回按钮
$("#backupPage").click(function () { $("#backupPage").click(function () {
window.location.href = Feng.ctxPath + '/sysConfig' window.location.href = Feng.ctxPath + '/sysConfig'
}); });
//如果当前字典有dictTypeId则初始化字典类型选择
if (result.data.dictTypeId) {
activeDictSelect();
//更新选项
$("#dictTypeId").val(result.data.dictTypeId);
form.render();
//更新字典类型的详情
updateDictDetail(result.data.dictTypeId, result.data.value);
} else {
activeCustomSelect();
}
}); });
\ No newline at end of file
...@@ -12,13 +12,13 @@ ...@@ -12,13 +12,13 @@
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">名称<span style="color: red;">*</span></label> <label class="layui-form-label">名称<span style="color: red;">*</span></label>
<div class="layui-input-block"> <div class="layui-input-block">
<input id="name" name="name" placeholder="请输入名称" type="text" class="layui-input" lay-verify="required" required/> <input id="name" name="name" placeholder="请输入名称" type="text" class="layui-input" autocomplete="off" lay-verify="required" required/>
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">编码<span style="color: red;">*</span></label> <label class="layui-form-label">编码<span style="color: red;">*</span></label>
<div class="layui-input-block"> <div class="layui-input-block">
<input id="code" name="code" placeholder="属性编码" type="text" class="layui-input" lay-verify="required" required/> <input id="code" name="code" placeholder="属性编码" type="text" class="layui-input" autocomplete="off" lay-verify="required" required/>
</div> </div>
<div class="layui-form-mid layui-word-aux form-tips">推荐采用下划线大写风格,例如,KAPTCH_OPEN</div> <div class="layui-form-mid layui-word-aux form-tips">推荐采用下划线大写风格,例如,KAPTCH_OPEN</div>
</div> </div>
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">字典类型<span style="color: red;">*</span></label> <label class="layui-form-label">字典类型<span style="color: red;">*</span></label>
<div class="layui-input-block"> <div class="layui-input-block">
<select name="dictTypeCode" id="dictTypeCode" lay-filter="dictTypeCode"> <select name="dictTypeId" id="dictTypeId" lay-filter="dictTypeId">
<option value="">请选择系统字典类型</option> <option value="">请选择系统字典类型</option>
</select> </select>
</div> </div>
...@@ -53,13 +53,13 @@ ...@@ -53,13 +53,13 @@
<div class="layui-form-item" id="customCodeDiv"> <div class="layui-form-item" id="customCodeDiv">
<label class="layui-form-label">参数值<span style="color: red;">*</span></label> <label class="layui-form-label">参数值<span style="color: red;">*</span></label>
<div class="layui-input-block"> <div class="layui-input-block">
<input id="value" name="value" placeholder="属性值" type="text" class="layui-input"/> <input id="value" name="value" placeholder="属性值" type="text" autocomplete="off" class="layui-input"/>
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">备注</label> <label class="layui-form-label">备注</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input id="remark" name="remark" placeholder="请输入备注" type="text" class="layui-input"/> <input id="remark" name="remark" placeholder="请输入备注" type="text" autocomplete="off" class="layui-input"/>
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
......
...@@ -12,31 +12,54 @@ ...@@ -12,31 +12,54 @@
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">名称<span style="color: red;">*</span></label> <label class="layui-form-label">名称<span style="color: red;">*</span></label>
<div class="layui-input-block"> <div class="layui-input-block">
<input id="name" name="name" placeholder="请输入名称" type="text" class="layui-input" lay-verify="required" required/> <input id="name" name="name" placeholder="请输入名称" type="text" class="layui-input" autocomplete="off" lay-verify="required" required/>
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">字典标识<span style="color: red;">*</span></label> <label class="layui-form-label">编码<span style="color: red;">*</span></label>
<div class="layui-input-block"> <div class="layui-input-block">
<input id="dictFlag" name="dictFlag" placeholder="系统字典标识" type="text" class="layui-input" lay-verify="required" required/> <input id="code" name="code" placeholder="属性编码" type="text" class="layui-input" autocomplete="off" lay-verify="required" required/>
</div> </div>
<div class="layui-form-mid layui-word-aux form-tips">推荐采用下划线大写风格,例如,KAPTCH_OPEN</div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">编码<span style="color: red;">*</span></label> <label class="layui-form-label">取值范围<span style="color: red;">*</span></label>
<div class="layui-input-block"> <div class="layui-input-block">
<input id="code" name="code" placeholder="属性编码" type="text" class="layui-input" lay-verify="required" required/> <input type="radio" name="dictFlag" value="Y" title="字典" lay-filter="dictChecked" checked="checked">
<input type="radio" name="dictFlag" value="N" title="非字典" lay-filter="dictChecked">
</div> </div>
<div class="layui-form-mid layui-word-aux">如果选择字典,则取值来自于 系统管理->字典管理</div>
</div> </div>
<div class="layui-form-item">
<label class="layui-form-label">属性值<span style="color: red;">*</span></label> <!-- 从字典取值 -->
<div id="dictCodeDiv">
<div class="layui-form-item">
<label class="layui-form-label">字典类型<span style="color: red;">*</span></label>
<div class="layui-input-block">
<select name="dictTypeId" id="dictTypeId" lay-filter="dictTypeId">
<option value="">请选择系统字典类型</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">参数值<span style="color: red;">*</span></label>
<div class="layui-input-block" id="dictDetails">
<input type="radio" name="dictValue" value="" title="无" disabled="disabled">
</div>
</div>
</div>
<!-- 手动输入 -->
<div class="layui-form-item" id="customCodeDiv">
<label class="layui-form-label">参数值<span style="color: red;">*</span></label>
<div class="layui-input-block"> <div class="layui-input-block">
<input id="value" name="value" placeholder="属性值" type="text" class="layui-input" lay-verify="required" required/> <input id="value" name="value" placeholder="属性值" type="text" autocomplete="off" class="layui-input"/>
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">备注<span style="color: red;">*</span></label> <label class="layui-form-label">备注</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input id="remark" name="remark" placeholder="请输入备注" type="text" class=" " lay-verify="required" required/> <input id="remark" name="remark" placeholder="请输入备注" type="text" autocomplete="off" class="layui-input"/>
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment