{"remainingRequest":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\bzzgj-fvue\\src\\views\\Device\\performanceAnalysis\\HealthAnalysis.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\src\\views\\Device\\performanceAnalysis\\HealthAnalysis.vue","mtime":1687687534423},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport * as echarts from 'echarts'\nimport dictUtils from '@/components/dict/DictSelectUtils.js'\nimport vueSeamlessScroll from 'vue-seamless-scroll'\nimport equipmentIndex from '@/api/device/equipmentIndex.js'\nimport resourceManage from '@/api/device/resourceManage.js'\nimport equipmentManage from '@/api/device/equipmentManage.js'\nexport default {\n\tcomponents: {\n\t\tvueSeamlessScroll\n\t},\n\tdata() {\n\t\tvar that = this;\n\t\treturn {\n\t\t\tselectA: false,\n\t\t\tselectB: true,\n\t\t\tselectC: true,\n\t\t\tselectD: true,\n\t\t\tselectE: true,\n\t\t\twarnAnalyzeData: [],\n\t\t\tregionPicker: [],\n\t\t\tendTime: '',\n\t\t\tstartTime: '',\n\t\t\twarnFailureTime: '',\n\t\t\twarnFailureFailure: '',\n\t\t\twarnFailureAlarm: '',\n\t\t\tareaStatusAreaName: [],\n\t\t\tproductValue: '',\n\t\t\tdeviceValue: 'bspqx',\n\t\t\tproductData: [],\n\t\t\tintellectData: [{\n\t\t\t\t\talarm: 0,\n\t\t\t\t\tfailure: 0,\n\t\t\t\t\tnormal: 0,\n\t\t\t\t\tnum: 0,\n\t\t\t\t\tother: 0,\n\t\t\t\t\tscrap: 0,\n\t\t\t\t\ttypeCode: 'barricade',\n\t\t\t\t\ttypeName: '升降路障产品'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\talarm: 0,\n\t\t\t\t\tfailure: 0,\n\t\t\t\t\tnormal: 0,\n\t\t\t\t\tnum: 0,\n\t\t\t\t\tother: 0,\n\t\t\t\t\tscrap: 0,\n\t\t\t\t\ttypeCode: 'barricade',\n\t\t\t\t\ttypeName: '升降路障产品'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\talarm: 0,\n\t\t\t\t\tfailure: 0,\n\t\t\t\t\tnormal: 0,\n\t\t\t\t\tnum: 0,\n\t\t\t\t\tother: 0,\n\t\t\t\t\tscrap: 0,\n\t\t\t\t\ttypeCode: 'barricade',\n\t\t\t\t\ttypeName: '升降路障产品'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\talarm: 0,\n\t\t\t\t\tfailure: 0,\n\t\t\t\t\tnormal: 0,\n\t\t\t\t\tnum: 0,\n\t\t\t\t\tother: 0,\n\t\t\t\t\tscrap: 0,\n\t\t\t\t\ttypeCode: 'barricade',\n\t\t\t\t\ttypeName: '升降路障产品'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\talarm: 0,\n\t\t\t\t\tfailure: 0,\n\t\t\t\t\tnormal: 0,\n\t\t\t\t\tnum: 0,\n\t\t\t\t\tother: 0,\n\t\t\t\t\tscrap: 0,\n\t\t\t\t\ttypeCode: 'barricade',\n\t\t\t\t\ttypeName: '升降路障产品'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\talarm: 0,\n\t\t\t\t\tfailure: 0,\n\t\t\t\t\tnormal: 0,\n\t\t\t\t\tnum: 0,\n\t\t\t\t\tother: 0,\n\t\t\t\t\tscrap: 0,\n\t\t\t\t\ttypeCode: 'barricade',\n\t\t\t\t\ttypeName: '升降路障产品'\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\talarm: 0,\n\t\t\t\t\tfailure: 0,\n\t\t\t\t\tnormal: 0,\n\t\t\t\t\tnum: 0,\n\t\t\t\t\tother: 0,\n\t\t\t\t\tscrap: 0,\n\t\t\t\t\ttypeCode: 'barricade',\n\t\t\t\t\ttypeName: '升降路障产品'\n\t\t\t\t}\n\t\t\t],\n\t\t\tequipmentData: [],\n\n\n\t\t\tactiveName: '/1552911478301003776',\n\t\t\tconditions: [{\n\t\t\t\tname: '综合管理局',\n\t\t\t\tvalue: '/1552911478301003776'\n\t\t\t}, {\n\t\t\t\tname: '渝高物业',\n\t\t\t\tvalue: '/1667102417759510528'\n\t\t\t}, {\n\t\t\t\tname: '视频监控',\n\t\t\t\tvalue: ''\n\t\t\t}, ],\n\t\t\tsearchForm: {\n\t\t\t\tproductValue: '',\n\t\t\t\tregionValue: ''\n\t\t\t},\n\t\t\ttreeData: [],\n\t\t\tloading: false,\n\t\t\treportFormData: [],\n\t\t\tsearchType: false,\n\t\t\tareaId: '',\n\t\t\tfullId: '',\n\t\t\ttypeCode: '',\n\t\t\tstartTime: '',\n\t\t\tendTime: '',\n\t\t\tproductValue1: '',\n\t\t\tproductDataOne: [],\n\t\t\tequipmentStatusData: [],\n\t\t\t// 用于已选择的第一个时间\n\t\t\tpickerOneDate: null,\n\t\t\tpickerOptions: {\n\t\t\t\t// 获取选择的第一个时间\n\t\t\t\tonPick: (obj) => {\n\t\t\t\t\t// 把第一个时间分配给pickerOneDate \n\t\t\t\t\tlet startDate = new Date(obj.minDate).getTime();;\n\t\t\t\t\tthat.pickerOneDate = startDate;\n\t\t\t\t},\n\t\t\t\tdisabledDate(time) {\n\t\t\t\t\tif (that.pickerOneDate) {\n\t\t\t\t\t\tconst day = 7 * 24 * 3600 * 1000\n\t\t\t\t\t\tlet maxTime = that.pickerOneDate + day\n\t\t\t\t\t\tlet minTime = that.pickerOneDate - day\n\t\t\t\t\t\treturn time.getTime() > maxTime || time.getTime() < minTime || time.getTime() > Date.now()\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn time.getTime() > Date.now()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t},\n\tcreated() {\n\t\tthis.loadProduct() //产品树\n\t\tthis.areaStatusList() //设备分析\n\t\tthis.getAreaTree() //区域树\n\t\tthis.getAllproductType()\n\t\tthis.getReportForm() // 获取区域设备分析数据\n\t\tthis.getEquipmentLife() //获取设备年限分析数据\n\n\n\t},\n\tmounted() {},\n\tcomputed: {},\n\tmethods: {\n\t\tgetAllproductType() {\n\t\t\tequipmentIndex.AllproductType({}, res => {\n\t\t\t\tif (res.state) {\n\t\t\t\t\tthis.productDataOne = res.value\n\t\t\t\t\tthis.productValue1 = this.productDataOne[0].children[0].fullId\n\t\t\t\t\tthis.typeCode = this.productDataOne[0].children[0].fullId\n\t\t\t\t\tthis.getEquipmentStatus()\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t\t//搜索\n\t\thandleSearch() {\n\t\t\tthis.searchType = true\n\t\t\tif (this.activeName == 2) {\n\t\t\t\tthis.getVideoData()\n\t\t\t} else {\n\t\t\t\tthis.getReportForm()\n\t\t\t}\n\t\t},\n\t\ttoDevicePage(val) {\n\t\t\tif (this.activeName != 2) {\n\t\t\t\tlocalStorage.setItem('product', JSON.stringify(val))\n\t\t\t\tthis.$router.push({\n\t\t\t\t\tpath: 'DevicePage'\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tlocalStorage.setItem('monitor', JSON.stringify(val))\n\t\t\t\tconsole.log('监控');\n\t\t\t\tthis.$router.push({\n\t\t\t\t\tpath: 'MonitorPage'\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\t\t//tab切换\n\t\thandleTabsClick(tab) {\n\t\t\tthis.searchType = false\n\t\t\tthis.searchForm = {\n\t\t\t\tregionValue: [],\n\t\t\t\tproductValue: []\n\t\t\t}\n\t\t\tthis.loadProduct()\n\t\t\tif (tab.index == 2) {\n\t\t\t\tthis.getVideoData()\n\t\t\t} else {\n\t\t\t\tthis.getReportForm()\n\t\t\t}\n\t\t},\n\t\t//产品树\n\t\tloadProduct() {\n\t\t\tresourceManage.getProductTree({\n\t\t\t\t// fullId: this.activeName\n\t\t\t}, res => {\n\t\t\t\tif (res.state) {\n\t\t\t\t\tthis.productData = res.value\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t\t//区域\n\t\tgetAreaTree() {\n\t\t\tequipmentManage.loadAreaTree({\n\t\t\t\tid: '0'\n\t\t\t}, res => {\n\t\t\t\tthis.treeData = res.value // this.formatData(res.rows)\n\t\t\t\tthis.$set(this.treeData)\n\t\t\t})\n\t\t},\n\t\tregionChange(val, data) {\n\t\t\tconsole.log(data);\n\t\t\tlet arr = JSON.parse(JSON.stringify(data))\n\t\t\tif (val == 'product') {\n\t\t\t\tthis.typeCode = arr.pop()\n\t\t\t} else if (val == 'time') {\n\t\t\t\tif (data == null) {\n\t\t\t\t\tthis.pickerOneDate = null\n\t\t\t\t} else {\n\t\t\t\t\tthis.startTime = arr[0]\n\t\t\t\t\tthis.endTime = arr[1]\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.getEquipmentStatus()\n\n\t\t},\n\t\t// 获取报表数据\n\t\tgetReportForm() {\n\t\t\tlet areaFullId = this.searchForm.regionValue ? this.searchForm.regionValue.pop() : ''\n\t\t\tlet fullId = ''\n\t\t\tif (this.searchType) {\n\t\t\t\tfullId = this.searchForm.productValue.pop()\n\t\t\t\tconsole.log(fullId);\n\t\t\t\tif (!fullId) {\n\t\t\t\t\tfullId = this.activeName\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfullId = this.activeName\n\t\t\t}\n\t\t\tlet isIntellect = ''\n\t\t\tconst formData = new FormData()\n\t\t\tformData.append('areaFullId', areaFullId ? areaFullId : '')\n\t\t\tformData.append('fullId', fullId ? fullId : '')\n\t\t\tformData.append('isIntellect', isIntellect ? isIntellect : '')\n\t\t\tconst config = {\n\t\t\t\theaders: {\n\t\t\t\t\t'Content-Type': 'multipart/form-data'\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.$http.post(window.context.portal + `/homepage/v1/deviceProductStatistics`, formData, config).then(\n\t\t\t\tres => {\n\t\t\t\t\tif (res.data.state) {\n\t\t\t\t\t\tthis.reportFormData = res.data.value\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t},\n\t\t//视频\n\t\tgetVideoData() {\n\t\t\tlet areaFullId = this.searchForm.regionValue.pop()\n\t\t\tlet isIntellect = ''\n\t\t\tconst formData = new FormData()\n\t\t\tformData.append('areaFullId', areaFullId ? areaFullId : '')\n\t\t\tformData.append('fullId', '')\n\t\t\tformData.append('isIntellect', isIntellect ? isIntellect : '')\n\t\t\tconst config = {\n\t\t\t\theaders: {\n\t\t\t\t\t'Content-Type': 'multipart/form-data'\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.$http.post(window.context.portal + `/homepage/v1/videoStatistics`, formData, config).then(\n\t\t\t\tres => {\n\t\t\t\t\tif (res.data.state) {\n\t\t\t\t\t\tthis.reportFormData = res.data.value\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t},\n\t\tproductChange(val) {\n\t\t\tif (this.productValue.length > 0) {\n\t\t\t\tlet arr = JSON.parse(JSON.stringify(this.productValue))\n\t\t\t\tthis.fullId = arr.pop()\n\t\t\t} else {\n\t\t\t\tthis.fullId = ''\n\t\t\t}\n\t\t\tthis.areaStatusList()\n\t\t},\n\t\t//设备分析\n\t\tareaStatusList() {\n\t\t\tconst formData = new FormData()\n\t\t\tformData.append('areaId', this.areaId ? this.areaId : '')\n\t\t\tformData.append('fullId', this.fullId ? this.fullId : '')\n\t\t\tconst config = {\n\t\t\t\theaders: {\n\t\t\t\t\t'Content-Type': 'multipart/form-data'\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.$http.post(window.context.portal + `/homepage/v1/areaStatusAnalyze`, formData, config).then(\n\t\t\t\tres => {\n\t\t\t\t\tif (res.data.state) {\n\t\t\t\t\t\tthis.equipmentData = res.data.value\n\t\t\t\t\t\tthis.$nextTick(() => {\n\t\t\t\t\t\t\tthis.equipmentInit()\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\n\t\t},\n\t\t// 设备分析echarts\n\t\tequipmentInit() {\n\t\t\tlet myChart = echarts.init(document.getElementById('Bar'))\n\t\t\t// 指定图表的配置项和数据\n\t\t\tlet AData = []\n\t\t\tlet BData = []\n\t\t\tlet CData = []\n\t\t\tthis.equipmentData.forEach(e => {\n\t\t\t\tAData.push({\n\t\t\t\t\tvalue: e.normal,\n\t\t\t\t\textra: {\n\t\t\t\t\t\tparam: e.areaId\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\tBData.push({\n\t\t\t\t\tvalue: e.failure,\n\t\t\t\t\textra: {\n\t\t\t\t\t\tparam: e.areaId\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\tCData.push({\n\t\t\t\t\tvalue: e.alarm,\n\t\t\t\t\textra: {\n\t\t\t\t\t\tparam: e.areaId\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t\t\tlet option = {\n\t\t\t\ttoolbox: {\n\t\t\t\t\tfeature: {\n\t\t\t\t\t\trestore: {\n\t\t\t\t\t\t\tshow: true,\n\t\t\t\t\t\t\ttitle: '返回',\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\ticonStyle: {\n\t\t\t\t\t\tborderColor: '#000'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t// title: {\n\t\t\t\t// \ttext: '全校人数汇总',\n\t\t\t\t// \tleft: 'center'\n\t\t\t\t// },\n\t\t\t\ttooltip: {\n\t\t\t\t\ttrigger: 'axis',\n\t\t\t\t\taxisPointer: {\n\t\t\t\t\t\ttype: 'shadow'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tlegend: {\n\n\t\t\t\t},\n\t\t\t\tgrid: {\n\t\t\t\t\tleft: 50,\n\t\t\t\t\tright: 20,\n\t\t\t\t\tbottom: '10%'\n\t\t\t\t},\n\t\t\t\txAxis: {\n\t\t\t\t\tdata: this.equipmentData.map((a) => a.areaName)\n\n\t\t\t\t},\n\t\t\t\tyAxis: {},\n\t\t\t\tseries: [{\n\t\t\t\t\t\t// color: '#2ae3ae',\n\t\t\t\t\t\ttype: 'bar',\n\t\t\t\t\t\tname: '正常数',\n\t\t\t\t\t\tdata: AData,\n\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\tshow: false,\n\t\t\t\t\t\t\t// 配置自定义参数\n\t\t\t\t\t\t\textra: {\n\t\t\t\t\t\t\t\tcustomParam: '这里是自定义参数'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}, {\n\t\t\t\t\t\t// color: '#2ae3ae',\n\t\t\t\t\t\ttype: 'bar',\n\t\t\t\t\t\tname: '故障数',\n\t\t\t\t\t\tdata: BData,\n\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\tshow: false,\n\t\t\t\t\t\t\t// 配置自定义参数\t\n\t\t\t\t\t\t\textra: {\n\t\t\t\t\t\t\t\tcustomParam: '这里是自定义参数'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t// color: '#2ae3ae',\n\t\t\t\t\t\ttype: 'bar',\n\t\t\t\t\t\tname: '报警数',\n\t\t\t\t\t\tdata: CData,\n\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\tshow: false,\n\t\t\t\t\t\t\textra: {\n\t\t\t\t\t\t\t\tcustomParam: '这里是自定义参数'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t\toption.xAxis.data = this.equipmentData.map((a) => a.areaName)\n\t\t\tmyChart.setOption(option)\n\t\t\t// 点击柱状触发事件(点击事件,点击下钻查询年级所属的班级数据) 如不需要下钻查询可不写\n\t\t\tmyChart.on('click', (params) => {\n\t\t\t\tlet areaId = params.data.extra.param\n\t\t\t\tlet fullId = ''\n\t\t\t\tif (areaId) {\n\t\t\t\t\tconst formData = new FormData()\n\t\t\t\t\tformData.append('areaId', areaId ? areaId : '')\n\t\t\t\t\tformData.append('fullId', fullId ? fullId : '')\n\t\t\t\t\tconst config = {\n\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t'Content-Type': 'multipart/form-data'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tthis.$http.post(window.context.portal + `/homepage/v1/areaStatusAnalyze`, formData, config)\n\t\t\t\t\t\t.then(\n\t\t\t\t\t\t\tres => {\n\t\t\t\t\t\t\t\tif (res.data.state) {\n\t\t\t\t\t\t\t\t\tlet AData = []\n\t\t\t\t\t\t\t\t\tlet BData = []\n\t\t\t\t\t\t\t\t\tlet CData = []\n\t\t\t\t\t\t\t\t\tthis.equipmentData = res.data.value\n\t\t\t\t\t\t\t\t\tres.data.value.forEach(e => {\n\t\t\t\t\t\t\t\t\t\tAData.push({\n\t\t\t\t\t\t\t\t\t\t\tvalue: e.normal,\n\t\t\t\t\t\t\t\t\t\t\textra: {\n\t\t\t\t\t\t\t\t\t\t\t\tparam: e.areaId\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\tBData.push({\n\t\t\t\t\t\t\t\t\t\t\tvalue: e.failure,\n\t\t\t\t\t\t\t\t\t\t\textra: {\n\t\t\t\t\t\t\t\t\t\t\t\tparam: e.areaId\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\tCData.push({\n\t\t\t\t\t\t\t\t\t\t\tvalue: e.alarm,\n\t\t\t\t\t\t\t\t\t\t\textra: {\n\t\t\t\t\t\t\t\t\t\t\t\tparam: e.areaId\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\toption.series = [{\n\t\t\t\t\t\t\t\t\t\t// color: '#2ae3ae',\n\t\t\t\t\t\t\t\t\t\ttype: 'bar',\n\t\t\t\t\t\t\t\t\t\tname: '正常数',\n\t\t\t\t\t\t\t\t\t\tdata: AData\n\t\t\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\t\t\t// color: '#2ae3ae',\n\t\t\t\t\t\t\t\t\t\ttype: 'bar',\n\t\t\t\t\t\t\t\t\t\tname: '故障数',\n\t\t\t\t\t\t\t\t\t\tdata: BData\n\t\t\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\t\t\t// color: '#2ae3ae',\n\t\t\t\t\t\t\t\t\t\ttype: 'bar',\n\t\t\t\t\t\t\t\t\t\tname: '报警数',\n\t\t\t\t\t\t\t\t\t\tdata: CData\n\t\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t\t\toption.xAxis.data = this.equipmentData.map((a) => a.areaName)\n\t\t\t\t\t\t\t\t\tmyChart.setOption(option)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t\t//获取设备使用年限分析数据\n\t\tgetEquipmentLife() {\n\t\t\tequipmentIndex.lifeAnalyze(res => {\n\t\t\t\tif (res.state) {\n\t\t\t\t\tres.value = res.value.map(item => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttypeName: item.typeName,\n\t\t\t\t\t\t\t正常使用年限数量: item.normal,\n\t\t\t\t\t\t\t临近使用年限数量: item.warn,\n\t\t\t\t\t\t\t超过使用年限数量: item.alarm\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\n\t\t\t\t\tthis.warnAnalyzeData = res.value\n\t\t\t\t\tthis.$nextTick(() => {\n\t\t\t\t\t\tthis.equipmentLife()\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t\t//设备使用年限分析\n\t\tequipmentLife() {\n\t\t\tlet myChart = echarts.init(document.getElementById('lifeAnalyze'))\n\t\t\tlet option = {\n\t\t\t\tlegend: {},\n\t\t\t\ttooltip: {},\n\t\t\t\tgrid: {\n\t\t\t\t\t// top: '2%',\n\t\t\t\t\tleft: '2%',\n\t\t\t\t\tright: '4%',\n\t\t\t\t\tbottom: '4%',\n\t\t\t\t\tcontainLabel: true\n\t\t\t\t},\n\t\t\t\tcolor: ['#1890ff', '#89b4c3', '#eb9655'],\n\t\t\t\tdataset: {\n\t\t\t\t\t// typeName: item.typeName,\n\t\t\t\t\t// 设备使用年限预警数: item.warn,\n\t\t\t\t\t// 设备报警数: item.alarm\n\t\t\t\t\tdimensions: ['typeName', '正常使用年限数量', '临近使用年限数量', '超过使用年限数量'],\n\t\t\t\t\tsource: this.warnAnalyzeData\n\t\t\t\t},\n\t\t\t\t// xAxis: {type: 'category'},\n\t\t\t\txAxis: {\n\t\t\t\t\ttype: \"value\",\n\t\t\t\t\tboundaryGap: [0, 0.1],\n\t\t\t\t\taxisLabel: {\n\t\t\t\t\t\ttextStyle: {\n\t\t\t\t\t\t\t// color: \"#C5D2F2\", //颜色\n\t\t\t\t\t\t\tfontSize: \"14\", //字体大小\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t// max: 150, //最大值\n\t\t\t\t\tmin: 0, //最小值\n\t\t\t\t\tsplitNumber: 3, //间隔数量\n\t\t\t\t\taxisTick: {\n\t\t\t\t\t\t//坐标轴刻度相关设置\n\t\t\t\t\t\tshow: false, //是否显示坐标轴刻度。\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tyAxis: [{\n\t\t\t\t\ttype: 'category',\n\n\t\t\t\t}],\n\t\t\t\t// Declare several bar series, each will be mapped\n\t\t\t\t// to a column of dataset.source by default.\n\t\t\t\tseries: [{\n\t\t\t\t\t\ttype: 'bar',\n\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\tnormal: {\n\t\t\t\t\t\t\t\tshow: false,\n\t\t\t\t\t\t\t\tposition: 'top'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tformatter: '{@value}'\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'bar',\n\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\tnormal: {\n\t\t\t\t\t\t\t\tshow: false,\n\t\t\t\t\t\t\t\tposition: 'top'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tformatter: '{@value}'\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'bar',\n\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\tnormal: {\n\t\t\t\t\t\t\t\tshow: false,\n\t\t\t\t\t\t\t\tposition: 'top'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tformatter: '{@value}'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t//滚动条\n\t\t\t\tdataZoom: [{\n\t\t\t\t\ttype: \"slider\",\n\t\t\t\t\tshow: true,\n\t\t\t\t\tyAxisIndex: [0],\n\t\t\t\t\twidth: 6, //组件宽度\n\t\t\t\t\t// backgroundColor: \"#1A53DD\", //两边未选中的滑动条区域的颜色\n\t\t\t\t\tborderRadius: 5,\n\t\t\t\t\t// borderColor: \"#093683\", //滚动条边框颜色\n\t\t\t\t\t// fillerColor: \"#093683\", //选中的滑动条区域的颜色\n\t\t\t\t\tleft: \"95%\", //滚动条位置\n\t\t\t\t\tstart: 0, //数据窗口范围的起始百分比\n\t\t\t\t\tend: 20, //数据窗口范围的结束百分比\n\t\t\t\t\trealtime: true, //是否实时更新\n\t\t\t\t}, ],\n\t\t\t}\n\t\t\toption && myChart.setOption(option)\n\n\t\t},\n\t\t//设备状态分析\n\t\tgetEquipmentStatus() {\n\t\t\tconst formData = new FormData()\n\t\t\tformData.append('typeCode', this.typeCode ? this.typeCode : '')\n\t\t\tformData.append('startTime', this.startTime ? this.startTime : '')\n\t\t\tformData.append('endTime', this.endTime ? this.endTime : '')\n\t\t\tconst config = {\n\t\t\t\theaders: {\n\t\t\t\t\t'Content-Type': 'multipart/form-data'\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.$http.post(window.context.portal + `/homepage/v1/warnFailureHisAnalyze`, formData, config).then(\n\t\t\t\tres => {\n\t\t\t\t\tif (res.data.state) {\n\t\t\t\t\t\tconsole.log(res.data.value);\n\t\t\t\t\t\tthis.equipmentStatusData = res.data.value\n\t\t\t\t\t\t// this.equipmentData = res.data.value\n\t\t\t\t\t\tthis.$nextTick(() => {\n\t\t\t\t\t\t\tthis.equipmentStatus()\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t},\n\t\t//设备状态分析echarts\n\t\tequipmentStatus() {\n\t\t\tlet myChart = echarts.init(document.getElementById('deviceList'))\n\t\t\tlet xName = []\n\t\t\tlet AData = []\n\t\t\tlet BData = []\n\t\t\tthis.equipmentStatusData.forEach(e => {\n\t\t\t\txName.push(e.typeName)\n\t\t\t\tAData.push(e.failure)\n\t\t\t\tBData.push(e.alarm)\n\t\t\t})\n\n\t\t\tlet option = {\n\t\t\t\ttooltip: {\n\t\t\t\t\ttrigger: 'axis',\n\t\t\t\t\taxisPointer: {\n\t\t\t\t\t\ttype: 'cross',\n\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\tbackgroundColor: '#6a7985'\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tformatter: function(params) {\n\t\t\t\t\t\t// console.log(params)\n\t\t\t\t\t\tvar relVal = params[0].name\n\t\t\t\t\t\tfor (var i = 0, l = params.length; i < l; i++) {\n\t\t\t\t\t\t\trelVal +=\n\t\t\t\t\t\t\t\t'
' +\n\t\t\t\t\t\t\t\tparams[i].marker +\n\t\t\t\t\t\t\t\tparams[i].seriesName +\n\t\t\t\t\t\t\t\t':' +\n\t\t\t\t\t\t\t\t'' +\n\t\t\t\t\t\t\t\tparams[i].value +\n\t\t\t\t\t\t\t\t'' +\n\t\t\t\t\t\t\t\t'个'\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn relVal\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t// 更改图例默认颜色(依次应用)\n\t\t\t\tcolor: ['#89b4c3', '#eb9655'],\n\t\t\t\tlegend: {\n\t\t\t\t\ticon: 'circle', //图例样式\n\t\t\t\t\tdata: ['报警数量', '故障数量']\n\t\t\t\t},\n\t\t\t\t// toolbox: {\n\t\t\t\t// feature: {\n\t\t\t\t// saveAsImage: {}\n\t\t\t\t// }\n\t\t\t\t// },\n\t\t\t\tgrid: {\n\t\t\t\t\tleft: '3%',\n\t\t\t\t\tright: '4%',\n\t\t\t\t\tbottom: '5%',\n\t\t\t\t\tcontainLabel: true\n\t\t\t\t},\n\t\t\t\txAxis: [{\n\t\t\t\t\ttype: 'category',\n\t\t\t\t\tboundaryGap: false,\n\t\t\t\t\tdata: xName,\n\t\t\t\t\taxisLabel: {\n\t\t\t\t\t\tinterval: 0, //代表显示所有x轴标签显示\n\t\t\t\t\t\t// rotate: 45 //代表逆时针旋转45度\n\t\t\t\t\t}\n\t\t\t\t}],\n\t\t\t\tyAxis: [{\n\t\t\t\t\tmax: function(value) {\n\t\t\t\t\t\treturn value.max + 0.2 * value.max\n\t\t\t\t\t},\n\t\t\t\t\ttype: 'value'\n\t\t\t\t}],\n\t\t\t\tseries: [{\n\t\t\t\t\t\tname: '报警数量',\n\t\t\t\t\t\ttype: 'line',\n\t\t\t\t\t\tstack: 'Total2',\n\t\t\t\t\t\tsmooth: true,\n\t\t\t\t\t\tareaStyle: {\n\t\t\t\t\t\t\tcolor: '#c8ecf2'\n\t\t\t\t\t\t},\n\t\t\t\t\t\temphasis: {\n\t\t\t\t\t\t\tfocus: 'series'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdata: AData\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: '故障数量',\n\t\t\t\t\t\ttype: 'line',\n\t\t\t\t\t\tstack: 'Total3',\n\t\t\t\t\t\tsmooth: true,\n\t\t\t\t\t\tlabel: {\n\t\t\t\t\t\t\tshow: true,\n\t\t\t\t\t\t\tposition: 'top'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tareaStyle: {\n\t\t\t\t\t\t\tcolor: '#ffe7e1'\n\t\t\t\t\t\t},\n\t\t\t\t\t\temphasis: {\n\t\t\t\t\t\t\tfocus: 'series'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdata: BData\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\t//滚动条\n\t\t\t\tdataZoom: [{\n\t\t\t\t\t\tshow: true,\n\t\t\t\t\t\ttype: 'slider',\n\t\t\t\t\t\trealtime: true,\n\t\t\t\t\t\tstartValue: 0,\n\t\t\t\t\t\tendValue: 14,\n\t\t\t\t\t\txAxisIndex: [0],\n\t\t\t\t\t\tbottom: '10',\n\t\t\t\t\t\tleft: '30',\n\t\t\t\t\t\theight: 10,\n\t\t\t\t\t\tborderColor: 'rgba(0,0,0,0)',\n\t\t\t\t\t\ttextStyle: {\n\t\t\t\t\t\t\tcolor: '#05D5FF',\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\n\t\t\t\t],\n\t\t\t}\n\t\t\toption && myChart.setOption(option)\n\t\t},\n\n\n\n\n\n\t}\n}\n",null]}