Browse Source

按钮级权限

ming 3 năm trước cách đây
mục cha
commit
ac1e58eed3
27 tập tin đã thay đổi với 163 bổ sung60 xóa
  1. 10 2
      src/main.js
  2. 8 10
      src/store/index.js
  3. 4 1
      src/views/alarmManage/index.vue
  4. 4 0
      src/views/dataManage/chainAnalysis/index.vue
  5. 4 1
      src/views/dataManage/demandAnalysis/index.vue
  6. 5 0
      src/views/dataManage/energyReport/index.vue
  7. 4 0
      src/views/dataManage/sameAnalysis/index.vue
  8. 9 3
      src/views/deviceManage/powerEquip/communicateEquip/index.vue
  9. 5 1
      src/views/deviceManage/powerEquip/deviceDetails.vue
  10. 5 0
      src/views/deviceManage/powerEquip/index.vue
  11. 5 3
      src/views/deviceManage/powerEquip/powerDialog/listDialog.vue
  12. 3 0
      src/views/deviceManage/powerEquip/videoEquip/index.vue
  13. 7 3
      src/views/planOutage/index.vue
  14. 4 0
      src/views/powerQuality/asseReport/loopReport.vue
  15. 4 0
      src/views/powerQuality/asseReport/scoreReport.vue
  16. 7 1
      src/views/powerQuality/harmonicReport/index.vue
  17. 3 0
      src/views/powerQuality/realTimeMonitoring/loopMonitor.vue
  18. 3 0
      src/views/powerQuality/realTimeMonitoring/realScore.vue
  19. 4 0
      src/views/powerQuality/unbalanceAnalysis/index.vue
  20. 8 4
      src/views/siteManage/camera/index.vue
  21. 3 2
      src/views/siteManage/index.vue
  22. 13 8
      src/views/siteManage/variableList/index.vue
  23. 6 3
      src/views/siteManage/watchDog/index.vue
  24. 12 4
      src/views/stationManage/index.vue
  25. 14 8
      src/views/systemManage/rolePermission/index.vue
  26. 3 5
      src/views/systemManage/rolePermission/roleInfoCom/index.vue
  27. 6 1
      src/views/systemManage/userManage/index.vue

+ 10 - 2
src/main.js

