fix #issues9

pull/59/head
smallwei 7 years ago
parent afbd3c0aca
commit f147a4c73b
  1. 370
      src/views/system/role.vue

@ -41,7 +41,6 @@
show-checkbox show-checkbox
node-key="id" node-key="id"
ref="tree" ref="tree"
:default-expanded-keys="defaultObj"
:default-checked-keys="defaultObj" :default-checked-keys="defaultObj"
:props="props"> :props="props">
</el-tree> </el-tree>
@ -56,220 +55,229 @@
</template> </template>
<script> <script>
import { import {
getList, getList,
remove, remove,
update, update,
add, add,
grant, grant,
grantTree, grantTree,
getRole, getRole,
getRoleTree getRoleTree
} from "@/api/system/role"; } from "@/api/system/role";
import {mapGetters} from "vuex"; import { mapGetters } from "vuex";
export default { export default {
data() { data() {
return { return {
form: {}, form: {},
box: false, box: false,
props: { props: {
label: "title", label: "title",
valie: "key" valie: "key"
}, },
list: [], list: [],
defaultObj: [], defaultObj: [],
selectionList: [], selectionList: [],
page: { page: {
pageSize: 10, pageSize: 10,
currentPage: 1, currentPage: 1,
total: 0 total: 0
}, },
option: { option: {
tip: false, tip: false,
tree: true, tree: true,
border: true, border: true,
index: true, index: true,
selection: true, selection: true,
viewBtn: true, viewBtn: true,
column: [ column: [
{ {
label: "角色名称", label: "角色名称",
prop: "roleName", prop: "roleName",
search: true, search: true,
rules: [{ rules: [
{
required: true, required: true,
message: "请输入角色名称", message: "请输入角色名称",
trigger: "blur" trigger: "blur"
}] }
}, ]
{ },
label: "角色别名", {
prop: "roleAlias", label: "角色别名",
search: true, prop: "roleAlias",
rules: [{ search: true,
rules: [
{
required: true, required: true,
message: "请输入角色别名", message: "请输入角色别名",
trigger: "blur" trigger: "blur"
}] }
]
},
{
label: "上级角色",
prop: "parentId",
dicData: [],
type: "tree",
hide: true,
props: {
label: "title"
}, },
{ rules: [
label: "上级角色", {
prop: "parentId",
dicData: [],
type: "tree",
hide: true,
props: {
label: "title"
},
rules: [{
required: false, required: false,
message: "请选择上级角色", message: "请选择上级角色",
trigger: "blur" trigger: "blur"
}] }
}, ]
{ },
label: "角色排序", {
prop: "sort", label: "角色排序",
type: "number", prop: "sort",
rules: [{ type: "number",
rules: [
{
required: true, required: true,
message: "请输入角色排序", message: "请输入角色排序",
trigger: "blur" trigger: "blur"
}] }
} ]
] }
}, ]
data: [] },
data: []
};
},
computed: {
...mapGetters(["permission"]),
permissionList() {
return {
addBtn: this.permission.role_add,
viewBtn: this.permission.role_view,
delBtn: this.permission.role_delete,
editBtn: this.permission.role_edit
}; };
}, },
computed: { ids() {
...mapGetters(["permission"]), let ids = [];
permissionList() { this.selectionList.forEach(ele => {
return { ids.push(ele.id);
addBtn: this.permission.role_add, });
viewBtn: this.permission.role_view, return ids.join(",");
delBtn: this.permission.role_delete, }
editBtn: this.permission.role_edit },
}; methods: {
}, submit() {
ids() { const menuLIst = this.$refs.tree.getCheckedKeys().join(",");
let ids = []; grant(this.ids[0], menuLIst).then(() => {
this.selectionList.forEach(ele => { this.box = false;
ids.push(ele.id); this.$message({
type: "success",
message: "操作成功!"
}); });
return ids.join(","); this.onLoad(this.page);
} });
}, },
methods: { rowSave(row, loading) {
submit() { add(row).then(() => {
const menuLIst = this.$refs.tree.getCheckedKeys().join(","); loading();
grant(this.ids[0], menuLIst).then(() => { this.onLoad(this.page);
this.box = false; this.$message({
this.$message({ type: "success",
type: "success", message: "操作成功!"
message: "操作成功!"
});
this.onLoad(this.page);
}); });
}, });
rowSave(row, loading) { },
add(row).then(() => { rowUpdate(row, index, loading) {
loading(); update(row).then(() => {
this.onLoad(this.page);
loading();
this.$message({
type: "success",
message: "操作成功!"
});
});
},
rowDel(row) {
this.$confirm("确定将选择数据删除?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
return remove(row.id);
})
.then(() => {
this.onLoad(this.page); this.onLoad(this.page);
this.$message({ this.$message({
type: "success", type: "success",
message: "操作成功!" message: "操作成功!"
}); });
}); });
}, },
rowUpdate(row, index, loading) {
update(row).then(() => { searchReset() {
this.onLoad(this.page);
},
searchChange(params) {
this.onLoad(this.page, params);
},
selectionChange(list) {
this.selectionList = list;
},
handleRole() {
if (this.selectionList.length !== 1) {
this.$message.warning("请选择至少一条数据");
return;
}
this.defaultObj = [];
grantTree()
.then(res => {
this.list = res.data.data;
return getRole(this.ids[0]);
})
.then(res => {
this.defaultObj = res.data.data;
this.box = true;
});
},
handleDelete() {
if (this.selectionList.length === 0) {
this.$message.warning("请选择至少一条数据");
return;
}
this.$confirm("确定将选择数据删除?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
return remove(this.ids);
})
.then(() => {
this.onLoad(this.page); this.onLoad(this.page);
loading();
this.$message({ this.$message({
type: "success", type: "success",
message: "操作成功!" message: "操作成功!"
}); });
this.$refs.crud.toggleSelection();
}); });
}, },
rowDel(row) { onLoad(page, params = {}) {
this.$confirm("确定将选择数据删除?", { getList(page.currentPage, page.pageSize, params).then(res => {
confirmButtonText: "确定", const data = res.data.data;
cancelButtonText: "取消", this.data = data;
type: "warning" getRoleTree().then(res => {
})
.then(() => {
return remove(row.id);
})
.then(() => {
this.onLoad(this.page);
this.$message({
type: "success",
message: "操作成功!"
});
});
},
searchReset() {
this.onLoad(this.page);
},
searchChange(params) {
this.onLoad(this.page, params);
},
selectionChange(list) {
this.selectionList = list;
},
handleRole() {
if (this.selectionList.length !== 1) {
this.$message.warning("请选择至少一条数据");
return;
}
grantTree()
.then(res => {
this.list = res.data.data;
return getRole(this.ids[0]);
})
.then(res => {
this.defaultObj = res.data.data;
this.box = true;
});
},
handleDelete() {
if (this.selectionList.length === 0) {
this.$message.warning("请选择至少一条数据");
return;
}
this.$confirm("确定将选择数据删除?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
return remove(this.ids);
})
.then(() => {
this.onLoad(this.page);
this.$message({
type: "success",
message: "操作成功!"
});
this.$refs.crud.toggleSelection();
});
},
onLoad(page, params = {}) {
getList(page.currentPage, page.pageSize, params).then(res => {
const data = res.data.data; const data = res.data.data;
this.data = data; const index = this.$refs.crud.findColumnIndex("parentId");
getRoleTree().then(res => { this.option.column[index].dicData = data;
const data = res.data.data;
const index = this.$refs.crud.findColumnIndex("parentId");
this.option.column[index].dicData = data;
});
}); });
} });
} }
}; }
};
</script> </script>
<style> <style>

Loading…
Cancel
Save