1 |
- {"version":3,"sources":["webpack:///./resources/src/views/monitor/Index.vue?3406","webpack:///./resources/src/api/indexOpen.js","webpack:///./resources/src/views/monitor/components/LineChart.vue?12fe","webpack:///./resources/src/views/monitor/components/mixins/debounce.js","webpack:///./resources/src/views/monitor/components/mixins/resize.js","webpack:///resources/src/views/monitor/components/LineChart.vue","webpack:///./resources/src/views/monitor/components/LineChart.vue?e7ef","webpack:///./resources/src/views/monitor/components/LineChart.vue","webpack:///./resources/src/views/monitor/components/LineChartWeek.vue?3253","webpack:///resources/src/views/monitor/components/LineChartWeek.vue","webpack:///./resources/src/views/monitor/components/LineChartWeek.vue?2256","webpack:///./resources/src/views/monitor/components/LineChartWeek.vue","webpack:///./resources/src/views/monitor/components/BarChart.vue?ea1a","webpack:///resources/src/views/monitor/components/BarChart.vue","webpack:///./resources/src/views/monitor/components/BarChart.vue?534c","webpack:///./resources/src/views/monitor/components/BarChart.vue","webpack:///./resources/src/views/monitor/components/PieChart.vue?e7fe","webpack:///resources/src/views/monitor/components/PieChart.vue","webpack:///./resources/src/views/monitor/components/PieChart.vue?e927","webpack:///./resources/src/views/monitor/components/PieChart.vue","webpack:///./resources/src/views/monitor/components/ManyBarChart.vue?7bf2","webpack:///resources/src/views/monitor/components/ManyBarChart.vue","webpack:///./resources/src/views/monitor/components/ManyBarChart.vue?3fa0","webpack:///./resources/src/views/monitor/components/ManyBarChart.vue","webpack:///resources/src/views/monitor/Index.vue","webpack:///./resources/src/views/monitor/Index.vue?1c4f","webpack:///./resources/src/views/monitor/Index.vue","webpack:///./resources/src/views/monitor/Index.vue?54c7","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack:///./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack:///./resources/src/assets/bikesInfo/using.172bef6.png","webpack:///./resources/src/assets/bikesInfo/unuse.38fefdf.png","webpack:///./resources/src/assets/bikesInfo/low.29a1bda.png"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","on","$event","seChange","model","value","callback","$$v","area_id","expression","_l","item","key","label","getFullCreeen","_v","_s","top","new_order","new_num","directives","name","rawName","diff","difference","total_profit","today_num","total_user","total_num","total_order","total_put_bikes","todo_event","long_time_no_ridding","long_time_no_return_ridding","trouble_num","low_battery_num","warning_num","staticStyle","activeUserAgePieChart","activeUserGendersPieChart","plugin","center","defaultCursor","zoom","amapManager","events","changeHeatmap","_m","low_power_num","riding_yes_num","riding_no_num","worker_riding_num","MonthOrderProfitChartData","MonthAddUserChartData","newOrderChartData","weekNewOrderChartData","staticRenderFns","getTopIndex","params","axios","get","getTodoEvent","getProfitChart","getNewUsersChart","getNewOrderChart","getNewDayRentOrderChart","getHeatMapData","getAreas","getMapBikes","acticveWxUserSattistics","getHourOrderNumber","getRecentMonthOrderProfit","getRecentMonthAddUser","getBikeStatisticsOpen","class","className","style","height","width","debounce","func","wait","immediate","timeout","args","context","timestamp","result","later","last","Date","setTimeout","apply","callNow","data","$_sidebarElm","mounted","$_initResizeEvent","$_initSidebarResizeEvent","beforeDestroy","$_destroyResizeEvent","$_destroySidebarResizeEvent","activated","deactivated","methods","$_resizeHandler","chart","resize","window","addEventListener","removeEventListener","$_sidebarResizeHandler","e","propertyName","document","getElementsByClassName","mixins","props","type","String","default","autoResize","Boolean","chartData","Object","required","watch","deep","handler","setOptions","val","$nextTick","dispose","getDay","today","targetday_milliseconds","getTime","day","setTime","tYear","getFullYear","tMonth","getMonth","tDate","getDate","doHandleMonth","m","month","toString","length","initChart","setOption","xAxis","expectedData","date","boundaryGap","axisTick","show","axisLabel","rotate","grid","left","right","bottom","containLabel","tooltip","trigger","axisPointer","padding","yAxis","legend","series","animation","itemStyle","normal","color","lineStyle","smooth","animationDuration","animationEasing","component","dataName","title","text","x","formatter","options1","map","push","baseOption","timeline","axisType","realtime","loop","autoPlay","playInterval","calculable","replace","options","components","LineChart","LineChartWeek","BarChart","PieChart","ManyBarChart","lng","lat","loaded","points","init","mouseTool","newUsersChart","orderRentChart","weekProfitChart","yData","oldMsaaMarks","oldHeatmap","heatmapDatas","n","destroyed","clearInterval","myInterval","inFullCreeen","rfs","call","el","wscript","SendKeys","outFullCreeen","cfs","initData","_arrayWithHoles","arr","Array","isArray","_iterableToArrayLimit","i","Symbol","iterator","_arr","_n","_d","_e","undefined","_i","next","done","err","_nonIterableRest","TypeError","_slicedToArray","unsupportedIterableToArray","module","exports"],"mappings":"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","file":"js/chunk-5ac7f445.55659404.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"title\"},[_c('el-select',{staticClass:\"wid_l\",attrs:{\"placeholder\":\"请选择\"},on:{\"change\":function($event){return _vm.seChange()}},model:{value:(_vm.area_id),callback:function ($$v) {_vm.area_id=$$v},expression:\"area_id\"}},_vm._l((_vm.options),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_c('p',{on:{\"click\":_vm.getFullCreeen}},[_vm._v(\"🐉数据监控大屏🌈\")])],1),_c('div',{staticClass:\"top-div\"},[_c('el-card',{staticClass:\"top-card\"},[_c('div',{staticClass:\"top-info1\"},[_c('div',{staticClass:\"svg-position\"},[_c('svg-icon',{staticClass:\"svg-class\",attrs:{\"icon-class\":\"new_orders\"}}),_c('div',{staticClass:\"content-info\"},[_vm._v(\"今日订单\")])],1),_c('div',{staticClass:\"top-item-info1\"},[_c('span',[_vm._v(_vm._s(_vm.top.new_order.new_num))]),_c('div',{staticClass:\"change-num\"},[_c('span',{staticClass:\"card-panel-change-text\"},[_vm._v(\"同比昨日\")]),_c('svg-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.top.new_order.diff == '1' ),expression:\"top.new_order.diff == '1' \"}],staticClass:\"down\",attrs:{\"icon-class\":\"down\"}}),_c('svg-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.top.new_order.diff == '2' ),expression:\"top.new_order.diff == '2' \"}],staticClass:\"down\",attrs:{\"icon-class\":\"level\"}}),_c('svg-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.top.new_order.diff == '3' ),expression:\"top.new_order.diff == '3' \"}],staticClass:\"down\",attrs:{\"icon-class\":\"upup\"}}),_vm._v(\"\\n \"+_vm._s(_vm.top.new_order.difference)+\"\\n \")],1)])])]),_c('el-card',{staticClass:\"top-card\"},[_c('div',{staticClass:\"top-info1\"},[_c('div',{staticClass:\"svg-position\"},[_c('svg-icon',{staticClass:\"svg-class\",attrs:{\"icon-class\":\"profit\"}}),_c('div',{staticClass:\"content-info\"},[_vm._v(\"今日收益\")])],1),_c('div',{staticClass:\"top-item-info1\"},[_c('span',[_vm._v(_vm._s(_vm.top.total_profit.today_num))]),_c('div',{staticClass:\"change-num\"},[_c('span',{staticClass:\"card-panel-change-text\"},[_vm._v(\"同比昨日\")]),_c('svg-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.top.total_profit.diff == '1' ),expression:\"top.total_profit.diff == '1' \"}],staticClass:\"down\",attrs:{\"icon-class\":\"down\"}}),_c('svg-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.top.total_profit.diff == '2' ),expression:\"top.total_profit.diff == '2' \"}],staticClass:\"down\",attrs:{\"icon-class\":\"level\"}}),_c('svg-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.top.total_profit.diff == '3' ),expression:\"top.total_profit.diff == '3' \"}],staticClass:\"down\",attrs:{\"icon-class\":\"upup\"}}),_vm._v(\"\\n \"+_vm._s(_vm.top.total_profit.difference)+\"\\n \")],1)])])]),_c('el-card',{staticClass:\"top-card\"},[_c('div',{staticClass:\"top-info1\"},[_c('div',{staticClass:\"svg-position\"},[_c('svg-icon',{staticClass:\"svg-class\",attrs:{\"icon-class\":\"many_people\"}}),_c('div',{staticClass:\"content-info\"},[_vm._v(\"总用户\")])],1),_c('div',{staticClass:\"top-item-info1\"},[_c('span',[_vm._v(_vm._s(_vm.top.total_user.total_num))]),_c('div',{staticClass:\"change-num\"},[_c('span',{staticClass:\"card-panel-change-text\"},[_vm._v(\"同比昨日\")]),_c('svg-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.top.total_user.diff == '1' ),expression:\"top.total_user.diff == '1' \"}],staticClass:\"down\",attrs:{\"icon-class\":\"down\"}}),_c('svg-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.top.total_user.diff == '2' ),expression:\"top.total_user.diff == '2' \"}],staticClass:\"down\",attrs:{\"icon-class\":\"level\"}}),_c('svg-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.top.total_user.diff == '3' ),expression:\"top.total_user.diff == '3' \"}],staticClass:\"down\",attrs:{\"icon-class\":\"upup\"}}),_vm._v(\"\\n \"+_vm._s(_vm.top.total_user.difference)+\"\\n \")],1)])])]),_c('el-card',{staticClass:\"top-card\"},[_c('div',{staticClass:\"top-info1\"},[_c('div',{staticClass:\"svg-position\"},[_c('svg-icon',{staticClass:\"svg-class\",attrs:{\"icon-class\":\"total_orders\"}}),_c('div',{staticClass:\"content-info\"},[_vm._v(\"总订单\")])],1),_c('div',{staticClass:\"top-item-info1\"},[_c('span',[_vm._v(_vm._s(_vm.top.total_order.total_num))]),_c('div',{staticClass:\"change-num\"},[_c('span',{staticClass:\"card-panel-change-text\"},[_vm._v(\"同比昨日\")]),_c('svg-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.top.total_order.diff == '1' ),expression:\"top.total_order.diff == '1' \"}],staticClass:\"down\",attrs:{\"icon-class\":\"down\"}}),_c('svg-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.top.total_order.diff == '2' ),expression:\"top.total_order.diff == '2' \"}],staticClass:\"down\",attrs:{\"icon-class\":\"level\"}}),_c('svg-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.top.total_order.diff == '3' ),expression:\"top.total_order.diff == '3' \"}],staticClass:\"down\",attrs:{\"icon-class\":\"upup\"}}),_vm._v(\"\\n \"+_vm._s(_vm.top.total_order.difference)+\"\\n \")],1)])])]),_c('el-card',{staticClass:\"top-card\"},[_c('div',{staticClass:\"top-info1\"},[_c('div',{staticClass:\"svg-position\"},[_c('svg-icon',{staticClass:\"svg-class\",attrs:{\"icon-class\":\"diandongche\"}}),_c('div',{staticClass:\"content-info\"},[_vm._v(\"总投放车辆\")])],1),_c('div',{staticClass:\"top-item-info1\"},[_c('span',[_vm._v(_vm._s(_vm.top.total_put_bikes))])])])])],1),_c('div',{staticClass:\"mid\"},[_c('div',{staticClass:\"last_item left_item\"},[_c('el-card',[_c('span',{staticClass:\"todo-title\"},[_vm._v(\"待办事项\")]),_c('div',{staticClass:\"todo-event\"},[_c('el-card',{staticClass:\"todo-top fi\"},[_c('div',{staticClass:\"todo-ma-top\"},[_c('p',[_vm._v(_vm._s(_vm.todo_event.long_time_no_ridding))]),_c('span',[_vm._v(\"24h未骑车辆\")])])]),_c('el-card',{staticClass:\"todo-top\"},[_c('div',{staticClass:\"todo-ma-top\"},[_c('p',[_vm._v(_vm._s(_vm.todo_event.long_time_no_return_ridding))]),_c('span',[_vm._v(\"24h未还车辆\")])])]),_c('el-card',{staticClass:\"todo-bo fi\"},[_c('div',{staticClass:\"todo-ma-top\"},[_c('p',{staticClass:\"red-class\"},[_vm._v(_vm._s(_vm.todo_event.trouble_num))]),_c('span',[_vm._v(\"故障车辆\")])])]),_c('el-card',{staticClass:\"todo-bo fi\"},[_c('div',{staticClass:\"todo-ma-top\"},[_c('p',{staticClass:\"red-class\"},[_vm._v(_vm._s(_vm.todo_event.low_battery_num))]),_c('span',[_vm._v(\"低电车辆\")])])]),_c('el-card',{staticClass:\"todo-bo\"},[_c('div',{staticClass:\"todo-ma-top\"},[_c('p',{staticClass:\"red-class\"},[_vm._v(_vm._s(_vm.todo_event.warning_num))]),_c('span',[_vm._v(\"报警信息\")])])])],1)]),_c('el-card',{staticClass:\"second\"},[_c('span',{staticClass:\"todo-title\"},[_vm._v(\"近30日活跃用户分析\")]),_c('el-row',{staticStyle:{\"background\":\"#fff\",\"padding\":\"16px 16px 0\"}},[_c('pie-chart',{attrs:{\"chart-data\":_vm.activeUserAgePieChart,\"width\":\"95%\"}}),_c('pie-chart',{attrs:{\"chart-data\":_vm.activeUserGendersPieChart,\"width\":\"95%\"}})],1)],1)],1),_c('div',{staticClass:\"mapmap\"},[_c('div',{staticClass:\"map\"},[_c('el-amap',{staticClass:\"amap-demo\",attrs:{\"vid\":\"amap\",\"plugin\":_vm.plugin,\"center\":_vm.center,\"default-cursor\":_vm.defaultCursor,\"zoom\":_vm.zoom,\"amap-manager\":_vm.amapManager,\"events\":_vm.events}}),_c('div',{staticClass:\"map-heatmap-button-container\"},[_c('el-button-group',[_c('el-button',{attrs:{\"size\":\"mini\",\"plain\":\"\",\"type\":\"primary\"},on:{\"click\":function($event){return _vm.changeHeatmap('start')}}},[_vm._v(\"\\n 扫码热力图\\n \")]),_c('el-button',{attrs:{\"size\":\"mini\",\"plain\":\"\",\"type\":\"primary\"},on:{\"click\":function($event){return _vm.changeHeatmap('end')}}},[_vm._v(\"\\n 停车热力图\\n \")])],1)],1),_c('div',{staticClass:\"map-edit-container\"},[_c('div',{staticClass:\"map-edit-item\"},[_vm._m(0),_c('div',[_c('span',{staticClass:\"span-cs\"},[_vm._v(\"低电量\")]),_c('span',{staticClass:\"color-span\"},[_vm._v(_vm._s(_vm.low_power_num))])])]),_c('div',{staticClass:\"map-edit-item\"},[_vm._m(1),_c('div',[_c('span',{staticClass:\"span-cs\"},[_vm._v(\"使用中\")]),_c('span',{staticClass:\"color-span\"},[_vm._v(_vm._s(_vm.riding_yes_num))])])]),_c('div',{staticClass:\"map-edit-item\"},[_vm._m(2),_c('div',[_c('span',{staticClass:\"span-cs\"},[_vm._v(\"未使用\")]),_c('span',{staticClass:\"color-span\"},[_vm._v(_vm._s(_vm.riding_no_num))])])]),_c('div',{staticClass:\"map-edit-item\"},[_vm._m(3),_c('div',[_c('span',{staticClass:\"span-cs\"},[_vm._v(\"运维用\")]),_c('span',{staticClass:\"color-span\"},[_vm._v(_vm._s(_vm.worker_riding_num))])])])])],1),_c('div',{staticClass:\"last_div\"},[_c('el-card',{staticClass:\"last_item\"},[_c('span',{staticClass:\"todo-title\"},[_vm._v(\"近月订单收益\")]),_c('el-row',{staticStyle:{\"background\":\"#fff\"}},[_c('line-chart',{attrs:{\"chart-data\":_vm.MonthOrderProfitChartData,\"width\":\"95%\",\"height\":\"220px\"}})],1)],1),_c('el-card',{staticClass:\"last_item left_item\"},[_c('span',{staticClass:\"todo-title\"},[_vm._v(\"近月新增用户\")]),_c('el-row',{staticStyle:{\"background\":\"#fff\"}},[_c('line-chart',{attrs:{\"chart-data\":_vm.MonthAddUserChartData,\"width\":\"95%\",\"height\":\"220px\"}})],1)],1)],1)]),_c('div',{staticClass:\"chart\"},[_c('el-card',[_c('span',{staticClass:\"todo-title\"},[_vm._v(\"日新增订单趋势\")]),_c('el-row',{staticStyle:{\"background\":\"#fff\"}},[_c('many-bar-chart',{attrs:{\"chart-data\":_vm.newOrderChartData,\"height\":\"380px\"}})],1)],1),_c('el-card',{staticClass:\"second\"},[_c('span',{staticClass:\"todo-title\"},[_vm._v(\"近七日新订单\")]),_c('el-row',{staticStyle:{\"background\":\"#fff\"}},[_c('line-chart',{attrs:{\"chart-data\":_vm.weekNewOrderChartData,\"width\":\"95%\",\"height\":\"380px\"}})],1)],1)],1)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('img',{attrs:{\"src\":require(\"@/assets/bikesInfo/low.29a1bda.png\"),\"alt\":\"低电量\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('img',{attrs:{\"src\":require(\"@/assets/bikesInfo/using.172bef6.png\"),\"alt\":\"使用中\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('img',{attrs:{\"src\":require(\"@/assets/bikesInfo/unuse.38fefdf.png\"),\"alt\":\"未使用\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('img',{attrs:{\"src\":\"http://resource.bike.hanyiyun.com/work_riding.png\",\"alt\":\"运维使用\"}})])}]\n\nexport { render, staticRenderFns }","import axios from '@/plugins/axios'\r\n\r\nexport function getTopIndex(params = {}) {\r\n return axios.get('indexOpen/top', {\r\n params,\r\n })\r\n}\r\n\r\nexport function getTodoEvent(params = {}) {\r\n return axios.get('indexOpen/todoEvent', {\r\n params,\r\n })\r\n}\r\n\r\nexport function getProfitChart(params = {}) {\r\n return axios.get('indexOpen/profitChart', {\r\n params,\r\n })\r\n}\r\n\r\nexport function getNewUsersChart(params = {}) {\r\n return axios.get('indexOpen/newUsersChart', {\r\n params,\r\n })\r\n}\r\n\r\nexport function getNewOrderChart(params = {}) {\r\n return axios.get('indexOpen/newOrderChart', {\r\n params,\r\n })\r\n}\r\nexport function getNewDayRentOrderChart(params = {}) {\r\n return axios.get('indexOpen/newDayRentOrderChart', {\r\n params,\r\n })\r\n}\r\n\r\nexport function getRiddingRanking(params = {}) {\r\n return axios.get('indexOpen/riddingRanking', {\r\n params,\r\n })\r\n}\r\nexport function getRiddingRankingByDayRentOrder(params = {}) {\r\n return axios.get('indexOpen/riddingRankingByDayRentOrder', {\r\n params,\r\n })\r\n}\r\n\r\nexport function getBikeProfitRanking(params = {}) {\r\n return axios.get('indexOpen/bikeProfitRanking', {\r\n params,\r\n })\r\n}\r\n\r\nexport function getHeatMapData(params = {}) {\r\n return axios.get('indexOpen/heatMap', {\r\n params,\r\n })\r\n}\r\n\r\nexport function getAreas(params = {}) {\r\n return axios.get('areaOpen', {\r\n params,\r\n })\r\n}\r\nexport function getMapBikes(params = {}) {\r\n return axios.get('bike/mapsOpen', {\r\n params,\r\n })\r\n}\r\n\r\nexport function acticveWxUserSattistics(params = {}) {\r\n return axios.get('indexOpen/acticveWxUserSattistics', {\r\n params,\r\n })\r\n}\r\n\r\nexport function getHourOrderNumber(params = {}) {\r\n return axios.get('indexOpen/hourOrderNumber', {\r\n params,\r\n })\r\n}\r\nexport function getRecentMonthOrderProfit(params = {}) {\r\n return axios.get('indexOpen/recentMonthOrderProfit', {\r\n params,\r\n })\r\n}\r\n\r\nexport function getRecentMonthAddUser(params = {}) {\r\n return axios.get('indexOpen/recentMonthAddUser', {\r\n params,\r\n })\r\n}\r\n\r\nexport function getBikeStatisticsOpen(params = {}) {\r\n return axios.get('indexOpen/statisticsOpen', {\r\n params,\r\n })\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.className,style:({height:_vm.height,width:_vm.width})})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n/**\r\n * @param {Function} func\r\n * @param {number} wait\r\n * @param {boolean} immediate\r\n * @return {*}\r\n */\r\nexport function debounce(func, wait, immediate) {\r\n let timeout, args, context, timestamp, result\r\n\r\n const later = function () {\r\n // 据上一次触发时间间隔\r\n const last = +new Date() - timestamp\r\n\r\n // 上次被包装函数被调用时间间隔 last 小于设定时间间隔 wait\r\n if (last < wait && last > 0) {\r\n timeout = setTimeout(later, wait - last)\r\n } else {\r\n timeout = null\r\n // 如果设定为immediate===true,因为开始边界已经调用过了此处无需调用\r\n if (!immediate) {\r\n result = func.apply(context, args)\r\n if (!timeout) context = args = null\r\n }\r\n }\r\n }\r\n\r\n return function (...args) {\r\n context = this\r\n timestamp = +new Date()\r\n const callNow = immediate && !timeout\r\n // 如果延时不存在,重新设定延时\r\n if (!timeout) timeout = setTimeout(later, wait)\r\n if (callNow) {\r\n result = func.apply(context, args)\r\n context = args = null\r\n }\r\n\r\n return result\r\n }\r\n}\r\n","import { debounce } from './debounce.js'\r\n\r\nexport default {\r\n data() {\r\n return {\r\n $_sidebarElm: null,\r\n }\r\n },\r\n mounted() {\r\n this.$_initResizeEvent()\r\n this.$_initSidebarResizeEvent()\r\n },\r\n beforeDestroy() {\r\n this.$_destroyResizeEvent()\r\n this.$_destroySidebarResizeEvent()\r\n },\r\n // to fixed bug when cached by keep-alive\r\n // https://github.com/PanJiaChen/vue-element-admin/issues/2116\r\n activated() {\r\n this.$_initResizeEvent()\r\n this.$_initSidebarResizeEvent()\r\n },\r\n deactivated() {\r\n this.$_destroyResizeEvent()\r\n this.$_destroySidebarResizeEvent()\r\n },\r\n methods: {\r\n // use $_ for mixins properties\r\n // https://vuejs.org/v2/style-guide/index.html#Private-property-names-essential\r\n $_resizeHandler() {\r\n return debounce(() => {\r\n if (this.chart) {\r\n this.chart.resize()\r\n }\r\n }, 100)()\r\n },\r\n $_initResizeEvent() {\r\n window.addEventListener('resize', this.$_resizeHandler)\r\n },\r\n $_destroyResizeEvent() {\r\n window.removeEventListener('resize', this.$_resizeHandler)\r\n },\r\n $_sidebarResizeHandler(e) {\r\n if (e.propertyName === 'width') {\r\n this.$_resizeHandler()\r\n }\r\n },\r\n $_initSidebarResizeEvent() {\r\n this.$_sidebarElm = document.getElementsByClassName('sidebar-container')[0]\r\n this.$_sidebarElm && this.$_sidebarElm.addEventListener('transitionend', this.$_sidebarResizeHandler)\r\n },\r\n $_destroySidebarResizeEvent() {\r\n this.$_sidebarElm && this.$_sidebarElm.removeEventListener('transitionend', this.$_sidebarResizeHandler)\r\n },\r\n },\r\n}\r\n","<template>\r\n <div :class=\"className\" :style=\"{height:height,width:width}\"/>\r\n</template>\r\n\r\n<script>\r\nimport echarts from 'echarts' // echarts theme\r\nimport resize from './mixins/resize'\r\nrequire('echarts/theme/macarons')\r\n\r\nexport default {\r\n mixins: [resize],\r\n props: {\r\n className: {\r\n type: String,\r\n default: 'chart',\r\n },\r\n width: {\r\n type: String,\r\n default: '100%',\r\n },\r\n height: {\r\n type: String,\r\n default: '350px',\r\n },\r\n autoResize: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n chartData: {\r\n type: Object,\r\n required: true,\r\n },\r\n },\r\n data() {\r\n return {\r\n chart: null,\r\n }\r\n },\r\n watch: {\r\n chartData: {\r\n deep: true,\r\n handler(val) {\r\n this.setOptions(val)\r\n },\r\n },\r\n },\r\n mounted() {\r\n this.$nextTick(() => {\r\n this.initChart()\r\n })\r\n },\r\n beforeDestroy() {\r\n if (!this.chart) {\r\n return\r\n }\r\n this.chart.dispose()\r\n this.chart = null\r\n },\r\n methods: {\r\n getDay(day) {\r\n var today = new Date()\r\n\r\n var targetday_milliseconds = today.getTime() + 1000 * 60 * 60 * 24 * day\r\n\r\n today.setTime(targetday_milliseconds) // 注意,这行是关键代码\r\n\r\n var tYear = today.getFullYear()\r\n var tMonth = today.getMonth()\r\n var tDate = today.getDate()\r\n tMonth = this.doHandleMonth(tMonth + 1)\r\n tDate = this.doHandleMonth(tDate)\r\n return tYear + '-' + tMonth + '-' + tDate\r\n },\r\n doHandleMonth(month) {\r\n var m = month\r\n if (month.toString().length == 1) {\r\n m = '0' + month\r\n }\r\n return m\r\n },\r\n initChart() {\r\n this.chart = echarts.init(this.$el, 'macarons')\r\n this.setOptions(this.chartData)\r\n },\r\n setOptions({ expectedData } = {}) {\r\n // console.log(expectedData)\r\n this.chart.setOption({\r\n xAxis: {\r\n // data: [this.getDay(-15), this.getDay(-14), this.getDay(-13), this.getDay(-12), this.getDay(-11), this.getDay(-10), this.getDay(-9), this.getDay(-8), this.getDay(-7), this.getDay(-6), this.getDay(-5), this.getDay(-4), this.getDay(-3), this.getDay(-2), this.getDay(-1)],\r\n data: expectedData.date,\r\n boundaryGap: true,\r\n axisTick: {\r\n show: true,\r\n },\r\n axisLabel: {\r\n rotate: 0,\r\n },\r\n },\r\n grid: {\r\n left: '2%',\r\n right: 10,\r\n bottom: 20,\r\n top: 30,\r\n containLabel: true,\r\n },\r\n tooltip: {\r\n trigger: 'axis',\r\n axisPointer: {\r\n type: 'cross',\r\n },\r\n padding: [5, 10],\r\n },\r\n yAxis: {\r\n axisTick: {\r\n show: true,\r\n },\r\n },\r\n legend: {\r\n data: ['expected'],\r\n },\r\n series: [{\r\n name: '每日新增',\r\n animation: true,\r\n itemStyle: {\r\n normal: {\r\n color: '#FF005A',\r\n lineStyle: {\r\n color: '#FF005A',\r\n width: 2,\r\n },\r\n },\r\n },\r\n smooth: true,\r\n type: 'line',\r\n\r\n data: expectedData.data,\r\n animationDuration: 2800,\r\n animationEasing: 'cubicInOut',\r\n }],\r\n })\r\n },\r\n },\r\n}\r\n</script>\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LineChart.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LineChart.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LineChart.vue?vue&type=template&id=3d412b12&\"\nimport script from \"./LineChart.vue?vue&type=script&lang=js&\"\nexport * from \"./LineChart.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.className,style:({height:_vm.height,width:_vm.width})})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div :class=\"className\" :style=\"{height:height,width:width}\"/>\r\n</template>\r\n\r\n<script>\r\n import echarts from 'echarts' // echarts theme\r\n import resize from './mixins/resize'\r\n\r\n require('echarts/theme/macarons')\r\n\r\n export default {\r\n mixins: [resize],\r\n props: {\r\n className: {\r\n type: String,\r\n default: 'chart',\r\n },\r\n width: {\r\n type: String,\r\n default: '100%',\r\n },\r\n height: {\r\n type: String,\r\n default: '350px',\r\n },\r\n autoResize: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n chartData: {\r\n type: Object,\r\n required: true,\r\n },\r\n },\r\n data() {\r\n return {\r\n chart: null,\r\n }\r\n },\r\n watch: {\r\n chartData: {\r\n deep: true,\r\n handler(val) {\r\n this.setOptions(val)\r\n },\r\n },\r\n },\r\n mounted() {\r\n this.$nextTick(() => {\r\n this.initChart()\r\n })\r\n },\r\n beforeDestroy() {\r\n if (!this.chart) {\r\n return\r\n }\r\n this.chart.dispose()\r\n this.chart = null\r\n },\r\n methods: {\r\n getDay(day) {\r\n var today = new Date()\r\n\r\n var targetday_milliseconds = today.getTime() + 1000 * 60 * 60 * 24 * day\r\n\r\n today.setTime(targetday_milliseconds) // 注意,这行是关键代码\r\n\r\n var tYear = today.getFullYear()\r\n var tMonth = today.getMonth()\r\n var tDate = today.getDate()\r\n tMonth = this.doHandleMonth(tMonth + 1)\r\n tDate = this.doHandleMonth(tDate)\r\n return tYear + '-' + tMonth + '-' + tDate\r\n },\r\n doHandleMonth(month) {\r\n var m = month\r\n if (month.toString().length == 1) {\r\n m = '0' + month\r\n }\r\n return m\r\n },\r\n initChart() {\r\n this.chart = echarts.init(this.$el, 'macarons')\r\n this.setOptions(this.chartData)\r\n },\r\n setOptions({ expectedData } = {}) {\r\n // console.log(expectedData)\r\n this.chart.setOption({\r\n xAxis: {\r\n // data: [this.getDay(-15), this.getDay(-14), this.getDay(-13), this.getDay(-12), this.getDay(-11), this.getDay(-10), this.getDay(-9), this.getDay(-8), this.getDay(-7), this.getDay(-6), this.getDay(-5), this.getDay(-4), this.getDay(-3), this.getDay(-2), this.getDay(-1)],\r\n data: expectedData.date,\r\n boundaryGap: true,\r\n axisTick: {\r\n show: true,\r\n },\r\n axisLabel: {\r\n rotate: 0,\r\n },\r\n },\r\n grid: {\r\n left: '2%',\r\n right: 10,\r\n bottom: 20,\r\n top: 30,\r\n containLabel: true,\r\n },\r\n tooltip: {\r\n trigger: 'axis',\r\n axisPointer: {\r\n type: 'cross',\r\n },\r\n padding: [5, 10],\r\n },\r\n yAxis: {\r\n axisTick: {\r\n show: true,\r\n },\r\n },\r\n legend: {\r\n data: ['expected'],\r\n },\r\n series: [{\r\n name: '每周新增',\r\n animation: true,\r\n itemStyle: {\r\n normal: {\r\n color: '#FF005A',\r\n lineStyle: {\r\n color: '#FF005A',\r\n width: 2,\r\n },\r\n },\r\n },\r\n smooth: true,\r\n type: 'line',\r\n\r\n data: expectedData.data,\r\n animationDuration: 2800,\r\n animationEasing: 'cubicInOut',\r\n }],\r\n })\r\n },\r\n },\r\n }\r\n</script>\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LineChartWeek.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LineChartWeek.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LineChartWeek.vue?vue&type=template&id=1b58015e&\"\nimport script from \"./LineChartWeek.vue?vue&type=script&lang=js&\"\nexport * from \"./LineChartWeek.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.className,style:({height:_vm.height,width:_vm.width})})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div :class=\"className\" :style=\"{height:height,width:width}\"/>\r\n</template>\r\n\r\n<script>\r\nimport echarts from 'echarts' // echarts theme\r\nimport resize from './mixins/resize'\r\nrequire('echarts/theme/macarons')\r\n\r\nexport default {\r\n mixins: [resize],\r\n props: {\r\n className: {\r\n type: String,\r\n default: 'chart',\r\n },\r\n width: {\r\n type: String,\r\n default: '100%',\r\n },\r\n height: {\r\n type: String,\r\n default: '350px',\r\n },\r\n autoResize: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n chartData: {\r\n type: Object,\r\n required: true,\r\n },\r\n },\r\n data() {\r\n return {\r\n chart: null,\r\n }\r\n },\r\n watch: {\r\n chartData: {\r\n deep: true,\r\n handler(val) {\r\n this.setOptions(val)\r\n },\r\n },\r\n },\r\n mounted() {\r\n this.$nextTick(() => {\r\n this.initChart()\r\n })\r\n },\r\n beforeDestroy() {\r\n if (!this.chart) {\r\n return\r\n }\r\n this.chart.dispose()\r\n this.chart = null\r\n },\r\n methods: {\r\n doHandleMonth(month) {\r\n var m = month\r\n if (month.toString().length == 1) {\r\n m = '0' + month\r\n }\r\n return m\r\n },\r\n initChart() {\r\n this.chart = echarts.init(this.$el, 'macarons')\r\n this.setOptions(this.chartData)\r\n },\r\n setOptions({ expectedData } = {}) {\r\n this.chart.setOption({\r\n // title: {\r\n // text: '月工单统计',\r\n // },\r\n tooltip: {\r\n trigger: 'axis',\r\n axisPointer: {\r\n type: 'shadow',\r\n },\r\n },\r\n // legend: {\r\n // orient: 'vertical', // horizontal 横向\r\n // },\r\n grid: {\r\n left: '2%',\r\n right: '4%',\r\n bottom: '3%',\r\n containLabel: true,\r\n },\r\n yAxis: {\r\n type: 'value',\r\n boundaryGap: [0, 0.01],\r\n },\r\n xAxis: {\r\n type: 'category',\r\n data: expectedData.dataName,\r\n },\r\n series: [\r\n {\r\n name: '数量',\r\n type: 'bar',\r\n\r\n data: expectedData.yData,\r\n itemStyle: {\r\n normal: {\r\n // 每根柱子颜色设置\r\n color: function (params) {\r\n let colorList = [\r\n '#C1232B', '#B5C334', '#FCCE10', '#E87C25', '#27727B',\r\n '#FE8463', '#9BCA63', '#FAD860', '#F3A43B', '#60C0DD',\r\n '#D7504B', '#C6E579', '#F4E001', '#F0805A', '#26C0C0',\r\n ]\r\n return colorList[params.dataIndex]\r\n },\r\n },\r\n },\r\n },\r\n ],\r\n // color: ['#c23531', '#2f4554', '#61a0a8', '#d48265', '#91c7ae', '#749f83', '#ca8622', '#bda29a', '#6e7074', '#546570', '#c4ccd3'],\r\n })\r\n },\r\n },\r\n}\r\n</script>\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BarChart.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BarChart.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BarChart.vue?vue&type=template&id=b4bfc086&\"\nimport script from \"./BarChart.vue?vue&type=script&lang=js&\"\nexport * from \"./BarChart.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.className,style:({height:_vm.height,width:_vm.width})})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div :class=\"className\" :style=\"{height:height,width:width}\"/>\r\n</template>\r\n\r\n<script>\r\nimport echarts from 'echarts' // echarts theme\r\nimport resize from './mixins/resize'\r\nrequire('echarts/theme/macarons')\r\n\r\nexport default {\r\n mixins: [resize],\r\n props: {\r\n className: {\r\n type: String,\r\n default: 'chart',\r\n },\r\n width: {\r\n type: String,\r\n default: '100%',\r\n },\r\n height: {\r\n type: String,\r\n default: '175px',\r\n },\r\n autoResize: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n chartData: {\r\n type: Object,\r\n required: true,\r\n },\r\n },\r\n data() {\r\n return {\r\n chart: null,\r\n }\r\n },\r\n watch: {\r\n chartData: {\r\n deep: true,\r\n handler(val) {\r\n this.setOptions(val)\r\n },\r\n },\r\n },\r\n mounted() {\r\n this.$nextTick(() => {\r\n this.initChart()\r\n })\r\n },\r\n beforeDestroy() {\r\n if (!this.chart) {\r\n return\r\n }\r\n this.chart.dispose()\r\n this.chart = null\r\n },\r\n methods: {\r\n doHandleMonth(month) {\r\n var m = month\r\n if (month.toString().length == 1) {\r\n m = '0' + month\r\n }\r\n return m\r\n },\r\n initChart() {\r\n this.chart = echarts.init(this.$el, 'macarons')\r\n this.setOptions(this.chartData)\r\n },\r\n setOptions({ expectedData } = {}) {\r\n this.chart.setOption({\r\n title: {\r\n text: expectedData.title,\r\n x: 'center',\r\n },\r\n tooltip: {\r\n trigger: 'item',\r\n formatter: '{a} <br/>{b} : {c} ({d}%)',\r\n },\r\n // legend: {\r\n // orient: 'vertical',\r\n // left: 'left',\r\n // data: ['直接访问','邮件营销','联盟广告','视频广告','搜索引擎']\r\n // },\r\n series: [\r\n {\r\n name: '所占比例',\r\n type: 'pie',\r\n radius: '55%',\r\n center: ['50%', '60%'],\r\n data: expectedData.data,\r\n itemStyle: {\r\n emphasis: {\r\n shadowBlur: 10,\r\n shadowOffsetX: 0,\r\n shadowColor: 'rgba(0, 0, 0, 0.5)',\r\n },\r\n },\r\n },\r\n ],\r\n // color: ['#c23531', '#2f4554', '#61a0a8', '#d48265', '#91c7ae', '#749f83', '#ca8622', '#bda29a', '#6e7074', '#546570', '#c4ccd3'],\r\n })\r\n },\r\n },\r\n}\r\n</script>\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PieChart.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PieChart.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PieChart.vue?vue&type=template&id=16241738&\"\nimport script from \"./PieChart.vue?vue&type=script&lang=js&\"\nexport * from \"./PieChart.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.className,style:({height:_vm.height,width:_vm.width})})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <div :class=\"className\" :style=\"{height:height,width:width}\"/>\r\n</template>\r\n\r\n<script>\r\nimport echarts from 'echarts' // echarts theme\r\nimport resize from './mixins/resize'\r\nrequire('echarts/theme/macarons')\r\n\r\nexport default {\r\n mixins: [resize],\r\n props: {\r\n className: {\r\n type: String,\r\n default: 'chart',\r\n },\r\n width: {\r\n type: String,\r\n default: '100%',\r\n },\r\n height: {\r\n type: String,\r\n default: '350px',\r\n },\r\n autoResize: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n chartData: {\r\n type: Object,\r\n required: true,\r\n },\r\n },\r\n data() {\r\n return {\r\n chart: null,\r\n }\r\n },\r\n watch: {\r\n chartData: {\r\n deep: true,\r\n handler(val) {\r\n this.setOptions(val)\r\n },\r\n },\r\n },\r\n mounted() {\r\n this.$nextTick(() => {\r\n this.initChart()\r\n })\r\n },\r\n beforeDestroy() {\r\n if (!this.chart) {\r\n return\r\n }\r\n this.chart.dispose()\r\n this.chart = null\r\n },\r\n methods: {\r\n doHandleMonth(month) {\r\n var m = month\r\n if (month.toString().length == 1) {\r\n m = '0' + month\r\n }\r\n return m\r\n },\r\n initChart() {\r\n this.chart = echarts.init(this.$el, 'macarons')\r\n // this.setOptions(this.chartData)\r\n },\r\n // dataFormatter(obj) {\r\n // var pList = ['北京', '天津', '河北', '山西', '内蒙古', '辽宁', '吉林', '黑龙江', '上海', '江苏', '浙江', '安徽', '福建', '江西', '山东', '河南', '湖北', '湖南', '广东', '广西', '海南', '重庆', '四川', '贵州', '云南', '西藏', '陕西', '甘肃', '青海', '宁夏', '新疆']\r\n // var temp\r\n // for (var year = 2002; year <= 2011; year++) {\r\n // var max = 0\r\n // var sum = 0\r\n // temp = obj[year]\r\n // for (var i = 0, l = temp.length; i < l; i++) {\r\n // max = Math.max(max, temp[i])\r\n // sum += temp[i]\r\n // obj[year][i] = {\r\n // name: pList[i],\r\n // value: temp[i],\r\n // }\r\n // }\r\n // obj[year + 'max'] = Math.floor(max / 100) * 100\r\n // obj[year + 'sum'] = sum\r\n // }\r\n // return obj\r\n // },\r\n setOptions({ expectedData } = {}) {\r\n // var dataMap = {}\r\n // dataMap.dataPI = this.dataFormatter({\r\n // // max : 4000,\r\n // 2011: [136.27, 159.72, 2905.73, 641.42, 1306.3, 1915.57, 1277.44, 1701.5, 124.94, 3064.78, 1583.04, 2015.31, 1612.24, 1391.07, 3973.85, 3512.24, 2569.3, 2768.03, 2665.2, 2047.23, 659.23, 844.52, 2983.51, 726.22, 1411.01, 74.47, 1220.9, 678.75, 155.08, 184.14, 1139.03],\r\n // 2010: [124.36, 145.58, 2562.81, 554.48, 1095.28, 1631.08, 1050.15, 1302.9, 114.15, 2540.1, 1360.56, 1729.02, 1363.67, 1206.98, 3588.28, 3258.09, 2147, 2325.5, 2286.98, 1675.06, 539.83, 685.38, 2482.89, 625.03, 1108.38, 68.72, 988.45, 599.28, 134.92, 159.29, 1078.63],\r\n // 2009: [118.29, 128.85, 2207.34, 477.59, 929.6, 1414.9, 980.57, 1154.33, 113.82, 2261.86, 1163.08, 1495.45, 1182.74, 1098.66, 3226.64, 2769.05, 1795.9, 1969.69, 2010.27, 1458.49, 462.19, 606.8, 2240.61, 550.27, 1067.6, 63.88, 789.64, 497.05, 107.4, 127.25, 759.74],\r\n // 2008: [112.83, 122.58, 2034.59, 313.58, 907.95, 1302.02, 916.72, 1088.94, 111.8, 2100.11, 1095.96, 1418.09, 1158.17, 1060.38, 3002.65, 2658.78, 1780, 1892.4, 1973.05, 1453.75, 436.04, 575.4, 2216.15, 539.19, 1020.56, 60.62, 753.72, 462.27, 105.57, 118.94, 691.07],\r\n // 2007: [101.26, 110.19, 1804.72, 311.97, 762.1, 1133.42, 783.8, 915.38, 101.84, 1816.31, 986.02, 1200.18, 1002.11, 905.77, 2509.14, 2217.66, 1378, 1626.48, 1695.57, 1241.35, 361.07, 482.39, 2032, 446.38, 837.35, 54.89, 592.63, 387.55, 83.41, 97.89, 628.72],\r\n // 2006: [88.8, 103.35, 1461.81, 276.77, 634.94, 939.43, 672.76, 750.14, 93.81, 1545.05, 925.1, 1011.03, 865.98, 786.14, 2138.9, 1916.74, 1140.41, 1272.2, 1532.17, 1032.47, 323.48, 386.38, 1595.48, 382.06, 724.4, 50.9, 484.81, 334, 67.55, 79.54, 527.8],\r\n // 2005: [88.68, 112.38, 1400, 262.42, 589.56, 882.41, 625.61, 684.6, 90.26, 1461.51, 892.83, 966.5, 827.36, 727.37, 1963.51, 1892.01, 1082.13, 1100.65, 1428.27, 912.5, 300.75, 463.4, 1481.14, 368.94, 661.69, 48.04, 435.77, 308.06, 65.34, 72.07, 509.99],\r\n // 2004: [87.36, 105.28, 1370.43, 276.3, 522.8, 798.43, 568.69, 605.79, 83.45, 1367.58, 814.1, 950.5, 786.84, 664.5, 1778.45, 1649.29, 1020.09, 1022.45, 1248.59, 817.88, 278.76, 428.05, 1379.93, 334.5, 607.75, 44.3, 387.88, 286.78, 60.7, 65.33, 461.26],\r\n // 2003: [84.11, 89.91, 1064.05, 215.19, 420.1, 615.8, 488.23, 504.8, 81.02, 1162.45, 717.85, 749.4, 692.94, 560, 1480.67, 1198.7, 798.35, 886.47, 1072.91, 658.78, 244.29, 339.06, 1128.61, 298.69, 494.6, 40.7, 302.66, 237.91, 48.47, 55.63, 412.9],\r\n // 2002: [82.44, 84.21, 956.84, 197.8, 374.69, 590.2, 446.17, 474.2, 79.68, 1110.44, 685.2, 783.66, 664.78, 535.98, 1390, 1288.36, 707, 847.25, 1015.08, 601.99, 222.89, 317.87, 1047.95, 281.1, 463.44, 39.75, 282.21, 215.51, 47.31, 52.95, 305],\r\n // })\r\n var options1 = []\r\n expectedData.date.map(i => {\r\n options1.push({\r\n title: { text: i },\r\n series: [{ data: expectedData.data[i] }],\r\n })\r\n })\r\n this.chart.setOption({\r\n baseOption: {\r\n timeline: {\r\n // y: 0,\r\n axisType: 'category',\r\n realtime: true,\r\n loop: true,\r\n autoPlay: false,\r\n // currentIndex: 2,\r\n playInterval: 1000,\r\n // controlStyle: {\r\n // position: 'left'\r\n // },\r\n data: expectedData.date,\r\n label: {\r\n formatter: function (s) {\r\n return (new Date(s).getMonth() + 1) + '-' + new Date(s).getDate()\r\n },\r\n },\r\n },\r\n title: {\r\n // subtext: '数据来自国家统计局',\r\n },\r\n tooltip: {},\r\n legend: {\r\n x: 'right',\r\n data: ['新订单'],\r\n // selected: {\r\n // 'GDP': false, '金融': false, '房地产': false,\r\n // },\r\n },\r\n calculable: true,\r\n grid: {\r\n top: 80,\r\n bottom: 100,\r\n tooltip: {\r\n trigger: 'axis',\r\n axisPointer: {\r\n type: 'shadow',\r\n label: {\r\n show: true,\r\n formatter: function (params) {\r\n return params.value.replace('\\n', '')\r\n },\r\n },\r\n },\r\n },\r\n },\r\n xAxis: [\r\n {\r\n type: 'category',\r\n axisLabel: { interval: 0 },\r\n data: [\r\n '0',\r\n '\\n1',\r\n '2',\r\n '\\n3',\r\n '4',\r\n '\\n5',\r\n '6',\r\n '\\n7',\r\n '8',\r\n '\\n9',\r\n '10',\r\n '\\n11',\r\n '12',\r\n '\\n13',\r\n '14',\r\n '\\n15',\r\n '16',\r\n '\\n17',\r\n '18',\r\n '\\n19',\r\n '20',\r\n '\\n21',\r\n '22',\r\n '\\n23',\r\n '24',\r\n ],\r\n splitLine: { show: false },\r\n },\r\n ],\r\n yAxis: [\r\n {\r\n type: 'value',\r\n name: '数量',\r\n },\r\n ],\r\n series: [{ name: '新订单', type: 'bar' }],\r\n },\r\n options: options1,\r\n })\r\n },\r\n },\r\n}\r\n</script>\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ManyBarChart.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ManyBarChart.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ManyBarChart.vue?vue&type=template&id=3295841c&\"\nimport script from \"./ManyBarChart.vue?vue&type=script&lang=js&\"\nexport * from \"./ManyBarChart.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template>\r\n <div>\r\n <div class=\"title\">\r\n <el-select\r\n v-model=\"area_id\"\r\n class=\"wid_l\"\r\n @change=\"seChange()\"\r\n placeholder=\"请选择\"\r\n >\r\n <el-option\r\n v-for=\"item in options\"\r\n :key=\"item.value\"\r\n :label=\"item.label\"\r\n :value=\"item.value\"\r\n />\r\n </el-select>\r\n <p @click=\"getFullCreeen\">🐉数据监控大屏🌈</p>\r\n </div>\r\n <div class=\"top-div\">\r\n <el-card class=\"top-card\">\r\n <div class=\"top-info1\">\r\n <div class=\"svg-position\">\r\n <svg-icon icon-class=\"new_orders\" class=\"svg-class\"/>\r\n <div class=\"content-info\">今日订单</div>\r\n </div>\r\n <div class=\"top-item-info1\">\r\n <span>{{ top.new_order.new_num }}</span>\r\n <div class=\"change-num\">\r\n <span class=\"card-panel-change-text\">同比昨日</span>\r\n <svg-icon v-show=\"top.new_order.diff == '1' \" icon-class=\"down\" class=\"down\"/>\r\n <svg-icon v-show=\"top.new_order.diff == '2' \" icon-class=\"level\" class=\"down\"/>\r\n <svg-icon v-show=\"top.new_order.diff == '3' \" icon-class=\"upup\" class=\"down\"/>\r\n {{ top.new_order.difference }}\r\n </div>\r\n </div>\r\n </div>\r\n </el-card>\r\n <el-card class=\"top-card\">\r\n <div class=\"top-info1\">\r\n <div class=\"svg-position\">\r\n <svg-icon icon-class=\"profit\" class=\"svg-class\"/>\r\n <div class=\"content-info\">今日收益</div>\r\n </div>\r\n <div class=\"top-item-info1\">\r\n <span>{{ top.total_profit.today_num }}</span>\r\n <div class=\"change-num\">\r\n <span class=\"card-panel-change-text\">同比昨日</span>\r\n <svg-icon v-show=\"top.total_profit.diff == '1' \" icon-class=\"down\" class=\"down\"/>\r\n <svg-icon v-show=\"top.total_profit.diff == '2' \" icon-class=\"level\" class=\"down\"/>\r\n <svg-icon v-show=\"top.total_profit.diff == '3' \" icon-class=\"upup\" class=\"down\"/>\r\n {{ top.total_profit.difference }}\r\n </div>\r\n </div>\r\n </div>\r\n </el-card>\r\n <el-card class=\"top-card\">\r\n <div class=\"top-info1\">\r\n <div class=\"svg-position\">\r\n <svg-icon icon-class=\"many_people\" class=\"svg-class\"/>\r\n <div class=\"content-info\">总用户</div>\r\n </div>\r\n <div class=\"top-item-info1\">\r\n <span>{{ top.total_user.total_num }}</span>\r\n <div class=\"change-num\">\r\n <span class=\"card-panel-change-text\">同比昨日</span>\r\n <svg-icon v-show=\"top.total_user.diff == '1' \" icon-class=\"down\" class=\"down\"/>\r\n <svg-icon v-show=\"top.total_user.diff == '2' \" icon-class=\"level\" class=\"down\"/>\r\n <svg-icon v-show=\"top.total_user.diff == '3' \" icon-class=\"upup\" class=\"down\"/>\r\n {{ top.total_user.difference }}\r\n </div>\r\n </div>\r\n </div>\r\n </el-card>\r\n <el-card class=\"top-card\">\r\n <div class=\"top-info1\">\r\n <div class=\"svg-position\">\r\n <svg-icon icon-class=\"total_orders\" class=\"svg-class\"/>\r\n <div class=\"content-info\">总订单</div>\r\n </div>\r\n <div class=\"top-item-info1\">\r\n <span>{{ top.total_order.total_num }}</span>\r\n <div class=\"change-num\">\r\n <span class=\"card-panel-change-text\">同比昨日</span>\r\n <svg-icon v-show=\"top.total_order.diff == '1' \" icon-class=\"down\" class=\"down\"/>\r\n <svg-icon v-show=\"top.total_order.diff == '2' \" icon-class=\"level\" class=\"down\"/>\r\n <svg-icon v-show=\"top.total_order.diff == '3' \" icon-class=\"upup\" class=\"down\"/>\r\n {{ top.total_order.difference }}\r\n </div>\r\n </div>\r\n </div>\r\n </el-card>\r\n <el-card class=\"top-card\">\r\n <div class=\"top-info1\">\r\n <div class=\"svg-position\">\r\n <svg-icon icon-class=\"diandongche\" class=\"svg-class\"/>\r\n <div class=\"content-info\">总投放车辆</div>\r\n </div>\r\n <div class=\"top-item-info1\">\r\n <span>{{ top.total_put_bikes }}</span>\r\n <!-- <div class=\"change-num\">\r\n <span class=\"card-panel-change-text\">同比昨日</span>\r\n <svg-icon v-show=\"top.total_profit.diff == '1' \" icon-class=\"down\" class=\"down\"/>\r\n <svg-icon v-show=\"top.total_profit.diff == '2' \" icon-class=\"level\" class=\"down\"/>\r\n <svg-icon v-show=\"top.total_profit.diff == '3' \" icon-class=\"upup\" class=\"down\"/> {{ top.total_profit.difference }}\r\n </div> -->\r\n </div>\r\n </div>\r\n </el-card>\r\n </div>\r\n <div class=\"mid\">\r\n <div class=\"last_item left_item\">\r\n <el-card>\r\n <!-- <span class=\"todo-title\">本日新增日租订单趋势</span>\r\n <el-row style=\"background:#fff;padding:16px 16px 0;\">\r\n <line-chart :chart-data=\"orderRentChart\" width=\"95%\"/>\r\n </el-row> -->\r\n <span class=\"todo-title\">待办事项</span>\r\n <div class=\"todo-event\">\r\n <el-card class=\"todo-top fi\">\r\n <div class=\"todo-ma-top\">\r\n <p>{{ todo_event.long_time_no_ridding }}</p><span>24h未骑车辆</span>\r\n </div>\r\n </el-card>\r\n <el-card class=\"todo-top\">\r\n <div class=\"todo-ma-top\">\r\n <p>{{ todo_event.long_time_no_return_ridding }}</p>\r\n <span>24h未还车辆</span>\r\n </div>\r\n </el-card>\r\n <el-card class=\"todo-bo fi\">\r\n <div class=\"todo-ma-top\">\r\n <p class=\"red-class\">{{ todo_event.trouble_num }}</p>\r\n <span>故障车辆</span>\r\n </div>\r\n </el-card>\r\n <el-card class=\"todo-bo fi\">\r\n <div class=\"todo-ma-top\">\r\n <p class=\"red-class\">{{ todo_event.low_battery_num }}</p><span>低电车辆</span>\r\n </div>\r\n </el-card>\r\n <el-card class=\"todo-bo\">\r\n <div class=\"todo-ma-top\">\r\n <p class=\"red-class\">{{ todo_event.warning_num }}</p>\r\n <span>报警信息</span>\r\n </div>\r\n </el-card>\r\n </div>\r\n </el-card>\r\n <el-card class=\"second\">\r\n <span class=\"todo-title\">近30日活跃用户分析</span>\r\n <el-row style=\"background:#fff;padding:16px 16px 0;\">\r\n <pie-chart :chart-data=\"activeUserAgePieChart\" width=\"95%\"/>\r\n <pie-chart :chart-data=\"activeUserGendersPieChart\" width=\"95%\"/>\r\n </el-row>\r\n </el-card>\r\n </div>\r\n <div class=\"mapmap\">\r\n <div class=\"map\">\r\n <el-amap\r\n vid=\"amap\"\r\n :plugin=\"plugin\"\r\n class=\"amap-demo\"\r\n :center=\"center\"\r\n :default-cursor=\"defaultCursor\"\r\n :zoom=\"zoom\"\r\n :amap-manager=\"amapManager\"\r\n :events=\"events\"\r\n />\r\n <div class=\"map-heatmap-button-container\">\r\n <el-button-group>\r\n <el-button\r\n size=\"mini\"\r\n plain\r\n type=\"primary\"\r\n @click=\"changeHeatmap('start')\"\r\n >\r\n 扫码热力图\r\n </el-button>\r\n <el-button\r\n size=\"mini\"\r\n plain\r\n type=\"primary\"\r\n @click=\"changeHeatmap('end')\"\r\n >\r\n 停车热力图\r\n </el-button>\r\n </el-button-group>\r\n </div>\r\n <div class=\"map-edit-container\">\r\n <div class=\"map-edit-item\">\r\n <div>\r\n <img src=\"@/assets/bikesInfo/low.29a1bda.png\" alt=\"低电量\">\r\n </div>\r\n <div>\r\n <span class=\"span-cs\">低电量</span>\r\n <span class=\"color-span\">{{ low_power_num }}</span>\r\n </div>\r\n </div>\r\n <div class=\"map-edit-item\">\r\n <div>\r\n <img src=\"@/assets/bikesInfo/using.172bef6.png\" alt=\"使用中\">\r\n </div>\r\n <div>\r\n <span class=\"span-cs\">使用中</span>\r\n <span class=\"color-span\">{{ riding_yes_num }}</span>\r\n </div>\r\n </div>\r\n <div class=\"map-edit-item\">\r\n <div>\r\n <img src=\"@/assets/bikesInfo/unuse.38fefdf.png\" alt=\"未使用\">\r\n </div>\r\n <div>\r\n <span class=\"span-cs\">未使用</span>\r\n <span class=\"color-span\">{{ riding_no_num }}</span>\r\n </div>\r\n </div>\r\n <div class=\"map-edit-item\">\r\n <div>\r\n <img\r\n src=\"http://resource.bike.hanyiyun.com/work_riding.png\"\r\n alt=\"运维使用\"\r\n >\r\n </div>\r\n <div>\r\n <span class=\"span-cs\">运维用</span>\r\n <span class=\"color-span\">{{ worker_riding_num }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </el-amap>\r\n </div>\r\n <div class=\"last_div\">\r\n <el-card class=\"last_item\">\r\n <span class=\"todo-title\">近月订单收益</span>\r\n <el-row style=\"background:#fff;\">\r\n <line-chart :chart-data=\"MonthOrderProfitChartData\" width=\"95%\" height=\"220px\"/>\r\n </el-row>\r\n </el-card>\r\n <el-card class=\"last_item left_item\">\r\n <span class=\"todo-title\">近月新增用户</span>\r\n <el-row style=\"background:#fff;\">\r\n <line-chart :chart-data=\"MonthAddUserChartData\" width=\"95%\" height=\"220px\"/>\r\n </el-row>\r\n </el-card>\r\n </div>\r\n </div>\r\n\r\n <div class=\"chart\">\r\n <el-card>\r\n <span class=\"todo-title\">日新增订单趋势</span>\r\n <el-row style=\"background:#fff;\">\r\n <many-bar-chart :chart-data=\"newOrderChartData\" height=\"380px\"/>\r\n </el-row>\r\n </el-card>\r\n <el-card class=\"second\">\r\n <span class=\"todo-title\">近七日新订单</span>\r\n <el-row style=\"background:#fff;\">\r\n <line-chart :chart-data=\"weekNewOrderChartData\" width=\"95%\" height=\"380px\"/>\r\n </el-row>\r\n </el-card>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n getTopIndex, getNewUsersChart, getNewOrderChart,\r\n getProfitChart, getTodoEvent, getHeatMapData, getNewDayRentOrderChart,\r\n getMapBikes, getAreas, getHourOrderNumber, getRecentMonthOrderProfit,\r\n acticveWxUserSattistics, getRecentMonthAddUser, getBikeStatisticsOpen,\r\n} from '@/api/indexOpen'\r\nimport LineChart from './components/LineChart'\r\nimport LineChartWeek from './components/LineChartWeek'\r\nimport BarChart from './components/BarChart'\r\nimport PieChart from './components/PieChart'\r\nimport ManyBarChart from './components/ManyBarChart'\r\nimport VueAMap from 'vue-amap'\r\n\r\nexport default {\r\n name: 'Index',\r\n components: {\r\n LineChart,\r\n LineChartWeek,\r\n BarChart,\r\n PieChart,\r\n ManyBarChart,\r\n },\r\n data() {\r\n let self = this\r\n let amapManager = new VueAMap.AMapManager()\r\n return {\r\n options: [{\r\n value: '',\r\n label: '全部区域',\r\n }],\r\n area_id: '',\r\n top: {\r\n new_order: {\r\n new_num: 0, // 新订单数量\r\n diff: 2, // 增长情况\r\n difference: 0, // 实际增长数量\r\n },\r\n total_user: {\r\n total_num: 0,\r\n diff: 2, // 增长情况\r\n difference: 0, // 实际增长数量\r\n },\r\n total_order: {\r\n total_num: 0,\r\n diff: 2, // 增长情况\r\n difference: 0, // 实际增长数量\r\n },\r\n total_profit: {\r\n total_num: 0,\r\n today_num: 0,\r\n diff: 2, // 增长情况\r\n difference: 0, // 实际增长数量\r\n },\r\n total_put_bikes: 0,\r\n },\r\n todo_event: {\r\n low_battery_num: 0, // 低电量\r\n long_time_no_ridding: 0, // 24小时未骑车辆\r\n long_time_no_return_ridding: 0, // 24小时未还车\r\n trouble_num: 0, // 故障车辆\r\n warning_num: 0, // 报警数量\r\n },\r\n riding_yes_num: '',\r\n riding_no_num: '',\r\n low_power_num: '',\r\n worker_riding_num: '',\r\n center: [121.59996, 31.197646],\r\n defaultCursor: 'pointer',\r\n zoom: 12,\r\n lng: 0,\r\n lat: 0,\r\n loaded: false,\r\n points: [],\r\n amapManager: amapManager,\r\n events: {\r\n init(o) {\r\n },\r\n },\r\n mouseTool: null,\r\n plugin: [\r\n {\r\n pName: 'Geolocation',\r\n showMarker: false,\r\n events: {\r\n init(o) {\r\n // o 是高德地图定位插件实例\r\n // console.log(o)\r\n o.getCurrentPosition((status, result) => {\r\n // 未配置https 定位失败 暂时手动配置\r\n self.lng = 113.73350255780726\r\n self.lat = 34.78024666564106\r\n self.center = [self.lng, self.lat]\r\n self.loaded = true\r\n if (result && result.position) {\r\n // console.log(result.position)\r\n self.lng = result.position.lng\r\n self.lat = result.position.lat\r\n self.center = [self.lng, self.lat]\r\n self.loaded = true\r\n self.$nextTick()\r\n }\r\n })\r\n },\r\n },\r\n },\r\n {\r\n pName: 'Scale',\r\n // offset: { x: 1, y: 1 },\r\n position: 'RB',\r\n events: {\r\n init(instance) {\r\n // console.log(instance)\r\n },\r\n },\r\n },\r\n {\r\n pName: 'ToolBar',\r\n events: {\r\n init(instance) {\r\n // console.log(instance)\r\n },\r\n },\r\n },\r\n ],\r\n\r\n newUsersChart: {\r\n expectedData: {\r\n data: [],\r\n date: [],\r\n },\r\n },\r\n orderRentChart: {\r\n expectedData: {\r\n data: [],\r\n date: [],\r\n },\r\n },\r\n newOrderChartData: {\r\n expectedData: {\r\n data: [],\r\n date: [],\r\n },\r\n },\r\n weekProfitChart: {\r\n expectedData: {\r\n dataName: [],\r\n yData: [],\r\n },\r\n },\r\n activeUserAgePieChart: {\r\n expectedData: {\r\n title: '年龄比例',\r\n data: [],\r\n },\r\n },\r\n activeUserGendersPieChart: {\r\n expectedData: {\r\n title: '性别比例',\r\n data: [],\r\n },\r\n },\r\n weekNewOrderChartData: {\r\n expectedData: {\r\n data: [],\r\n date: [],\r\n },\r\n },\r\n MonthOrderProfitChartData: {\r\n expectedData: {\r\n data: [],\r\n date: [],\r\n },\r\n },\r\n MonthAddUserChartData: {\r\n expectedData: {\r\n data: [],\r\n date: [],\r\n },\r\n },\r\n oldMsaaMarks: '',\r\n oldHeatmap: null,\r\n heatmapDatas: null,\r\n n: 0,\r\n }\r\n },\r\n\r\n destroyed() {\r\n clearInterval(this.myInterval)\r\n },\r\n async created() {\r\n const [{ data: areas }] = await Promise.all([\r\n getAreas({ all: 1 }),\r\n ])\r\n areas.map(i => {\r\n this.options.push({ value: i.id, label: i.name })\r\n })\r\n this.initData()\r\n\r\n // 定时器 定时请求刷新数据\r\n // this.myInterval = window.setInterval(() => {\r\n // setTimeout(() => {\r\n // // this.newOrderChartChange('today') // 调用接口的方法\r\n // // this.newUsersChartChange('today') // 调用接口的方法\r\n // this.profitChartChange('today') //\r\n // }, 1)\r\n // }, 1500000)\r\n },\r\n methods: {\r\n getFullCreeen() {\r\n this.n++\r\n this.n % 2 == 0\r\n ? this.outFullCreeen(document) : this.inFullCreeen(document.documentElement)\r\n },\r\n inFullCreeen(element) {\r\n let el = element\r\n let rfs = el.requestFullScreen || el.webkitRequestFullScreen ||\r\n el.mozRequestFullScreen || el.msRequestFullScreen\r\n if (typeof rfs !== 'undefined' && rfs) {\r\n rfs.call(el)\r\n } else if (typeof window.ActiveXObject !== 'undefined') {\r\n let wscript = new ActiveXObject('WScript.Shell')\r\n if (wscript != null) {\r\n wscript.SendKeys('{F11}')\r\n }\r\n }\r\n },\r\n outFullCreeen(element) {\r\n let el = element\r\n let cfs = el.cancelFullScreen || el.webkitCancelFullScreen ||\r\n el.mozCancelFullScreen || el.exitFullScreen\r\n if (typeof cfs !== 'undefined' && cfs) {\r\n cfs.call(el)\r\n } else if (typeof window.ActiveXObject !== 'undefined') {\r\n let wscript = new ActiveXObject('WScript.Shell')\r\n if (wscript != null) {\r\n wscript.SendKeys('{F11}')\r\n }\r\n }\r\n },\r\n seChange() {\r\n var params = {}\r\n if (this.area_id !== '') {\r\n params = { area_id: this.area_id }\r\n }\r\n this.initData(params)\r\n },\r\n async initData(params = {}) {\r\n // 头部统计\r\n const [{ data: top }] = await Promise.all([\r\n getTopIndex(params),\r\n ])\r\n this.top = top\r\n\r\n // 待办事项统计\r\n const [{ data: todoEvent }] = await Promise.all([\r\n getTodoEvent(params),\r\n ])\r\n this.todo_event = todoEvent\r\n // 地图车辆统计\r\n const [{ data: statistics }] = await Promise.all([\r\n\r\n getBikeStatisticsOpen(params),\r\n ])\r\n\r\n this.low_power_num = statistics.low_power_num\r\n this.riding_yes_num = statistics.riding_yes_num\r\n this.riding_no_num = statistics.riding_no_num\r\n this.worker_riding_num = statistics.worker_riding_num\r\n // 新增用户折线图\r\n // const [{ data: newUserChart }] = await Promise.all([\r\n // getNewUsersChart({ days: 'today' }),\r\n // ])\r\n // newUserChart.map(i => {\r\n // this.newUsersChart.expectedData.data.push(i.value) // 统计得押金\r\n // this.newUsersChart.expectedData.date.push(i.date)\r\n // })\r\n var dayParams = { days: 'today' }\r\n // 总收益折线图 今日\r\n if (params !== {}) {\r\n dayParams = { days: 'today', area_id: params.area_id }\r\n }\r\n const [{ data: orderRentChart }] = await Promise.all([\r\n getNewDayRentOrderChart(dayParams),\r\n ])\r\n this.orderRentChart.expectedData.data = []\r\n this.orderRentChart.expectedData.date = []\r\n orderRentChart.map(i => {\r\n this.orderRentChart.expectedData.data.push(i.value) //\r\n this.orderRentChart.expectedData.date.push(i.date)\r\n })\r\n\r\n // 新订单折线图 今日\r\n const [{ data: newOrderChart }] = await Promise.all([\r\n getHourOrderNumber(params),\r\n ])\r\n this.newOrderChartData.expectedData.data = []\r\n this.newOrderChartData.expectedData.date = []\r\n this.newOrderChartData.expectedData.data = newOrderChart.data\r\n this.newOrderChartData.expectedData.date = newOrderChart.date\r\n // 近一个月统计图\r\n const [{ data: monthOrderProfits }] = await Promise.all([\r\n getRecentMonthOrderProfit(params),\r\n ])\r\n this.MonthOrderProfitChartData.expectedData.data = []\r\n this.MonthOrderProfitChartData.expectedData.date = []\r\n monthOrderProfits.map(i => {\r\n this.MonthOrderProfitChartData.expectedData.data.push(i.value) //\r\n this.MonthOrderProfitChartData.expectedData.date.push(i.dateWeek)\r\n })\r\n // 近一个月新增用户 MonthAddUserChartData\r\n const [{ data: monthAddUsers }] = await Promise.all([\r\n getRecentMonthAddUser(params),\r\n ])\r\n this.MonthAddUserChartData.expectedData.data = []\r\n this.MonthAddUserChartData.expectedData.date = []\r\n monthAddUsers.map(i => {\r\n this.MonthAddUserChartData.expectedData.data.push(i.value) //\r\n this.MonthAddUserChartData.expectedData.date.push(i.dateWeek)\r\n })\r\n\r\n var sedayParams = { days: 'sevenDays' }\r\n // 总收益折线图 今日\r\n if (params !== {}) {\r\n sedayParams = { days: 'sevenDays', area_id: params.area_id }\r\n }\r\n // 总收益折线图 本周\r\n const [{ data: weekprofitChart }] = await Promise.all([\r\n getProfitChart(sedayParams),\r\n ])\r\n // 活跃用户\r\n const [{ data: activeUser }] = await Promise.all([\r\n acticveWxUserSattistics(),\r\n ])\r\n this.weekProfitChart.expectedData.yData = []\r\n this.weekProfitChart.expectedData.dataName = []\r\n this.activeUserAgePieChart.expectedData.data = activeUser.ages\r\n this.activeUserGendersPieChart.expectedData.data = activeUser.genders\r\n // console.log(this.weekProfitChart)\r\n // activeUser.map(i => {\r\n // this.weekProfitChart.expectedData.yData.push(i.value)\r\n // this.weekProfitChart.expectedData.dataName.push(i.name)\r\n // })\r\n\r\n // 新订单折线图 本周\r\n const [{ data: weeknewOrderChart }] = await Promise.all([\r\n getNewOrderChart(sedayParams),\r\n ])\r\n this.weekNewOrderChartData.expectedData.data = []\r\n this.weekNewOrderChartData.expectedData.date = []\r\n weeknewOrderChart.map(i => {\r\n this.weekNewOrderChartData.expectedData.data.push(i.value) //\r\n this.weekNewOrderChartData.expectedData.date.push(i.date)\r\n })\r\n\r\n // 地图热力图\r\n\r\n if (this.oldHeatmap != null) {\r\n // 清除老数据\r\n this.oldHeatmap.setMap(null)\r\n }\r\n var heatmap = new AMap.Heatmap(this.amapManager._map, {\r\n radius: 25, // 给定半径\r\n opacity: [0, 0.8],\r\n /*,\r\n gradient:{\r\n 0.5: 'blue',\r\n 0.65: 'rgb(117,211,248)',\r\n 0.7: 'rgb(0, 255, 0)',\r\n 0.9: '#ffea00',\r\n 1.0: 'red'\r\n }\r\n */\r\n })\r\n // 设置数据集:该数据为北京部分“公园”数据\r\n const [{ data: heatmapData }] = await Promise.all([\r\n getHeatMapData(params),\r\n ])\r\n this.heatmapDatas = heatmapData\r\n heatmap.setDataSet({\r\n data: heatmapData.start,\r\n max: 100,\r\n })\r\n this.oldHeatmap = heatmap\r\n\r\n // 车辆 海量点\r\n let _this = this\r\n const {\r\n data: bikesMap,\r\n } = await getMapBikes(params)\r\n // 创建样式对象\r\n var styleObjectArr = [{\r\n url: 'http://resource.bike.hanyiyun.com/common/low-power.admin.png', // 图标地址 低电量\r\n size: new AMap.Size(25, 35), // 图标大小\r\n anchor: new AMap.Pixel(5, 5), // 图标显示位置偏移量,基准点为图标左上角\r\n }, {\r\n url: 'http://resource.bike.hanyiyun.com/common/unuse.admin.png', // 图标地址 未使用\r\n size: new AMap.Size(25, 35), // 图标大小\r\n anchor: new AMap.Pixel(5, 5), // 图标显示位置偏移量,基准点为图标左上角\r\n }, {\r\n url: 'http://resource.bike.hanyiyun.com/common/using.admin.png', // 图标地址 使用中\r\n size: new AMap.Size(25, 35), // 图标大小\r\n anchor: new AMap.Pixel(5, 5), // 图标显示位置偏移量,基准点为图标左上角\r\n }]\r\n // 清除老数据\r\n if (_this.oldMsaaMarks !== '') {\r\n _this.oldMsaaMarks.clear()\r\n }\r\n\r\n var massMarks = new AMap.MassMarks(bikesMap, {\r\n zIndex: 5, // 海量点图层叠加的顺序\r\n zooms: [3, 19], // 在指定地图缩放级别范围内展示海量点图层\r\n style: styleObjectArr, // 设置样式对象\r\n })\r\n\r\n massMarks.on('mousedown', function (e) {\r\n _this.pointClick(e.data.id)\r\n })\r\n massMarks.setMap(this.amapManager._map)\r\n _this.oldMsaaMarks = massMarks\r\n },\r\n // async newOrderChartChange(day) {\r\n // // 新订单折线图 今日\r\n // const [{ data: newOrderChart }] = await Promise.all([\r\n // getHourOrderNumber(),\r\n // ])\r\n // this.newOrderChartData.expectedData.data = []\r\n // this.newOrderChartData.expectedData.date = []\r\n // this.newOrderChartData.expectedData.data = newOrderChart.data\r\n // this.newOrderChartData.expectedData.date = newOrderChart.date\r\n // },\r\n async newUsersChartChange(day) {\r\n this.newUsersChart.expectedData.data = []\r\n this.newUsersChart.expectedData.date = []\r\n const [{ data: newUsersChart }] = await Promise.all([\r\n getNewUsersChart({ days: day }),\r\n ])\r\n newUsersChart.map(i => {\r\n this.newUsersChart.expectedData.data.push(i.value) // 用户增长\r\n this.newUsersChart.expectedData.date.push(i.date)\r\n })\r\n },\r\n async profitChartChange(day) {\r\n this.profitChart.expectedData.data = []\r\n this.profitChart.expectedData.date = []\r\n const [{ data: profitChart }] = await Promise.all([\r\n getProfitChart({ days: day }),\r\n ])\r\n profitChart.map(i => {\r\n this.profitChart.expectedData.data.push(i.value) // 统计得押金\r\n this.profitChart.expectedData.date.push(i.date)\r\n })\r\n },\r\n async changeHeatmap(param) {\r\n var params = {}\r\n if (this.area_id !== '') {\r\n params = { area_id: this.area_id }\r\n }\r\n if (this.oldHeatmap != null) {\r\n // 清除老数据\r\n this.oldHeatmap.setMap(null)\r\n }\r\n var heatmap = new AMap.Heatmap(this.amapManager._map, {\r\n radius: 25, // 给定半径\r\n opacity: [0, 0.8],\r\n /*,\r\n gradient:{\r\n 0.5: 'blue',\r\n 0.65: 'rgb(117,211,248)',\r\n 0.7: 'rgb(0, 255, 0)',\r\n 0.9: '#ffea00',\r\n 1.0: 'red'\r\n }\r\n */\r\n })\r\n // 设置数据集:该数据为北京部分“公园”数据\r\n\r\n // const [{ data: datas }] = await Promise.all([\r\n // getHeatMapData(params),\r\n // ])\r\n var heatmapData = []\r\n if (param == 'start') {\r\n heatmapData = this.heatmapDatas.start\r\n } else if (param == 'end') {\r\n heatmapData = this.heatmapDatas.end\r\n }\r\n heatmap.setDataSet({\r\n data: heatmapData,\r\n max: 100,\r\n })\r\n this.oldHeatmap = heatmap\r\n },\r\n },\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scope>\r\n\r\n .title {\r\n display: flex;\r\n justify-content: space-between;\r\n .wid_l {\r\n width: 200px;\r\n margin: 10px 0 0 10px;\r\n }\r\n p {\r\n margin-top: 0px;\r\n margin-right: 35%;\r\n width: 30%;\r\n height: 50px;\r\n border: #6f7180 solid;\r\n border-top: none;\r\n border-radius: 25px;\r\n text-align: center;\r\n font-size: 36px;\r\n }\r\n }\r\n\r\n .top {\r\n display: flex;\r\n justify-content: space-between;\r\n height: 100px;\r\n }\r\n\r\n .top-div {\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: space-between;\r\n padding: 2px 20px;\r\n .top-card {\r\n width: 18%;\r\n height: 108px;\r\n font-size: 12px;\r\n color: #666;\r\n .top-info1 {\r\n display: flex;\r\n justify-content: space-between;\r\n .svg-position {\r\n padding-left: 10px;\r\n .svg-class {\r\n width: 45px;\r\n height: 45px;\r\n }\r\n }\r\n .content-info {\r\n text-align: center;\r\n line-height: 18px;\r\n color: rgba(50, 50, 50, .9);\r\n font-size: 17px;\r\n margin-top: 12px;\r\n }\r\n .top-item-info1 {\r\n\r\n span {\r\n display: block;\r\n text-align: right;\r\n font-weight: 700;\r\n font-size: 28px;\r\n }\r\n\r\n .card-panel-change-text {\r\n display: inline;\r\n font-size: .8rem;\r\n margin-right: 5px;\r\n left: -80px;\r\n top: 3px;\r\n }\r\n .change-num {\r\n float: right;\r\n text-align: right;\r\n margin-top: 15px;\r\n font-size: 16px;\r\n display: inline-block;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n .mid {\r\n display: flex;\r\n justify-content: space-between;\r\n margin-top: 30px;\r\n .last_item {\r\n width: 18%;\r\n // margin-left: 10px;\r\n .todo-title {\r\n color: #36a3f7;\r\n font-size: 1.2rem;\r\n }\r\n .todo-event {\r\n display: flex;\r\n padding: 30px 20px 10px 10px;\r\n flex-wrap: wrap;\r\n height: 325px;\r\n width: 100%;\r\n .todo-top {\r\n height: 145px;\r\n width: 45%;\r\n .todo-ma-top {\r\n margin-top: 10px;\r\n text-align: center;\r\n span {\r\n color: #6f7180;\r\n font-size: 1.1rem;\r\n }\r\n }\r\n p {\r\n text-align: center;\r\n font-size: 1.8rem;\r\n margin: 5px auto,\r\n }\r\n\r\n }\r\n .fi {\r\n margin-right: 20px;\r\n }\r\n .todo-bo {\r\n width: 26%;\r\n // height: 145px;\r\n margin-top: 10px;\r\n\r\n .todo-ma-top {\r\n margin-top: 10px;\r\n text-align: center;\r\n\r\n span {\r\n color: #6f7180;\r\n font-size: 1.1rem;\r\n }\r\n }\r\n\r\n p {\r\n text-align: center;\r\n font-size: 1.8rem;\r\n margin: 5px auto;\r\n }\r\n\r\n }\r\n\r\n .red-class {\r\n color: red;\r\n }\r\n\r\n .last_c {\r\n margin-right: 30px;\r\n }\r\n\r\n }\r\n\r\n .second {\r\n margin-top: 30px;\r\n }\r\n }\r\n .left_item{\r\n margin-left: 10px;\r\n }\r\n .chart {\r\n width: 30%;\r\n margin-right: 10px;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: stretch;\r\n justify-content: space-between;\r\n .second {\r\n margin-top: 30px;\r\n }\r\n .todo-title {\r\n color: #36a3f7;\r\n font-size: 1.2rem;\r\n // padding-top: 15px;\r\n }\r\n .el-card__body {\r\n padding: 10px !important;\r\n }\r\n }\r\n .mapmap {\r\n width: 50%;\r\n display: flex;\r\n flex-direction: row;\r\n flex-wrap: wrap;\r\n .map {\r\n width: 100%;\r\n height: 600px;\r\n border: rgb(19, 147, 221) solid;\r\n border-radius: 25px;\r\n overflow: hidden;\r\n position: relative;\r\n .map-heatmap-button-container{\r\n margin: 0;\r\n border-radius: 0.25rem;\r\n position: absolute;\r\n top: 28px;\r\n width: 200px;\r\n /* min-width: 2rem; */\r\n border-width: 0px;\r\n right: 350px;\r\n }\r\n .map-edit-container {\r\n margin: 0;\r\n border-radius: 0.25rem;\r\n position: absolute;\r\n top: 20px;\r\n width: 300px;\r\n /* min-width: 2rem; */\r\n border-width: 0px;\r\n right: 20px;\r\n display: -webkit-box;\r\n display: -ms-flexbox;\r\n display: flex;\r\n background: white;\r\n // border:1px solid #000;\r\n .map-edit-item {\r\n padding: 5px 10px 2px 5px;\r\n display: -webkit-box;\r\n // display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n div:last-child {\r\n padding: 2px;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n .span-cs {\r\n margin-top: -7px;\r\n }\r\n\r\n .color-span {\r\n color: blue;\r\n }\r\n }\r\n span {\r\n font-size: 7px;\r\n }\r\n }\r\n }\r\n }\r\n .last_div {\r\n display: flex;\r\n justify-content: space-between;\r\n width: 100%;\r\n margin-top: 30px;\r\n .last_item :first{\r\n margin: 0px;\r\n }\r\n .last_item {\r\n width: 100%;\r\n height: 256px;\r\n .todo-title {\r\n color: #36a3f7;\r\n font-size: 1.2rem;\r\n }\r\n .todo-event {\r\n display: flex;\r\n justify-content: space-between;\r\n padding: 30px 20px 10px 10px;\r\n width: 100%;\r\n p {\r\n text-align: center;\r\n font-size: 1.4rem;\r\n margin: 5px auto,\r\n }\r\n .red-class {\r\n color: red;\r\n }\r\n span {\r\n color: #6f7180;\r\n font-size: .9rem;\r\n }\r\n .last_c {\r\n margin-right: 30px;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n .mid-div {\r\n display: flex;\r\n justify-content: space-between;\r\n padding: 20px 20px;\r\n margin-top: 50px;\r\n .todo-title {\r\n color: #36a3f7;\r\n font-size: 1.2rem;\r\n // padding-top: 15px;\r\n }\r\n .profit-statistic {\r\n .title-select {\r\n display: flex;\r\n justify-content: space-between;\r\n }\r\n }\r\n }\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Index.vue?vue&type=template&id=fec3e05c&\"\nimport script from \"./Index.vue?vue&type=script&lang=js&\"\nexport * from \"./Index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Index.vue?vue&type=style&index=0&lang=scss&scope=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Index.vue?vue&type=style&index=0&lang=scss&scope=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Index.vue?vue&type=style&index=0&lang=scss&scope=true&\"","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray\";\nimport nonIterableRest from \"./nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","module.exports = __webpack_public_path__ + \"img/using.172bef6.172bef66.png\";","module.exports = __webpack_public_path__ + \"img/unuse.38fefdf.38fefdf9.png\";","module.exports = __webpack_public_path__ + \"img/low.29a1bda.29a1bdac.png\";"],"sourceRoot":""}
|