Role.vue 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. <style lang="scss">
  2. .preview{
  3. .el-form-item{
  4. margin-bottom:15px;
  5. }
  6. label,p{
  7. line-height: 25px !important;
  8. }
  9. }
  10. </style>
  11. <template>
  12. <section>
  13. <p><span>系统管理></span>角色管理</p>
  14. <div class="content">
  15. <div class="filter">
  16. <el-form size="small" label-width="70px" :inline="true" label-position="left">
  17. <el-form-item label="">
  18. <el-input clearable placeholder="请输入角色名称" v-model="form.name"></el-input>
  19. </el-form-item>
  20. <el-form-item>
  21. <el-button type="primary">搜索</el-button>
  22. </el-form-item>
  23. <el-form-item style="float:right" >
  24. <el-button @click="dialogVisible=true,dialogTitle='新增角色'" type="primary">新增角色</el-button>
  25. </el-form-item>
  26. </el-form>
  27. </div>
  28. <el-table
  29. class="table"
  30. :data="list" height="57vh"
  31. border v-loading="loading"
  32. default-expand-all row-key="id"
  33. style="width: 100%">
  34. <el-table-column
  35. prop="name" width="300"
  36. label="角色名称">
  37. </el-table-column>
  38. <el-table-column
  39. prop="username"
  40. label="角色权限">
  41. </el-table-column>
  42. <el-table-column
  43. prop="username"
  44. label="角色描述">
  45. </el-table-column>
  46. <el-table-column
  47. prop="zip" width="150"
  48. label="操作">
  49. <template slot-scope="">
  50. <el-button class="edit" type="text" @click="dialogVisible=true,edit=0">编辑</el-button>
  51. <el-button class="del" @click="del" type="text">删除</el-button>
  52. </template>
  53. </el-table-column>
  54. </el-table>
  55. <Page ref="pageButton" :current='form.page' :page_size='form.page_size' :total='total' @pageChange='gopage'/>
  56. </div>
  57. <el-dialog
  58. :title="dialogTitle" :close-on-click-modal='false'
  59. :visible.sync="dialogVisible">
  60. <el-form size="small" class="preview" :inline='false' label-width="80px">
  61. <el-form-item label="角色名称">
  62. <el-input v-model="form1.name"></el-input>
  63. </el-form-item>
  64. <el-form-item label="角色权限">
  65. <!-- <el-input placeholder="请输入内容" v-model="input" class="input-with-select">
  66. <el-button slot="append" icon="el-icon-search"></el-button>
  67. </el-input> -->
  68. <el-tree
  69. :data="data"
  70. show-checkbox
  71. node-key="id" default-expand-all
  72. :props="defaultProps">
  73. </el-tree>
  74. </el-form-item>
  75. <el-form-item label="角色描述">
  76. <el-input v-model="form1.desc"></el-input>
  77. </el-form-item>
  78. </el-form>
  79. <span slot="footer" class="dialog-footer">
  80. <el-button size="small" type="primary" @click="dialogVisible = false">确 定</el-button>
  81. </span>
  82. </el-dialog>
  83. </section>
  84. </template>
  85. <script>
  86. import Page from '../../components/Page';
  87. export default {
  88. components:{
  89. Page
  90. },
  91. data(){
  92. return{
  93. edit:0,
  94. form:{name:'',page:1,page_size:20},
  95. form1:{},
  96. total:1,
  97. list:[{name:'2333'}],
  98. loading:false,
  99. input:'',
  100. dialogVisible:false,
  101. dialogTitle:"",
  102. defaultProps:{},
  103. data: [],
  104. }
  105. },
  106. methods:{
  107. getPermissions(){
  108. this.$api.getUserPermissions().then(res=>{
  109. this.data = res.data.data
  110. })
  111. },
  112. getData(){
  113. var parm=this.form;
  114. this.loading=true
  115. this.$api.getEnterpriseList(parm).then(res=>{
  116. this.list=res.data.data.list;
  117. this.total=res.data.data.total
  118. this.loading=false
  119. })
  120. },
  121. del(id){
  122. this.$confirm('确定删除吗', '提示', {
  123. type: 'warning'
  124. }).then(() => {
  125. this.$api.deleteEnterprise({id:id}).then((res)=>{
  126. this.$message({
  127. message: '删除成功',
  128. type: 'success'
  129. })
  130. this.getData()
  131. })
  132. })
  133. },
  134. },
  135. created(){
  136. this.getPermissions()
  137. // this.getData()
  138. }
  139. }
  140. </script>