+
{{ suffix }}
@@ -16,7 +16,7 @@
diff --git a/src/components/PieRow/index.vue b/src/components/PieRow/index.vue
index ae194e8..fe2ee5c 100644
--- a/src/components/PieRow/index.vue
+++ b/src/components/PieRow/index.vue
@@ -61,7 +61,6 @@
fontSize: fitChartSize(12)
}
},
-
series: [
{
type: 'pie',
@@ -98,14 +97,6 @@
}
]
}
- const resize = () => {
- if (pieChart) {
- pieChart.dispose()
- pieChart = null
- init()
- }
- }
-
const init = () => {
const dom = document.getElementById(id.value)
pieChart = echarts.init(dom)
@@ -116,7 +107,13 @@
// 监听窗口大小变化
window.addEventListener('resize', resize)
}
-
+ const resize = () => {
+ if (pieChart) {
+ pieChart.dispose()
+ pieChart = null
+ init()
+ }
+ }
onMounted(() => {
init()
})
diff --git a/src/styles/common.scss b/src/styles/common.scss
index d3758ad..f61865c 100644
--- a/src/styles/common.scss
+++ b/src/styles/common.scss
@@ -19,9 +19,18 @@
.justify-evenly {
justify-content: space-evenly;
}
+.gap-8 {
+ gap: vh(8) vw(8);
+}
.mb-6 {
margin-bottom: vh(6) !important;
}
+.ml-8 {
+ margin-left: vw(8) !important;
+}
+.mr-8 {
+ margin-right: vw(8) !important;
+}
.pt-10 {
padding-top: vh(10) !important;
}
diff --git a/src/styles/screen.scss b/src/styles/screen.scss
index 94168bb..be3a85c 100644
--- a/src/styles/screen.scss
+++ b/src/styles/screen.scss
@@ -1,16 +1,16 @@
-@use "sass:math";
+@use 'sass:math';
//默认设计稿的宽度
-$designWidth:3840;
+$designWidth: 3822;
//默认设计稿的高度
-$designHeight:1080;
+$designHeight: 1080;
//px转为vw的函数
@function vw($px) {
- @return math.div($px , $designWidth) * 100vw;
+ @return math.div($px, $designWidth) * 100vw;
}
//px转为vh的函数
@function vh($px) {
- @return math.div($px , $designHeight) * 100vh;
+ @return math.div($px, $designHeight) * 100vh;
}
diff --git a/src/utils/dataUtil.js b/src/utils/dataUtil.js
index 4050124..5d53de2 100644
--- a/src/utils/dataUtil.js
+++ b/src/utils/dataUtil.js
@@ -1,5 +1,5 @@
/* Echarts图表尺寸自适应 */
-export const fitChartSize = (size, width = 3840) => {
+export const fitChartSize = (size, width = 3822) => {
let clientWidth =
window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth
if (!clientWidth) return size
diff --git a/src/utils/styleUtil.js b/src/utils/styleUtil.js
index b2c2309..89f8a20 100644
--- a/src/utils/styleUtil.js
+++ b/src/utils/styleUtil.js
@@ -1,5 +1,5 @@
//默认设计稿的宽度
-const designWidth = 3840
+const designWidth = 3822
//默认设计稿的高度
const designHeight = 1080
diff --git a/src/views/home/components/age-ratio.vue b/src/views/home/components/age-ratio.vue
index 2ac58a9..046a939 100644
--- a/src/views/home/components/age-ratio.vue
+++ b/src/views/home/components/age-ratio.vue
@@ -15,16 +15,42 @@
tooltip: {
trigger: 'item'
},
+ legend: {
+ orient: 'vertical',
+ left: '60%',
+ y: 'center',
+ data: ['19岁以下', '18-30岁', '30-40岁', '40-60岁', '60岁以上'],
+ itemHeight: fitChartSize(8),
+ itemWidth: fitChartSize(8),
+ itemGap: fitChartSize(10),
+ formatter: function (name) {
+ return '{title|' + name + '}'
+ },
+ textStyle: {
+ rich: {
+ title: {
+ color: '#fff',
+ fontSize: fitChartSize(14)
+ },
+ value: {
+ color: '#00D5F6',
+ fontSize: fitChartSize(14)
+ }
+ }
+ }
+ },
series: [
{
type: 'pie',
- radius: ['30%', '40%'],
+ center: ['30%', '50%'],
+ radius: ['50%', '70%'],
itemStyle: {
borderColor: 'transparent',
borderRadius: fitChartSize(2),
borderWidth: fitChartSize(2)
},
label: {
+ show: false,
color: '#D3F0FE',
fontSize: fitChartSize(12)
},
@@ -36,11 +62,11 @@
}
},
data: [
- { value: 484, name: '19岁以下', labelLine: { length: 2 } },
- { value: 300, name: '18-30岁', labelLine: { length: 2 } },
- { value: 1048, name: '30-40岁', labelLine: { length: 2 } },
- { value: 580, name: '40-60岁', labelLine: { length: 2 } },
- { value: 735, name: '60岁以上', labelLine: { length: 2 } }
+ { value: 484, name: '19岁以下' },
+ { value: 300, name: '18-30岁' },
+ { value: 1048, name: '30-40岁' },
+ { value: 580, name: '40-60岁' },
+ { value: 735, name: '60岁以上' }
]
}
]
@@ -63,6 +89,6 @@
diff --git a/src/views/home/components/box-2.vue b/src/views/home/components/box-2.vue
index 904f787..79bc069 100644
--- a/src/views/home/components/box-2.vue
+++ b/src/views/home/components/box-2.vue
@@ -245,7 +245,7 @@
}
.box-1 {
width: vw(253);
- height: vh(270);
+ height: vh(290);
background-image: url('@/assets/images/bg-3.png');
background-size: 100% 100%;
&:nth-child(1) {
diff --git a/src/views/home/components/box-4.vue b/src/views/home/components/box-4.vue
index 78f333f..90228dc 100644
--- a/src/views/home/components/box-4.vue
+++ b/src/views/home/components/box-4.vue
@@ -235,7 +235,7 @@
}
.box-4 {
margin-top: vh(120);
- width: vw(790);
+ width: vw(710);
height: vh(950);
padding: vw(8);
box-sizing: border-box;
diff --git a/src/views/home/components/box-5.vue b/src/views/home/components/box-5.vue
deleted file mode 100644
index e69de29..0000000
diff --git a/src/views/home/components/jam.vue b/src/views/home/components/jam.vue
index 69d3834..fbef9aa 100644
--- a/src/views/home/components/jam.vue
+++ b/src/views/home/components/jam.vue
@@ -103,7 +103,7 @@
},
label: {
show: true,
- offset: [10, -13],
+ offset: [10, -10],
color: '#D3E5FF',
fontWeight: 500,
position: 'left',
diff --git a/src/views/home/components/ticket.vue b/src/views/home/components/ticket.vue
index ec04de9..afa8095 100644
--- a/src/views/home/components/ticket.vue
+++ b/src/views/home/components/ticket.vue
@@ -42,12 +42,8 @@
}
},
legend: {
- orient: 'vertical',
- x: 'right',
- y: 'center',
- // textStyle: {
- // color: '#4A9AE4'
- // },
+ x: 'center',
+ y: 'bottom',
data: qxzbData,
itemHeight: fitChartSize(8),
itemWidth: fitChartSize(8),
@@ -75,7 +71,7 @@
type: 'pie',
clockWise: false, //顺时加载
radius: ['15%', '25%'],
- center: ['30%', '50%'],
+ center: ['50%', '40%'],
label: {
normal: {
show: false
@@ -109,7 +105,7 @@
type: 'pie',
clockWise: false, //顺时加载
radius: ['30%', '40%'],
- center: ['30%', '50%'],
+ center: ['50%', '40%'],
label: {
normal: {
show: false
@@ -143,7 +139,7 @@
type: 'pie',
clockWise: false, //顺时加载
radius: ['45%', '55%'],
- center: ['30%', '50%'],
+ center: ['50%', '40%'],
label: {
normal: {
show: false
diff --git a/src/views/home/index.vue b/src/views/home/index.vue
index 0fd8d13..f145f80 100644
--- a/src/views/home/index.vue
+++ b/src/views/home/index.vue
@@ -11,7 +11,11 @@
import box2 from './components/box-2.vue'
import box3 from './components/box-3.vue'
import box4 from './components/box-4.vue'
- const navLeft = [{ name: '安全' }, { name: '景区', path: '/scenic' }, { name: '交通' }]
+ const navLeft = [
+ { name: '安全', path: '/monitor' },
+ { name: '景区', path: '/scenic' },
+ { name: '交通' }
+ ]
const navRight = [
{ name: '停车' },
{ name: '工单' },
diff --git a/src/views/scenic/index.vue b/src/views/scenic/index.vue
index 7fa5434..ec8dafb 100644
--- a/src/views/scenic/index.vue
+++ b/src/views/scenic/index.vue
@@ -1,5 +1,5 @@
-
+
diff --git a/src/views/sentiment/components/box1.vue b/src/views/sentiment/components/box1.vue
deleted file mode 100644
index efd094c..0000000
--- a/src/views/sentiment/components/box1.vue
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/views/sentiment/components/dataSource.vue b/src/views/sentiment/components/dataSource.vue
new file mode 100644
index 0000000..4293fd3
--- /dev/null
+++ b/src/views/sentiment/components/dataSource.vue
@@ -0,0 +1,105 @@
+
+
+
+
+
+
排名
+
手机新浪网
+
新闻
+
580
+
1000
+
+
+
+
+
+
+
+
diff --git a/src/views/sentiment/components/emotion.vue b/src/views/sentiment/components/emotion.vue
new file mode 100644
index 0000000..f9bfa15
--- /dev/null
+++ b/src/views/sentiment/components/emotion.vue
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
diff --git a/src/views/sentiment/components/wordCloud.vue b/src/views/sentiment/components/wordCloud.vue
new file mode 100644
index 0000000..35711cd
--- /dev/null
+++ b/src/views/sentiment/components/wordCloud.vue
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
diff --git a/src/views/sentiment/index.vue b/src/views/sentiment/index.vue
index a92dba9..27b3eef 100644
--- a/src/views/sentiment/index.vue
+++ b/src/views/sentiment/index.vue
@@ -1,40 +1,104 @@
-
+
+
+
+
负面
+
+ 这是一条关于三侠之颠旅游舆情的负面新闻这是一条关于三侠之颠旅游舆情的负面这是一条关于三侠之颠旅游舆情的负面新闻这是一条关于三侠之颠旅游舆情的负面
+
+
2024-12.16 23:58
+
+
-
+
diff --git a/t.png b/t.png
deleted file mode 100644
index 1b82972615779db871d9273ca5b95c870cdb74ae..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 4291
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