ming 3 년 전
부모
커밋
4f4e515289

+ 10 - 0
src/api/systemManage/rolePermission.js

@@ -56,4 +56,14 @@ export function roleMenuTreeselect(params, params2) {
         method: 'GET',
         params,
     })
+}
+
+
+//角色-保存
+export function saveMenu(params) {
+    return request({
+        url: '/system/role',
+        method: 'PUT',
+        data: params,
+    })
 }

+ 0 - 32
src/router/index.js

@@ -455,38 +455,6 @@ export const asyncRoutes = [
 
 
 
-    {
-        path: '/vab',
-        component: Layout,
-        redirect: '/vab/table',
-        hidden: true,
-        alwaysShow: true,
-        meta: {
-            title: '组件',
-            icon: 'apps-line',
-        },
-        children: [{
-                path: 'table',
-                name: 'Table',
-                component: () =>
-                    import ('@/views/vab/table'),
-                meta: {
-                    title: '表格',
-                    icon: 'table-2',
-                },
-            },
-            {
-                path: 'icon',
-                name: 'Icon',
-                component: () =>
-                    import ('@/views/vab/icon'),
-                meta: {
-                    title: '图标',
-                    icon: 'remixicon-line',
-                },
-            },
-        ],
-    },
 
     // {
     //   path: '/test',

+ 8 - 1
src/views/deviceManage/powerEquip/communicateEquip/dialog/cloneDialog.vue

@@ -179,7 +179,6 @@ export default defineComponent({
     function resetForm() {
       ruleForm.value.resetFields()
     }
-    
 
     function select_deviceList() {
       api
@@ -189,6 +188,14 @@ export default defineComponent({
         .then((requset) => {
           if (requset.status === 'SUCCESS') {
             deviceList.value = requset.data
+            // alert(props.DialogArray.id)
+
+            for (var i = deviceList.value.length - 1; i >= 0; i--){
+               if (deviceList.value[i].id == props.DialogArray.id) deviceList.value.splice(i, 1)
+            }
+            // console.log(deviceList.value)
+            // console.log('deviceList.value')
+             
           } else {
             ElMessage.error(requset.msg)
           }

+ 48 - 26
src/views/siteManage/basicInfo/index.vue

@@ -183,6 +183,7 @@
                   :action="uploadUrl"
                   :on-success="handleUpAvatar"
                   :on-remove="handleRemove"
+                  :on-change="handleChange"
                   :show-file-list="true"
                   list-type="picture-card"
                   :limit="3"
@@ -264,7 +265,7 @@ export default defineComponent({
     const ruleForm = ref({})
 
     const newArray = ref([])
-    const dataSetRe=ref([])
+    const dataSetRe = ref([])
 
     function handlePictureCardPreview(file) {
       console.log('file')
@@ -289,40 +290,63 @@ export default defineComponent({
       })
     }
 
+    // function uniqueArr(arr) {
+    //   for (var i = 0; i < arr.length; i++) {
+    //     for (var j = i + 1; j < arr.length; j++) {
+    //       if (arr[i].name == arr[j].name) {
+    //         alert('不支持同名文件上传')
+    //         arr.splice(j, 1)
+    //         j--
+    //       }
+    //     }
+    //   }
+    //   return arr
+    // }
+
+    // function handleChange(file, fileList) {
+    //   // console.log('这是handleChange')
+    //   // console.log('这是file', file)
+    //   // console.log('这是fileList', fileList)
+    //   fileList = uniqueArr(fileList)
+    //    console.log('这是fileList', fileList)
+    // }
+
     //上传成功的回调
     function handleUpAvatar(res) {
+      // console.log(newArray.value.indexOf(res.data))
+      // if(newArray.value.indexOf(res.data)!=-1){
+      //   alert('上传重复')
+      //   return
+
+      // };
 
-      dataSetRe.value=[]
-      dataSet.fileList=[]
-      newArray.value=[]
+      dataSetRe.value = []
+      dataSet.fileList = []
+      newArray.value = []
 
       dataSet.fileList.push(res.data)
- 
+
       dataSet.fileList.forEach(function (item) {
         dataSetRe.value.push({ url: fileImages.value + item })
       })
 
       if (fileListImages.value) {
         fileListImages.value = fileListImages.value.concat(dataSetRe.value)
-      }else{
-        fileListImages.value=dataSetRe.value
+      } else {
+        fileListImages.value = dataSetRe.value
       }
 
+      fileListImages.value.forEach(function (item) {
+        newArray.value.push(item.url.substring(27))
+      })
 
-     fileListImages.value.forEach(function(item){
-       
-       newArray.value.push(item.url.substring(27))
-     })
-
-    console.log('newArray.value')
-    console.log(newArray.value)
-
-
+      console.log('newArray.value')
+      console.log(newArray.value)
     }
 
     //删除照片
     function handleRemove(res) {
-      newArray.value=[]
+      newArray.value = []
       console.log('删除')
       console.log(res)
       console.log('fileListImages.value')
@@ -348,7 +372,6 @@ export default defineComponent({
         newArray.value.push(item.url.substring(27))
       })
 
-   
       console.log('newArray.value')
       console.log(newArray.value)
     }
@@ -554,14 +577,12 @@ export default defineComponent({
         console.log('newVal')
         console.log(newVal)
         if (props.activeName == 'first') {
-          dataSet.fileList=[]
-          newArray.value=[]
-          
+          dataSet.fileList = []
+          newArray.value = []
 
           getSite()
           dynamicPropertiesDroplist(2)
           dynamicPropertiesDroplist(1)
-          
         }
       }
     )
@@ -569,12 +590,11 @@ export default defineComponent({
       () => props.activeName,
       (newVal) => {
         if (newVal == 'first') {
-          dataSet.fileList=[]
-          newArray.value=[]
+          dataSet.fileList = []
+          newArray.value = []
           getSite()
           dynamicPropertiesDroplist(2)
           dynamicPropertiesDroplist(1)
-          
         }
       }
     )
@@ -746,9 +766,11 @@ export default defineComponent({
       fileImages,
       getSite,
       isDisable,
+      // handleChange,
+      // uniqueArr,
 
       newArray,
-      dataSetRe
+      dataSetRe,
     }
   },
 })

+ 20 - 6
src/views/systemManage/rolePermission/index.vue

@@ -9,7 +9,7 @@
       </div>
       <el-radio-group v-model="radio1">
         <el-radio-button
-          @change="listTabsChange(radio1)"
+          @change="listTabsChange(radio1, item)"
           v-for="(item, index) in roleData"
           :label="item.roleId"
           :key="index"
@@ -28,6 +28,8 @@
         class="basicInfo"
         style="height: calc(100vh - 130px)"
         :menuData="menuData"
+        :objItem="objItem"
+        :radio1="radio1"
       ></role-info-com>
     </div>
     <!-- 右侧表格end -->
@@ -60,6 +62,7 @@ export default defineComponent({
     const menuData = ref([])
     const newMenuData = ref([])
     const checkedKeys = ref([])
+    const objItem = ref({})
 
     const dialogTitle = ref('')
 
@@ -123,9 +126,12 @@ export default defineComponent({
       })
     }
 
-    const listTabsChange = (value) => {
+    const listTabsChange = (value, item) => {
       // console.log(value)
       radio1.value = value
+      objItem.value = item
+      console.log('objItem')
+      console.log(objItem.value)
       roleMenuTreeselect()
 
       // console.log(radio1.value)
@@ -137,9 +143,9 @@ export default defineComponent({
           checkedKeys.value = requset.data.checkedKeys
           if (!checkedKeys.value.length) {
             menuData.value.map((item) => {
-               item.authority2 = '0'
+              item.authority2 = '0'
             })
-             console.log(checkedKeys.value)
+            console.log(checkedKeys.value)
             console.log(menuData.value)
           } else {
             // alert('有值')
@@ -151,10 +157,9 @@ export default defineComponent({
                 }
               })
             })
+            console.log(11111)
             console.log(checkedKeys.value)
             console.log(menuData.value)
-          
-           
           }
         } else {
           ElMessage.error(requset.msg)
@@ -173,6 +178,14 @@ export default defineComponent({
       api.roleList().then((requset) => {
         if (requset.code === 200) {
           roleData.value = requset.rows
+          console.log('requset.rows')
+          console.log(requset.rows[0])
+          var item = requset.rows[0]
+          objItem.value = {
+            roleSort: item.roleSort,
+            roleKey: item.roleKey,
+            roleName: item.roleName,
+          }
         } else {
           ElMessage.error(requset.msg)
         }
@@ -198,6 +211,7 @@ export default defineComponent({
       addRole,
       editRole,
       closeDialog,
+      objItem,
     }
   },
 })

+ 76 - 148
src/views/systemManage/rolePermission/roleInfoCom/index.vue

@@ -1,178 +1,106 @@
 <template>
   <div class="siteManage-main roleInfoPage">
-
-     <div style="text-align:right;margin-bottom:20px">
+    <div style="text-align: right; margin-bottom: 20px">
       <!-- <el-button type="success" >新增</el-button> -->
-      <el-button type="primary" >保存</el-button>  
+      <el-button type="primary" @click="saveMenu()">保存</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-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-table :data="menuData" border stripe :cell-style="cellStyle">
+      <el-table-column prop="label" label="菜单" width="180"></el-table-column>
+      <el-table-column prop="authority2" label="权限" class="roleLeft">
+        <template #default="scope">
+          <el-radio-group
+            v-model="scope.row.authority2"
+            @change="listTabsChange(scope.row)"
+          >
+            <el-radio label="1">是</el-radio>
+            <el-radio label="0">否</el-radio>
+          </el-radio-group>
         </template>
       </el-table-column>
     </el-table>
-   
   </div>
 </template>
 
 <script>
-import { defineComponent,ref,onMounted } from 'vue'
-// import * as api from '@/api/systemManage/rolePermission.js'
-// import { ElMessage } from 'element-plus'
+import { defineComponent, ref, onMounted } from 'vue'
+import * as api from '@/api/systemManage/rolePermission.js'
+import { ElMessage } from 'element-plus'
 
 export default defineComponent({
   name: 'RoleInfoCom',
   props: {
     menuData: Object,
-   
+    objItem: Object,
+    radio1: Number,
   },
 
   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)
-     }
+    const aa = ref([])
+    const saveArr = ref([])
+
+    function saveMenu() {
+      console.log('props.objItem.value')
+      console.log(props.objItem)
+
+      console.log('props.radio1')
+      console.log(props.radio1)
+
+      api
+        .saveMenu({
+          menuIds: saveArr.value,
+          roleId: props.radio1,
+          roleKey: props.objItem.roleKey,
+          roleName: props.objItem.roleName,
+          roleSort: props.objItem.roleSort,
+        })
+        .then((requset) => {
+          if (requset.status === 'SUCCESS') {
+
+            ElMessage.success({
+            message: '权限修改成功',
+            type: 'success',
+          })
+           
+          } else {
+            ElMessage.error(requset.msg)
+          }
+        })
+    }
+
+    const listTabsChange = (value) => {
+      saveArr.value = []
+      value
+      console.log(' props.menuData')
+      console.log(props.menuData)
+
+      props.menuData.forEach(function (item) {
+        if (item.authority2 == '1') {
+          saveArr.value.push(item.id)
+        }
+      })
+      console.log('saveArr.value')
+      console.log(saveArr.value)
+    }
 
-    
     onMounted(() => {
-      menuList()
-
-     
+      props.menuData.forEach(function (item) {
+        if (item.authority2 == '1') {
+          saveArr.value.push(item.id)
+        }
+      })
     })
 
-
-
-     return{
-       tableData
-     }
-    
-    
-
+    return {
+      saveMenu,
+      aa,
+      listTabsChange,
+      saveArr,
+      // cellStyle
+    }
   },
 })
 </script>
 
 <style  lang="scss">
-
 </style>

+ 1 - 0
src/views/systemManage/userManage/index.vue

@@ -25,6 +25,7 @@
               v-model="status"
               placeholder="请选择"
               style="width: 150px"
+              clearable
             >
               <el-option label="正常" value="0"></el-option>
               <el-option label="停用" value="1"></el-option>