|
|
@ -3,7 +3,7 @@ import { Card, CardGrid } from 'ant-design-vue' |
|
|
|
import { computed, onBeforeMount, onMounted, ref } from 'vue' |
|
|
|
import { groupItems } from './data' |
|
|
|
import { Icon } from '@/components/Icon' |
|
|
|
import { getExaNow } from '@/api/alert/exa' |
|
|
|
|
|
|
|
|
|
|
|
const props = defineProps({ |
|
|
|
data: { |
|
|
@ -12,36 +12,30 @@ const props = defineProps({ |
|
|
|
}, |
|
|
|
}) |
|
|
|
|
|
|
|
const gridData = ref<any>([]) |
|
|
|
|
|
|
|
// 页面挂载时批量请求并更新数据(避免在模板中调用异步) |
|
|
|
onMounted(async () => { |
|
|
|
const rows = props.data.Content || [] |
|
|
|
for (const item of rows) { |
|
|
|
try { |
|
|
|
const param = item.Point |
|
|
|
const res = await getExaNow(param) |
|
|
|
|
|
|
|
let ifColor: boolean = false |
|
|
|
if (res != null) |
|
|
|
ifColor = res === '1' |
|
|
|
// const gridData = ref<any>([]) |
|
|
|
|
|
|
|
gridData.value.push(Object.assign({}, item, { ifColor })) |
|
|
|
// 页面挂载时批量请求并更新数据(避免在模板中调用异步) |
|
|
|
// onMounted(async () => { |
|
|
|
// const rows = props.data.Content || [] |
|
|
|
// for (const item of rows) { |
|
|
|
// try { |
|
|
|
// const param = item.Point |
|
|
|
// const res = await getExaNow(param) |
|
|
|
|
|
|
|
console.log(gridData.value) |
|
|
|
} |
|
|
|
catch (e) { |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
// let ifColor: boolean = false |
|
|
|
// if (res != null) |
|
|
|
// ifColor = res === '1' |
|
|
|
|
|
|
|
async function ifColor(pointCode: string) { |
|
|
|
const res = await getExaNow(pointCode) |
|
|
|
console.log(res) |
|
|
|
if (res) |
|
|
|
return false |
|
|
|
return false |
|
|
|
} |
|
|
|
// gridData.value.push(Object.assign({}, item, { ifColor })) |
|
|
|
|
|
|
|
// console.log(gridData.value) |
|
|
|
// } |
|
|
|
// catch (e) { |
|
|
|
// } |
|
|
|
// } |
|
|
|
// }) |
|
|
|
</script> |
|
|
|
|
|
|
|
<template> |
|
|
@ -52,7 +46,7 @@ async function ifColor(pointCode: string) { |
|
|
|
</a-button> |
|
|
|
</template> |
|
|
|
|
|
|
|
<CardGrid v-for="item in gridData" :key="item.Point" :class="{ 'bg-[#990000] bg-opacity-50': item.ifColor }" class="!h-1/3 !w-full !md:w-1/4"> |
|
|
|
<CardGrid v-for="item in props.data.Content" :key="item.Point" :class="{ 'bg-[#990000] bg-opacity-50': item.ifColor }" class="!h-1/3 !w-full !md:w-1/4"> |
|
|
|
<!-- <Icon :icon="item.icon" :color="item.color" size="30" /> --> |
|
|
|
<div class="flex flex-col items-center"> |
|
|
|
<div class="text-center text-base"> |
|
|
|