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);
|
|
|
|
|
|
/***/ })
|
|
|
|
});
|