wyf 7 месяцев назад
Родитель
Сommit
3c08bf1125

+ 8 - 5
src/views/traffic/violation/act/Act.vue

@@ -6,7 +6,7 @@
     <main class="safety-platform-container__main">
       <div class="search-table-container">
         <header>
-          <div style="position: relative">
+          <div v-if="actManagementPermission" style="position: relative">
             <el-button type="primary" class="search-table-container--button" :icon="Plus" @click="handleCreateAct">
               新建记录
             </el-button>
@@ -73,7 +73,7 @@
         </header>
         <!-- 表格 -->
         <div class="batch-table">
-          <div class="batch-operation--div" v-show="trafficManagementPermission && selectionItems.length > 0">
+          <div class="batch-operation--div" v-show="actManagementPermission && selectionItems.length > 0">
             <span>已选{{ selectionItems.length }}项</span>
             <div class="batch-operation--div--close">
               <div class="batch-operation--div--button">
@@ -155,7 +155,7 @@
   import RealtimeNotice from './components/RealtimeNotice.vue';
   import dayjs from 'dayjs';
   import { ElMessage } from 'element-plus';
-  import { TABLE_OPTIONS, VIOLATION_ACT_TABLE_COLUMNS } from './configs/tables';
+  import { TABLE_OPTIONS, VIOLATION_ACT_TABLE_COLUMNS, VIOLATION_NOTICE_TABLE_COLUMNS } from './configs/tables';
   import {
     ACT_NOTICE_DATA_SOURCE_LABEL,
     ACT_VIOLATION_TYPE,
@@ -190,7 +190,7 @@
   const router = useRouter();
 
   const { permissions } = useUserInfoHook();
-  const trafficManagementPermission = ref<Boolean>(
+  const actManagementPermission = ref<Boolean>(
     Boolean(permissions.find((item: { code: string }) => item.code === ACT_MANAGEMENT_PROMISSION_CODE)),
   );
 
@@ -250,7 +250,10 @@
   // 表格
   const basicTableRef = ref<InstanceType<typeof BasicTable>>();
 
-  const { tableConfig, pagination } = useTableConfig(VIOLATION_ACT_TABLE_COLUMNS, TABLE_OPTIONS);
+  const { tableConfig, pagination } = useTableConfig(
+    actManagementPermission ? VIOLATION_ACT_TABLE_COLUMNS : VIOLATION_NOTICE_TABLE_COLUMNS,
+    TABLE_OPTIONS,
+  );
 
   const tableData = ref<ActTableData[]>([]);
 

+ 7 - 2
src/views/traffic/violation/notice/Notice.vue

@@ -57,7 +57,7 @@
             <section class="search-btn">
               <el-button type="primary" @click="handleSearch">查询</el-button>
               <el-button @click="handleReset">重置</el-button>
-              <el-button @click="handleDownload">导出</el-button>
+              <el-button v-if="noticeManagementPermission" @click="handleDownload">导出</el-button>
             </section>
           </div>
         </header>
@@ -114,6 +114,7 @@
     ACT_NOTICE_STATE,
     ACT_NOTICE_STATE_LABEL,
     ACT_NOTICE_STATE_COLOR,
+    NOTICE_MANAGEMENT_PROMISSION_CODE,
   } from '../act/constants';
   import { ref, reactive, onMounted } from 'vue';
   import { useRouter } from 'vue-router';
@@ -122,8 +123,12 @@
   import { getActTableList, exportActViolation } from '@/api/traffic-violation/traffic-act';
   import { downloadFile } from '@/views/disaster/utils/download';
   import ImageViewer from '../act/components/ImageViewer.vue';
+  import { useUserInfoHook } from '@/hooks/useUserInfoHook';
 
-  const router = useRouter();
+  const { permissions } = useUserInfoHook();
+  const noticeManagementPermission = ref<Boolean>(
+    Boolean(permissions.find((item: { code: string }) => item.code === NOTICE_MANAGEMENT_PROMISSION_CODE)),
+  );
 
   // 搜索栏
   const selectableInputRef = ref<InstanceType<typeof SelectableInput>>();