diff --git a/assets/peakCoalImages/coommon/long-seconfary-title-bg.png b/assets/peakCoalImages/common/long-seconfary-title-bg.png similarity index 100% rename from assets/peakCoalImages/coommon/long-seconfary-title-bg.png rename to assets/peakCoalImages/common/long-seconfary-title-bg.png diff --git a/assets/peakCoalImages/coommon/no-data.png b/assets/peakCoalImages/common/no-data.png similarity index 100% rename from assets/peakCoalImages/coommon/no-data.png rename to assets/peakCoalImages/common/no-data.png diff --git a/assets/peakCoalImages/coommon/small-seconfary-title-bg.png b/assets/peakCoalImages/common/small-seconfary-title-bg.png similarity index 100% rename from assets/peakCoalImages/coommon/small-seconfary-title-bg.png rename to assets/peakCoalImages/common/small-seconfary-title-bg.png diff --git a/assets/peakCoalImages/common/third-level-label-icon.png b/assets/peakCoalImages/common/third-level-label-icon.png new file mode 100644 index 0000000..3e196a0 Binary files /dev/null and b/assets/peakCoalImages/common/third-level-label-icon.png differ diff --git a/assets/peakCoalImages/left/pollutant-type-active-bg.png b/assets/peakCoalImages/left/pollutant-type-active-bg.png new file mode 100644 index 0000000..5a4ac78 Binary files /dev/null and b/assets/peakCoalImages/left/pollutant-type-active-bg.png differ diff --git a/assets/peakCoalImages/left/pollutant-type-default-bg.png b/assets/peakCoalImages/left/pollutant-type-default-bg.png new file mode 100644 index 0000000..e87000a Binary files /dev/null and b/assets/peakCoalImages/left/pollutant-type-default-bg.png differ diff --git a/assets/peakCoalImages/right/warning-type-pie-bg.png b/assets/peakCoalImages/right/warning-type-pie-bg.png new file mode 100644 index 0000000..155501e Binary files /dev/null and b/assets/peakCoalImages/right/warning-type-pie-bg.png differ diff --git a/components/AirQuality.vue b/components/AirQuality.vue index e3b0834..e2a394d 100644 --- a/components/AirQuality.vue +++ b/components/AirQuality.vue @@ -10,17 +10,99 @@ 90% -
+ +
+ +
+ +
+
@@ -87,7 +120,7 @@ export default { .latest-warning { margin-top: 43px; - height: 984px; + height: 784px; width: 100%; background-image: linear-gradient(62deg, rgba(8, 31, 55, 0.10) 0%, rgba(18, 50, 81, 0.10) 100%); /* border: 1px solid transparent; !* 先将边框颜色设置为透明 *! @@ -103,6 +136,7 @@ export default { .warning-data-list { height: 100%; padding-top: 20px; + .seamless-scroll { height: 100%; overflow: hidden; @@ -113,5 +147,34 @@ export default { } } } + + .right-tab { + height: 100%; + .flex-row; + justify-content: space-between; + width: 580px; + + .tab-type { + width: 144px; + height: 59px; + background: url("assets/peakCoalImages/left/pollutant-type-default-bg.png") no-repeat; + font-family: MicrosoftYaHei; + font-size: 29.97px; + color: rgba(216, 240, 255, 0.50); + letter-spacing: 0; + text-align: center; + line-height: 59px; + text-shadow: 0 0 11px #0091FF; + font-weight: 400; + cursor: pointer; + } + + .active-tab { + background: url("assets/peakCoalImages/left/pollutant-type-active-bg.png") no-repeat; + color: #D8F0FF; + text-shadow: 0 0 33px #0091FF; + font-weight: 400; + } + } } diff --git a/components/OverviewPollutants.vue b/components/OverviewPollutants.vue index fd80723..df50417 100644 --- a/components/OverviewPollutants.vue +++ b/components/OverviewPollutants.vue @@ -16,16 +16,27 @@ + +
+ +
+ +
+
diff --git a/components/SecondaryTitle.vue b/components/SecondaryTitle.vue index 4fec2f7..40b080c 100644 --- a/components/SecondaryTitle.vue +++ b/components/SecondaryTitle.vue @@ -30,14 +30,14 @@ export default { .secondary-title { width: 100%; height: 84px; - background: url("assets/peakCoalImages/coommon/small-seconfary-title-bg.png") no-repeat; + background: url("assets/peakCoalImages/common/small-seconfary-title-bg.png") no-repeat; background-size: 100% 100%; .clear-fix; &.longBg { width: 100%; height: 84px; - background: url("assets/peakCoalImages/coommon/long-seconfary-title-bg.png") no-repeat; + background: url("assets/peakCoalImages/common/long-seconfary-title-bg.png") no-repeat; background-size: 100% 100%; } @@ -64,7 +64,7 @@ export default { .longBg { width: 100%; height: 84px; - background: url("assets/peakCoalImages/coommon/long-seconfary-title-bg.png") no-repeat; + background: url("assets/peakCoalImages/common/long-seconfary-title-bg.png") no-repeat; background-size: 100% 100%; }*/ diff --git a/components/ThirdLevelLabel.vue b/components/ThirdLevelLabel.vue new file mode 100644 index 0000000..32321be --- /dev/null +++ b/components/ThirdLevelLabel.vue @@ -0,0 +1,72 @@ + + + + + + diff --git a/components/WarningInfoItem.vue b/components/WarningInfoItem.vue index a7b8563..9779435 100644 --- a/components/WarningInfoItem.vue +++ b/components/WarningInfoItem.vue @@ -23,7 +23,7 @@ + + diff --git a/components/charts/COTrendCharts.vue b/components/charts/COTrendCharts.vue new file mode 100644 index 0000000..6392021 --- /dev/null +++ b/components/charts/COTrendCharts.vue @@ -0,0 +1,200 @@ + + + + + + diff --git a/components/charts/ElectricityWaterCharts.vue b/components/charts/ElectricityWaterCharts.vue new file mode 100644 index 0000000..841e01a --- /dev/null +++ b/components/charts/ElectricityWaterCharts.vue @@ -0,0 +1,210 @@ + + + + + + diff --git a/components/charts/PollutantTrendCharts.vue b/components/charts/PollutantTrendCharts.vue new file mode 100644 index 0000000..81d8fab --- /dev/null +++ b/components/charts/PollutantTrendCharts.vue @@ -0,0 +1,196 @@ + + + + + + diff --git a/components/charts/ProduceTrendChart.vue b/components/charts/ProduceTrendChart.vue new file mode 100644 index 0000000..0a092bf --- /dev/null +++ b/components/charts/ProduceTrendChart.vue @@ -0,0 +1,219 @@ + + + + + + diff --git a/components/charts/WarningTypeChart.vue b/components/charts/WarningTypeChart.vue new file mode 100644 index 0000000..5402a39 --- /dev/null +++ b/components/charts/WarningTypeChart.vue @@ -0,0 +1,180 @@ + + + + + + diff --git a/package.json b/package.json index 43684c8..09d611b 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,8 @@ "vue-echarts": "^4.1.0", "vue-seamless-scroll": "^1.1.23", "vue-server-renderer": "^2.7.10", - "vue-template-compiler": "^2.7.10" + "vue-template-compiler": "^2.7.10", + "lodash": "^4.17.21" }, "devDependencies": { "less": "^4.2.0", diff --git a/pages/visual/PeakCoalView.vue b/pages/visual/PeakCoalView.vue index de7306f..3a81c95 100644 --- a/pages/visual/PeakCoalView.vue +++ b/pages/visual/PeakCoalView.vue @@ -106,7 +106,6 @@ export default { const innerHeight = window.innerHeight const widthScale = innerWidth / baseWidth const scaleHeight = baseHeight * widthScale - console.log('scaleHeight:', scaleHeight) if (scaleHeight <= innerHeight) { origin = 'left top' scale = widthScale diff --git a/utils/esresize.js b/utils/esresize.js new file mode 100644 index 0000000..2588208 --- /dev/null +++ b/utils/esresize.js @@ -0,0 +1,105 @@ +let EleResize = { + _handleResize: function (e) { + let ele = e.target || e.srcElement + let trigger = ele.__resizeTrigger__ + if (trigger) { + let handlers = trigger.__z_resizeListeners + if (handlers) { + let size = handlers.length + for (let i = 0; i < size; i++) { + let h = handlers[i] + let handler = h.handler + let context = h.context + handler.apply(context, [e]) + } + } + } + }, + _removeHandler: function (ele, handler, context) { + let handlers = ele.__z_resizeListeners + if (handlers) { + let size = handlers.length + for (let i = 0; i < size; i++) { + let h = handlers[i] + if (h.handler === handler && h.context === context) { + handlers.splice(i, 1) + return + } + } + } + }, + _createResizeTrigger: function (ele) { + let obj = document.createElement('object') + obj.setAttribute('style', + 'display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden;opacity: 0; pointer-events: none; z-index: -1;') + obj.onload = EleResize._handleObjectLoad + obj.type = 'text/html' + ele.appendChild(obj) + obj.data = 'about:blank' + return obj + }, + _handleObjectLoad: function (evt) { + this.contentDocument.defaultView.__resizeTrigger__ = this.__resizeElement__ + this.contentDocument.defaultView.addEventListener('resize', EleResize._handleResize) + } +} +if (document.attachEvent) { // ie9-10 + EleResize.on = function (ele, handler, context) { + let handlers = ele.__z_resizeListeners + if (!handlers) { + handlers = [] + ele.__z_resizeListeners = handlers + ele.__resizeTrigger__ = ele + ele.attachEvent('onresize', EleResize._handleResize) + } + handlers.push({ + handler: handler, + context: context + }) + } + EleResize.off = function (ele, handler, context) { + let handlers = ele.__z_resizeListeners + if (handlers) { + EleResize._removeHandler(ele, handler, context) + if (handlers.length === 0) { + ele.detachEvent('onresize', EleResize._handleResize) + delete ele.__z_resizeListeners + } + } + } +} else { + EleResize.on = function (ele, handler, context) { + let handlers = ele.__z_resizeListeners + if (!handlers) { + handlers = [] + ele.__z_resizeListeners = handlers + + if (getComputedStyle(ele, null).position === 'static') { + ele.style.position = 'relative' + } + let obj = EleResize._createResizeTrigger(ele) + ele.__resizeTrigger__ = obj + obj.__resizeElement__ = ele + } + handlers.push({ + handler: handler, + context: context + }) + } + EleResize.off = function (ele, handler, context) { + let handlers = ele.__z_resizeListeners + if (handlers) { + EleResize._removeHandler(ele, handler, context) + if (handlers.length === 0) { + let trigger = ele.__resizeTrigger__ + if (trigger) { + trigger.contentDocument.defaultView.removeEventListener('resize', EleResize._handleResize) + ele.removeChild(trigger) + delete ele.__resizeTrigger__ + } + delete ele.__z_resizeListeners + } + } + } +} +export {EleResize}