提交 4ee4982e authored 作者: 龙菲's avatar 龙菲

新增赋予用户角色

上级 89760a1f
...@@ -100,11 +100,20 @@ export function deleteUser(data) { ...@@ -100,11 +100,20 @@ export function deleteUser(data) {
// 获取用户赋予角色信息 // 获取用户赋予角色信息
export function getUserOwnRoles(id) { export function getUserOwnRoles(id) {
return request({ return request({
url: 'sys/user/roles/'+id, url: 'sys/user/roles/' + id,
method: 'get' method: 'get'
}) })
} }
// 更新用户角色信息
export function updateUserOwnRoles(id,data) {
return request({
url: `sys/user/roles/${id}`,
method: 'put',
data
})
}
// 以用户行为统计排序分页查询资源 // 以用户行为统计排序分页查询资源
export function getListByPageSort(data) { export function getListByPageSort(data) {
...@@ -144,7 +153,7 @@ export function upadateRole(data) { ...@@ -144,7 +153,7 @@ export function upadateRole(data) {
// 删除角色 // 删除角色
export function deleteRole(id) { export function deleteRole(id) {
return request({ return request({
url: '/sys/role/'+id, url: '/sys/role/' + id,
method: 'delete', method: 'delete',
}) })
} }
...@@ -152,7 +161,7 @@ export function deleteRole(id) { ...@@ -152,7 +161,7 @@ export function deleteRole(id) {
// 根据id获取角色详细信息 // 根据id获取角色详细信息
export function getRoleById(id) { export function getRoleById(id) {
return request({ return request({
url: '/sys/role/'+id, url: '/sys/role/' + id,
method: 'get', method: 'get',
}) })
} }
......
...@@ -13,8 +13,8 @@ ...@@ -13,8 +13,8 @@
</div> </div>
<div class="dialog-content"> <div class="dialog-content">
<el-transfer <el-transfer
v-model="roles" v-model="own"
:data="data" :data="roles"
:titles="['赋予角色', '拥有角色']" :titles="['赋予角色', '拥有角色']"
></el-transfer> ></el-transfer>
</div> </div>
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
</template> </template>
<script> <script>
import { updateUserOwnRoles } from "@/api/user";
export default { export default {
name: "EditRole", name: "EditRole",
components: {}, components: {},
...@@ -36,10 +37,14 @@ export default { ...@@ -36,10 +37,14 @@ export default {
type: Boolean, type: Boolean,
default: false, default: false,
}, },
currentRoleData: { roleData: {
type: Object, type: Object,
default: () => ({}), default: () => ({}),
}, },
id: {
type: String,
default: null,
},
}, },
computed: {}, computed: {},
watch: { watch: {
...@@ -50,14 +55,33 @@ export default { ...@@ -50,14 +55,33 @@ export default {
deep: true, deep: true,
immediate: true, immediate: true,
}, },
roleData(value) {
if (Object.keys(value).length > 0) {
const { allRole, ownRoles } = value;
this.roles = allRole.map((item) => {
return {
key: item.id,
label: item.name,
};
});
this.own = ownRoles;
}
},
id(value) {
if (value) {
this.userId = value;
}
},
}, },
data() { data() {
return { return {
dialogForm: {}, dialogForm: {},
formLabelWidth: "100px", formLabelWidth: "100px",
dialogVisible: false, dialogVisible: false,
data: [{ value: 1, key: "测试" }], data: [],
roles: [], roles: [],
own: [],
userId: null,
}; };
}, },
methods: { methods: {
...@@ -66,7 +90,23 @@ export default { ...@@ -66,7 +90,23 @@ export default {
this.$emit("handleClose"); this.$emit("handleClose");
}, },
async handleSubmit() {}, async handleSubmit() {
console.log("this.own", this.own);
console.log("this.roles", this.roles);
let params = this.own;
// console.log(params);
// console.log(this.userId);
let res = await updateUserOwnRoles(this.userId, params);
console.log("res", res);
if (res.code == 0) {
this.$message.success("修改成功!");
this.roles = [];
this.own = [];
this.userId = null;
this.$emit("handleClose");
}
},
reload() { reload() {
this.$emit("refresh"); this.$emit("refresh");
this.$emit("handleClose"); this.$emit("handleClose");
......
...@@ -67,7 +67,12 @@ ...@@ -67,7 +67,12 @@
@handleClose="handleClose" @handleClose="handleClose"
@refresh="loadListData" @refresh="loadListData"
/> />
<EditRole :visible="editRoleVisible" :currentRoleData="currentRoleData" @handleClose="handleCloseEditRole" /> <EditRole
:visible="editRoleVisible"
:roleData="currentRoleData"
:id="currentId"
@handleClose="handleCloseEditRole"
/>
</div> </div>
</template> </template>
...@@ -84,6 +89,7 @@ import { ...@@ -84,6 +89,7 @@ import {
} from "@/api/user"; } from "@/api/user";
import InfoEditDialog from "./components/InfoEditDialog.vue"; import InfoEditDialog from "./components/InfoEditDialog.vue";
import EditRole from "./components/EditRole.vue"; import EditRole from "./components/EditRole.vue";
export default { export default {
components: { components: {
TablePage, TablePage,
...@@ -150,7 +156,8 @@ export default { ...@@ -150,7 +156,8 @@ export default {
}, },
dialogVisible: false, dialogVisible: false,
editRoleVisible: false, editRoleVisible: false,
currentRoleData:{} currentRoleData: {},
currentId: null,
}; };
}, },
mounted() { mounted() {
...@@ -233,7 +240,8 @@ export default { ...@@ -233,7 +240,8 @@ export default {
case "editRole": case "editRole":
this.editRoleVisible = true; this.editRoleVisible = true;
let roleRes = await getUserOwnRoles(row.id); let roleRes = await getUserOwnRoles(row.id);
this.currentRoleData = roleRes.data this.currentRoleData = roleRes.data;
this.currentId = row.id;
break; break;
} }
}, },
...@@ -246,6 +254,8 @@ export default { ...@@ -246,6 +254,8 @@ export default {
}, },
handleCloseEditRole() { handleCloseEditRole() {
this.editRoleVisible = false; this.editRoleVisible = false;
this.currentRoleData ={};
this.currentId = null;
}, },
}, },
}; };
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论