feat:完善功能

This commit is contained in:
zjc
2025-02-27 14:25:01 +08:00
parent 01e3aabbfc
commit 2bfd46a636
2 changed files with 28 additions and 25 deletions

View File

@@ -64,7 +64,6 @@
pageNum: 1, pageNum: 1,
pageSize: 5 pageSize: 5
}) })
console.log(res, 'res')
list.value = res.data list.value = res.data
nextTick(() => { nextTick(() => {
list.value.forEach(async (item, index) => { list.value.forEach(async (item, index) => {
@@ -87,8 +86,8 @@
}) })
} }
const initList = () => {
// 释放hls实例 // 释放hls实例
const clearHlsRefs = () => {
if (hlsRefs.length > 0) { if (hlsRefs.length > 0) {
hlsRefs.map((item) => { hlsRefs.map((item) => {
item.destroy() item.destroy()
@@ -99,7 +98,7 @@
} }
const onVideoCollect = () => { const onVideoCollect = () => {
pubSub.subscribe('videoCollect', () => { pubSub.subscribe('videoCollect', () => {
initList() clearHlsRefs()
}) })
} }
@@ -108,9 +107,7 @@
id, id,
isCollect: 0 isCollect: 0
}) })
list.value.splice(index, 1) clearHlsRefs()
hlsRefs[index].destroy()
hlsRefs.splice(index, 1)
} }
onMounted(() => { onMounted(() => {

View File

@@ -34,18 +34,30 @@
watch( watch(
() => props.list, () => props.list,
(val) => { () => {
if (val.length > 0) {
setTimeout(() => { setTimeout(() => {
init() init()
}, 1000) }, 1000)
}
}, },
{ {
immediate: true immediate: true
} }
) )
const getYAxisData = () => {
return props.list.map((item) => Number(item.value))
}
const getSeriesData = () => {
return props.list.map((item) => {
return {
name: item.name,
value: Number(item.value),
itemStyle: {
borderRadius: [0, 0, 0, 0],
color: parseFloat(item.value) > 50 ? '#FF7021' : '#00CCFF'
}
}
})
}
const init = () => { const init = () => {
if (!params) { if (!params) {
params = { params = {
@@ -102,7 +114,7 @@
} }
} }
}, },
data: props.list.map((item) => Number(item.value)) data: getYAxisData()
} }
], ],
series: [ series: [
@@ -126,19 +138,13 @@
return params.data.name ?? '其他' return params.data.name ?? '其他'
} }
}, },
data: props.list.map((item) => { data: getSeriesData()
return {
name: item.name,
value: Number(item.value),
itemStyle: {
borderRadius: [0, 0, 0, 0],
color: parseFloat(item.value) > 50 ? '#FF7021' : '#00CCFF'
}
}
})
} }
] ]
} }
} else {
params.yAxis[1].data = getYAxisData()
params.series[0].data = getSeriesData()
} }
setOption(params) setOption(params)
} }