@@ -95,7 +95,7 @@ const roleState = reactive({
data_purview: 3,
state: 1,
permission_arr: [],
- },
+ }, // 表单项
rules: {
role_name: [
{ required: true, message: "请输入角色名称", trigger: "blur" },
@@ -112,13 +112,13 @@ const roleState = reactive({
permission_arr: [
{ required: true, type: "array", validator: checkMenuLength, trigger: "change" }
]
- },
+ }, // 表单校验规则
defaultProps: {
name: 'menu_name',
value: 'id',
children: 'Child',
- },
- permissionData: [],
+ }, // 菜单框默认配置
+ permissionData: [], // 菜单数据
})
const getMenuTree = () => {
axios
@@ -130,22 +130,37 @@ const getMenuTree = () => {
ElMessage.error(res.data.data)
}
})
-}
+} // 获取菜单数据
const changeMenu = (val) => {
roleState.formData.permission_arr = val
-}
+} // 修改选中的菜单
+
const getRoleDetail = () => {
axios
.get(`/apaas/system/v5/role/detail/${route.query.id}`)
.then((res) => {
if (res.data.code == 200) {
- console.log(res.data.data)
+ let { role_name, role_desc, data_purview, state, menus } = res.data.data
+ let permission_arr = []
+ if (menus && menus.length > 0) {
+ menus.forEach(e => {
+ permission_arr.push(e.id)
+ })
+ }
+ roleState.formData = {
+ role_name,
+ role_desc,
+ data_purview,
+ state,
+ permission_arr:[...permission_arr]
+ }
+ console.log(roleState.formData.permission_arr)
}else {
ElMessage.error(res.data.data)
}
})
-}
+} // 获取角色详情
const saveRole = () => {
roleState.form.validate(valid => {
@@ -169,7 +184,7 @@ const saveRole = () => {
}
})
}else { // 编辑
- params.id = route.query.id
+ params.id = +route.query.id
axios
.post(`/apaas/system/v5/role/update`,params)
.then((res) => {
@@ -183,10 +198,12 @@ const saveRole = () => {
}
}
})
-}
+} // 新增或编辑角色的保存
+
onBeforeMount(() => {
getMenuTree()
if (route.query.id) {
+ // 有id表示是编辑,请求详情,回显
getRoleDetail()
}
})
diff --git a/src/page/main/system/role/index.vue b/src/page/main/system/role/index.vue
index 2b510b8d164b23442138526b06f8065df6480071..7b14e8b508418307b2b739824689d466ca515568 100644
--- a/src/page/main/system/role/index.vue
+++ b/src/page/main/system/role/index.vue
@@ -22,20 +22,26 @@
批量删除
+
+ 已选择
+ {{selection.length}}
+ 项
+ 清空
+