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
"jshERP-web/vscode:/vscode.git/clone" did not exist on "0bd01113db680c50b1908b8b1991100e4e4a9f7e"
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