Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dsk-cr20g
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
dsk-cr20g
Commits
5fc7b594
Commit
5fc7b594
authored
Aug 21, 2023
by
huangjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
*
parent
d2dad6d9
Changes
23
Show whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
975 additions
and
69 deletions
+975
-69
config.js
dsk-operate-ui/src/api/system/config.js
+13
-0
dept.js
dsk-operate-ui/src/api/system/dept.js
+1
-1
type.js
dsk-operate-ui/src/api/system/dict/type.js
+1
-1
oss.js
dsk-operate-ui/src/api/system/oss.js
+27
-0
ossConfig.js
dsk-operate-ui/src/api/system/ossConfig.js
+58
-0
user.js
dsk-operate-ui/src/store/modules/user.js
+6
-6
login.vue
dsk-operate-ui/src/views/login.vue
+3
-3
index.vue
dsk-operate-ui/src/views/system/config/index.vue
+2
-1
data.vue
dsk-operate-ui/src/views/system/dict/data.vue
+1
-1
index.vue
dsk-operate-ui/src/views/system/dict/index.vue
+3
-2
index.vue
dsk-operate-ui/src/views/system/menu/index.vue
+4
-4
index.vue
dsk-operate-ui/src/views/system/notice/index.vue
+1
-1
config.vue
dsk-operate-ui/src/views/system/oss/config.vue
+402
-0
index.vue
dsk-operate-ui/src/views/system/oss/index.vue
+413
-0
authUser.vue
dsk-operate-ui/src/views/system/role/authUser.vue
+1
-1
index.vue
dsk-operate-ui/src/views/system/role/index.vue
+8
-6
authRole.vue
dsk-operate-ui/src/views/system/user/authRole.vue
+4
-4
index.vue
dsk-operate-ui/src/views/system/user/index.vue
+9
-8
index.vue
dsk-operate-ui/src/views/system/user/profile/index.vue
+3
-3
resetPwd.vue
dsk-operate-ui/src/views/system/user/profile/resetPwd.vue
+1
-10
userAvatar.vue
dsk-operate-ui/src/views/system/user/profile/userAvatar.vue
+10
-11
userInfo.vue
dsk-operate-ui/src/views/system/user/profile/userInfo.vue
+1
-1
vue.config.js
dsk-operate-ui/vue.config.js
+3
-5
No files found.
dsk-operate-ui/src/api/system/config.js
View file @
5fc7b594
...
@@ -43,6 +43,18 @@ export function updateConfig(data) {
...
@@ -43,6 +43,18 @@ export function updateConfig(data) {
})
})
}
}
// 修改参数配置
export
function
updateConfigByKey
(
key
,
value
)
{
return
request
({
url
:
'/system/config/updateByKey'
,
method
:
'put'
,
data
:
{
configKey
:
key
,
configValue
:
value
}
})
}
// 删除参数配置
// 删除参数配置
export
function
delConfig
(
configId
)
{
export
function
delConfig
(
configId
)
{
return
request
({
return
request
({
...
@@ -58,3 +70,4 @@ export function refreshCache() {
...
@@ -58,3 +70,4 @@ export function refreshCache() {
method
:
'delete'
method
:
'delete'
})
})
}
}
dsk-operate-ui/src/api/system/dept.js
View file @
5fc7b594
dsk-operate-ui/src/api/system/dict/type.js
View file @
5fc7b594
dsk-operate-ui/src/api/system/oss.js
0 → 100644
View file @
5fc7b594
import
request
from
'@/utils/request'
// 查询OSS对象存储列表
export
function
listOss
(
query
)
{
return
request
({
url
:
'/system/oss/list'
,
method
:
'get'
,
params
:
query
})
}
// 查询OSS对象基于id串
export
function
listByIds
(
ossId
)
{
return
request
({
url
:
'/system/oss/listByIds/'
+
ossId
,
method
:
'get'
})
}
// 删除OSS对象存储
export
function
delOss
(
ossId
)
{
return
request
({
url
:
'/system/oss/'
+
ossId
,
method
:
'delete'
})
}
dsk-operate-ui/src/api/system/ossConfig.js
0 → 100644
View file @
5fc7b594
import
request
from
'@/utils/request'
// 查询对象存储配置列表
export
function
listOssConfig
(
query
)
{
return
request
({
url
:
'/system/oss/config/list'
,
method
:
'get'
,
params
:
query
})
}
// 查询对象存储配置详细
export
function
getOssConfig
(
ossConfigId
)
{
return
request
({
url
:
'/system/oss/config/'
+
ossConfigId
,
method
:
'get'
})
}
// 新增对象存储配置
export
function
addOssConfig
(
data
)
{
return
request
({
url
:
'/system/oss/config'
,
method
:
'post'
,
data
:
data
})
}
// 修改对象存储配置
export
function
updateOssConfig
(
data
)
{
return
request
({
url
:
'/system/oss/config'
,
method
:
'put'
,
data
:
data
})
}
// 删除对象存储配置
export
function
delOssConfig
(
ossConfigId
)
{
return
request
({
url
:
'/system/oss/config/'
+
ossConfigId
,
method
:
'delete'
})
}
// 对象存储状态修改
export
function
changeOssConfigStatus
(
ossConfigId
,
status
,
configKey
)
{
const
data
=
{
ossConfigId
,
status
,
configKey
}
return
request
({
url
:
'/system/oss/config/changeStatus'
,
method
:
'put'
,
data
:
data
})
}
dsk-operate-ui/src/store/modules/user.js
View file @
5fc7b594
...
@@ -41,8 +41,8 @@ const user = {
...
@@ -41,8 +41,8 @@ const user = {
const
uuid
=
userInfo
.
uuid
const
uuid
=
userInfo
.
uuid
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
login
(
username
,
password
,
code
,
uuid
).
then
(
res
=>
{
login
(
username
,
password
,
code
,
uuid
).
then
(
res
=>
{
setToken
(
res
.
token
)
setToken
(
res
.
data
.
token
)
commit
(
'SET_TOKEN'
,
res
.
token
)
commit
(
'SET_TOKEN'
,
res
.
data
.
token
)
resolve
()
resolve
()
}).
catch
(
error
=>
{
}).
catch
(
error
=>
{
reject
(
error
)
reject
(
error
)
...
@@ -54,11 +54,11 @@ const user = {
...
@@ -54,11 +54,11 @@ const user = {
GetInfo
({
commit
,
state
})
{
GetInfo
({
commit
,
state
})
{
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
getInfo
().
then
(
res
=>
{
getInfo
().
then
(
res
=>
{
const
user
=
res
.
user
const
user
=
res
.
data
.
user
const
avatar
=
user
.
avatar
?
process
.
env
.
VUE_APP_BASE_API
+
user
.
avatar
:
''
;
const
avatar
=
user
.
avatar
?
process
.
env
.
VUE_APP_BASE_API
+
user
.
avatar
:
''
;
if
(
res
.
roles
&&
res
.
roles
.
length
>
0
)
{
// 验证返回的roles是否是一个非空数组
if
(
res
.
data
.
roles
&&
res
.
data
.
roles
.
length
>
0
)
{
// 验证返回的roles是否是一个非空数组
commit
(
'SET_ROLES'
,
res
.
roles
)
commit
(
'SET_ROLES'
,
res
.
data
.
roles
)
commit
(
'SET_PERMISSIONS'
,
res
.
permissions
)
commit
(
'SET_PERMISSIONS'
,
res
.
data
.
permissions
)
}
else
{
}
else
{
commit
(
'SET_ROLES'
,
[
'ROLE_DEFAULT'
])
commit
(
'SET_ROLES'
,
[
'ROLE_DEFAULT'
])
}
}
...
...
dsk-operate-ui/src/views/login.vue
View file @
5fc7b594
...
@@ -112,10 +112,10 @@ export default {
...
@@ -112,10 +112,10 @@ export default {
methods
:
{
methods
:
{
getCode
()
{
getCode
()
{
getCodeImg
().
then
(
res
=>
{
getCodeImg
().
then
(
res
=>
{
this
.
captchaEnabled
=
res
.
captchaEnabled
===
undefined
?
true
:
res
.
captchaEnabled
;
this
.
captchaEnabled
=
res
.
data
.
captchaEnabled
===
undefined
?
true
:
res
.
data
.
captchaEnabled
;
if
(
this
.
captchaEnabled
)
{
if
(
this
.
captchaEnabled
)
{
this
.
codeUrl
=
"data:image/gif;base64,"
+
res
.
img
;
this
.
codeUrl
=
"data:image/gif;base64,"
+
res
.
data
.
img
;
this
.
loginForm
.
uuid
=
res
.
uuid
;
this
.
loginForm
.
uuid
=
res
.
data
.
uuid
;
}
}
});
});
},
},
...
...
dsk-operate-ui/src/views/system/config/index.vue
View file @
5fc7b594
...
@@ -33,11 +33,12 @@
...
@@ -33,11 +33,12 @@
<el-date-picker
<el-date-picker
v-model=
"dateRange"
v-model=
"dateRange"
style=
"width: 240px"
style=
"width: 240px"
value-format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd
HH:mm:ss
"
type=
"daterange"
type=
"daterange"
range-separator=
"-"
range-separator=
"-"
start-placeholder=
"开始日期"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
end-placeholder=
"结束日期"
:default-time=
"['00:00:00', '23:59:59']"
></el-date-picker>
></el-date-picker>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
...
...
dsk-operate-ui/src/views/system/dict/data.vue
View file @
5fc7b594
dsk-operate-ui/src/views/system/dict/index.vue
View file @
5fc7b594
...
@@ -38,11 +38,12 @@
...
@@ -38,11 +38,12 @@
<el-date-picker
<el-date-picker
v-model=
"dateRange"
v-model=
"dateRange"
style=
"width: 240px"
style=
"width: 240px"
value-format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd
HH:mm:ss
"
type=
"daterange"
type=
"daterange"
range-separator=
"-"
range-separator=
"-"
start-placeholder=
"开始日期"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
end-placeholder=
"结束日期"
:default-time=
"['00:00:00', '23:59:59']"
></el-date-picker>
></el-date-picker>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
...
...
dsk-operate-ui/src/views/system/menu/index.vue
View file @
5fc7b594
...
@@ -135,7 +135,7 @@
...
@@ -135,7 +135,7 @@
@
show=
"$refs['iconSelect'].reset()"
@
show=
"$refs['iconSelect'].reset()"
>
>
<IconSelect
ref=
"iconSelect"
@
selected=
"selected"
:active-icon=
"form.icon"
/>
<IconSelect
ref=
"iconSelect"
@
selected=
"selected"
:active-icon=
"form.icon"
/>
<el-input
slot=
"reference"
v-model=
"form.icon"
placeholder=
"点击选择图标"
>
<el-input
slot=
"reference"
v-model=
"form.icon"
placeholder=
"点击选择图标"
readonly
>
<svg-icon
<svg-icon
v-if=
"form.icon"
v-if=
"form.icon"
slot=
"prefix"
slot=
"prefix"
...
@@ -197,7 +197,7 @@
...
@@ -197,7 +197,7 @@
<el-form-item
prop=
"perms"
>
<el-form-item
prop=
"perms"
>
<el-input
v-model=
"form.perms"
placeholder=
"请输入权限标识"
maxlength=
"100"
/>
<el-input
v-model=
"form.perms"
placeholder=
"请输入权限标识"
maxlength=
"100"
/>
<span
slot=
"label"
>
<span
slot=
"label"
>
<el-tooltip
content=
"控制器中定义的权限字符,如:@
PreAuthorize(`@ss.hasPermi('system:user:list')`
)"
placement=
"top"
>
<el-tooltip
content=
"控制器中定义的权限字符,如:@
SaCheckPermission('system:user:list'
)"
placement=
"top"
>
<i
class=
"el-icon-question"
></i>
<i
class=
"el-icon-question"
></i>
</el-tooltip>
</el-tooltip>
权限字符
权限字符
...
@@ -205,8 +205,8 @@
...
@@ -205,8 +205,8 @@
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
v-if=
"form.menuType == 'C'"
>
<el-col
:span=
"12"
v-if=
"form.menuType == 'C'"
>
<el-form-item
prop=
"query"
>
<el-form-item
prop=
"query
Param
"
>
<el-input
v-model=
"form.query"
placeholder=
"请输入路由参数"
maxlength=
"255"
/>
<el-input
v-model=
"form.query
Param
"
placeholder=
"请输入路由参数"
maxlength=
"255"
/>
<span
slot=
"label"
>
<span
slot=
"label"
>
<el-tooltip
content=
'访问路由的默认传递参数,如:`{"id": 1, "name": "ry"}`'
placement=
"top"
>
<el-tooltip
content=
'访问路由的默认传递参数,如:`{"id": 1, "name": "ry"}`'
placement=
"top"
>
<i
class=
"el-icon-question"
></i>
<i
class=
"el-icon-question"
></i>
...
...
dsk-operate-ui/src/views/system/notice/index.vue
View file @
5fc7b594
dsk-operate-ui/src/views/system/oss/config.vue
0 → 100644
View file @
5fc7b594
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"配置key"
prop=
"configKey"
>
<el-input
v-model=
"queryParams.configKey"
placeholder=
"配置key"
clearable
size=
"small"
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"桶名称"
prop=
"bucketName"
>
<el-input
v-model=
"queryParams.bucketName"
placeholder=
"请输入桶名称"
clearable
size=
"small"
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"是否默认"
prop=
"status"
>
<el-select
v-model=
"queryParams.status"
placeholder=
"请选择状态"
clearable
size=
"small"
>
<el-option
key=
"0"
label=
"是"
value=
"0"
/>
<el-option
key=
"1"
label=
"否"
value=
"1"
/>
</el-select>
</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-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['system:oss:add']"
>
新增
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"success"
plain
icon=
"el-icon-edit"
size=
"mini"
:disabled=
"single"
@
click=
"handleUpdate"
v-hasPermi=
"['system:oss:edit']"
>
修改
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
plain
icon=
"el-icon-delete"
size=
"mini"
:disabled=
"multiple"
@
click=
"handleDelete"
v-hasPermi=
"['system:oss:remove']"
>
删除
</el-button>
</el-col>
<right-toolbar
:showSearch
.
sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
<el-table
v-loading=
"loading"
:data=
"ossConfigList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"主建"
align=
"center"
prop=
"ossConfigId"
v-if=
"false"
/>
<el-table-column
label=
"配置key"
align=
"center"
prop=
"configKey"
/>
<el-table-column
label=
"访问站点"
align=
"center"
prop=
"endpoint"
width=
"200"
/>
<el-table-column
label=
"自定义域名"
align=
"center"
prop=
"domain"
width=
"200"
/>
<el-table-column
label=
"桶名称"
align=
"center"
prop=
"bucketName"
/>
<el-table-column
label=
"前缀"
align=
"center"
prop=
"prefix"
/>
<el-table-column
label=
"域"
align=
"center"
prop=
"region"
/>
<el-table-column
label=
"桶权限类型"
align=
"center"
prop=
"accessPolicy"
>
<template
slot-scope=
"scope"
>
<el-tag
type=
"warning"
v-if=
"scope.row.accessPolicy === '0'"
>
private
</el-tag>
<el-tag
type=
"success"
v-if=
"scope.row.accessPolicy === '1'"
>
public
</el-tag>
<el-tag
type=
"info"
v-if=
"scope.row.accessPolicy === '2'"
>
custom
</el-tag>
</
template
>
</el-table-column>
<el-table-column
label=
"是否默认"
align=
"center"
prop=
"status"
>
<
template
slot-scope=
"scope"
>
<el-switch
v-model=
"scope.row.status"
active-value=
"0"
inactive-value=
"1"
@
change=
"handleStatusChange(scope.row)"
></el-switch>
</
template
>
</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"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['system:oss:edit']"
>
修改
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
v-hasPermi=
"['system:oss:remove']"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"total > 0"
:total=
"total"
:page
.
sync=
"queryParams.pageNum"
:limit
.
sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
<!-- 添加或修改对象存储配置对话框 -->
<el-dialog
:title=
"title"
:visible
.
sync=
"open"
width=
"800px"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-form-item
label=
"配置key"
prop=
"configKey"
>
<el-input
v-model=
"form.configKey"
placeholder=
"请输入配置key"
/>
</el-form-item>
<el-form-item
label=
"访问站点"
prop=
"endpoint"
>
<el-input
v-model=
"form.endpoint"
placeholder=
"请输入访问站点"
/>
</el-form-item>
<el-form-item
label=
"自定义域名"
prop=
"domain"
>
<el-input
v-model=
"form.domain"
placeholder=
"请输入自定义域名"
/>
</el-form-item>
<el-form-item
label=
"accessKey"
prop=
"accessKey"
>
<el-input
v-model=
"form.accessKey"
placeholder=
"请输入accessKey"
/>
</el-form-item>
<el-form-item
label=
"secretKey"
prop=
"secretKey"
>
<el-input
v-model=
"form.secretKey"
placeholder=
"请输入秘钥"
show-password
/>
</el-form-item>
<el-form-item
label=
"桶名称"
prop=
"bucketName"
>
<el-input
v-model=
"form.bucketName"
placeholder=
"请输入桶名称"
/>
</el-form-item>
<el-form-item
label=
"前缀"
prop=
"prefix"
>
<el-input
v-model=
"form.prefix"
placeholder=
"请输入前缀"
/>
</el-form-item>
<el-form-item
label=
"是否HTTPS"
>
<el-radio-group
v-model=
"form.isHttps"
>
<el-radio
v-for=
"dict in dict.type.sys_yes_no"
:key=
"dict.value"
:label=
"dict.value"
>
{{dict.label}}
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"桶权限类型"
>
<el-radio-group
v-model=
"form.accessPolicy"
>
<el-radio
label=
"0"
>
private
</el-radio>
<el-radio
label=
"1"
>
public
</el-radio>
<el-radio
label=
"2"
>
custom
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"域"
prop=
"region"
>
<el-input
v-model=
"form.region"
placeholder=
"请输入域"
/>
</el-form-item>
<el-form-item
label=
"备注"
prop=
"remark"
>
<el-input
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入内容"
/>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
:loading=
"buttonLoading"
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
{
listOssConfig
,
getOssConfig
,
delOssConfig
,
addOssConfig
,
updateOssConfig
,
changeOssConfigStatus
}
from
"@/api/system/ossConfig"
;
export
default
{
name
:
"OssConfig"
,
dicts
:
[
'sys_yes_no'
],
data
()
{
return
{
// 按钮loading
buttonLoading
:
false
,
// 遮罩层
loading
:
true
,
// 导出遮罩层
exportLoading
:
false
,
// 选中数组
ids
:
[],
// 非单个禁用
single
:
true
,
// 非多个禁用
multiple
:
true
,
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
// 对象存储配置表格数据
ossConfigList
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
open
:
false
,
// 是否https字典
isHttpsOptions
:
[],
// 状态(0正常 1停用)字典
statusOptions
:
[],
// 查询参数
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
configKey
:
undefined
,
bucketName
:
undefined
,
status
:
undefined
,
},
// 表单参数
form
:
{},
// 表单校验
rules
:
{
configKey
:
[
{
required
:
true
,
message
:
"configKey不能为空"
,
trigger
:
"blur"
},
],
accessKey
:
[
{
required
:
true
,
message
:
"accessKey不能为空"
,
trigger
:
"blur"
},
{
min
:
2
,
max
:
200
,
message
:
"accessKey长度必须介于 2 和 100 之间"
,
trigger
:
"blur"
,
},
],
secretKey
:
[
{
required
:
true
,
message
:
"secretKey不能为空"
,
trigger
:
"blur"
},
{
min
:
2
,
max
:
100
,
message
:
"secretKey长度必须介于 2 和 100 之间"
,
trigger
:
"blur"
,
},
],
bucketName
:
[
{
required
:
true
,
message
:
"bucketName不能为空"
,
trigger
:
"blur"
},
{
min
:
2
,
max
:
100
,
message
:
"bucketName长度必须介于 2 和 100 之间"
,
trigger
:
"blur"
,
},
],
endpoint
:
[
{
required
:
true
,
message
:
"endpoint不能为空"
,
trigger
:
"blur"
},
{
min
:
2
,
max
:
100
,
message
:
"endpoint名称长度必须介于 2 和 100 之间"
,
trigger
:
"blur"
,
},
],
accessPolicy
:[
{
required
:
true
,
message
:
"accessPolicy不能为空"
,
trigger
:
"blur"
}
]
},
};
},
created
()
{
this
.
getList
();
},
methods
:
{
/** 查询对象存储配置列表 */
getList
()
{
this
.
loading
=
true
;
listOssConfig
(
this
.
queryParams
).
then
((
response
)
=>
{
this
.
ossConfigList
=
response
.
rows
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
});
},
// 取消按钮
cancel
()
{
this
.
open
=
false
;
this
.
reset
();
},
// 表单重置
reset
()
{
this
.
form
=
{
ossConfigId
:
undefined
,
configKey
:
undefined
,
accessKey
:
undefined
,
secretKey
:
undefined
,
bucketName
:
undefined
,
prefix
:
undefined
,
endpoint
:
undefined
,
domain
:
undefined
,
isHttps
:
"N"
,
accessPolicy
:
"1"
,
region
:
undefined
,
status
:
"1"
,
remark
:
undefined
,
};
this
.
resetForm
(
"form"
);
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
"queryForm"
);
this
.
handleQuery
();
},
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
(
item
=>
item
.
ossConfigId
)
this
.
single
=
selection
.
length
!==
1
this
.
multiple
=
!
selection
.
length
},
/** 新增按钮操作 */
handleAdd
()
{
this
.
reset
();
this
.
open
=
true
;
this
.
title
=
"添加对象存储配置"
;
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
loading
=
true
;
this
.
reset
();
const
ossConfigId
=
row
.
ossConfigId
||
this
.
ids
;
getOssConfig
(
ossConfigId
).
then
((
response
)
=>
{
this
.
loading
=
false
;
this
.
form
=
response
.
data
;
this
.
open
=
true
;
this
.
title
=
"修改对象存储配置"
;
});
},
/** 提交按钮 */
submitForm
()
{
this
.
$refs
[
"form"
].
validate
(
valid
=>
{
if
(
valid
)
{
this
.
buttonLoading
=
true
;
if
(
this
.
form
.
ossConfigId
!=
null
)
{
updateOssConfig
(
this
.
form
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"修改成功"
);
this
.
open
=
false
;
this
.
getList
();
}).
finally
(()
=>
{
this
.
buttonLoading
=
false
;
});
}
else
{
addOssConfig
(
this
.
form
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"新增成功"
);
this
.
open
=
false
;
this
.
getList
();
}).
finally
(()
=>
{
this
.
buttonLoading
=
false
;
});
}
}
});
},
/** 删除按钮操作 */
handleDelete
(
row
)
{
const
ossConfigIds
=
row
.
ossConfigId
||
this
.
ids
;
this
.
$modal
.
confirm
(
'是否确认删除对象存储配置编号为"'
+
ossConfigIds
+
'"的数据项?'
).
then
(()
=>
{
this
.
loading
=
true
;
return
delOssConfig
(
ossConfigIds
);
}).
then
(()
=>
{
this
.
loading
=
false
;
this
.
getList
();
this
.
$modal
.
msgSuccess
(
"删除成功"
);
}).
finally
(()
=>
{
this
.
loading
=
false
;
});
},
// 对象存储配置状态修改
handleStatusChange
(
row
)
{
let
text
=
row
.
status
===
"0"
?
"启用"
:
"停用"
;
this
.
$modal
.
confirm
(
'确认要"'
+
text
+
'""'
+
row
.
configKey
+
'"配置吗?'
).
then
(()
=>
{
return
changeOssConfigStatus
(
row
.
ossConfigId
,
row
.
status
,
row
.
configKey
);
}).
then
(()
=>
{
this
.
getList
()
this
.
$modal
.
msgSuccess
(
text
+
"成功"
);
}).
catch
(()
=>
{
row
.
status
=
row
.
status
===
"0"
?
"1"
:
"0"
;
})
}
}
};
</
script
>
dsk-operate-ui/src/views/system/oss/index.vue
0 → 100644
View file @
5fc7b594
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"文件名"
prop=
"fileName"
>
<el-input
v-model=
"queryParams.fileName"
placeholder=
"请输入文件名"
clearable
size=
"small"
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"原名"
prop=
"originalName"
>
<el-input
v-model=
"queryParams.originalName"
placeholder=
"请输入原名"
clearable
size=
"small"
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"文件后缀"
prop=
"fileSuffix"
>
<el-input
v-model=
"queryParams.fileSuffix"
placeholder=
"请输入文件后缀"
clearable
size=
"small"
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"创建时间"
>
<el-date-picker
v-model=
"daterangeCreateTime"
size=
"small"
style=
"width: 240px"
value-format=
"yyyy-MM-dd HH:mm:ss"
type=
"daterange"
range-separator=
"-"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
:default-time=
"['00:00:00', '23:59:59']"
></el-date-picker>
</el-form-item>
<el-form-item
label=
"上传人"
prop=
"createBy"
>
<el-input
v-model=
"queryParams.createBy"
placeholder=
"请输入上传人"
clearable
size=
"small"
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"服务商"
prop=
"service"
>
<el-input
v-model=
"queryParams.service"
placeholder=
"请输入服务商"
clearable
size=
"small"
@
keyup
.
enter
.
native=
"handleQuery"
/>
</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-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleFile"
v-hasPermi=
"['system:oss:upload']"
>
上传文件
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleImage"
v-hasPermi=
"['system:oss:upload']"
>
上传图片
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
plain
icon=
"el-icon-delete"
size=
"mini"
:disabled=
"multiple"
@
click=
"handleDelete"
v-hasPermi=
"['system:oss:remove']"
>
删除
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
:type=
"previewListResource ? 'danger' : 'warning'"
plain
size=
"mini"
@
click=
"handlePreviewListResource(!previewListResource)"
v-hasPermi=
"['system:oss:edit']"
>
预览开关 :
{{
previewListResource
?
"禁用"
:
"启用"
}}
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"info"
plain
icon=
"el-icon-s-operation"
size=
"mini"
@
click=
"handleOssConfig"
v-hasPermi=
"['system:oss:list']"
>
配置管理
</el-button>
</el-col>
<right-toolbar
:showSearch
.
sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
<el-table
v-loading=
"loading"
:data=
"ossList"
@
selection-change=
"handleSelectionChange"
:header-cell-class-name=
"handleHeaderClass"
@
header-click=
"handleHeaderCLick"
v-if=
"showTable"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"对象存储主键"
align=
"center"
prop=
"ossId"
v-if=
"false"
/>
<el-table-column
label=
"文件名"
align=
"center"
prop=
"fileName"
/>
<el-table-column
label=
"原名"
align=
"center"
prop=
"originalName"
/>
<el-table-column
label=
"文件后缀"
align=
"center"
prop=
"fileSuffix"
/>
<el-table-column
label=
"文件展示"
align=
"center"
prop=
"url"
>
<template
slot-scope=
"scope"
>
<ImagePreview
v-if=
"previewListResource && checkFileSuffix(scope.row.fileSuffix)"
:width=
100
:height=
100
:src=
"scope.row.url"
:preview-src-list=
"[scope.row.url]"
/>
<span
v-text=
"scope.row.url"
v-if=
"!checkFileSuffix(scope.row.fileSuffix) || !previewListResource"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
width=
"180"
sortable=
"custom"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
,
'{y
}
-{m
}
-{d
}
'
)
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"上传人"
align
=
"center"
prop
=
"createBy"
/>
<
el
-
table
-
column
label
=
"服务商"
align
=
"center"
prop
=
"service"
sortable
=
"custom"
/>
<
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"
@
click
=
"handleDownload(scope.row)"
v
-
hasPermi
=
"['system:oss:download']"
>
下载
<
/el-button
>
<
el
-
button
size
=
"mini"
type
=
"text"
icon
=
"el-icon-delete"
@
click
=
"handleDelete(scope.row)"
v
-
hasPermi
=
"['system:oss:remove']"
>
删除
<
/el-button
>
<
/template
>
<
/el-table-column
>
<
/el-table
>
<
pagination
v
-
show
=
"total>0"
:
total
=
"total"
:
page
.
sync
=
"queryParams.pageNum"
:
limit
.
sync
=
"queryParams.pageSize"
@
pagination
=
"getList"
/>
<!--
添加或修改
OSS
对象存储对话框
-->
<
el
-
dialog
:
title
=
"title"
:
visible
.
sync
=
"open"
width
=
"500px"
append
-
to
-
body
>
<
el
-
form
ref
=
"form"
:
model
=
"form"
:
rules
=
"rules"
label
-
width
=
"80px"
>
<
el
-
form
-
item
label
=
"文件名"
>
<
fileUpload
v
-
model
=
"form.file"
v
-
if
=
"type === 0"
/>
<
imageUpload
v
-
model
=
"form.file"
v
-
if
=
"type === 1"
/>
<
/el-form-item
>
<
/el-form
>
<
div
slot
=
"footer"
class
=
"dialog-footer"
>
<
el
-
button
:
loading
=
"buttonLoading"
type
=
"primary"
@
click
=
"submitForm"
>
确
定
<
/el-button
>
<
el
-
button
@
click
=
"cancel"
>
取
消
<
/el-button
>
<
/div
>
<
/el-dialog
>
<
/div
>
<
/template
>
<
script
>
import
{
listOss
,
delOss
}
from
"@/api/system/oss"
;
export
default
{
name
:
"Oss"
,
data
()
{
return
{
showTable
:
true
,
// 按钮loading
buttonLoading
:
false
,
// 遮罩层
loading
:
true
,
// 导出遮罩层
exportLoading
:
false
,
// 选中数组
ids
:
[],
// 非单个禁用
single
:
true
,
// 非多个禁用
multiple
:
true
,
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
// OSS对象存储表格数据
ossList
:
[],
// 弹出层标题
title
:
""
,
// 弹出层标题
type
:
0
,
// 是否显示弹出层
open
:
false
,
// 预览列表图片
previewListResource
:
true
,
// 创建时间时间范围
daterangeCreateTime
:
[],
// 默认排序
defaultSort
:
{
prop
:
'createTime'
,
order
:
'ascending'
}
,
// 查询参数
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
fileName
:
undefined
,
originalName
:
undefined
,
fileSuffix
:
undefined
,
url
:
undefined
,
createTime
:
undefined
,
createBy
:
undefined
,
service
:
undefined
}
,
// 表单参数
form
:
{
}
,
// 表单校验
rules
:
{
file
:
[
{
required
:
true
,
message
:
"文件不能为空"
,
trigger
:
"blur"
}
]
}
}
;
}
,
created
()
{
this
.
getList
();
}
,
methods
:
{
/** 查询OSS对象存储列表 */
getList
()
{
this
.
loading
=
true
;
this
.
queryParams
.
params
=
{
}
;
if
(
null
!=
this
.
daterangeCreateTime
&&
''
!=
this
.
daterangeCreateTime
)
{
this
.
queryParams
.
params
[
"beginCreateTime"
]
=
this
.
daterangeCreateTime
[
0
];
this
.
queryParams
.
params
[
"endCreateTime"
]
=
this
.
daterangeCreateTime
[
1
];
}
this
.
getConfigKey
(
"sys.oss.previewListResource"
).
then
(
response
=>
{
this
.
previewListResource
=
response
.
msg
===
undefined
?
true
:
response
.
msg
===
'true'
;
}
);
listOss
(
this
.
queryParams
).
then
(
response
=>
{
this
.
ossList
=
response
.
rows
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
this
.
showTable
=
true
;
}
);
}
,
checkFileSuffix
(
fileSuffix
)
{
let
arr
=
[
"png"
,
"jpg"
,
"jpeg"
];
return
arr
.
some
(
type
=>
{
return
fileSuffix
.
indexOf
(
type
)
>
-
1
;
}
);
}
,
// 取消按钮
cancel
()
{
this
.
open
=
false
;
this
.
reset
();
}
,
// 表单重置
reset
()
{
this
.
form
=
{
file
:
undefined
,
}
;
this
.
resetForm
(
"form"
);
}
,
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
}
,
/** 重置按钮操作 */
resetQuery
()
{
this
.
showTable
=
false
;
this
.
daterangeCreateTime
=
[];
this
.
resetForm
(
"queryForm"
);
this
.
queryParams
.
orderByColumn
=
this
.
defaultSort
.
prop
;
this
.
queryParams
.
isAsc
=
this
.
defaultSort
.
order
;
this
.
handleQuery
();
}
,
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
(
item
=>
item
.
ossId
)
this
.
single
=
selection
.
length
!==
1
this
.
multiple
=
!
selection
.
length
}
,
// 设置列的排序为我们自定义的排序
handleHeaderClass
({
column
}
)
{
column
.
order
=
column
.
multiOrder
}
,
// 点击表头进行排序
handleHeaderCLick
(
column
)
{
if
(
column
.
sortable
!==
'custom'
)
{
return
}
switch
(
column
.
multiOrder
)
{
case
'descending'
:
column
.
multiOrder
=
'ascending'
;
break
;
case
'ascending'
:
column
.
multiOrder
=
''
;
break
;
default
:
column
.
multiOrder
=
'descending'
;
break
;
}
this
.
handleOrderChange
(
column
.
property
,
column
.
multiOrder
)
}
,
handleOrderChange
(
prop
,
order
)
{
let
orderByArr
=
this
.
queryParams
.
orderByColumn
?
this
.
queryParams
.
orderByColumn
.
split
(
","
)
:
[];
let
isAscArr
=
this
.
queryParams
.
isAsc
?
this
.
queryParams
.
isAsc
.
split
(
","
)
:
[];
let
propIndex
=
orderByArr
.
indexOf
(
prop
)
if
(
propIndex
!==
-
1
)
{
if
(
order
)
{
//排序里已存在 只修改排序
isAscArr
[
propIndex
]
=
order
;
}
else
{
//如果order为null 则删除排序字段和属性
isAscArr
.
splice
(
propIndex
,
1
);
//删除排序
orderByArr
.
splice
(
propIndex
,
1
);
//删除属性
}
}
else
{
//排序里不存在则新增排序
orderByArr
.
push
(
prop
);
isAscArr
.
push
(
order
);
}
//合并排序
this
.
queryParams
.
orderByColumn
=
orderByArr
.
join
(
","
);
this
.
queryParams
.
isAsc
=
isAscArr
.
join
(
","
);
this
.
getList
();
}
,
/** 任务日志列表查询 */
handleOssConfig
()
{
this
.
$router
.
push
({
path
:
'/system/oss-config/index'
}
)
}
,
/** 文件按钮操作 */
handleFile
()
{
this
.
reset
();
this
.
open
=
true
;
this
.
title
=
"上传文件"
;
this
.
type
=
0
;
}
,
/** 图片按钮操作 */
handleImage
()
{
this
.
reset
();
this
.
open
=
true
;
this
.
title
=
"上传图片"
;
this
.
type
=
1
;
}
,
/** 提交按钮 */
submitForm
()
{
this
.
open
=
false
;
this
.
getList
();
}
,
/** 下载按钮操作 */
handleDownload
(
row
)
{
this
.
$download
.
oss
(
row
.
ossId
)
}
,
/** 删除按钮操作 */
handleDelete
(
row
)
{
const
ossIds
=
row
.
ossId
||
this
.
ids
;
this
.
$modal
.
confirm
(
'是否确认删除OSS对象存储编号为"'
+
ossIds
+
'"的数据项?'
).
then
(()
=>
{
this
.
loading
=
true
;
return
delOss
(
ossIds
);
}
).
then
(()
=>
{
this
.
loading
=
false
;
this
.
getList
();
this
.
$modal
.
msgSuccess
(
"删除成功"
);
}
).
finally
(()
=>
{
this
.
loading
=
false
;
}
);
}
,
// 预览列表图片状态修改
handlePreviewListResource
(
previewListResource
)
{
let
text
=
previewListResource
?
"启用"
:
"停用"
;
this
.
$modal
.
confirm
(
'确认要"'
+
text
+
'""预览列表图片"配置吗?'
).
then
(()
=>
{
return
this
.
updateConfigByKey
(
"sys.oss.previewListResource"
,
previewListResource
);
}
).
then
(()
=>
{
this
.
getList
()
this
.
$modal
.
msgSuccess
(
text
+
"成功"
);
}
).
catch
(()
=>
{
}
)
}
}
}
;
<
/script
>
dsk-operate-ui/src/views/system/role/authUser.vue
View file @
5fc7b594
dsk-operate-ui/src/views/system/role/index.vue
View file @
5fc7b594
...
@@ -38,11 +38,12 @@
...
@@ -38,11 +38,12 @@
<el-date-picker
<el-date-picker
v-model=
"dateRange"
v-model=
"dateRange"
style=
"width: 240px"
style=
"width: 240px"
value-format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd
HH:mm:ss
"
type=
"daterange"
type=
"daterange"
range-separator=
"-"
range-separator=
"-"
start-placeholder=
"开始日期"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
end-placeholder=
"结束日期"
:default-time=
"['00:00:00', '23:59:59']"
></el-date-picker>
></el-date-picker>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
...
@@ -382,14 +383,14 @@ export default {
...
@@ -382,14 +383,14 @@ export default {
/** 根据角色ID查询菜单树结构 */
/** 根据角色ID查询菜单树结构 */
getRoleMenuTreeselect
(
roleId
)
{
getRoleMenuTreeselect
(
roleId
)
{
return
roleMenuTreeselect
(
roleId
).
then
(
response
=>
{
return
roleMenuTreeselect
(
roleId
).
then
(
response
=>
{
this
.
menuOptions
=
response
.
menus
;
this
.
menuOptions
=
response
.
data
.
menus
;
return
response
;
return
response
;
});
});
},
},
/** 根据角色ID查询部门树结构 */
/** 根据角色ID查询部门树结构 */
getDeptTree
(
roleId
)
{
getDeptTree
(
roleId
)
{
return
deptTreeSelect
(
roleId
).
then
(
response
=>
{
return
deptTreeSelect
(
roleId
).
then
(
response
=>
{
this
.
deptOptions
=
response
.
depts
;
this
.
deptOptions
=
response
.
d
ata
.
d
epts
;
return
response
;
return
response
;
});
});
},
},
...
@@ -514,7 +515,7 @@ export default {
...
@@ -514,7 +515,7 @@ export default {
this
.
open
=
true
;
this
.
open
=
true
;
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
roleMenu
.
then
(
res
=>
{
roleMenu
.
then
(
res
=>
{
let
checkedKeys
=
res
.
checkedKeys
let
checkedKeys
=
res
.
data
.
checkedKeys
checkedKeys
.
forEach
((
v
)
=>
{
checkedKeys
.
forEach
((
v
)
=>
{
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
this
.
$refs
.
menu
.
setChecked
(
v
,
true
,
false
);
this
.
$refs
.
menu
.
setChecked
(
v
,
true
,
false
);
...
@@ -540,7 +541,7 @@ export default {
...
@@ -540,7 +541,7 @@ export default {
this
.
openDataScope
=
true
;
this
.
openDataScope
=
true
;
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
deptTreeSelect
.
then
(
res
=>
{
deptTreeSelect
.
then
(
res
=>
{
this
.
$refs
.
dept
.
setCheckedKeys
(
res
.
checkedKeys
);
this
.
$refs
.
dept
.
setCheckedKeys
(
res
.
data
.
checkedKeys
);
});
});
});
});
this
.
title
=
"分配数据权限"
;
this
.
title
=
"分配数据权限"
;
...
@@ -603,3 +604,4 @@ export default {
...
@@ -603,3 +604,4 @@ export default {
}
}
};
};
</
script
>
</
script
>
dsk-operate-ui/src/views/system/user/authRole.vue
View file @
5fc7b594
...
@@ -71,8 +71,8 @@ export default {
...
@@ -71,8 +71,8 @@ export default {
if
(
userId
)
{
if
(
userId
)
{
this
.
loading
=
true
;
this
.
loading
=
true
;
getAuthRole
(
userId
).
then
((
response
)
=>
{
getAuthRole
(
userId
).
then
((
response
)
=>
{
this
.
form
=
response
.
user
;
this
.
form
=
response
.
data
.
user
;
this
.
roles
=
response
.
roles
;
this
.
roles
=
response
.
data
.
roles
;
this
.
total
=
this
.
roles
.
length
;
this
.
total
=
this
.
roles
.
length
;
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
this
.
roles
.
forEach
((
row
)
=>
{
this
.
roles
.
forEach
((
row
)
=>
{
...
...
dsk-operate-ui/src/views/system/user/index.vue
View file @
5fc7b594
...
@@ -67,11 +67,12 @@
...
@@ -67,11 +67,12 @@
<el-date-picker
<el-date-picker
v-model=
"dateRange"
v-model=
"dateRange"
style=
"width: 240px"
style=
"width: 240px"
value-format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd
HH:mm:ss
"
type=
"daterange"
type=
"daterange"
range-separator=
"-"
range-separator=
"-"
start-placeholder=
"开始日期"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
end-placeholder=
"结束日期"
:default-time=
"['00:00:00', '23:59:59']"
></el-date-picker>
></el-date-picker>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
...
@@ -562,8 +563,8 @@ export default {
...
@@ -562,8 +563,8 @@ export default {
handleAdd
()
{
handleAdd
()
{
this
.
reset
();
this
.
reset
();
getUser
().
then
(
response
=>
{
getUser
().
then
(
response
=>
{
this
.
postOptions
=
response
.
posts
;
this
.
postOptions
=
response
.
data
.
posts
;
this
.
roleOptions
=
response
.
roles
;
this
.
roleOptions
=
response
.
data
.
roles
;
this
.
open
=
true
;
this
.
open
=
true
;
this
.
title
=
"添加用户"
;
this
.
title
=
"添加用户"
;
this
.
form
.
password
=
this
.
initPassword
;
this
.
form
.
password
=
this
.
initPassword
;
...
@@ -574,11 +575,11 @@ export default {
...
@@ -574,11 +575,11 @@ export default {
this
.
reset
();
this
.
reset
();
const
userId
=
row
.
userId
||
this
.
ids
;
const
userId
=
row
.
userId
||
this
.
ids
;
getUser
(
userId
).
then
(
response
=>
{
getUser
(
userId
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
this
.
form
=
response
.
data
.
user
;
this
.
postOptions
=
response
.
posts
;
this
.
postOptions
=
response
.
data
.
posts
;
this
.
roleOptions
=
response
.
roles
;
this
.
roleOptions
=
response
.
data
.
roles
;
this
.
$set
(
this
.
form
,
"postIds"
,
response
.
postIds
);
this
.
$set
(
this
.
form
,
"postIds"
,
response
.
data
.
postIds
);
this
.
$set
(
this
.
form
,
"roleIds"
,
response
.
roleIds
);
this
.
$set
(
this
.
form
,
"roleIds"
,
response
.
data
.
roleIds
);
this
.
open
=
true
;
this
.
open
=
true
;
this
.
title
=
"修改用户"
;
this
.
title
=
"修改用户"
;
this
.
form
.
password
=
""
;
this
.
form
.
password
=
""
;
...
...
dsk-operate-ui/src/views/system/user/profile/index.vue
View file @
5fc7b594
...
@@ -81,9 +81,9 @@ export default {
...
@@ -81,9 +81,9 @@ export default {
methods
:
{
methods
:
{
getUser
()
{
getUser
()
{
getUserProfile
().
then
(
response
=>
{
getUserProfile
().
then
(
response
=>
{
this
.
user
=
response
.
data
;
this
.
user
=
response
.
data
.
user
;
this
.
roleGroup
=
response
.
roleGroup
;
this
.
roleGroup
=
response
.
data
.
roleGroup
;
this
.
postGroup
=
response
.
postGroup
;
this
.
postGroup
=
response
.
data
.
postGroup
;
});
});
}
}
}
}
...
...
dsk-operate-ui/src/views/system/user/profile/resetPwd.vue
View file @
5fc7b594
...
@@ -18,8 +18,6 @@
...
@@ -18,8 +18,6 @@
<
script
>
<
script
>
import
{
updateUserPwd
}
from
"@/api/system/user"
;
import
{
updateUserPwd
}
from
"@/api/system/user"
;
import
{
removeToken
}
from
"@/utils/auth"
;
import
store
from
"@/store"
;
export
default
{
export
default
{
data
()
{
data
()
{
...
@@ -57,14 +55,7 @@ export default {
...
@@ -57,14 +55,7 @@ export default {
this
.
$refs
[
"form"
].
validate
(
valid
=>
{
this
.
$refs
[
"form"
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
valid
)
{
updateUserPwd
(
this
.
user
.
oldPassword
,
this
.
user
.
newPassword
).
then
(
response
=>
{
updateUserPwd
(
this
.
user
.
oldPassword
,
this
.
user
.
newPassword
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"修改成功"
)
this
.
$modal
.
msgSuccess
(
"修改成功"
);
store
.
commit
(
'SET_TOKEN'
,
''
)
store
.
commit
(
'SET_ROLES'
,
[])
store
.
commit
(
'SET_PERMISSIONS'
,
[])
removeToken
()
setTimeout
(
function
()
{
location
.
href
=
'/index'
},
2000
)
});
});
}
}
});
});
...
...
dsk-operate-ui/src/views/system/user/profile/userAvatar.vue
View file @
5fc7b594
<
template
>
<
template
>
<div>
<div>
<div
class=
"user-info-head"
@
click=
"editCropper()"
>
<div
class=
"user-info-head"
@
click=
"editCropper()"
><img
v-bind:src=
"options.img"
title=
"点击上传头像"
class=
"img-circle img-lg"
/></div>
<img
v-bind:src=
"options.img"
title=
"点击上传头像"
class=
"img-circle img-lg"
v-if=
"options.img"
/>
<span
class=
"userInfo-avatar"
v-else
>
{{
options
.
name
&&
options
.
name
.
slice
(
0
,
1
).
toUpperCase
()
}}
</span>
</div>
<el-dialog
:title=
"title"
:visible
.
sync=
"open"
width=
"800px"
append-to-body
@
opened=
"modalOpened"
@
close=
"closeDialog"
>
<el-dialog
:title=
"title"
:visible
.
sync=
"open"
width=
"800px"
append-to-body
@
opened=
"modalOpened"
@
close=
"closeDialog"
>
<el-row>
<el-row>
<el-col
:xs=
"24"
:md=
"12"
:style=
"
{height: '350px'}">
<el-col
:xs=
"24"
:md=
"12"
:style=
"
{height: '350px'}">
...
@@ -78,13 +75,13 @@ export default {
...
@@ -78,13 +75,13 @@ export default {
// 弹出层标题
// 弹出层标题
title
:
"修改头像"
,
title
:
"修改头像"
,
options
:
{
options
:
{
name
:
store
.
getters
.
name
,
//用户名称
img
:
store
.
getters
.
avatar
,
//裁剪图片的地址
img
:
store
.
getters
.
avatar
,
//裁剪图片的地址
autoCrop
:
true
,
// 是否默认生成截图框
autoCrop
:
true
,
// 是否默认生成截图框
autoCropWidth
:
200
,
// 默认生成截图框宽度
autoCropWidth
:
200
,
// 默认生成截图框宽度
autoCropHeight
:
200
,
// 默认生成截图框高度
autoCropHeight
:
200
,
// 默认生成截图框高度
fixedBox
:
true
,
// 固定截图框大小 不允许改变
fixedBox
:
true
,
// 固定截图框大小 不允许改变
outputType
:
"png"
// 默认生成截图为PNG格式
outputType
:
"png"
,
// 默认生成截图为PNG格式
filename
:
''
},
},
previews
:
{},
previews
:
{},
resizeHandler
:
null
resizeHandler
:
null
...
@@ -93,7 +90,7 @@ export default {
...
@@ -93,7 +90,7 @@ export default {
methods
:
{
methods
:
{
// 编辑头像
// 编辑头像
editCropper
()
{
editCropper
()
{
//
this.open = true;
this
.
open
=
true
;
},
},
// 打开弹出层结束时的回调
// 打开弹出层结束时的回调
modalOpened
()
{
modalOpened
()
{
...
@@ -134,6 +131,7 @@ export default {
...
@@ -134,6 +131,7 @@ export default {
reader
.
readAsDataURL
(
file
);
reader
.
readAsDataURL
(
file
);
reader
.
onload
=
()
=>
{
reader
.
onload
=
()
=>
{
this
.
options
.
img
=
reader
.
result
;
this
.
options
.
img
=
reader
.
result
;
this
.
options
.
filename
=
file
.
name
;
};
};
}
}
},
},
...
@@ -141,10 +139,11 @@ export default {
...
@@ -141,10 +139,11 @@ export default {
uploadImg
()
{
uploadImg
()
{
this
.
$refs
.
cropper
.
getCropBlob
(
data
=>
{
this
.
$refs
.
cropper
.
getCropBlob
(
data
=>
{
let
formData
=
new
FormData
();
let
formData
=
new
FormData
();
formData
.
append
(
"avatarfile"
,
data
);
console
.
log
(
this
.
options
.
filename
)
formData
.
append
(
"avatarfile"
,
data
,
this
.
options
.
filename
);
uploadAvatar
(
formData
).
then
(
response
=>
{
uploadAvatar
(
formData
).
then
(
response
=>
{
this
.
open
=
false
;
this
.
open
=
false
;
this
.
options
.
img
=
process
.
env
.
VUE_APP_BASE_API
+
response
.
imgUrl
;
this
.
options
.
img
=
response
.
data
.
imgUrl
;
store
.
commit
(
'SET_AVATAR'
,
this
.
options
.
img
);
store
.
commit
(
'SET_AVATAR'
,
this
.
options
.
img
);
this
.
$modal
.
msgSuccess
(
"修改成功"
);
this
.
$modal
.
msgSuccess
(
"修改成功"
);
this
.
visible
=
false
;
this
.
visible
=
false
;
...
@@ -171,7 +170,7 @@ export default {
...
@@ -171,7 +170,7 @@ export default {
height
:
120px
;
height
:
120px
;
}
}
/*
.user-info-head:hover:after {
.user-info-head
:hover:after
{
content
:
'+'
;
content
:
'+'
;
position
:
absolute
;
position
:
absolute
;
left
:
0
;
left
:
0
;
...
@@ -187,5 +186,5 @@ export default {
...
@@ -187,5 +186,5 @@ export default {
cursor
:
pointer
;
cursor
:
pointer
;
line-height
:
110px
;
line-height
:
110px
;
border-radius
:
50%
;
border-radius
:
50%
;
}
*/
}
</
style
>
</
style
>
dsk-operate-ui/src/views/system/user/profile/userInfo.vue
View file @
5fc7b594
dsk-operate-ui/vue.config.js
View file @
5fc7b594
...
@@ -34,11 +34,9 @@ module.exports = {
...
@@ -34,11 +34,9 @@ module.exports = {
proxy
:
{
proxy
:
{
// detail: https://cli.vuejs.org/config/#devserver-proxy
// detail: https://cli.vuejs.org/config/#devserver-proxy
[
process
.
env
.
VUE_APP_BASE_API
]:
{
[
process
.
env
.
VUE_APP_BASE_API
]:
{
target
:
`http://47.104.91.229:9099/prod-api`
,
// target: `http://47.104.91.229:9099/prod-api`,
// target: `http://122.9.160.122:9011`,
target
:
`http://192.168.0.165:8080`
,
//施
// target: `http://192.168.60.126:9011`,
// target: `http://139.9.157.49:9099`,//测试
// target: `http://192.168.60.126:9098`,
// target: `http://192.168.0.165:8080`,
changeOrigin
:
true
,
changeOrigin
:
true
,
pathRewrite
:
{
pathRewrite
:
{
[
'^'
+
process
.
env
.
VUE_APP_BASE_API
]:
''
[
'^'
+
process
.
env
.
VUE_APP_BASE_API
]:
''
...
...
Write
Preview
Markdown
is supported
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