@@ -49,11 +49,14 @@ app
 
 
 router.beforeEach((to) => {
+    console.log(to.meta.title)
+    store.commit('getAuthorities', to.meta.title)
+    console.log('store.state.authorities')
+    console.log(store.state.authorities)
+
     if (to.path != '/login') {
         store.commit("publicSiteList");
         store.commit('publicDeviceList')
-
-        store.commit('getAuthorities')
     }
     if (to.path == '/home') {
         if (window.location.host.indexOf('localhost') != -1) {
@@ -64,4 +67,9 @@ router.beforeEach((to) => {
             window.location.href = "https://wx.ewoogi.com/panel/#/home";
         }
     }
+})
+
+router.afterEach((to) => {
+    to
+
 })

+ 8 - 10
src/store/index.js

@@ -122,19 +122,17 @@ export default createStore({
          * @公共按钮权限
          * @param {*} state 
          */
-        getAuthorities(state) {
-            var menuName = document.title;
-            // alert(window.location.href.indexOf('alarmManage') != -1)
-            if (window.location.href.indexOf('alarmManage') != -1) {
-                menuName = '告警管理'
-            }
-            api
-                .getAuthorities({ menuName: menuName })
+        async getAuthorities(state, aa) {
+            await api
+                .getAuthorities({ menuName: aa })
                 .then((requset) => {
                     if (requset.status === 'SUCCESS') {
                         state.authorities = []
-                        console.log('request')
-                        console.log(requset.data)
+                        var menuObj = requset.data;
+                        menuObj.forEach(function(item) {
+                                state.authorities.push(item.menuName)
+                            })
+                            // console.log(state.authorities)
                     } else {
                         ElMessage.error(requset.msg)
                     }

+ 4 - 1
src/views/alarmManage/index.vue

@@ -12,6 +12,7 @@
               style="width: 200px"
               clearable
               filterable
+              :disabled="store.state.authorities.indexOf('查询')==-1"
             >
               <el-option
                 v-for="item in store.state.siteList"
@@ -30,16 +31,18 @@
               start-placeholder="开始日期"
               end-placeholder="结束日期"
               style="width: auto"
+              :disabled="store.state.authorities.indexOf('查询')==-1"
         
             ></el-date-picker>
           </div>
           <el-button
+          :disabled="store.state.authorities.indexOf('查询')==-1"
             class="search-button"
             @click=";(store.state.siteId = ''), (dateValue = ''), listSelect()"
           >
             重置
           </el-button>
-          <el-button type="primary" class="search-button" @click="listSelect()">
+          <el-button :disabled="store.state.authorities.indexOf('查询')==-1" type="primary" class="search-button" @click="listSelect()">
             搜索
           </el-button>
         </div>

+ 4 - 0
src/views/dataManage/chainAnalysis/index.vue

@@ -7,6 +7,7 @@
           placeholder="选择站点"
           @change="siteChange"
           filterable
+          :disabled="store.state.authorities.indexOf('查询')==-1"
         >
           <el-option
             v-for="item in store.state.siteList"
@@ -49,6 +50,7 @@
               range-separator="➥"
               start-placeholder="开始时间"
               end-placeholder="结束时间"
+              :disabled="store.state.authorities.indexOf('查询')==-1"
             ></el-date-picker>
           </div>
         </div>
@@ -56,6 +58,7 @@
           v-model="listTabPosition"
           @change="listTabsChange(listTabPosition)"
           style="display: flex"
+          :disabled="store.state.authorities.indexOf('查询')==-1"
         >
           <el-radio-button label="allValue">所有值</el-radio-button>
           <el-radio-button label="dailyValue">每日值</el-radio-button>
@@ -80,6 +83,7 @@
               type="primary"
               style="padding: 7px 12px"
               @click="searchData()"
+              :disabled="store.state.authorities.indexOf('查询')==-1"
             >
               查询
             </el-button>

+ 4 - 1
src/views/dataManage/demandAnalysis/index.vue

@@ -7,6 +7,7 @@
           @change="siteChange"
           placeholder="选择站点"
           filterable
+          :disabled="store.state.authorities.indexOf('查询')==-1"
         >
           <el-option
             v-for="item in store.state.siteList"
@@ -40,6 +41,7 @@
               v-model="dateTime"
               type="month"
               placeholder="请选择日期"
+              :disabled="store.state.authorities.indexOf('查询')==-1"
             ></el-date-picker>
           </div>
         </div>
@@ -48,13 +50,14 @@
           v-model="listTabPosition"
           @change="listTabsChange(listTabPosition)"
           style="display: flex"
+          :disabled="store.state.authorities.indexOf('查询')==-1"
         >
           <el-radio-button label="cycleValue">电费结算周期</el-radio-button>
           <el-radio-button label="monthValue">自然月</el-radio-button>
         </el-radio-group>
 
         <div style="margin-left: 10px">
-          <el-button icon="el-icon-search" type="primary" @click="searchData()" style="padding: 7px 12px;">
+          <el-button icon="el-icon-search" type="primary" @click="searchData()" style="padding: 7px 12px;" :disabled="store.state.authorities.indexOf('查询')==-1">
             查询
           </el-button>
         </div>

+ 5 - 0
src/views/dataManage/energyReport/index.vue

@@ -7,6 +7,7 @@
           @change="siteChange"
           placeholder="选择站点"
           filterable
+          :disabled="store.state.authorities.indexOf('查询')==-1"
         >
           <el-option
             v-for="item in store.state.siteList"
@@ -46,6 +47,7 @@
             v-model="listTabPosition"
             @change="listTabsChange(listTabPosition)"
             style="display: flex"
+            :disabled="store.state.authorities.indexOf('查询')==-1"
           >
             <el-radio-button label="dayValue">日报表</el-radio-button>
             <el-radio-button label="monthValue">月报表</el-radio-button>
@@ -66,6 +68,7 @@
                 range-separator="➥"
                 start-placeholder="开始时间"
                 end-placeholder="结束时间"
+                :disabled="store.state.authorities.indexOf('查询')==-1"
               ></el-date-picker>
             </div>
           </div>
@@ -76,6 +79,7 @@
               type="primary"
               style="padding: 7px 12px"
               @click="searchData()"
+              :disabled="store.state.authorities.indexOf('查询')==-1"
             >
               查询
             </el-button>
@@ -93,6 +97,7 @@
               v-model="rightTabs"
               @change="listTabsChange(rightTabs)"
               style="display: flex"
+              :disabled="store.state.authorities.indexOf('查询')==-1"
             >
               <el-radio-button label="echarts">图表</el-radio-button>
               <el-radio-button label="tables">表格</el-radio-button>

+ 4 - 0
src/views/dataManage/sameAnalysis/index.vue

@@ -6,6 +6,7 @@
           v-model="store.state.siteId"
           @change="siteChange"
           placeholder="选择站点"
+          :disabled="store.state.authorities.indexOf('查询')==-1"
           filterable
         >
           <el-option
@@ -42,6 +43,7 @@
               range-separator="➥"
               start-placeholder="开始时间"
               end-placeholder="结束时间"
+              :disabled="store.state.authorities.indexOf('查询')==-1"
             ></el-date-picker>
           </div>
         </div>
@@ -49,6 +51,7 @@
           v-model="listTabPosition"
           @change="listTabsChange(listTabPosition)"
           style="display: flex"
+          :disabled="store.state.authorities.indexOf('查询')==-1"
         >
           <el-radio-button label="allValue">所有值</el-radio-button>
           <el-radio-button label="dailyValue">每日值</el-radio-button>
@@ -74,6 +77,7 @@
               type="primary"
               style="padding: 7px 12px"
               @click="searchData()"
+              :disabled="store.state.authorities.indexOf('查询')==-1"
             >
               查询
             </el-button>

+ 9 - 3
src/views/deviceManage/powerEquip/communicateEquip/index.vue

@@ -20,6 +20,7 @@
           v-model="filterText"
           class="comTopLeftInput"
           style="width: 150px"
+          :disabled="store.state.authorities.indexOf('查询')==-1"
         >
           <!-- <template #suffix>
             <i class="el-icon-search el-input__icon"></i>
@@ -31,6 +32,7 @@
           icon="el-icon-search"
           class="search-button"
           @click="Select()"
+          :disabled="store.state.authorities.indexOf('查询')==-1"
         >
           搜索
         </el-button>
@@ -39,6 +41,7 @@
           icon="el-icon-plus"
           type="success"
           @click="Insert()"
+          :disabled="store.state.authorities.indexOf('新增')==-1"
         >
           新增
         </el-button>
@@ -59,10 +62,11 @@
           }"
           :file-list="fileList"
           style="float: right"
+          :disabled="store.state.authorities.indexOf('导入')==-1"
         >
-          <el-button size="small" type="primary">导入</el-button>
+          <el-button size="small" type="primary" :disabled="store.state.authorities.indexOf('导入')==-1">导入</el-button>
         </el-upload>
-        <el-button type="primary" @click="DataReportExport()">导出</el-button>
+        <el-button type="primary" @click="DataReportExport()" :disabled="store.state.authorities.indexOf('导出')==-1">导出</el-button>
       </div>
     </div>
 
@@ -142,6 +146,7 @@
               size="small"
               style="color: #409eff"
               @click.prevent="Update(scope.row)"
+              :disabled="store.state.authorities.indexOf('修改')==-1"
             >
               编辑
             </el-button>
@@ -155,7 +160,7 @@
               @cancel="cancelEvent"
             >
               <template #reference>
-                <el-button type="text" size="small" style="color: red">
+                <el-button type="text" size="small" style="color: red" :disabled="store.state.authorities.indexOf('删除')==-1">
                   删除
                 </el-button>
               </template>
@@ -165,6 +170,7 @@
               type="text"
               size="small"
               style="color: #409eff"
+              :disabled="store.state.authorities.indexOf('克隆')==-1"
             >
               克隆
             </el-button>

+ 5 - 1
src/views/deviceManage/powerEquip/deviceDetails.vue

@@ -9,12 +9,14 @@
           v-model="store.state.siteId"
           placeholder="请选择"
           style="width: 200px; margin-right: 20px"
+          :disabled="store.state.authorities.indexOf('查询')==-1"
         >
           <el-option
             v-for="site in store.state.siteList"
             :key="site"
             :label="site.siteName"
             :value="site.id"
+            
           ></el-option>
         </el-select>
 
@@ -30,6 +32,7 @@
                   icon="el-icon-search"
                   class="search-button"
                   @click="listSelect()"
+                  :disabled="store.state.authorities.indexOf('查询')==-1"
                 >
                   搜索
                 </el-button>
@@ -124,6 +127,7 @@
             size="small"
             style="color: #409eff"
             @click.prevent="editRow(scope.row)"
+            :disabled="store.state.authorities.indexOf('修改')==-1"
           >
             编辑
           </el-button>
@@ -137,7 +141,7 @@
             @cancel="cancelEvent"
           >
             <template #reference>
-              <el-button type="text" size="small" style="color: red">
+              <el-button type="text" size="small" style="color: red"  :disabled="store.state.authorities.indexOf('删除')==-1">
                 删除
               </el-button>
             </template>

+ 5 - 0
src/views/deviceManage/powerEquip/index.vue

@@ -30,6 +30,7 @@
                     placeholder="输入关键字进行过滤"
                     v-model="filterText"
                     class="firstTopLeftInput"
+                    :disabled="store.state.authorities.indexOf('查询')==-1"
                   ></el-input>
                 </div>
                 <div class="filter-item">
@@ -38,6 +39,7 @@
                     v-model="userName"
                      placeholder="请输入联系人"
                     class="firstTopLeftInput"
+                    :disabled="store.state.authorities.indexOf('查询')==-1"
                   ></el-input>
                 </div>
                 <div class="filter-item">
@@ -46,6 +48,7 @@
                     v-model="phone"
                      placeholder="请输入手机号码"
                     class="firstTopLeftInput"
+                    :disabled="store.state.authorities.indexOf('查询')==-1"
                   ></el-input>
                 </div>
 
@@ -54,6 +57,7 @@
                   icon="el-icon-search"
                   class="search-button"
                   @click="monitorDeviceList()"
+                  :disabled="store.state.authorities.indexOf('查询')==-1"
                 >
                   搜索
                 </el-button>
@@ -63,6 +67,7 @@
                   icon="el-icon-plus"
                   type="success"
                   @click="addItem()"
+                  :disabled="store.state.authorities.indexOf('新增')==-1"
                 >
                   新增
                 </el-button>

+ 5 - 3
src/views/deviceManage/powerEquip/powerDialog/listDialog.vue

@@ -13,9 +13,9 @@
         @change="listTabsChange(listTabPosition)"
         style="margin-bottom: 15px; display: flex"
       >
-        <el-radio-button label="model">模拟量</el-radio-button>
-        <el-radio-button label="state">状态量</el-radio-button>
-        <el-radio-button label="parameter">参数量</el-radio-button>
+        <el-radio-button label="model" :disabled="store.state.authorities.indexOf('查询')==-1">模拟量</el-radio-button>
+        <el-radio-button label="state" :disabled="store.state.authorities.indexOf('查询')==-1">状态量</el-radio-button>
+        <el-radio-button label="parameter" :disabled="store.state.authorities.indexOf('查询')==-1">参数量</el-radio-button>
         <!-- <div style="margin-left: 10px">
           <el-button icon="el-icon-plus" type="success">新增</el-button>
         </div> -->
@@ -25,6 +25,7 @@
         placeholder="搜索变量或编码"
         v-model="listInputText"
         style="width: 15rem; margin-bottom: 15px"
+        :disabled="store.state.authorities.indexOf('查询')==-1"
       >
         <template #suffix>
           <i class="el-icon-search el-input__icon"></i>
@@ -273,6 +274,7 @@ export default defineComponent({
       listInputText: ref(''), //变量列表input搜索框
       multipleSelection, //变量列表弹窗复选框值存储
       listNumberData,
+      store
     }
   },
 })

+ 3 - 0
src/views/deviceManage/powerEquip/videoEquip/index.vue

@@ -8,6 +8,7 @@
           v-model="store.state.siteId"
           placeholder="请选择"
           style="width: 250px; margin-right: 20px"
+          :disabled="store.state.authorities.indexOf('查询')==-1"
         >
           <el-option
             v-for="site in store.state.siteList"
@@ -20,6 +21,7 @@
           placeholder="搜索设备名"
           v-model="filterText"
           class="videoTopLeftInput"
+          :disabled="store.state.authorities.indexOf('查询')==-1"
         >
           <!-- <template #suffix>
             <i class="el-icon-search el-input__icon"></i>
@@ -31,6 +33,7 @@
           icon="el-icon-search"
           class="search-button"
           @click="searchData()"
+          :disabled="store.state.authorities.indexOf('查询')==-1"
         >
           搜索
         </el-button>

+ 7 - 3
src/views/planOutage/index.vue

@@ -5,7 +5,7 @@
       <div class="left">
         <div>
           <a class="" style="margin-right: 30px">计划停电列表</a>
-          <el-button icon="el-icon-plus" type="success" @click="addItem()">
+          <el-button icon="el-icon-plus" type="success" @click="addItem()" :disabled="store.state.authorities.indexOf('新增')==-1">
             新增
           </el-button>
         </div>
@@ -20,6 +20,7 @@
               start-placeholder="开始日期"
               end-placeholder="结束日期"
               style="width: auto"
+              :disabled="store.state.authorities.indexOf('查询')==-1"
             ></el-date-picker>
           </div>
           <div class="filter-item">
@@ -29,6 +30,7 @@
               placeholder="请选择"
               style="width: 200px"
               clearable
+              :disabled="store.state.authorities.indexOf('查询')==-1"
             >
               <el-option label="未执行" :value="1"></el-option>
               <el-option label="执行中" :value="2"></el-option>
@@ -40,6 +42,7 @@
             icon="el-icon-search"
             @click="Select()"
             class="search-button"
+            :disabled="store.state.authorities.indexOf('查询')==-1"
           >
             搜索
           </el-button>
@@ -47,7 +50,7 @@
       </div>
 
       <div class="right">
-        <el-button type="primary"  @click="DataReportExport()">导出</el-button>
+        <el-button type="primary"  @click="DataReportExport()" :disabled="store.state.authorities.indexOf('导出')==-1">导出</el-button>
       </div>
     </div>
     <!-- 筛选end -->
@@ -112,6 +115,7 @@
             type="text"
             size="small"
             @click.prevent="editRow(scope.row)"
+            :disabled="store.state.authorities.indexOf('修改')==-1"
           >
             编辑
           </el-button>
@@ -125,7 +129,7 @@
             @cancel="cancelEvent"
           >
             <template #reference>
-              <el-button type="text" size="small" class="delete-text">
+              <el-button type="text" size="small" class="delete-text" :disabled="store.state.authorities.indexOf('删除')==-1">
                 删除
               </el-button>
             </template>

+ 4 - 0
src/views/powerQuality/asseReport/loopReport.vue

@@ -13,6 +13,7 @@
               clearable
               filterable
               @change="linkDevice()"
+              :disabled="store.state.authorities.indexOf('查询')==-1"
             >
               <el-option
                 v-for="site in store.state.siteList"
@@ -28,6 +29,7 @@
               v-model="deviceCode"
               placeholder="请选择"
               style="width: 150px"
+              :disabled="store.state.authorities.indexOf('查询')==-1"
             >
               <el-option
                 v-for="device in deviceList"
@@ -53,6 +55,7 @@
               style="width: 150px; margin-left: 20px"
               :clearable="false"
               :editable="false"
+              :disabled="store.state.authorities.indexOf('查询')==-1"
             ></el-date-picker>
           </div>
 
@@ -60,6 +63,7 @@
             type="primary"
             class="search-button"
             @click="SingleLoopReportData()"
+            :disabled="store.state.authorities.indexOf('查询')==-1"
           >
             搜索
           </el-button>

+ 4 - 0
src/views/powerQuality/asseReport/scoreReport.vue

@@ -12,6 +12,7 @@
               style="width: 220px"
               clearable
               filterable
+              :disabled="store.state.authorities.indexOf('查询')==-1"
             >
               <el-option
                 v-for="site in store.state.siteList"
@@ -26,6 +27,7 @@
             v-model="listTabPosition"
             @change="listTabsChange(listTabPosition)"
             style="display: inline-block; position: relative; top: -3px"
+            :disabled="store.state.authorities.indexOf('查询')==-1"
           >
             <el-radio-button label="dayValue">按日</el-radio-button>
             <el-radio-button label="monthValue">按月</el-radio-button>
@@ -38,12 +40,14 @@
             style="width: 150px; margin-left: 20px"
             :clearable="false"
             :editable="false"
+            :disabled="store.state.authorities.indexOf('查询')==-1"
           ></el-date-picker>
 
           <el-button
             type="primary"
             class="search-button"
             @click="evaluationReport()"
+            :disabled="store.state.authorities.indexOf('查询')==-1"
           >
             搜索
           </el-button>

+ 7 - 1
src/views/powerQuality/harmonicReport/index.vue

@@ -13,6 +13,7 @@
               clearable
               filterable
               @change="linkDevice()"
+              :disabled="store.state.authorities.indexOf('查询')==-1"
             >
               <el-option
                 v-for="site in store.state.siteList"
@@ -29,6 +30,7 @@
               v-model="deviceCode"
               placeholder="请选择"
               style="width: 150px"
+              :disabled="store.state.authorities.indexOf('查询')==-1"
             >
               <el-option
                 v-for="device in deviceList"
@@ -47,6 +49,7 @@
               :type="dateType"
               placeholder="请选择"
               style="width: 150px"
+              :disabled="store.state.authorities.indexOf('查询')==-1"
             
               :clearable="false"
               :editable="false"
@@ -56,6 +59,7 @@
               v-model="listTabPosition"
               @change="listTabsChange(listTabPosition)"
               style="display: inline-block; position: relative; top: -3px"
+              :disabled="store.state.authorities.indexOf('查询')==-1"
             >
               <el-radio-button label="dayValue">按日</el-radio-button>
               <el-radio-button label="monthValue">按月</el-radio-button>
@@ -78,7 +82,7 @@
             </el-button> -->
           </div>
 
-          <el-button type="primary" class="search-button" @click="listSelect()">
+          <el-button type="primary" class="search-button" @click="listSelect()" :disabled="store.state.authorities.indexOf('查询')==-1">
             搜索
           </el-button>
         </div>
@@ -90,6 +94,7 @@
       class="search-button timeTab"
       @click="num2 = 0"
       :type="num2 == 0 ? 'primary' : ''"
+      :disabled="store.state.authorities.indexOf('查询')==-1"
     >
       曲线
     </el-button>
@@ -98,6 +103,7 @@
       @click="num2 = 1"
       :type="num2 == 1 ? 'primary' : ''"
       style="margin-left: 0 !important"
+      :disabled="store.state.authorities.indexOf('查询')==-1"
     >
       表格
     </el-button>

+ 3 - 0
src/views/powerQuality/realTimeMonitoring/loopMonitor.vue

@@ -13,6 +13,7 @@
               clearable
               filterable
               @change="linkDevice()"
+              :disabled="store.state.authorities.indexOf('查询')==-1"
             >
               <el-option
                 v-for="site in store.state.siteList"
@@ -28,6 +29,7 @@
               v-model="deviceCode"
               placeholder="请选择"
               style="width: 150px"
+              :disabled="store.state.authorities.indexOf('查询')==-1"
             >
               <el-option
                 v-for="device in deviceList"
@@ -41,6 +43,7 @@
             type="primary"
             class="search-button"
             @click="realScoreOne()"
+            :disabled="store.state.authorities.indexOf('查询')==-1"
           >
             搜索
           </el-button>

+ 3 - 0
src/views/powerQuality/realTimeMonitoring/realScore.vue

@@ -13,6 +13,7 @@
               clearable
               filterable
                @change="linkDevice()"
+               :disabled="store.state.authorities.indexOf('查询')==-1"
             >
               <el-option
                 v-for="site in store.state.siteList"
@@ -29,6 +30,7 @@
               v-model="deviceCode"
               placeholder="请选择"
               style="width: 150px"
+              :disabled="store.state.authorities.indexOf('查询')==-1"
             >
               <el-option
                 v-for="device in deviceList"
@@ -45,6 +47,7 @@
             class="search-button"
             style="margin-left: 30px;cursor:pointer!important"
             @click="realScore()"
+            :disabled="store.state.authorities.indexOf('查询')==-1"
           >
             刷新
           </el-button>

+ 4 - 0
src/views/powerQuality/unbalanceAnalysis/index.vue

@@ -14,6 +14,7 @@
               clearable
               filterable
                @change="linkDevice()"
+               :disabled="store.state.authorities.indexOf('查询')==-1"
             >
               <el-option
                 v-for="site in store.state.siteList"
@@ -30,6 +31,7 @@
               v-model="deviceCode"
               placeholder="请选择"
               style="width: 150px"
+              :disabled="store.state.authorities.indexOf('查询')==-1"
             >
               <el-option
                 v-for="device in deviceList"
@@ -49,6 +51,7 @@
               start-placeholder="开始日期"
               end-placeholder="结束日期"
               style="width: auto"
+              :disabled="store.state.authorities.indexOf('查询')==-1"
             ></el-date-picker>
           </div>
 
@@ -56,6 +59,7 @@
             type="primary"
             class="search-button"
             @click="rtRealScore()"
+            :disabled="store.state.authorities.indexOf('查询')==-1"
           >
             搜索
           </el-button>

+ 8 - 4
src/views/siteManage/camera/index.vue

@@ -7,7 +7,7 @@
           <span class="" style="margin-right: 30px">
             【{{ labelCom }}】站点的所有摄像头设备
           </span>
-          <el-button icon="el-icon-plus" type="success" @click="addItem()">
+          <el-button icon="el-icon-plus" type="success" @click="addItem()" :disabled="store.state.authorities.indexOf('新增')==-1">
             新增
           </el-button>
           <a
@@ -34,10 +34,11 @@
           }"
           :file-list="fileList"
           style="margin-right: 10px; display: inline-block"
+          :disabled="store.state.authorities.indexOf('导入')==-1"
         >
-          <el-button size="small" type="primary">导入</el-button>
+          <el-button size="small" type="primary" :disabled="store.state.authorities.indexOf('导入')==-1">导入</el-button>
         </el-upload>
-        <el-button type="primary" @click="DataReportExport()">导出</el-button>
+        <el-button type="primary" @click="DataReportExport()" :disabled="store.state.authorities.indexOf('导出')==-1">导出</el-button>
       </div>
     </div>
     <!-- 筛选end -->
@@ -120,6 +121,7 @@
             type="text"
             size="small"
             @click.prevent="editRow(scope.row)"
+            :disabled="store.state.authorities.indexOf('修改')==-1"
           >
             编辑
           </el-button>
@@ -133,7 +135,7 @@
             @cancel="cancelEvent"
           >
             <template #reference>
-              <el-button type="text" size="small" class="delete-text">
+              <el-button type="text" size="small" class="delete-text" :disabled="store.state.authorities.indexOf('删除')==-1">
                 删除
               </el-button>
             </template>
@@ -612,6 +614,8 @@ export default defineComponent({
       timer,
       deviceCode,
       handleError,
+
+      store
     }
   },
 })

+ 3 - 2
src/views/siteManage/index.vue

@@ -9,7 +9,7 @@
         >
           添加分组
         </el-button>
-        <el-button v-else type="primary" @click="addGroup()">
+        <el-button v-else type="primary" @click="addGroup()" :disabled="store.state.authorities.indexOf('新增')==-1">
           添加分组
         </el-button>
         <el-button
@@ -18,7 +18,7 @@
         >
           添加站点
         </el-button>
-        <el-button v-else type="primary" @click="addSite()">添加站点</el-button>
+        <el-button v-else type="primary" @click="addSite()" :disabled="store.state.authorities.indexOf('新增')==-1">添加站点</el-button>
       </div>
       <el-input
         placeholder="输入关键字进行过滤"
@@ -483,6 +483,7 @@ export default defineComponent({
 
       selectNode,
       num,
+      store
     }
   },
 })

