Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
center-zws
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
center-zws
Commits
43f5a810
提交
43f5a810
authored
12月 26, 2022
作者:
王鹏飞
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
bug fixes
上级
1e9f9499
显示空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
62 行增加
和
5 行删除
+62
-5
AppUpload.vue
src/components/base/AppUpload.vue
+58
-2
types.ts
src/modules/system/roles/types.ts
+2
-1
Details.vue
src/modules/system/roles/views/Details.vue
+1
-1
Index.vue
src/modules/system/roles/views/Index.vue
+1
-1
没有找到文件。
src/components/base/AppUpload.vue
浏览文件 @
43f5a810
<
script
lang=
"ts"
setup
>
import
{
ElMessage
}
from
'element-plus'
import
{
Plus
}
from
'@element-plus/icons-vue'
import
{
Plus
,
Document
,
ZoomIn
,
Delete
}
from
'@element-plus/icons-vue'
import
type
{
UploadProps
,
UploadUserFile
,
UploadFile
,
UploadFiles
,
UploadInstance
}
from
'element-plus'
import
md5
from
'blueimp-md5'
import
axios
from
'axios'
...
...
@@ -112,6 +112,13 @@ const handleRemove: UploadProps['onRemove'] = (uploadFile, uploadFiles) => {
const
handlePreview
:
UploadProps
[
'onPreview'
]
=
uploadFile
=>
{
window
.
open
(
uploadFile
.
url
)
}
function
onPreview
()
{
window
.
open
(
props
.
modelValue
as
string
)
}
function
onRemove
()
{
emit
(
'update:modelValue'
,
''
)
}
</
script
>
<
template
>
...
...
@@ -138,7 +145,19 @@ const handlePreview: UploadProps['onPreview'] = uploadFile => {
</
template
>
</template>
<div
class=
"avatar-uploader"
v-else
>
<el-image
:src=
"(modelValue as string)"
fit=
"contain"
v-if=
"modelValue"
/>
<
template
v-if=
"modelValue"
>
<el-image
:src=
"(modelValue as string)"
fit=
"contain"
>
<template
#
error
>
<div
class=
"image-slot"
>
<el-icon><Document
/></el-icon>
</div>
</
template
>
</el-image>
<div
class=
"avatar-actions"
@
click
.
stop
>
<el-icon
@
click=
"onPreview"
><ZoomIn
/></el-icon>
<el-icon
@
click=
"onRemove"
><Delete
/></el-icon>
</div>
</template>
<el-icon
v-else
class=
"avatar-uploader-icon"
><Plus
/></el-icon>
</div>
</slot>
...
...
@@ -166,6 +185,11 @@ const handlePreview: UploadProps['onPreview'] = uploadFile => {
width
:
100%
;
height
:
100%
;
}
&
:hover
{
.avatar-actions
{
opacity
:
1
;
}
}
}
.avatar-uploader
:hover
{
border-color
:
var
(
--
el-color-primary
);
...
...
@@ -177,4 +201,36 @@ const handlePreview: UploadProps['onPreview'] = uploadFile => {
height
:
100%
;
text-align
:
center
;
}
.image-slot
{
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
width
:
100%
;
height
:
100%
;
background
:
var
(
--
el-fill-color-light
);
color
:
var
(
--
el-text-color-secondary
);
font-size
:
30px
;
}
.avatar-actions
{
position
:
absolute
;
width
:
100%
;
height
:
100%
;
left
:
0
;
top
:
0
;
cursor
:
default
;
display
:
inline-flex
;
justify-content
:
center
;
align-items
:
center
;
color
:
#fff
;
opacity
:
0
;
font-size
:
20px
;
background-color
:
var
(
--
el-overlay-color-lighter
);
transition
:
opacity
var
(
--
el-transition-duration
);
.el-icon
{
cursor
:
pointer
;
}
.el-icon
+
.el-icon
{
margin-left
:
1em
;
}
}
</
style
>
src/modules/system/roles/types.ts
浏览文件 @
43f5a810
...
...
@@ -17,7 +17,8 @@ export interface RoleInfo {
created_at
:
string
updated_at
:
string
levels
:
string
[]
members
:
RoleMember
[]
list
:
RoleMember
[]
total
:
number
}
// 角色成员
...
...
src/modules/system/roles/views/Details.vue
浏览文件 @
43f5a810
...
...
@@ -18,7 +18,7 @@ const listOptions = $computed(() => {
params
:
{
role_id
:
route
.
params
.
id
},
callback
:
(
res
:
RoleInfo
)
=>
{
roleInfo
=
res
return
{
list
:
res
.
members
}
return
{
list
:
res
.
list
,
total
:
res
.
total
}
}
},
columns
:
[
...
...
src/modules/system/roles/views/Index.vue
浏览文件 @
43f5a810
...
...
@@ -21,7 +21,7 @@ const listOptions = $computed(() => {
columns
:
[
{
label
:
'名称'
,
prop
:
'name'
},
{
label
:
'描述'
,
prop
:
'desc'
},
{
label
:
'包含用户数量'
,
prop
:
'
user_count
'
},
{
label
:
'包含用户数量'
,
prop
:
'
total
'
},
{
label
:
'角色类型'
,
prop
:
'levels'
},
{
label
:
'更新时间'
,
prop
:
'updated_at'
},
{
label
:
'操作'
,
slots
:
'table-x'
,
width
:
100
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论