diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts index 2eec0bd..289b46f 100644 --- a/src/store/modules/user.ts +++ b/src/store/modules/user.ts @@ -27,6 +27,7 @@ menus: [] as Menu.menu[], // 菜单权限 btns: [] as Menu.menu[], // 按钮权限 isLogout: 0, // 是否被退出登录 + secretUserLevel: '', // 用户密级 }), getters: { isLogin: (state) => { @@ -101,6 +102,7 @@ const menuStore = useMenuStore() localStorage.removeItem('username') localStorage.removeItem('token') + sessionStorage.removeItem('secretUserLevel') this.username = '' this.token = '' this.roleList = [] @@ -132,6 +134,8 @@ this.id = res.data.id this.username = res.data.account this.name = res.data.name + this.secretUserLevel = res.data.secretLevel + window.sessionStorage.setItem('secretUserLevel', res.data.secretLevel) resolve(res.data) }).catch(() => { reject('获取用户信息错误') diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts index 2eec0bd..289b46f 100644 --- a/src/store/modules/user.ts +++ b/src/store/modules/user.ts @@ -27,6 +27,7 @@ menus: [] as Menu.menu[], // 菜单权限 btns: [] as Menu.menu[], // 按钮权限 isLogout: 0, // 是否被退出登录 + secretUserLevel: '', // 用户密级 }), getters: { isLogin: (state) => { @@ -101,6 +102,7 @@ const menuStore = useMenuStore() localStorage.removeItem('username') localStorage.removeItem('token') + sessionStorage.removeItem('secretUserLevel') this.username = '' this.token = '' this.roleList = [] @@ -132,6 +134,8 @@ this.id = res.data.id this.username = res.data.account this.name = res.data.name + this.secretUserLevel = res.data.secretLevel + window.sessionStorage.setItem('secretUserLevel', res.data.secretLevel) resolve(res.data) }).catch(() => { reject('获取用户信息错误') diff --git a/src/utils/download.ts b/src/utils/download.ts index 88a45c5..2c7964f 100644 --- a/src/utils/download.ts +++ b/src/utils/download.ts @@ -1,3 +1,5 @@ +import { getDictByCode } from '@/api/system/dict' + /** * 下载本地图片 href为 127.0.0.1/xxxx * @param href 图片地址 @@ -120,48 +122,63 @@ * @param url 网络文件地址 * @param name 文件名 */ -export async function download(url: string, name: string) { - return new Promise((resolve) => { - // 下载图片 - const photo = ['jpg', 'jpeg', 'png'] - const fileType = url.split('.')[url.split('.').length - 1] - console.log(fileType, 'fileType') - if (photo.includes(fileType)) { - // 图片 将服务器图片地址转化成本地地址 - const image = new Image() - image.setAttribute('crossOrigin', 'anonymous') - image.src = url - image.onload = () => { - const canvas = document.createElement('canvas') - canvas.width = image.width - canvas.height = image.height - const ctx = canvas.getContext('2d') - ;(ctx as CanvasRenderingContext2D).drawImage( - image, - 0, - 0, - image.width, - image.height, +export async function download(url: string, getName: string) { + let name = getName || '' + getDictByCode('secretUserLevel').then((response) => { + if (response.code === 200) { + if (Array.isArray(response.data) && response.data.length) { + const level = window.sessionStorage.getItem('secretUserLevel') + const index = response.data.findIndex( + (item: { value: string | null }) => item.value === level, ) - canvas.toBlob((blob) => { - const url = URL.createObjectURL(blob as Blob) - downloadImg(url, name) - // 用完释放URL对象 - URL.revokeObjectURL(url) - console.log('111111111111111111') - resolve(' ') - console.log('2222222222') - }) + const systemType = window.localStorage.getItem('systemType') as string + if (index !== -1 && systemType === 'gm') { + name = `【${response.data[index].name}】${name}` + } } } - else { - // 预览一般都是用的a标签,文件下载用的window.open - // 1.pdf文件路径放到window.open里面,点击是进行在线预览 - // 2.word文件和excel文件通过a标签打开时,是直接下载了 - // 将网络地址转化为 blob地址 并下载 - urlToBlob(url, name).then(() => { - resolve(' ') - }) - } + return new Promise((resolve) => { + // 下载图片 + const photo = ['jpg', 'jpeg', 'png'] + const fileType = url.split('.')[url.split('.').length - 1] + console.log(fileType, 'fileType') + if (photo.includes(fileType)) { + // 图片 将服务器图片地址转化成本地地址 + const image = new Image() + image.setAttribute('crossOrigin', 'anonymous') + image.src = url + image.onload = () => { + const canvas = document.createElement('canvas') + canvas.width = image.width + canvas.height = image.height + const ctx = canvas.getContext('2d') + ;(ctx as CanvasRenderingContext2D).drawImage( + image, + 0, + 0, + image.width, + image.height, + ) + canvas.toBlob((blob) => { + const url = URL.createObjectURL(blob as Blob) + downloadImg(url, name) + // 用完释放URL对象 + URL.revokeObjectURL(url) + console.log('111111111111111111') + resolve(' ') + console.log('2222222222') + }) + } + } + else { + // 预览一般都是用的a标签,文件下载用的window.open + // 1.pdf文件路径放到window.open里面,点击是进行在线预览 + // 2.word文件和excel文件通过a标签打开时,是直接下载了 + // 将网络地址转化为 blob地址 并下载 + urlToBlob(url, name).then(() => { + resolve(' ') + }) + } + }) }) } diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts index 2eec0bd..289b46f 100644 --- a/src/store/modules/user.ts +++ b/src/store/modules/user.ts @@ -27,6 +27,7 @@ menus: [] as Menu.menu[], // 菜单权限 btns: [] as Menu.menu[], // 按钮权限 isLogout: 0, // 是否被退出登录 + secretUserLevel: '', // 用户密级 }), getters: { isLogin: (state) => { @@ -101,6 +102,7 @@ const menuStore = useMenuStore() localStorage.removeItem('username') localStorage.removeItem('token') + sessionStorage.removeItem('secretUserLevel') this.username = '' this.token = '' this.roleList = [] @@ -132,6 +134,8 @@ this.id = res.data.id this.username = res.data.account this.name = res.data.name + this.secretUserLevel = res.data.secretLevel + window.sessionStorage.setItem('secretUserLevel', res.data.secretLevel) resolve(res.data) }).catch(() => { reject('获取用户信息错误') diff --git a/src/utils/download.ts b/src/utils/download.ts index 88a45c5..2c7964f 100644 --- a/src/utils/download.ts +++ b/src/utils/download.ts @@ -1,3 +1,5 @@ +import { getDictByCode } from '@/api/system/dict' + /** * 下载本地图片 href为 127.0.0.1/xxxx * @param href 图片地址 @@ -120,48 +122,63 @@ * @param url 网络文件地址 * @param name 文件名 */ -export async function download(url: string, name: string) { - return new Promise((resolve) => { - // 下载图片 - const photo = ['jpg', 'jpeg', 'png'] - const fileType = url.split('.')[url.split('.').length - 1] - console.log(fileType, 'fileType') - if (photo.includes(fileType)) { - // 图片 将服务器图片地址转化成本地地址 - const image = new Image() - image.setAttribute('crossOrigin', 'anonymous') - image.src = url - image.onload = () => { - const canvas = document.createElement('canvas') - canvas.width = image.width - canvas.height = image.height - const ctx = canvas.getContext('2d') - ;(ctx as CanvasRenderingContext2D).drawImage( - image, - 0, - 0, - image.width, - image.height, +export async function download(url: string, getName: string) { + let name = getName || '' + getDictByCode('secretUserLevel').then((response) => { + if (response.code === 200) { + if (Array.isArray(response.data) && response.data.length) { + const level = window.sessionStorage.getItem('secretUserLevel') + const index = response.data.findIndex( + (item: { value: string | null }) => item.value === level, ) - canvas.toBlob((blob) => { - const url = URL.createObjectURL(blob as Blob) - downloadImg(url, name) - // 用完释放URL对象 - URL.revokeObjectURL(url) - console.log('111111111111111111') - resolve(' ') - console.log('2222222222') - }) + const systemType = window.localStorage.getItem('systemType') as string + if (index !== -1 && systemType === 'gm') { + name = `【${response.data[index].name}】${name}` + } } } - else { - // 预览一般都是用的a标签,文件下载用的window.open - // 1.pdf文件路径放到window.open里面,点击是进行在线预览 - // 2.word文件和excel文件通过a标签打开时,是直接下载了 - // 将网络地址转化为 blob地址 并下载 - urlToBlob(url, name).then(() => { - resolve(' ') - }) - } + return new Promise((resolve) => { + // 下载图片 + const photo = ['jpg', 'jpeg', 'png'] + const fileType = url.split('.')[url.split('.').length - 1] + console.log(fileType, 'fileType') + if (photo.includes(fileType)) { + // 图片 将服务器图片地址转化成本地地址 + const image = new Image() + image.setAttribute('crossOrigin', 'anonymous') + image.src = url + image.onload = () => { + const canvas = document.createElement('canvas') + canvas.width = image.width + canvas.height = image.height + const ctx = canvas.getContext('2d') + ;(ctx as CanvasRenderingContext2D).drawImage( + image, + 0, + 0, + image.width, + image.height, + ) + canvas.toBlob((blob) => { + const url = URL.createObjectURL(blob as Blob) + downloadImg(url, name) + // 用完释放URL对象 + URL.revokeObjectURL(url) + console.log('111111111111111111') + resolve(' ') + console.log('2222222222') + }) + } + } + else { + // 预览一般都是用的a标签,文件下载用的window.open + // 1.pdf文件路径放到window.open里面,点击是进行在线预览 + // 2.word文件和excel文件通过a标签打开时,是直接下载了 + // 将网络地址转化为 blob地址 并下载 + urlToBlob(url, name).then(() => { + resolve(' ') + }) + } + }) }) } diff --git a/src/utils/exportUtils.ts b/src/utils/exportUtils.ts index e91b303..a58eaf5 100644 --- a/src/utils/exportUtils.ts +++ b/src/utils/exportUtils.ts @@ -1,22 +1,37 @@ +import { getDictByCode } from '@/api/system/dict' + /** * 导出文件工具 * @param blob 文件 * @param fileName 导出文件名 */ -export function exportFile(blob: Blob, fileName: string) { - if (window.navigator && (window.navigator as any).msSaveOrOpenBlob) { - (navigator as any).msSaveBlob(blob, fileName) - } - else { - const downloadElement = document.createElement('a') - const href = window.URL.createObjectURL(blob) // 创建下载的链接 - downloadElement.href = href - downloadElement.download = fileName - document.body.appendChild(downloadElement) - downloadElement.click() // 点击下载 - document.body.removeChild(downloadElement) // 下载完成移除元素 - window.URL.revokeObjectURL(href) // 释放blob对象 - } +export function exportFile(blob: Blob, getFileName: string) { + let fileName = getFileName || '' + getDictByCode('secretUserLevel').then((response) => { + if (response.code === 200) { + if (Array.isArray(response.data) && response.data.length) { + const level = window.sessionStorage.getItem('secretUserLevel') + const index = response.data.findIndex((item: { value: string | null }) => item.value === level) + const systemType = window.localStorage.getItem('systemType') as string + if (index !== -1 && systemType === 'gm') { + fileName = `【${response.data[index].name}】${fileName}` + } + } + } + if (window.navigator && (window.navigator as any).msSaveOrOpenBlob) { + (navigator as any).msSaveBlob(blob, fileName) + } + else { + const downloadElement = document.createElement('a') + const href = window.URL.createObjectURL(blob) // 创建下载的链接 + downloadElement.href = href + downloadElement.download = fileName + document.body.appendChild(downloadElement) + downloadElement.click() // 点击下载 + document.body.removeChild(downloadElement) // 下载完成移除元素 + window.URL.revokeObjectURL(href) // 释放blob对象 + } + }) } export const base64ToBlob = (dataurl) => { diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts index 2eec0bd..289b46f 100644 --- a/src/store/modules/user.ts +++ b/src/store/modules/user.ts @@ -27,6 +27,7 @@ menus: [] as Menu.menu[], // 菜单权限 btns: [] as Menu.menu[], // 按钮权限 isLogout: 0, // 是否被退出登录 + secretUserLevel: '', // 用户密级 }), getters: { isLogin: (state) => { @@ -101,6 +102,7 @@ const menuStore = useMenuStore() localStorage.removeItem('username') localStorage.removeItem('token') + sessionStorage.removeItem('secretUserLevel') this.username = '' this.token = '' this.roleList = [] @@ -132,6 +134,8 @@ this.id = res.data.id this.username = res.data.account this.name = res.data.name + this.secretUserLevel = res.data.secretLevel + window.sessionStorage.setItem('secretUserLevel', res.data.secretLevel) resolve(res.data) }).catch(() => { reject('获取用户信息错误') diff --git a/src/utils/download.ts b/src/utils/download.ts index 88a45c5..2c7964f 100644 --- a/src/utils/download.ts +++ b/src/utils/download.ts @@ -1,3 +1,5 @@ +import { getDictByCode } from '@/api/system/dict' + /** * 下载本地图片 href为 127.0.0.1/xxxx * @param href 图片地址 @@ -120,48 +122,63 @@ * @param url 网络文件地址 * @param name 文件名 */ -export async function download(url: string, name: string) { - return new Promise((resolve) => { - // 下载图片 - const photo = ['jpg', 'jpeg', 'png'] - const fileType = url.split('.')[url.split('.').length - 1] - console.log(fileType, 'fileType') - if (photo.includes(fileType)) { - // 图片 将服务器图片地址转化成本地地址 - const image = new Image() - image.setAttribute('crossOrigin', 'anonymous') - image.src = url - image.onload = () => { - const canvas = document.createElement('canvas') - canvas.width = image.width - canvas.height = image.height - const ctx = canvas.getContext('2d') - ;(ctx as CanvasRenderingContext2D).drawImage( - image, - 0, - 0, - image.width, - image.height, +export async function download(url: string, getName: string) { + let name = getName || '' + getDictByCode('secretUserLevel').then((response) => { + if (response.code === 200) { + if (Array.isArray(response.data) && response.data.length) { + const level = window.sessionStorage.getItem('secretUserLevel') + const index = response.data.findIndex( + (item: { value: string | null }) => item.value === level, ) - canvas.toBlob((blob) => { - const url = URL.createObjectURL(blob as Blob) - downloadImg(url, name) - // 用完释放URL对象 - URL.revokeObjectURL(url) - console.log('111111111111111111') - resolve(' ') - console.log('2222222222') - }) + const systemType = window.localStorage.getItem('systemType') as string + if (index !== -1 && systemType === 'gm') { + name = `【${response.data[index].name}】${name}` + } } } - else { - // 预览一般都是用的a标签,文件下载用的window.open - // 1.pdf文件路径放到window.open里面,点击是进行在线预览 - // 2.word文件和excel文件通过a标签打开时,是直接下载了 - // 将网络地址转化为 blob地址 并下载 - urlToBlob(url, name).then(() => { - resolve(' ') - }) - } + return new Promise((resolve) => { + // 下载图片 + const photo = ['jpg', 'jpeg', 'png'] + const fileType = url.split('.')[url.split('.').length - 1] + console.log(fileType, 'fileType') + if (photo.includes(fileType)) { + // 图片 将服务器图片地址转化成本地地址 + const image = new Image() + image.setAttribute('crossOrigin', 'anonymous') + image.src = url + image.onload = () => { + const canvas = document.createElement('canvas') + canvas.width = image.width + canvas.height = image.height + const ctx = canvas.getContext('2d') + ;(ctx as CanvasRenderingContext2D).drawImage( + image, + 0, + 0, + image.width, + image.height, + ) + canvas.toBlob((blob) => { + const url = URL.createObjectURL(blob as Blob) + downloadImg(url, name) + // 用完释放URL对象 + URL.revokeObjectURL(url) + console.log('111111111111111111') + resolve(' ') + console.log('2222222222') + }) + } + } + else { + // 预览一般都是用的a标签,文件下载用的window.open + // 1.pdf文件路径放到window.open里面,点击是进行在线预览 + // 2.word文件和excel文件通过a标签打开时,是直接下载了 + // 将网络地址转化为 blob地址 并下载 + urlToBlob(url, name).then(() => { + resolve(' ') + }) + } + }) }) } diff --git a/src/utils/exportUtils.ts b/src/utils/exportUtils.ts index e91b303..a58eaf5 100644 --- a/src/utils/exportUtils.ts +++ b/src/utils/exportUtils.ts @@ -1,22 +1,37 @@ +import { getDictByCode } from '@/api/system/dict' + /** * 导出文件工具 * @param blob 文件 * @param fileName 导出文件名 */ -export function exportFile(blob: Blob, fileName: string) { - if (window.navigator && (window.navigator as any).msSaveOrOpenBlob) { - (navigator as any).msSaveBlob(blob, fileName) - } - else { - const downloadElement = document.createElement('a') - const href = window.URL.createObjectURL(blob) // 创建下载的链接 - downloadElement.href = href - downloadElement.download = fileName - document.body.appendChild(downloadElement) - downloadElement.click() // 点击下载 - document.body.removeChild(downloadElement) // 下载完成移除元素 - window.URL.revokeObjectURL(href) // 释放blob对象 - } +export function exportFile(blob: Blob, getFileName: string) { + let fileName = getFileName || '' + getDictByCode('secretUserLevel').then((response) => { + if (response.code === 200) { + if (Array.isArray(response.data) && response.data.length) { + const level = window.sessionStorage.getItem('secretUserLevel') + const index = response.data.findIndex((item: { value: string | null }) => item.value === level) + const systemType = window.localStorage.getItem('systemType') as string + if (index !== -1 && systemType === 'gm') { + fileName = `【${response.data[index].name}】${fileName}` + } + } + } + if (window.navigator && (window.navigator as any).msSaveOrOpenBlob) { + (navigator as any).msSaveBlob(blob, fileName) + } + else { + const downloadElement = document.createElement('a') + const href = window.URL.createObjectURL(blob) // 创建下载的链接 + downloadElement.href = href + downloadElement.download = fileName + document.body.appendChild(downloadElement) + downloadElement.click() // 点击下载 + document.body.removeChild(downloadElement) // 下载完成移除元素 + window.URL.revokeObjectURL(href) // 释放blob对象 + } + }) } export const base64ToBlob = (dataurl) => { diff --git a/src/views/alarm/dangerAssessment/assessment/list.vue b/src/views/alarm/dangerAssessment/assessment/list.vue index 0814cf1..0038682 100644 --- a/src/views/alarm/dangerAssessment/assessment/list.vue +++ b/src/views/alarm/dangerAssessment/assessment/list.vue @@ -3,6 +3,7 @@ import { getCurrentInstance, ref } from 'vue' import type { Ref } from 'vue' import type { DateModelType } from 'element-plus' +import { getDictByCode } from '@/api/system/dict' import LineChart from '@/components/Echart/LineChart.vue' import BarChartHorizontal from '@/components/Echart/BarChartHorizontal.vue' import { getAreaDanger, getDangerCategory, getDeptAlarmDate, getDeptAlarmRecord, getDeptDanger } from '@/api/alarm/dangerAssessment/statistics' @@ -188,7 +189,21 @@ onBeforeMount(() => { calcBlockSize() }) +const secretLevelUserName = ref('') // 当前登录用户的密级 +const systemType = ref('') // 系统类型 sm/gm onMounted(() => { + systemType.value = window.localStorage.getItem('systemType') as string + getDictByCode('secretUserLevel').then((response) => { + if (response.code === 200) { + if (Array.isArray(response.data) && response.data.length) { + const level = window.sessionStorage.getItem('secretUserLevel') + const index = response.data.findIndex((item: { value: string | null }) => item.value === level) + if (index !== -1 && systemType.value === 'gm') { + secretLevelUserName.value = response.data[index].name + } + } + } + }) fetchDangerCategory() getLastMonthAlarm() // 单位近一个月报警分析 // getSafeCatogery() // 获取安全隐患类别 @@ -205,8 +220,8 @@
-
- {{ item.name }} +
+ {{ item.name }}-{{ secretLevelUserName }}
{{ item.value }} @@ -219,7 +234,7 @@ - + - + - + { @@ -101,6 +102,7 @@ const menuStore = useMenuStore() localStorage.removeItem('username') localStorage.removeItem('token') + sessionStorage.removeItem('secretUserLevel') this.username = '' this.token = '' this.roleList = [] @@ -132,6 +134,8 @@ this.id = res.data.id this.username = res.data.account this.name = res.data.name + this.secretUserLevel = res.data.secretLevel + window.sessionStorage.setItem('secretUserLevel', res.data.secretLevel) resolve(res.data) }).catch(() => { reject('获取用户信息错误') diff --git a/src/utils/download.ts b/src/utils/download.ts index 88a45c5..2c7964f 100644 --- a/src/utils/download.ts +++ b/src/utils/download.ts @@ -1,3 +1,5 @@ +import { getDictByCode } from '@/api/system/dict' + /** * 下载本地图片 href为 127.0.0.1/xxxx * @param href 图片地址 @@ -120,48 +122,63 @@ * @param url 网络文件地址 * @param name 文件名 */ -export async function download(url: string, name: string) { - return new Promise((resolve) => { - // 下载图片 - const photo = ['jpg', 'jpeg', 'png'] - const fileType = url.split('.')[url.split('.').length - 1] - console.log(fileType, 'fileType') - if (photo.includes(fileType)) { - // 图片 将服务器图片地址转化成本地地址 - const image = new Image() - image.setAttribute('crossOrigin', 'anonymous') - image.src = url - image.onload = () => { - const canvas = document.createElement('canvas') - canvas.width = image.width - canvas.height = image.height - const ctx = canvas.getContext('2d') - ;(ctx as CanvasRenderingContext2D).drawImage( - image, - 0, - 0, - image.width, - image.height, +export async function download(url: string, getName: string) { + let name = getName || '' + getDictByCode('secretUserLevel').then((response) => { + if (response.code === 200) { + if (Array.isArray(response.data) && response.data.length) { + const level = window.sessionStorage.getItem('secretUserLevel') + const index = response.data.findIndex( + (item: { value: string | null }) => item.value === level, ) - canvas.toBlob((blob) => { - const url = URL.createObjectURL(blob as Blob) - downloadImg(url, name) - // 用完释放URL对象 - URL.revokeObjectURL(url) - console.log('111111111111111111') - resolve(' ') - console.log('2222222222') - }) + const systemType = window.localStorage.getItem('systemType') as string + if (index !== -1 && systemType === 'gm') { + name = `【${response.data[index].name}】${name}` + } } } - else { - // 预览一般都是用的a标签,文件下载用的window.open - // 1.pdf文件路径放到window.open里面,点击是进行在线预览 - // 2.word文件和excel文件通过a标签打开时,是直接下载了 - // 将网络地址转化为 blob地址 并下载 - urlToBlob(url, name).then(() => { - resolve(' ') - }) - } + return new Promise((resolve) => { + // 下载图片 + const photo = ['jpg', 'jpeg', 'png'] + const fileType = url.split('.')[url.split('.').length - 1] + console.log(fileType, 'fileType') + if (photo.includes(fileType)) { + // 图片 将服务器图片地址转化成本地地址 + const image = new Image() + image.setAttribute('crossOrigin', 'anonymous') + image.src = url + image.onload = () => { + const canvas = document.createElement('canvas') + canvas.width = image.width + canvas.height = image.height + const ctx = canvas.getContext('2d') + ;(ctx as CanvasRenderingContext2D).drawImage( + image, + 0, + 0, + image.width, + image.height, + ) + canvas.toBlob((blob) => { + const url = URL.createObjectURL(blob as Blob) + downloadImg(url, name) + // 用完释放URL对象 + URL.revokeObjectURL(url) + console.log('111111111111111111') + resolve(' ') + console.log('2222222222') + }) + } + } + else { + // 预览一般都是用的a标签,文件下载用的window.open + // 1.pdf文件路径放到window.open里面,点击是进行在线预览 + // 2.word文件和excel文件通过a标签打开时,是直接下载了 + // 将网络地址转化为 blob地址 并下载 + urlToBlob(url, name).then(() => { + resolve(' ') + }) + } + }) }) } diff --git a/src/utils/exportUtils.ts b/src/utils/exportUtils.ts index e91b303..a58eaf5 100644 --- a/src/utils/exportUtils.ts +++ b/src/utils/exportUtils.ts @@ -1,22 +1,37 @@ +import { getDictByCode } from '@/api/system/dict' + /** * 导出文件工具 * @param blob 文件 * @param fileName 导出文件名 */ -export function exportFile(blob: Blob, fileName: string) { - if (window.navigator && (window.navigator as any).msSaveOrOpenBlob) { - (navigator as any).msSaveBlob(blob, fileName) - } - else { - const downloadElement = document.createElement('a') - const href = window.URL.createObjectURL(blob) // 创建下载的链接 - downloadElement.href = href - downloadElement.download = fileName - document.body.appendChild(downloadElement) - downloadElement.click() // 点击下载 - document.body.removeChild(downloadElement) // 下载完成移除元素 - window.URL.revokeObjectURL(href) // 释放blob对象 - } +export function exportFile(blob: Blob, getFileName: string) { + let fileName = getFileName || '' + getDictByCode('secretUserLevel').then((response) => { + if (response.code === 200) { + if (Array.isArray(response.data) && response.data.length) { + const level = window.sessionStorage.getItem('secretUserLevel') + const index = response.data.findIndex((item: { value: string | null }) => item.value === level) + const systemType = window.localStorage.getItem('systemType') as string + if (index !== -1 && systemType === 'gm') { + fileName = `【${response.data[index].name}】${fileName}` + } + } + } + if (window.navigator && (window.navigator as any).msSaveOrOpenBlob) { + (navigator as any).msSaveBlob(blob, fileName) + } + else { + const downloadElement = document.createElement('a') + const href = window.URL.createObjectURL(blob) // 创建下载的链接 + downloadElement.href = href + downloadElement.download = fileName + document.body.appendChild(downloadElement) + downloadElement.click() // 点击下载 + document.body.removeChild(downloadElement) // 下载完成移除元素 + window.URL.revokeObjectURL(href) // 释放blob对象 + } + }) } export const base64ToBlob = (dataurl) => { diff --git a/src/views/alarm/dangerAssessment/assessment/list.vue b/src/views/alarm/dangerAssessment/assessment/list.vue index 0814cf1..0038682 100644 --- a/src/views/alarm/dangerAssessment/assessment/list.vue +++ b/src/views/alarm/dangerAssessment/assessment/list.vue @@ -3,6 +3,7 @@ import { getCurrentInstance, ref } from 'vue' import type { Ref } from 'vue' import type { DateModelType } from 'element-plus' +import { getDictByCode } from '@/api/system/dict' import LineChart from '@/components/Echart/LineChart.vue' import BarChartHorizontal from '@/components/Echart/BarChartHorizontal.vue' import { getAreaDanger, getDangerCategory, getDeptAlarmDate, getDeptAlarmRecord, getDeptDanger } from '@/api/alarm/dangerAssessment/statistics' @@ -188,7 +189,21 @@ onBeforeMount(() => { calcBlockSize() }) +const secretLevelUserName = ref('') // 当前登录用户的密级 +const systemType = ref('') // 系统类型 sm/gm onMounted(() => { + systemType.value = window.localStorage.getItem('systemType') as string + getDictByCode('secretUserLevel').then((response) => { + if (response.code === 200) { + if (Array.isArray(response.data) && response.data.length) { + const level = window.sessionStorage.getItem('secretUserLevel') + const index = response.data.findIndex((item: { value: string | null }) => item.value === level) + if (index !== -1 && systemType.value === 'gm') { + secretLevelUserName.value = response.data[index].name + } + } + } + }) fetchDangerCategory() getLastMonthAlarm() // 单位近一个月报警分析 // getSafeCatogery() // 获取安全隐患类别 @@ -205,8 +220,8 @@
-
- {{ item.name }} +
+ {{ item.name }}-{{ secretLevelUserName }}
{{ item.value }} @@ -219,7 +234,7 @@ - + - + - + { showEchart.value = !showEchart.value } + +const secretLevelUserName = ref('') +const systemType = ref('') +onMounted(() => { + systemType.value = window.localStorage.getItem('systemType') + getDictByCode('secretUserLevel').then((response) => { + if (response.code === 200) { + if (Array.isArray(response.data) && response.data.length) { + const level = window.sessionStorage.getItem('secretUserLevel') + const index = response.data.findIndex(item => item.value === level) + if (index !== -1 && systemType.value === 'gm') { + secretLevelUserName.value = response.data[index].name + } + } + } + }) +})