Browse Source

表格模块添加权限

chenlei 5 months ago
parent
commit
8bbcff0b68

+ 36 - 0
src/hooks/useAuthBtn.js

@@ -137,6 +137,42 @@ export const myETABtn={
     myChart_classifyOpt_delete:'myChart:classifyOpt:delete',//删除
 }
 
+/*
+ * --------------------------------------------------------------------------ETA表格------------------------------------------------
+*/
+export const etaTablePermission = {
+    /*-----------混合表格页面--------- */
+    etaTable_customize_mix_classifyOpt_edit: 'etaTable:customize:mix:classifyOpt:edit',//混合表格分类操作
+    etaTable_customize_mix_classifyOpt_delete: 'etaTable:customize:mix:classifyOpt:delete',//混合表格分类删除
+    etaTable_customize_mix_refresh:'etaTable:customize:mix:refresh',//刷新
+    etaTable_customize_mix_download:'etaTable:customize:mix:download',//下载
+    etaTable_customize_mix_save:'etaTable:customize:mix:save',//保存
+    etaTable_customize_mix_del:'etaTable:customize:mix:del',//删除
+
+    /*-----------时间序列表格数据表格页面--------- */
+    etaTable_customize_data_classifyOpt_edit: 'etaTable:customize:data:classifyOpt:edit',//数据表格分类操作
+    etaTable_customize_data_classifyOpt_delete: 'etaTable:customize:data:classifyOpt:delete',//数据表格分类删除
+    etaTable_customize_data_refresh:'etaTable:customize:data:refresh',//刷新
+    etaTable_customize_data_download:'etaTable:customize:data:download',//下载
+    etaTable_customize_data_del:'etaTable:customize:data:del',//删除
+    etaTable_customize_data_save:'etaTable:customize:data:save',//保存
+
+    /*-----------excel共享表格页面--------- */
+    etaTable_excel_classifyOpt_edit:'etaTable:excel:classifyOpt:edit',//添加编辑表格
+    etaTable_excel_classifyOpt_delete:'etaTable:excel:classifyOpt:delete',//删除表格
+    etaTable_excel_del:'etaTable:excel:del',
+    etaTable_excel_download:'etaTable:excel:download',
+    etaTable_excel_save:'etaTable:excel:save',//保存
+    etaTable_excel_edit:'etaTable:excel:edit',
+
+    /*-----------excel平衡表页面--------- */
+    etaTable_customize_balance_sheetAdd:'etaTable:customize:balance:sheetAdd',//添加
+    etaTable_customize_balance_del:'etaTable:customize:balance:del',//删除
+    etaTable_customize_balance_download:'etaTable:customize:balance:download',//下载
+    etaTable_customize_balance_refresh:'etaTable:customize:balance:refresh',//刷新
+    etaTable_customize_balance_edit:'etaTable:customize:balance:edit',//编辑
+    etaTable_customize_balance_classifyOpt_delete:'etaTable:customize:balance:classifyOpt:delete',//删除分类
+}
 
 export function useAuthBtn(){
     const isShowBtn = ()=>{}

+ 7 - 5
src/views/sheetList/balanceDetail.vue

@@ -6,6 +6,8 @@ import { useWindowSize } from '@vueuse/core'
 import { showToast, showDialog  } from "vant";
 import {usePublicSettingStore} from '@/store/modules/publicSetting'
 import {getStaticImg} from '@/hooks/common.js'
+import {etaTablePermission,useAuthBtn} from '@/hooks/useAuthBtn'
+const {checkAuthBtn} = useAuthBtn()
 const publicSettingStore = usePublicSettingStore()
 // import { useDownLoadFile } from '@/hooks/useDownLoadFile'
 const { appContext : { config: { globalProperties } } } = getCurrentInstance();
@@ -21,11 +23,11 @@ let showVersionPicker = ref(false)
 const chartList = ref([])
 const sheetActions = computed(() => {
     const list = [
-        { label: globalProperties.$t('shared_table.refresh'), types:'flushed', src: getStaticImg('table/flushed.png') },
-        { label: globalProperties.$t('shared_table.download'), types:'download', src: getStaticImg('table/download.png')},
-        { label: globalProperties.$t('shared_table.delete'), types:'delete', src: getStaticImg('table/delete.png')},
+        { label: globalProperties.$t('shared_table.refresh'), types:'flushed', src: getStaticImg('table/flushed.png'), isAuth: etaTablePermission.etaTable_customize_balance_refresh},
+        { label: globalProperties.$t('shared_table.download'), types:'download', src: getStaticImg('table/download.png'), isAuth:etaTablePermission.etaTable_customize_balance_download},
+        { label: globalProperties.$t('shared_table.delete'), types:'delete', src: getStaticImg('table/delete.png'), isAuth: etaTablePermission.etaTable_customize_balance_del},
     ]
-    if (chartList.value && chartList.value.length > 0) list.unshift({ label: globalProperties.$t('shared_table.chart'), types:'chart', src: getStaticImg('table/chart.png')})
+    if (chartList.value && chartList.value.length > 0) list.unshift({ label: globalProperties.$t('shared_table.chart'), types:'chart', src: getStaticImg('table/chart.png'), isAuth: etaTablePermission.etaTable_customize_balance_edit })
     return list
 })
 const customFieldName = {
@@ -300,7 +302,7 @@ function goChart () {
         </div>
         <div class="bottom">
             <div v-for="item in sheetActions" :key="item.types">
-                <div class="bottom-item" @click="handleActionClick(item)">
+                <div class="bottom-item" @click="handleActionClick(item)" v-if="item.isAuth">
                     <img :src="item.src" alt="">
                     <div>{{item.label}}</div>
                 </div>

+ 11 - 6
src/views/sheetList/sharedDetail.vue

@@ -6,6 +6,8 @@ import apiSheet from '@/api/sheet'
 import { useWindowSize } from '@vueuse/core'
 import { showToast, showDialog  } from "vant";
 import {usePublicSettingStore} from '@/store/modules/publicSetting'
+import {etaTablePermission,useAuthBtn} from '@/hooks/useAuthBtn'
+const {checkAuthBtn} = useAuthBtn()
 const publicSettingStore = usePublicSettingStore()
 // import { useDownLoadFile } from '@/hooks/useDownLoadFile'
 const { appContext : { config: { globalProperties } } } = getCurrentInstance();
@@ -18,12 +20,15 @@ const link = ref(publicSettingStore.publicSetting.ChartViewUrl);
 let showMoreAction = ref(false)
 
 const sheetActions = computed(() => {
+    let authList = []
+    const Source = route.query.Source
+    if(Source === 1) authList = [ etaTablePermission.etaTable_customize_mix_refresh, etaTablePermission.etaTable_customize_mix_download, etaTablePermission.etaTable_customize_mix_del]
+    else if (Source === 2) authList = [ etaTablePermission.etaTable_customize_data_refresh, etaTablePermission.etaTable_customize_data_download, etaTablePermission.etaTable_customize_data_del]
+    else authList = [ etaTablePermission.etaTable_customize_mix_refresh, etaTablePermission.etaTable_excel_download, etaTablePermission.etaTable_excel_del]
     return [
-        // { label: globalProperties.$t('shared_table.chart'), types:'cancel', src: getStaticImg('table/chart.png')},
-        { label: globalProperties.$t('shared_table.refresh'), types:'flushed', src: getStaticImg('table/flushed.png') },
-        { label: globalProperties.$t('shared_table.download'), types:'download', src: getStaticImg('table/download.png')},
-        { label: globalProperties.$t('shared_table.delete'), types:'delete', src: getStaticImg('table/delete.png')},
-        // { label: globalProperties.$t('shared_table.cancel'), types:'cancel', src: getStaticImg('table/chart.png')},
+        { label: globalProperties.$t('shared_table.refresh'), types:'flushed', src: getStaticImg('table/flushed.png'), isAuth: Source === 2 ? true : checkAuthBtn(authList[0]) }, /* 因为pc端时间序列表格没有刷新这个权限,所以暂时直接给true */
+        { label: globalProperties.$t('shared_table.download'), types:'download', src: getStaticImg('table/download.png'), isAuth: checkAuthBtn(authList[1])},
+        { label: globalProperties.$t('shared_table.delete'), types:'delete', src: getStaticImg('table/delete.png'), isAuth: checkAuthBtn(authList[2])},
     ]
 })
 
@@ -209,7 +214,7 @@ function Base64() {
         </div>
         <div class="bottom">
             <div v-for="item in sheetActions" :key="item.types">
-                <div class="bottom-item" @click="handleActionClick(item)">
+                <div class="bottom-item" @click="handleActionClick(item)" v-if="item.isAuth">
                     <img :src="item.src" alt="">
                     <div>{{item.label}}</div>
                 </div>

+ 2 - 1
src/views/sheetList/sharedList.vue

@@ -122,12 +122,13 @@ async function getCatalogList(){
 function showFileOpt(item){
     console.log(item);
 }
-//跳转至图表详情页
+//跳转至详情页
 const goSheetDetail = (item)=>{
     router.push({
         path:'/shared/detail',
         query:{
             id:item.ExcelInfoId,
+            Source:item.Source,
         }
     })
 }