master
wangbing 5 years ago
parent 639a83c7d1
commit 619b0f55b4

@ -81,4 +81,8 @@ public class LocalData {
public static ApplicationContext getApplicationContext() { public static ApplicationContext getApplicationContext() {
return WebApplicationContextUtils.getWebApplicationContext(getRequest().getServletContext()); return WebApplicationContextUtils.getWebApplicationContext(getRequest().getServletContext());
} }
public static <T> T getBean(Class<T> t) {
return getApplicationContext().getBean(t);
}
} }

@ -1,8 +1,15 @@
package ${basePackage}.frame.validation; package ${basePackage}.frame.validation;
import ${basePackage}.frame.auth.LocalData;
import ${basePackage}.frame.utils.StringUtil;
import ${basePackage}.module.system.ent.DictItem;
import ${basePackage}.module.system.mgr.DictManager;
import ${basePackage}.module.system.req.DictLoadRequest;
import ${basePackage}.module.system.rsp.DictLoadResponse;
import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext; import javax.validation.ConstraintValidatorContext;
import java.util.HashSet; import java.util.List;
public class DictValidator implements ConstraintValidator<Dict, String> { public class DictValidator implements ConstraintValidator<Dict, String> {
@ -15,7 +22,7 @@ public class DictValidator implements ConstraintValidator<Dict, String> {
@Override @Override
public boolean isValid(String o, ConstraintValidatorContext constraintValidatorContext) { public boolean isValid(String o, ConstraintValidatorContext constraintValidatorContext) {
if (null == o) { if (StringUtil.isEmpty(o)) {
return true; return true;
} else if (name == null) { } else if (name == null) {
constraintValidatorContext.disableDefaultConstraintViolation(); constraintValidatorContext.disableDefaultConstraintViolation();
@ -23,8 +30,25 @@ public class DictValidator implements ConstraintValidator<Dict, String> {
return false; return false;
} else { } else {
// name 字典名称 // name 字典名称
HashSet<String> codeSet = new HashSet<>(); DictLoadRequest dictLoadRequest = new DictLoadRequest();
if (codeSet.contains(o)) { dictLoadRequest.setDictName(name);
DictManager dictManager = LocalData.getBean(DictManager.class);
DictLoadResponse dictLoadResponse = dictManager.load(dictLoadRequest, LocalData.getSysToken());
if (dictLoadResponse.hasError()) {
constraintValidatorContext.disableDefaultConstraintViolation();
constraintValidatorContext.buildConstraintViolationWithTemplate("验证字典[" + name + "]值出现异常->" + dictLoadResponse.getErrors().get(0).getMessage()).addConstraintViolation();
}
List<DictItem> dictItems = dictLoadResponse.getDictItems();
int i = 0;
for (; i < dictItems.size(); i++) {
DictItem dictItem = dictItems.get(i);
if (o.equals(dictItem.getKey())) {
break;
}
}
if (i < dictItems.size()) {
return true; return true;
} else { } else {
constraintValidatorContext.disableDefaultConstraintViolation(); constraintValidatorContext.disableDefaultConstraintViolation();

@ -4,7 +4,6 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="${basePackage}.module.${moduleName}.mpr.${table.getCName()}Mapper"> <mapper namespace="${basePackage}.module.${moduleName}.mpr.${table.getCName()}Mapper">
<#if dataBase == 'ORACLE'> <#if dataBase == 'ORACLE'>
<sql id="table">"${module.modulePrefix?default("")}${table.tableName}"</sql> <sql id="table">"${module.modulePrefix?default("")}${table.tableName}"</sql>
<#elseif dataBase='MYSQL'> <#elseif dataBase='MYSQL'>

@ -22,16 +22,16 @@ public class Dict extends BaseEntity {
@ColumnDescription("1-50长度的字典名称") @ColumnDescription("1-50长度的字典名称")
private String dictName; private String dictName;
/** /**
* DICT_CODE - * DICT_COMMENT -
*/ */
@ColumnName("字典代码") @ColumnName("字典描述")
@ColumnDescription("1-50长度的字典代码") @ColumnDescription("1-50长度的字典描述")
private String dictCode; private String dictComment;
/** /**
* VERSION - * VERSION -
*/ */
@ColumnName("字典版本") @ColumnName("字典版本")
@ColumnDescription("字典版本.例如:yyyy-MM-dd HH:mm:ss") @ColumnDescription("字典版本.例如:yyyy-MM-dd HH:mm:ss")
private String version; private String version;
/** /**
* VALID - * VALID -
@ -48,12 +48,12 @@ public class Dict extends BaseEntity {
this.dictName = dictName; this.dictName = dictName;
} }
public String getDictCode() { public String getDictComment() {
return this.dictCode; return this.dictComment;
} }
public void setDictCode(String dictCode) { public void setDictComment(String dictComment) {
this.dictCode = dictCode; this.dictComment = dictComment;
} }
public String getVersion() { public String getVersion() {

@ -16,19 +16,19 @@ import ${basePackage}.frame.excel.annotation.SheetName;
public class DictItem extends BaseEntity { public class DictItem extends BaseEntity {
/** /**
* DICT_ID - ID * DICT_NAME -
*/ */
@ColumnName("字典主键") @ColumnName("字典名称")
@ColumnDescription("字典主键一般为一窜数字,可通过字典查询页获取字典主键") @ColumnDescription("字典名称,可为中文或英文,且不能出现重复")
private Long dictId; private String dictName;
/** /**
* KEY - KEY * KEY -
*/ */
@ColumnName("字典键") @ColumnName("字典键")
@ColumnDescription("字典键一般使用数字或字母 01,02... A,B...") @ColumnDescription("字典键一般使用数字或字母 01,02... A,B...")
private String key; private String key;
/** /**
* VALUE - VALUE * VALUE -
*/ */
@ColumnName("字典值") @ColumnName("字典值")
@ColumnDescription("字典值一般是实际意思字符或文字\n 长度在(1-100)之间") @ColumnDescription("字典值一般是实际意思字符或文字\n 长度在(1-100)之间")
@ -46,12 +46,12 @@ public class DictItem extends BaseEntity {
@ColumnDescription("用于标识该字典值是否有效") @ColumnDescription("用于标识该字典值是否有效")
private Boolean valid; private Boolean valid;
public Long getDictId() { public String getDictName() {
return this.dictId; return this.dictName;
} }
public void setDictId(Long dictId) { public void setDictName(String dictName) {
this.dictId = dictId; this.dictName = dictName;
} }
public String getKey() { public String getKey() {

@ -180,20 +180,19 @@ public class DictManagerImpl implements DictManager {
} }
DictFindRequest dictFindRequest = new DictFindRequest(); DictFindRequest dictFindRequest = new DictFindRequest();
dictFindRequest.setDictCode(request.getDictCode()); dictFindRequest.setDictName(request.getDictName());
dictFindRequest.setValid(true); dictFindRequest.setValid(true);
List<Dict> dicts = dictMapper.find(dictFindRequest, token); List<Dict> dicts = dictMapper.find(dictFindRequest, token);
if (dicts.size() == 0) { if (dicts.size() == 0) {
response.addError(ErrorType.BUSINESS_ERROR, "字典不存在"); response.addError(ErrorType.BUSINESS_ERROR, "字典不存在");
return response; return response;
} else if (dicts.size() > 1) { } else if (dicts.size() > 1) {
response.addError(ErrorType.BUSINESS_ERROR, "字典库异常"); response.addError(ErrorType.BUSINESS_ERROR, "字典重复异常,请联系管理员");
return response; return response;
} }
response.setDict(dicts.get(0));
DictItemFindRequest dictItemFindRequest = new DictItemFindRequest(); DictItemFindRequest dictItemFindRequest = new DictItemFindRequest();
dictItemFindRequest.setDictId(response.getDict().getId()); dictItemFindRequest.setDictName(request.getDictName());
DictItemFindResponse dictItemFindResponse = dictItemManager.find(dictItemFindRequest, token); DictItemFindResponse dictItemFindResponse = dictItemManager.find(dictItemFindRequest, token);
if (dictItemFindResponse.hasError()) { if (dictItemFindResponse.hasError()) {
response.addErrors(dictItemFindResponse.getErrors()); response.addErrors(dictItemFindResponse.getErrors());

@ -2,19 +2,18 @@
<!DOCTYPE mapper <!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="${basePackage}.module.system.mpr.DictItemMapper"> <mapper namespace="xyz.wbsite.module.system.mpr.DictItemMapper">
<sql id="table">`SYS_DICT_ITEM`</sql> <sql id="table">`SYS_DICT_ITEM`</sql>
<sql id="entityColumnList"> <sql id="entityColumnList">
`ID`,`DICT_ID`,`KEY`,`VALUE`,`SORT`,`VALID`,`ROW_VERSION`,`IS_DELETED`,`CREATE_BY`,`CREATE_TIME`,`LAST_UPDATE_BY`,`LAST_UPDATE_TIME` `ID`,`DICT_NAME`,`KEY`,`VALUE`,`SORT`,`VALID`,`ROW_VERSION`,`IS_DELETED`,`CREATE_BY`,`CREATE_TIME`,`LAST_UPDATE_BY`,`LAST_UPDATE_TIME`
</sql> </sql>
<resultMap id="dictItem" type="${basePackage}.module.system.ent.DictItem"> <resultMap id="dictItem" type="xyz.wbsite.module.system.ent.DictItem">
<result column="ID" jdbcType="BIGINT" property="id"/> <result column="ID" jdbcType="BIGINT" property="id"/>
<result column="DICT_ID" jdbcType="BIGINT" property="dictId"/> <result column="DICT_NAME" jdbcType="VARCHAR" property="dictName"/>
<result column="KEY" jdbcType="CHAR" property="key"/> <result column="KEY" jdbcType="VARCHAR" property="key"/>
<result column="VALUE" jdbcType="VARCHAR" property="value"/> <result column="VALUE" jdbcType="VARCHAR" property="value"/>
<result column="SORT" jdbcType="INTEGER" property="sort"/> <result column="SORT" jdbcType="INTEGER" property="sort"/>
<result column="VALID" jdbcType="BIT" property="valid"/> <result column="VALID" jdbcType="BIT" property="valid"/>
@ -36,8 +35,8 @@
<if test="request.id != null and request.id != ''"> <if test="request.id != null and request.id != ''">
AND `ID` = ${r"#{"}request.id} AND `ID` = ${r"#{"}request.id}
</if> </if>
<if test="request.dictId != null and request.dictId != ''"> <if test="request.dictName != null and request.dictName != ''">
AND `DICT_ID` = ${r"#{"}request.dictId} AND `DICT_NAME` = ${r"#{"}request.dictName}
</if> </if>
<if test="request.key != null and request.key != ''"> <if test="request.key != null and request.key != ''">
AND `KEY` = ${r"#{"}request.key} AND `KEY` = ${r"#{"}request.key}
@ -71,8 +70,8 @@
VALUES VALUES
( (
${r"#{"}request.id}, ${r"#{"}request.id},
${r"#{"}request.dictId,jdbcType=BIGINT}, ${r"#{"}request.dictName,jdbcType=VARCHAR},
${r"#{"}request.key,jdbcType=CHAR}, ${r"#{"}request.key,jdbcType=VARCHAR},
${r"#{"}request.value,jdbcType=VARCHAR}, ${r"#{"}request.value,jdbcType=VARCHAR},
${r"#{"}request.sort,jdbcType=INTEGER}, ${r"#{"}request.sort,jdbcType=INTEGER},
${r"#{"}request.valid,jdbcType=BIT}, ${r"#{"}request.valid,jdbcType=BIT},
@ -90,7 +89,7 @@
<include refid="table"/> <include refid="table"/>
SET `IS_DELETED` = 1 SET `IS_DELETED` = 1
WHERE `IS_DELETED` = 0 WHERE `IS_DELETED` = 0
AND `ID` = ${r"#"}{request.id} AND `ID` = ${r"#{"}request.id}
</update> </update>
<update id="update"> <update id="update">

