feat:对接舆情监测相关接口
This commit is contained in:
@@ -6,36 +6,36 @@
|
||||
<div class="box-1 mr-10">
|
||||
<Title1 title="最新舆情" />
|
||||
<div class="list">
|
||||
<div class="item" v-for="item in 20">
|
||||
<p class="status status-error">负面</p>
|
||||
<div class="item" v-for="(item, index) in hotNewList" :key="index">
|
||||
<p class="status status-error">{{ item.type }}</p>
|
||||
<p class="content">
|
||||
这是一条关于三侠之颠旅游舆情的负面新闻这是一条关于三侠之颠旅游舆情的负面这是一条关于三侠之颠旅游舆情的负面新闻这是一条关于三侠之颠旅游舆情的负面
|
||||
{{ item.title }}
|
||||
</p>
|
||||
<p class="date">2024-12.16 23:58</p>
|
||||
<p class="date">{{ item.time }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-2 mr-10">
|
||||
<div class="flex justify-center">
|
||||
<div class="top flex justify-evenly">
|
||||
<count-item label="今日舆情总数" :count="35600" suffix="条" color="#fff" />
|
||||
<count-item label="今日正面舆情" :count="35600" suffix="条" color="#fff" />
|
||||
<count-item label="今日负面舆情" :count="35600" suffix="条" color="#fff" />
|
||||
<count-item label="今日舆情总数" :count="total" suffix="条" color="#ffffff" />
|
||||
<count-item label="今日正面舆情" :count="sensitive" suffix="条" color="#ffffff" />
|
||||
<count-item label="今日负面舆情" :count="unsensitive" suffix="条" color="#ffffff" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex mt-20 gap-8 ml-8 mr-8">
|
||||
<div class="border flex-1">
|
||||
<div v-for="(item, index) in stateList" class="border flex-1">
|
||||
<Title3 :title="index" />
|
||||
<pie-row :width="500" :height="330" :dataList="item" />
|
||||
</div>
|
||||
<!-- <div class="border flex-1">
|
||||
<Title3 title="山峡之巅" />
|
||||
<pie-row :width="500" :height="330" />
|
||||
</div>
|
||||
<div class="border flex-1">
|
||||
<Title3 title="山峡之巅" />
|
||||
<pie-row :width="500" :height="330" />
|
||||
</div>
|
||||
<div class="border flex-1">
|
||||
<Title3 title="山峡之巅" />
|
||||
<pie-row :width="500" :height="330" />
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-1">
|
||||
@@ -49,23 +49,14 @@
|
||||
<Line
|
||||
:width="1560"
|
||||
:height="400"
|
||||
:data="[
|
||||
{
|
||||
name: '企业数',
|
||||
data: [64, 159, 112, 86, 151, 131, 118, 232, 23, 64, 159, 112, 86, 151, 131, 118]
|
||||
},
|
||||
{
|
||||
name: '交易量',
|
||||
data: [124, 30, 77, 97, 67, 75, 70, 334, 123, 124, 30, 77, 97, 67, 75, 70]
|
||||
}
|
||||
]"
|
||||
:data="seriesData"
|
||||
:xAxisData="xAxisData"
|
||||
:seriesConfig="{ smooth: false, symbol: 'circle' }"
|
||||
/>
|
||||
</div>
|
||||
<div class="box-1 mr-10">
|
||||
<Title1 title="情感分布" />
|
||||
<emotion />
|
||||
<Title1 title="地域分析" />
|
||||
<Area />
|
||||
</div>
|
||||
<div class="box-1 mr-10">
|
||||
<Title1 title="词频分析" />
|
||||
@@ -77,27 +68,45 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import emotion from './components/emotion.vue'
|
||||
import Area from './components/area.vue'
|
||||
import wordCloud from './components/wordCloud.vue'
|
||||
import dataSource from './components/dataSource.vue'
|
||||
let xAxisData = ref([
|
||||
'12-16 10:00',
|
||||
'12-16 14:00',
|
||||
'12-16 16:00',
|
||||
'12-16 22:00',
|
||||
'12-17 02:00',
|
||||
'12-17 06:00',
|
||||
'12-17 10:00',
|
||||
'12-17 14:00',
|
||||
'12-17 16:00',
|
||||
'12-16 22:00',
|
||||
'12-18 02:00',
|
||||
'12-18 06:00',
|
||||
'12-8 10:00',
|
||||
'12-18 14:00',
|
||||
'12-18 16:00',
|
||||
'12-18 20:00'
|
||||
])
|
||||
import { getHotNewApi, getLineChartApi, getStateApi, getTotalApi } from '@/api/sentiment.js'
|
||||
|
||||
let seriesData = ref([])
|
||||
let xAxisData = ref([])
|
||||
let hotNewList = ref([])
|
||||
let total = ref(0)
|
||||
let sensitive = ref(0)
|
||||
let unsensitive = ref(0)
|
||||
let stateList = ref([])
|
||||
|
||||
const getTotal = async () => {
|
||||
let res = await getTotalApi()
|
||||
total.value = res.data.total
|
||||
sensitive.value = res.data.sensitive
|
||||
unsensitive.value = res.data.unsensitive
|
||||
}
|
||||
const getState = async () => {
|
||||
let res = await getStateApi()
|
||||
stateList.value = res.data
|
||||
console.log(stateList.value, '------')
|
||||
}
|
||||
const getLineChart = async () => {
|
||||
let res = await getLineChartApi()
|
||||
xAxisData.value = res.data.data
|
||||
seriesData.value = res.data.series
|
||||
}
|
||||
const getHotNew = async () => {
|
||||
let res = await getHotNewApi()
|
||||
hotNewList.value = res.data
|
||||
}
|
||||
onMounted(() => {
|
||||
getHotNew()
|
||||
getTotal()
|
||||
getState()
|
||||
getLineChart()
|
||||
})
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
|
||||
Reference in New Issue
Block a user