Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
多鱼的夏天
RuoYi-Cloud-Docker
提交
a10384c0
R
RuoYi-Cloud-Docker
项目概览
多鱼的夏天
/
RuoYi-Cloud-Docker
通知
209
Star
7
Fork
6
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
RuoYi-Cloud-Docker
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
a10384c0
编写于
9月 17, 2021
作者:
R
RuoYi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
使用vue-data-dict简化数据字典使用
上级
ab8215d1
变更
28
显示空白变更内容
内联
并排
Showing
28 changed file
with
505 addition
and
326 deletion
+505
-326
ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/util/VelocityUtils.java
...i-gen/src/main/java/com/ruoyi/gen/util/VelocityUtils.java
+22
-0
ruoyi-modules/ruoyi-gen/src/main/resources/vm/vue/index-tree.vue.vm
...les/ruoyi-gen/src/main/resources/vm/vue/index-tree.vue.vm
+21
-34
ruoyi-modules/ruoyi-gen/src/main/resources/vm/vue/index.vue.vm
...-modules/ruoyi-gen/src/main/resources/vm/vue/index.vue.vm
+21
-34
ruoyi-ui/src/components/DictData/index.js
ruoyi-ui/src/components/DictData/index.js
+21
-0
ruoyi-ui/src/components/DictTag/index.vue
ruoyi-ui/src/components/DictTag/index.vue
+10
-10
ruoyi-ui/src/main.js
ruoyi-ui/src/main.js
+3
-0
ruoyi-ui/src/utils/dict/Dict.js
ruoyi-ui/src/utils/dict/Dict.js
+82
-0
ruoyi-ui/src/utils/dict/DictConverter.js
ruoyi-ui/src/utils/dict/DictConverter.js
+17
-0
ruoyi-ui/src/utils/dict/DictData.js
ruoyi-ui/src/utils/dict/DictData.js
+13
-0
ruoyi-ui/src/utils/dict/DictMeta.js
ruoyi-ui/src/utils/dict/DictMeta.js
+38
-0
ruoyi-ui/src/utils/dict/DictOptions.js
ruoyi-ui/src/utils/dict/DictOptions.js
+51
-0
ruoyi-ui/src/utils/dict/index.js
ruoyi-ui/src/utils/dict/index.js
+33
-0
ruoyi-ui/src/utils/ruoyi.js
ruoyi-ui/src/utils/ruoyi.js
+18
-2
ruoyi-ui/src/views/monitor/job/index.vue
ruoyi-ui/src/views/monitor/job/index.vue
+19
-28
ruoyi-ui/src/views/monitor/job/log.vue
ruoyi-ui/src/views/monitor/job/log.vue
+11
-20
ruoyi-ui/src/views/system/config/index.vue
ruoyi-ui/src/views/system/config/index.vue
+10
-14
ruoyi-ui/src/views/system/dept/index.vue
ruoyi-ui/src/views/system/dept/index.vue
+10
-14
ruoyi-ui/src/views/system/dict/data.vue
ruoyi-ui/src/views/system/dict/data.vue
+10
-14
ruoyi-ui/src/views/system/dict/index.vue
ruoyi-ui/src/views/system/dict/index.vue
+10
-14
ruoyi-ui/src/views/system/logininfor/index.vue
ruoyi-ui/src/views/system/logininfor/index.vue
+6
-10
ruoyi-ui/src/views/system/menu/index.vue
ruoyi-ui/src/views/system/menu/index.vue
+14
-23
ruoyi-ui/src/views/system/notice/index.vue
ruoyi-ui/src/views/system/notice/index.vue
+15
-24
ruoyi-ui/src/views/system/operlog/index.vue
ruoyi-ui/src/views/system/operlog/index.vue
+12
-21
ruoyi-ui/src/views/system/post/index.vue
ruoyi-ui/src/views/system/post/index.vue
+10
-14
ruoyi-ui/src/views/system/role/authUser.vue
ruoyi-ui/src/views/system/role/authUser.vue
+2
-6
ruoyi-ui/src/views/system/role/index.vue
ruoyi-ui/src/views/system/role/index.vue
+9
-13
ruoyi-ui/src/views/system/role/selectUser.vue
ruoyi-ui/src/views/system/role/selectUser.vue
+2
-8
ruoyi-ui/src/views/system/user/index.vue
ruoyi-ui/src/views/system/user/index.vue
+15
-23
未找到文件。
ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/util/VelocityUtils.java
浏览文件 @
a10384c0
...
...
@@ -58,6 +58,7 @@ public class VelocityUtils
velocityContext
.
put
(
"permissionPrefix"
,
getPermissionPrefix
(
moduleName
,
businessName
));
velocityContext
.
put
(
"columns"
,
genTable
.
getColumns
());
velocityContext
.
put
(
"table"
,
genTable
);
velocityContext
.
put
(
"dicts"
,
getDicts
(
genTable
));
setMenuVelocityContext
(
velocityContext
,
genTable
);
if
(
GenConstants
.
TPL_TREE
.
equals
(
tplCategory
))
{
...
...
@@ -260,6 +261,27 @@ public class VelocityUtils
return
importList
;
}
/**
* 根据列类型获取字典组
*
* @param genTable 业务表对象
* @return 返回字典组
*/
public
static
String
getDicts
(
GenTable
genTable
)
{
List
<
GenTableColumn
>
columns
=
genTable
.
getColumns
();
List
<
String
>
dicts
=
new
ArrayList
<
String
>();
for
(
GenTableColumn
column
:
columns
)
{
if
(!
column
.
isSuperColumn
()
&&
StringUtils
.
isNotEmpty
(
column
.
getDictType
())
&&
StringUtils
.
equalsAny
(
column
.
getHtmlType
(),
new
String
[]
{
GenConstants
.
HTML_SELECT
,
GenConstants
.
HTML_RADIO
}))
{
dicts
.
add
(
"'"
+
column
.
getDictType
()
+
"'"
);
}
}
return
StringUtils
.
join
(
dicts
,
", "
);
}
/**
* 获取权限前缀
*
...
...
ruoyi-modules/ruoyi-gen/src/main/resources/vm/vue/index-tree.vue.vm
浏览文件 @
a10384c0
...
...
@@ -25,10 +25,10 @@
<el-form-item
label=
"
${
comment
}
"
prop=
"
${
column
.
javaField
}
"
>
<el-select
v-model=
"queryParams.
${
column
.
javaField
}
"
placeholder=
"请选择
${
comment
}
"
clearable
size=
"small"
>
<el-option
v-for=
"dict in
${
column
.
javaField
}
Options
"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictL
abel"
:value=
"dict.
dictV
alue"
v-for=
"dict in
dict.type.
${
dictType
}
"
:key=
"dict.
v
alue"
:label=
"dict.
l
abel"
:value=
"dict.
v
alue"
/>
</el-select>
</el-form-item>
...
...
@@ -108,7 +108,7 @@
#
elseif
($
column
.
list
&&
""
!=
$
column
.
dictType
)
<el-table-column
label=
"
${
comment
}
"
align=
"center"
prop=
"
${
javaField
}
"
>
<template
slot-scope=
"scope"
>
<dict-tag
:options=
"
${
javaField
}
Options
"
:value=
"scope.row.
${
javaField
}
"
/>
<dict-tag
:options=
"
dict.type.
${
column
.
dictType
}
"
:value=
"scope.row.
${
javaField
}
"
/>
</template>
</el-table-column>
#
elseif
($
column
.
list
&&
""
!=
$
javaField
)
...
...
@@ -184,10 +184,10 @@
<el-form-item
label=
"
${
comment
}
"
prop=
"
${
field
}
"
>
<el-select
v-model=
"form.
${
field
}
"
placeholder=
"请选择
${
comment
}
"
>
<el-option
v-for=
"dict in
${
field
}
Options
"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictL
abel"
#
if
($
column
.
javaType
==
"Integer"
||
$
column
.
javaType
==
"Long"
)
:value=
"parseInt(dict.
dictValue)"
#
else
:value=
"dict.dictV
alue"
#
end
v-for=
"dict in
dict.type.
${
dictType
}
"
:key=
"dict.
v
alue"
:label=
"dict.
l
abel"
#
if
($
column
.
javaType
==
"Integer"
||
$
column
.
javaType
==
"Long"
)
:value=
"parseInt(dict.
value)"
#
else
:value=
"dict.v
alue"
#
end
></el-option>
</el-select>
...
...
@@ -202,10 +202,10 @@
<el-form-item
label=
"
${
comment
}
"
>
<el-checkbox-group
v-model=
"form.
${
field
}
"
>
<el-checkbox
v-for=
"dict in
${
field
}
Options
"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictV
alue"
>
{{
dict.
dictL
abel}}
v-for=
"dict in
dict.type.
${
dictType
}
"
:key=
"dict.
v
alue"
:label=
"dict.
v
alue"
>
{{
dict.
l
abel}}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
...
...
@@ -219,11 +219,11 @@
<el-form-item
label=
"
${
comment
}
"
>
<el-radio-group
v-model=
"form.
${
field
}
"
>
<el-radio
v-for=
"dict in
${
field
}
Options
"
:key=
"dict.
dictV
alue"
#
if
($
column
.
javaType
==
"Integer"
||
$
column
.
javaType
==
"Long"
)
:label=
"parseInt(dict.
dictValue)"
#
else
:label=
"dict.dictV
alue"
#
end
v-for=
"dict in
dict.type.
${
dictType
}
"
:key=
"dict.
v
alue"
#
if
($
column
.
javaType
==
"Integer"
||
$
column
.
javaType
==
"Long"
)
:label=
"parseInt(dict.
value)"
#
else
:label=
"dict.v
alue"
#
end
>
{{
dict.
dictL
abel}}
</el-radio>
>
{{
dict.
l
abel}}
</el-radio>
</el-radio-group>
</el-form-item>
#
elseif
($
column
.
htmlType
==
"radio"
&&
$
dictType
)
...
...
@@ -265,6 +265,9 @@ import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export
default
{
name
:
"
${
BusinessName
}
"
,
#
if
(${
dicts
}
!=
''
)
dicts
:
[${
dicts
}],
#
end
components
:
{
Treeselect
},
...
...
@@ -283,16 +286,7 @@ export default {
// 是否显示弹出层
open
:
false
,
#
foreach
($
column
in
$
columns
)
#
set
($
parentheseIndex
=
$
column
.
columnComment
.
indexOf
(
"("
))
#
if
($
parentheseIndex
!=
-
1
)
#
set
($
comment
=
$
column
.
columnComment
.
substring
(
0
,
$
parentheseIndex
))
#
else
#
set
($
comment
=
$
column
.
columnComment
)
#
end
#
if
(${
column
.
dictType
}
!=
''
)
//
$
comment
字典
${
column
.
javaField
}
Options
:
[],
#
elseif
($
column
.
htmlType
==
"datetime"
&&
$
column
.
queryType
==
"BETWEEN"
)
#
if
($
column
.
htmlType
==
"datetime"
&&
$
column
.
queryType
==
"BETWEEN"
)
#
set
($
AttrName
=
$
column
.
javaField
.
substring
(
0
,
1
).
toUpperCase
()
+
${
column
.
javaField
.
substring
(
1
)})
//
$
comment
时间范围
daterange
${
AttrName
}:
[],
...
...
@@ -330,13 +324,6 @@ export default {
},
created
()
{
this
.
getList
();
#
foreach
($
column
in
$
columns
)
#
if
(${
column
.
dictType
}
!=
''
)
this
.
getDicts
(
"
${
column
.
dictType
}
"
).
then
(
response
=>
{
this
.${
column
.
javaField
}
Options
=
response
.
data
;
});
#
end
#
end
},
methods
:
{
/** 查询
${
functionName
}
列表 */
...
...
ruoyi-modules/ruoyi-gen/src/main/resources/vm/vue/index.vue.vm
浏览文件 @
a10384c0
...
...
@@ -25,10 +25,10 @@
<el-form-item
label=
"
${
comment
}
"
prop=
"
${
column
.
javaField
}
"
>
<el-select
v-model=
"queryParams.
${
column
.
javaField
}
"
placeholder=
"请选择
${
comment
}
"
clearable
size=
"small"
>
<el-option
v-for=
"dict in
${
column
.
javaField
}
Options
"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictL
abel"
:value=
"dict.
dictV
alue"
v-for=
"dict in
dict.type.
${
dictType
}
"
:key=
"dict.
v
alue"
:label=
"dict.
l
abel"
:value=
"dict.
v
alue"
/>
</el-select>
</el-form-item>
...
...
@@ -136,7 +136,7 @@
#
elseif
($
column
.
list
&&
""
!=
$
column
.
dictType
)
<el-table-column
label=
"
${
comment
}
"
align=
"center"
prop=
"
${
javaField
}
"
>
<template
slot-scope=
"scope"
>
<dict-tag
:options=
"
${
javaField
}
Options
"
:value=
"scope.row.
${
javaField
}
"
/>
<dict-tag
:options=
"
dict.type.
${
column
.
dictType
}
"
:value=
"scope.row.
${
javaField
}
"
/>
</template>
</el-table-column>
#
elseif
($
column
.
list
&&
""
!=
$
javaField
)
...
...
@@ -205,10 +205,10 @@
<el-form-item
label=
"
${
comment
}
"
prop=
"
${
field
}
"
>
<el-select
v-model=
"form.
${
field
}
"
placeholder=
"请选择
${
comment
}
"
>
<el-option
v-for=
"dict in
${
field
}
Options
"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictL
abel"
#
if
($
column
.
javaType
==
"Integer"
||
$
column
.
javaType
==
"Long"
)
:value=
"parseInt(dict.
dictValue)"
#
else
:value=
"dict.dictV
alue"
#
end
v-for=
"dict in
dict.type.
${
dictType
}
"
:key=
"dict.
v
alue"
:label=
"dict.
l
abel"
#
if
($
column
.
javaType
==
"Integer"
||
$
column
.
javaType
==
"Long"
)
:value=
"parseInt(dict.
value)"
#
else
:value=
"dict.v
alue"
#
end
></el-option>
</el-select>
...
...
@@ -223,10 +223,10 @@
<el-form-item
label=
"
${
comment
}
"
>
<el-checkbox-group
v-model=
"form.
${
field
}
"
>
<el-checkbox
v-for=
"dict in
${
field
}
Options
"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictV
alue"
>
{{
dict.
dictL
abel}}
v-for=
"dict in
dict.type.
${
dictType
}
"
:key=
"dict.
v
alue"
:label=
"dict.
v
alue"
>
{{
dict.
l
abel}}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
...
...
@@ -240,11 +240,11 @@
<el-form-item
label=
"
${
comment
}
"
>
<el-radio-group
v-model=
"form.
${
field
}
"
>
<el-radio
v-for=
"dict in
${
field
}
Options
"
:key=
"dict.
dictV
alue"
#
if
($
column
.
javaType
==
"Integer"
||
$
column
.
javaType
==
"Long"
)
:label=
"parseInt(dict.
dictValue)"
#
else
:label=
"dict.dictV
alue"
#
end
v-for=
"dict in
dict.type.
${
dictType
}
"
:key=
"dict.
v
alue"
#
if
($
column
.
javaType
==
"Integer"
||
$
column
.
javaType
==
"Long"
)
:label=
"parseInt(dict.
value)"
#
else
:label=
"dict.v
alue"
#
end
>
{{
dict.
dictL
abel}}
</el-radio>
>
{{
dict.
l
abel}}
</el-radio>
</el-radio-group>
</el-form-item>
#
elseif
($
column
.
htmlType
==
"radio"
&&
$
dictType
)
...
...
@@ -316,6 +316,9 @@ import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${Busin
export
default
{
name
:
"
${
BusinessName
}
"
,
#
if
(${
dicts
}
!=
''
)
dicts
:
[${
dicts
}],
#
end
data
()
{
return
{
// 遮罩层
...
...
@@ -345,16 +348,7 @@ export default {
// 是否显示弹出层
open
:
false
,
#
foreach
($
column
in
$
columns
)
#
set
($
parentheseIndex
=
$
column
.
columnComment
.
indexOf
(
"("
))
#
if
($
parentheseIndex
!=
-
1
)
#
set
($
comment
=
$
column
.
columnComment
.
substring
(
0
,
$
parentheseIndex
))
#
else
#
set
($
comment
=
$
column
.
columnComment
)
#
end
#
if
(${
column
.
dictType
}
!=
''
)
//
$
comment
字典
${
column
.
javaField
}
Options
:
[],
#
elseif
($
column
.
htmlType
==
"datetime"
&&
$
column
.
queryType
==
"BETWEEN"
)
#
if
($
column
.
htmlType
==
"datetime"
&&
$
column
.
queryType
==
"BETWEEN"
)
#
set
($
AttrName
=
$
column
.
javaField
.
substring
(
0
,
1
).
toUpperCase
()
+
${
column
.
javaField
.
substring
(
1
)})
//
$
comment
时间范围
daterange
${
AttrName
}:
[],
...
...
@@ -394,13 +388,6 @@ export default {
},
created
()
{
this
.
getList
();
#
foreach
($
column
in
$
columns
)
#
if
(${
column
.
dictType
}
!=
''
)
this
.
getDicts
(
"
${
column
.
dictType
}
"
).
then
(
response
=>
{
this
.${
column
.
javaField
}
Options
=
response
.
data
;
});
#
end
#
end
},
methods
:
{
/** 查询
${
functionName
}
列表 */
...
...
ruoyi-ui/src/components/DictData/index.js
0 → 100644
浏览文件 @
a10384c0
import
Vue
from
'
vue
'
import
DataDict
from
'
@/utils/dict
'
import
{
getDicts
as
getDicts
}
from
'
@/api/system/dict/data
'
function
install
()
{
Vue
.
use
(
DataDict
,
{
metas
:
{
'
*
'
:
{
labelField
:
'
dictLabel
'
,
valueField
:
'
dictValue
'
,
request
(
dictMeta
)
{
return
getDicts
(
dictMeta
.
type
).
then
(
res
=>
res
.
data
)
},
},
},
})
}
export
default
{
install
,
}
\ No newline at end of file
ruoyi-ui/src/components/DictTag/index.vue
浏览文件 @
a10384c0
<
template
>
<div>
<template
v-for=
"(item, index) in options"
>
<template
v-if=
"values.includes(item.
dictV
alue)"
>
<template
v-if=
"values.includes(item.
v
alue)"
>
<span
v-if=
"item.
listClass == 'default' || item
.listClass == ''"
:key=
"item.
dictV
alue"
v-if=
"item.
raw.listClass == 'default' || item.raw
.listClass == ''"
:key=
"item.
v
alue"
:index=
"index"
:class=
"item.cssClass"
>
{{
item
.
dictL
abel
}}
</span
:class=
"item.
raw.
cssClass"
>
{{
item
.
l
abel
}}
</span
>
<el-tag
v-else
:disable-transitions=
"true"
:key=
"item.
dictV
alue"
:key=
"item.
v
alue"
:index=
"index"
:type=
"item.
listClass == 'primary' ? '' : item
.listClass"
:class=
"item.cssClass"
:type=
"item.
raw.listClass == 'primary' ? '' : item.raw
.listClass"
:class=
"item.
raw.
cssClass"
>
{{
item
.
dictL
abel
}}
{{
item
.
l
abel
}}
</el-tag>
</
template
>
</template>
...
...
ruoyi-ui/src/main.js
浏览文件 @
a10384c0
...
...
@@ -31,6 +31,8 @@ import ImageUpload from "@/components/ImageUpload"
import
DictTag
from
'
@/components/DictTag
'
// 头部标签组件
import
VueMeta
from
'
vue-meta
'
// 字典数据组件
import
DictData
from
'
@/components/DictData
'
// 全局方法挂载
Vue
.
prototype
.
getDicts
=
getDicts
...
...
@@ -65,6 +67,7 @@ Vue.component('ImageUpload', ImageUpload)
Vue
.
use
(
directive
)
Vue
.
use
(
VueMeta
)
DictData
.
install
()
/**
* If you don't want to use mock-server
...
...
ruoyi-ui/src/utils/dict/Dict.js
0 → 100644
浏览文件 @
a10384c0
import
Vue
from
'
vue
'
import
{
mergeRecursive
}
from
"
@/utils/ruoyi
"
;
import
DictMeta
from
'
./DictMeta
'
import
DictData
from
'
./DictData
'
const
DEFAULT_DICT_OPTIONS
=
{
types
:
[],
}
/**
* @classdesc 字典
* @property {Object} label 标签对象,内部属性名为字典类型名称
* @property {Object} dict 字段数组,内部属性名为字典类型名称
* @property {Array.<DictMeta>} _dictMetas 字典元数据数组
*/
export
default
class
Dict
{
constructor
()
{
this
.
owner
=
null
this
.
label
=
{}
this
.
type
=
{}
}
init
(
options
)
{
if
(
options
instanceof
Array
)
{
options
=
{
types
:
options
}
}
const
opts
=
mergeRecursive
(
DEFAULT_DICT_OPTIONS
,
options
)
if
(
opts
.
types
===
undefined
)
{
throw
new
Error
(
'
need dict types
'
)
}
const
ps
=
[]
this
.
_dictMetas
=
opts
.
types
.
map
(
t
=>
DictMeta
.
parse
(
t
))
this
.
_dictMetas
.
forEach
(
dictMeta
=>
{
const
type
=
dictMeta
.
type
Vue
.
set
(
this
.
label
,
type
,
{})
Vue
.
set
(
this
.
type
,
type
,
[])
if
(
dictMeta
.
lazy
)
{
return
}
ps
.
push
(
loadDict
(
this
,
dictMeta
))
})
return
Promise
.
all
(
ps
)
}
/**
* 重新加载字典
* @param {String} type 字典类型
*/
reloadDict
(
type
)
{
const
dictMeta
=
this
.
_dictMetas
.
find
(
e
=>
e
.
type
===
type
)
if
(
dictMeta
===
undefined
)
{
return
Promise
.
reject
(
`the dict meta of
${
type
}
was not found`
)
}
return
loadDict
(
this
,
dictMeta
)
}
}
/**
* 加载字典
* @param {Dict} dict 字典
* @param {DictMeta} dictMeta 字典元数据
* @returns {Promise}
*/
function
loadDict
(
dict
,
dictMeta
)
{
return
dictMeta
.
request
(
dictMeta
)
.
then
(
response
=>
{
const
type
=
dictMeta
.
type
let
dicts
=
dictMeta
.
responseConverter
(
response
,
dictMeta
)
if
(
!
(
dicts
instanceof
Array
))
{
console
.
error
(
'
the return of responseConverter must be Array.<DictData>
'
)
dicts
=
[]
}
else
if
(
dicts
.
filter
(
d
=>
d
instanceof
DictData
).
length
!==
dicts
.
length
)
{
console
.
error
(
'
the type of elements in dicts must be DictData
'
)
dicts
=
[]
}
dict
.
type
[
type
].
splice
(
0
,
Number
.
MAX_SAFE_INTEGER
,
...
dicts
)
dicts
.
forEach
(
d
=>
{
Vue
.
set
(
dict
.
label
[
type
],
d
.
value
,
d
.
label
)
})
return
dicts
})
}
ruoyi-ui/src/utils/dict/DictConverter.js
0 → 100644
浏览文件 @
a10384c0
import
DictOptions
from
'
./DictOptions
'
import
DictData
from
'
./DictData
'
export
default
function
(
dict
,
dictMeta
)
{
const
label
=
determineDictField
(
dict
,
dictMeta
.
labelField
,
...
DictOptions
.
DEFAULT_LABEL_FIELDS
)
const
value
=
determineDictField
(
dict
,
dictMeta
.
valueField
,
...
DictOptions
.
DEFAULT_VALUE_FIELDS
)
return
new
DictData
(
dict
[
label
],
dict
[
value
],
dict
)
}
/**
* 确定字典字段
* @param {DictData} dict
* @param {...String} fields
*/
function
determineDictField
(
dict
,
...
fields
)
{
return
fields
.
find
(
f
=>
Object
.
prototype
.
hasOwnProperty
.
call
(
dict
,
f
))
}
ruoyi-ui/src/utils/dict/DictData.js
0 → 100644
浏览文件 @
a10384c0
/**
* @classdesc 字典数据
* @property {String} label 标签
* @property {*} value 标签
* @property {Object} raw 原始数据
*/
export
default
class
DictData
{
constructor
(
label
,
value
,
raw
)
{
this
.
label
=
label
this
.
value
=
value
this
.
raw
=
raw
}
}
ruoyi-ui/src/utils/dict/DictMeta.js
0 → 100644
浏览文件 @
a10384c0
import
{
mergeRecursive
}
from
"
@/utils/ruoyi
"
;
import
DictOptions
from
'
./DictOptions
'
/**
* @classdesc 字典元数据
* @property {String} type 类型
* @property {Function} request 请求
* @property {String} label 标签字段
* @property {String} value 值字段
*/
export
default
class
DictMeta
{
constructor
(
options
)
{
this
.
type
=
options
.
type
this
.
request
=
options
.
request
,
this
.
responseConverter
=
options
.
responseConverter
this
.
labelField
=
options
.
labelField
this
.
valueField
=
options
.
valueField
this
.
lazy
=
options
.
lazy
===
true
}
}
/**
* 解析字典元数据
* @param {Object} options
* @returns {DictMeta}
*/
DictMeta
.
parse
=
function
(
options
)
{
let
opts
=
null
if
(
typeof
options
===
'
string
'
)
{
opts
=
DictOptions
.
metas
[
options
]
||
{}
opts
.
type
=
options
}
else
if
(
typeof
options
===
'
object
'
)
{
opts
=
options
}
opts
=
mergeRecursive
(
DictOptions
.
metas
[
'
*
'
],
opts
)
return
new
DictMeta
(
opts
)
}
ruoyi-ui/src/utils/dict/DictOptions.js
0 → 100644
浏览文件 @
a10384c0
import
{
mergeRecursive
}
from
"
@/utils/ruoyi
"
;
import
dictConverter
from
'
./DictConverter
'
export
const
options
=
{
metas
:
{
'
*
'
:
{
/**
* 字典请求,方法签名为function(dictMeta: DictMeta): Promise
*/
request
:
(
dictMeta
)
=>
{
console
.
log
(
`load dict
${
dictMeta
.
type
}
`
)
return
Promise
.
resolve
([])
},
/**
* 字典响应数据转换器,方法签名为function(response: Object, dictMeta: DictMeta): DictData
*/
responseConverter
,
labelField
:
'
label
'
,
valueField
:
'
value
'
,
},
},
/**
* 默认标签字段
*/
DEFAULT_LABEL_FIELDS
:
[
'
label
'
,
'
name
'
,
'
title
'
],
/**
* 默认值字段
*/
DEFAULT_VALUE_FIELDS
:
[
'
value
'
,
'
id
'
,
'
uid
'
,
'
key
'
],
}
/**
* 映射字典
* @param {Object} response 字典数据
* @param {DictMeta} dictMeta 字典元数据
* @returns {DictData}
*/
function
responseConverter
(
response
,
dictMeta
)
{
const
dicts
=
response
.
content
instanceof
Array
?
response
.
content
:
response
if
(
dicts
===
undefined
)
{
console
.
warn
(
`no dict data of "
${
dictMeta
.
type
}
" found in the response`
)
return
[]
}
return
dicts
.
map
(
d
=>
dictConverter
(
d
,
dictMeta
))
}
export
function
mergeOptions
(
src
)
{
mergeRecursive
(
options
,
src
)
}
export
default
options
ruoyi-ui/src/utils/dict/index.js
0 → 100644
浏览文件 @
a10384c0
import
Dict
from
'
./Dict
'
import
{
mergeOptions
}
from
'
./DictOptions
'
export
default
function
(
Vue
,
options
)
{
mergeOptions
(
options
)
Vue
.
mixin
({
data
()
{
if
(
this
.
$options
.
dicts
===
undefined
||
this
.
$options
.
dicts
===
null
)
{
return
{}
}
const
dict
=
new
Dict
()
dict
.
owner
=
this
return
{
dict
}
},
created
()
{
if
(
!
(
this
.
dict
instanceof
Dict
))
{
return
}
options
.
onCreated
&&
options
.
onCreated
(
this
.
dict
)
this
.
dict
.
init
(
this
.
$options
.
dicts
).
then
(()
=>
{
options
.
onReady
&&
options
.
onReady
(
this
.
dict
)
this
.
$nextTick
(()
=>
{
this
.
$emit
(
'
dictReady
'
,
this
.
dict
)
if
(
this
.
$options
.
methods
&&
this
.
$options
.
methods
.
onDictReady
instanceof
Function
)
{
this
.
$options
.
methods
.
onDictReady
.
call
(
this
,
this
.
dict
)
}
})
})
},
})
}
ruoyi-ui/src/utils/ruoyi.js
浏览文件 @
a10384c0
...
...
@@ -72,8 +72,8 @@ export function addDateRange(params, dateRange, propName) {
export
function
selectDictLabel
(
datas
,
value
)
{
var
actions
=
[];
Object
.
keys
(
datas
).
some
((
key
)
=>
{
if
(
datas
[
key
].
dictV
alue
==
(
''
+
value
))
{
actions
.
push
(
datas
[
key
].
dictL
abel
);
if
(
datas
[
key
].
v
alue
==
(
''
+
value
))
{
actions
.
push
(
datas
[
key
].
l
abel
);
return
true
;
}
})
...
...
@@ -122,6 +122,22 @@ export function praseStrEmpty(str) {
return
str
;
}
// 数据合并
export
function
mergeRecursive
(
source
,
target
)
{
for
(
var
p
in
target
)
{
try
{
if
(
target
[
p
].
constructor
==
Object
)
{
source
[
p
]
=
mergeRecursive
(
source
[
p
],
target
[
p
]);
}
else
{
source
[
p
]
=
target
[
p
];
}
}
catch
(
e
)
{
source
[
p
]
=
target
[
p
];
}
}
return
source
;
};
/**
* 构造树型结构数据
* @param {*} data 数据源
...
...
ruoyi-ui/src/views/monitor/job/index.vue
浏览文件 @
a10384c0
...
...
@@ -13,20 +13,20 @@
<el-form-item
label=
"任务组名"
prop=
"jobGroup"
>
<el-select
v-model=
"queryParams.jobGroup"
placeholder=
"请选择任务组名"
clearable
size=
"small"
>
<el-option
v-for=
"dict in
jobGroupOptions
"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictL
abel"
:value=
"dict.
dictV
alue"
v-for=
"dict in
dict.type.sys_job_group
"
:key=
"dict.
v
alue"
:label=
"dict.
l
abel"
:value=
"dict.
v
alue"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"任务状态"
prop=
"status"
>
<el-select
v-model=
"queryParams.status"
placeholder=
"请选择任务状态"
clearable
size=
"small"
>
<el-option
v-for=
"dict in
statusOption
s"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictL
abel"
:value=
"dict.
dictV
alue"
v-for=
"dict in
dict.type.sys_job_statu
s"
:key=
"dict.
v
alue"
:label=
"dict.
l
abel"
:value=
"dict.
v
alue"
/>
</el-select>
</el-form-item>
...
...
@@ -98,7 +98,7 @@
<el-table-column
label=
"任务名称"
align=
"center"
prop=
"jobName"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"任务组名"
align=
"center"
prop=
"jobGroup"
>
<template
slot-scope=
"scope"
>
<dict-tag
:options=
"
jobGroupOptions
"
:value=
"scope.row.jobGroup"
/>
<dict-tag
:options=
"
dict.type.sys_job_group
"
:value=
"scope.row.jobGroup"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"调用目标字符串"
align=
"center"
prop=
"invokeTarget"
:show-overflow-tooltip=
"true"
/>
...
...
@@ -167,10 +167,10 @@
<el-form-item
label=
"任务分组"
prop=
"jobGroup"
>
<el-select
v-model=
"form.jobGroup"
placeholder=
"请选择"
>
<el-option
v-for=
"dict in
jobGroupOptions
"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictL
abel"
:value=
"dict.
dictV
alue"
v-for=
"dict in
dict.type.sys_job_group
"
:key=
"dict.
v
alue"
:label=
"dict.
l
abel"
:value=
"dict.
v
alue"
></el-option>
</el-select>
</el-form-item>
...
...
@@ -224,10 +224,10 @@
<el-form-item
label=
"状态"
>
<el-radio-group
v-model=
"form.status"
>
<el-radio
v-for=
"dict in
statusOption
s"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictV
alue"
>
{{dict.
dictL
abel}}
</el-radio>
v-for=
"dict in
dict.type.sys_job_statu
s"
:key=
"dict.
v
alue"
:label=
"dict.
v
alue"
>
{{dict.
l
abel}}
</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
...
...
@@ -300,6 +300,7 @@ import Crontab from '@/components/Crontab'
export
default
{
components
:
{
Crontab
},
name
:
"
Job
"
,
dicts
:
[
'
sys_job_group
'
,
'
sys_job_status
'
],
data
()
{
return
{
// 遮罩层
...
...
@@ -326,10 +327,6 @@ export default {
openCron
:
false
,
// 传入的表达式
expression
:
""
,
// 任务组名字典
jobGroupOptions
:
[],
// 状态字典
statusOptions
:
[],
// 查询参数
queryParams
:
{
pageNum
:
1
,
...
...
@@ -356,12 +353,6 @@ export default {
},
created
()
{
this
.
getList
();
this
.
getDicts
(
"
sys_job_group
"
).
then
(
response
=>
{
this
.
jobGroupOptions
=
response
.
data
;
});
this
.
getDicts
(
"
sys_job_status
"
).
then
(
response
=>
{
this
.
statusOptions
=
response
.
data
;
});
},
methods
:
{
/** 查询定时任务列表 */
...
...
@@ -375,7 +366,7 @@ export default {
},
// 任务组名字典翻译
jobGroupFormat
(
row
,
column
)
{
return
this
.
selectDictLabel
(
this
.
jobGroupOptions
,
row
.
jobGroup
);
return
this
.
selectDictLabel
(
this
.
dict
.
type
.
sys_job_group
,
row
.
jobGroup
);
},
// 取消按钮
cancel
()
{
...
...
ruoyi-ui/src/views/monitor/job/log.vue
浏览文件 @
a10384c0
...
...
@@ -20,10 +20,10 @@
style=
"width: 240px"
>
<el-option
v-for=
"dict in
jobGroupOptions
"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictL
abel"
:value=
"dict.
dictV
alue"
v-for=
"dict in
dict.type.sys_job_group
"
:key=
"dict.
v
alue"
:label=
"dict.
l
abel"
:value=
"dict.
v
alue"
/>
</el-select>
</el-form-item>
...
...
@@ -36,10 +36,10 @@
style=
"width: 240px"
>
<el-option
v-for=
"dict in
statusOption
s"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictL
abel"
:value=
"dict.
dictV
alue"
v-for=
"dict in
dict.type.sys_common_statu
s"
:key=
"dict.
v
alue"
:label=
"dict.
l
abel"
:value=
"dict.
v
alue"
/>
</el-select>
</el-form-item>
...
...
@@ -111,14 +111,14 @@
<el-table-column
label=
"任务名称"
align=
"center"
prop=
"jobName"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"任务组名"
align=
"center"
prop=
"jobGroup"
:show-overflow-tooltip=
"true"
>
<template
slot-scope=
"scope"
>
<dict-tag
:options=
"
jobGroupOptions
"
:value=
"scope.row.jobGroup"
/>
<dict-tag
:options=
"
dict.type.sys_job_group
"
:value=
"scope.row.jobGroup"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"调用目标字符串"
align=
"center"
prop=
"invokeTarget"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"日志信息"
align=
"center"
prop=
"jobMessage"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"执行状态"
align=
"center"
prop=
"status"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"
statusOption
s"
:value=
"scope.row.status"
/>
<dict-tag
:options=
"
dict.type.sys_common_statu
s"
:value=
"scope.row.status"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"执行时间"
align=
"center"
prop=
"createTime"
width=
"180"
>
...
...
@@ -189,6 +189,7 @@ import { listJobLog, delJobLog, cleanJobLog } from "@/api/monitor/jobLog";
export
default
{
name
:
"
JobLog
"
,
dicts
:
[
'
sys_common_status
'
,
'
sys_job_group
'
],
data
()
{
return
{
// 遮罩层
...
...
@@ -209,10 +210,6 @@ export default {
dateRange
:
[],
// 表单参数
form
:
{},
// 执行状态字典
statusOptions
:
[],
// 任务组名字典
jobGroupOptions
:
[],
// 查询参数
queryParams
:
{
pageNum
:
1
,
...
...
@@ -234,12 +231,6 @@ export default {
}
else
{
this
.
getList
();
}
this
.
getDicts
(
"
sys_common_status
"
).
then
(
response
=>
{
this
.
statusOptions
=
response
.
data
;
});
this
.
getDicts
(
"
sys_job_group
"
).
then
(
response
=>
{
this
.
jobGroupOptions
=
response
.
data
;
});
},
methods
:
{
/** 查询调度日志列表 */
...
...
ruoyi-ui/src/views/system/config/index.vue
浏览文件 @
a10384c0
...
...
@@ -24,10 +24,10 @@
<el-form-item
label=
"系统内置"
prop=
"configType"
>
<el-select
v-model=
"queryParams.configType"
placeholder=
"系统内置"
clearable
size=
"small"
>
<el-option
v-for=
"dict in
typeOptions
"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictL
abel"
:value=
"dict.
dictV
alue"
v-for=
"dict in
dict.type.sys_yes_no
"
:key=
"dict.
v
alue"
:label=
"dict.
l
abel"
:value=
"dict.
v
alue"
/>
</el-select>
</el-form-item>
...
...
@@ -113,7 +113,7 @@
<el-table-column
label=
"参数键值"
align=
"center"
prop=
"configValue"
/>
<el-table-column
label=
"系统内置"
align=
"center"
prop=
"configType"
>
<template
slot-scope=
"scope"
>
<dict-tag
:options=
"
typeOptions
"
:value=
"scope.row.configType"
/>
<dict-tag
:options=
"
dict.type.sys_yes_no
"
:value=
"scope.row.configType"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"备注"
align=
"center"
prop=
"remark"
:show-overflow-tooltip=
"true"
/>
...
...
@@ -165,10 +165,10 @@
<el-form-item
label=
"系统内置"
prop=
"configType"
>
<el-radio-group
v-model=
"form.configType"
>
<el-radio
v-for=
"dict in
typeOptions
"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictV
alue"
>
{{dict.
dictL
abel}}
</el-radio>
v-for=
"dict in
dict.type.sys_yes_no
"
:key=
"dict.
v
alue"
:label=
"dict.
v
alue"
>
{{dict.
l
abel}}
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"备注"
prop=
"remark"
>
...
...
@@ -188,6 +188,7 @@ import { listConfig, getConfig, delConfig, addConfig, updateConfig, refreshCache
export
default
{
name
:
"
Config
"
,
dicts
:
[
'
sys_yes_no
'
],
data
()
{
return
{
// 遮罩层
...
...
@@ -208,8 +209,6 @@ export default {
title
:
""
,
// 是否显示弹出层
open
:
false
,
// 类型数据字典
typeOptions
:
[],
// 日期范围
dateRange
:
[],
// 查询参数
...
...
@@ -238,9 +237,6 @@ export default {
},
created
()
{
this
.
getList
();
this
.
getDicts
(
"
sys_yes_no
"
).
then
(
response
=>
{
this
.
typeOptions
=
response
.
data
;
});
},
methods
:
{
/** 查询参数列表 */
...
...
ruoyi-ui/src/views/system/dept/index.vue
浏览文件 @
a10384c0
...
...
@@ -13,10 +13,10 @@
<el-form-item
label=
"状态"
prop=
"status"
>
<el-select
v-model=
"queryParams.status"
placeholder=
"部门状态"
clearable
size=
"small"
>
<el-option
v-for=
"dict in
statusOptions
"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictL
abel"
:value=
"dict.
dictV
alue"
v-for=
"dict in
dict.type.sys_normal_disable
"
:key=
"dict.
v
alue"
:label=
"dict.
l
abel"
:value=
"dict.
v
alue"
/>
</el-select>
</el-form-item>
...
...
@@ -61,7 +61,7 @@
<el-table-column
prop=
"orderNum"
label=
"排序"
width=
"200"
></el-table-column>
<el-table-column
prop=
"status"
label=
"状态"
width=
"100"
>
<template
slot-scope=
"scope"
>
<dict-tag
:options=
"
statusOptions
"
:value=
"scope.row.status"
/>
<dict-tag
:options=
"
dict.type.sys_normal_disable
"
:value=
"scope.row.status"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
width=
"200"
>
...
...
@@ -135,10 +135,10 @@
<el-form-item
label=
"部门状态"
>
<el-radio-group
v-model=
"form.status"
>
<el-radio
v-for=
"dict in
statusOptions
"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictV
alue"
>
{{dict.
dictL
abel}}
</el-radio>
v-for=
"dict in
dict.type.sys_normal_disable
"
:key=
"dict.
v
alue"
:label=
"dict.
v
alue"
>
{{dict.
l
abel}}
</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
...
...
@@ -159,6 +159,7 @@ import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export
default
{
name
:
"
Dept
"
,
dicts
:
[
'
sys_normal_disable
'
],
components
:
{
Treeselect
},
data
()
{
return
{
...
...
@@ -180,8 +181,6 @@ export default {
refreshTable
:
true
,
// 是否展开
expand
:
false
,
// 状态数据字典
statusOptions
:
[],
// 查询参数
queryParams
:
{
deptName
:
undefined
,
...
...
@@ -219,9 +218,6 @@ export default {
},
created
()
{
this
.
getList
();
this
.
getDicts
(
"
sys_normal_disable
"
).
then
(
response
=>
{
this
.
statusOptions
=
response
.
data
;
});
},
methods
:
{
/** 查询部门列表 */
...
...
ruoyi-ui/src/views/system/dict/data.vue
浏览文件 @
a10384c0
...
...
@@ -23,10 +23,10 @@
<el-form-item
label=
"状态"
prop=
"status"
>
<el-select
v-model=
"queryParams.status"
placeholder=
"数据状态"
clearable
size=
"small"
>
<el-option
v-for=
"dict in
statusOptions
"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictL
abel"
:value=
"dict.
dictV
alue"
v-for=
"dict in
dict.type.sys_normal_disable
"
:key=
"dict.
v
alue"
:label=
"dict.
l
abel"
:value=
"dict.
v
alue"
/>
</el-select>
</el-form-item>
...
...
@@ -95,7 +95,7 @@
<el-table-column
label=
"字典排序"
align=
"center"
prop=
"dictSort"
/>
<el-table-column
label=
"状态"
align=
"center"
prop=
"status"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"
statusOptions
"
:value=
"scope.row.status"
/>
<dict-tag
:options=
"
dict.type.sys_normal_disable
"
:value=
"scope.row.status"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"备注"
align=
"center"
prop=
"remark"
:show-overflow-tooltip=
"true"
/>
...
...
@@ -163,10 +163,10 @@
<el-form-item
label=
"状态"
prop=
"status"
>
<el-radio-group
v-model=
"form.status"
>
<el-radio
v-for=
"dict in
statusOptions
"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictV
alue"
>
{{dict.
dictL
abel}}
</el-radio>
v-for=
"dict in
dict.type.sys_normal_disable
"
:key=
"dict.
v
alue"
:label=
"dict.
v
alue"
>
{{dict.
l
abel}}
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"备注"
prop=
"remark"
>
...
...
@@ -187,6 +187,7 @@ import { listType, getType } from "@/api/system/dict/type";
export
default
{
name
:
"
Data
"
,
dicts
:
[
'
sys_normal_disable
'
],
data
()
{
return
{
// 遮罩层
...
...
@@ -236,8 +237,6 @@ export default {
label
:
"
危险
"
}
],
// 状态数据字典
statusOptions
:
[],
// 类型数据字典
typeOptions
:
[],
// 查询参数
...
...
@@ -268,9 +267,6 @@ export default {
const
dictId
=
this
.
$route
.
params
&&
this
.
$route
.
params
.
dictId
;
this
.
getType
(
dictId
);
this
.
getTypeList
();
this
.
getDicts
(
"
sys_normal_disable
"
).
then
(
response
=>
{
this
.
statusOptions
=
response
.
data
;
});
},
methods
:
{
/** 查询字典类型详细 */
...
...
ruoyi-ui/src/views/system/dict/index.vue
浏览文件 @
a10384c0
...
...
@@ -30,10 +30,10 @@
style=
"width: 240px"
>
<el-option
v-for=
"dict in
statusOptions
"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictL
abel"
:value=
"dict.
dictV
alue"
v-for=
"dict in
dict.type.sys_normal_disable
"
:key=
"dict.
v
alue"
:label=
"dict.
l
abel"
:value=
"dict.
v
alue"
/>
</el-select>
</el-form-item>
...
...
@@ -124,7 +124,7 @@
</el-table-column>
<el-table-column
label=
"状态"
align=
"center"
prop=
"status"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"
statusOptions
"
:value=
"scope.row.status"
/>
<dict-tag
:options=
"
dict.type.sys_normal_disable
"
:value=
"scope.row.status"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"备注"
align=
"center"
prop=
"remark"
:show-overflow-tooltip=
"true"
/>
...
...
@@ -173,10 +173,10 @@
<el-form-item
label=
"状态"
prop=
"status"
>
<el-radio-group
v-model=
"form.status"
>
<el-radio
v-for=
"dict in
statusOptions
"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictV
alue"
>
{{dict.
dictL
abel}}
</el-radio>
v-for=
"dict in
dict.type.sys_normal_disable
"
:key=
"dict.
v
alue"
:label=
"dict.
v
alue"
>
{{dict.
l
abel}}
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"备注"
prop=
"remark"
>
...
...
@@ -196,6 +196,7 @@ import { listType, getType, delType, addType, updateType, refreshCache } from "@
export
default
{
name
:
"
Dict
"
,
dicts
:
[
'
sys_normal_disable
'
],
data
()
{
return
{
// 遮罩层
...
...
@@ -216,8 +217,6 @@ export default {
title
:
""
,
// 是否显示弹出层
open
:
false
,
// 状态数据字典
statusOptions
:
[],
// 日期范围
dateRange
:
[],
// 查询参数
...
...
@@ -243,9 +242,6 @@ export default {
},
created
()
{
this
.
getList
();
this
.
getDicts
(
"
sys_normal_disable
"
).
then
(
response
=>
{
this
.
statusOptions
=
response
.
data
;
});
},
methods
:
{
/** 查询字典类型列表 */
...
...
ruoyi-ui/src/views/system/logininfor/index.vue
浏览文件 @
a10384c0
...
...
@@ -30,10 +30,10 @@
style=
"width: 240px"
>
<el-option
v-for=
"dict in
statusOption
s"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictL
abel"
:value=
"dict.
dictV
alue"
v-for=
"dict in
dict.type.sys_common_statu
s"
:key=
"dict.
v
alue"
:label=
"dict.
l
abel"
:value=
"dict.
v
alue"
/>
</el-select>
</el-form-item>
...
...
@@ -97,7 +97,7 @@
<el-table-column
label=
"地址"
align=
"center"
prop=
"ipaddr"
width=
"130"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"登录状态"
align=
"center"
prop=
"status"
>
<template
slot-scope=
"scope"
>
<dict-tag
:options=
"
statusOption
s"
:value=
"scope.row.status"
/>
<dict-tag
:options=
"
dict.type.sys_common_statu
s"
:value=
"scope.row.status"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"描述"
align=
"center"
prop=
"msg"
/>
...
...
@@ -123,6 +123,7 @@ import { list, delLogininfor, cleanLogininfor } from "@/api/system/logininfor";
export
default
{
name
:
"
Logininfor
"
,
dicts
:
[
'
sys_common_status
'
],
data
()
{
return
{
// 遮罩层
...
...
@@ -137,8 +138,6 @@ export default {
total
:
0
,
// 表格数据
list
:
[],
// 状态数据字典
statusOptions
:
[],
// 日期范围
dateRange
:
[],
// 默认排序
...
...
@@ -155,9 +154,6 @@ export default {
},
created
()
{
this
.
getList
();
this
.
getDicts
(
"
sys_common_status
"
).
then
(
response
=>
{
this
.
statusOptions
=
response
.
data
;
});
},
methods
:
{
/** 查询登录日志列表 */
...
...
ruoyi-ui/src/views/system/menu/index.vue
浏览文件 @
a10384c0
...
...
@@ -13,10 +13,10 @@
<el-form-item
label=
"状态"
prop=
"status"
>
<el-select
v-model=
"queryParams.status"
placeholder=
"菜单状态"
clearable
size=
"small"
>
<el-option
v-for=
"dict in
statusOptions
"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictL
abel"
:value=
"dict.
dictV
alue"
v-for=
"dict in
dict.type.sys_normal_disable
"
:key=
"dict.
v
alue"
:label=
"dict.
l
abel"
:value=
"dict.
v
alue"
/>
</el-select>
</el-form-item>
...
...
@@ -68,7 +68,7 @@
<el-table-column
prop=
"component"
label=
"组件路径"
:show-overflow-tooltip=
"true"
></el-table-column>
<el-table-column
prop=
"status"
label=
"状态"
width=
"80"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"
statusOptions
"
:value=
"scope.row.status"
/>
<dict-tag
:options=
"
dict.type.sys_normal_disable
"
:value=
"scope.row.status"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
>
...
...
@@ -240,10 +240,10 @@
</span>
<el-radio-group
v-model=
"form.visible"
>
<el-radio
v-for=
"dict in
visibleOptions
"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictV
alue"
>
{{dict.
dictL
abel}}
</el-radio>
v-for=
"dict in
dict.type.sys_show_hide
"
:key=
"dict.
v
alue"
:label=
"dict.
v
alue"
>
{{dict.
l
abel}}
</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
...
...
@@ -257,10 +257,10 @@
</span>
<el-radio-group
v-model=
"form.status"
>
<el-radio
v-for=
"dict in
statusOptions
"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictV
alue"
>
{{dict.
dictL
abel}}
</el-radio>
v-for=
"dict in
dict.type.sys_normal_disable
"
:key=
"dict.
v
alue"
:label=
"dict.
v
alue"
>
{{dict.
l
abel}}
</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
...
...
@@ -282,6 +282,7 @@ import IconSelect from "@/components/IconSelect";
export
default
{
name
:
"
Menu
"
,
dicts
:
[
'
sys_show_hide
'
,
'
sys_normal_disable
'
],
components
:
{
Treeselect
,
IconSelect
},
data
()
{
return
{
...
...
@@ -301,10 +302,6 @@ export default {
isExpandAll
:
false
,
// 重新渲染表格状态
refreshTable
:
true
,
// 显示状态数据字典
visibleOptions
:
[],
// 菜单状态数据字典
statusOptions
:
[],
// 查询参数
queryParams
:
{
menuName
:
undefined
,
...
...
@@ -328,12 +325,6 @@ export default {
},
created
()
{
this
.
getList
();
this
.
getDicts
(
"
sys_show_hide
"
).
then
(
response
=>
{
this
.
visibleOptions
=
response
.
data
;
});
this
.
getDicts
(
"
sys_normal_disable
"
).
then
(
response
=>
{
this
.
statusOptions
=
response
.
data
;
});
},
methods
:
{
// 选择图标
...
...
ruoyi-ui/src/views/system/notice/index.vue
浏览文件 @
a10384c0
...
...
@@ -22,10 +22,10 @@
<el-form-item
label=
"类型"
prop=
"noticeType"
>
<el-select
v-model=
"queryParams.noticeType"
placeholder=
"公告类型"
clearable
size=
"small"
>
<el-option
v-for=
"dict in
typeOptions
"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictL
abel"
:value=
"dict.
dictV
alue"
v-for=
"dict in
dict.type.sys_notice_type
"
:key=
"dict.
v
alue"
:label=
"dict.
l
abel"
:value=
"dict.
v
alue"
/>
</el-select>
</el-form-item>
...
...
@@ -82,12 +82,12 @@
/>
<el-table-column
label=
"公告类型"
align=
"center"
prop=
"noticeType"
width=
"100"
>
<template
slot-scope=
"scope"
>
<dict-tag
:options=
"
typeOptions
"
:value=
"scope.row.noticeType"
/>
<dict-tag
:options=
"
dict.type.sys_notice_type
"
:value=
"scope.row.noticeType"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"状态"
align=
"center"
prop=
"status"
width=
"100"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"
statusOption
s"
:value=
"scope.row.status"
/>
<dict-tag
:options=
"
dict.type.sys_notice_statu
s"
:value=
"scope.row.status"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"创建者"
align=
"center"
prop=
"createBy"
width=
"100"
/>
...
...
@@ -137,10 +137,10 @@
<
el
-
form
-
item
label
=
"
公告类型
"
prop
=
"
noticeType
"
>
<
el
-
select
v
-
model
=
"
form.noticeType
"
placeholder
=
"
请选择
"
>
<
el
-
option
v
-
for
=
"
dict in
typeOptions
"
:
key
=
"
dict.
dictV
alue
"
:
label
=
"
dict.
dictL
abel
"
:
value
=
"
dict.
dictV
alue
"
v
-
for
=
"
dict in
dict.type.sys_notice_type
"
:
key
=
"
dict.
v
alue
"
:
label
=
"
dict.
l
abel
"
:
value
=
"
dict.
v
alue
"
><
/el-option>
<
/el-select>
<
/el-form-item>
...
...
@@ -149,10 +149,10 @@
<
el
-
form
-
item
label
=
"
状态
"
>
<
el
-
radio
-
group
v
-
model
=
"
form.status
"
>
<
el
-
radio
v
-
for
=
"
dict in
statusOption
s
"
:
key
=
"
dict.
dictV
alue
"
:
label
=
"
dict.
dictV
alue
"
>
{{
dict
.
dictL
abel
}}
<
/el-radio>
v
-
for
=
"
dict in
dict.type.sys_notice_statu
s
"
:
key
=
"
dict.
v
alue
"
:
label
=
"
dict.
v
alue
"
>
{{
dict
.
l
abel
}}
<
/el-radio>
<
/el-radio-group>
<
/el-form-item>
<
/el-col>
...
...
@@ -176,6 +176,7 @@ import { listNotice, getNotice, delNotice, addNotice, updateNotice } from "@/api
export
default
{
name
:
"
Notice
"
,
dicts
:
[
'
sys_notice_status
'
,
'
sys_notice_type
'
],
data
()
{
return
{
// 遮罩层
...
...
@@ -196,10 +197,6 @@ export default {
title
:
""
,
// 是否显示弹出层
open
:
false
,
// 类型数据字典
statusOptions
:
[],
// 状态数据字典
typeOptions
:
[],
// 查询参数
queryParams
:
{
pageNum
:
1
,
...
...
@@ -223,12 +220,6 @@ export default {
}
,
created
()
{
this
.
getList
();
this
.
getDicts
(
"
sys_notice_status
"
).
then
(
response
=>
{
this
.
statusOptions
=
response
.
data
;
}
);
this
.
getDicts
(
"
sys_notice_type
"
).
then
(
response
=>
{
this
.
typeOptions
=
response
.
data
;
}
);
}
,
methods
:
{
/** 查询公告列表 */
...
...
ruoyi-ui/src/views/system/operlog/index.vue
浏览文件 @
a10384c0
...
...
@@ -30,10 +30,10 @@
style=
"width: 240px"
>
<el-option
v-for=
"dict in
typeOptions
"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictL
abel"
:value=
"dict.
dictV
alue"
v-for=
"dict in
dict.type.sys_oper_type
"
:key=
"dict.
v
alue"
:label=
"dict.
l
abel"
:value=
"dict.
v
alue"
/>
</el-select>
</el-form-item>
...
...
@@ -46,10 +46,10 @@
style=
"width: 240px"
>
<el-option
v-for=
"dict in
statusOption
s"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictL
abel"
:value=
"dict.
dictV
alue"
v-for=
"dict in
dict.type.sys_common_statu
s"
:key=
"dict.
v
alue"
:label=
"dict.
l
abel"
:value=
"dict.
v
alue"
/>
</el-select>
</el-form-item>
...
...
@@ -112,7 +112,7 @@
<el-table-column
label=
"系统模块"
align=
"center"
prop=
"title"
/>
<el-table-column
label=
"操作类型"
align=
"center"
prop=
"businessType"
>
<template
slot-scope=
"scope"
>
<dict-tag
:options=
"
typeOptions
"
:value=
"scope.row.businessType"
/>
<dict-tag
:options=
"
dict.type.sys_oper_type
"
:value=
"scope.row.businessType"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"请求方式"
align=
"center"
prop=
"requestMethod"
/>
...
...
@@ -120,7 +120,7 @@
<el-table-column
label=
"主机"
align=
"center"
prop=
"operIp"
width=
"130"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"操作状态"
align=
"center"
prop=
"status"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"
statusOption
s"
:value=
"scope.row.status"
/>
<dict-tag
:options=
"
dict.type.sys_common_statu
s"
:value=
"scope.row.status"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"操作日期"
align=
"center"
prop=
"operTime"
sortable=
"custom"
:sort-orders=
"['descending', 'ascending']"
width=
"180"
>
...
...
@@ -198,6 +198,7 @@ import { list, delOperlog, cleanOperlog } from "@/api/system/operlog";
export
default
{
name
:
"
Operlog
"
,
dicts
:
[
'
sys_oper_type
'
,
'
sys_common_status
'
],
data
()
{
return
{
// 遮罩层
...
...
@@ -214,10 +215,6 @@ export default {
list
:
[],
// 是否显示弹出层
open
:
false
,
// 类型数据字典
typeOptions
:
[],
// 类型数据字典
statusOptions
:
[],
// 日期范围
dateRange
:
[],
// 默认排序
...
...
@@ -237,12 +234,6 @@ export default {
},
created
()
{
this
.
getList
();
this
.
getDicts
(
"
sys_oper_type
"
).
then
(
response
=>
{
this
.
typeOptions
=
response
.
data
;
});
this
.
getDicts
(
"
sys_common_status
"
).
then
(
response
=>
{
this
.
statusOptions
=
response
.
data
;
});
},
methods
:
{
/** 查询登录日志 */
...
...
@@ -257,7 +248,7 @@ export default {
},
// 操作日志类型字典翻译
typeFormat
(
row
,
column
)
{
return
this
.
selectDictLabel
(
this
.
typeOptions
,
row
.
businessType
);
return
this
.
selectDictLabel
(
this
.
dict
.
type
.
sys_oper_type
,
row
.
businessType
);
},
/** 搜索按钮操作 */
handleQuery
()
{
...
...
ruoyi-ui/src/views/system/post/index.vue
浏览文件 @
a10384c0
...
...
@@ -22,10 +22,10 @@
<el-form-item
label=
"状态"
prop=
"status"
>
<el-select
v-model=
"queryParams.status"
placeholder=
"岗位状态"
clearable
size=
"small"
>
<el-option
v-for=
"dict in
statusOptions
"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictL
abel"
:value=
"dict.
dictV
alue"
v-for=
"dict in
dict.type.sys_normal_disable
"
:key=
"dict.
v
alue"
:label=
"dict.
l
abel"
:value=
"dict.
v
alue"
/>
</el-select>
</el-form-item>
...
...
@@ -89,7 +89,7 @@
<el-table-column
label=
"岗位排序"
align=
"center"
prop=
"postSort"
/>
<el-table-column
label=
"状态"
align=
"center"
prop=
"status"
>
<template
slot-scope=
"scope"
>
<dict-tag
:options=
"
statusOptions
"
:value=
"scope.row.status"
/>
<dict-tag
:options=
"
dict.type.sys_normal_disable
"
:value=
"scope.row.status"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
width=
"180"
>
...
...
@@ -140,10 +140,10 @@
<el-form-item
label=
"岗位状态"
prop=
"status"
>
<el-radio-group
v-model=
"form.status"
>
<el-radio
v-for=
"dict in
statusOptions
"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictV
alue"
>
{{dict.
dictL
abel}}
</el-radio>
v-for=
"dict in
dict.type.sys_normal_disable
"
:key=
"dict.
v
alue"
:label=
"dict.
v
alue"
>
{{dict.
l
abel}}
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"备注"
prop=
"remark"
>
...
...
@@ -163,6 +163,7 @@ import { listPost, getPost, delPost, addPost, updatePost } from "@/api/system/po
export
default
{
name
:
"
Post
"
,
dicts
:
[
'
sys_normal_disable
'
],
data
()
{
return
{
// 遮罩层
...
...
@@ -183,8 +184,6 @@ export default {
title
:
""
,
// 是否显示弹出层
open
:
false
,
// 状态数据字典
statusOptions
:
[],
// 查询参数
queryParams
:
{
pageNum
:
1
,
...
...
@@ -211,9 +210,6 @@ export default {
},
created
()
{
this
.
getList
();
this
.
getDicts
(
"
sys_normal_disable
"
).
then
(
response
=>
{
this
.
statusOptions
=
response
.
data
;
});
},
methods
:
{
/** 查询岗位列表 */
...
...
ruoyi-ui/src/views/system/role/authUser.vue
浏览文件 @
a10384c0
...
...
@@ -69,7 +69,7 @@
<el-table-column
label=
"手机"
prop=
"phonenumber"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"状态"
align=
"center"
prop=
"status"
>
<template
slot-scope=
"scope"
>
<dict-tag
:options=
"
statusOptions
"
:value=
"scope.row.status"
/>
<dict-tag
:options=
"
dict.type.sys_normal_disable
"
:value=
"scope.row.status"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
width=
"180"
>
...
...
@@ -107,6 +107,7 @@ import selectUser from "./selectUser";
export
default
{
name
:
"
AuthUser
"
,
dicts
:
[
'
sys_normal_disable
'
],
components
:
{
selectUser
},
data
()
{
return
{
...
...
@@ -122,8 +123,6 @@ export default {
total
:
0
,
// 用户表格数据
userList
:
[],
// 状态数据字典
statusOptions
:
[],
// 查询参数
queryParams
:
{
pageNum
:
1
,
...
...
@@ -139,9 +138,6 @@ export default {
if
(
roleId
)
{
this
.
queryParams
.
roleId
=
roleId
;
this
.
getList
();
this
.
getDicts
(
"
sys_normal_disable
"
).
then
(
response
=>
{
this
.
statusOptions
=
response
.
data
;
});
}
},
methods
:
{
...
...
ruoyi-ui/src/views/system/role/index.vue
浏览文件 @
a10384c0
...
...
@@ -30,10 +30,10 @@
style=
"width: 240px"
>
<el-option
v-for=
"dict in
statusOptions
"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictL
abel"
:value=
"dict.
dictV
alue"
v-for=
"dict in
dict.type.sys_normal_disable
"
:key=
"dict.
v
alue"
:label=
"dict.
l
abel"
:value=
"dict.
v
alue"
/>
</el-select>
</el-form-item>
...
...
@@ -182,10 +182,10 @@
<el-form-item
label=
"状态"
>
<el-radio-group
v-model=
"form.status"
>
<el-radio
v-for=
"dict in
statusOptions
"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictV
alue"
>
{{dict.
dictL
abel}}
</el-radio>
v-for=
"dict in
dict.type.sys_normal_disable
"
:key=
"dict.
v
alue"
:label=
"dict.
v
alue"
>
{{dict.
l
abel}}
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"菜单权限"
>
...
...
@@ -264,6 +264,7 @@ import { treeselect as deptTreeselect, roleDeptTreeselect } from "@/api/system/d
export
default
{
name
:
"
Role
"
,
dicts
:
[
'
sys_normal_disable
'
],
data
()
{
return
{
// 遮罩层
...
...
@@ -292,8 +293,6 @@ export default {
deptNodeAll
:
false
,
// 日期范围
dateRange
:
[],
// 状态数据字典
statusOptions
:
[],
// 数据范围选项
dataScopeOptions
:
[
{
...
...
@@ -351,9 +350,6 @@ export default {
},
created
()
{
this
.
getList
();
this
.
getDicts
(
"
sys_normal_disable
"
).
then
(
response
=>
{
this
.
statusOptions
=
response
.
data
;
});
},
methods
:
{
/** 查询角色列表 */
...
...
ruoyi-ui/src/views/system/role/selectUser.vue
浏览文件 @
a10384c0
...
...
@@ -34,7 +34,7 @@
<el-table-column
label=
"手机"
prop=
"phonenumber"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"状态"
align=
"center"
prop=
"status"
>
<template
slot-scope=
"scope"
>
<dict-tag
:options=
"
statusOptions
"
:value=
"scope.row.status"
/>
<dict-tag
:options=
"
dict.type.sys_normal_disable
"
:value=
"scope.row.status"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
width=
"180"
>
...
...
@@ -61,6 +61,7 @@
<
script
>
import
{
unallocatedUserList
,
authUserSelectAll
}
from
"
@/api/system/role
"
;
export
default
{
dicts
:
[
'
sys_normal_disable
'
],
props
:
{
// 角色编号
roleId
:
{
...
...
@@ -77,8 +78,6 @@ export default {
total
:
0
,
// 未授权用户数据
userList
:
[],
// 状态数据字典
statusOptions
:
[],
// 查询参数
queryParams
:
{
pageNum
:
1
,
...
...
@@ -89,11 +88,6 @@ export default {
}
};
},
created
()
{
this
.
getDicts
(
"
sys_normal_disable
"
).
then
(
response
=>
{
this
.
statusOptions
=
response
.
data
;
});
},
methods
:
{
// 显示弹框
show
()
{
...
...
ruoyi-ui/src/views/system/user/index.vue
浏览文件 @
a10384c0
...
...
@@ -57,10 +57,10 @@
style=
"width: 240px"
>
<el-option
v-for=
"dict in
statusOptions
"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictL
abel"
:value=
"dict.
dictV
alue"
v-for=
"dict in
dict.type.sys_normal_disable
"
:key=
"dict.
v
alue"
:label=
"dict.
l
abel"
:value=
"dict.
v
alue"
/>
</el-select>
</el-form-item>
...
...
@@ -250,10 +250,10 @@
<el-form-item
label=
"用户性别"
>
<el-select
v-model=
"form.sex"
placeholder=
"请选择"
>
<el-option
v-for=
"dict in
sexOptions
"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictL
abel"
:value=
"dict.
dictV
alue"
v-for=
"dict in
dict.type.sys_user_sex
"
:key=
"dict.
v
alue"
:label=
"dict.
l
abel"
:value=
"dict.
v
alue"
></el-option>
</el-select>
</el-form-item>
...
...
@@ -262,10 +262,10 @@
<el-form-item
label=
"状态"
>
<el-radio-group
v-model=
"form.status"
>
<el-radio
v-for=
"dict in
statusOptions
"
:key=
"dict.
dictV
alue"
:label=
"dict.
dictV
alue"
>
{{dict.
dictL
abel}}
</el-radio>
v-for=
"dict in
dict.type.sys_normal_disable
"
:key=
"dict.
v
alue"
:label=
"dict.
v
alue"
>
{{dict.
l
abel}}
</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
...
...
@@ -353,6 +353,7 @@ import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export
default
{
name
:
"
User
"
,
dicts
:
[
'
sys_normal_disable
'
,
'
sys_user_sex
'
],
components
:
{
Treeselect
},
data
()
{
return
{
...
...
@@ -382,10 +383,6 @@ export default {
initPassword
:
undefined
,
// 日期范围
dateRange
:
[],
// 状态数据字典
statusOptions
:
[],
// 性别状态字典
sexOptions
:
[],
// 岗位选项
postOptions
:
[],
// 角色选项
...
...
@@ -433,7 +430,8 @@ export default {
// 表单校验
rules
:
{
userName
:
[
{
required
:
true
,
message
:
"
用户名称不能为空
"
,
trigger
:
"
blur
"
}
{
required
:
true
,
message
:
"
用户名称不能为空
"
,
trigger
:
"
blur
"
},
{
min
:
2
,
max
:
20
,
message
:
'
用户名称长度必须介于 2 和 20 之间
'
,
trigger
:
'
blur
'
}
],
nickName
:
[
{
required
:
true
,
message
:
"
用户昵称不能为空
"
,
trigger
:
"
blur
"
}
...
...
@@ -468,12 +466,6 @@ export default {
created
()
{
this
.
getList
();
this
.
getTreeselect
();
this
.
getDicts
(
"
sys_normal_disable
"
).
then
(
response
=>
{
this
.
statusOptions
=
response
.
data
;
});
this
.
getDicts
(
"
sys_user_sex
"
).
then
(
response
=>
{
this
.
sexOptions
=
response
.
data
;
});
this
.
getConfigKey
(
"
sys.user.initPassword
"
).
then
(
response
=>
{
this
.
initPassword
=
response
.
msg
;
});
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录