+ 13 - 8
src/views/siteManage/variableList/index.vue

@@ -8,7 +8,7 @@
             【{{ labelCom }}】 站点的所有变量
             
           </span>
-          <el-button icon="el-icon-plus" type="success" @click="addItem()">
+          <el-button icon="el-icon-plus" type="success" @click="addItem()" :disabled="store.state.authorities.indexOf('新增')==-1">
             新增
           </el-button>
           <el-button icon="el-icon-refresh" type="primary">
@@ -18,25 +18,27 @@
         </div>
 
         <div style="margin-top: 15px">
-          <el-button @click="Select(1)" :type="select == 1 ? 'primary' : ''">
+          <el-button @click="Select(1)" :type="select == 1 ? 'primary' : ''" :disabled="store.state.authorities.indexOf('查询')==-1">
             模拟量
           </el-button>
-          <el-button @click="Select(2)" :type="select == 2 ? 'primary' : ''">
+          <el-button @click="Select(2)" :type="select == 2 ? 'primary' : ''" :disabled="store.state.authorities.indexOf('查询')==-1">
             状态量
           </el-button>
-          <el-button @click="Select(3)" :type="select == 3 ? 'primary' : ''">
+          <el-button @click="Select(3)" :type="select == 3 ? 'primary' : ''" :disabled="store.state.authorities.indexOf('查询')==-1">
             参数量
           </el-button>
           <el-input
             placeholder="搜索变量名称"
             style="width: 200px; margin-left: 20px"
             v-model="variableName"
