|
|
@@ -2,26 +2,28 @@
|
|
|
* @Author: niezch@dashoo.cn
|
|
|
* @Date: 2023-02-16 15:55:15
|
|
|
* @LastEditors: niezch@dashoo.cn
|
|
|
- * @LastEditTime: 2023-02-17 15:41:28
|
|
|
+ * @LastEditTime: 2023-02-21 17:37:39
|
|
|
* @Description: file content
|
|
|
* @FilePath: \opms_frontend\src\views\system\report\components\ReportList.vue
|
|
|
-->
|
|
|
<template>
|
|
|
<el-dialog :title="title" :visible.sync="dialogFormVisible" width="700px" @close="close">
|
|
|
- <el-table v-loading="listLoading" border :data="list" :height="height" @selection-change="setSelectRows">
|
|
|
+ <el-table
|
|
|
+ ref="RoleReportTable"
|
|
|
+ v-loading="listLoading"
|
|
|
+ border
|
|
|
+ :data="list"
|
|
|
+ height="500px"
|
|
|
+ @selection-change="setSelectRows">
|
|
|
+ <el-table-column align="center" show-overflow-tooltip type="selection" />
|
|
|
<el-table-column align="center" label="角色Id" prop="id" show-overflow-tooltip />
|
|
|
<el-table-column align="center" label="角色名称" prop="roleName" show-overflow-tooltip />
|
|
|
- <!-- <el-table-column align="center" label="备注" prop="remark" show-overflow-tooltip /> -->
|
|
|
+ <el-table-column align="center" label="备注" prop="remark" show-overflow-tooltip />
|
|
|
<el-table-column align="center" label="创建时间" prop="createdTime">
|
|
|
<template #default="scope">
|
|
|
<span>{{ parseTime(scope.row.createdTime) }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" label="操作" show-overflow-tooltip>
|
|
|
- <template #default="{ row }">
|
|
|
- <el-button type="text" @click="handleApplication(row)">应用</el-button>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
<template #empty>
|
|
|
<el-image class="vab-data-empty" :src="require('@/assets/empty_images/data_empty.png')" />
|
|
|
</template>
|
|
|
@@ -47,13 +49,13 @@
|
|
|
form: { reportType: '10' },
|
|
|
rules: {
|
|
|
reportName: [{ required: true, message: '报表名称不能为空', trigger: 'blur' }],
|
|
|
- // reportType: [{ required: true, message: '报表类型不能为空', trigger: 'blur' }],
|
|
|
reportDesc: [{ required: true, message: '报表描述不能为空', trigger: 'blur' }],
|
|
|
},
|
|
|
title: '',
|
|
|
dialogFormVisible: false,
|
|
|
// 角色选项
|
|
|
roleOptions: [],
|
|
|
+ //权限表
|
|
|
listLoading: true,
|
|
|
list: [],
|
|
|
rid: '',
|
|
|
@@ -76,13 +78,7 @@
|
|
|
return this.$baseTableHeight(1)
|
|
|
},
|
|
|
},
|
|
|
- mounted() {
|
|
|
- // 获取角色
|
|
|
- // roleApi.getList({ status: '10' }).then((response) => {
|
|
|
- // this.roleOptions = response.data.list
|
|
|
- // console.log( this.roleOptions)
|
|
|
- // })
|
|
|
- },
|
|
|
+ mounted() {},
|
|
|
methods: {
|
|
|
//应用
|
|
|
async handleApplication(row) {
|
|
|
@@ -96,10 +92,20 @@
|
|
|
},
|
|
|
setSelectRows(val) {
|
|
|
this.selectRows = val
|
|
|
+ if (!this.rid) return this.$baseMessage('报表数据有误', 'error', 'vab-hey-message-error')
|
|
|
+ reportApi
|
|
|
+ .addRoleReport({ reportId: this.rid, roleList: val })
|
|
|
+ .then((res) => {
|
|
|
+ console.log(res)
|
|
|
+ })
|
|
|
+ .catch((error) => {
|
|
|
+ console.log(error)
|
|
|
+ })
|
|
|
},
|
|
|
showEdit(row) {
|
|
|
this.title = '应用'
|
|
|
- this.getRoleList()
|
|
|
+
|
|
|
+ this.getRoleList(row.id)
|
|
|
this.rid = row.id
|
|
|
this.dialogFormVisible = true
|
|
|
},
|
|
|
@@ -109,17 +115,24 @@
|
|
|
this.total = data.total
|
|
|
this.listLoading = false
|
|
|
},
|
|
|
- async getRoleList() {
|
|
|
- roleApi.getList({ status: '10' }).then((response) => {
|
|
|
- this.roleOptions = response.data.list
|
|
|
- console.log(this.roleOptions)
|
|
|
+ async getRoleList(rid) {
|
|
|
+ roleApi.getList({ status: '10' }).then(async (response) => {
|
|
|
+ this.list = response.data.list
|
|
|
+ this.total = response.data.total
|
|
|
+ this.listLoading = false
|
|
|
+ const { data: data } = await reportApi.roleList({ reportId: rid })
|
|
|
+ this.$refs.RoleReportTable.clearSelection()
|
|
|
+ if (this.list && this.list.length && data.list && data.list.length) {
|
|
|
+ for (let item of this.list) {
|
|
|
+ for (let it of data.list) {
|
|
|
+ console.log(it, item)
|
|
|
+ if (item.id == it.roleId) {
|
|
|
+ this.$refs.RoleReportTable.toggleRowSelection(item, true)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
})
|
|
|
- const { data: data } = await roleApi.getList({ status: '10' })
|
|
|
-
|
|
|
- console.log(data)
|
|
|
- this.list = data.list
|
|
|
- this.total = data.total
|
|
|
- this.listLoading = false
|
|
|
},
|
|
|
close() {
|
|
|
this.dialogFormVisible = false
|