@ -4,17 +4,16 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="${basePackage}.module.system.mpr.DictMapper"> <mapper namespace="${basePackage}.module.system.mpr.DictMapper">
<sql id="table">`SYS_DICT`</sql> <sql id="table">`SYS_DICT`</sql>
<sql id="entityColumnList"> <sql id="entityColumnList">
`ID`,`DICT_NAME`,`DICT_CODE`,`VERSION`,`VALID`,`ROW_VERSION`,`IS_DELETED`,`CREATE_BY`,`CREATE_TIME`,`LAST_UPDATE_BY`,`LAST_UPDATE_TIME` `ID`,`DICT_NAME`,`DICT_COMMENT`,`VERSION`,`VALID`,`ROW_VERSION`,`IS_DELETED`,`CREATE_BY`,`CREATE_TIME`,`LAST_UPDATE_BY`,`LAST_UPDATE_TIME`
</sql> </sql>
<resultMap id="dict" type="${basePackage}.module.system.ent.Dict"> <resultMap id="dict" type="${basePackage}.module.system.ent.Dict">
<result column="ID" jdbcType="BIGINT" property="id"/> <result column="ID" jdbcType="BIGINT" property="id"/>
<result column="DICT_NAME" jdbcType="VARCHAR" property="dictName"/> <result column="DICT_NAME" jdbcType="VARCHAR" property="dictName"/>
<result column="DICT_CODE" jdbcType="VARCHAR" property="dictCode"/> <result column="DICT_COMMENT" jdbcType="VARCHAR" property="dictComment"/>
<result column="VERSION" jdbcType="VARCHAR" property="version"/> <result column="VERSION" jdbcType="VARCHAR" property="version"/>
<result column="VALID" jdbcType="BIT" property="valid"/> <result column="VALID" jdbcType="BIT" property="valid"/>
<result column="ROW_VERSION" jdbcType="BIGINT" property="rowVersion"/> <result column="ROW_VERSION" jdbcType="BIGINT" property="rowVersion"/>
@ -38,8 +37,8 @@
<if test="request.dictName != null and request.dictName != ''"> <if test="request.dictName != null and request.dictName != ''">
AND `DICT_NAME` = ${r"#"}{request.dictName} AND `DICT_NAME` = ${r"#"}{request.dictName}
</if> </if>
<if test="request.dictCode != null and request.dictCode != ''"> <if test="request.dictComment != null and request.dictComment != ''">
AND `DICT_CODE` = ${r"#"}{request.dictCode} AND `DICT_COMMENT` = ${r"#"}{request.dictComment}
</if> </if>
<if test="request.valid != null"> <if test="request.valid != null">
AND `VALID` = ${r"#"}{request.valid} AND `VALID` = ${r"#"}{request.valid}
@ -68,7 +67,7 @@
( (
${r"#{"}request.id}, ${r"#{"}request.id},
${r"#{"}request.dictName,jdbcType=VARCHAR}, ${r"#{"}request.dictName,jdbcType=VARCHAR},
${r"#{"}request.dictCode,jdbcType=VARCHAR}, ${r"#{"}request.dictComment,jdbcType=VARCHAR},
${r"#{"}request.version,jdbcType=VARCHAR}, ${r"#{"}request.version,jdbcType=VARCHAR},
${r"#{"}request.valid,jdbcType=BIT}, ${r"#{"}request.valid,jdbcType=BIT},
0, 0,
@ -93,7 +92,7 @@
<include refid="table"/> <include refid="table"/>
SET SET
`DICT_NAME` = ${r"#{"}request.dictName,jdbcType=VARCHAR}, `DICT_NAME` = ${r"#{"}request.dictName,jdbcType=VARCHAR},
`DICT_CODE` = ${r"#{"}request.dictCode,jdbcType=VARCHAR}, `DICT_COMMENT` = ${r"#{"}request.dictComment,jdbcType=VARCHAR},
`VERSION` = ${r"#{"}request.version,jdbcType=VARCHAR}, `VERSION` = ${r"#{"}request.version,jdbcType=VARCHAR},
`VALID` = ${r"#{"}request.valid,jdbcType=BIT}, `VALID` = ${r"#{"}request.valid,jdbcType=BIT},
`ROW_VERSION` = `ROW_VERSION` + 1, `ROW_VERSION` = `ROW_VERSION` + 1,