+            :disabled="store.state.authorities.indexOf('查询')==-1"
           ></el-input>
           <el-button
             type="primary"
             icon="el-icon-search"
             class="search-button"
             @click="query()"
+            :disabled="store.state.authorities.indexOf('查询')==-1"
           >
             搜索
           </el-button>
@@ -62,11 +64,12 @@
           }"
           :file-list="fileList"
           style="margin-right: 10px; display: inline-block"
+          :disabled="store.state.authorities.indexOf('导入')==-1"
         >
-          <el-button size="small" type="primary">导入</el-button>
+          <el-button size="small" type="primary" :disabled="store.state.authorities.indexOf('导入')==-1">导入</el-button>
         </el-upload>
 
-        <el-button type="primary" @click="DataReportExport()">导出</el-button>
+        <el-button type="primary" @click="DataReportExport()" :disabled="store.state.authorities.indexOf('导出')==-1">导出</el-button>
       </div>
     </div>
     <!-- 筛选end -->
@@ -133,6 +136,7 @@
             type="text"
             size="small"
             @click.prevent="editRow(scope.row)"
+            :disabled="store.state.authorities.indexOf('修改')==-1"
           >
             修改
           </el-button>
@@ -146,7 +150,7 @@
             @cancel="cancelEvent"
           >
             <template #reference>
