Commit fcd35b80 authored by 张俊's avatar 张俊

Merge branch 'zj' into dev

parents f65d79c9 641ada92
...@@ -14,15 +14,15 @@ ...@@ -14,15 +14,15 @@
> >
<span class="el-checkbox__inner"></span> <span class="el-checkbox__inner"></span>
</span> </span>
<span class="el-checkbox__label" v-text="first_item.name"></span> <span class="el-checkbox__label" v-text="first_item.menu_name"></span>
</label> </label>
</div> </div>
<ul <ul
class="floor_list second" class="floor_list second"
v-if="first_item.children && first_item.children.length" v-if="first_item.Child && first_item.Child.length"
> >
<li <li
v-for="(second_item, second_index) in first_item.children" v-for="(second_item, second_index) in first_item.Child"
:key="'p_' + first_index + '_' + second_index" :key="'p_' + first_index + '_' + second_index"
> >
<div class="floor_item second"> <div class="floor_item second">
...@@ -39,16 +39,16 @@ ...@@ -39,16 +39,16 @@
</span> </span>
<span <span
class="el-checkbox__label" class="el-checkbox__label"
v-text="second_item.name" v-text="second_item.menu_name"
></span> ></span>
</label> </label>
</div> </div>
<ul <ul
class="floor_list third" class="floor_list third"
v-if="second_item.children && second_item.children.length" v-if="second_item.Child && second_item.Child.length"
> >
<li <li
v-for="(third_item, third_index) in second_item.children" v-for="(third_item, third_index) in second_item.Child"
:key=" :key="
'p_' + first_index + '_' + second_index + '_' + third_index 'p_' + first_index + '_' + second_index + '_' + third_index
" "
...@@ -67,19 +67,19 @@ ...@@ -67,19 +67,19 @@
</span> </span>
<span <span
class="el-checkbox__label" class="el-checkbox__label"
v-text="third_item.name" v-text="third_item.menu_name"
></span> ></span>
</label> </label>
</div> </div>
<ul <ul
class="floor_list fourth" class="floor_list fourth"
v-if="third_item.children && third_item.children.length" v-if="third_item.Child && third_item.Child.length"
> >
<li> <li>
<div class="floor_item fourth"> <div class="floor_item fourth">
<label <label
v-for="(fourth_item, v-for="(fourth_item,
fourth_index) in third_item.children" fourth_index) in third_item.Child"
:key=" :key="
'p_' + 'p_' +
first_index + first_index +
...@@ -109,7 +109,7 @@ ...@@ -109,7 +109,7 @@
</span> </span>
<span <span
class="el-checkbox__label" class="el-checkbox__label"
v-text="fourth_item.name" v-text="fourth_item.menu_name"
></span> ></span>
</label> </label>
</div> </div>
...@@ -152,7 +152,7 @@ export default { ...@@ -152,7 +152,7 @@ export default {
if (p_item) { if (p_item) {
let selectedAll = true; let selectedAll = true;
p_item.children.forEach((item) => { p_item.Child.forEach((item) => {
selectedAll = selectedAll && item.selected; selectedAll = selectedAll && item.selected;
}); });
...@@ -162,7 +162,7 @@ export default { ...@@ -162,7 +162,7 @@ export default {
if (gp_item) { if (gp_item) {
let selectedAll = true; let selectedAll = true;
gp_item.children.forEach((item) => { gp_item.Child.forEach((item) => {
selectedAll = selectedAll && item.selected; selectedAll = selectedAll && item.selected;
}); });
...@@ -172,7 +172,7 @@ export default { ...@@ -172,7 +172,7 @@ export default {
if (ggp_item) { if (ggp_item) {
let selectedAll = true; let selectedAll = true;
ggp_item.children.forEach((item) => { ggp_item.Child.forEach((item) => {
selectedAll = selectedAll && item.selected; selectedAll = selectedAll && item.selected;
}); });
...@@ -184,8 +184,8 @@ export default { ...@@ -184,8 +184,8 @@ export default {
traverse(obj, cb) { traverse(obj, cb) {
cb(obj); cb(obj);
if (obj.children && obj.children.length) { if (obj.Child && obj.Child.length) {
obj.children.forEach((item) => { obj.Child.forEach((item) => {
this.traverse(item, cb); this.traverse(item, cb);
}); });
} }
......
...@@ -17,12 +17,12 @@ ...@@ -17,12 +17,12 @@
<el-form ref="form" :rules="rules" :model="form" label-width="0px"> <el-form ref="form" :rules="rules" :model="form" label-width="0px">
<el-form-item prop="name"> <el-form-item prop="name">
<p class="formname">角色名称:</p> <p class="formname">角色名称:</p>
<el-input v-model="form.name"></el-input> <el-input v-model="form.name" :disabled="edit_flag==3"></el-input>
</el-form-item> </el-form-item>
<el-form-item prop="desc"> <el-form-item prop="desc">
<p class="formname">角色描述:</p> <p class="formname">角色描述:</p>
<el-input type="textarea" v-model="form.desc"></el-input> <el-input type="textarea" v-model="form.desc" :disabled="edit_flag==3"></el-input>
</el-form-item> </el-form-item>
<el-form-item prop="person"> <el-form-item prop="person">
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
<el-button type="primary" @click="onSubmit('form')" class="right" <el-button type="primary" @click="onSubmit('form')" class="right"
>保存</el-button >保存</el-button
> >
<el-button class="right">取消</el-button> <el-button class="right" @click="backPage()">取消</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -76,203 +76,7 @@ export default { ...@@ -76,203 +76,7 @@ export default {
date: "", date: "",
}, },
now_user: 2, //0:普通用户,1:组织管理员,2:超级管理员 now_user: 2, //0:普通用户,1:组织管理员,2:超级管理员
permissionData: [ 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,
},
],
},
],
rules: { rules: {
name: [{ required: true, message: "请输入角色名称", trigger: "blur" }], name: [{ required: true, message: "请输入角色名称", trigger: "blur" }],
desc: [ desc: [
...@@ -281,6 +85,8 @@ export default { ...@@ -281,6 +85,8 @@ export default {
], ],
}, },
edit_flag:0, edit_flag:0,
service_node:[],
permission_arr:[]
}; };
}, },
watch: {}, watch: {},
...@@ -292,10 +98,29 @@ export default { ...@@ -292,10 +98,29 @@ export default {
mounted() {}, mounted() {},
methods: { methods: {
onSubmit(formName) { onSubmit(formName) {
console.log("submit!");
this.$refs[formName].validate((valid) => { this.$refs[formName].validate((valid) => {
if (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 { } else {
console.log("error submit!!"); console.log("error submit!!");
return false; return false;
...@@ -315,6 +140,134 @@ export default { ...@@ -315,6 +140,134 @@ export default {
this.edit_flag = 2 this.edit_flag = 2
this.getInfo() 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() { getInfo() {
this.$http this.$http
...@@ -322,14 +275,45 @@ export default { ...@@ -322,14 +275,45 @@ export default {
.then(response => { .then(response => {
console.log(response); console.log(response);
let data = response.data.data let data = response.data.data
this.form={
name: data.role_name,
desc: data.detail,
person: data.create_user,
date: data.create_date,
}
}) })
.catch((response)=> { .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) { changePermissions(values) {
console.log(values); console.log(values);
console.log(this.permissionData);
}, },
}, },
}; };
......
...@@ -221,6 +221,7 @@ export default { ...@@ -221,6 +221,7 @@ export default {
this.edit_flag = 2 this.edit_flag = 2
this.get_user() this.get_user()
} }
}, },
tranform_flag(val){ tranform_flag(val){
return val?true:false return val?true:false
...@@ -313,7 +314,7 @@ export default { ...@@ -313,7 +314,7 @@ export default {
this.$message.success('新增成功') this.$message.success('新增成功')
}) })
.catch((response)=> { .catch((response)=> {
this.$message.success('新增失败') this.$message.error('新增失败')
}); });
}, },
set_user(){ set_user(){
...@@ -339,7 +340,7 @@ export default { ...@@ -339,7 +340,7 @@ export default {
this.$message.success('修改成功') this.$message.success('修改成功')
}) })
.catch((response)=> { .catch((response)=> {
this.$message.success('修改失败') this.$message.error('修改失败')
}); });
}, },
onSubmit(formName) { onSubmit(formName) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment