Commit f3bea0b4 by fengshuonan

初始化常量维护页面

parent fa7a8ada
package cn.stylefeng.guns.base.consts;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
* 系统常量的容器
*
* @author fengshuonan
* @Date 2019-06-20 13:37
*/
public class ConstantsContext {
/**
* 系统常量的容器
*/
private static Map<String, String> SYSTEM_CONSTNTS = new ConcurrentHashMap<>();
}
package cn.stylefeng.guns.sys.modular.consts.controller;
import cn.stylefeng.guns.base.pojo.page.LayuiPageInfo;
import cn.stylefeng.guns.sys.modular.consts.entity.SysConfig;
import cn.stylefeng.guns.sys.modular.consts.model.params.SysConfigParam;
import cn.stylefeng.guns.sys.modular.consts.service.SysConfigService;
import cn.stylefeng.roses.core.base.controller.BaseController;
import cn.stylefeng.roses.core.reqres.response.ResponseData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* 参数配置控制器
*
* @author stylefeng
* @Date 2019-06-20 14:32:21
*/
@Controller
@RequestMapping("/sysConfig")
public class SysConfigController extends BaseController {
private String PREFIX = "/modular/sysConfig";
@Autowired
private SysConfigService sysConfigService;
/**
* 跳转到主页面
*
* @author stylefeng
* @Date 2019-06-20
*/
@RequestMapping("")
public String index() {
return PREFIX + "/sysConfig.html";
}
/**
* 新增页面
*
* @author stylefeng
* @Date 2019-06-20
*/
@RequestMapping("/add")
public String add() {
return PREFIX + "/sysConfig_add.html";
}
/**
* 编辑页面
*
* @author stylefeng
* @Date 2019-06-20
*/
@RequestMapping("/edit")
public String edit() {
return PREFIX + "/sysConfig_edit.html";
}
/**
* 新增接口
*
* @author stylefeng
* @Date 2019-06-20
*/
@RequestMapping("/addItem")
@ResponseBody
public ResponseData addItem(SysConfigParam sysConfigParam) {
this.sysConfigService.add(sysConfigParam);
return ResponseData.success();
}
/**
* 编辑接口
*
* @author stylefeng
* @Date 2019-06-20
*/
@RequestMapping("/editItem")
@ResponseBody
public ResponseData editItem(SysConfigParam sysConfigParam) {
this.sysConfigService.update(sysConfigParam);
return ResponseData.success();
}
/**
* 删除接口
*
* @author stylefeng
* @Date 2019-06-20
*/
@RequestMapping("/delete")
@ResponseBody
public ResponseData delete(SysConfigParam sysConfigParam) {
this.sysConfigService.delete(sysConfigParam);
return ResponseData.success();
}
/**
* 查看详情接口
*
* @author stylefeng
* @Date 2019-06-20
*/
@RequestMapping("/detail")
@ResponseBody
public ResponseData detail(SysConfigParam sysConfigParam) {
SysConfig detail = this.sysConfigService.getById(sysConfigParam.getId());
return ResponseData.success(detail);
}
/**
* 查询列表
*
* @author stylefeng
* @Date 2019-06-20
*/
@ResponseBody
@RequestMapping("/list")
public LayuiPageInfo list(SysConfigParam sysConfigParam) {
return this.sysConfigService.findPageBySpec(sysConfigParam);
}
}
package cn.stylefeng.guns.sys.modular.consts.entity;
import com.baomidou.mybatisplus.annotation.*;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
* 参数配置
* </p>
*
* @author stylefeng
* @since 2019-06-20
*/
@TableName("sys_config")
public class SysConfig implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 名称
*/
@TableField("name")
private String name;
/**
* 属性编码标识
*/
@TableField("code")
private String code;
/**
* 是否是字典中的值
*/
@TableField("dict_flag")
private String dictFlag;
/**
* 字典类型的编码
*/
@TableField("dict_type_code")
private String dictTypeCode;
/**
* 属性值,如果是字典中的类型,则为dict的code
*/
@TableField("value")
private String value;
/**
* 备注
*/
@TableField("remark")
private String remark;
/**
* 创建时间
*/
@TableField(value = "create_time", fill = FieldFill.INSERT)
private Date createTime;
/**
* 创建人
*/
@TableField(value = "create_user", fill = FieldFill.INSERT)
private Long createUser;
/**
* 更新时间
*/
@TableField(value = "update_time", fill = FieldFill.UPDATE)
private Date updateTime;
/**
* 更新人
*/
@TableField(value = "update_user", fill = FieldFill.UPDATE)
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 +
"}";
}
}
package cn.stylefeng.guns.sys.modular.consts.mapper;
import cn.stylefeng.guns.sys.modular.consts.entity.SysConfig;
import cn.stylefeng.guns.sys.modular.consts.model.params.SysConfigParam;
import cn.stylefeng.guns.sys.modular.consts.model.result.SysConfigResult;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* <p>
* 参数配置 Mapper 接口
* </p>
*
* @author stylefeng
* @since 2019-06-20
*/
public interface SysConfigMapper extends BaseMapper<SysConfig> {
/**
* 获取列表
*
* @author stylefeng
* @Date 2019-06-20
*/
List<SysConfigResult> customList(@Param("paramCondition") SysConfigParam paramCondition);
/**
* 获取map列表
*
* @author stylefeng
* @Date 2019-06-20
*/
List<Map<String, Object>> customMapList(@Param("paramCondition") SysConfigParam paramCondition);
/**
* 获取分页实体列表
*
* @author stylefeng
* @Date 2019-06-20
*/
Page<SysConfigResult> customPageList(@Param("page") Page page, @Param("paramCondition") SysConfigParam paramCondition);
/**
* 获取分页map列表
*
* @author stylefeng
* @Date 2019-06-20
*/
Page<Map<String, Object>> customPageMapList(@Param("page") Page page, @Param("paramCondition") SysConfigParam paramCondition);
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.stylefeng.guns.sys.modular.consts.mapper.SysConfigMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="cn.stylefeng.guns.sys.modular.consts.entity.SysConfig">
<id column="id" property="id" />
<result column="name" property="name" />
<result column="code" property="code" />
<result column="dict_flag" property="dictFlag" />
<result column="dict_type_code" property="dictTypeCode" />
<result column="value" property="value" />
<result column="remark" property="remark" />
<result column="create_time" property="createTime" />
<result column="create_user" property="createUser" />
<result column="update_time" property="updateTime" />
<result column="update_user" property="updateUser" />
</resultMap>
<!-- 通用查询结果列 -->
<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"
</sql>
<select id="customList" resultType="cn.stylefeng.guns.sys.modular.consts.model.result.SysConfigResult" parameterType="cn.stylefeng.guns.sys.modular.consts.model.params.SysConfigParam">
select
<include refid="Base_Column_List"/>
from sys_config where 1 = 1
<if test="paramCondition.name != null and paramCondition.name != ''">
and name like CONCAT('%',#{paramCondition.name},'%')
</if>
<if test="paramCondition.code != null and paramCondition.code != ''">
and code like CONCAT('%',#{paramCondition.code},'%')
</if>
<if test="paramCondition.value != null and paramCondition.value != ''">
and value like CONCAT('%',#{paramCondition.value},'%')
</if>
<if test="paramCondition.remark != null and paramCondition.remark != ''">
and remark like CONCAT('%',#{paramCondition.remark},'%')
</if>
</select>
<select id="customMapList" resultType="map" parameterType="cn.stylefeng.guns.sys.modular.consts.model.params.SysConfigParam">
select
<include refid="Base_Column_List"/>
from sys_config where 1 = 1
<if test="paramCondition.name != null and paramCondition.name != ''">
and name like CONCAT('%',#{paramCondition.name},'%')
</if>
<if test="paramCondition.code != null and paramCondition.code != ''">
and code like CONCAT('%',#{paramCondition.code},'%')
</if>
<if test="paramCondition.value != null and paramCondition.value != ''">
and value like CONCAT('%',#{paramCondition.value},'%')
</if>
<if test="paramCondition.remark != null and paramCondition.remark != ''">
and remark like CONCAT('%',#{paramCondition.remark},'%')
</if>
</select>
<select id="customPageList" resultType="cn.stylefeng.guns.sys.modular.consts.model.result.SysConfigResult" parameterType="cn.stylefeng.guns.sys.modular.consts.model.params.SysConfigParam">
select
<include refid="Base_Column_List"/>
from sys_config where 1 = 1
<if test="paramCondition.name != null and paramCondition.name != ''">
and name like CONCAT('%',#{paramCondition.name},'%')
</if>
<if test="paramCondition.code != null and paramCondition.code != ''">
and code like CONCAT('%',#{paramCondition.code},'%')
</if>
<if test="paramCondition.value != null and paramCondition.value != ''">
and value like CONCAT('%',#{paramCondition.value},'%')
</if>
<if test="paramCondition.remark != null and paramCondition.remark != ''">
and remark like CONCAT('%',#{paramCondition.remark},'%')
</if>
</select>
<select id="customPageMapList" resultType="map" parameterType="cn.stylefeng.guns.sys.modular.consts.model.params.SysConfigParam">
select
<include refid="Base_Column_List"/>
from sys_config where 1 = 1
<if test="paramCondition.name != null and paramCondition.name != ''">
and name like CONCAT('%',#{paramCondition.name},'%')
</if>
<if test="paramCondition.code != null and paramCondition.code != ''">
and code like CONCAT('%',#{paramCondition.code},'%')
</if>
<if test="paramCondition.value != null and paramCondition.value != ''">
and value like CONCAT('%',#{paramCondition.value},'%')
</if>
<if test="paramCondition.remark != null and paramCondition.remark != ''">
and remark like CONCAT('%',#{paramCondition.remark},'%')
</if>
</select>
</mapper>
package cn.stylefeng.guns.sys.modular.consts.model.params;
import lombok.Data;
import cn.stylefeng.roses.kernel.model.validator.BaseValidatingParam;
import java.util.Date;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* <p>
* 参数配置
* </p>
*
* @author stylefeng
* @since 2019-06-20
*/
@Data
public class SysConfigParam implements Serializable, BaseValidatingParam {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private Long id;
/**
* 名称
*/
private String name;
/**
* 属性编码标识
*/
private String code;
/**
* 是否是字典中的值
*/
private String dictFlag;
/**
* 字典类型的编码
*/
private String dictTypeCode;
/**
* 属性值,如果是字典中的类型,则为dict的code
*/
private String value;
/**
* 备注
*/
private String remark;
/**
* 创建时间
*/
private Date createTime;
/**
* 创建人
*/
private Long createUser;
/**
* 更新时间
*/
private Date updateTime;
/**
* 更新人
*/
private Long updateUser;
@Override
public String checkParam() {
return null;
}
}
package cn.stylefeng.guns.sys.modular.consts.model.result;
import lombok.Data;
import java.util.Date;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* <p>
* 参数配置
* </p>
*
* @author stylefeng
* @since 2019-06-20
*/
@Data
public class SysConfigResult implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private Long id;
/**
* 名称
*/
private String name;
/**
* 属性编码标识
*/
private String code;
/**
* 是否是字典中的值
*/
private String dictFlag;
/**
* 字典类型的编码
*/
private String dictTypeCode;
/**
* 属性值,如果是字典中的类型,则为dict的code
*/
private String value;
/**
* 备注
*/
private String remark;
/**
* 创建时间
*/
private Date createTime;
/**
* 创建人
*/
private Long createUser;
/**
* 更新时间
*/
private Date updateTime;
/**
* 更新人
*/
private Long updateUser;
}
package cn.stylefeng.guns.sys.modular.consts.service;
import cn.stylefeng.guns.base.pojo.page.LayuiPageInfo;
import cn.stylefeng.guns.sys.modular.consts.entity.SysConfig;
import cn.stylefeng.guns.sys.modular.consts.model.params.SysConfigParam;
import cn.stylefeng.guns.sys.modular.consts.model.result.SysConfigResult;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
* 参数配置 服务类
* </p>
*
* @author stylefeng
* @since 2019-06-20
*/
public interface SysConfigService extends IService<SysConfig> {
/**
* 新增
*
* @author stylefeng
* @Date 2019-06-20
*/
void add(SysConfigParam param);
/**
* 删除
*
* @author stylefeng
* @Date 2019-06-20
*/
void delete(SysConfigParam param);
/**
* 更新
*
* @author stylefeng
* @Date 2019-06-20
*/
void update(SysConfigParam param);
/**
* 查询单条数据,Specification模式
*
* @author stylefeng
* @Date 2019-06-20
*/
SysConfigResult findBySpec(SysConfigParam param);
/**
* 查询列表,Specification模式
*
* @author stylefeng
* @Date 2019-06-20
*/
List<SysConfigResult> findListBySpec(SysConfigParam param);
/**
* 查询分页数据,Specification模式
*
* @author stylefeng
* @Date 2019-06-20
*/
LayuiPageInfo findPageBySpec(SysConfigParam param);
}
package cn.stylefeng.guns.sys.modular.consts.service.impl;
import cn.stylefeng.guns.base.pojo.page.LayuiPageFactory;
import cn.stylefeng.guns.base.pojo.page.LayuiPageInfo;
import cn.stylefeng.guns.sys.modular.consts.entity.SysConfig;
import cn.stylefeng.guns.sys.modular.consts.mapper.SysConfigMapper;
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.service.SysConfigService;
import cn.stylefeng.roses.core.util.ToolUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import java.io.Serializable;
import java.util.List;
/**
* <p>
* 参数配置 服务实现类
* </p>
*
* @author stylefeng
* @since 2019-06-20
*/
@Service
public class SysConfigServiceImpl extends ServiceImpl<SysConfigMapper, SysConfig> implements SysConfigService {
@Override
public void add(SysConfigParam param){
SysConfig entity = getEntity(param);
this.save(entity);
}
@Override
public void delete(SysConfigParam param){
this.removeById(getKey(param));
}
@Override
public void update(SysConfigParam param){
SysConfig oldEntity = getOldEntity(param);
SysConfig newEntity = getEntity(param);
ToolUtil.copyProperties(newEntity, oldEntity);
this.updateById(newEntity);
}
@Override
public SysConfigResult findBySpec(SysConfigParam param){
return null;
}
@Override
public List<SysConfigResult> findListBySpec(SysConfigParam param){
return null;
}
@Override
public LayuiPageInfo findPageBySpec(SysConfigParam param){
Page pageContext = getPageContext();
IPage page = this.baseMapper.customPageList(pageContext, param);
return LayuiPageFactory.createPageInfo(page);
}
private Serializable getKey(SysConfigParam param){
return param.getId();
}
private Page getPageContext() {
return LayuiPageFactory.defaultPage();
}
private SysConfig getOldEntity(SysConfigParam param) {
return this.getById(getKey(param));
}
private SysConfig getEntity(SysConfigParam param) {
SysConfig entity = new SysConfig();
ToolUtil.copyProperties(param, entity);
return entity;
}
}
......@@ -10,6 +10,7 @@ import cn.stylefeng.guns.sys.modular.system.service.DictService;
import cn.stylefeng.guns.sys.modular.system.service.DictTypeService;
import cn.stylefeng.roses.core.base.controller.BaseController;
import cn.stylefeng.roses.core.reqres.response.ResponseData;
import cn.stylefeng.roses.core.reqres.response.SuccessResponseData;
import cn.stylefeng.roses.kernel.model.exception.RequestEmptyException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
......@@ -171,6 +172,19 @@ public class DictController extends BaseController {
}
/**
* 获取某个字典类型下的所有字典
*
* @author stylefeng
* @Date 2019-03-13
*/
@ResponseBody
@RequestMapping("/listDicts")
public ResponseData listDicts(@RequestParam("dictTypeId") Long dictTypeId) {
List<Dict> dicts = this.dictService.listDicts(dictTypeId);
return new SuccessResponseData(dicts);
}
/**
* 获取某个类型下字典树的列表,ztree格式
*
* @author fengshuonan
......
package cn.stylefeng.guns.sys.modular.system.controller;
import cn.stylefeng.guns.sys.modular.system.entity.DictType;
import cn.stylefeng.guns.base.pojo.page.LayuiPageInfo;
import cn.stylefeng.guns.sys.modular.system.entity.DictType;
import cn.stylefeng.guns.sys.modular.system.model.params.DictTypeParam;
import cn.stylefeng.guns.sys.modular.system.service.DictTypeService;
import cn.stylefeng.roses.core.base.controller.BaseController;
import cn.stylefeng.roses.core.reqres.response.ResponseData;
import cn.stylefeng.roses.core.reqres.response.SuccessResponseData;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
/**
* 字典类型表控制器
......@@ -124,6 +128,23 @@ public class DictTypeController extends BaseController {
return this.dictTypeService.findPageBySpec(dictTypeParam);
}
/**
* 查询所有字典
*
* @author stylefeng
* @Date 2019-03-13
*/
@ResponseBody
@RequestMapping("/listTypes")
public ResponseData listTypes() {
QueryWrapper<DictType> objectQueryWrapper = new QueryWrapper<>();
objectQueryWrapper.select("dict_type_id", "code", "name");
List<DictType> list = this.dictTypeService.list(objectQueryWrapper);
return new SuccessResponseData(list);
}
}
......@@ -226,6 +226,27 @@ public class DictService extends ServiceImpl<DictMapper, Dict> {
return dictResult;
}
/**
* 查询字典列表,通过字典类型
*
* @author fengshuonan
* @Date 2019-06-20 15:14
*/
public List<Dict> listDicts(Long dictTypeId) {
QueryWrapper<Dict> objectQueryWrapper = new QueryWrapper<>();
objectQueryWrapper.eq("dict_type_id", dictTypeId);
List<Dict> list = this.list(objectQueryWrapper);
if (list == null) {
return new ArrayList<>();
} else {
return list;
}
}
private Serializable getKey(DictParam param) {
return param.getDictId();
}
......@@ -248,9 +269,9 @@ public class DictService extends ServiceImpl<DictMapper, Dict> {
ArrayList<Long> longs = new ArrayList<>();
if(ToolUtil.isEmpty(dictId)){
if (ToolUtil.isEmpty(dictId)) {
return longs;
}else{
} else {
List<Dict> list = this.baseMapper.likeParentIds(dictId);
for (Dict dict : list) {
longs.add(dict.getDictId());
......
......@@ -23,4 +23,8 @@
.layui-input-block {
margin-left: 120px;
min-height: 36px;
}
.form-tips {
margin-left: 120px;
}
\ No newline at end of file
layui.use(['table', 'admin', 'ax'], function () {
var $ = layui.$;
var table = layui.table;
var $ax = layui.ax;
var admin = layui.admin;
/**
* 参数配置管理
*/
var SysConfig = {
tableId: "sysConfigTable"
};
/**
* 初始化表格的列
*/
SysConfig.initColumn = function () {
return [[
{type: 'checkbox'},
{field: 'id', hide: true, title: '主键'},
{field: 'name', sort: true, align: "center", title: '名称'},
{field: 'code', sort: true, align: "center", title: '属性编码'},
{field: 'value', sort: true, align: "center", title: '属性值'},
{field: 'remark', sort: true, align: "center", title: '备注'},
{field: 'createTime', sort: true, align: "center", title: '创建时间'},
{field: 'createUser', sort: true, align: "center", title: '创建人'},
{field: 'updateTime', sort: true, align: "center", title: '更新时间'},
{field: 'updateUser', sort: true, align: "center", title: '更新人'},
{align: 'center', toolbar: '#tableBar', title: '操作'}
]];
};
/**
* 点击查询按钮
*/
SysConfig.search = function () {
var queryData = {};
queryData['condition'] = $("#condition").val();
table.reload(SysConfig.tableId, {
where: queryData, page: {curr: 1}
});
};
/**
* 弹出添加对话框
*/
SysConfig.openAddDlg = function () {
window.location.href = Feng.ctxPath + '/sysConfig/add';
};
/**
* 导出excel按钮
*/
SysConfig.exportExcel = function () {
var checkRows = table.checkStatus(SysConfig.tableId);
if (checkRows.data.length === 0) {
Feng.error("请选择要导出的数据");
} else {
table.exportFile(tableResult.config.id, checkRows.data, 'xls');
}
};
/**
* 点击编辑
*
* @param data 点击按钮时候的行数据
*/
SysConfig.openEditDlg = function (data) {
window.location.href = Feng.ctxPath + '/sysConfig/edit?id=' + data.id;
};
/**
* 点击删除
*
* @param data 点击按钮时候的行数据
*/
SysConfig.onDeleteItem = function (data) {
var operation = function () {
var ajax = new $ax(Feng.ctxPath + "/sysConfig/delete", function (data) {
Feng.success("删除成功!");
table.reload(SysConfig.tableId);
}, function (data) {
Feng.error("删除失败!" + data.responseJSON.message + "!");
});
ajax.set("id", data.id);
ajax.start();
};
Feng.confirm("是否删除?", operation);
};
// 渲染表格
var tableResult = table.render({
elem: '#' + SysConfig.tableId,
url: Feng.ctxPath + '/sysConfig/list',
page: true,
height: "full-158",
cellMinWidth: 100,
cols: SysConfig.initColumn()
});
// 搜索按钮点击事件
$('#btnSearch').click(function () {
SysConfig.search();
});
// 添加按钮点击事件
$('#btnAdd').click(function () {
SysConfig.openAddDlg();
});
// 导出excel
$('#btnExp').click(function () {
SysConfig.exportExcel();
});
// 工具条点击事件
table.on('tool(' + SysConfig.tableId + ')', function (obj) {
var data = obj.data;
var layEvent = obj.event;
if (layEvent === 'edit') {
SysConfig.openEditDlg(data);
} else if (layEvent === 'delete') {
SysConfig.onDeleteItem(data);
}
});
});
/**
* 添加或者修改页面
*/
var SysConfigInfoDlg = {
data: {
name: "",
dictFlag: "",
code: "",
value: "",
remark: "",
createTime: "",
createUser: "",
updateTime: "",
updateUser: ""
}
};
layui.use(['form', 'admin', 'ax'], function () {
var $ = layui.jquery;
var $ax = layui.ax;
var form = layui.form;
var admin = layui.admin;
//初始化字典选择框
var initDictSelect = function () {
$("#dictCodeDiv").show();
$("#customCodeDiv").hide();
//初始化所有字典类型
$("#dictTypeCode").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;
$("#dictTypeCode").append('<option value="' + dictTypeId + '">' + code + '--' + name + '</option>');
}
form.render();
}, function (data) {
});
ajax.start();
};
//初始化非字典选择
var initCustomSelect = function () {
$("#dictCodeDiv").hide();
$("#customCodeDiv").show();
};
//表单提交事件
form.on('submit(btnSubmit)', function (data) {
var ajax = new $ax(Feng.ctxPath + "/sysConfig/addItem", function (data) {
Feng.success("添加成功!");
window.location.href = Feng.ctxPath + '/sysConfig'
}, function (data) {
Feng.error("添加失败!" + data.responseJSON.message)
});
ajax.set(data.field);
ajax.start();
return false;
});
//监听单选切换
form.on('radio(dictChecked)', function (data) {
if (data.value === "Y") {
initDictSelect();
} else {
initCustomSelect();
}
});
//监听字典选择
form.on('select(dictTypeCode)', function (data) {
var dictTypeId = data.value;
//初始化字典详细列表
$("#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;
$("#dictDetails").append('<input type="radio" name="value" value="' + code + '" title="' + name + '">');
}
form.render();
}, function (data) {
});
ajax.set("dictTypeId", dictTypeId);
ajax.start();
});
//返回按钮
$("#backupPage").click(function () {
window.location.href = Feng.ctxPath + '/sysConfig'
});
//显示字典编码选择
initDictSelect();
});
\ No newline at end of file
/**
* 详情对话框
*/
var SysConfigInfoDlg = {
data: {
name: "",
dictFlag: "",
code: "",
value: "",
remark: "",
createTime: "",
createUser: "",
updateTime: "",
updateUser: ""
}
};
layui.use(['form', 'admin', 'ax'], function () {
var $ = layui.jquery;
var $ax = layui.ax;
var form = layui.form;
var admin = layui.admin;
//让当前iframe弹层高度适应
admin.iframeAuto();
//获取详情信息,填充表单
var ajax = new $ax(Feng.ctxPath + "/sysConfig/detail?id=" + Feng.getUrlParam("id"));
var result = ajax.start();
form.val('sysConfigForm', result.data);
//表单提交事件
form.on('submit(btnSubmit)', function (data) {
var ajax = new $ax(Feng.ctxPath + "/sysConfig/editItem", function (data) {
Feng.success("更新成功!");
window.location.href = Feng.ctxPath + '/sysConfig'
}, function (data) {
Feng.error("更新失败!" + data.responseJSON.message)
});
ajax.set(data.field);
ajax.start();
return false;
});
//返回按钮
$("#backupPage").click(function () {
window.location.href = Feng.ctxPath + '/sysConfig'
});
});
\ No newline at end of file
@layout("/common/_container.html",{js:["/assets/modular/sysConfig/sysConfig.js"]}){
<div class="layui-body-header">
<span class="layui-body-header-title">参数配置管理</span>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-sm12 layui-col-md12 layui-col-lg12">
<div class="layui-card">
<div class="layui-card-body">
<div class="layui-form toolbar">
<div class="layui-form-item">
<div class="layui-inline">
<input id="condition" class="layui-input" type="text" placeholder="名称"/>
</div>
<div class="layui-inline">
<button id="btnSearch" class="layui-btn icon-btn"><i class="layui-icon">&#xe615;</i>搜索</button>
<button id="btnAdd" class="layui-btn icon-btn"><i class="layui-icon">&#xe654;</i>添加</button>
<button id="btnExp" class="layui-btn icon-btn"><i class="layui-icon">&#xe67d;</i>导出</button>
</div>
</div>
</div>
<table class="layui-table" id="sysConfigTable" lay-filter="sysConfigTable"></table>
</div>
</div>
</div>
</div>
</div>
<script type="text/html" id="tableBar">
<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="delete">删除</a>
</script>
@}
\ No newline at end of file
@layout("/common/_container.html",{js:["/assets/modular/sysConfig/sysConfig_add.js"]}){
<div class="layui-body-header">
<span class="layui-body-header-title">添加</span>
</div>
<div class="layui-fluid " style="">
<div class="layui-card">
<div class="layui-card-body">
<form id="sysConfigForm" lay-filter="sysConfigForm" class="layui-form model-form" style="max-width: 700px;margin: 40px auto;">
<input name="id" type="hidden"/>
<div class="layui-form-item">
<label class="layui-form-label">名称<span style="color: red;">*</span></label>
<div class="layui-input-block">
<input id="name" name="name" placeholder="请输入名称" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">编码<span style="color: red;">*</span></label>
<div class="layui-input-block">
<input id="code" name="code" placeholder="属性编码" type="text" class="layui-input" lay-verify="required" required/>
</div>
<div class="layui-form-mid layui-word-aux form-tips">推荐采用下划线大写风格,例如,KAPTCH_OPEN</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">取值范围<span style="color: red;">*</span></label>
<div class="layui-input-block">
<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 class="layui-form-mid layui-word-aux">如果选择系统字典,则取值来自于 系统管理->字典管理</div>
</div>
<!-- 从字典取值 -->
<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="dictTypeCode" id="dictTypeCode" lay-filter="dictTypeCode">
<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="value" 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">
<input id="value" name="value" placeholder="属性值" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注</label>
<div class="layui-input-block">
<input id="remark" name="remark" placeholder="请输入备注" type="text" class="layui-input"/>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" lay-filter="btnSubmit" lay-submit>&emsp;提交&emsp;</button>
<button class="layui-btn layui-btn-primary" type="button" id="backupPage">&emsp;返回&emsp;</button>
</div>
</div>
</form>
</div>
</div>
</div>
@}
\ No newline at end of file
@layout("/common/_container.html",{js:["/assets/modular/sysConfig/sysConfig_edit.js"]}){
<div class="layui-body-header">
<span class="layui-body-header-title">修改</span>
</div>
<div class="layui-fluid " style="">
<div class="layui-card">
<div class="layui-card-body">
<form id="sysConfigForm" lay-filter="sysConfigForm" class="layui-form model-form" style="max-width: 700px;margin: 40px auto;">
<input name="id" type="hidden"/>
<div class="layui-form-item">
<label class="layui-form-label">名称<span style="color: red;">*</span></label>
<div class="layui-input-block">
<input id="name" name="name" placeholder="请输入名称" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">字典标识<span style="color: red;">*</span></label>
<div class="layui-input-block">
<input id="dictFlag" name="dictFlag" placeholder="系统字典标识" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">编码<span style="color: red;">*</span></label>
<div class="layui-input-block">
<input id="code" name="code" placeholder="属性编码" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">属性值<span style="color: red;">*</span></label>
<div class="layui-input-block">
<input id="value" name="value" placeholder="属性值" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注<span style="color: red;">*</span></label>
<div class="layui-input-block">
<input id="remark" name="remark" placeholder="请输入备注" type="text" class=" " lay-verify="required" required/>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" lay-filter="btnSubmit" lay-submit>&emsp;提交&emsp;</button>
<button class="layui-btn layui-btn-primary" type="button" id="backupPage">&emsp;返回&emsp;</button>
</div>
</div>
</form>
</div>
</div>
</div>
@}
\ No newline at end of file
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