REVIEW 角色管理(设置菜单权限)

This commit is contained in:
YunaiV
2023-04-01 17:45:31 +08:00
parent 70fa36a262
commit ecde723fa2
5 changed files with 176 additions and 164 deletions

View File

@ -108,7 +108,7 @@
preIcon="ep:basketball"
title="菜单权限"
v-hasPermi="['system:permission:assign-role-menu']"
@click="handleScope('menu', scope.row)"
@click="openAssignMenuForm(scope.row)"
>
菜单权限
</el-button>
@ -145,18 +145,18 @@
<!-- 表单弹窗添加/修改 -->
<RoleForm ref="formRef" @success="getList" />
<!-- 表单弹窗菜单权限 -->
<MenuPermissionForm ref="menuPermissionFormRef" @success="getList" />
<RoleAssignMenuForm ref="assignMenuFormRef" @success="getList" />
<!-- 表单弹窗数据权限 -->
<DataPermissionForm ref="dataPermissionFormRef" @success="getList" />
</template>
<script setup lang="tsx">
import * as RoleApi from '@/api/system/role'
import RoleForm from './RoleForm.vue'
import MenuPermissionForm from './MenuPermissionForm.vue'
import DataPermissionForm from './DataPermissionForm.vue'
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
import { dateFormatter } from '@/utils/formatTime'
import download from '@/utils/download'
import * as RoleApi from '@/api/system/role'
import RoleForm from './RoleForm.vue'
import RoleAssignMenuForm from './RoleAssignMenuForm.vue'
import DataPermissionForm from './DataPermissionForm.vue'
const message = useMessage() // 消息弹窗
const { t } = useI18n() // 国际化
@ -204,19 +204,23 @@ const openForm = (type: string, id?: number) => {
formRef.value.open(type, id)
}
/** 菜单权限操作 */
const menuPermissionFormRef = ref()
/** 数据权限操作 */
const dataPermissionFormRef = ref()
const handleScope = async (type: string, row: RoleApi.RoleVO) => {
if (type === 'menu') {
menuPermissionFormRef.value.openModal(type, row)
assignMenuFormRef.value.openModal(type, row)
} else if (type === 'data') {
dataPermissionFormRef.value.openModal(type, row)
}
}
/** 菜单权限操作 */
const assignMenuFormRef = ref()
const openAssignMenuForm = async (row: RoleApi.RoleVO) => {
assignMenuFormRef.value.open(row)
}
/** 删除按钮操作 */
const handleDelete = async (id: number) => {
try {