diff --git a/src/components/menu-permission.vue b/src/components/menu-permission.vue
index a2e1b22f1c4fc7d8c8ffa6eebb38efa87d381793..59a99b3aadf5cfa6c7e9e556526722e39f2ec78a 100644
--- a/src/components/menu-permission.vue
+++ b/src/components/menu-permission.vue
@@ -14,15 +14,15 @@
>
-
+
-
@@ -39,16 +39,16 @@
-
-
@@ -152,7 +152,7 @@ export default {
if (p_item) {
let selectedAll = true;
- p_item.children.forEach((item) => {
+ p_item.Child.forEach((item) => {
selectedAll = selectedAll && item.selected;
});
@@ -162,7 +162,7 @@ export default {
if (gp_item) {
let selectedAll = true;
- gp_item.children.forEach((item) => {
+ gp_item.Child.forEach((item) => {
selectedAll = selectedAll && item.selected;
});
@@ -172,7 +172,7 @@ export default {
if (ggp_item) {
let selectedAll = true;
- ggp_item.children.forEach((item) => {
+ ggp_item.Child.forEach((item) => {
selectedAll = selectedAll && item.selected;
});
@@ -184,8 +184,8 @@ export default {
traverse(obj, cb) {
cb(obj);
- if (obj.children && obj.children.length) {
- obj.children.forEach((item) => {
+ if (obj.Child && obj.Child.length) {
+ obj.Child.forEach((item) => {
this.traverse(item, cb);
});
}
diff --git a/src/pages/authority/addroles.vue b/src/pages/authority/addroles.vue
index 739b8521de9e673ff0d2d1f08e49d11ee05428cb..71fa9909e6b627ea63ad29671fa19cb42e564fd5 100644
--- a/src/pages/authority/addroles.vue
+++ b/src/pages/authority/addroles.vue
@@ -17,12 +17,12 @@
角色名称:
-
+
角色描述:
-
+
@@ -39,7 +39,7 @@
保存
- 取消
+ 取消
@@ -76,203 +76,7 @@ export default {
date: "",
},
now_user: 2, //0:普通用户,1:组织管理员,2:超级管理员
- permissionData: [
- {
- name: "权限管理1",
- selected: false,
- value: 1,
- children: [
- {
- name: "权限管理1-1",
- selected: false,
- value: 11,
- children: [
- {
- name: "权限管理1-1-1",
- selected: false,
- value: 111,
- children: [
- {
- name: "权限管理1-1-1-1",
- selected: false,
- value: 1111,
- },
- {
- name: "权限管理1-1-1-2",
- selected: false,
- value: 1112,
- },
- {
- name: "权限管理1-1-1-3",
- selected: false,
- value: 1113,
- },
- ],
- },
- ],
- },
- {
- name: "权限管理1-2",
- selected: false,
- value: 12,
- children: [
- {
- name: "权限管理1-2-1",
- selected: false,
- value: 121,
- children: [
- {
- name: "权限管理1-2-1-1",
- selected: false,
- value: 1211,
- },
- {
- name: "权限管理1-2-1-2",
- selected: false,
- value: 1212,
- },
- {
- name: "权限管理1-2-1-3",
- selected: false,
- value: 1213,
- },
- ],
- },
- ],
- },
- ],
- },
- {
- name: "权限管理2",
- selected: false,
- value: 2,
- children: [
- {
- name: "权限管理2-1",
- selected: false,
- value: 21,
- children: [
- {
- name: "权限管理2-1-1",
- selected: false,
- value: 211,
- children: [
- {
- name: "权限管理2-1-1-1",
- selected: false,
- value: 2111,
- },
- {
- name: "权限管理2-1-1-2",
- selected: false,
- value: 2112,
- },
- {
- name: "权限管理2-1-1-3",
- selected: false,
- value: 2113,
- },
- ],
- },
- ],
- },
- {
- name: "权限管理2-2",
- selected: false,
- value: 22,
- children: [
- {
- name: "权限管理2-2-1",
- selected: false,
- value: 221,
- children: [
- {
- name: "权限管理2-2-1-1",
- selected: false,
- value: 2211,
- },
- {
- name: "权限管理2-2-1-2",
- selected: false,
- value: 2212,
- },
- {
- name: "权限管理2-2-1-3",
- selected: false,
- value: 2213,
- },
- ],
- },
- ],
- },
- ],
- },
- {
- name: "权限管理3",
- selected: false,
- value: 3,
- children: [
- {
- name: "权限管理3-1",
- selected: false,
- value: 31,
- children: [
- {
- name: "权限管理3-1-1",
- selected: false,
- value: 311,
- children: [
- {
- name: "权限管理3-1-1-1",
- selected: false,
- value: 3111,
- },
- {
- name: "权限管理3-1-1-2",
- selected: false,
- value: 3112,
- },
- {
- name: "权限管理3-1-1-3",
- selected: false,
- value: 3113,
- },
- ],
- },
- ],
- },
- {
- name: "权限管理3-2",
- selected: false,
- value: 32,
- children: [
- {
- name: "权限管理3-2-1",
- selected: false,
- value: 321,
- },
- ],
- },
- ],
- },
- {
- name: "权限管理4",
- selected: false,
- value: 4,
- children: [
- {
- name: "权限管理4-1",
- selected: false,
- value: 41,
- },
- {
- name: "权限管理4-2",
- selected: false,
- value: 42,
- },
- ],
- },
- ],
+ permissionData: [],
rules: {
name: [{ required: true, message: "请输入角色名称", trigger: "blur" }],
desc: [
@@ -281,6 +85,8 @@ export default {
],
},
edit_flag:0,
+ service_node:[],
+ permission_arr:[]
};
},
watch: {},
@@ -292,10 +98,29 @@ export default {
mounted() {},
methods: {
onSubmit(formName) {
- console.log("submit!");
this.$refs[formName].validate((valid) => {
if (valid) {
- alert("submit!");
+ if(this.edit_flag == 0){
+ this.add_role()
+ }else if(this.edit_flag == 1){
+ this.set_role()
+ }else if(this.edit_flag == 3){
+ this.deal_node(this.permissionData,this.permission_arr)
+ console.log(this.permission_arr,this.service_node);
+ var temp = this.compare_arr(this.permission_arr,this.service_node)
+ var temp_arr = []
+ if(temp[0].length){
+ temp_arr.push(this.add_node(temp[0]))
+ }
+ temp[1].forEach(e => {
+ temp_arr.push(this.delete_node(e))
+ });
+ Promise.all(temp_arr).then((result) => {
+ this.get_now_page()
+ }).catch((error) => {
+ console.log(error)
+ })
+ }
} else {
console.log("error submit!!");
return false;
@@ -315,6 +140,134 @@ export default {
this.edit_flag = 2
this.getInfo()
}
+ if(this.$route.path.indexOf('allot')!==-1){
+ this.edit_flag = 3
+ this.getInfo()
+ Promise.all([this.get_tree(), this.get_use_tree()]).then((result) => {
+ console.log(result)
+ this.permissionData = result[0].data.data
+ this.service_node = result[1].data.data
+ this.permission_arr = []
+ this.deal_tree_data(result[0].data.data,result[1].data.data)
+ }).catch((error) => {
+ console.log(error)
+ })
+ }
+ },
+ backPage(){
+ this.$router.back(-1)
+ },
+ add_role(){
+ var temp = {
+ "role_name":this.form.name,
+ "detail":this.form.desc
+ }
+ this.$http
+ .post(`/apaas/backmgt/role`,temp)
+ .then(response => {
+ console.log(response);
+ let data = response.data.data
+ if(response.data.success){
+ this.$message.success('新增成功')
+ this.backPage()
+ }else{
+ this.$message.error('新增失败')
+ }
+
+ })
+ .catch((response)=> {
+ this.$message.error('新增失败')
+ });
+ },
+ set_role(){
+ var temp = {
+ "role_id":this.$route.params.id,
+ "role_name":this.form.name,
+ "detail":this.form.desc
+ }
+ this.$http
+ .put(`/apaas/backmgt/role`,temp)
+ .then(response => {
+ console.log(response);
+ let data = response.data.data
+ if(response.data.success){
+ this.$message.success('修改成功')
+ this.backPage()
+ }else{
+ this.$message.error('修改失败')
+ }
+ })
+ .catch((response)=> {
+ this.$message.error('修改失败')
+ });
+ },
+ delete_node(val){
+ return this.$http
+ .post(`/apaas/backmgt/role/menuDel`,{
+ "role_id":this.$route.params.id,
+ "menu_id":val
+ })
+ .then(response => {
+ if(response.data.success){
+ this.$message.success('删除分配菜单成功')
+ }else{
+ this.$message.error('删除分配菜单失败')
+ }
+ })
+ .catch((response)=> {
+ this.$message.error('删除分配菜单失败')
+ });
+ },
+ add_node(arr){
+ return this.$http
+ .post(`/apaas/backmgt/role/menuAdd`,{
+ "role_id":this.$route.params.id,
+ "menu_id":arr
+ })
+ .then(response => {
+ if(response.data.success){
+ this.$message.success('分配菜单成功')
+ }else{
+ this.$message.error('分配菜单失败')
+ }
+ })
+ .catch((response)=> {
+ this.$message.error('分配菜单失败')
+ });
+ },
+ deal_node(data,data1){
+ data.forEach(e => {
+ if(e.selected){
+ data1.push(e.menu_id)
+ }
+ if(e.Child){
+ this.deal_node(e.Child,data1)
+ }
+ });
+ },
+ compare_arr(arr1,arr2){
+ var nowtemp = {}
+ var oldtemp = {}
+ var increase = []
+ var reduce = []
+ arr1.forEach(e => {
+ nowtemp[e] = e
+ });
+ arr2.forEach(e => {
+ oldtemp[e.menu_id] = e.menu_id
+ });
+ for (const key in nowtemp) {
+ if (!oldtemp.hasOwnProperty(key)) {
+ increase.push(key)
+ }
+ }
+ for (const key in oldtemp) {
+ if (!nowtemp.hasOwnProperty(key)) {
+ reduce.push(key)
+ }
+ }
+ return [increase,reduce]
+
},
getInfo() {
this.$http
@@ -322,14 +275,45 @@ export default {
.then(response => {
console.log(response);
let data = response.data.data
-
+ this.form={
+ name: data.role_name,
+ desc: data.detail,
+ person: data.create_user,
+ date: data.create_date,
+ }
})
.catch((response)=> {
});
},
+ get_tree() {
+ return this.$http
+ .get(`/apaas/backmgt/menu/list`)
+ },
+ get_use_tree() {
+ return this.$http
+ .get(`/apaas/backmgt/role/menu/id/${this.$route.params.id}`)
+ },
+ deal_tree_data(data1,data2){
+ var temp = {}
+ data2.forEach(e => {
+ temp[e.menu_id] = e.menu_id
+ });
+ this.merge_data(data1,temp)
+ },
+ merge_data(data,temp){
+ data.forEach(e => {
+ if(temp[e.menu_id]){
+ e.selected = true
+ }
+ if(e.Child){
+ this.merge_data(e.Child,temp)
+ }
+ });
+ },
changePermissions(values) {
console.log(values);
+ console.log(this.permissionData);
},
},
};
diff --git a/src/pages/authority/organizationuser.vue b/src/pages/authority/organizationuser.vue
index 8d5ad96687674dcd05e9e6344e05d4cfe30e3397..a2c23830e71f780f94c259055f2abefd6ce1af7d 100644
--- a/src/pages/authority/organizationuser.vue
+++ b/src/pages/authority/organizationuser.vue
@@ -221,6 +221,7 @@ export default {
this.edit_flag = 2
this.get_user()
}
+
},
tranform_flag(val){
return val?true:false
@@ -313,7 +314,7 @@ export default {
this.$message.success('新增成功')
})
.catch((response)=> {
- this.$message.success('新增失败')
+ this.$message.error('新增失败')
});
},
set_user(){
@@ -339,7 +340,7 @@ export default {
this.$message.success('修改成功')
})
.catch((response)=> {
- this.$message.success('修改失败')
+ this.$message.error('修改失败')
});
},
onSubmit(formName) {