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 @@ + + + + + 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 @@
{{ i + 1 }}
- {{ item.title }} - {{ setNumMark(item.num) }} +
{{ item.title }}
+
{{ setNumMark(item.num) }}
@@ -35,16 +35,16 @@ export default { type: String, default: 'sales' }, - listData:{ - type:Array, - default:function(){ + listData: { + type: Array, + default: function () { return [] } } }, - watch:{ - listData(nval){ - this.payOption.series[0].data=nval + watch: { + listData(nval) { + this.payOption.series[0].data = nval } }, data() { @@ -154,9 +154,10 @@ export default { width: 100%; } -.mg-t-16{ - margin-top:16px; +.mg-t-16 { + margin-top: 16px; } + .list-num { width: 20px; height: 20px; @@ -173,4 +174,17 @@ export default { .list-top { color: #fff; background: #314659; -} +} + +.list-title-text { + max-width: 100px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +@media screen and (max-width: 550px) { + .list-title-text{ + min-width:20px; + } +} + diff --git a/src/views/home/widgets/components/hotSearch.vue b/src/views/home/widgets/components/hotSearch.vue index 9c8a0b9..64a6d48 100644 --- a/src/views/home/widgets/components/hotSearch.vue +++ b/src/views/home/widgets/components/hotSearch.vue @@ -150,6 +150,9 @@ export default { methods: { setNumMark(num) { return setMark(num) + }, + refView(){ + this.$refs.c1.setSize() } }, mounted() { @@ -184,6 +187,7 @@ export default { .card-item { background: #fff; padding: 16px 0; + margin-bottom:15px; } .line { diff --git a/src/views/home/widgets/components/saleInfo.vue b/src/views/home/widgets/components/saleInfo.vue index 2df497a..af50502 100644 --- a/src/views/home/widgets/components/saleInfo.vue +++ b/src/views/home/widgets/components/saleInfo.vue @@ -20,8 +20,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 @@
- +