Browse Source

权限 菜单

ming 3 years ago
parent
commit
6219f6f1df

+ 3 - 3
public/static/config.js

@@ -1,9 +1,9 @@
 // api 请求路径
 var PLATFROM_CONFIG = {};
-PLATFROM_CONFIG.baseUrl = "http://172.16.120.104:8010/" //杨强本地
-    // PLATFROM_CONFIG.baseUrl = "http://172.16.1.196:8010/"  //超博本地
+// PLATFROM_CONFIG.baseUrl = "http://172.16.120.104:8010/" //杨强本地
+// PLATFROM_CONFIG.baseUrl = "http://172.16.1.196:8010/"  //超博本地
 
-// PLATFROM_CONFIG.baseUrl = "https://qhome.usky.cn/fivapi/" //线上
+PLATFROM_CONFIG.baseUrl = "https://qhome.usky.cn/fivapi/" //线上
 PLATFROM_CONFIG.images = "https://qhome.usky.cn/file/" //线上图片
 PLATFROM_CONFIG.fileUrl = "https://qhome.usky.cn/file/" //xlsx文件访问路径
 

+ 0 - 12
src/api/siteManage/watchDog.js

@@ -41,18 +41,6 @@ export function deviceNewsDel(params) {
     })
 }
 
-
-// 菜单查询
-
-// export function menuList(params) {
-//     return request({
-//         url: '/system/menu/list',
-//         method: 'GET',
-//         params,
-//     })
-// }
-
-
 // export function variableListone(params) {
 //     return request({
 //         url: '/deviceAnalogVariableList/variableListone',

+ 20 - 2
src/api/systemManage/rolePermission.js

@@ -19,8 +19,6 @@ export function roleAdd(params) {
     })
 }
 
