webpackJsonp([75],{

/***/ "Cqwb":
/***/ (function(module, exports) {

// removed by extract-text-webpack-plugin

/***/ }),

/***/ "TjGU":
/***/ (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: ./node_modules/moment/moment.js
var moment = __webpack_require__("PJh5");
var moment_default = /*#__PURE__*/__webpack_require__.n(moment);

// 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");

// EXTERNAL MODULE: ./node_modules/babel-runtime/core-js/promise.js
var promise = __webpack_require__("//Fk");
var promise_default = /*#__PURE__*/__webpack_require__.n(promise);

// CONCATENATED MODULE: ./src/api/registerDeletion/index.js

/**
     * @descripting 轮询功能
     * @param {String} type 请求类型
     * @param {String} url 地址 
     * @param {Object} data 请求数据 
     * @param {Number} delay 轮询间隔时间
     */
function polling(type, url, data) {
    var delay = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1000;

    return new promise_default.a(function (resolve, reject) {
        ajax[type](url, data).then(function (res) {
            if (res.data === 'polling') {
                // 这个继续进行轮询的条件,需要根据自己的需要修改
                setTimeout(function () {
                    resolve(polling(type, url, data, delay));
                }, delay);
            } else {
                resolve(res);
            }
        });
    });
}
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./src/views/presentationPage/trashMonitorHomePage.vue
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

// import Schart from "vue-schart";
// import scrollvue from "../components/scrollvue"





/* harmony default export */ var trashMonitorHomePage = ({
  name: "dashboard",
  data: function data() {
    return {
      statisticalParameters: [{
        title: '设备总数',
        num: '0',
        company: '个'
      }, {
        title: '在线设备',
        num: '0',
        company: '个'
      }, {
        title: '离线设备',
        num: '0',
        company: '个'
      }, {
        title: '异常设备',
        num: '0',
        company: '个'
      }, {
        title: '满溢数量',
        num: '0',
        company: '个'
      }, {
        title: '倾斜数量',
        num: '0',
        company: '个'
      }, {
        title: '翻盖数量',
        num: '0',
        company: '个'
      }, {
        title: '位置异常',
        num: '0',
        company: '个'
      }],
      animate: false,
      name: localStorage.getItem("ms_username"),
      options: {
        title: {
          text: '满溢情况'
        },
        tooltip: {
          trigger: 'axis'
        },
        color: ['#91cc75', '#ee6666'],
        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: [220, 182, 191, 234, 290, 330, 310]
        }, {
          name: '满溢警告',
          type: 'line',
          // stack: 'center',
          data: [10, 11, 5, 6, 23, 25, 32]
        }]
      },
      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,
            normal: {
              color: function color(colors) {
                var colorList = ['#ff5c5c', '#ffdb5c', '#ff9900', '#2d8cf0', '#19be6b'];
                return colorList[colors.dataIndex];
              }
            }
          },
          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: [10, 11, 5, 6, 23, 25, 32]
        }, {
          name: 'OTA已升级',
          type: 'line',
          // stack: 'Total',
          data: [220, 182, 191, 234, 290, 330, 310]
        }, {
          name: '低电设备',
          type: 'line',
          // stack: 'bottom',
          data: [0, 1, 0, 0, 0, 0, 0]
        }]
      },
      items: [],
      notifyPromise: '',
      timertra: null,
      alertTypeList: []
    };
  },

  components: {
    Echart: echart["a" /* default */],
    scrolllist: scrolllist["a" /* default */]
    // Schart,
    // scrollvue
  },
  beforeDestroy: function beforeDestroy() {
    window.clearInterval(this.timertra);
    this.timertra = null;
  },
  created: function created() {
    this.alertTypeList = this.$MANUFACTURER.alertType.trashLog;
    this.getAnalysis();
  },
  mounted: function mounted() {
    var _this = this;

    this.timertra = window.setInterval(function () {
      setTimeout(_this.getlog, 0);
    }, 4000);
  },

  methods: {
    getAnalysis: function getAnalysis() {
      var _this2 = this;

      allFun["a" /* default */].getAnalysis("", 9, function (callback) {
        _this2.statisticalParameters[0].num = callback.total || 0;
        _this2.statisticalParameters[1].num = callback.onlineTotal || 0;
        _this2.statisticalParameters[2].num = callback.offlineTotal || 0;
        _this2.statisticalParameters[3].num = callback.abnormalTotal || 0;
        _this2.setOptionsData(callback);
      });
      allFun["a" /* default */].getAlertTypeOrder('', 9, 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, _this2.alertTypeList);
            var legendData = [];
            loopObjectData.map(function (li) {
              legendData.push(li.name);
            });
            _this2.options.series = loopObjectData;
            _this2.options.legend.data = legendData;
            _this2.options.xAxis.data = days;
          }
        } else {
          _this2.$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;
    },
    getlog: function getlog() {
      var _this3 = this;

      var data = {
        deviceType: 9
      };
      allFun["a" /* default */].getWarningLog(data, function (callback) {
        if (callback.success) {
          callback.data.list.map(function (li, index) {
            li['alertTypeDesc'] = '';
            var alertTypeDesc = _this3.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 () {
                _this3.$notify({
                  title: li.alertTypeDesc,
                  offset: 200,
                  duration: 2000,
                  message: li.alertTypeDesc,
                  type: 'warning'
                });
              }, 3000);
            } else {}
          });
        }
      });
    },
    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-3142a2c5","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/trashMonitorHomePage.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_trashMonitorHomePage = (esExports);
// CONCATENATED MODULE: ./src/views/presentationPage/trashMonitorHomePage.vue
function injectStyle (ssrContext) {
  __webpack_require__("Cqwb")
}
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-3142a2c5"
/* moduleIdentifier (server only) */
var __vue_module_identifier__ = null
var Component = normalizeComponent(
  trashMonitorHomePage,
  presentationPage_trashMonitorHomePage,
  __vue_template_functional__,
  __vue_styles__,
  __vue_scopeId__,
  __vue_module_identifier__
)

/* harmony default export */ var views_presentationPage_trashMonitorHomePage = __webpack_exports__["default"] = (Component.exports);


/***/ })

});