浏览代码

角色权限修改

Cheng 3 年之前
父节点
当前提交
dfe5526ff8
共有 3 个文件被更改,包括 54 次插入55 次删除
  1. 3 3
      src/api/admin.js
  2. 25 15
      src/views/dataPermission/index.vue
  3. 26 37
      src/views/role/index.vue

+ 3 - 3
src/api/admin.js

@@ -5,7 +5,7 @@ export default {
    * 用户信息
    */
     getUserInfo() {
-      return axios.get('/permission/api/admin/userinfo')
+      return axios.get('/permission/api/system/userinfo')
     },
   /**
    * 修改密码
@@ -37,7 +37,7 @@ export default {
    * 获取用户权限
    */
      getPermissionList() {
-      return axios.get('/permission/api/admin/getPermissionList')
+      return axios.get('/permission/api/system/getPermissionList')
     },
  /**
    * 用户登录
@@ -329,6 +329,6 @@ export default {
     * 获取租户类型
     */
   getDict(params) {
-    return axios.get('/permission/api/dict/getDict', { params })
+    return axios.get('/permission/api/system/getDict', { params })
   }
 }

+ 25 - 15
src/views/dataPermission/index.vue

@@ -37,7 +37,7 @@
     </el-table>
     <el-dialog :title="title" :visible.sync="visible" width="900px" :before-close="close" :append-to-body="true">
       <el-form v-if="visible" :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" label-position="left">
-           <el-form-item label="所属功能" prop="function">
+          <el-form-item label="所属功能" prop="function">
             <el-input v-model="ruleForm.function" size="small" :readonly="true" placeholder="请输入所属功能"></el-input>
         </el-form-item>
         <el-form-item label="数据权限名称" prop="function">