-
-
 // 角色-回显
 export function roleDetail(params, params2) {
     return request({
@@ -38,4 +36,24 @@ export function roleUpdate(params) {
         method: 'PUT',
         data: params,
     })
+}
+
+// 角色-删除
+export function roleDelete(params, params2) {
+    return request({
+        url: '/system/role/' + params2,
+        method: 'DELETE',
+        params,
+    })
+}
+
+
+// 菜单查询
+
+export function roleMenuTreeselect(params, params2) {
+    return request({
+        url: '/system/menu/roleMenuTreeselect/' + params2,
+        method: 'GET',
+        params,
+    })
 }

+ 10 - 10
src/views/systemManage/rolePermission/addRoleCom.vue

@@ -26,16 +26,14 @@
         </el-radio-group>
       </el-form-item>
 
-       <el-form-item label="角色排序:" prop="roleSort">
-           <el-input-number
-              v-model="form.roleSort"
-              controls-position="right"
-              :min="0"
-              :max="255"
-            ></el-input-number>
-
-        </el-form-item>
-
+      <el-form-item label="角色排序:" prop="roleSort">
+        <el-input-number
+          v-model="form.roleSort"
+          controls-position="right"
+          :min="0"
+          :max="255"
+        ></el-input-number>
+      </el-form-item>
 
       <div style="text-align: right">
         <el-button type="primary" @click="submitForm('formInfo')">
@@ -112,7 +110,9 @@ export default defineComponent({
               }
             })
           } else {
+              alert('修改')
             api.roleUpdate(form.value).then((requset) => {
+            
               if (requset.status === 'SUCCESS') {
                 ElMessage.success({
                   message: '修改成功',

+ 65 - 7
src/views/systemManage/rolePermission/index.vue

@@ -16,7 +16,7 @@
         >
           <img src="@/assets/images/userIcon.svg" />
           {{ item.roleName }}
-          <i class="el-icon-delete" @click="deleteRoleItem(index)"></i>
+          <i class="el-icon-delete" @click="deleteRoleItem(item)"></i>
         </el-radio-button>
       </el-radio-group>
     </div>
@@ -27,6 +27,7 @@
       <role-info-com
         class="basicInfo"
         style="height: calc(100vh - 130px)"
+        :menuData="menuData"
       ></role-info-com>
     </div>
     <!-- 右侧表格end -->
@@ -56,12 +57,30 @@ export default defineComponent({
     const radio1 = ref('1')
     const showDialog = ref(false)
     const roleData = ref([])
+    const menuData = ref([])
+    const newMenuData = ref([])
+    const checkedKeys = ref([])
 
     const dialogTitle = ref('')
 
     // 删除左侧角色列表
-    function deleteRoleItem(params) {
-      this.roleData.splice(params, 1)
+    function deleteRoleItem(item) {
+      // item
+      // console.log(radio1.value)
+      // console.log(item.roleId)
+      // this.roleData.splice(params, 1)
+
+      api.roleDelete({}, item.roleId).then((requset) => {
+        if (requset.status === 'SUCCESS') {
+          ElMessage.success({
+            message: '删除成功',
+            type: 'success',
+          })
+          roleList()
+        } else {
+          ElMessage.error(requset.msg)
+        }
+      })
     }
 
     // 新增角色
@@ -82,7 +101,7 @@ export default defineComponent({
     // 修改角色
     function editRole() {
       alert('修改')
-      console.log(radio1.value)
+      // console.log(radio1.value)
       api.roleDetail({}, radio1.value).then((requset) => {
         if (requset.status === 'SUCCESS') {
           console.log(requset.data)
@@ -91,7 +110,8 @@ export default defineComponent({
             roleName: requset.data.roleName,
             roleKey: requset.data.roleKey,
             status: requset.data.status,
-            roleSort: requset.data.roleSort,
+            roleSort: Number(requset.data.roleSort),
+            roleId: requset.data.roleId,
           }
           console.log(tableItem.value)
 
@@ -104,9 +124,42 @@ export default defineComponent({
     }
 
     const listTabsChange = (value) => {
-      console.log(value)
+      // console.log(value)
       radio1.value = value
-      console.log(radio1.value)
+      roleMenuTreeselect()
+
+      // console.log(radio1.value)
+    }
+    function roleMenuTreeselect() {
+      api.roleMenuTreeselect({}, radio1.value).then((requset) => {
+        if (requset.code == 200) {
+          menuData.value = requset.data.menus
+          checkedKeys.value = requset.data.checkedKeys
+          if (!checkedKeys.value.length) {
+            menuData.value.map((item) => {
+               item.authority2 = '0'
+            })
+             console.log(checkedKeys.value)
+            console.log(menuData.value)
+          } else {
+            // alert('有值')
+            menuData.value.map(function (item) {
+              checkedKeys.value.map(function (num) {
+                if (JSON.stringify(item).indexOf(num) != -1) {
+                  // alert('被选中')
+                  item.authority2 = '1'
+                }
+              })
+            })
+            console.log(checkedKeys.value)
+            console.log(menuData.value)
+          
+           
+          }
+        } else {
+          ElMessage.error(requset.msg)
+        }
+      })
     }
 
     // 关闭弹框操作
@@ -127,6 +180,7 @@ export default defineComponent({
     }
     onMounted(() => {
       roleList()
+      roleMenuTreeselect()
     })
 
     return {
@@ -135,7 +189,11 @@ export default defineComponent({
       roleData,
       dialogTitle,
       tableItem,
+      menuData,
+      newMenuData,
+      checkedKeys,
       listTabsChange,
+      roleMenuTreeselect,
       deleteRoleItem,
       addRole,
       editRole,

+ 59 - 12
src/views/systemManage/rolePermission/roleInfoCom/index.vue

@@ -1,121 +1,168 @@
 <template>
   <div class="siteManage-main roleInfoPage">
-    <el-table :data="tableData" border stripe >
-      <el-table-column prop="xuhao" label="序号" width="80" ></el-table-column>
-      <el-table-column prop="menu" label="菜单" width="180" ></el-table-column>
-      <el-table-column prop="authority" label="权限"  class="roleLeft">
+
+     <div style="text-align:right;margin-bottom:20px">
+      <!-- <el-button type="success" >新增</el-button> -->
+      <el-button type="primary" >保存</el-button>
+    </div>
+    
+    
+    <el-table :data="menuData" border stripe >
+      <!-- <el-table-column prop="authority2" label="序号" width="80" ></el-table-column> -->
+      <el-table-column prop="label" label="菜单" width="180" ></el-table-column>
+      <el-table-column prop="authority2" label="权限"  class="roleLeft">
         <template #default="scope">
-          <el-checkbox
+
+          <el-radio v-model="scope.row.authority2" label="1">是</el-radio>
+          <el-radio v-model="scope.row.authority2" label="0">否</el-radio>
+
+          <!-- <el-checkbox
             v-for="item in scope.row.authority"
             :label="item.name"
             :key="item.actionid"
             v-model="item.checked"
-          ></el-checkbox>
+          ></el-checkbox> -->
         </template>
       </el-table-column>
     </el-table>
-    <div style="text-align:right">
-      <el-button type="success" class="mt-20" >保存</el-button>
-    </div>
-    
+   
   </div>
 </template>
 
 <script>
-import { defineComponent,ref } from 'vue'
+import { defineComponent,ref,onMounted } from 'vue'
+// import * as api from '@/api/systemManage/rolePermission.js'
+// import { ElMessage } from 'element-plus'
 
 export default defineComponent({
   name: 'RoleInfoCom',
-  setup() {
+  props: {
+    menuData: Object,
+   
+  },
+
+  setup(props) {
      const  tableData=ref([
        {
           xuhao: '1',
           menu: '首页',
+          authority2:'1',
           authority: [{name: '全选', checked: true},{name: '查看', checked: true}],
         },
         {
           xuhao: '2',
           menu: '站点概览',
+           authority2:'1',
           authority: [{name: '全选', checked: true},{name: '查看', checked: true}],
         },
         {
           xuhao: '3',
           menu: '配电系统图',
+           authority2:'1',
           authority: [{name: '全选', checked: true},{name: '查看', checked: true},{name: '编辑', checked: true}],
         },
         {
           xuhao: '4',
           menu: '事件告警报表',
+           authority2:'0',
           authority: [{name: '全选', checked: true},{name: '查看', checked: true},{name: '告警处理', checked: true}],
         },
         {
           xuhao: '5',
           menu: '告警管理',
+           authority2:'1',
           authority: [{name: '全选', checked: true},{name: '查看', checked: true},{name: '告警处理', checked: true}],
         },
         {
           xuhao: '6',
           menu: '站点管理',
+           authority2:'1',
           authority: [{name: '全选', checked: true},{name: '查看', checked: true},{name: '编辑', checked: true},{name: '新增', checked: true},{name: '删除', checked: true}],
         },
         {
           xuhao: '7',
           menu: '台区管理',
+           authority2:'1',
           authority: [{name: '全选', checked: true},{name: '查看', checked: true},{name: '编辑', checked: true},{name: '新增', checked: true},{name: '删除', checked: true}],
         },
 
         {
           xuhao: '8',
           menu: '设备管理',
+           authority2:'1',
           authority: [{name: '全选', checked: true},{name: '查看', checked: true},{name: '编辑', checked: true},{name: '新增', checked: true},{name: '删除', checked: true}],
         },
         {
           xuhao: '9',
           menu: '数据管理',
+           authority2:'1',
           authority: [{name: '全选', checked: true},{name: '查看', checked: true},{name: '导出', checked: true}],
         },
         {
           xuhao: '10',
           menu: '电能质量',
+           authority2:'1',
           authority: [{name: '全选', checked: true},{name: '查看', checked: true}],
         },
         {
           xuhao: '11',
           menu: '月度报告',
+           authority2:'1',
           authority: [{name: '全选', checked: true},{name: '查看', checked: true},{name: '导出', checked: true},{name: '编辑模板', checked: true}],
         },
         {
           xuhao: '12',
           menu: '计划停电',
+           authority2:'1',
           authority: [{name: '全选', checked: true},{name: '查看', checked: true},{name: '编辑', checked: true},{name: '新增', checked: true},{name: '删除', checked: true}],
         },
         {
           xuhao: '13',
           menu: '巡检管理',
+           authority2:'1',
           authority: [{name: '全选', checked: true},{name: '查看', checked: true},{name: '编辑', checked: true},{name: '删除', checked: true},{name: '巡检处理', checked: true}],
         },
         {
           xuhao: '14',
           menu: '运维管理',
+           authority2:'1',
           authority: [{name: '全选', checked: true},{name: '查看', checked: true},{name: '编辑', checked: true},{name: '新增', checked: true}],
         },
         {
           xuhao: '15',
           menu: '工单管理',
+           authority2:'1',
           authority: [{name: '全选', checked: true},{name: '查看', checked: true},{name: '编辑', checked: true},{name: '新增', checked: true},{name: '删除', checked: true},{name: '工单处理', checked: true}],
         },
         {
           xuhao: '16',
           menu: '用户管理',
+           authority2:'1',
           authority: [{name: '全选', checked: true},{name: '查看', checked: true},{name: '编辑', checked: true},{name: '新增', checked: true},{name: '删除', checked: true}],
         },
         {
           xuhao: '17',
           menu: '角色权限',
+           authority2:'1',
           authority: [{name: '全选', checked: true},{name: '查看', checked: true},{name: '编辑', checked: true},{name: '新增', checked: true},{name: '删除', checked: true}],
         },
      ]) 
 
+     function menuList(){
+       console.log('....')
+       console.log(props)
+       console.log(props.menuData.value)
+     }
+
+    
+    onMounted(() => {
+      menuList()
+
+     
+    })
+
+
+
      return{
        tableData
      }