From fcfb425ccc7cc274c3c7dabc6c69b43dce1e1882 Mon Sep 17 00:00:00 2001
From: luJianJun <2587063613@qq.com>
Date: Tue, 29 Aug 2023 19:01:13 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=BB=84=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/xEcharts/index.vue | 4 +
.../components/StoreConversionData.vue | 284 ++++++++++++++++++
.../home/widgets/components/StoreData.vue | 11 +
.../home/widgets/components/allDataFrom.vue | 2 +-
.../components/component/StoreInfo.vue | 36 ++-
.../home/widgets/components/hotSearch.vue | 4 +
.../home/widgets/components/saleInfo.vue | 120 +++++---
src/views/home/widgets/index.vue | 11 +-
8 files changed, 409 insertions(+), 63 deletions(-)
create mode 100644 src/views/home/widgets/components/StoreConversionData.vue
diff --git a/src/components/xEcharts/index.vue b/src/components/xEcharts/index.vue
index 84c0a40..872f9a0 100644
--- a/src/components/xEcharts/index.vue
+++ b/src/components/xEcharts/index.vue
@@ -62,6 +62,10 @@
setEchartOption(){
var myChart = echarts.init(this.$refs.xEcharts, 'T');
myChart.setOption(this.myOptions);
+ },
+ setSize(){
+ var myChart = echarts.init(this.$refs.xEcharts, 'T');
+ myChart.resize()
}
}
}
diff --git a/src/views/home/widgets/components/StoreConversionData.vue b/src/views/home/widgets/components/StoreConversionData.vue
new file mode 100644
index 0000000..73f8805
--- /dev/null
+++ b/src/views/home/widgets/components/StoreConversionData.vue
@@ -0,0 +1,284 @@
+
+
+
+
+
+
+ {{ item.title }}
+
+
+ 转化率
+
+ {{ item.num }}%
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/home/widgets/components/StoreData.vue b/src/views/home/widgets/components/StoreData.vue
index 81fe6eb..462eb11 100644
--- a/src/views/home/widgets/components/StoreData.vue
+++ b/src/views/home/widgets/components/StoreData.vue
@@ -68,6 +68,9 @@ export default {
},
determineNum(num){
return num<10?'0'+num:num
+ },
+ refView(){
+ this.$refs.c1.setSize()
}
},
mounted() {
@@ -96,6 +99,8 @@ export default {
.card-item {
width: 100%;
background: #fff;
+ margin-bottom:16px;
+ min-width:535px;
}
.tabs-box {
@@ -128,6 +133,12 @@ export default {
color:#409EFF !important;
}
+@media screen and (max-width: 1115px) {
+ .date-tool-title {
+ display: none;
+ }
+}
+
::v-deep .el-tabs__nav-scroll {
margin: 0 24px;
}
diff --git a/src/views/home/widgets/components/allDataFrom.vue b/src/views/home/widgets/components/allDataFrom.vue
index e1898a4..c7884f6 100644
--- a/src/views/home/widgets/components/allDataFrom.vue
+++ b/src/views/home/widgets/components/allDataFrom.vue
@@ -276,7 +276,7 @@ export default {
@media (min-width:550px) and (max-width: 1115px) {
.card-item {
- width: 48%;
+ width: 49.2%;
min-width: 246px;
/* margin-right: 10px; */
}
diff --git a/src/views/home/widgets/components/component/StoreInfo.vue b/src/views/home/widgets/components/component/StoreInfo.vue
index f9bdd89..58918de 100644
--- a/src/views/home/widgets/components/component/StoreInfo.vue
+++ b/src/views/home/widgets/components/component/StoreInfo.vue
@@ -14,8 +14,8 @@
销售额
@@ -39,49 +39,72 @@ export default {
},
data() {
return {
- saleOption:{
- tooltip: {
- trigger: 'item'
- },
- legend: {
- top: '5%',
- left: 'center'
- },
- series: [
- {
- name: 'Access From',
- type: 'pie',
- radius: ['40%', '70%'],
- avoidLabelOverlap: false,
- itemStyle: {
- borderRadius: 10,
- borderColor: '#fff',
- borderWidth: 2
- },
- label: {
- show: false,
- position: 'center'
- },
- labelLine: {
- show: false
- },
- data: [
- { value: 1048, name: 'Search Engine' },
- { value: 735, name: 'Direct' },
- { value: 580, name: 'Email' },
- { value: 484, name: 'Union Ads' },
- { value: 300, name: 'Video Ads' }
- ]
- }
- ]
-}
+ list: [{ value: 1048, name: '123' },
+ { value: 735, name: 'Direct' },
+ { value: 580, name: 'Email' },
+ { value: 484, name: 'Union Ads' },
+ { value: 300, name: 'Video Ads' }],
+ saleOption: {}
}
},
methods: {
-
+ setSaleOption(){
+ this.saleOption={
+ tooltip: {
+ trigger: 'item'
+ },
+ legend: {
+ left: '70%',
+ top: 'center',
+ width: 50,
+ formatter: (name)=> {
+ // console.log(data, 'data')
+ let total = 0
+ let tarValue
+ for (let i = 0; i < this.list.length; i++) {
+ total += this.list[i].value
+ if (this.list[i].name == name) {
+ tarValue = this.list[i].value
+ }
+ }
+ let v = tarValue
+ //计算出百分比
+ let p = Math.round((tarValue / total) * 100) + '%'
+ return `${name} ${p} ${v}`
+ //name是名称,v是数值
+ },
+ data: this.list
+ },
+ series: [
+ {
+ name: 'Access From',
+ type: 'pie',
+ radius: ['50%', '80%'],
+ avoidLabelOverlap: false,
+ center:['30%','50%'],
+ itemStyle: {
+ borderRadius: 10,
+ borderColor: '#fff',
+ borderWidth: 2
+ },
+ label: {
+ show: false,
+ position: 'left'
+ },
+ labelLine: {
+ show: false
+ },
+ data: this.list
+ }
+ ]
+ }
+ },
+ refView(){
+ this.$refs.c1.setSize()
+ }
},
mounted() {
-
+ this.setSaleOption()
},
}
@@ -108,7 +131,7 @@ export default {
.card-item {
background: #fff;
padding: 16px 0;
- margin-top:15px;
+ margin-bottom: 15px;
}
.line {
@@ -121,13 +144,14 @@ export default {
padding-top: 24px;
font-size: 14px;
color: #000000d9;
- font-size:500;
-}
-.pd-24{
- padding:0 24px;
-}
-.mg-tb-32{
- margin:32px 0;
+ font-size: 500;
}
+.pd-24 {
+ padding: 0 24px;
+}
+
+.mg-tb-32 {
+ margin: 32px 0;
+}
diff --git a/src/views/home/widgets/index.vue b/src/views/home/widgets/index.vue
index 7ce7b1f..36b6cad 100644
--- a/src/views/home/widgets/index.vue
+++ b/src/views/home/widgets/index.vue
@@ -11,19 +11,19 @@
-