若依开源1.1.4发布
parent
95601ad36f
commit
821e3a7f52
@ -0,0 +1,29 @@
|
||||
package com.ruoyi.framework.web.service;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import com.ruoyi.project.system.config.service.IConfigService;
|
||||
|
||||
/**
|
||||
* RuoYi首创 html调用 thymeleaf 实现参数管理
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Component
|
||||
public class ConfigService
|
||||
{
|
||||
@Autowired
|
||||
private IConfigService configService;
|
||||
|
||||
/**
|
||||
* 根据键名查询参数配置信息
|
||||
*
|
||||
* @param configName 参数名称
|
||||
* @return 参数键值
|
||||
*/
|
||||
public String selectConfigByKey(String configKey)
|
||||
{
|
||||
return configService.selectConfigByKey(configKey);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,143 @@
|
||||
package com.ruoyi.project.system.config.controller;
|
||||
|
||||
import java.util.List;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import com.ruoyi.project.system.config.domain.Config;
|
||||
import com.ruoyi.project.system.config.service.IConfigService;
|
||||
import com.ruoyi.framework.aspectj.lang.annotation.Log;
|
||||
import com.ruoyi.framework.web.controller.BaseController;
|
||||
import com.ruoyi.framework.web.page.TableDataInfo;
|
||||
import com.ruoyi.framework.web.domain.Message;
|
||||
|
||||
/**
|
||||
* 参数配置 信息操作处理
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("/system/config")
|
||||
public class ConfigController extends BaseController
|
||||
{
|
||||
private String prefix = "system/config";
|
||||
|
||||
@Autowired
|
||||
private IConfigService configService;
|
||||
|
||||
@RequiresPermissions("system:config:view")
|
||||
@GetMapping()
|
||||
public String index()
|
||||
{
|
||||
return prefix + "/config";
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询参数配置列表
|
||||
*/
|
||||
@RequiresPermissions("system:config:list")
|
||||
@GetMapping("/list")
|
||||
@ResponseBody
|
||||
public TableDataInfo list(Config config)
|
||||
{
|
||||
startPage();
|
||||
List<Config> list = configService.selectConfigList(config);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增参数配置
|
||||
*/
|
||||
@RequiresPermissions("system:config:add")
|
||||
@Log(title = "系统管理", action = "参数配置-新增参数")
|
||||
@GetMapping("/add")
|
||||
public String add()
|
||||
{
|
||||
return prefix + "/add";
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改参数配置
|
||||
*/
|
||||
@RequiresPermissions("system:config:edit")
|
||||
@Log(title = "系统管理", action = "参数配置-修改参数")
|
||||
@GetMapping("/edit/{configId}")
|
||||
public String edit(@PathVariable("configId") Integer configId, Model model)
|
||||
{
|
||||
Config config = configService.selectConfigById(configId);
|
||||
model.addAttribute("config", config);
|
||||
return prefix + "/edit";
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存参数配置
|
||||
*/
|
||||
@RequiresPermissions("system:config:save")
|
||||
@Log(title = "系统管理", action = "参数配置-保存参数")
|
||||
@PostMapping("/save")
|
||||
@ResponseBody
|
||||
public Message save(Config config)
|
||||
{
|
||||
if (configService.saveConfig(config) > 0)
|
||||
{
|
||||
return Message.success();
|
||||
}
|
||||
return Message.error();
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除参数配置
|
||||
*/
|
||||
@RequiresPermissions("system:config:remove")
|
||||
@Log(title = "系统管理", action = "参数配置-删除参数")
|
||||
@PostMapping("/remove/{configId}")
|
||||
@ResponseBody
|
||||
public Message remove(@PathVariable("configId") Integer configId)
|
||||
{
|
||||
if (configService.deleteConfigById(configId) > 0)
|
||||
{
|
||||
return Message.success();
|
||||
}
|
||||
return Message.error();
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除参数配置
|
||||
*/
|
||||
@RequiresPermissions("system:config:batchRemove")
|
||||
@Log(title = "系统管理", action = "参数配置-批量删除")
|
||||
@PostMapping("/batchRemove")
|
||||
@ResponseBody
|
||||
public Message remove(@RequestParam("ids[]") Integer[] configIds)
|
||||
{
|
||||
int rows = configService.batchDeleteConfig(configIds);
|
||||
if (rows > 0)
|
||||
{
|
||||
return Message.success();
|
||||
}
|
||||
return Message.error();
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验参数键名
|
||||
*/
|
||||
@PostMapping("/checkConfigKeyUnique")
|
||||
@ResponseBody
|
||||
public String checkConfigKeyUnique(Config config)
|
||||
{
|
||||
String uniqueFlag = "0";
|
||||
if (config != null)
|
||||
{
|
||||
uniqueFlag = configService.checkConfigKeyUnique(config);
|
||||
}
|
||||
return uniqueFlag;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,70 @@
|
||||
package com.ruoyi.project.system.config.mapper;
|
||||
|
||||
import com.ruoyi.project.system.config.domain.Config;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 参数配置 数据层
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
public interface ConfigMapper
|
||||
{
|
||||
|
||||
/**
|
||||
* 查询参数配置信息
|
||||
*
|
||||
* @param configId 参数配置ID
|
||||
* @return 参数配置信息
|
||||
*/
|
||||
public Config selectConfigById(Integer configId);
|
||||
|
||||
/**
|
||||
* 根据键名查询参数配置信息
|
||||
*
|
||||
* @param configName 参数名称
|
||||
* @return 参数配置信息
|
||||
*/
|
||||
public Config selectConfigByKey(String configKey);
|
||||
|
||||
/**
|
||||
* 查询参数配置列表
|
||||
*
|
||||
* @param config 参数配置信息
|
||||
* @return 参数配置集合
|
||||
*/
|
||||
public List<Config> selectConfigList(Config config);
|
||||
|
||||
/**
|
||||
* 新增参数配置
|
||||
*
|
||||
* @param config 参数配置信息
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertConfig(Config config);
|
||||
|
||||
/**
|
||||
* 修改参数配置
|
||||
*
|
||||
* @param config 参数配置信息
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateConfig(Config config);
|
||||
|
||||
/**
|
||||
* 删除参数配置
|
||||
*
|
||||
* @param configId 参数配置ID
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteConfigById(Integer configId);
|
||||
|
||||
/**
|
||||
* 批量删除参数配置
|
||||
*
|
||||
* @param configIds 需要删除的数据ID
|
||||
* @return 结果
|
||||
*/
|
||||
public int batchDeleteConfig(Integer[] configIds);
|
||||
|
||||
}
|
@ -0,0 +1,154 @@
|
||||
package com.ruoyi.project.system.config.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.ruoyi.common.constant.UserConstants;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.project.system.config.domain.Config;
|
||||
import com.ruoyi.project.system.config.mapper.ConfigMapper;
|
||||
|
||||
/**
|
||||
* 参数配置 服务层实现
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Service
|
||||
public class ConfigServiceImpl implements IConfigService
|
||||
{
|
||||
@Autowired
|
||||
private ConfigMapper configMapper;
|
||||
|
||||
/**
|
||||
* 查询参数配置信息
|
||||
*
|
||||
* @param configId 参数配置ID
|
||||
* @return 参数配置信息
|
||||
*/
|
||||
@Override
|
||||
public Config selectConfigById(Integer configId)
|
||||
{
|
||||
return configMapper.selectConfigById(configId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据键名查询参数配置信息
|
||||
*
|
||||
* @param configName 参数名称
|
||||
* @return 参数键值
|
||||
*/
|
||||
@Override
|
||||
public String selectConfigByKey(String configKey)
|
||||
{
|
||||
Config config = configMapper.selectConfigByKey(configKey);
|
||||
return StringUtils.isNotNull(config) ? config.getConfigValue() : "";
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询参数配置列表
|
||||
*
|
||||
* @param config 参数配置信息
|
||||
* @return 参数配置集合
|
||||
*/
|
||||
@Override
|
||||
public List<Config> selectConfigList(Config config)
|
||||
{
|
||||
return configMapper.selectConfigList(config);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增参数配置
|
||||
*
|
||||
* @param config 参数配置信息
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int insertConfig(Config config)
|
||||
{
|
||||
return configMapper.insertConfig(config);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改参数配置
|
||||
*
|
||||
* @param config 参数配置信息
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateConfig(Config config)
|
||||
{
|
||||
return configMapper.updateConfig(config);
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存参数配置
|
||||
*
|
||||
* @param config 参数配置信息
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int saveConfig(Config config)
|
||||
{
|
||||
Integer configId = config.getConfigId();
|
||||
int rows = 0;
|
||||
if (StringUtils.isNotNull(configId))
|
||||
{
|
||||
rows = configMapper.updateConfig(config);
|
||||
}
|
||||
else
|
||||
{
|
||||
rows = configMapper.insertConfig(config);
|
||||
}
|
||||
return rows;
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除参数配置信息
|
||||
*
|
||||
* @param configId 参数配置ID
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteConfigById(Integer configId)
|
||||
{
|
||||
return configMapper.deleteConfigById(configId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除参数配置对象
|
||||
*
|
||||
* @param configIds 需要删除的数据ID
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int batchDeleteConfig(Integer[] configIds)
|
||||
{
|
||||
return configMapper.batchDeleteConfig(configIds);
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验参数键名是否唯一
|
||||
*
|
||||
* @param config 参数配置信息
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public String checkConfigKeyUnique(Config config)
|
||||
{
|
||||
if (config.getConfigId() == null)
|
||||
{
|
||||
config.setConfigId(-1);
|
||||
}
|
||||
Integer configId = config.getConfigId();
|
||||
Config info = configMapper.selectConfigByKey(config.getConfigKey());
|
||||
if (StringUtils.isNotNull(info) && StringUtils.isNotNull(info.getConfigId())
|
||||
&& info.getConfigId().intValue() != configId.intValue())
|
||||
{
|
||||
return UserConstants.CONFIG_KEY_NOT_UNIQUE;
|
||||
}
|
||||
return UserConstants.CONFIG_KEY_UNIQUE;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,86 @@
|
||||
package com.ruoyi.project.system.config.service;
|
||||
|
||||
import com.ruoyi.project.system.config.domain.Config;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 参数配置 服务层
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
public interface IConfigService
|
||||
{
|
||||
|
||||
/**
|
||||
* 查询参数配置信息
|
||||
*
|
||||
* @param configId 参数配置ID
|
||||
* @return 参数配置信息
|
||||
*/
|
||||
public Config selectConfigById(Integer configId);
|
||||
|
||||
/**
|
||||
* 根据键名查询参数配置信息
|
||||
*
|
||||
* @param configName 参数名称
|
||||
* @return 参数键值
|
||||
*/
|
||||
public String selectConfigByKey(String configKey);
|
||||
|
||||
/**
|
||||
* 查询参数配置列表
|
||||
*
|
||||
* @param config 参数配置信息
|
||||
* @return 参数配置集合
|
||||
*/
|
||||
public List<Config> selectConfigList(Config config);
|
||||
|
||||
/**
|
||||
* 新增参数配置
|
||||
*
|
||||
* @param config 参数配置信息
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertConfig(Config config);
|
||||
|
||||
/**
|
||||
* 修改参数配置
|
||||
*
|
||||
* @param config 参数配置信息
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateConfig(Config config);
|
||||
|
||||
/**
|
||||
* 保存参数配置
|
||||
*
|
||||
* @param config 参数配置信息
|
||||
* @return 结果
|
||||
*/
|
||||
public int saveConfig(Config config);
|
||||
|
||||
/**
|
||||
* 删除参数配置信息
|
||||
*
|
||||
* @param configId 参数配置ID
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteConfigById(Integer configId);
|
||||
|
||||
/**
|
||||
* 批量删除参数配置信息
|
||||
*
|
||||
* @param configIds 需要删除的数据ID
|
||||
* @return 结果
|
||||
*/
|
||||
public int batchDeleteConfig(Integer[] configIds);
|
||||
|
||||
/**
|
||||
* 校验参数键名是否唯一
|
||||
*
|
||||
* @param dept 部门信息
|
||||
* @return 结果
|
||||
*/
|
||||
public String checkConfigKeyUnique(Config config);
|
||||
|
||||
}
|
@ -0,0 +1,83 @@
|
||||
<?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="com.ruoyi.project.system.config.mapper.ConfigMapper">
|
||||
|
||||
<resultMap type="Config" id="ConfigResult">
|
||||
<id property="configId" column="config_id" />
|
||||
<result property="configName" column="config_name" />
|
||||
<result property="configKey" column="config_key" />
|
||||
<result property="configValue" column="config_value" />
|
||||
<result property="configType" column="config_type" />
|
||||
<result property="createBy" column="create_by" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateBy" column="update_by" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
</resultMap>
|
||||
|
||||
<select id="selectConfigById" parameterType="Integer" resultMap="ConfigResult">
|
||||
select config_id, config_name, config_key, config_value, config_type, create_by, create_time, update_by, update_time, remark from sys_config
|
||||
where config_id = #{configId}
|
||||
</select>
|
||||
|
||||
<select id="selectConfigByKey" parameterType="String" resultMap="ConfigResult">
|
||||
select config_id, config_name, config_key, config_value, config_type, create_by, create_time, update_by, update_time, remark from sys_config
|
||||
where config_key = #{configKey}
|
||||
</select>
|
||||
|
||||
<select id="selectConfigList" parameterType="Config" resultMap="ConfigResult">
|
||||
select config_id, config_name, config_key, config_value, config_type, create_by, create_time, update_by, update_time, remark from sys_config
|
||||
<where>
|
||||
<if test="searchValue != null and searchValue != ''">
|
||||
AND config_name like concat(concat('%', #{searchValue}), '%') OR config_key like concat(concat('%', #{searchValue}), '%')
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<insert id="insertConfig" parameterType="Config">
|
||||
insert into sys_config (
|
||||
<if test="configName != null and configName != '' ">config_name,</if>
|
||||
<if test="configKey != null and configKey != '' ">config_key,</if>
|
||||
<if test="configValue != null and configValue != '' ">config_value,</if>
|
||||
<if test="configType != null and configType != '' ">config_type,</if>
|
||||
<if test="createBy != null and createBy != ''">create_by,</if>
|
||||
<if test="remark != null and remark != ''">remark,</if>
|
||||
create_time
|
||||
)values(
|
||||
<if test="configName != null and configName != ''">#{configName},</if>
|
||||
<if test="configKey != null and configKey != ''">#{configKey},</if>
|
||||
<if test="configValue != null and configValue != ''">#{configValue},</if>
|
||||
<if test="configType != null and configType != ''">#{configType},</if>
|
||||
<if test="createBy != null and createBy != ''">#{createBy},</if>
|
||||
<if test="remark != null and remark != ''">#{remark},</if>
|
||||
sysdate()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateConfig" parameterType="Config">
|
||||
update sys_config
|
||||
<set>
|
||||
<if test="configName != null and configName != ''">config_name = #{configName},</if>
|
||||
<if test="configKey != null and configKey != ''">config_key = #{configKey},</if>
|
||||
<if test="configValue != null and configValue != ''">config_value = #{configValue},</if>
|
||||
<if test="configType != null and configType != ''">config_type = #{configType},</if>
|
||||
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
|
||||
<if test="remark != null and remark != ''">remark = #{remark},</if>
|
||||
update_time = sysdate()
|
||||
</set>
|
||||
where config_id = #{configId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteConfigById" parameterType="Integer">
|
||||
delete from sys_config where config_id = #{value}
|
||||
</delete>
|
||||
|
||||
<delete id="batchDeleteConfig" parameterType="Integer">
|
||||
delete from sys_config where config_id in
|
||||
<foreach item="configId" collection="array" open="(" separator="," close=")">
|
||||
#{configId}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
</mapper>
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
File diff suppressed because one or more lines are too long
@ -0,0 +1,39 @@
|
||||
$("#form-config-add").validate({
|
||||
rules:{
|
||||
configKey:{
|
||||
required:true,
|
||||
remote: {
|
||||
url: ctx + "system/config/checkConfigKeyUnique",
|
||||
type: "post",
|
||||
dataType: "json",
|
||||
data: {
|
||||
"configKey" : function() {
|
||||
return $("input[name='configKey']").val();
|
||||
}
|
||||
},
|
||||
dataFilter: function(data, type) {
|
||||
if (data == "0") return true;
|
||||
else return false;
|
||||
}
|
||||
}
|
||||
},
|
||||
configName:{
|
||||
required:true
|
||||
},
|
||||
configValue:{
|
||||
required:true
|
||||
},
|
||||
},
|
||||
messages: {
|
||||
"configKey": {
|
||||
remote: "参数键名已经存在"
|
||||
}
|
||||
},
|
||||
submitHandler:function(form){
|
||||
add();
|
||||
}
|
||||
});
|
||||
|
||||
function add() {
|
||||
_ajax_save(ctx + "system/config/save", $('#form-config-add').serialize());
|
||||
}
|
@ -0,0 +1,82 @@
|
||||
var prefix = ctx + "system/config"
|
||||
|
||||
$(function() {
|
||||
var columns = [{
|
||||
checkbox: true
|
||||
},
|
||||
{
|
||||
field : 'configId',
|
||||
title : '参数主键'
|
||||
},
|
||||
{
|
||||
field : 'configName',
|
||||
title : '参数名称'
|
||||
},
|
||||
{
|
||||
field : 'configKey',
|
||||
title : '参数键名'
|
||||
},
|
||||
{
|
||||
field : 'configValue',
|
||||
title : '参数键值'
|
||||
},
|
||||
{
|
||||
field: 'configType',
|
||||
title: '系统内置',
|
||||
align: 'center',
|
||||
formatter: function(value, row, index) {
|
||||
if (value == 'Y') {
|
||||
return '<span class="label label-success">是</span>';
|
||||
} else if (value == 'N') {
|
||||
return '<span class="label label-primary">否</span>';
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field : 'createDateTimeStr',
|
||||
title : '创建时间'
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
align: 'center',
|
||||
formatter: function(value, row, index) {
|
||||
var actions = [];
|
||||
actions.push('<a class="btn btn-primary btn-sm ' + editFlag + '" href="#" title="编辑" mce_href="#" onclick="edit(\'' + row.configId + '\')"><i class="fa fa-edit"></i></a> ');
|
||||
actions.push('<a class="btn btn-warning btn-sm ' + removeFlag + '" href="#" title="删除" onclick="remove(\'' + row.configId + '\')"><i class="fa fa-remove"></i></a>');
|
||||
return actions.join('');
|
||||
}
|
||||
}];
|
||||
var url = prefix + "/list";
|
||||
$.initTable(columns, url);
|
||||
});
|
||||
|
||||
/*参数配置-新增*/
|
||||
function add() {
|
||||
var url = prefix + '/add';
|
||||
layer_showAuto("新增参数", url);
|
||||
}
|
||||
|
||||
/*参数配置-修改*/
|
||||
function edit(configId) {
|
||||
var url = prefix + '/edit/' + configId;
|
||||
layer_showAuto("修改参数", url);
|
||||
}
|
||||
|
||||
// 单条删除
|
||||
function remove(id) {
|
||||
$.modalConfirm("确定要删除选中参数配置吗?", function() {
|
||||
_ajax(prefix + "/remove/" + id, "", "post");
|
||||
})
|
||||
}
|
||||
|
||||
// 批量删除
|
||||
function batchRemove() {
|
||||
var rows = $.getSelections("configId");
|
||||
if (rows.length == 0) {
|
||||
$.modalMsg("请选择要删除的数据", "warning");
|
||||
return;
|
||||
}
|
||||
$.modalConfirm("确认要删除选中的" + rows.length + "条数据吗?", function() {
|
||||
_ajax(prefix + '/batchRemove', { "ids": rows }, "post");
|
||||
});
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
$("#form-config-edit").validate({
|
||||
rules:{
|
||||
configKey:{
|
||||
required:true,
|
||||
remote: {
|
||||
url: ctx + "system/config/checkConfigKeyUnique",
|
||||
type: "post",
|
||||
dataType: "json",
|
||||
data: {
|
||||
"configId": function() {
|
||||
return $("input[name='configId']").val();
|
||||
},
|
||||
"configKey" : function() {
|
||||
return $("input[name='configKey']").val();
|
||||
}
|
||||
},
|
||||
dataFilter: function(data, type) {
|
||||
if (data == "0") return true;
|
||||
else return false;
|
||||
}
|
||||
}
|
||||
},
|
||||
configName:{
|
||||
required:true
|
||||
},
|
||||
configValue:{
|
||||
required:true
|
||||
},
|
||||
},
|
||||
messages: {
|
||||
"configKey": {
|
||||
remote: "参数键名已经存在"
|
||||
}
|
||||
},
|
||||
submitHandler:function(form){
|
||||
update();
|
||||
}
|
||||
});
|
||||
function update() {
|
||||
_ajax_save(ctx + "system/config/save", $('#form-config-edit').serialize());
|
||||
}
|
@ -0,0 +1,57 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<meta charset="utf-8">
|
||||
<head th:include="include :: header"></head>
|
||||
<body class="white-bg">
|
||||
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
|
||||
<form class="form-horizontal m" id="form-config-add">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">参数名称:</label>
|
||||
<div class="col-sm-8">
|
||||
<input id="configName" name="configName" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">参数键名:</label>
|
||||
<div class="col-sm-8">
|
||||
<input id="configKey" name="configKey" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">参数键值:</label>
|
||||
<div class="col-sm-8">
|
||||
<input id="configValue" name="configValue" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">系统内置:</label>
|
||||
<div class="col-sm-8">
|
||||
<div class="radio radio-info radio-inline">
|
||||
<input type="radio" id="radio1" name="configType" value="Y" checked="">
|
||||
<label for="radio1">是</label>
|
||||
</div>
|
||||
<div class="radio radio-danger radio-inline">
|
||||
<input type="radio" id="radio2" name="configType" value="N">
|
||||
<label for="radio2">否</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">备注:</label>
|
||||
<div class="col-sm-8">
|
||||
<textarea id="remark" name="remark" class="form-control"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="form-control-static col-sm-offset-9">
|
||||
<button type="submit" class="btn btn-primary">提交</button>
|
||||
<button th:onclick="'javascript:layer_close()'" class="btn btn-danger" type="button">关闭</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div th:include="include::footer"></div>
|
||||
<script src="/ruoyi/system/config/add.js" th:src="@{/ruoyi/system/config/add.js}">
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,25 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh_CN" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
|
||||
<meta charset="utf-8">
|
||||
<head th:include="include :: header"></head>
|
||||
<body class="gray-bg">
|
||||
<div class="wrapper wrapper-content">
|
||||
<div class="btn-group hidden-xs" id="tableToolbar" role="group">
|
||||
<button type="button" class="btn btn-outline btn-default" th:onclick="'javascript:add()'" shiro:hasPermission="system:config:add">
|
||||
<i class="glyphicon glyphicon-plus"></i>
|
||||
</button>
|
||||
<button type="button" class="btn btn-outline btn-default" th:onclick="'javascript:batchRemove()'" shiro:hasPermission="system:config:batchRemove">
|
||||
<i class="glyphicon glyphicon-trash"></i>
|
||||
</button>
|
||||
</div>
|
||||
<table class="bootstrap-table" data-mobile-responsive="true">
|
||||
</table>
|
||||
</div>
|
||||
<div th:include="include :: footer"></div>
|
||||
<script src="/ruoyi/system/config/config.js" th:src="@{/ruoyi/system/config/config.js}"></script>
|
||||
<script th:inline="javascript">
|
||||
var editFlag = [[${@permissionService.hasPermi('system:config:edit')}]];
|
||||
var removeFlag = [[${@permissionService.hasPermi('system:config:remove')}]];
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,58 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<meta charset="utf-8">
|
||||
<head th:include="include :: header"></head>
|
||||
<body class="white-bg">
|
||||
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
|
||||
<form class="form-horizontal m" id="form-config-edit">
|
||||
<input id="configId" name="configId" th:value="${config.configId}" type="hidden">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">参数名称:</label>
|
||||
<div class="col-sm-8">
|
||||
<input id="configName" name="configName" th:value="${config.configName}" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">参数键名:</label>
|
||||
<div class="col-sm-8">
|
||||
<input id="configKey" name="configKey" th:value="${config.configKey}" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">参数键值:</label>
|
||||
<div class="col-sm-8">
|
||||
<input id="configValue" name="configValue" th:value="${config.configValue}" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">系统内置:</label>
|
||||
<div class="col-sm-8">
|
||||
<div class="radio radio-info radio-inline">
|
||||
<input type="radio" id="radio1" th:field="*{config.configType}" name="configType" value="Y">
|
||||
<label for="radio1">是</label>
|
||||
</div>
|
||||
<div class="radio radio-danger radio-inline">
|
||||
<input type="radio" id="radio2" th:field="*{config.configType}" name="configType" value="N">
|
||||
<label for="radio2">否</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">备注:</label>
|
||||
<div class="col-sm-8">
|
||||
<textarea id="remark" name="remark" class="form-control">[[${config.remark}]]</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="form-control-static col-sm-offset-9">
|
||||
<button type="submit" class="btn btn-primary">提交</button>
|
||||
<button th:onclick="'javascript:layer_close()'" class="btn btn-danger" type="button">关闭</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div th:include="include::footer"></div>
|
||||
<script src="/ruoyi/system/config/edit.js" th:src="@{/ruoyi/system/config/edit.js}">
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue