Browse Source

fix:换一种方法实现变色

pull/52/head
肖晋飞 3 weeks ago
parent
commit
fa9d21e551
  1. 40
      src/views/dashboard/demo/components/ProjectCard.vue
  2. 38
      src/views/dashboard/demo/index.vue

40
src/views/dashboard/demo/components/ProjectCard.vue

@ -3,7 +3,7 @@ import { Card, CardGrid } from 'ant-design-vue'
import { computed, onBeforeMount, onMounted, ref } from 'vue' import { computed, onBeforeMount, onMounted, ref } from 'vue'
import { groupItems } from './data' import { groupItems } from './data'
import { Icon } from '@/components/Icon' import { Icon } from '@/components/Icon'
import { getExaNow } from '@/api/alert/exa'
const props = defineProps({ const props = defineProps({
data: { data: {
@ -12,30 +12,28 @@ const props = defineProps({
}, },
}) })
const gridData = ref<any>([])
// const gridData = ref<any>([])
// //
// onMounted(async () => { onMounted(async () => {
// const rows = props.data.Content || [] const rows = props.data.Content || []
// for (const item of rows) { for (const item of rows) {
// try { try {
// const param = item.Point const param = item.Point
// const res = await getExaNow(param) const res = await getExaNow(param)
// let ifColor: boolean = false let ifColor: boolean = false
// if (res != null) if (res != null)
// ifColor = res === '1' ifColor = res === '1'
// gridData.value.push(Object.assign({}, item, { ifColor })) gridData.value.push(Object.assign({}, item, { ifColor }))
// console.log(gridData.value) console.log(gridData.value)
// } }
// catch (e) { catch (e) {
// } }
// } }
// }) })
</script> </script>
<template> <template>
@ -46,7 +44,7 @@ const props = defineProps({
</a-button> </a-button>
</template> </template>
<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"> <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">
<!-- <Icon :icon="item.icon" :color="item.color" size="30" /> --> <!-- <Icon :icon="item.icon" :color="item.color" size="30" /> -->
<div class="flex flex-col items-center"> <div class="flex flex-col items-center">
<div class="text-center text-base"> <div class="text-center text-base">

38
src/views/dashboard/demo/index.vue

@ -29,30 +29,30 @@ onBeforeMount(async () => {
console.log(res) console.log(res)
if (res) if (res)
data.value = JSON.parse(res.Page_Content) data.value = JSON.parse(res.Page_Content)
getColor(data.value) // getColor(data.value)
}) })
async function getColor(data: any) { // async function getColor(data: any) {
const rows = data.LeftMidUp.Content || [] // const rows = data.LeftMidUp.Content || []
const gridData = [] as any[] // const gridData = [] as any[]
for (const item of rows) { // for (const item of rows) {
try { // try {
const param = item.Point // const param = item.Point
const res = await getExaNow(param) // const res = await getExaNow(param)
let ifColor: boolean = false // let ifColor: boolean = false
if (res != null) // if (res != null)
ifColor = res === '1' // ifColor = res === '1'
gridData.push(Object.assign({}, item, { ifColor })) // gridData.push(Object.assign({}, item, { ifColor }))
console.log(gridData) // console.log(gridData)
} // }
catch (e) { // catch (e) {
} // }
} // }
data.LeftMidUp.Content = gridData // data.LeftMidUp.Content = gridData
} // }
</script> </script>
<template> <template>

Loading…
Cancel
Save