-              <el-button type="text" size="small" class="delete-text">
+              <el-button type="text" size="small" class="delete-text" :disabled="store.state.authorities.indexOf('删除')==-1">
                 删除
               </el-button>
             </template>
@@ -450,7 +454,8 @@ export default defineComponent({
       handleProgress,
       handleUpAvatar,
       handleError,
-      labelCom
+      labelCom,
+      store
     }
   },
 })

+ 6 - 3
src/views/siteManage/watchDog/index.vue

@@ -29,10 +29,11 @@
           }"
           :file-list="fileList"
           style="margin-right: 10px; display: inline-block"
+           :disabled="store.state.authorities.indexOf('导入')==-1"
         >
-          <el-button size="small" type="primary">导入</el-button>
+          <el-button size="small" type="primary"  :disabled="store.state.authorities.indexOf('导入')==-1">导入</el-button>
         </el-upload>
-        <el-button type="primary" @click="DataReportExport()">导出</el-button>
+        <el-button type="primary" @click="DataReportExport()"  :disabled="store.state.authorities.indexOf('导出')==-1">导出</el-button>
       </div>
     </div>
     <!-- 筛选end -->
@@ -99,6 +100,7 @@
             type="text"
             size="small"
             @click.prevent="editRow(scope.row)"
+             :disabled="store.state.authorities.indexOf('修改')==-1"
           >
             编辑
           </el-button>
