irc_web/.svn/pristine/13/131299f954788ef0478259607da...

67 lines
1.7 KiB
Plaintext

<template>
<div class="role-function-table">
<el-table ref="roleFunction" v-loading="loading" size="small" :data="list" class="table" @select="handleSelect">
<el-table-column type="selection" width="50" />
<el-table-column type="index" width="50" />
<el-table-column label="Function Name" prop="FunctionName" width="180" />
<el-table-column label="Description" prop="Note" />
</el-table>
</div>
</template>
<script>
import { getRoleFunction, updateRoleFunction } from '@/api/admin'
export default {
name: 'RoleFunction',
data() {
return {
loading: false,
list: []
}
},
methods: {
getFunctions(roleId, menuId) {
this.roleId = roleId
this.loading = true
this.list = []
getRoleFunction(roleId, menuId).then((res) => {
this.list = res.Result
this.loading = false
this.list.forEach((val) => {
this.$nextTick(() => {
this.$refs['roleFunction'].toggleRowSelection(val, val.IsSelect)
}
)
})
})
},
handleSelect(rows, row) {
const selected = rows.length && rows.indexOf(row) !== -1
const param = {
RoleId: this.roleId,
FunctionId: row.Id,
IsSelect: selected
}
updateRoleFunction(param).then((res) => {
if (res.IsSuccess) {
this.$message.success('Updated successfully')
}
})
},
resetTable() {
this.list = []
}
}
}
</script>
<style lang="scss">
.role-function-table{
thead {
.el-table-column--selection {
.cell {
display: none;
}
}
}
}
</style>