@ -24,15 +24,15 @@ public class DictCreateRequest extends BaseRequest {
/** /**
* *
*/ */
@NotEmpty(message = "字典代码不能为空") @NotEmpty(message = "字典描述不能为空")
@Length(min = 1, max = 50, message = "字典代码长度不合法(1-50)") @Length(min = 1, max = 50, message = "字典描述长度不合法(1-50)")
private String dictCode; private String dictComment;
/** /**
* *
*/ */
@NotEmpty(message = "字典版本不能为空") @NotEmpty(message = "字典版本不能为空")
@Length(min = 1, max = 50, message = "字典版本长度不合法(1-50)") @Length(min = 1, max = 50, message = "字典版本长度不合法(1-50)")
private String version; private String version;
/** /**
@ -49,12 +49,12 @@ public class DictCreateRequest extends BaseRequest {
this.dictName = dictName; this.dictName = dictName;
} }
public String getDictCode() { public String getDictComment() {
return this.dictCode; return this.dictComment;
} }
public void setDictCode(String dictCode) { public void setDictComment(String dictComment) {
this.dictCode = dictCode; this.dictComment = dictComment;
} }
public String getVersion() { public String getVersion() {

@ -23,7 +23,7 @@ public class DictFindRequest extends BaseFindRequest {
/** /**
* *
*/ */
private String dictCode; private String dictComment;
/** /**
* *
@ -46,12 +46,12 @@ public class DictFindRequest extends BaseFindRequest {
this.dictName = dictName; this.dictName = dictName;
} }
public String getDictCode() { public String getDictComment() {
return this.dictCode; return this.dictComment;
} }
public void setDictCode(String dictCode) { public void setDictComment(String dictComment) {
this.dictCode = dictCode; this.dictComment = dictComment;
} }
public Boolean getValid() { public Boolean getValid() {

@ -15,21 +15,21 @@ import javax.validation.constraints.NotNull;
public class DictItemCreateRequest extends BaseRequest { public class DictItemCreateRequest extends BaseRequest {
/** /**
* ID *
*/ */
@NotNull(message = "字典主键不能为空") @NotNull(message = "字典名称不能为空")
private Long dictId; private String dictName;
/** /**
* KEY *
*/ */
@Length(min = 1, max = 10, message = "字典KEY长度不合法(1-10)") @Length(min = 1, max = 10, message = "字典长度不合法(1-10)")
private String key; private String key;
/** /**
* VALUE *
*/ */
@Length(min = 1, max = 100, message = "字典VALUE长度不合法(1-100)") @Length(min = 1, max = 100, message = "字典长度不合法(1-100)")
private String value; private String value;
/** /**
@ -44,12 +44,12 @@ public class DictItemCreateRequest extends BaseRequest {
@NotNull(message = "是否有效不能为空") @NotNull(message = "是否有效不能为空")
private Boolean valid; private Boolean valid;
public Long getDictId() { public String getDictName() {
return this.dictId; return this.dictName;
} }
public void setDictId(Long dictId) { public void setDictName(String dictName) {
this.dictId = dictId; this.dictName = dictName;
} }
public String getKey() { public String getKey() {

@ -16,17 +16,17 @@ public class DictItemFindRequest extends BaseFindRequest {
*/ */
private Long id; private Long id;
/** /**
* ID *
*/ */
private Long dictId; private String dictName;
/** /**
* KEY *
*/ */
private String key; private String key;
/** /**
* VALUE *
*/ */
private String value; private String value;
@ -48,12 +48,12 @@ public class DictItemFindRequest extends BaseFindRequest {
this.id = id; this.id = id;
} }
public Long getDictId() { public String getDictName() {
return this.dictId; return this.dictName;
} }
public void setDictId(Long dictId) { public void setDictName(String dictName) {
this.dictId = dictId; this.dictName = dictName;
} }
public String getKey() { public String getKey() {

@ -21,15 +21,15 @@ public class DictItemUpdateRequest extends BaseUpdateRequest {
private Long id; private Long id;
/** /**
* KEY *
*/ */
@Length(min = 0, max = 10, message = "字典KEY长度不合法(0-10)") @Length(min = 0, max = 10, message = "字典长度不合法(0-10)")
private String key; private String key;
/** /**
* VALUE *
*/ */
@Length(min = 0, max = 100, message = "字典VALUE长度不合法(0-100)") @Length(min = 0, max = 100, message = "字典长度不合法(0-100)")
private String value; private String value;
/** /**

@ -6,7 +6,7 @@ import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
/** /**
* DictGetRequest - * DictLoadRequest -
* *
* @author wangbing * @author wangbing
* @version 0.0.1 * @version 0.0.1
@ -14,18 +14,14 @@ import javax.validation.constraints.NotNull;
*/ */
public class DictLoadRequest extends BaseRequest { public class DictLoadRequest extends BaseRequest {
/**
*
*/
@NotNull(message = "字典名称不能为空")
@NotBlank(message = "字典名称不能为空") @NotBlank(message = "字典名称不能为空")
private String dictCode; private String dictName;
public String getDictCode() { public String getDictName() {
return dictCode; return dictName;
} }
public void setDictCode(String dictCode) { public void setDictName(String dictName) {
this.dictCode = dictCode; this.dictName = dictName;
} }
} }

@ -31,15 +31,15 @@ public class DictUpdateRequest extends BaseUpdateRequest {
/** /**
* *
*/ */
@NotEmpty(message = "字典代码不能为空") @NotEmpty(message = "字典描述不能为空")
@Length(min = 0, max = 50, message = "字典代码长度不合法(0-50)") @Length(min = 0, max = 50, message = "字典描述长度不合法(0-50)")
private String dictCode; private String dictComment;
/** /**
* *
*/ */
@NotEmpty(message = "字典版本不能为空") @NotEmpty(message = "字典版本不能为空")
@Length(min = 0, max = 50, message = "字典版本长度不合法(0-50)") @Length(min = 0, max = 50, message = "字典版本长度不合法(0-50)")
private String version; private String version;
/** /**
@ -64,12 +64,12 @@ public class DictUpdateRequest extends BaseUpdateRequest {
this.dictName = dictName; this.dictName = dictName;
} }
public String getDictCode() { public String getDictComment() {
return this.dictCode; return this.dictComment;
} }
public void setDictCode(String dictCode) { public void setDictComment(String dictComment) {
this.dictCode = dictCode; this.dictComment = dictComment;
} }
public String getVersion() { public String getVersion() {

@ -1,7 +1,7 @@
/* /*
Target : MYSQL Target : MYSQL
Author Author
Date: 2019-10-08 Date: 2019-11-23
*/ */
-- ---------------------------- -- ----------------------------
@ -11,8 +11,8 @@ Date: 2019-10-08
CREATE TABLE `SYS_DICT` ( CREATE TABLE `SYS_DICT` (
`ID` BIGINT(20) NOT NULL COMMENT '主键', `ID` BIGINT(20) NOT NULL COMMENT '主键',
`DICT_NAME` VARCHAR(50) NOT NULL COMMENT '字典名称', `DICT_NAME` VARCHAR(50) NOT NULL COMMENT '字典名称',
`DICT_CODE` VARCHAR(50) NOT NULL COMMENT '字典代码', `DICT_COMMENT` VARCHAR(50) NOT NULL COMMENT '字典描述',
`VERSION` VARCHAR(50) NOT NULL COMMENT '字典版本', `VERSION` VARCHAR(50) NOT NULL COMMENT '字典版本',
`VALID` TINYINT(1) NOT NULL COMMENT '是否有效', `VALID` TINYINT(1) NOT NULL COMMENT '是否有效',
`ROW_VERSION` BIGINT(20) NOT NULL DEFAULT 0 COMMENT '行版本', `ROW_VERSION` BIGINT(20) NOT NULL DEFAULT 0 COMMENT '行版本',
`IS_DELETED` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否已删除', `IS_DELETED` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否已删除',

@ -1,7 +1,7 @@
/* /*
Target : MYSQL Target : MYSQL
Author Author
Date: 2019-10-08 Date: 2019-11-23
*/ */
-- ---------------------------- -- ----------------------------
@ -10,9 +10,9 @@ Date: 2019-10-08
CREATE TABLE `SYS_DICT_ITEM` ( CREATE TABLE `SYS_DICT_ITEM` (
`ID` BIGINT(20) NOT NULL COMMENT '主键', `ID` BIGINT(20) NOT NULL COMMENT '主键',
`DICT_ID` BIGINT(20) NOT NULL COMMENT '字典ID', `DICT_NAME` VARCHAR(50) NOT NULL COMMENT '字典名称',
`KEY` CHAR(10) NOT NULL COMMENT '字典KEY', `KEY` VARCHAR(50) NOT NULL COMMENT '字典',
`VALUE` VARCHAR(100) NOT NULL COMMENT '字典VALUE', `VALUE` VARCHAR(100) NOT NULL COMMENT '字典',
`SORT` INTEGER(10) NOT NULL COMMENT '排序', `SORT` INTEGER(10) NOT NULL COMMENT '排序',
`VALID` TINYINT(1) NOT NULL COMMENT '是否有效', `VALID` TINYINT(1) NOT NULL COMMENT '是否有效',
`ROW_VERSION` BIGINT(20) NOT NULL DEFAULT 0 COMMENT '行版本', `ROW_VERSION` BIGINT(20) NOT NULL DEFAULT 0 COMMENT '行版本',

@ -512,9 +512,57 @@
}, },
filters: {}, filters: {},
watch: {} watch: {}
} };
// 实例化工具 // 实例化工具
window.nav = new Vue({ window.nav = new Vue({
mixins: [mixin] mixins: [mixin]
});
//字典组件
Vue.component('el-input-dict', {
data: function () {
return {
options: []
}
},
props: {
value: {
type: String,
default: ''
},
dictName: {
type: String,
default: ''
},
size: {
type: String,
default: 'small'
},
placeholder: {
type: String,
default: ''
},
},
methods: {
input: function (value) {
this.$emit('input', value);
}
},
created: function () {
if (this.dictName) {
this.$ajax.load("system", "dict", {dictName: this.dictName}).then(function (response) {
if (response.errors.length > 0) {
this.e(response.errors[0].message)
} else {
this.options = response.dictItems;
}
}.bind(this))
}
},
template: '' +
'<el-select :value="value" @input="input" filterable placeholder="请选择" :size="size" :placeholder="placeholder">' +
' <el-option v-for="item in options" :key="item.key" :label="item.value" :value="item.key">' +
' <span style="float:left">[{{ item.key }}]{{ item.value }}</span>' +
' </el-option>' +
'</el-select>'
}) })
</script> </script>

@ -5,7 +5,7 @@
<#if item.isQuery> <#if item.isQuery>
<#if item.fieldType.javaType() =="Boolean"> <#if item.fieldType.javaType() =="Boolean">
<el-form-item label="${item.fieldComment?default("")}" prop="${item.getFName()}"> <el-form-item label="${item.fieldComment?default("")}" prop="${item.getFName()}">
<el-radio-group v-model="vm.${item.getFName()}" clearable> <el-radio-group v-model="vm.${item.getFName()}" clearable size="small">
<el-radio :label="true">是</el-radio> <el-radio :label="true">是</el-radio>
<el-radio :label="false">否</el-radio> <el-radio :label="false">否</el-radio>
</el-radio-group> </el-radio-group>
@ -15,7 +15,9 @@
<el-input v-model="vm.${item.getFName()}" clearable size="small" placeholder="请输入${item.fieldComment?default("")}"></el-input> <el-input v-model="vm.${item.getFName()}" clearable size="small" placeholder="请输入${item.fieldComment?default("")}"></el-input>
</el-form-item> </el-form-item>
<#elseif item.fieldType.javaType() =="String" && item.fieldType == "Dict"> <#elseif item.fieldType.javaType() =="String" && item.fieldType == "Dict">
<el-form-item label="${item.fieldComment?default("")}" prop="${item.getFName()}">
<el-input-dict v-model="vm.${item.getFName()}" clearable size="small" placeholder="请输入${item.fieldComment?default("")}" dict-name="${item.getFName()}" ></el-input-dict>
</el-form-item>
<#elseif item.fieldType.javaType() =="Byte"> <#elseif item.fieldType.javaType() =="Byte">
<el-form-item label="${item.fieldComment?default("")}" prop="${item.getFName()}"> <el-form-item label="${item.fieldComment?default("")}" prop="${item.getFName()}">
<el-input-number v-model="vm.${item.getFName()}" clearable size="small" placeholder="请输入${item.fieldComment?default("")}" :min="-128" :max="127" :step="1" step-strictly></el-input-number> <el-input-number v-model="vm.${item.getFName()}" clearable size="small" placeholder="请输入${item.fieldComment?default("")}" :min="-128" :max="127" :step="1" step-strictly></el-input-number>
@ -80,57 +82,59 @@
<#if !item.isSystem> <#if !item.isSystem>
<#if item.fieldType.javaType() =="Boolean"> <#if item.fieldType.javaType() =="Boolean">
<el-form-item label="${item.fieldComment?default("")}" prop="${item.getFName()}"> <el-form-item label="${item.fieldComment?default("")}" prop="${item.getFName()}">
<el-radio-group v-model="vm.${item.getFName()}" clearable> <el-radio-group v-model="form.${item.getFName()}" clearable size="small">
<el-radio :label="true">是</el-radio> <el-radio :label="true">是</el-radio>
<el-radio :label="false">否</el-radio> <el-radio :label="false">否</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<#elseif item.fieldType.javaType() =="String" && item.fieldType != "Dict"> <#elseif item.fieldType.javaType() =="String" && item.fieldType != "Dict">
<el-form-item label="${item.fieldComment?default("")}" prop="${item.getFName()}"> <el-form-item label="${item.fieldComment?default("")}" prop="${item.getFName()}">
<el-input v-model="vm.${item.getFName()}" clearable size="small" placeholder="请输入${item.fieldComment?default("")}"></el-input> <el-input v-model="form.${item.getFName()}" clearable size="small" placeholder="请输入${item.fieldComment?default("")}"></el-input>
</el-form-item> </el-form-item>
<#elseif item.fieldType.javaType() =="String" && item.fieldType == "Dict"> <#elseif item.fieldType.javaType() =="String" && item.fieldType == "Dict">
<el-form-item label="${item.fieldComment?default("")}" prop="${item.getFName()}">
<el-input-dict v-model="form.${item.getFName()}" clearable size="small" placeholder="请输入${item.fieldComment?default("")}" dict-name="${item.getFName()}" ></el-input-dict>
</el-form-item>
<#elseif item.fieldType.javaType() =="Byte"> <#elseif item.fieldType.javaType() =="Byte">
<el-form-item label="${item.fieldComment?default("")}" prop="${item.getFName()}"> <el-form-item label="${item.fieldComment?default("")}" prop="${item.getFName()}">
<el-input-number v-model="vm.${item.getFName()}"clearable size="small" placeholder="请输入${item.fieldComment?default("")}" :min="-128" :max="127" :step="1" step-strictly></el-input-number> <el-input-number v-model="form.${item.getFName()}"clearable size="small" placeholder="请输入${item.fieldComment?default("")}" :min="-128" :max="127" :step="1" step-strictly></el-input-number>
</el-form-item> </el-form-item>
<#elseif item.fieldType.javaType() =="Short"> <#elseif item.fieldType.javaType() =="Short">
<el-form-item label="${item.fieldComment?default("")}" prop="${item.getFName()}"> <el-form-item label="${item.fieldComment?default("")}" prop="${item.getFName()}">
<el-input-number v-model="vm.${item.getFName()}"clearable size="small" placeholder="请输入${item.fieldComment?default("")}" :min="-32768" :max="32767" :step="1" step-strictly></el-input-number> <el-input-number v-model="form.${item.getFName()}" clearable size="small" placeholder="请输入${item.fieldComment?default("")}" :min="-32768" :max="32767" :step="1" step-strictly></el-input-number>
</el-form-item> </el-form-item>
<#elseif item.fieldType.javaType() =="Integer"> <#elseif item.fieldType.javaType() =="Integer">
<el-form-item label="${item.fieldComment?default("")}" prop="${item.getFName()}"> <el-form-item label="${item.fieldComment?default("")}" prop="${item.getFName()}">
<el-input-number v-model="vm.${item.getFName()}"clearable size="small" placeholder="请输入${item.fieldComment?default("")}" :min="-2147483648" :max="2147483647" :step="1" step-strictly></el-input-number> <el-input-number v-model="form.${item.getFName()}" clearable size="small" placeholder="请输入${item.fieldComment?default("")}" :min="-2147483648" :max="2147483647" :step="1" step-strictly></el-input-number>
</el-form-item> </el-form-item>
<#elseif item.fieldType.javaType() =="Long"> <#elseif item.fieldType.javaType() =="Long">
<el-form-item label="${item.fieldComment?default("")}" prop="${item.getFName()}"> <el-form-item label="${item.fieldComment?default("")}" prop="${item.getFName()}">
<el-input-number v-model="vm.${item.getFName()}"clearable size="small" placeholder="请输入${item.fieldComment?default("")}" :step="1" step-strictly></el-input-number> <el-input-number v-model="form.${item.getFName()}" clearable size="small" placeholder="请输入${item.fieldComment?default("")}" :step="1" step-strictly></el-input-number>
</el-form-item> </el-form-item>
<#elseif item.fieldType.javaType() =="Float"> <#elseif item.fieldType.javaType() =="Float">
<el-form-item label="${item.fieldComment?default("")}" prop="${item.getFName()}"> <el-form-item label="${item.fieldComment?default("")}" prop="${item.getFName()}">
<el-input-number v-model="vm.${item.getFName()}"clearable size="small" placeholder="请输入${item.fieldComment?default("")}" :step="0.01" step-strictly :precision="2"></el-input-number> <el-input-number v-model="form.${item.getFName()}" clearable size="small" placeholder="请输入${item.fieldComment?default("")}" :step="0.01" step-strictly :precision="2"></el-input-number>
</el-form-item> </el-form-item>
<#elseif item.fieldType.javaType() =="Double"> <#elseif item.fieldType.javaType() =="Double">
<el-form-item label="${item.fieldComment?default("")}" prop="${item.getFName()}"> <el-form-item label="${item.fieldComment?default("")}" prop="${item.getFName()}">
<el-input-number v-model="vm.${item.getFName()}"clearable size="small" placeholder="请输入${item.fieldComment?default("")}" :step="0.01" step-strictly :precision="2"></el-input-number> <el-input-number v-model="form.${item.getFName()}" clearable size="small" placeholder="请输入${item.fieldComment?default("")}" :step="0.01" step-strictly :precision="2"></el-input-number>
</el-form-item> </el-form-item>
<#elseif item.fieldType.javaType() =="Character"> <#elseif item.fieldType.javaType() =="Character">
<el-form-item label="${item.fieldComment?default("")}" prop="${item.getFName()}"> <el-form-item label="${item.fieldComment?default("")}" prop="${item.getFName()}">
<el-input v-model="vm.${item.getFName()}" clearable size="small" placeholder="请输入${item.fieldComment?default("")}" minlength="0" maxlength="1"></el-input> <el-input v-model="form.${item.getFName()}" clearable size="small" placeholder="请输入${item.fieldComment?default("")}" minlength="0" maxlength="1"></el-input>
</el-form-item> </el-form-item>
<#elseif item.fieldType.javaType() =="Date"> <#elseif item.fieldType.javaType() =="Date">
<el-form-item label="${item.fieldComment?default("")}" prop="${item.getFName()}"> <el-form-item label="${item.fieldComment?default("")}" prop="${item.getFName()}">
<el-date-picker <el-date-picker
size="small" size="small"
v-model="vm.${item.getFName()}" v-model="form.${item.getFName()}"
type="datetime" type="datetime"
placeholder="选择日期时间"> placeholder="选择日期时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<#elseif item.fieldType.javaType() =="BigDecimal"> <#elseif item.fieldType.javaType() =="BigDecimal">
<el-form-item label="${item.fieldComment?default("")}" prop="${item.getFName()}"> <el-form-item label="${item.fieldComment?default("")}" prop="${item.getFName()}">
<el-input-number v-model="vm.${item.getFName()}"clearable size="small" placeholder="请输入${item.fieldComment?default("")}" :step="1" step-strictly :precision="2" :step="0.01"></el-input-number> <el-input-number v-model="form.${item.getFName()}"clearable size="small" placeholder="请输入${item.fieldComment?default("")}" :step="1" step-strictly :precision="2" :step="0.01"></el-input-number>
</el-form-item> </el-form-item>
</#if> </#if>
</#if> </#if>
@ -282,9 +286,9 @@
</#list> </#list>
}, },
onCommand: function (arg) { onCommand: function (arg) {
const action = arg[0]; const cmd = arg[0];
const item = arg[1]; const item = arg[1];
switch (action) { switch (cmd) {
case "edit": case "edit":
this.form.title = "${table.tableComment?default("")}编辑"; this.form.title = "${table.tableComment?default("")}编辑";
this.form.dialog = true; this.form.dialog = true;

@ -2,17 +2,16 @@
<el-card class="box-card search"> <el-card class="box-card search">
<el-form :inline="true" :model="vm" ref="vm" label-width="90px"> <el-form :inline="true" :model="vm" ref="vm" label-width="90px">
<el-form-item label="字典名称" prop="dictName"> <el-form-item label="字典名称" prop="dictName">
<el-input v-model="vm.dictName" clearable size="small" placeholder=""></el-input> <el-input v-model="vm.dictName" clearable size="small" placeholder="请输入字典名称"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="字典代码" prop="dictCode"> <el-form-item label="字典描述" prop="dictComment">
<el-input v-model="vm.dictCode" clearable size="small" placeholder=""></el-input> <el-input v-model="vm.dictComment" clearable size="small" placeholder="请输入字典描述"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="是否有效" prop="valid"> <el-form-item label="是否有效" prop="valid">
<el-select v-model="vm.valid" size="small" placeholder=""> <el-radio-group v-model="vm.valid">
<el-option label="所有" value=""></el-option> <el-radio :label="true">是</el-radio>
<el-option label="有效" value="true"></el-option> <el-radio :label="false">否</el-radio>
<el-option label="无效" value="false"></el-option> </el-radio-group>
</el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" size="small" icon="el-icon-search" @click="onSearch">搜索</el-button> <el-button type="primary" size="small" icon="el-icon-search" @click="onSearch">搜索</el-button>
@ -30,13 +29,13 @@
<el-dialog class="form" :title="form.title" :visible.sync="form.dialog"> <el-dialog class="form" :title="form.title" :visible.sync="form.dialog">
<el-form :model="form" :inline="true" :rules="formRules" ref="form" label-width="90px"> <el-form :model="form" :inline="true" :rules="formRules" ref="form" label-width="90px">
<el-form-item label="字典名称" prop="dictName"> <el-form-item label="字典名称" prop="dictName" required>
<el-input size="small" v-model="form.dictName"></el-input> <el-input v-model="form.dictName" clearable size="small" placeholder="请输入字典名称"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="字典代码" prop="dictCode"> <el-form-item label="字典描述" prop="dictComment">
<el-input size="small" v-model="form.dictCode"></el-input> <el-input v-model="form.dictComment" clearable size="small" placeholder="请输入字典描述"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="字典版本" required> <el-form-item label="字典版本" prop="version" required>
<el-date-picker size="small" <el-date-picker size="small"
v-model="form.version" v-model="form.version"
type="datetime" type="datetime"
@ -46,7 +45,10 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="是否有效" prop="valid"> <el-form-item label="是否有效" prop="valid">
<el-switch size="small" v-model="form.valid"></el-switch> <el-radio-group v-model="form.valid" clearable size="small">
<el-radio :label="true">是</el-radio>
<el-radio :label="false">否</el-radio>
</el-radio-group>
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
@ -91,7 +93,7 @@
<el-table-column <el-table-column
align="center" align="center"
type="selection" type="selection"
width="50"> width="40">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
align="center" align="center"
@ -115,8 +117,8 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="dictCode" prop="dictComment"
label="字典代码"> label="字典描述">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
align="center" align="center"
@ -169,7 +171,7 @@
vm: { vm: {
id: '', id: '',
dictName: '', dictName: '',
dictCode: '', dictComment: '',
valid: "", valid: "",
pageNumber: 1, pageNumber: 1,
pageSize: 10, pageSize: 10,
@ -184,7 +186,7 @@
dialog: false, dialog: false,
id: '', id: '',
dictName: '', dictName: '',
dictCode: '', dictComment: '',
version: '', version: '',
valid: false, valid: false,
rowVersion: '', rowVersion: '',
@ -194,38 +196,42 @@
{required: true, message: '请输入字典名称', trigger: 'blur'}, {required: true, message: '请输入字典名称', trigger: 'blur'},
{min: 1, max: 50, message: '长度在 3 到 5 个字符', trigger: 'blur'} {min: 1, max: 50, message: '长度在 3 到 5 个字符', trigger: 'blur'}
], ],
dictCode: [ dictComment: [
{required: true, message: '请输入字典代码', trigger: 'blur'}, {required: true, message: '字典描述不能为空', trigger: 'blur'},
{min: 1, max: 50, message: '长度在 1 到 50 个字符', trigger: 'blur'} {min: 1, max: 50, message: '字典描述长度在 1 到 50 个字符', trigger: 'blur'}
], ],
version: [ version: [
{type: 'date', required: true, message: '字典版本不能为空', trigger: 'change'} {required: true, message: '字典版本不能为空', trigger: 'blur'},
{min: 1, max: 50, message: '字典版本长度在 1 到 50 个字符', trigger: 'blur'}
],
valid: [
{required: true, message: '是否有效不能为空', trigger: 'blur'},
], ],
}, },
}, },
methods: { methods: {
onCreate: function () { onCreate: function () {
this.form.title = '新增字典'; this.form.title = '新增字典';
this.form.dialog = true;
this.form.id = ''; this.form.id = '';
this.form.dictName = ''; this.form.dictName = '';
this.form.dictCode = ''; this.form.dictComment = '';
this.form.version = ''; this.form.version = '';
this.form.valid = true; this.form.valid = true;
this.form.dialog = true;
}, },
onCommand: function (args) { onCommand: function (args) {
const cmd = args[0]; const cmd = args[0];
const item = args[1]; const item = args[1];
switch (cmd) { switch (cmd) {
case "edit": case "edit":
this.form.title = '编辑字典'; this.form.title = '字典编辑';
this.form.dialog = true;
this.form.id = item.id; this.form.id = item.id;
this.form.dictName = item.dictName; this.form.dictName = item.dictName;
this.form.dictCode = item.dictCode; this.form.dictComment = item.dictComment;
this.form.version = item.version; this.form.version = item.version;
this.form.valid = item.valid; this.form.valid = item.valid;
this.form.rowVersion = item.rowVersion; this.form.rowVersion = item.rowVersion;
this.form.dialog = true;
break; break;
case "delete": case "delete":
this.onDelete(item); this.onDelete(item);
@ -236,8 +242,8 @@
} else { } else {
parent.index.addTab({ parent.index.addTab({
title: "字典项管理", title: "字典项管理",
name: "dictItem" + item.id, name: "dictItem" + item.dictName,
url: "${context}/system/dictItem.htm?dictId=" + item.id url: "${context}/system/dictItem.htm?dictName=" + item.dictName
}); });
} }
break; break;

@ -1,21 +1,20 @@
<div id="app" v-cloak> <div id="app" v-cloak>
<el-card class="box-card search"> <el-card class="box-card search">
<el-form :inline="true" :model="vm" ref="vm" label-width="90px"> <el-form :inline="true" :model="vm" ref="vm" label-width="90px">
<el-form-item label="字典名称"> <el-form-item label="字典名称" prop="dictName">
<el-input disabled v-model="vm.dictName" clearable size="small"></el-input> <el-input v-model="vm.dictName" clearable size="small" placeholder="请输入字典名称" readonly></el-input>
</el-form-item> </el-form-item>
<el-form-item label="字典键" prop="key"> <el-form-item label="字典键" prop="key">
<el-input v-model="vm.key" clearable size="small" placeholder=""></el-input> <el-input v-model="vm.key" clearable size="small" placeholder="请输入字典键"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="字典值" prop="value"> <el-form-item label="字典值" prop="value">
<el-input v-model="vm.value" clearable size="small" placeholder=""></el-input> <el-input v-model="vm.value" clearable size="small" placeholder="请输入字典值"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="是否有效" prop="valid"> <el-form-item label="是否有效" prop="valid">
<el-select v-model="vm.valid" size="small" placeholder=""> <el-radio-group v-model="vm.valid" clearable>
<el-option label="所有" value=""></el-option> <el-radio :label="true">是</el-radio>
<el-option label="有效" value="true"></el-option> <el-radio :label="false">否</el-radio>
<el-option label="无效" value="false"></el-option> </el-radio-group>
</el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" size="small" icon="el-icon-search" @click="onSearch">搜索</el-button> <el-button type="primary" size="small" icon="el-icon-search" @click="onSearch">搜索</el-button>
@ -33,18 +32,24 @@
<el-dialog class="form" :title="form.title" :visible.sync="form.dialog"> <el-dialog class="form" :title="form.title" :visible.sync="form.dialog">
<el-form :model="form" :inline="true" :rules="formRules" ref="form" label-width="90px"> <el-form :model="form" :inline="true" :rules="formRules" ref="form" label-width="90px">
<el-form-item label="字典名称" prop="dictName">
<el-input v-model="form.dictName" clearable size="small" placeholder="请输入字典名称" readonly></el-input>
</el-form-item>
<el-form-item label="字典键" prop="dictName"> <el-form-item label="字典键" prop="dictName">
<el-input size="small" v-model="form.key"></el-input> <el-input v-model="form.key" clearable size="small" placeholder="请输入字典键"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="字典值" prop="dictCode"> <el-form-item label="字典值" prop="dictCode">
<el-input size="small" v-model="form.value"></el-input> <el-input v-model="form.value" clearable size="small" placeholder="请输入字典值"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="排序值" prop="dictCode"> <el-form-item label="排序值" prop="dictCode">
<el-input-number size="small" v-model="form.sort" :min="0" :max="10000" <el-input-number size="small" v-model="form.sort" :min="0" :max="10000"
label="描述文字"></el-input-number> label="描述文字"></el-input-number>
</el-form-item> </el-form-item>
<el-form-item label="是否有效" prop="valid"> <el-form-item label="是否有效" prop="valid">
<el-switch size="small" v-model="form.valid"></el-switch> <el-radio-group v-model="form.valid" clearable>
<el-radio :label="true">是</el-radio>
<el-radio :label="false">否</el-radio>
</el-radio-group>
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
@ -88,7 +93,7 @@
<el-table-column <el-table-column
align="center" align="center"
type="selection" type="selection"
width="50"> width="40">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
align="center" align="center"
@ -163,9 +168,7 @@
module: 'system', module: 'system',
target: 'dictItem', target: 'dictItem',
vm: { vm: {
id: '', dictName: location.getParam("dictName"),
dictId: location.getParam("dictId"),
dictName: '',
key: '', key: '',
value: '', value: '',
valid: '', valid: '',
@ -179,13 +182,18 @@
title: "", title: "",
dialog: false, dialog: false,
id: '', id: '',
dictId: location.getParam("dictId"), dictName: '',
key: '', key: '',
value: '', value: '',
sort: 0, sort: 0,
valid: true valid: true,
rowVersion: ""
}, },
formRules: { formRules: {
dictName: [
{required: true, message: '字典名称不能为空', trigger: 'blur'},
{min: 1, max: 50, message: '字典名称长度在 1 到 50 个字符', trigger: 'blur'}
],
key: [ key: [
{required: true, message: '请输入字典名称', trigger: 'blur'}, {required: true, message: '请输入字典名称', trigger: 'blur'},
{min: 1, max: 50, message: '长度在 3 到 5 个字符', trigger: 'blur'} {min: 1, max: 50, message: '长度在 3 到 5 个字符', trigger: 'blur'}
@ -194,40 +202,38 @@
{required: true, message: '请输入字典代码', trigger: 'blur'}, {required: true, message: '请输入字典代码', trigger: 'blur'},
{min: 1, max: 50, message: '长度在 1 到 50 个字符', trigger: 'blur'} {min: 1, max: 50, message: '长度在 1 到 50 个字符', trigger: 'blur'}
], ],
sort: [
{required: true, message: '排序不能为空', trigger: 'blur'},
],
valid: [
{required: true, message: '是否有效不能为空', trigger: 'blur'},
],
}, },
}, },
methods: { methods: {
getDict: function () {
this.$ajax.get("system", "dict", {id: location.getParam("dictId")}).then(function (response) {
if (response.errors.length > 0) {
this.e(response.errors[0].message);
} else {
this.vm.dictName = response.dict.dictName;
}
}.bind(this))
},
onCreate: function () { onCreate: function () {
this.form.title = '新增字典项'; this.form.title = '新增字典项';
this.form.id = ''; this.form.dialog = true;
this.form.dictName = location.getParam("dictName");
this.form.key = ''; this.form.key = '';
this.form.value = ''; this.form.value = '';
this.form.sort = this.vm.totalCount; this.form.sort = this.vm.totalCount;
this.form.valid = true; this.form.valid = true;
this.form.dialog = true;
}, },
onCommand: function (arg) { onCommand: function (arg) {
const cmd = arg[0]; const cmd = arg[0];
const item = arg[1]; const item = arg[1];
switch (cmd) { switch (cmd) {
case "edit": case "edit":
this.form.title = '编辑字典项'; this.form.title = '字典项编辑';
this.form.dialog = true;
this.form.id = item.id; this.form.id = item.id;
this.form.dictName = item.dictName;
this.form.key = item.key; this.form.key = item.key;
this.form.value = item.value; this.form.value = item.value;
this.form.valid = item.valid;
this.form.sort = item.sort; this.form.sort = item.sort;
this.form.valid = item.valid;
this.form.rowVersion = item.rowVersion; this.form.rowVersion = item.rowVersion;
this.form.dialog = true;
break; break;
case "delete": case "delete":
this.onDelete(item); this.onDelete(item);
@ -239,7 +245,6 @@
} }
}, },
mounted: function () { mounted: function () {
this.getDict();
this.onFind(); this.onFind();
} }
}) })

Loading…
Cancel
Save

Powered by TurnKey Linux.