67 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			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>
 |