@@ -144,16 +144,14 @@ export default {
       tableData: [],
       title: '',
       show:false,
-      disabled:false,
+      disabled: false,
       lastName: '',
-      // func: this.fun,
+      func: this.fun,
       // funName: this.functionName,
       // funInfo: this.functionInfo,
       functionLis: [],
       multipleSelection: [],
       queryParams: {
-        size: 10,
-        current: 1,
         name: ''
       },
       data:[],
@@ -173,6 +171,7 @@ export default {
   mounted() {
     this.getList()
     this.getFunctionList()
+    console.log(this.fun)
     // this.funId = 6
     // this.$emit('getPremissData', this.funId)
   },
@@ -189,22 +188,33 @@ export default {
     fun(val,oldval){
       if(val!=oldval){
         this.$refs.dataTable.clearSelection()
+        this.func = val
+        this.getList()
       }
     }
   },
   methods: {
-
     changeData(selection,row){
-      console.log(this.fun)
       if (selection.length > 1) {
-          const del_row = selection.shift()
-          this.$refs.dataTable.toggleRowSelection(del_row, false)
-        }
-        this.multipleSelection = selection[0]
-        this.$emit('getPremissData', this.fun.id, this.fun.name,this.multipleSelection )
-        console.log(this.multipleSelection)
+        const del_row = selection.shift()
+        this.$refs.dataTable.toggleRowSelection(del_row, false)
+        // console.log(del_row)
+      }
+      this.multipleSelection = selection[0]
+      this.$emit('getPremissData', this.fun.id, this.fun.name,this.multipleSelection)
+      console.log(this.multipleSelection)
 
     },
+    // getDataList(){
+     
+    //   // var functionList = {
+    //   //   functions:this.ruleForm.function 
+    //   // }
+   
+    //     this.$api.getDataList({functionId:this.fun.id}).then(response => {
+    //     this.tableData = response.data
+    //   })
+    // },
     addList() {
       this.list.push({})
     },
@@ -313,11 +323,11 @@ export default {
     },
     getList() {
       this.loading = true
+      this.queryParams.functionId = this.func.id
+      console.log(this.queryParams)
       this.$api.getDataList(this.queryParams).then(response => {
-        
         this.tableData = response.data
         console.log(response.data)
-        this.total=response.pageColumn.total
         this.loading = false
       }).catch(error => {
         this.loading = false

+ 26 - 37
src/views/role/index.vue

@@ -21,7 +21,7 @@
       </el-table-column>
       <el-table-column label="功能权限" align="center" show-overflow-tooltip>
         <template slot-scope="scope">
-          <span v-for="item in scope.row.functionList">{{item.name}}
+          <span v-for="item in scope.row.functionList" :key="item.id">{{item.name}}
           </span>
         </template>
       </el-table-column>
@@ -78,7 +78,7 @@
                       <el-table-column label="功能名称" align="left" prop="name">
                         <template slot-scope="scope">
                           <el-checkbox-group v-model="checkList" style="display:inline-block" @change="handleCheckedCitiesChange">
-                            <el-checkbox :label="scope.row.id" @change="getFunInfo(scope.row)"
+                            <el-checkbox :label="scope.row.id" :checked="checked" @change="getFunInfo(scope.row)"
                             >
                               {{scope.row.name}}
                             </el-checkbox>
@@ -87,8 +87,13 @@
                       </el-table-column>
                       <el-table-column label="操作" align="center">
                         <template slot-scope="scope">
-                        <span v-if="(permissionData.filter(item=>item.functionId == scope.row.id))[0]">{{(permissionData.filter(item=>item.functionId == scope.row.id))[0].permissionData.name}}</span>
-                          <i v-if="checkList.filter(item=>item==scope.row.id)[0]" class="el-icon-plus" @click="premissVisibale(scope.row)">添加</i>
+                          <span v-if="checkList.filter(item=>item==scope.row.id)[0]">
+                            <span v-if="(permissionData.filter(item=>item.functionId == scope.row.id))[0]">{{(permissionData.filter(item=>item.functionId == scope.row.id))[0].permissionData.name}}</span>
+                            <el-link style="margin-left: 10px" :underline="false" v-if="(permissionData.filter(item=>item.functionId == scope.row.id))[0]" @click="premissVisibale(scope.row)">修改</el-link>
+                            <el-link style="margin-left:10px" :underline="false" v-else-if="checkList.filter(item=>item==scope.row.id)[0]" @click="premissVisibale(scope.row)">添加</el-link>
+                          </span>
+                          
+                          
                         </template>
                       </el-table-column>
                     </el-table>
@@ -117,7 +122,6 @@
     <div style="height: 500px;">
       <DataPermission 
       :fun="fun"
-
       @getPremissData="getPremissData"
       >
       </DataPermission>
@@ -190,28 +194,20 @@ export default {
   },
   methods: {
     getPremissData(id, name, data) {
-      console.log(id, name, data)
-      // for(var i = 0; i<this.functionList.length;i++){
-      //   for(var j=0;j<this.functionList[i].children.length;j++){
-      //     if(this.functionList[i].children[j].id==id){
-      //       this.functionList[i].children[j].pdata = data.name
-      //     }else{
-      //       if(this.functionList[i].children[j].hasOwnProperty('children')){
-              
-      //       }
-      //     }
-      //   }
-      // }
-      this.pdata={
-        functionId:id,
-        permissionData:data
+      // console.log(id, name, data)
+        this.pdata={
+          functionId:id,
+          permissionData:data
       }
-    
     },
-      premissSubmit() {
-      this.permissionData.push(this.pdata)
+    premissSubmit() {
+      if (this.pdata.permissionData) {
+        this.permissionData.push(this.pdata)
+      } else {
+        this.permissionData.shift()
+      }
+      
       this.permissVisible=false
-      // console.log('')
     },
     getFunInfo(val) {
       this.fun = val
@@ -244,9 +240,10 @@ export default {
       this.visible = true
       this.ruleForm = { ...row }
     },
-    premissVisibale() {
+    premissVisibale(val) {
       this.permissTitle = '数据权限管理'
       this.permissVisible = true
+      this.fun = val
     },
     close() {
       this.visible = false
@@ -260,18 +257,7 @@ export default {
       this.queryParams.current = val;
       this.getList();
     },
-    getDataList(val){
-      console.log(val,this.ruleForm.function )
-      // var functionList = {
-      //   functions:this.ruleForm.function 
-      // }
-      if(val==false){
-        this.$api.getDataList({functionList:this.ruleForm.function}).then(response => {
-        this.dataList = response.data
-      })
-      }
-   
-    },
+    
     getFunctionList() {
       this.$api.getFunctionList().then(response => {
         this.functionList = response.data
@@ -351,4 +337,7 @@ export default {
 .permiss {
   height: 2000px;
 }
+el-link {
+  margin: auto 10px;
+}
 </style>