@@ -112,7 +114,7 @@
             @cancel="cancelEvent"
           >
             <template #reference>
-              <el-button type="text" size="small" class="delete-text">
+              <el-button type="text" size="small" class="delete-text"  :disabled="store.state.authorities.indexOf('删除')==-1">
                 删除
               </el-button>
             </template>
@@ -429,6 +431,7 @@ export default defineComponent({
       handleError,
 
       labelCom,
+      store
     }
   },
 })

+ 12 - 4
src/views/stationManage/index.vue

@@ -5,12 +5,13 @@
       <div class="mb-20">所有台区</div>
       <div class="filter-container mb-10">
         <div>
-          <div class="filter-item" style="margin-right:0">
+          <div class="filter-item" style="margin-right: 0">
             台区:
             <el-input
               v-model="platformAreaName"
               placeholder="请输入台区名称"
               style="width: 200px"
+              :disabled="store.state.authorities.indexOf('查询')==-1"
             ></el-input>
           </div>
 
@@ -19,11 +20,12 @@
             icon="el-icon-search"
             class="search-button"
             @click="platformList()"
+            :disabled="store.state.authorities.indexOf('查询')==-1"
           >
             搜索
           </el-button>
 
-          <el-button icon="el-icon-plus" type="success" @click="addItem()">
+          <el-button :disabled="store.state.authorities.indexOf('新增')==-1" icon="el-icon-plus" type="success" @click="addItem()">
             新增
           </el-button>
         </div>
