Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
wangxiaolu-sfa-ui
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
sfa
wangxiaolu-sfa-ui
Commits
765a6bed
提交
765a6bed
authored
7月 14, 2025
作者:
lidongxu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor(report/manager): 修改:积木报表分配权限搭建 UI 效果
上级
2a387321
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
105 行增加
和
56 行删除
+105
-56
index.js
src/api/jimu/index.js
+1
-1
index.vue
src/views/bi/supply/index.vue
+0
-1
manager.vue
src/views/system/report/manager.vue
+104
-54
没有找到文件。
src/api/jimu/index.js
浏览文件 @
765a6bed
...
...
@@ -19,7 +19,7 @@ export function enterOtherReportAPI(data) {
})
}
// 获取积木报表文件夹列表
// 获取积木报表文件夹列表
(分组)
export
function
getReportFolderListAPI
()
{
return
request
({
url
:
`/report/jmreport/category/list`
,
...
...
src/views/bi/supply/index.vue
浏览文件 @
765a6bed
...
...
@@ -143,7 +143,6 @@ const getReportList = async () => {
const
{
data
:
otherData
}
=
await
getReportListBySelfAPI
()
reportList
.
value
=
data
.
concat
(
otherData
)
// 右侧分组列表
const
res
=
await
getReportListByGroupAPI
({
categoryName
:
'供应链报表'
...
...
src/views/system/report/manager.vue
浏览文件 @
765a6bed
...
...
@@ -5,17 +5,7 @@
ref=
"queryRef"
:inline=
"true"
label-width=
"68px"
>
<el-form-item
label=
"部门选择"
prop=
"roleName"
>
<el-tree-select
v-model=
"queryParams.deptId"
:data=
"deptOptions"
filterable
highlight-current
node-key=
"id"
check-strictly
:default-expanded-keys=
"defaultExpandedKeys"
style=
"width: 240px"
/>
</el-form-item>
<el-form-item
label=
"用户名称"
prop=
"nickName"
>
<el-input
v-model=
"queryParams.nickName"
...
...
@@ -89,55 +79,105 @@
v-model:limit=
"queryParams.pageSize"
@
pagination=
"getList"
/>
<!-- 分配角色数据权限对话框 -->
<el-dialog
:title=
"title"
v-model=
"openDataScope"
<!-- 分配用户 -->
<el-dialog
title=
"选择用户"
v-model=
"showSelUser"
top=
"5vh"
append-to-body
draggable
overflow
>
<el-form
:model=
"form"
label-width=
"80px"
>
<el-form-item
label=
"角色名称"
>
<el-input
v-model=
"form.roleName"
:disabled=
"true"
/>
<el-form
:model=
"queryParams"
ref=
"queryRef"
:inline=
"true"
>
<el-form-item
label=
"部门选择"
prop=
"roleName"
>
<el-tree-select
v-model=
"queryParams.deptId"
:data=
"deptOptions"
filterable
highlight-current
node-key=
"id"
check-strictly
:default-expanded-keys=
"defaultExpandedKeys"
style=
"width: 240px"
/>
</el-form-item>
<el-form-item
label=
"权限字符"
>
<el-input
v-model=
"form.roleKey"
:disabled=
"true"
/>
<el-form-item
label=
"用户工号"
prop=
"userName"
>
<el-input
v-model=
"queryParams.userName"
placeholder=
"请输入用户工号"
clearable
style=
"width: 180px"
@
input=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"权限范围"
>
<el-select
v-model=
"form.dataScope"
@
change=
"dataScopeSelectChange"
>
<el-option
v-for=
"item in dataScopeOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
<el-form-item
label=
"用户昵称"
prop=
"nickName"
>
<el-input
v-model=
"queryParams.nickName"
placeholder=
"请输入用户昵称"
clearable
style=
"width: 180px"
@
input=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"数据权限"
v-show=
"form.dataScope == 2"
>
<el-checkbox
v-model=
"deptExpand"
@
change=
"handleCheckedTreeExpand($event, 'dept')"
>
展开/折叠
</el-checkbox>
<el-checkbox
v-model=
"deptNodeAll"
@
change=
"handleCheckedTreeNodeAll($event, 'dept')"
>
全选/全不选
</el-checkbox>
<el-checkbox
v-model=
"form.deptCheckStrictly"
@
change=
"handleCheckedTreeConnect($event, 'dept')"
>
父子联动
</el-checkbox>
<el-tree
class=
"tree-border"
:data=
"deptOptions"
show-checkbox
default-expand-all
ref=
"deptRef"
node-key=
"id"
:check-strictly=
"!form.deptCheckStrictly"
empty-text=
"加载中,请稍候"
:props=
"{ label: 'label', children: 'children' }"
></el-tree>
<el-form-item
label=
"手机号码"
prop=
"phonenumber"
>
<el-input
v-model=
"queryParams.phonenumber"
placeholder=
"请输入手机号码"
clearable
style=
"width: 180px"
@
input=
"handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
icon=
"Refresh"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
<el-row>
<el-table
@
row-click=
"clickRow"
ref=
"refTable"
:data=
"userList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
></el-table-column>
<el-table-column
label=
"用户工号"
prop=
"userName"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"用户昵称"
prop=
"nickName"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"邮箱"
prop=
"email"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"手机"
prop=
"phonenumber"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"状态"
align=
"center"
prop=
"status"
>
<
template
#
default=
"scope"
>
<dict-tag
:options=
"sys_normal_disable"
:value=
"scope.row.status"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
width=
"180"
>
<
template
#
default=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
</
template
>
</el-table-column>
</el-table>
<div
class=
"pagination-wrap"
>
<pagination
v-show=
"total > 0"
:total=
"total"
v-model:page=
"queryParams.pageNum"
v-model:limit=
"queryParams.pageSize"
@
pagination=
"getList"
/>
</div>
</el-row>
<
template
#
footer
>
<div
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"
submitDataScope
"
>
确 定
</el-button>
<el-button
@
click=
"
cancelDataScop
e"
>
取 消
</el-button>
@
click=
"
handleSelectUser
"
>
确 定
</el-button>
<el-button
@
click=
"
visible = fals
e"
>
取 消
</el-button>
</div>
</
template
>
</el-dialog>
...
...
@@ -148,7 +188,7 @@
<
script
setup
name=
"Role"
>
import
{
addRole
,
changeRoleStatus
,
dataScope
,
delRole
,
getRole
,
listRole
,
updateRole
,
deptTreeSelect
}
from
"@/api"
;
import
{
deptTreeSelectList
,
listUser
,
roleMenuTreeselect
,
treeselect
as
menuTreeselect
}
from
"@/api"
;
import
{
deptTreeSelectList
,
listUser
,
getReportFolderListAPI
,
roleMenuTreeselect
,
treeselect
as
menuTreeselect
}
from
"@/api"
;
const
router
=
useRouter
();
const
{
proxy
}
=
getCurrentInstance
();
...
...
@@ -161,7 +201,7 @@
const
ids
=
ref
([]);
const
single
=
ref
(
true
);
const
multiple
=
ref
(
true
);
const
title
=
ref
(
""
);
const
dateRange
=
ref
([]);
const
menuOptions
=
ref
([]);
...
...
@@ -169,7 +209,7 @@
const
menuNodeAll
=
ref
(
false
);
const
deptExpand
=
ref
(
true
);
const
deptNodeAll
=
ref
(
false
);
const
menuRef
=
ref
(
null
);
...
...
@@ -187,6 +227,7 @@
getDeptList
()
/** 查询用户列表 */
const
showSelUser
=
ref
(
false
)
const
userList
=
ref
([])
const
total
=
ref
(
0
);
function
getUserList
()
{
...
...
@@ -201,11 +242,20 @@
getUserList
()
// 分配报表
const
openDataScope
=
ref
(
false
);
function
handleAuthRole
(
row
)
{
console
.
log
(
'分配报表'
,
row
)
openDataScope
.
value
=
true
;
showSelUser
.
value
=
true
;
}
// 获取积木报表列表
const
reportFolderList
=
ref
([])
function
getReportFolderList
()
{
getReportFolderListAPI
().
then
(
res
=>
{
console
.
log
(
'报表'
,
res
)
reportFolderList
.
value
=
res
.
data
;
})
}
getReportFolderList
()
/** 数据范围选项*/
const
dataScopeOptions
=
ref
([
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论