diff --git a/src/api/role.ts b/src/api/role.ts
index 592092f..61b1530 100644
--- a/src/api/role.ts
+++ b/src/api/role.ts
@@ -1,13 +1,27 @@
-import {getData} from "@/utils/request";
+import request, {getData} from "@/utils/request";
-const getRoleListUrl = '/admin/role/list'
+const getRoleListUrl = '/admin/role/page';
+const roleUrl = "/admin/role";
-export function getRoleList() {
+export function getRoleList(current: number, size: number, name?: string) {
return new Promise((resolve, reject) => {
- getData(getRoleListUrl).then((res: any) => {
+ const params: any[] = ["current=" + current, "size=" + size];
+ if (name) params.push("roleName=" + name);
+ getData(getRoleListUrl + "?" + params.join("&")).then((res: any) => {
resolve(res.data)
}).catch(error => {
- reject(error)
+ resolve(error)
})
})
-}
\ No newline at end of file
+}
+
+export function addRole(role: any) {
+ return new Promise((resolve, reject) => {
+ request.postForm(roleUrl, role).then((res: any) => {
+ resolve(res.data);
+ }).catch(err => {
+ resolve(err);
+ })
+ })
+}
+
diff --git a/src/views/permissions-manage/form/role-form.vue b/src/views/permissions-manage/form/role-form.vue
index b682097..ebb3790 100644
--- a/src/views/permissions-manage/form/role-form.vue
+++ b/src/views/permissions-manage/form/role-form.vue
@@ -3,19 +3,16 @@
-
-
+
+
-
-
+
+
-
-
+
-
@@ -32,49 +29,51 @@
import {onMounted, reactive, ref} from 'vue'
import {ElMessage} from 'element-plus'
import {getMenuData} from '@/static-data/menu'
+import * as roleApi from "@/api/role";
+import * as menuApi from "@/api/menu";
const emit = defineEmits(['close'])
const props = defineProps({
type: String
})
-const dataPermissionsOption = [
- {label: '全部', value: '全部'},
-]
+defineExpose({
+ resetData,
+})
const rules = reactive({
roleName: [
{required: true, message: '请输入角色名称', trigger: ['blur', 'change']},
],
- roleMark: [
+ roleCode: [
{required: true, message: '请输入角色标识', trigger: ['blur', 'change']},
- ],
- dataPermissions: [
- {required: true, message: '请选择数据权限', trigger: ['blur', 'change']},
]
})
const formRef = ref()
const formData = ref({
- id: '',
+ roleId: '',
roleName: '',
- roleMark: '',
- roleRemark: '',
- dataPermissions: '',
+ roleCode: '',
+ roleDesc: '',
+ menuIds: []
} as any)
+const treeRef = ref();
const treeProps = {
- label: 'menuName',
+ label: 'name',
children: 'children'
}
+const expandedKey = ref([])
const treeData = ref()
-
onMounted(() => {
resetData()
treeData.value = getMenuData()
+ getMenuTree();
})
-defineExpose({
- formData,
- resetData,
-})
+const getMenuTree = () => {
+ menuApi.getMenuTree().then((res: any) => {
+ treeData.value = res.data;
+ })
+}
function close() {
emit('close')
@@ -83,10 +82,10 @@ function close() {
function resetData() {
formRef.value.resetFields()
formData.value = {
- id: '',
+ roleId: '',
roleName: '',
- roleMark: '',
- roleRemark: '',
+ roleCode: '',
+ roleDesc: '',
dataPermissions: '',
}
}
@@ -94,13 +93,24 @@ function resetData() {
const saveData = async () => {
await formRef.value.validate((valid: any, fields: any) => {
if (valid) {
- ElMessage.success('保存成功!')
- close()
- } else {
- // console.log('error submit!', fields)
+ const form = Object.assign({}, formData.value);
+ form.menuIds = form.menuIds.join(",");
+ roleApi.addRole(form).then((res: any) => {
+ if (res.code == 0) {
+ ElMessage.success('保存成功!');
+ close();
+ } else {
+ ElMessage.error(res.msg ? res.msg : "保存失败");
+ }
+ });
}
})
}
+
+const checkChange = () => {
+ formData.value.menuIds = treeRef.value.getCheckedKeys();
+}
+