@@ -60,7 +62,7 @@
             <span v-else>{{ scope.row.siteCount }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="挂载设备数量" >
+        <el-table-column label="挂载设备数量">
           <template #default="scope">
             <span>{{ scope.row.deviceCount }}</span>
           </template>
@@ -71,6 +73,7 @@
               type="text"
               size="small"
               @click.prevent="editRow(scope.row)"
+              :disabled="store.state.authorities.indexOf('修改')==-1"
             >
               编辑
             </el-button>
@@ -84,7 +87,8 @@
               @cancel="cancelEvent"
             >
               <template #reference>
-                <el-button type="text" size="small" class="delete-text">
+                <el-button type="text" size="small" class="delete-text" :disabled="store.state.authorities.indexOf('删除')==-1">
+                  
                   删除
                 </el-button>
               </template>
@@ -137,10 +141,12 @@ import { ElMessage } from 'element-plus'
 
 import DialogComponent from './dialogComponent'
 import siteList from './siteList'
+import { useStore } from 'vuex'
 
 export default defineComponent({
   components: { DialogComponent, siteList },
   setup(props, context) {
+    const store = useStore()
     const total = ref(0)
     const pageSize = ref(10)
     const currentPage = ref(1)
@@ -287,6 +293,8 @@ export default defineComponent({
       cancelEvent,
       handleSizeChange,
       handleCurrentChange,
+
+      store,
     }
   },
 })

+ 14 - 8
src/views/systemManage/rolePermission/index.vue

@@ -4,8 +4,8 @@
     <div class="grid-content treeDom roleLeft">
       <div style="" class="mb-20 addBox">
         <b>角色类型</b>
-        <el-button type="success" @click="addRole()">新增</el-button>
-        <el-button type="primary" @click="editRole()">修改</el-button>
+        <el-button type="success" @click="addRole()" :disabled="store.state.authorities.indexOf('新增')==-1">新增</el-button>
+        <el-button type="primary" @click="editRole()" :disabled="store.state.authorities.indexOf('修改')==-1">修改</el-button>
       </div>
       <el-radio-group v-model="radio1">
         <el-radio-button
@@ -16,7 +16,7 @@
         >
           <img src="@/assets/images/userIcon.svg" />
           {{ item.roleName }}
-          <i class="el-icon-delete" @click="deleteRoleItem(item)"></i>
+          <i v-if="store.state.authorities.indexOf('删除')!=-1" class="el-icon-delete" @click="deleteRoleItem(item)"></i>
         </el-radio-button>
       </el-radio-group>
     </div>
@@ -55,10 +55,12 @@ import { ElMessage } from 'element-plus'
 
 import roleInfoCom from './roleInfoCom'
 import addRoleCom from './addRoleCom'
+import { useStore } from 'vuex'
 
 export default defineComponent({
   components: { roleInfoCom, addRoleCom },
   setup() {
+    const store = useStore()
     const radio1 = ref('1')
     const showDialog = ref(false)
     const roleData = ref([])
@@ -128,13 +130,11 @@ export default defineComponent({
     }
 
     const listTabsChange = (value, item) => {
-      // console.log(value)
       radio1.value = value
       objItem.value = item
       roleMenuTreeselect()
       getAuthorityTable()
 
-      // console.log(radio1.value)
     }
 
     // 表格树结构渲染
@@ -184,9 +184,6 @@ export default defineComponent({
       api.getAuthorityTable({roleId:radio1.value}).then((requset) => {
         if (requset.code == 200) {
           menuData2.value = requset.data
-           console.log(  '父组件中menuData2.value')
-          console.log(  menuData2.value)
-
         } else {
           ElMessage.error(requset.msg)
         }
@@ -226,10 +223,18 @@ export default defineComponent({
         }
       })
     }
+
+ 
     onMounted(() => {
+
       roleList()
       roleMenuTreeselect()
       getAuthorityTable()
+
+       console.log('store.state.authorities')
+        console.log(store.state.authorities)
+        console.log(111)
+       console.log(store.state.authorities.indexOf('删除1'))
     })
 
     return {
@@ -251,6 +256,7 @@ export default defineComponent({
       closeDialog,
       objItem,
       getTreeData2,
+      store
     }
   },
 })

+ 3 - 5
src/views/systemManage/rolePermission/roleInfoCom/index.vue

@@ -21,7 +21,7 @@
             :label="item.name"
             :key="item.actionid"
             v-model="item.checked"
-            :disabled="radio1 == 1 ? true : false"
+            :disabled="(radio1 == 1 ||scope.row.menu=='权限管理')? true : false"
             @change="handleCheckedChange"
           ></el-checkbox>
         </template>
@@ -121,13 +121,11 @@ export default defineComponent({
           })
         }
       })
-      console.log('checkedArr.value')
-      console.log(checkedArr.value)
+    //   console.log('checkedArr.value')
+    //   console.log(checkedArr.value)
     }
 
     onMounted(() => {
-      console.log('子组件中的menuData2')
-      console.log(props.menuData2)
       getCheckedArr()
     })
 

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

@@ -5,7 +5,7 @@
       <div class="left">
         <div>
           <span class="" style="margin-right: 30px">用户管理列表</span>
-          <el-button icon="el-icon-plus" type="success" @click="addItem()">
+          <el-button :disabled="store.state.authorities.indexOf('新增')==-1" icon="el-icon-plus" type="success" @click="addItem()">
             新增
           </el-button>
         </div>
@@ -16,6 +16,7 @@
               v-model="userName"
               placeholder="请输入内容"
               style="width: 180px"
+               :disabled="store.state.authorities.indexOf('查询')==-1"
             ></el-input>
           </div>
 
@@ -26,6 +27,7 @@
               placeholder="请选择"
               style="width: 150px"
               clearable
+               :disabled="store.state.authorities.indexOf('查询')==-1"
             >
               <el-option label="正常" value="0"></el-option>
               <el-option label="停用" value="1"></el-option>
@@ -41,9 +43,11 @@
               start-placeholder="开始日期"
               end-placeholder="结束日期"
               style="width: auto"
+               :disabled="store.state.authorities.indexOf('查询')==-1"
             ></el-date-picker>
           </div>
           <el-button
+          :disabled="store.state.authorities.indexOf('查询')==-1"
             type="primary"
             icon="el-icon-search"
             class="search-button"
@@ -89,6 +93,7 @@
             查看
           </el-button>
           <el-button
+          :disabled="store.state.authorities.indexOf('修改')==-1"
             type="text"
             size="small"
             @click.prevent="editRow(scope.row)"