Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
RuoYi Vue
Commits
bcee37b8
Commit
bcee37b8
authored
Nov 11, 2019
by
RuoYi
Browse files
若依 1.1
parent
85c17f45
Changes
93
Hide whitespace changes
Inline
Side-by-side
README.md
View file @
bcee37b8
...
...
@@ -49,12 +49,12 @@
<td><img
src=
"https://oscimg.oschina.net/oscnet/1cbcf0e6f257c7d3a063c0e3f2ff989e4b3.jpg"
/></td>
</tr>
<tr>
<td><img
src=
"https://oscimg.oschina.net/oscnet/
97fcdc766fa04c03722aef4b3d77f71e8d2
.jpg"
/></td>
<td><img
src=
"https://oscimg.oschina.net/oscnet/
642858372da91853c39e2d4746f036ea171
.jpg"
/></td>
<td><img
src=
"https://oscimg.oschina.net/oscnet/
707825ad3f29de74a8d6d02fbd73ad631ea
.jpg"
/></td>
<td><img
src=
"https://oscimg.oschina.net/oscnet/
46be40cc6f01aa300eed53a19b5012bf484
.jpg"
/></td>
</tr>
<tr>
<td><img
src=
"https://oscimg.oschina.net/oscnet/
8678d5204148e2610c9d02822274a961dcf
.jpg"
/></td>
<td><img
src=
"https://oscimg.oschina.net/oscnet/
feb2b25a08bf9dd121b8f51274ae935ead6
.jpg"
/></td>
<td><img
src=
"https://oscimg.oschina.net/oscnet/
4284796d4cea240d181b8f2201813dda710
.jpg"
/></td>
<td><img
src=
"https://oscimg.oschina.net/oscnet/
3ecfac87a049f7fe36abbcaafb2c40d36cf
.jpg"
/></td>
</tr>
<tr>
<td><img
src=
"https://oscimg.oschina.net/oscnet/71c2d48905221a09a728df4aff4160b8607.jpg"
/></td>
...
...
@@ -65,8 +65,8 @@
<td><img
src=
"https://oscimg.oschina.net/oscnet/644e78da53c2e92a95dfda4f76e6d117c4b.jpg"
/></td>
</tr>
<tr>
<td><img
src=
"https://oscimg.oschina.net/oscnet/
c162686bf3a39e3cd6b4fd6b5919f515ebf
.jpg"
/></td>
<td><img
src=
"https://oscimg.oschina.net/oscnet/
412fb931faa8b3e3de6f9cbbc5b7979cf36
.jpg"
/></td>
<td><img
src=
"https://oscimg.oschina.net/oscnet/
fdea1d8bb8625c27bf964176a2c8ebc6945
.jpg"
/></td>
<td><img
src=
"https://oscimg.oschina.net/oscnet/
509d2708cfd762b6e6339364cac1cc1970c
.jpg"
/></td>
</tr>
<tr>
<td><img
src=
"https://oscimg.oschina.net/oscnet/b6115bc8c31de52951982e509930b20684a.jpg"
/></td>
...
...
ruoyi-ui/package.json
View file @
bcee37b8
{
"name"
:
"ruoyi"
,
"version"
:
"1.
0
.0"
,
"version"
:
"1.
1
.0"
,
"description"
:
"若依管理系统"
,
"author"
:
"若依"
,
"license"
:
"MIT"
,
...
...
ruoyi-ui/src/api/monitor/logininfor.js
View file @
bcee37b8
...
...
@@ -7,4 +7,29 @@ export function list(query) {
method
:
'
get
'
,
params
:
query
})
}
// 删除登录日志
export
function
delLogininfor
(
infoId
)
{
return
request
({
url
:
'
/monitor/logininfor/
'
+
infoId
,
method
:
'
delete
'
})
}
// 清空登录日志
export
function
cleanLogininfor
()
{
return
request
({
url
:
'
/monitor/logininfor/clean
'
,
method
:
'
delete
'
})
}
// 导出登录日志
export
function
exportLogininfor
(
query
)
{
return
request
({
url
:
'
/monitor/logininfor/export
'
,
method
:
'
get
'
,
params
:
query
})
}
\ No newline at end of file
ruoyi-ui/src/api/monitor/operlog.js
View file @
bcee37b8
...
...
@@ -7,4 +7,29 @@ export function list(query) {
method
:
'
get
'
,
params
:
query
})
}
// 删除操作日志
export
function
delOperlog
(
operId
)
{
return
request
({
url
:
'
/monitor/operlog/
'
+
operId
,
method
:
'
delete
'
})
}
// 清空操作日志
export
function
cleanOperlog
()
{
return
request
({
url
:
'
/monitor/operlog/clean
'
,
method
:
'
delete
'
})
}
// 导出操作日志
export
function
exportOperlog
(
query
)
{
return
request
({
url
:
'
/monitor/operlog/export
'
,
method
:
'
get
'
,
params
:
query
})
}
\ No newline at end of file
ruoyi-ui/src/api/system/config.js
View file @
bcee37b8
...
...
@@ -49,4 +49,13 @@ export function delConfig(configId) {
url
:
'
/system/config/
'
+
configId
,
method
:
'
delete
'
})
}
// 导出参数
export
function
exportConfig
(
query
)
{
return
request
({
url
:
'
/system/config/export
'
,
method
:
'
get
'
,
params
:
query
})
}
\ No newline at end of file
ruoyi-ui/src/api/system/dict/data.js
View file @
bcee37b8
...
...
@@ -49,4 +49,13 @@ export function delData(dictCode) {
url
:
'
/system/dict/data/
'
+
dictCode
,
method
:
'
delete
'
})
}
// 导出字典数据
export
function
exportData
(
query
)
{
return
request
({
url
:
'
/system/dict/data/export
'
,
method
:
'
get
'
,
params
:
query
})
}
\ No newline at end of file
ruoyi-ui/src/api/system/dict/type.js
View file @
bcee37b8
...
...
@@ -42,3 +42,12 @@ export function delType(dictId) {
method
:
'
delete
'
})
}
// 导出字典类型
export
function
exportType
(
query
)
{
return
request
({
url
:
'
/system/dict/type/export
'
,
method
:
'
get
'
,
params
:
query
})
}
ruoyi-ui/src/api/system/post.js
View file @
bcee37b8
...
...
@@ -41,4 +41,13 @@ export function delPost(postId) {
url
:
'
/system/post/
'
+
postId
,
method
:
'
delete
'
})
}
// 导出岗位
export
function
exportPost
(
query
)
{
return
request
({
url
:
'
/system/post/export
'
,
method
:
'
get
'
,
params
:
query
})
}
\ No newline at end of file
ruoyi-ui/src/api/system/role.js
View file @
bcee37b8
...
...
@@ -63,4 +63,13 @@ export function delRole(roleId) {
url
:
'
/system/role/
'
+
roleId
,
method
:
'
delete
'
})
}
// 导出角色
export
function
exportRole
(
query
)
{
return
request
({
url
:
'
/system/role/export
'
,
method
:
'
get
'
,
params
:
query
})
}
\ No newline at end of file
ruoyi-ui/src/api/system/user.js
View file @
bcee37b8
...
...
@@ -43,6 +43,15 @@ export function delUser(userId) {
})
}
// 导出用户
export
function
exportUser
(
query
)
{
return
request
({
url
:
'
/system/user/export
'
,
method
:
'
get
'
,
params
:
query
})
}
// 用户密码重置
export
function
resetUserPwd
(
userId
,
password
)
{
const
data
=
{
...
...
@@ -106,4 +115,4 @@ export function uploadAvatar(data) {
method
:
'
post
'
,
data
:
data
})
}
\ No newline at end of file
}
ruoyi-ui/src/assets/styles/ruoyi.scss
View file @
bcee37b8
...
...
@@ -3,6 +3,56 @@
* Copyright (c) 2019 ruoyi
*/
/** 基础通用 **/
.pt5
{
padding-top
:
5px
;
}
.pr5
{
padding-right
:
5px
;
}
.pb5
{
padding-bottom
:
5px
;
}
.mt5
{
margin-top
:
5px
;
}
.mr5
{
margin-right
:
5px
;
}
.mb5
{
margin-bottom
:
5px
;
}
.mb8
{
margin-bottom
:
8px
;
}
.ml5
{
margin-left
:
5px
;
}
.mt10
{
margin-top
:
10px
;
}
.mr10
{
margin-right
:
10px
;
}
.mb10
{
margin-bottom
:
10px
;
}
.ml0
{
margin-left
:
10px
;
}
.mt20
{
margin-top
:
20px
;
}
.mr20
{
margin-right
:
20px
;
}
.mb20
{
margin-bottom
:
20px
;
}
.m20
{
margin-left
:
20px
;
}
.el-table
.el-table__header-wrapper
th
{
word-break
:
break-word
;
background-color
:
#f8f8f9
;
...
...
ruoyi-ui/src/main.js
View file @
bcee37b8
...
...
@@ -18,7 +18,7 @@ import './assets/icons' // icon
import
'
./permission
'
// permission control
import
{
getDicts
}
from
"
@/api/system/dict/data
"
;
import
{
getConfigKey
}
from
"
@/api/system/config
"
;
import
{
parseTime
,
resetForm
,
addDateRange
,
selectDictLabel
}
from
"
@/utils/ruoyi
"
;
import
{
parseTime
,
resetForm
,
addDateRange
,
selectDictLabel
,
download
}
from
"
@/utils/ruoyi
"
;
import
Pagination
from
"
@/components/Pagination
"
;
// 全局方法挂载
...
...
@@ -28,6 +28,7 @@ Vue.prototype.parseTime = parseTime
Vue
.
prototype
.
resetForm
=
resetForm
Vue
.
prototype
.
addDateRange
=
addDateRange
Vue
.
prototype
.
selectDictLabel
=
selectDictLabel
Vue
.
prototype
.
download
=
download
Vue
.
prototype
.
msgSuccess
=
function
(
msg
)
{
this
.
$message
({
showClose
:
true
,
message
:
msg
,
type
:
"
success
"
});
...
...
ruoyi-ui/src/utils/ruoyi.js
View file @
bcee37b8
...
...
@@ -3,6 +3,8 @@
* Copyright (c) 2019 ruoyi
*/
const
baseURL
=
process
.
env
.
VUE_APP_BASE_API
// 日期格式化
export
function
parseTime
(
time
,
pattern
)
{
if
(
arguments
.
length
===
0
)
{
...
...
@@ -73,6 +75,11 @@ export function selectDictLabel(datas, value) {
return
actions
.
join
(
''
);
}
// 通用下载方法
export
function
download
(
fileName
)
{
window
.
location
.
href
=
baseURL
+
"
/common/download?fileName=
"
+
encodeURI
(
fileName
)
+
"
&delete=
"
+
true
;
}
// 字符串格式化(%s )
export
function
sprintf
(
str
)
{
var
args
=
arguments
,
flag
=
true
,
i
=
1
;
...
...
ruoyi-ui/src/views/monitor/logininfor/index.vue
View file @
bcee37b8
<
template
>
<div
class=
"app-container"
>
<el-form
:inline=
"true"
label-width=
"68px"
>
<el-form-item
label=
"登录地址"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
:inline=
"true"
label-width=
"68px"
>
<el-form-item
label=
"登录地址"
prop=
"ipaddr"
>
<el-input
v-model=
"queryParams.ipaddr"
placeholder=
"请输入登录地址"
...
...
@@ -11,7 +11,7 @@
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"用户名称"
>
<el-form-item
label=
"用户名称"
prop=
"userName"
>
<el-input
v-model=
"queryParams.userName"
placeholder=
"请输入用户名称"
...
...
@@ -21,7 +21,7 @@
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"状态"
>
<el-form-item
label=
"状态"
prop=
"status"
>
<el-select
v-model=
"queryParams.status"
placeholder=
"登录状态"
...
...
@@ -51,10 +51,43 @@
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
<el-table
v-loading=
"loading"
:data=
"list"
style=
"width: 100%;"
>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
icon=
"el-icon-delete"
size=
"mini"
:disabled=
"multiple"
@
click=
"handleDelete"
v-hasPermi=
"['monitor:logininfor:remove']"
>
删除
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
icon=
"el-icon-delete"
size=
"mini"
@
click=
"handleClean"
v-hasPermi=
"['monitor:logininfor:remove']"
>
清空
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
v-hasPermi=
"['system:logininfor:export']"
>
导出
</el-button>
</el-col>
</el-row>
<el-table
v-loading=
"loading"
:data=
"list"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"访问编号"
align=
"center"
prop=
"infoId"
/>
<el-table-column
label=
"用户名称"
align=
"center"
prop=
"userName"
/>
<el-table-column
label=
"登录地址"
align=
"center"
prop=
"ipaddr"
width=
"130"
:show-overflow-tooltip=
"true"
/>
...
...
@@ -81,13 +114,17 @@
</template>
<
script
>
import
{
list
}
from
"
@/api/monitor/logininfor
"
;
import
{
list
,
delLogininfor
,
cleanLogininfor
,
exportLogininfor
}
from
"
@/api/monitor/logininfor
"
;
export
default
{
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 选中数组
ids
:
[],
// 非多个禁用
multiple
:
true
,
// 总条数
total
:
0
,
// 表格数据
...
...
@@ -131,6 +168,57 @@ export default {
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
dateRange
=
[];
this
.
resetForm
(
"
queryForm
"
);
this
.
handleQuery
();
},
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
(
item
=>
item
.
infoId
)
this
.
multiple
=
!
selection
.
length
},
/** 删除按钮操作 */
handleDelete
(
row
)
{
const
infoIds
=
row
.
infoId
||
this
.
ids
;
this
.
$confirm
(
'
是否确认删除访问编号为"
'
+
infoIds
+
'
"的数据项?
'
,
"
警告
"
,
{
confirmButtonText
:
"
确定
"
,
cancelButtonText
:
"
取消
"
,
type
:
"
warning
"
}).
then
(
function
()
{
return
delLogininfor
(
infoIds
);
}).
then
(()
=>
{
this
.
getList
();
this
.
msgSuccess
(
"
删除成功
"
);
}).
catch
(
function
()
{});
},
/** 清空按钮操作 */
handleClean
()
{
this
.
$confirm
(
'
是否确认清空所有登录日志数据项?
'
,
"
警告
"
,
{
confirmButtonText
:
"
确定
"
,
cancelButtonText
:
"
取消
"
,
type
:
"
warning
"
}).
then
(
function
()
{
return
cleanLogininfor
();
}).
then
(()
=>
{
this
.
getList
();
this
.
msgSuccess
(
"
清空成功
"
);
}).
catch
(
function
()
{});
},
/** 导出按钮操作 */
handleExport
()
{
const
queryParams
=
this
.
queryParams
;
this
.
$confirm
(
'
是否确认导出所有操作日志数据项?
'
,
"
警告
"
,
{
confirmButtonText
:
"
确定
"
,
cancelButtonText
:
"
取消
"
,
type
:
"
warning
"
}).
then
(
function
()
{
return
exportLogininfor
(
queryParams
);
}).
then
(
response
=>
{
this
.
download
(
response
.
msg
);
}).
catch
(
function
()
{});
}
}
};
...
...
ruoyi-ui/src/views/monitor/online/index.vue
View file @
bcee37b8
<
template
>
<div
class=
"app-container"
>
<el-form
:inline=
"true"
>
<el-form-item
label=
"登录地址"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
:inline=
"true"
>
<el-form-item
label=
"登录地址"
prop=
"ipaddr"
>
<el-input
v-model=
"queryParams.ipaddr"
placeholder=
"请输入登录地址"
...
...
@@ -10,7 +10,7 @@
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"用户名称"
>
<el-form-item
label=
"用户名称"
prop=
"userName"
>
<el-input
v-model=
"queryParams.userName"
placeholder=
"请输入用户名称"
...
...
@@ -21,6 +21,7 @@
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
...
...
@@ -102,6 +103,11 @@ export default {
this
.
pageNum
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
"
queryForm
"
);
this
.
handleQuery
();
},
/** 强退按钮操作 */
handleForceLogout
(
row
)
{
this
.
$confirm
(
'
是否确认强退名称为"
'
+
row
.
userName
+
'
"的数据项?
'
,
"
警告
"
,
{
...
...
ruoyi-ui/src/views/monitor/operlog/index.vue
View file @
bcee37b8
<
template
>
<div
class=
"app-container"
>
<el-form
:inline=
"true"
label-width=
"68px"
>
<el-form-item
label=
"系统模块"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
:inline=
"true"
label-width=
"68px"
>
<el-form-item
label=
"系统模块"
prop=
"title"
>
<el-input
v-model=
"queryParams.title"
placeholder=
"请输入系统模块"
...
...
@@ -11,7 +11,7 @@
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"操作人员"
>
<el-form-item
label=
"操作人员"
prop=
"operName"
>
<el-input
v-model=
"queryParams.operName"
placeholder=
"请输入操作人员"
...
...
@@ -21,7 +21,7 @@
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"类型"
>
<el-form-item
label=
"类型"
prop=
"businessType"
>
<el-select
v-model=
"queryParams.businessType"
placeholder=
"操作类型"
...
...
@@ -37,7 +37,7 @@
/>
</el-select>
</el-form-item>
<el-form-item
label=
"状态"
>
<el-form-item
label=
"状态"
prop=
"status"
>
<el-select
v-model=
"queryParams.status"
placeholder=
"操作状态"
...
...
@@ -67,10 +67,43 @@
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
<el-table
v-loading=
"loading"
:data=
"list"
style=
"width: 100%;"
>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
icon=
"el-icon-delete"
size=
"mini"
:disabled=
"multiple"
@
click=
"handleDelete"
v-hasPermi=
"['monitor:operlog:remove']"
>
删除
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
icon=
"el-icon-delete"
size=
"mini"
@
click=
"handleClean"
v-hasPermi=
"['monitor:operlog:remove']"
>
清空
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
v-hasPermi=
"['system:config:export']"
>
导出
</el-button>
</el-col>
</el-row>
<el-table
v-loading=
"loading"
:data=
"list"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"日志编号"
align=
"center"
prop=
"operId"
/>
<el-table-column
label=
"系统模块"
align=
"center"
prop=
"title"
/>
<el-table-column
label=
"操作类型"
align=
"center"
prop=
"businessType"
:formatter=
"typeFormat"
/>
...
...
@@ -150,13 +183,17 @@
</template>
<
script
>
import
{
list
}
from
"
@/api/monitor/operlog
"
;
import
{
list
,
delOperlog
,
cleanOperlog
,
exportOperlog
}
from
"
@/api/monitor/operlog
"
;
export
default
{
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 选中数组
ids
:
[],
// 非多个禁用
multiple
:
true
,
// 总条数
total
:
0
,
// 表格数据
...
...
@@ -215,10 +252,61 @@ export default {
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
dateRange
=
[];
this
.
resetForm
(
"
queryForm
"
);
this
.
handleQuery
();
},
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
(
item
=>
item
.
operId
)
this
.
multiple
=
!
selection
.
length
},
/** 详细按钮操作 */
handleView
(
row
)
{
this
.
open
=
true
;
this
.
form
=
row
;
},
/** 删除按钮操作 */
handleDelete
(
row
)
{
const
operIds
=
row
.
operId
||
this
.
ids
;
this
.
$confirm
(
'
是否确认删除日志编号为"
'
+
operIds
+
'
"的数据项?
'
,
"
警告
"
,
{
confirmButtonText
:
"
确定
"
,
cancelButtonText
:
"
取消
"
,
type
:
"
warning
"
}).
then
(
function
()
{
return
delOperlog
(
operIds
);
}).
then
(()
=>
{
this
.
getList
();
this
.
msgSuccess
(
"
删除成功
"
);
}).
catch
(
function
()
{});
},
/** 清空按钮操作 */
handleClean
()
{
this
.
$confirm
(
'
是否确认清空所有操作日志数据项?
'
,
"
警告
"
,
{
confirmButtonText
:
"
确定
"
,
cancelButtonText
:
"
取消
"
,
type
:
"
warning
"
}).
then
(
function
()
{
return
cleanOperlog
();
}).
then
(()
=>
{
this
.
getList
();
this
.
msgSuccess
(
"
清空成功
"
);
}).
catch
(
function
()
{});
},
/** 导出按钮操作 */
handleExport
()
{
const
queryParams
=
this
.
queryParams
;
this
.
$confirm
(
'
是否确认导出所有操作日志数据项?
'
,
"
警告
"
,
{
confirmButtonText
:
"
确定
"
,
cancelButtonText
:
"
取消
"
,
type
:
"
warning
"
}).
then
(
function
()
{
return
exportOperlog
(
queryParams
);
}).
then
(
response
=>
{
this
.
download
(
response
.
msg
);
}).
catch
(
function
()
{});
}
}
};
...
...
ruoyi-ui/src/views/system/config/index.vue
View file @
bcee37b8
<
template
>
<div
class=
"app-container"
>
<el-form
:inline=
"true"
label-width=
"68px"
>
<el-form-item
label=
"参数名称"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
:inline=
"true"
label-width=
"68px"
>
<el-form-item
label=
"参数名称"
prop=
"configName"
>
<el-input
v-model=
"queryParams.configName"
placeholder=
"请输入参数名称"
...
...
@@ -11,7 +11,7 @@
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"参数键名"
>
<el-form-item
label=
"参数键名"
prop=
"configKey"
>
<el-input
v-model=
"queryParams.configKey"
placeholder=
"请输入参数键名"
...
...
@@ -21,7 +21,7 @@
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"系统内置"
>
<el-form-item
label=
"系统内置"
prop=
"configType"
>
<el-select
v-model=
"queryParams.configType"
placeholder=
"系统内置"
clearable
size=
"small"
>
<el-option
v-for=
"dict in typeOptions"
...
...
@@ -45,11 +45,53 @@
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-
plus
"
size=
"mini"
@
click=
"
handleAdd"
v-hasPermi=
"['system:config:add']"
>
新增
</el-button>
<el-button
icon=
"el-icon-
refresh
"
size=
"mini"
@
click=
"
resetQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
<el-table
v-loading=
"loading"
:data=
"configList"
>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['system:config:add']"
>
新增
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"success"
icon=
"el-icon-edit"
size=
"mini"
:disabled=
"single"
@
click=
"handleUpdate"
v-hasPermi=
"['system:config:edit']"
>
修改
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
icon=
"el-icon-delete"
size=
"mini"
:disabled=
"multiple"
@
click=
"handleDelete"
v-hasPermi=
"['system:config:remove']"
>
删除
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
v-hasPermi=
"['system:config:export']"
>
导出
</el-button>
</el-col>
</el-row>
<el-table
v-loading=
"loading"
:data=
"configList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"参数主键"
align=
"center"
prop=
"configId"
/>
<el-table-column
label=
"参数名称"
align=
"center"
prop=
"configName"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"参数键名"
align=
"center"
prop=
"configKey"
:show-overflow-tooltip=
"true"
/>
...
...
@@ -63,10 +105,10 @@
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['system:config:edit']"
>
修改
</el-button>
...
...
@@ -123,13 +165,19 @@
</template>
<
script
>
import
{
listConfig
,
getConfig
,
delConfig
,
addConfig
,
updateConfig
}
from
"
@/api/system/config
"
;
import
{
listConfig
,
getConfig
,
delConfig
,
addConfig
,
updateConfig
,
exportConfig
}
from
"
@/api/system/config
"
;
export
default
{
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 选中数组
ids
:
[],
// 非单个禁用
single
:
true
,
// 非多个禁用
multiple
:
true
,
// 总条数
total
:
0
,
// 参数表格数据
...
...
@@ -209,16 +257,29 @@ export default {
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
dateRange
=
[];
this
.
resetForm
(
"
queryForm
"
);
this
.
handleQuery
();
},
/** 新增按钮操作 */
handleAdd
()
{
this
.
reset
();
this
.
open
=
true
;
this
.
title
=
"
添加参数
"
;
},
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
(
item
=>
item
.
configId
)
this
.
single
=
selection
.
length
!=
1
this
.
multiple
=
!
selection
.
length
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset
();
getConfig
(
row
.
configId
).
then
(
response
=>
{
const
configId
=
row
.
configId
||
this
.
ids
getConfig
(
configId
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
this
.
open
=
true
;
this
.
title
=
"
修改参数
"
;
...
...
@@ -254,16 +315,30 @@ export default {
},
/** 删除按钮操作 */
handleDelete
(
row
)
{
this
.
$confirm
(
'
是否确认删除名称为"
'
+
row
.
configName
+
'
"的数据项?
'
,
"
警告
"
,
{
const
configIds
=
row
.
configId
||
this
.
ids
;
this
.
$confirm
(
'
是否确认删除参数编号为"
'
+
configIds
+
'
"的数据项?
'
,
"
警告
"
,
{
confirmButtonText
:
"
确定
"
,
cancelButtonText
:
"
取消
"
,
type
:
"
warning
"
}).
then
(
function
()
{
return
delConfig
(
row
.
configId
);
return
delConfig
(
configId
s
);
}).
then
(()
=>
{
this
.
getList
();
this
.
msgSuccess
(
"
删除成功
"
);
}).
catch
(
function
()
{});
},
/** 导出按钮操作 */
handleExport
()
{
const
queryParams
=
this
.
queryParams
;
this
.
$confirm
(
'
是否确认导出所有参数数据项?
'
,
"
警告
"
,
{
confirmButtonText
:
"
确定
"
,
cancelButtonText
:
"
取消
"
,
type
:
"
warning
"
}).
then
(
function
()
{
return
exportConfig
(
queryParams
);
}).
then
(
response
=>
{
this
.
download
(
response
.
msg
);
}).
catch
(
function
()
{});
}
}
};
...
...
ruoyi-ui/src/views/system/dict/data.vue
View file @
bcee37b8
<
template
>
<div
class=
"app-container"
>
<el-form
:inline=
"true"
>
<el-form-item
label=
"字典名称"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
:inline=
"true"
>
<el-form-item
label=
"字典名称"
prop=
"dictType"
>
<el-select
v-model=
"queryParams.dictType"
size=
"small"
>
<el-option
v-for=
"item in typeOptions"
...
...
@@ -11,7 +11,7 @@
/>
</el-select>
</el-form-item>
<el-form-item
label=
"字典标签"
>
<el-form-item
label=
"字典标签"
prop=
"dictLabel"
>
<el-input
v-model=
"queryParams.dictLabel"
placeholder=
"请输入字典标签"
...
...
@@ -20,7 +20,7 @@
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"状态"
>
<el-form-item
label=
"状态"
prop=
"status"
>
<el-select
v-model=
"queryParams.status"
placeholder=
"数据状态"
clearable
size=
"small"
>
<el-option
v-for=
"dict in statusOptions"
...
...
@@ -32,11 +32,53 @@
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-
plus
"
size=
"mini"
@
click=
"
handleAdd"
v-hasPermi=
"['system:dict:add']"
>
新增
</el-button>
<el-button
icon=
"el-icon-
refresh
"
size=
"mini"
@
click=
"
resetQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
<el-table
v-loading=
"loading"
:data=
"dataList"
style=
"width: 100%;"
>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['system:dict:add']"
>
新增
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"success"
icon=
"el-icon-edit"
size=
"mini"
:disabled=
"single"
@
click=
"handleUpdate"
v-hasPermi=
"['system:dict:edit']"
>
修改
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
icon=
"el-icon-delete"
size=
"mini"
:disabled=
"multiple"
@
click=
"handleDelete"
v-hasPermi=
"['system:dict:remove']"
>
删除
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
v-hasPermi=
"['system:dict:export']"
>
导出
</el-button>
</el-col>
</el-row>
<el-table
v-loading=
"loading"
:data=
"dataList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"字典编码"
align=
"center"
prop=
"dictCode"
/>
<el-table-column
label=
"字典标签"
align=
"center"
prop=
"dictLabel"
/>
<el-table-column
label=
"字典键值"
align=
"center"
prop=
"dictValue"
/>
...
...
@@ -50,10 +92,10 @@
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['system:dict:edit']"
>
修改
</el-button>
...
...
@@ -113,7 +155,7 @@
</template>
<
script
>
import
{
listData
,
getData
,
delData
,
addData
,
updateData
}
from
"
@/api/system/dict/data
"
;
import
{
listData
,
getData
,
delData
,
addData
,
updateData
,
exportData
}
from
"
@/api/system/dict/data
"
;
import
{
listType
,
getType
}
from
"
@/api/system/dict/type
"
;
export
default
{
...
...
@@ -121,10 +163,18 @@ export default {
return
{
// 遮罩层
loading
:
true
,
// 选中数组
ids
:
[],
// 非单个禁用
single
:
true
,
// 非多个禁用
multiple
:
true
,
// 总条数
total
:
0
,
// 字典表格数据
dataList
:
[],
// 默认字典类型
defaultDictType
:
""
,
// 弹出层标题
title
:
""
,
// 是否显示弹出层
...
...
@@ -170,6 +220,7 @@ export default {
getType
(
dictId
)
{
getType
(
dictId
).
then
(
response
=>
{
this
.
queryParams
.
dictType
=
response
.
data
.
dictType
;
this
.
defaultDictType
=
response
.
data
.
dictType
;
this
.
getList
();
});
},
...
...
@@ -214,6 +265,12 @@ export default {
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
"
queryForm
"
);
this
.
queryParams
.
dictType
=
this
.
defaultDictType
;
this
.
handleQuery
();
},
/** 新增按钮操作 */
handleAdd
()
{
this
.
reset
();
...
...
@@ -221,10 +278,17 @@ export default {
this
.
title
=
"
添加字典数据
"
;
this
.
form
.
dictType
=
this
.
queryParams
.
dictType
;
},
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
(
item
=>
item
.
dictCode
)
this
.
single
=
selection
.
length
!=
1
this
.
multiple
=
!
selection
.
length
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset
();
getData
(
row
.
dictCode
).
then
(
response
=>
{
const
dictCode
=
row
.
dictCode
||
this
.
ids
getData
(
dictCode
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
this
.
open
=
true
;
this
.
title
=
"
修改字典数据
"
;
...
...
@@ -260,16 +324,30 @@ export default {
},
/** 删除按钮操作 */
handleDelete
(
row
)
{
this
.
$confirm
(
'
是否确认删除名称为"
'
+
row
.
dictLabel
+
'
"的数据项?
'
,
"
警告
"
,
{
const
dictCodes
=
row
.
dictCode
||
this
.
ids
;
this
.
$confirm
(
'
是否确认删除字典编码为"
'
+
dictCodes
+
'
"的数据项?
'
,
"
警告
"
,
{
confirmButtonText
:
"
确定
"
,
cancelButtonText
:
"
取消
"
,
type
:
"
warning
"
}).
then
(
function
()
{
return
delData
(
row
.
dictCode
);
return
delData
(
dictCode
s
);
}).
then
(()
=>
{
this
.
getList
();
this
.
msgSuccess
(
"
删除成功
"
);
}).
catch
(
function
()
{});
},
/** 导出按钮操作 */
handleExport
()
{
const
queryParams
=
this
.
queryParams
;
this
.
$confirm
(
'
是否确认导出所有数据项?
'
,
"
警告
"
,
{
confirmButtonText
:
"
确定
"
,
cancelButtonText
:
"
取消
"
,
type
:
"
warning
"
}).
then
(
function
()
{
return
exportData
(
queryParams
);
}).
then
(
response
=>
{
this
.
download
(
response
.
msg
);
}).
catch
(
function
()
{});
}
}
};
...
...
ruoyi-ui/src/views/system/dict/index.vue
View file @
bcee37b8
<
template
>
<div
class=
"app-container"
>
<el-form
:inline=
"true"
label-width=
"68px"
>
<el-form-item
label=
"字典名称"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
:inline=
"true"
label-width=
"68px"
>
<el-form-item
label=
"字典名称"
prop=
"dictName"
>
<el-input
v-model=
"queryParams.dictName"
placeholder=
"请输入字典名称"
...
...
@@ -11,7 +11,7 @@
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"字典类型"
>
<el-form-item
label=
"字典类型"
prop=
"dictType"
>
<el-input
v-model=
"queryParams.dictType"
placeholder=
"请输入字典类型"
...
...
@@ -21,7 +21,7 @@
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"状态"
>
<el-form-item
label=
"状态"
prop=
"status"
>
<el-select
v-model=
"queryParams.status"
placeholder=
"字典状态"
...
...
@@ -39,7 +39,7 @@
</el-form-item>
<el-form-item
label=
"创建时间"
>
<el-date-picker
v-model=
"
queryParams.createTim
e"
v-model=
"
dateRang
e"
size=
"small"
style=
"width: 240px"
value-format=
"yyyy-MM-dd"
...
...
@@ -51,14 +51,56 @@
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-
plus
"
size=
"mini"
@
click=
"
handleAdd"
v-hasPermi=
"['system:dict:add']"
>
新增
</el-button>
<el-button
icon=
"el-icon-
refresh
"
size=
"mini"
@
click=
"
resetQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
<el-table
v-loading=
"loading"
:data=
"typeList"
style=
"width: 100%;"
>
<el-table-column
label=
"字典主键"
align=
"center"
prop=
"dictId"
/>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['system:dict:add']"
>
新增
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"success"
icon=
"el-icon-edit"
size=
"mini"
:disabled=
"single"
@
click=
"handleUpdate"
v-hasPermi=
"['system:dict:edit']"
>
修改
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
icon=
"el-icon-delete"
size=
"mini"
:disabled=
"multiple"
@
click=
"handleDelete"
v-hasPermi=
"['system:dict:remove']"
>
删除
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
v-hasPermi=
"['system:dict:export']"
>
导出
</el-button>
</el-col>
</el-row>
<el-table
v-loading=
"loading"
:data=
"typeList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"字典编号"
align=
"center"
prop=
"dictId"
/>
<el-table-column
label=
"字典名称"
align=
"center"
prop=
"dictName"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"字典类型"
align=
"center"
>
<el-table-column
label=
"字典类型"
align=
"center"
:show-overflow-tooltip=
"true"
>
<template
slot-scope=
"scope"
>
<router-link
:to=
"'/dict/type/data/' + scope.row.dictId"
class=
"link-type"
>
<span>
{{
scope
.
row
.
dictType
}}
</span>
...
...
@@ -74,10 +116,10 @@
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['system:dict:edit']"
>
修改
</el-button>
...
...
@@ -131,13 +173,19 @@
</template>
<
script
>
import
{
listType
,
getType
,
delType
,
addType
,
updateType
}
from
"
@/api/system/dict/type
"
;
import
{
listType
,
getType
,
delType
,
addType
,
updateType
,
exportType
}
from
"
@/api/system/dict/type
"
;
export
default
{
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 选中数组
ids
:
[],
// 非单个禁用
single
:
true
,
// 非多个禁用
multiple
:
true
,
// 总条数
total
:
0
,
// 字典表格数据
...
...
@@ -181,8 +229,7 @@ export default {
/** 查询字典类型列表 */
getList
()
{
this
.
loading
=
true
;
listType
(
this
.
addDateRange
(
this
.
queryParams
,
this
.
dateRange
)).
then
(
response
=>
{
listType
(
this
.
addDateRange
(
this
.
queryParams
,
this
.
dateRange
)).
then
(
response
=>
{
this
.
typeList
=
response
.
rows
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
...
...
@@ -214,16 +261,29 @@ export default {
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
dateRange
=
[];
this
.
resetForm
(
"
queryForm
"
);
this
.
handleQuery
();
},
/** 新增按钮操作 */
handleAdd
()
{
this
.
reset
();
this
.
open
=
true
;
this
.
title
=
"
添加字典类型
"
;
},
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
(
item
=>
item
.
dictId
)
this
.
single
=
selection
.
length
!=
1
this
.
multiple
=
!
selection
.
length
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset
();
getType
(
row
.
dictId
).
then
(
response
=>
{
const
dictId
=
row
.
dictId
||
this
.
ids
getType
(
dictId
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
this
.
open
=
true
;
this
.
title
=
"
修改字典类型
"
;
...
...
@@ -259,16 +319,30 @@ export default {
},
/** 删除按钮操作 */
handleDelete
(
row
)
{
this
.
$confirm
(
'
是否确认删除名称为"
'
+
row
.
dictName
+
'
"的数据项?
'
,
"
警告
"
,
{
const
dictIds
=
row
.
dictId
||
this
.
ids
;
this
.
$confirm
(
'
是否确认删除字典编号为"
'
+
dictIds
+
'
"的数据项?
'
,
"
警告
"
,
{
confirmButtonText
:
"
确定
"
,
cancelButtonText
:
"
取消
"
,
type
:
"
warning
"
}).
then
(
function
()
{
return
delType
(
row
.
dictId
);
return
delType
(
dictId
s
);
}).
then
(()
=>
{
this
.
getList
();
this
.
msgSuccess
(
"
删除成功
"
);
}).
catch
(
function
()
{});
},
/** 导出按钮操作 */
handleExport
()
{
const
queryParams
=
this
.
queryParams
;
this
.
$confirm
(
'
是否确认导出所有类型数据项?
'
,
"
警告
"
,
{
confirmButtonText
:
"
确定
"
,
cancelButtonText
:
"
取消
"
,
type
:
"
warning
"
}).
then
(
function
()
{
return
exportType
(
queryParams
);
}).
then
(
response
=>
{
this
.
download
(
response
.
msg
);
}).
catch
(
function
()
{});
}
}
};
...
...
ruoyi-ui/src/views/system/notice/index.vue
View file @
bcee37b8
<
template
>
<div
class=
"app-container"
>
<el-form
:inline=
"true"
label-width=
"68px"
>
<el-form-item
label=
"公告标题"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
:inline=
"true"
label-width=
"68px"
>
<el-form-item
label=
"公告标题"
prop=
"noticeTitle"
>
<el-input
v-model=
"queryParams.noticeTitle"
placeholder=
"请输入公告标题"
...
...
@@ -10,7 +10,7 @@
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"操作人员"
>
<el-form-item
label=
"操作人员"
prop=
"createBy"
>
<el-input
v-model=
"queryParams.createBy"
placeholder=
"请输入操作人员"
...
...
@@ -19,7 +19,7 @@
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"类型"
>
<el-form-item
label=
"类型"
prop=
"noticeType"
>
<el-select
v-model=
"queryParams.noticeType"
placeholder=
"公告类型"
clearable
size=
"small"
>
<el-option
v-for=
"dict in typeOptions"
...
...
@@ -31,11 +31,44 @@
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-
plus
"
size=
"mini"
@
click=
"
handleAdd"
v-hasPermi=
"['system:notice:add']"
>
新增
</el-button>
<el-button
icon=
"el-icon-
refresh
"
size=
"mini"
@
click=
"
resetQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
<el-table
v-loading=
"loading"
:data=
"noticeList"
>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['system:notice:add']"
>
新增
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"success"
icon=
"el-icon-edit"
size=
"mini"
:disabled=
"single"
@
click=
"handleUpdate"
v-hasPermi=
"['system:notice:edit']"
>
修改
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
icon=
"el-icon-delete"
size=
"mini"
:disabled=
"multiple"
@
click=
"handleDelete"
v-hasPermi=
"['system:notice:remove']"
>
删除
</el-button>
</el-col>
</el-row>
<el-table
v-loading=
"loading"
:data=
"noticeList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"序号"
align=
"center"
prop=
"noticeId"
width=
"100"
/>
<el-table-column
label=
"公告标题"
...
...
@@ -65,10 +98,10 @@
<
/el-table-column>
<
el
-
table
-
column
label
=
"
操作
"
align
=
"
center
"
class
-
name
=
"
small-padding fixed-width
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
icon
=
"
el-icon-edit
"
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
icon
=
"
el-icon-edit
"
@
click
=
"
handleUpdate(scope.row)
"
v
-
hasPermi
=
"
['system:notice:edit']
"
>
修改
<
/el-button>
...
...
@@ -125,7 +158,7 @@
<
/el-col>
<
el
-
col
:
span
=
"
24
"
>
<
el
-
form
-
item
label
=
"
内容
"
>
<
Editor
v
-
model
=
"
form.noticeContent
"
/>
<
Editor
v
-
model
=
"
form.noticeContent
"
/>
<
/el-form-item>
<
/el-col>
<
/el-row>
...
...
@@ -139,7 +172,7 @@
<
/template>
<
script
>
import
{
listNotice
,
getNotice
,
delNotice
,
addNotice
,
updateNotice
}
from
"
@/api/system/notice
"
;
import
{
listNotice
,
getNotice
,
delNotice
,
addNotice
,
updateNotice
,
exportNotice
}
from
"
@/api/system/notice
"
;
import
Editor
from
'
@/components/Editor
'
;
export
default
{
...
...
@@ -150,6 +183,12 @@ export default {
return
{
// 遮罩层
loading
:
true
,
// 选中数组
ids
:
[],
// 非单个禁用
single
:
true
,
// 非多个禁用
multiple
:
true
,
// 总条数
total
:
0
,
// 公告表格数据
...
...
@@ -231,6 +270,17 @@ export default {
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
}
,
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
"
queryForm
"
);
this
.
handleQuery
();
}
,
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
(
item
=>
item
.
noticeId
)
this
.
single
=
selection
.
length
!=
1
this
.
multiple
=
!
selection
.
length
}
,
/** 新增按钮操作 */
handleAdd
()
{
this
.
reset
();
...
...
@@ -240,7 +290,8 @@ export default {
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset
();
getNotice
(
row
.
noticeId
).
then
(
response
=>
{
const
noticeId
=
row
.
noticeId
||
this
.
ids
getNotice
(
noticeId
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
this
.
open
=
true
;
this
.
title
=
"
修改公告
"
;
...
...
@@ -276,12 +327,13 @@ export default {
}
,
/** 删除按钮操作 */
handleDelete
(
row
)
{
this
.
$confirm
(
'
是否确认删除公告标题为"
'
+
row
.
noticeTitle
+
'
"的数据项?
'
,
"
警告
"
,
{
const
noticeIds
=
row
.
noticeId
||
this
.
ids
this
.
$confirm
(
'
是否确认删除公告编号为"
'
+
noticeIds
+
'
"的数据项?
'
,
"
警告
"
,
{
confirmButtonText
:
"
确定
"
,
cancelButtonText
:
"
取消
"
,
type
:
"
warning
"
}
).
then
(
function
()
{
return
delNotice
(
row
.
noticeId
);
return
delNotice
(
noticeId
s
);
}
).
then
(()
=>
{
this
.
getList
();
this
.
msgSuccess
(
"
删除成功
"
);
...
...
Prev
1
2
3
4
5
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment