From 6fb1ce160c12ae4f1ec408581a0cfe7b84dff2f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BA=9E=E4=B8=9C=E6=97=AD?= <850374051@qq.com> Date: Fri, 26 Sep 2025 11:07:21 +0800 Subject: [PATCH] =?UTF-8?q?task=20=E4=BA=A7=E4=B8=9A=E4=B8=80=E5=BC=A0?= =?UTF-8?q?=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/charts/bar-stack/index.html | 1 + src/components/charts/bar-stack/index.js | 269 +++++++++ src/components/charts/bar-stack/index.scss | 6 + src/components/charts/bar-stack/index.vue | 3 + src/components/charts/lines/index.js | 110 +++- src/router/index.js | 6 + src/views/capital/api/index.js | 10 +- .../capital/comps/right/bottom/1/index.js | 2 +- .../capital/comps/right/middle/1/index.js | 2 +- src/views/industry/comps/buttom/1/bg.png | Bin 0 -> 16687 bytes src/views/industry/comps/buttom/1/bg2.png | Bin 0 -> 1923 bytes src/views/industry/comps/buttom/1/data.js | 34 ++ src/views/industry/comps/buttom/1/index.html | 52 ++ src/views/industry/comps/buttom/1/index.js | 24 + src/views/industry/comps/buttom/1/index.scss | 94 ++++ src/views/industry/comps/buttom/1/index.vue | 4 + src/views/industry/comps/buttom/2/bg.png | Bin 0 -> 17468 bytes src/views/industry/comps/buttom/2/bg2.png | Bin 0 -> 1923 bytes src/views/industry/comps/buttom/2/data.js | 34 ++ src/views/industry/comps/buttom/2/index.html | 13 + src/views/industry/comps/buttom/2/index.js | 24 + src/views/industry/comps/buttom/2/index.scss | 93 ++++ src/views/industry/comps/buttom/2/index.vue | 4 + .../industry/comps/left/bottom/1/index.html | 12 + .../industry/comps/left/bottom/1/index.js | 37 ++ .../industry/comps/left/bottom/1/index.scss | 17 + .../industry/comps/left/bottom/1/index.vue | 4 + .../industry/comps/left/middle/1/index.html | 12 + .../industry/comps/left/middle/1/index.js | 32 ++ .../industry/comps/left/middle/1/index.scss | 17 + .../industry/comps/left/middle/1/index.vue | 4 + .../industry/comps/left/top/1/index.html | 12 + src/views/industry/comps/left/top/1/index.js | 29 + .../industry/comps/left/top/1/index.scss | 17 + src/views/industry/comps/left/top/1/index.vue | 4 + .../industry/comps/right/bottom/1/index.html | 13 + .../industry/comps/right/bottom/1/index.js | 37 ++ .../industry/comps/right/bottom/1/index.scss | 17 + .../industry/comps/right/bottom/1/index.vue | 4 + .../industry/comps/right/middle/1/index.html | 12 + .../industry/comps/right/middle/1/index.js | 60 ++ .../industry/comps/right/middle/1/index.scss | 17 + .../industry/comps/right/middle/1/index.vue | 4 + .../industry/comps/right/top/1/index.html | 11 + src/views/industry/comps/right/top/1/index.js | 57 ++ .../industry/comps/right/top/1/index.scss | 17 + .../industry/comps/right/top/1/index.vue | 4 + src/views/industry/data.js | 29 + src/views/industry/icon/yellow.png | Bin 0 -> 1769 bytes src/views/industry/index.html | 17 + src/views/industry/index.js | 148 +++++ src/views/industry/index.scss | 12 + src/views/industry/index.vue | 4 + src/views/industry/main-gis/close.png | Bin 0 -> 352 bytes src/views/industry/main-gis/data.js | 32 ++ src/views/industry/main-gis/icon/blue.png | Bin 0 -> 1334 bytes src/views/industry/main-gis/icon/cyan.png | Bin 0 -> 1350 bytes src/views/industry/main-gis/icon/gc_icon.png | Bin 0 -> 3259 bytes src/views/industry/main-gis/icon/green.png | Bin 0 -> 1349 bytes src/views/industry/main-gis/icon/ld_icon.png | Bin 0 -> 3290 bytes src/views/industry/main-gis/icon/ljd_icon.png | Bin 0 -> 3417 bytes .../industry/main-gis/icon/map_icon_1.png | Bin 0 -> 4184 bytes .../industry/main-gis/icon/map_icon_2.png | Bin 0 -> 4036 bytes .../industry/main-gis/icon/map_icon_3.png | Bin 0 -> 4284 bytes .../industry/main-gis/icon/map_icon_4.png | Bin 0 -> 4182 bytes .../industry/main-gis/icon/map_icon_5.png | Bin 0 -> 3943 bytes .../industry/main-gis/icon/map_icon_6.png | Bin 0 -> 3969 bytes .../industry/main-gis/icon/map_icon_7.png | Bin 0 -> 3929 bytes src/views/industry/main-gis/icon/pink.png | Bin 0 -> 1350 bytes src/views/industry/main-gis/icon/red.png | Bin 0 -> 1370 bytes src/views/industry/main-gis/icon/sxt_icon.png | Bin 0 -> 3408 bytes src/views/industry/main-gis/icon/wsz_icon.png | Bin 0 -> 3449 bytes .../industry/main-gis/icon/yellow copy.png | Bin 0 -> 1769 bytes src/views/industry/main-gis/icon/yellow.png | Bin 0 -> 1769 bytes .../industry/main-gis/icon/zc_icon copy.png | Bin 0 -> 3866 bytes src/views/industry/main-gis/icon/zc_icon.png | Bin 0 -> 3866 bytes src/views/industry/main-gis/icon_excel.jpg | Bin 0 -> 3954 bytes src/views/industry/main-gis/icon_pdf.jpg | Bin 0 -> 4730 bytes src/views/industry/main-gis/icon_rest.jpg | Bin 0 -> 2131 bytes src/views/industry/main-gis/icon_word.jpg | Bin 0 -> 4569 bytes src/views/industry/main-gis/icon_zip.jpg | Bin 0 -> 3392 bytes src/views/industry/main-gis/index.html | 103 ++++ src/views/industry/main-gis/index.js | 516 ++++++++++++++++++ src/views/industry/main-gis/index.scss | 277 ++++++++++ src/views/industry/main-gis/index.vue | 30 + src/views/industry/popover/icon.png | Bin 0 -> 2658 bytes src/views/industry/popover/index.html | 90 +++ src/views/industry/popover/index.js | 26 + src/views/industry/popover/index.scss | 46 ++ src/views/industry/popover/index.vue | 4 + src/views/industry/popover/tit_bg.png | Bin 0 -> 11625 bytes src/views/nav/5.png | Bin 0 -> 99604 bytes src/views/nav/data.js | 5 + src/views/property/api/index.js | 10 +- .../property/comps/right/bottom/1/index.js | 2 +- .../property/comps/right/middle/1/index.js | 2 +- src/views/resources/api/index.js | 10 +- .../resources/comps/right/bottom/1/index.js | 2 +- .../resources/comps/right/middle/1/index.js | 2 +- 99 files changed, 2555 insertions(+), 47 deletions(-) create mode 100644 src/components/charts/bar-stack/index.html create mode 100644 src/components/charts/bar-stack/index.js create mode 100644 src/components/charts/bar-stack/index.scss create mode 100644 src/components/charts/bar-stack/index.vue create mode 100644 src/views/industry/comps/buttom/1/bg.png create mode 100644 src/views/industry/comps/buttom/1/bg2.png create mode 100644 src/views/industry/comps/buttom/1/data.js create mode 100644 src/views/industry/comps/buttom/1/index.html create mode 100644 src/views/industry/comps/buttom/1/index.js create mode 100644 src/views/industry/comps/buttom/1/index.scss create mode 100644 src/views/industry/comps/buttom/1/index.vue create mode 100644 src/views/industry/comps/buttom/2/bg.png create mode 100644 src/views/industry/comps/buttom/2/bg2.png create mode 100644 src/views/industry/comps/buttom/2/data.js create mode 100644 src/views/industry/comps/buttom/2/index.html create mode 100644 src/views/industry/comps/buttom/2/index.js create mode 100644 src/views/industry/comps/buttom/2/index.scss create mode 100644 src/views/industry/comps/buttom/2/index.vue create mode 100644 src/views/industry/comps/left/bottom/1/index.html create mode 100644 src/views/industry/comps/left/bottom/1/index.js create mode 100644 src/views/industry/comps/left/bottom/1/index.scss create mode 100644 src/views/industry/comps/left/bottom/1/index.vue create mode 100644 src/views/industry/comps/left/middle/1/index.html create mode 100644 src/views/industry/comps/left/middle/1/index.js create mode 100644 src/views/industry/comps/left/middle/1/index.scss create mode 100644 src/views/industry/comps/left/middle/1/index.vue create mode 100644 src/views/industry/comps/left/top/1/index.html create mode 100644 src/views/industry/comps/left/top/1/index.js create mode 100644 src/views/industry/comps/left/top/1/index.scss create mode 100644 src/views/industry/comps/left/top/1/index.vue create mode 100644 src/views/industry/comps/right/bottom/1/index.html create mode 100644 src/views/industry/comps/right/bottom/1/index.js create mode 100644 src/views/industry/comps/right/bottom/1/index.scss create mode 100644 src/views/industry/comps/right/bottom/1/index.vue create mode 100644 src/views/industry/comps/right/middle/1/index.html create mode 100644 src/views/industry/comps/right/middle/1/index.js create mode 100644 src/views/industry/comps/right/middle/1/index.scss create mode 100644 src/views/industry/comps/right/middle/1/index.vue create mode 100644 src/views/industry/comps/right/top/1/index.html create mode 100644 src/views/industry/comps/right/top/1/index.js create mode 100644 src/views/industry/comps/right/top/1/index.scss create mode 100644 src/views/industry/comps/right/top/1/index.vue create mode 100644 src/views/industry/data.js create mode 100644 src/views/industry/icon/yellow.png create mode 100644 src/views/industry/index.html create mode 100644 src/views/industry/index.js create mode 100644 src/views/industry/index.scss create mode 100644 src/views/industry/index.vue create mode 100644 src/views/industry/main-gis/close.png create mode 100644 src/views/industry/main-gis/data.js create mode 100644 src/views/industry/main-gis/icon/blue.png create mode 100644 src/views/industry/main-gis/icon/cyan.png create mode 100644 src/views/industry/main-gis/icon/gc_icon.png create mode 100644 src/views/industry/main-gis/icon/green.png create mode 100644 src/views/industry/main-gis/icon/ld_icon.png create mode 100644 src/views/industry/main-gis/icon/ljd_icon.png create mode 100644 src/views/industry/main-gis/icon/map_icon_1.png create mode 100644 src/views/industry/main-gis/icon/map_icon_2.png create mode 100644 src/views/industry/main-gis/icon/map_icon_3.png create mode 100644 src/views/industry/main-gis/icon/map_icon_4.png create mode 100644 src/views/industry/main-gis/icon/map_icon_5.png create mode 100644 src/views/industry/main-gis/icon/map_icon_6.png create mode 100644 src/views/industry/main-gis/icon/map_icon_7.png create mode 100644 src/views/industry/main-gis/icon/pink.png create mode 100644 src/views/industry/main-gis/icon/red.png create mode 100644 src/views/industry/main-gis/icon/sxt_icon.png create mode 100644 src/views/industry/main-gis/icon/wsz_icon.png create mode 100644 src/views/industry/main-gis/icon/yellow copy.png create mode 100644 src/views/industry/main-gis/icon/yellow.png create mode 100644 src/views/industry/main-gis/icon/zc_icon copy.png create mode 100644 src/views/industry/main-gis/icon/zc_icon.png create mode 100644 src/views/industry/main-gis/icon_excel.jpg create mode 100644 src/views/industry/main-gis/icon_pdf.jpg create mode 100644 src/views/industry/main-gis/icon_rest.jpg create mode 100644 src/views/industry/main-gis/icon_word.jpg create mode 100644 src/views/industry/main-gis/icon_zip.jpg create mode 100644 src/views/industry/main-gis/index.html create mode 100644 src/views/industry/main-gis/index.js create mode 100644 src/views/industry/main-gis/index.scss create mode 100644 src/views/industry/main-gis/index.vue create mode 100644 src/views/industry/popover/icon.png create mode 100644 src/views/industry/popover/index.html create mode 100644 src/views/industry/popover/index.js create mode 100644 src/views/industry/popover/index.scss create mode 100644 src/views/industry/popover/index.vue create mode 100644 src/views/industry/popover/tit_bg.png create mode 100644 src/views/nav/5.png diff --git a/src/components/charts/bar-stack/index.html b/src/components/charts/bar-stack/index.html new file mode 100644 index 0000000..d60fced --- /dev/null +++ b/src/components/charts/bar-stack/index.html @@ -0,0 +1 @@ +
diff --git a/src/components/charts/bar-stack/index.js b/src/components/charts/bar-stack/index.js new file mode 100644 index 0000000..9d062d5 --- /dev/null +++ b/src/components/charts/bar-stack/index.js @@ -0,0 +1,269 @@ +import * as echarts from 'echarts'; +import elementResizeDetectorMaker from 'element-resize-detector'; +export default { + props: { + id: { + type: String, + default: 'bar' + }, + data: { + type: Array, + default: function () { + return [ + { + name: '1月', + value: '10' + }, + { + name: '2月', + value: '19' + } + ]; + } + }, + unit: { + type: String, + default: '单位:万元' + }, + interval: { + type: Number, + default: null + }, + rotate: { + type: Number, + default: 0 + }, + serverName: { + type: String, + default: '面积' + }, + color: { + type: Array, + default: function () { + return ['rgba(15, 252, 252, 1)', 'rgba(53, 197, 124, 1)'] + } + }, + barBorderRadius: { + type: Array, + default: function () { + return [0, 0, 0, 0] + } + } + }, + data () { + return { + chart: null + }; + }, + watch: { + data: { + handler: function (val) { + this.$nextTick(function () { + setTimeout(() => { + this.initChart(); + }, 2000) + }); + }, + immediate: true, + deep: true + } + }, + create () { + + }, + mounted () { + // setTimeout(()=>{ + // this.initChart(); + // },2000) + }, + computed: { + }, + methods: { + // 设置监听器 页面尺寸变化重新绘制图表 + initResizeCallBack () { + const erd = elementResizeDetectorMaker(); + erd.listenTo(document.getElementById(this.id), () => { + this.$nextTick(() => { + if (document.getElementById(this.id).offsetWidth > 500){ + this.rotate = 60; + }else{ + this.rotate = 0; + } + this.chart.resize(); + this.chart.setOption({ + // 新的配置项,例如: + xAxis: { + axisLabel: { + rotate: this.rotate + }, + } + }); + }); + }); + }, + initChart () { + this.chart = echarts.init(document.getElementById(this.id)); + this.chartSetOption(); + }, + chartSetOption () { + let xAxisData = []; + let data = []; + let bgData = []; + this.data.forEach(item => { + xAxisData.push(item.name) + data.push(item.value) + bgData.push(100) + }); + + const option = { + color: ["#2195fe","#04e26f","#f7cc3a","#f77e3f"], + tooltip: { + trigger: "axis", + axisPointer: { + type: "line", + lineStyle: { + opacity: 0, + }, + } + }, + legend: { + data: ["村集体", "农民", "公司", "其它"], + top: '3%', + right: '5%', + textStyle: { + color: 'rgba(210, 238, 255, 1)', + }, + }, + grid: { + left: "5%", + right: "5%", + bottom: "5%", + top: "15%", + containLabel: true, + z: 22, + }, + xAxis: [ + { + splitArea: { + show: false, + areaStyle: { + color: ['RGBA(13, 31, 64, 1)'] + } + }, + splitLine: { + show: false, + lineStyle: { + color: ['rgba(18, 40, 83, 1)'], + width: 100 + } + }, + type: "category", + gridIndex: 0, + data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],//xAxisData + axisTick: { + alignWithLabel: true, + }, + axisLine: { + lineStyle: { + color: "#0c3b71", + }, + }, + axisLabel: { + show: true, + rotate: this.rotate, + color: 'rgba(185, 211, 235, 1)' + }, + }, + ], + yAxis: [ + { + type: "value", + name: this.unit, + nameTextStyle: { + color: 'rgba(185, 211, 235, 1)' + }, + axisLabel: { + formatter: "{value}", + textStyle: { + color: "rgba(185, 211, 235, 1)", + }, + }, + axisLine: { + lineStyle: { + color: "#27b4c2", + }, + }, + axisTick: { + show: false, + }, + splitLine: { + show: true, + lineStyle: { + color: "#11366e", + }, + }, + }, + { + type: "value", + gridIndex: 0, + max: 100, + splitNumber: 12, + splitLine: { + show: false, + }, + axisLine: { + show: false, + }, + axisTick: { + show: false, + }, + axisLabel: { + show: false, + } + }, + ], + series: [ + { + name: '村集体', + barWidth: 20, + type: 'bar', + stack: 'Ad', + emphasis: { + focus: 'series' + }, + data: [320, 332, 301, 334, 390, 330, 320] + }, + { + name: '农民', + type: 'bar', + stack: 'Ad', + emphasis: { + focus: 'series' + }, + data: [120, 132, 101, 134, 90, 230, 210] + }, + { + name: '公司', + type: 'bar', + stack: 'Ad', + emphasis: { + focus: 'series' + }, + data: [220, 182, 191, 234, 290, 330, 310] + }, + { + name: '其它', + type: 'bar', + stack: 'Ad', + emphasis: { + focus: 'series' + }, + data: [150, 232, 201, 154, 190, 330, 410] + }, + ] + }; + this.chart.setOption(option); + this.initResizeCallBack(); + } + } +}; diff --git a/src/components/charts/bar-stack/index.scss b/src/components/charts/bar-stack/index.scss new file mode 100644 index 0000000..b89d9dc --- /dev/null +++ b/src/components/charts/bar-stack/index.scss @@ -0,0 +1,6 @@ +.chart { + overflow: visible; + width: 100%; + height: 100%; + z-index: 2; +} \ No newline at end of file diff --git a/src/components/charts/bar-stack/index.vue b/src/components/charts/bar-stack/index.vue new file mode 100644 index 0000000..5ca257a --- /dev/null +++ b/src/components/charts/bar-stack/index.vue @@ -0,0 +1,3 @@ +