webpackJsonp([89],{ /***/ "i78P": /***/ (function(module, exports) { // removed by extract-text-webpack-plugin /***/ }), /***/ "tPny": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); // EXTERNAL MODULE: ./src/api/allFun.js var allFun = __webpack_require__("mprh"); // EXTERNAL MODULE: ./src/common/echart/index.vue + 4 modules var echart = __webpack_require__("C3+4"); // EXTERNAL MODULE: ./src/components/scrolllist/index.vue + 2 modules var scrolllist = __webpack_require__("Lbay"); // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./src/views/presentationPage/airQualityMonitorHomePage.vue // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // import Schart from "vue-schart"; // import scrollvue from "../components/scrollvue" /* harmony default export */ var airQualityMonitorHomePage = ({ name: "dashboard", data: function data() { return { statisticalParameters: [{ title: '设备总数', num: '0', company: '个' }, { title: '在线设备', num: '0', company: '个' }, { title: '离线设备', num: '0', company: '个' }, { title: '异常设备', num: '0', company: '个' }, { title: 'PM2.5异常', num: '0', company: '个' }, { title: 'PM10异常', num: '0', company: '个' }], animate: false, name: localStorage.getItem("ms_username"), options: { title: { text: '一周空气质量走势图' }, tooltip: { trigger: 'axis' }, color: ['#91cc75'], legend: { data: ['空气质量'], textStyle: "#333" }, textStyle: { color: "#333" }, grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true }, xAxis: { type: 'category', boundaryGap: false, data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], axisLabel: { textStyle: { color: "#666", margin: 15 } } }, yAxis: { type: 'value', axisLabel: { textStyle: { color: "#666", margin: 15 } } }, series: [{ name: '空气质量', type: 'line', // stack: 'Total', data: [0, 0, 0, 0, 0, 0, 0] }] }, options2: { title: { text: '电量分布情况' }, tooltip: { trigger: 'item' }, legend: { top: '5%', left: 'center', textStyle: { color: "#666" } }, series: [{ name: '电量情况', type: 'pie', radius: ['40%', '70%'], avoidLabelOverlap: false, itemStyle: { borderRadius: 10, borderColor: '#fff', borderWidth: 2 }, label: { show: false, position: 'center', color: "#666" }, emphasis: { label: { show: true, fontSize: '20', fontWeight: 'bold' } }, labelLine: { // show: false, normal: { length: 15, // 指示线长度 lineStyle: { color: "#595959" // 指示线颜色 } } }, data: [{ value: 0, name: '0-20%' }, { value: 0, name: '20%-40%' }, { value: 0, name: '40%-60%' }, { value: 0, name: '60%-80%' }, { value: 0, name: '80%-100%' }] }] }, options3: { title: { text: '设备电量统计' }, tooltip: { trigger: 'axis' }, color: ['#fac858', '#91cc75', '#ee6666'], legend: { data: ['OTA未升级', 'OTA已升级', '低电设备'], textStyle: "#333" }, textStyle: { color: "#333" }, grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true }, xAxis: { type: 'category', boundaryGap: false, data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], axisLabel: { textStyle: { color: "#666", margin: 15 } } }, yAxis: { type: 'value', axisLabel: { textStyle: { color: "#666", margin: 15 } } }, series: [{ name: 'OTA未升级', type: 'line', // stack: 'center', data: [0, 0, 0, 0, 0, 0, 0] }, { name: 'OTA已升级', type: 'line', // stack: 'Total', data: [0, 0, 0, 0, 0, 0, 0] }, { name: '低电设备', type: 'line', // stack: 'bottom', data: [0, 0, 0, 0, 0, 0, 0] }] }, items: [], alertTypeList: [], timerairqu: null }; }, components: { Echart: echart["a" /* default */], scrolllist: scrolllist["a" /* default */] // Schart, // scrollvue }, beforeDestroy: function beforeDestroy() { window.clearInterval(this.timerairqu); this.timerairqu = null; }, created: function created() { this.alertTypeList = this.$MANUFACTURER.alertType.airCleaningLog; }, mounted: function mounted() { var _this = this; this.getAnalysis(); this.timerairqu = window.setInterval(function () { setTimeout(_this.getlog, 0); }, 4000); // setInterval(this.scroll, 1000); }, methods: { getlog: function getlog() { var _this2 = this; this.getAnalysis(); var data = { deviceType: 10 }; allFun["a" /* default */].getWarningLog(data, function (callback) { if (callback.success) { callback.data.list.map(function (li, index) { li['alertTypeDesc'] = ''; var alertTypeDesc = _this2.alertTypeList.filter(function (item) { return item.code == li.alertType; })[0]; if (alertTypeDesc) { li['alertTypeDesc'] = alertTypeDesc.desc; } else { li['alertTypeDesc'] = ''; } var resultStatus = allFun["a" /* default */].judgmentTimestamp(li.alertTime); if (resultStatus) { setTimeout(function () { _this2.$notify({ title: li.alertTypeDesc, offset: 200, duration: 2000, message: li.alertTypeDesc, type: 'warning' }); }, 3000); } else {} }); } }); }, getAnalysis: function getAnalysis() { var _this3 = this; allFun["a" /* default */].getAnalysis("", 10, function (callback) { _this3.statisticalParameters[0].num = callback.total || 0; _this3.statisticalParameters[1].num = callback.onlineTotal || 0; _this3.statisticalParameters[2].num = callback.offlineTotal || 0; _this3.statisticalParameters[3].num = callback.abnormalTotal || 0; _this3.setOptionsData(callback); }); allFun["a" /* default */].getAlertTypeOrder('', 10, function (callback) { if (callback.success) { if (callback.data.length > 0) { var days = allFun["a" /* default */].classification(); var array = allFun["a" /* default */].groupBy(callback.data, ["code", "order"], function (cul, data) { return cul + 1; }); var loopObjectData = allFun["a" /* default */].loopObject(array, _this3.alertTypeList); var legendData = []; loopObjectData.map(function (li) { legendData.push(li.name); }); _this3.options.series = loopObjectData; _this3.options.legend.data = legendData; _this3.options.xAxis.data = days; } } else { _this3.$message.error(callback.message); } }); }, setOptionsData: function setOptionsData(data) { var options2 = this.options2; options2.series[0].data[0].value = data.batteryLevel1; options2.series[0].data[1].value = data.batteryLevel2; options2.series[0].data[2].value = data.batteryLevel3; options2.series[0].data[3].value = data.batteryLevel4; options2.series[0].data[4].value = data.batteryLevel5; }, tgces: function tgces() { this.$router.push({ path: "/test" }); }, scroll: function scroll() { var _this4 = this; this.animate = true; // 因为在消息向上滚动的时候需要添加css3过渡动画,所以这里需要设置true setTimeout(function () { // 这里直接使用了es6的箭头函数,省去了处理this指向偏移问题,代码也比之前简化了很多 _this4.tableData.push(_this4.tableData[0]); // 将数组的第一个元素添加到数组的 _this4.tableData.shift(); //删除数组的第一个元素 _this4.animate = false; // margin-top 为0 的时候取消过渡动画,实现无缝滚动 }, 500); }, changeDate: function changeDate() { var now = new Date().getTime(); this.data.forEach(function (item, index) { var date = new Date(now - (6 - index) * 86400000); item.name = date.getFullYear() + "/" + (date.getMonth() + 1) + "/" + date.getDate(); }); } } }); // CONCATENATED MODULE: ./node_modules/vue-loader/lib/template-compiler?{"id":"data-v-07db54ff","hasScoped":true,"transformToRequire":{"video":["src","poster"],"source":"src","img":"src","image":"xlink:href"},"buble":{"transforms":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/presentationPage/airQualityMonitorHomePage.vue var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"content1"},[_c('el-row',{staticClass:"elrow",attrs:{"gutter":20}},_vm._l((_vm.statisticalParameters),function(item,index){return _c('el-col',{key:index,staticClass:"mrBottom20",attrs:{"span":4}},[_c('el-card',{staticClass:"caredradious",attrs:{"shadow":"always","body-style":{padding:'0px'}}},[_c('div',{staticClass:"grid-content grid-con-1"},[_c('div',{staticClass:"colposition"},[_c('div',{staticClass:"grid-cont-right"},[_c('div',[_vm._v(_vm._s(item.title))]),_vm._v(" "),_c('div',{staticClass:"grid-num"},[_vm._v(_vm._s(item.num)+" "),_c('span',[_vm._v(_vm._s(item.company))])])])])])])],1)}),1),_vm._v(" "),_c('el-row',{staticClass:"elrow",attrs:{"gutter":20}},[_c('el-col',{attrs:{"span":12}},[_c('el-card',{attrs:{"shadow":"hover"}},[_c('Echart',{staticClass:"schart",attrs:{"options":_vm.options,"width":"100%","height":"18vw"}})],1)],1),_vm._v(" "),_c('el-col',{attrs:{"span":12}},[_c('el-card',{attrs:{"shadow":"hover"}},[_c('Echart',{staticClass:"schart",attrs:{"options":_vm.options2,"width":"100%","height":"18vw"}})],1)],1)],1)],1)} var staticRenderFns = [] var esExports = { render: render, staticRenderFns: staticRenderFns } /* harmony default export */ var presentationPage_airQualityMonitorHomePage = (esExports); // CONCATENATED MODULE: ./src/views/presentationPage/airQualityMonitorHomePage.vue function injectStyle (ssrContext) { __webpack_require__("i78P") } var normalizeComponent = __webpack_require__("VU/8") /* script */ /* template */ /* template functional */ var __vue_template_functional__ = false /* styles */ var __vue_styles__ = injectStyle /* scopeId */ var __vue_scopeId__ = "data-v-07db54ff" /* moduleIdentifier (server only) */ var __vue_module_identifier__ = null var Component = normalizeComponent( airQualityMonitorHomePage, presentationPage_airQualityMonitorHomePage, __vue_template_functional__, __vue_styles__, __vue_scopeId__, __vue_module_identifier__ ) /* harmony default export */ var views_presentationPage_airQualityMonitorHomePage = __webpack_exports__["default"] = (Component.exports); /***/ }) });