添加链接
This commit is contained in:
@@ -208,7 +208,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div style=" display: flex; width: 100%;margin-top: 1vw; flex: 1; justify-content: flex-end;">
|
||||
<AlertList style="margin-right: 1vw;" title="告警详情" :list-data="mockData.alertData.details" />
|
||||
<AlertList linkUrl="http://10.0.64.20/security/console/command-center?p=tabl" style="margin-right: 1vw;" title="告警详情" :list-data="mockData.alertData.details" />
|
||||
</div>
|
||||
</div>
|
||||
<!-- 右下区域 -->
|
||||
@@ -231,7 +231,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div style=" display: flex; width: 100%;margin-top: 1vw; flex: 1; justify-content: flex-end;">
|
||||
<AlertList style="margin-right: 1vw;" title="工单详情" :list-data="mockData.timeoutWorkOrders.details" />
|
||||
<AlertList linkUrl="http://10.0.64.20/pms/workorder-list" style="margin-right: 1vw;" title="工单详情" :list-data="mockData.timeoutWorkOrders.details" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -680,6 +680,50 @@ interface RegionItem {
|
||||
code: string
|
||||
pic_url: string
|
||||
}
|
||||
// 缓存工具函数 - 三个页面共享的缓存
|
||||
const CACHE_KEY = 'shared_regionOption_cache'
|
||||
const CACHE_DURATION = 5 * 60 * 1000 // 5分钟
|
||||
|
||||
interface CacheData {
|
||||
records: any[] // 原始接口返回的数据
|
||||
timestamp: number
|
||||
}
|
||||
|
||||
const getCachedRegionOption = (): any[] | null => {
|
||||
try {
|
||||
const cached = sessionStorage.getItem(CACHE_KEY)
|
||||
if (cached) {
|
||||
const cacheData: CacheData = JSON.parse(cached)
|
||||
const now = Date.now()
|
||||
// 检查缓存是否在有效期内
|
||||
if (now - cacheData.timestamp < CACHE_DURATION) {
|
||||
console.log('使用缓存的 regionOption 数据')
|
||||
return cacheData.records
|
||||
} else {
|
||||
console.log('缓存已过期,清除缓存')
|
||||
sessionStorage.removeItem(CACHE_KEY)
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('读取缓存失败:', error)
|
||||
sessionStorage.removeItem(CACHE_KEY)
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
const setCachedRegionOption = (records: any[]) => {
|
||||
try {
|
||||
const cacheData: CacheData = {
|
||||
records,
|
||||
timestamp: Date.now()
|
||||
}
|
||||
sessionStorage.setItem(CACHE_KEY, JSON.stringify(cacheData))
|
||||
console.log('regionOption 数据已缓存')
|
||||
} catch (error) {
|
||||
console.error('保存缓存失败:', error)
|
||||
}
|
||||
}
|
||||
|
||||
const regionOption = ref<RegionItem[]>([])
|
||||
onMounted(async () => {
|
||||
updateTime()
|
||||
@@ -692,50 +736,40 @@ onMounted(async () => {
|
||||
|
||||
handleRiskTabChange('安全类')
|
||||
|
||||
try {
|
||||
let { records } = await getTableList(
|
||||
'park_info_list'
|
||||
)
|
||||
// records = [
|
||||
// {
|
||||
// "region_id": "130601",
|
||||
// "park_code": "1825468527486140416",
|
||||
// "region": "北京",
|
||||
// "park_name": "雄安新区总部",
|
||||
// "pic_url": "1"
|
||||
// },
|
||||
// {
|
||||
// "region_id": "130601",
|
||||
// "park_code": "1825468527486140417",
|
||||
// "region": "北京",
|
||||
// "park_name": "雄安地面站",
|
||||
// "pic_url": "2"
|
||||
// },
|
||||
// {
|
||||
// "region_id": "130603",
|
||||
// "park_code": "1825468527486140426",
|
||||
// "region": "武汉",
|
||||
// "park_name": "花山新区总部",
|
||||
// "pic_url": "3"
|
||||
// }
|
||||
// ]
|
||||
if (records && records.length > 0) {
|
||||
// 更新为新的数据格式
|
||||
regionOption.value = records.map(el => ({
|
||||
name: el.park_name,
|
||||
code: el.park_code,
|
||||
pic_url: el.pic_url
|
||||
}))
|
||||
// 先检查缓存
|
||||
const cachedRecords = getCachedRegionOption()
|
||||
let records = cachedRecords
|
||||
|
||||
if (!records || records.length === 0) {
|
||||
// 缓存不存在或已过期,调用接口
|
||||
try {
|
||||
let result = await getTableList('park_info_list')
|
||||
records = result.records || []
|
||||
|
||||
if (records && records.length > 0) {
|
||||
// 保存到缓存
|
||||
setCachedRegionOption(records)
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('初始化园区数据失败:', error)
|
||||
records = []
|
||||
}
|
||||
}
|
||||
|
||||
if (records && records.length > 0) {
|
||||
// 更新为新的数据格式
|
||||
regionOption.value = records.map(el => ({
|
||||
name: el.park_name,
|
||||
code: el.park_code,
|
||||
pic_url: el.pic_url
|
||||
}))
|
||||
|
||||
for (let i = 0; i < regionOption.value.length; i++) {
|
||||
const el = regionOption.value[i];
|
||||
if (el.code == query.campus_id && el.pic_url) {
|
||||
backgroundImage.value = el.pic_url
|
||||
}
|
||||
for (let i = 0; i < regionOption.value.length; i++) {
|
||||
const el = regionOption.value[i];
|
||||
if (el.code == query.campus_id && el.pic_url) {
|
||||
backgroundImage.value = el.pic_url
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('初始化园区数据失败:', error)
|
||||
}
|
||||
// 初始化数据
|
||||
await loadDashboardData()
|
||||
|
||||
Reference in New Issue
Block a user