1 |
- {"version":3,"sources":["webpack:///./resources/src/views/dashboard/Index.vue?0f47","webpack:///./resources/src/api/index.js","webpack:///./resources/src/views/dashboard/components/LineChart.vue?f3a1","webpack:///./resources/src/views/dashboard/components/mixins/debounce.js","webpack:///./resources/src/views/dashboard/components/mixins/resize.js","webpack:///resources/src/views/dashboard/components/LineChart.vue","webpack:///./resources/src/views/dashboard/components/LineChart.vue?c7ea","webpack:///./resources/src/views/dashboard/components/LineChart.vue","webpack:///./resources/src/views/dashboard/components/ManyLineChart.vue?e7f7","webpack:///resources/src/views/dashboard/components/ManyLineChart.vue","webpack:///./resources/src/views/dashboard/components/ManyLineChart.vue?43b4","webpack:///./resources/src/views/dashboard/components/ManyLineChart.vue","webpack:///./resources/src/views/dashboard/components/PieChart.vue?5c76","webpack:///resources/src/views/dashboard/components/PieChart.vue","webpack:///./resources/src/views/dashboard/components/PieChart.vue?30ae","webpack:///./resources/src/views/dashboard/components/PieChart.vue","webpack:///resources/src/views/dashboard/Index.vue","webpack:///./resources/src/views/dashboard/Index.vue?edb9","webpack:///./resources/src/views/dashboard/Index.vue","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/api/area.js","webpack:///./resources/src/views/dashboard/Index.vue?b569"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","on","$event","seChange","model","value","callback","$$v","area_id","expression","_l","item","key","label","_v","_s","top","new_order","new_num","directives","name","rawName","diff","difference","total_user","total_num","total_order","total_profit","staticStyle","todo_event","low_battery_num","long_time_no_ridding","long_time_no_return_ridding","trouble_num","warning_num","profitChartChange","profitChart","newUsersChartChange","newUsersChart","changeNewOrderType","newOrderChartChange","newOrderChartData","changeOrderTypeRiddingRanking","riddingRankingChange","tableData","phoneAnalize","userPhoneData","scopedSlots","_u","fn","scope","row","percent","platformPieChart","BikeProfitRanking","staticRenderFns","getTopIndex","params","axios","get","getTodoEvent","getProfitChart","getNewUsersChart","getNewOrderChart","getNewDayRentOrderChart","getRiddingRanking","getRiddingRankingByDayRentOrder","getBikeProfitRanking","getUserPhoneChart","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","itemStyle","normal","color","lineStyle","smooth","animationDuration","animationEasing","component","map","seriesDatas","push","legendData","index","i","forEach","legend_data","formatter","orient","align","components","LineChart","PieChart","ManyLineChart","options","orderType","title","created","getAreas","initData","clearData","_arrayWithHoles","arr","Array","isArray","_iterableToArrayLimit","Symbol","iterator","_arr","_n","_d","_e","undefined","_i","next","done","err","_nonIterableRest","TypeError","_slicedToArray","unsupportedIterableToArray","showArea","id","storeArea","post","updateArea","put","editArea"],"mappings":"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","file":"js/chunk-a0161ef2.ae41434d.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)],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\":\"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\":\"total_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.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_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)])])])],1),_c('div',{staticClass:\"mid-div\"},[_c('div',{staticStyle:{\"width\":\"48%\"}},[_c('el-card',[_c('span',{staticClass:\"todo-title\"},[_vm._v(\"待办事项\")]),_c('div',{staticClass:\"todo-event\"},[_c('el-card',[_c('div',[_c('p',{staticClass:\"red-class\"},[_vm._v(_vm._s(_vm.todo_event.low_battery_num))]),_c('span',[_vm._v(\"低电量车辆\")])])]),_c('el-card',[_c('div',[_c('p',[_vm._v(_vm._s(_vm.todo_event.long_time_no_ridding))]),_c('span',[_vm._v(\"当前骑行车辆\")])])]),_c('el-card',[_c('div',[_c('p',[_vm._v(_vm._s(_vm.todo_event.long_time_no_return_ridding))]),_c('span',[_vm._v(\"24h未还车辆\")])])]),_c('el-card',[_c('div',[_c('p',{staticClass:\"red-class\"},[_vm._v(_vm._s(_vm.todo_event.trouble_num))]),_c('span',[_vm._v(\"故障车辆\")])])]),_c('el-card',[_c('div',[_c('p',{staticClass:\"red-class\"},[_vm._v(_vm._s(_vm.todo_event.warning_num))]),_c('span',[_vm._v(\"报警信息\")])])])],1)]),_c('el-card',{staticClass:\"profit-statistic top-mar\"},[_c('div',{staticClass:\"title-select\"},[_c('span',{staticClass:\"todo-title\"},[_vm._v(\"总收益趋势\")]),_c('el-button-group',[_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"plain\":\"\"},on:{\"click\":function($event){return _vm.profitChartChange('today')}}},[_vm._v(\"\\n 今天\\n \")]),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"plain\":\"\"},on:{\"click\":function($event){return _vm.profitChartChange('sevenDays')}}},[_vm._v(\"\\n 七天\\n \")]),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"plain\":\"\"},on:{\"click\":function($event){return _vm.profitChartChange('fifteenDays')}}},[_vm._v(\"\\n 十五天\\n \")]),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"plain\":\"\"},on:{\"click\":function($event){return _vm.profitChartChange('thirtyDays')}}},[_vm._v(\"\\n 三十天\\n \")])],1)],1),_c('el-row',{staticStyle:{\"background\":\"#fff\",\"padding\":\"16px 16px 0\"}},[_c('many-line-chart',{attrs:{\"chart-data\":_vm.profitChart,\"height\":\"597px\"}})],1)],1)],1),_c('div',{staticStyle:{\"width\":\"48%\"}},[_c('el-card',{staticClass:\"profit-statistic\"},[_c('div',{staticClass:\"title-select\"},[_c('span',{staticClass:\"todo-title\"},[_vm._v(\"新用户增长趋势\")]),_c('el-button-group',[_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"plain\":\"\"},on:{\"click\":function($event){return _vm.newUsersChartChange('today')}}},[_vm._v(\"\\n 今天\\n \")]),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"plain\":\"\"},on:{\"click\":function($event){return _vm.newUsersChartChange('sevenDays')}}},[_vm._v(\"\\n 七天\\n \")]),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"plain\":\"\"},on:{\"click\":function($event){return _vm.newUsersChartChange('fifteenDays')}}},[_vm._v(\"\\n 十五天\\n \")]),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"plain\":\"\"},on:{\"click\":function($event){return _vm.newUsersChartChange('thirtyDays')}}},[_vm._v(\"\\n 三十天\\n \")])],1)],1),_c('el-row',{staticStyle:{\"background\":\"#fff\",\"padding\":\"16px 16px 0\"}},[_c('many-line-chart',{attrs:{\"chart-data\":_vm.newUsersChart,\"width\":\"95%\"}})],1)],1),_c('el-card',{staticClass:\"profit-statistic top-mar\"},[_c('div',{staticClass:\"title-select\"},[_c('span',{staticClass:\"todo-title\"},[_vm._v(\"新订单趋势\")]),_c('el-button-group',[_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"plain\":\"\"},on:{\"click\":function($event){return _vm.changeNewOrderType('nomal')}}},[_vm._v(\"\\n 普通订单\\n \")]),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"plain\":\"\"},on:{\"click\":function($event){return _vm.changeNewOrderType('dayRent')}}},[_vm._v(\"\\n 日租订单\\n \")])],1),_c('el-button-group',[_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"plain\":\"\"},on:{\"click\":function($event){return _vm.newOrderChartChange('today')}}},[_vm._v(\"\\n 今天\\n \")]),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"plain\":\"\"},on:{\"click\":function($event){return _vm.newOrderChartChange('sevenDays')}}},[_vm._v(\"\\n 七天\\n \")]),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"plain\":\"\"},on:{\"click\":function($event){return _vm.newOrderChartChange('fifteenDays')}}},[_vm._v(\"\\n 十五天\\n \")]),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"plain\":\"\"},on:{\"click\":function($event){return _vm.newOrderChartChange('thirtyDays')}}},[_vm._v(\"\\n 三十天\\n \")])],1)],1),_c('el-row',{staticStyle:{\"background\":\"#fff\",\"padding\":\"16px 16px 0\"}},[_c('many-line-chart',{attrs:{\"chart-data\":_vm.newOrderChartData}})],1)],1)],1)]),_c('div',{staticClass:\"buttom-div\"},[_c('el-card',{staticClass:\"ranking-card\"},[_c('div',{staticClass:\"title-select\"},[_c('span',{staticClass:\"todo-title\"},[_vm._v(\"骑行排行榜\")]),_c('div',[_c('el-button-group',{staticClass:\"rightr\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"plain\":\"\"},on:{\"click\":function($event){return _vm.changeOrderTypeRiddingRanking('nomal')}}},[_vm._v(\"\\n 普通订单\\n \")]),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"plain\":\"\"},on:{\"click\":function($event){return _vm.changeOrderTypeRiddingRanking('dayRent')}}},[_vm._v(\"\\n 日租订单\\n \")])],1),_c('el-button-group',{staticClass:\"rightr top-bu\"},[_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"plain\":\"\"},on:{\"click\":function($event){return _vm.riddingRankingChange('today')}}},[_vm._v(\"\\n 今天\\n \")]),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"plain\":\"\"},on:{\"click\":function($event){return _vm.riddingRankingChange('sevenDays')}}},[_vm._v(\"\\n 七天\\n \")]),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"plain\":\"\"},on:{\"click\":function($event){return _vm.riddingRankingChange('oneMonth')}}},[_vm._v(\"\\n 30天\\n \")]),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"plain\":\"\"},on:{\"click\":function($event){return _vm.riddingRankingChange('sixMonth')}}},[_vm._v(\"\\n 180天\\n \")])],1)],1)]),_c('el-table',{staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.tableData,\"border\":false}},[_c('el-table-column',{attrs:{\"prop\":\"ranking\",\"label\":\"排名\",\"align\":\"center\",\"show-overflow-tooltip\":\"\",\"min-width\":\"20%\"}}),_c('el-table-column',{attrs:{\"prop\":\"username\",\"label\":\"用户昵称\",\"align\":\"center\",\"show-overflow-tooltip\":\"\",\"min-width\":\"30%\"}}),_c('el-table-column',{attrs:{\"prop\":\"phone\",\"label\":\"手机号\",\"align\":\"center\",\"show-overflow-tooltip\":\"\",\"min-width\":\"30%\"}}),_c('el-table-column',{attrs:{\"prop\":\"total_num\",\"label\":\"骑行次数\",\"align\":\"center\",\"show-overflow-tooltip\":\"\",\"min-width\":\"20%\"}})],1)],1),_c('el-card',{staticClass:\"user-phone\"},[_c('div',{staticClass:\"title-select\"},[_c('span',{staticClass:\"todo-title\"},[_vm._v(\"手机统计\")]),_c('el-button-group',[_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"plain\":\"\"},on:{\"click\":function($event){return _vm.phoneAnalize('today')}}},[_vm._v(\"\\n 今天\\n \")]),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"plain\":\"\"},on:{\"click\":function($event){return _vm.phoneAnalize('sevenDays')}}},[_vm._v(\"\\n 七天\\n \")]),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"plain\":\"\"},on:{\"click\":function($event){return _vm.phoneAnalize('oneMonth')}}},[_vm._v(\"\\n 30天\\n \")]),_c('el-button',{attrs:{\"type\":\"primary\",\"size\":\"mini\",\"plain\":\"\"},on:{\"click\":function($event){return _vm.phoneAnalize('sixMonth')}}},[_vm._v(\"\\n 180天\\n \")])],1)],1),_c('div',{staticClass:\"table_and_chart\"},[_c('div',{staticClass:\"table-phone\"},[_c('div',{staticClass:\"min-title\"},[_vm._v(\"机型分布\")]),_c('el-table',{staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.userPhoneData,\"border\":false}},[_c('el-table-column',{attrs:{\"prop\":\"model\",\"label\":\"机型\",\"align\":\"center\",\"show-overflow-tooltip\":\"\",\"min-width\":\"50%\"}}),_c('el-table-column',{attrs:{\"prop\":\"number\",\"label\":\"用户数\",\"align\":\"center\",\"show-overflow-tooltip\":\"\",\"min-width\":\"15%\"}}),_c('el-table-column',{attrs:{\"label\":\"占比\",\"align\":\"center\",\"show-overflow-tooltip\":\"\",\"min-width\":\"35%\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-progress',{attrs:{\"percentage\":scope.row.percent}})]}}])})],1)],1),_c('div',{staticClass:\"chart-platform\"},[_c('div',{staticClass:\"min-title\"},[_vm._v(\"终端分布\")]),_c('pie-chart',{attrs:{\"chart-data\":_vm.platformPieChart,\"height\":\"300px\",\"width\":\"95%\"}})],1)])]),_c('el-card',{staticClass:\"bikes-profit-card\"},[_c('div',{staticClass:\"title-select\"},[_c('span',{staticClass:\"todo-title\"},[_vm._v(\"车辆收益排行榜\")])]),_c('el-table',{staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.BikeProfitRanking,\"border\":false}},[_c('el-table-column',{attrs:{\"type\":\"index\",\"label\":\"排名\",\"align\":\"center\",\"show-overflow-tooltip\":\"\",\"min-width\":\"5%\"}}),_c('el-table-column',{attrs:{\"prop\":\"bike_no\",\"label\":\"车辆编号\",\"align\":\"center\",\"show-overflow-tooltip\":\"\",\"min-width\":\"30%\"}}),_c('el-table-column',{attrs:{\"prop\":\"per_money\",\"label\":\"平均每日\",\"align\":\"center\",\"show-overflow-tooltip\":\"\",\"min-width\":\"15%\"}}),_c('el-table-column',{attrs:{\"prop\":\"total_money\",\"label\":\"总收益\",\"align\":\"center\",\"show-overflow-tooltip\":\"\",\"min-width\":\"15%\"}}),_c('el-table-column',{attrs:{\"prop\":\"put_days\",\"label\":\"总投放时间(天)\",\"align\":\"center\",\"show-overflow-tooltip\":\"\",\"min-width\":\"15%\"}})],1)],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import axios from '@/plugins/axios'\r\n\r\nexport function getTopIndex(params = {}) {\r\n return axios.get('index/top', {\r\n params,\r\n })\r\n}\r\n\r\nexport function getTodoEvent(params = {}) {\r\n return axios.get('index/todoEvent', {\r\n params,\r\n })\r\n}\r\n\r\nexport function getProfitChart(params = {}) {\r\n return axios.get('index/profitChart', {\r\n params,\r\n })\r\n}\r\n\r\nexport function getNewUsersChart(params = {}) {\r\n return axios.get('index/newUsersChart', {\r\n params,\r\n })\r\n}\r\n\r\nexport function getNewOrderChart(params = {}) {\r\n return axios.get('index/newOrderChart', {\r\n params,\r\n })\r\n}\r\nexport function getNewDayRentOrderChart(params = {}) {\r\n return axios.get('index/newDayRentOrderChart', {\r\n params,\r\n })\r\n}\r\n\r\nexport function getRiddingRanking(params = {}) {\r\n return axios.get('index/riddingRanking', {\r\n params,\r\n })\r\n}\r\nexport function getRiddingRankingByDayRentOrder(params = {}) {\r\n return axios.get('index/riddingRankingByDayRentOrder', {\r\n params,\r\n })\r\n}\r\n\r\nexport function getBikeProfitRanking(params = {}) {\r\n return axios.get('index/bikeProfitRanking', {\r\n params,\r\n })\r\n}\r\n\r\nexport function getHeatMapData(params = {}) {\r\n return axios.get('index/heatMap', {\r\n params,\r\n })\r\n}\r\n\r\nexport function getUserPhoneChart(params = {}) {\r\n return axios.get('index/userPhoneChart', {\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: false,\r\n axisTick: {\r\n show: false,\r\n },\r\n axisLabel: {\r\n rotate: 60,\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: false,\r\n },\r\n },\r\n legend: {\r\n data: ['expected'],\r\n },\r\n series: [{\r\n name: '每日新增',\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 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=5fc336c6&\"\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\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 let seriesDatas = []\r\n expectedData.data.map((i, index) => {\r\n seriesDatas.push({\r\n name: expectedData.legendData[index],\r\n type: 'line',\r\n smooth: true,\r\n animationDuration: 2800,\r\n animationEasing: 'cubicInOut',\r\n data: i,\r\n })\r\n })\r\n // console.log(seriesDatas)\r\n // let seriesDatas = {\r\n // name: '邮件营销',\r\n // type: 'line',\r\n // stack: '总量',\r\n // data: [120, 132, 101, 134, 90, 230, 210],\r\n // }\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: false,\r\n axisTick: {\r\n show: false,\r\n },\r\n axisLabel: {\r\n rotate: 60,\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: false,\r\n },\r\n },\r\n legend: {\r\n data: expectedData.legendData,\r\n },\r\n // series: [{\r\n // name: '每日新增',\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 // data: expectedData.data,\r\n // animationDuration: 2800,\r\n // animationEasing: 'cubicInOut',\r\n // }],\r\n series: seriesDatas,\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!./ManyLineChart.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!./ManyLineChart.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ManyLineChart.vue?vue&type=template&id=9beb00dc&\"\nimport script from \"./ManyLineChart.vue?vue&type=script&lang=js&\"\nexport * from \"./ManyLineChart.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 let legend_data = []\r\n if (expectedData.data) {\r\n expectedData.data.forEach(i => {\r\n legend_data.push(i.name)\r\n })\r\n }\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: 'horizontal',\r\n align: 'auto',\r\n bottom: 'auto',\r\n data: legend_data,\r\n\r\n },\r\n series: [\r\n {\r\n name: '所占比例',\r\n type: 'pie',\r\n radius: '35%',\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=5fd8705c&\"\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","<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 </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=\"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=\"total_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.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_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 </div>\r\n <div class=\"mid-div\">\r\n <div style=\"width:48%;\">\r\n <el-card>\r\n <span class=\"todo-title\">待办事项</span>\r\n <div class=\"todo-event\">\r\n <el-card>\r\n <div>\r\n <p class=\"red-class\">{{ todo_event.low_battery_num }}</p>\r\n <span>低电量车辆</span>\r\n </div>\r\n </el-card>\r\n <el-card>\r\n <div>\r\n <p>{{ todo_event.long_time_no_ridding }}</p>\r\n <span>当前骑行车辆</span>\r\n </div>\r\n </el-card>\r\n <el-card>\r\n <div>\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>\r\n <div>\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>\r\n <div>\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=\"profit-statistic top-mar\">\r\n <div class=\"title-select\">\r\n <span class=\"todo-title\">总收益趋势</span>\r\n <el-button-group>\r\n <el-button\r\n type=\"primary\"\r\n @click=\"profitChartChange('today')\"\r\n size=\"mini\"\r\n plain\r\n >\r\n 今天\r\n </el-button>\r\n <el-button\r\n type=\"primary\"\r\n @click=\"profitChartChange('sevenDays')\"\r\n size=\"mini\"\r\n plain\r\n >\r\n 七天\r\n </el-button>\r\n <el-button\r\n type=\"primary\"\r\n @click=\"profitChartChange('fifteenDays')\"\r\n size=\"mini\"\r\n plain\r\n >\r\n 十五天\r\n </el-button>\r\n <el-button\r\n type=\"primary\"\r\n @click=\"profitChartChange('thirtyDays')\"\r\n size=\"mini\"\r\n plain\r\n >\r\n 三十天\r\n </el-button>\r\n </el-button-group>\r\n </div>\r\n <el-row style=\"background:#fff;padding:16px 16px 0;\">\r\n <many-line-chart :chart-data=\"profitChart\" height=\"597px\"/>\r\n </el-row>\r\n </el-card>\r\n </div>\r\n <div style=\"width:48%;\">\r\n <el-card class=\"profit-statistic\">\r\n <div class=\"title-select\">\r\n <span class=\"todo-title\">新用户增长趋势</span>\r\n <el-button-group>\r\n <el-button\r\n type=\"primary\"\r\n @click=\"newUsersChartChange('today')\"\r\n size=\"mini\"\r\n plain\r\n >\r\n 今天\r\n </el-button>\r\n <el-button\r\n type=\"primary\"\r\n @click=\"newUsersChartChange('sevenDays')\"\r\n size=\"mini\"\r\n plain\r\n >\r\n 七天\r\n </el-button>\r\n <el-button\r\n type=\"primary\"\r\n @click=\"newUsersChartChange('fifteenDays')\"\r\n size=\"mini\"\r\n plain\r\n >\r\n 十五天\r\n </el-button>\r\n <el-button\r\n type=\"primary\"\r\n @click=\"newUsersChartChange('thirtyDays')\"\r\n size=\"mini\"\r\n plain\r\n >\r\n 三十天\r\n </el-button>\r\n </el-button-group>\r\n </div>\r\n <el-row style=\"background:#fff;padding:16px 16px 0;\">\r\n <many-line-chart :chart-data=\"newUsersChart\" width=\"95%\"/>\r\n </el-row>\r\n </el-card>\r\n <el-card class=\"profit-statistic top-mar\">\r\n <div class=\"title-select\">\r\n <span class=\"todo-title\">新订单趋势</span>\r\n <el-button-group>\r\n <el-button\r\n type=\"primary\"\r\n @click=\"changeNewOrderType('nomal')\"\r\n size=\"mini\"\r\n plain\r\n >\r\n 普通订单\r\n </el-button>\r\n <el-button\r\n type=\"primary\"\r\n @click=\"changeNewOrderType('dayRent')\"\r\n size=\"mini\"\r\n plain\r\n >\r\n 日租订单\r\n </el-button>\r\n </el-button-group>\r\n <el-button-group>\r\n <el-button\r\n type=\"primary\"\r\n @click=\"newOrderChartChange('today')\"\r\n size=\"mini\"\r\n plain\r\n >\r\n 今天\r\n </el-button>\r\n <el-button\r\n type=\"primary\"\r\n @click=\"newOrderChartChange('sevenDays')\"\r\n size=\"mini\"\r\n plain\r\n >\r\n 七天\r\n </el-button>\r\n <el-button\r\n type=\"primary\"\r\n @click=\"newOrderChartChange('fifteenDays')\"\r\n size=\"mini\"\r\n plain\r\n >\r\n 十五天\r\n </el-button>\r\n <el-button\r\n type=\"primary\"\r\n @click=\"newOrderChartChange('thirtyDays')\"\r\n size=\"mini\"\r\n plain\r\n >\r\n 三十天\r\n </el-button>\r\n </el-button-group>\r\n </div>\r\n <el-row style=\"background:#fff;padding:16px 16px 0;\">\r\n <many-line-chart :chart-data=\"newOrderChartData\"/>\r\n </el-row>\r\n </el-card>\r\n </div>\r\n </div>\r\n <div class=\"buttom-div\">\r\n <el-card class=\"ranking-card\">\r\n <div class=\"title-select\">\r\n <span class=\"todo-title\">骑行排行榜</span>\r\n <div>\r\n <el-button-group class=\"rightr\">\r\n <el-button\r\n type=\"primary\"\r\n @click=\"changeOrderTypeRiddingRanking('nomal')\"\r\n size=\"mini\"\r\n plain\r\n >\r\n 普通订单\r\n </el-button>\r\n <el-button\r\n type=\"primary\"\r\n @click=\"changeOrderTypeRiddingRanking('dayRent')\"\r\n size=\"mini\"\r\n plain\r\n >\r\n 日租订单\r\n </el-button>\r\n </el-button-group>\r\n <el-button-group class=\"rightr top-bu\">\r\n <el-button\r\n type=\"primary\"\r\n @click=\"riddingRankingChange('today')\"\r\n size=\"mini\"\r\n plain\r\n >\r\n 今天\r\n </el-button>\r\n <el-button\r\n type=\"primary\"\r\n @click=\"riddingRankingChange('sevenDays')\"\r\n size=\"mini\"\r\n plain\r\n >\r\n 七天\r\n </el-button>\r\n <el-button\r\n type=\"primary\"\r\n @click=\"riddingRankingChange('oneMonth')\"\r\n size=\"mini\"\r\n plain\r\n >\r\n 30天\r\n </el-button>\r\n <el-button\r\n type=\"primary\"\r\n @click=\"riddingRankingChange('sixMonth')\"\r\n size=\"mini\"\r\n plain\r\n >\r\n 180天\r\n </el-button>\r\n </el-button-group>\r\n </div>\r\n </div>\r\n <el-table :data=\"tableData\" style=\"width: 100%\" :border=\"false\">\r\n <el-table-column\r\n prop=\"ranking\"\r\n label=\"排名\"\r\n align=\"center\"\r\n show-overflow-tooltip\r\n min-width=\"20%\"\r\n />\r\n <el-table-column\r\n prop=\"username\"\r\n label=\"用户昵称\"\r\n align=\"center\"\r\n show-overflow-tooltip\r\n min-width=\"30%\"\r\n />\r\n <el-table-column\r\n prop=\"phone\"\r\n label=\"手机号\"\r\n align=\"center\"\r\n show-overflow-tooltip\r\n min-width=\"30%\"\r\n />\r\n <el-table-column\r\n prop=\"total_num\"\r\n label=\"骑行次数\"\r\n align=\"center\"\r\n show-overflow-tooltip\r\n min-width=\"20%\"\r\n />\r\n </el-table>\r\n </el-card>\r\n <el-card class=\"user-phone\">\r\n <div class=\"title-select\">\r\n <span class=\"todo-title\">手机统计</span>\r\n <el-button-group>\r\n <el-button\r\n type=\"primary\"\r\n @click=\"phoneAnalize('today')\"\r\n size=\"mini\"\r\n plain\r\n >\r\n 今天\r\n </el-button>\r\n <el-button\r\n type=\"primary\"\r\n @click=\"phoneAnalize('sevenDays')\"\r\n size=\"mini\"\r\n plain\r\n >\r\n 七天\r\n </el-button>\r\n <el-button\r\n type=\"primary\"\r\n @click=\"phoneAnalize('oneMonth')\"\r\n size=\"mini\"\r\n plain\r\n >\r\n 30天\r\n </el-button>\r\n <el-button\r\n type=\"primary\"\r\n @click=\"phoneAnalize('sixMonth')\"\r\n size=\"mini\"\r\n plain\r\n >\r\n 180天\r\n </el-button>\r\n </el-button-group>\r\n </div>\r\n <div class=\"table_and_chart\">\r\n <div class=\"table-phone\">\r\n <div class=\"min-title\">机型分布</div>\r\n <el-table :data=\"userPhoneData\" style=\"width: 100%\" :border=\"false\">\r\n <el-table-column\r\n prop=\"model\"\r\n label=\"机型\"\r\n align=\"center\"\r\n show-overflow-tooltip\r\n min-width=\"50%\"\r\n />\r\n <el-table-column\r\n prop=\"number\"\r\n label=\"用户数\"\r\n align=\"center\"\r\n show-overflow-tooltip\r\n min-width=\"15%\"\r\n />\r\n <el-table-column\r\n label=\"占比\"\r\n align=\"center\"\r\n show-overflow-tooltip\r\n min-width=\"35%\"\r\n >\r\n <template slot-scope=\"scope\">\r\n <el-progress :percentage=\"scope.row.percent\"/>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </div>\r\n <div class=\"chart-platform\">\r\n <div class=\"min-title\">终端分布</div>\r\n <pie-chart :chart-data=\"platformPieChart\" height=\"300px\" width=\"95%\"/>\r\n </div>\r\n </div>\r\n </el-card>\r\n <el-card class=\"bikes-profit-card\">\r\n <div class=\"title-select\">\r\n <span class=\"todo-title\">车辆收益排行榜</span>\r\n </div>\r\n <el-table :data=\"BikeProfitRanking\" style=\"width: 100%\" :border=\"false\">\r\n <el-table-column\r\n type=\"index\"\r\n label=\"排名\"\r\n align=\"center\"\r\n show-overflow-tooltip\r\n min-width=\"5%\"\r\n />\r\n <el-table-column\r\n prop=\"bike_no\"\r\n label=\"车辆编号\"\r\n align=\"center\"\r\n show-overflow-tooltip\r\n min-width=\"30%\"\r\n />\r\n <el-table-column\r\n prop=\"per_money\"\r\n label=\"平均每日\"\r\n align=\"center\"\r\n show-overflow-tooltip\r\n min-width=\"15%\"\r\n />\r\n <el-table-column\r\n prop=\"total_money\"\r\n label=\"总收益\"\r\n align=\"center\"\r\n show-overflow-tooltip\r\n min-width=\"15%\"\r\n />\r\n <el-table-column\r\n prop=\"put_days\"\r\n label=\"总投放时间(天)\"\r\n align=\"center\"\r\n show-overflow-tooltip\r\n min-width=\"15%\"\r\n />\r\n </el-table>\r\n </el-card>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport {\r\n getTopIndex,\r\n getTodoEvent,\r\n getProfitChart,\r\n getNewUsersChart,\r\n getNewOrderChart,\r\n getRiddingRankingByDayRentOrder,\r\n getNewDayRentOrderChart,\r\n getRiddingRanking,\r\n getBikeProfitRanking,\r\n getUserPhoneChart,\r\n} from '@/api/index'\r\nimport LineChart from './components/LineChart'\r\nimport ManyLineChart from './components/ManyLineChart'\r\nimport PieChart from './components/PieChart'\r\nimport { getAreas } from '@/api/area'\r\nexport default {\r\n name: 'Index',\r\n components: {\r\n LineChart,\r\n PieChart,\r\n ManyLineChart,\r\n },\r\n data() {\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 diff: 2, // 增长情况\r\n difference: 0, // 实际增长数量\r\n },\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 profitChart: {\r\n expectedData: {\r\n data: [],\r\n date: [],\r\n legendData: [],\r\n },\r\n },\r\n newUsersChart: {\r\n expectedData: {\r\n data: [],\r\n date: [],\r\n legendData: [],\r\n },\r\n },\r\n orderType: 'nomal',\r\n newOrderChartData: {\r\n expectedData: {\r\n data: [],\r\n date: [],\r\n legendData: [],\r\n },\r\n },\r\n platformPieChart: {\r\n expectedData: {\r\n title: '终端比例',\r\n data: [],\r\n },\r\n },\r\n userPhoneData: [],\r\n tableData: [],\r\n BikeProfitRanking: [],\r\n }\r\n },\r\n created() {\r\n // console.log(222)\r\n this.getAreas()\r\n this.initData()\r\n },\r\n methods: {\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 getAreas() {\r\n const [\r\n { data: areas },\r\n ] = await Promise.all([\r\n getAreas({ all: 1 }),\r\n ])\r\n\r\n areas.map(i => {\r\n this.options.push({ value: i.id, label: i.name })\r\n })\r\n },\r\n clearData() {\r\n this.profitChart.expectedData.data = []\r\n this.profitChart.expectedData.date = []\r\n this.profitChart.expectedData.legendData = []\r\n\r\n this.newUsersChart.expectedData.data = []\r\n this.newUsersChart.expectedData.date = []\r\n this.newUsersChart.expectedData.legendData = []\r\n this.newOrderChartData.expectedData.data = []\r\n this.newOrderChartData.expectedData.date = []\r\n this.newOrderChartData.expectedData.legendData = []\r\n\r\n this.platformPieChart.expectedData.data = []\r\n },\r\n async initData(params = {}) {\r\n this.clearData()\r\n // 头部统计\r\n const [{ data: top }] = await Promise.all([getTopIndex(params)])\r\n this.top = top\r\n\r\n // 待办事项统计\r\n const [{ data: todoEvent }] = await Promise.all([getTodoEvent(params)])\r\n this.todo_event = todoEvent\r\n\r\n // 总收益折线图\r\n var profitParams = { days: 'thirtyDays' }\r\n if (params !== {}) {\r\n profitParams = { days: 'thirtyDays', area_id: params.area_id }\r\n }\r\n const [{ data: profitChart }] = await Promise.all([\r\n getProfitChart(profitParams),\r\n ])\r\n profitChart.map(i => {\r\n this.profitChart.expectedData.legendData.push(i.name)\r\n let arr = []\r\n let date = []\r\n i.data.map(e => {\r\n arr.push(e.value)\r\n date.push(e.date)\r\n })\r\n this.profitChart.expectedData.data.push(arr)\r\n this.profitChart.expectedData.date = date\r\n })\r\n\r\n console.log(this.profitChart.expectedData.data)\r\n // 新增用户折线图\r\n\r\n var newUsersParams = { days: 'thirtyDays' }\r\n if (params !== {}) {\r\n newUsersParams = { days: 'thirtyDays', area_id: params.area_id }\r\n }\r\n const [{ data: newUserChart }] = await Promise.all([\r\n getNewUsersChart(newUsersParams),\r\n ])\r\n newUserChart.map(i => {\r\n this.newUsersChart.expectedData.legendData.push(i.name)\r\n let arr = []\r\n let date = []\r\n i.data.map(e => {\r\n arr.push(e.value)\r\n date.push(e.date)\r\n })\r\n this.newUsersChart.expectedData.data.push(arr)\r\n this.newUsersChart.expectedData.date = date\r\n })\r\n\r\n // 新订单折线图\r\n var newOrderParams = { days: 'thirtyDays' }\r\n if (params !== {}) {\r\n newOrderParams = { days: 'thirtyDays', area_id: params.area_id }\r\n }\r\n const [{ data: newOrderChart }] = await Promise.all([\r\n getNewOrderChart(newOrderParams),\r\n ])\r\n\r\n newOrderChart.map(i => {\r\n this.newOrderChartData.expectedData.legendData.push(i.name)\r\n let arr = []\r\n let date = []\r\n i.data.map(e => {\r\n arr.push(e.value)\r\n date.push(e.date)\r\n })\r\n this.newOrderChartData.expectedData.data.push(arr)\r\n this.newOrderChartData.expectedData.date = date\r\n })\r\n\r\n // 排行榜\r\n var rankingParams = { days: 'oneMonth' }\r\n if (params !== {}) {\r\n rankingParams = { days: 'oneMonth', area_id: params.area_id }\r\n }\r\n const [{ data: riddingRanking }] = await Promise.all([\r\n getRiddingRanking(rankingParams),\r\n ])\r\n this.tableData = riddingRanking\r\n const [{ data: BikeProfitRanking }] = await Promise.all([\r\n getBikeProfitRanking(rankingParams),\r\n ])\r\n this.BikeProfitRanking = BikeProfitRanking\r\n // 手机分析\r\n var userPhoneParams = { days: 'sixMonth' }\r\n if (params !== {}) {\r\n userPhoneParams = { days: 'sixMonth', area_id: params.area_id }\r\n }\r\n const [{ data: userPhone }] = await Promise.all([\r\n getUserPhoneChart(userPhoneParams),\r\n ])\r\n this.userPhoneData = userPhone.userPhone\r\n this.platformPieChart.expectedData.data = userPhone.platform\r\n },\r\n changeNewOrderType(type) {\r\n this.orderType = type\r\n this.newOrderChartChange('fifteenDays')\r\n },\r\n changeOrderTypeRiddingRanking(type) {\r\n this.orderType = type\r\n this.riddingRankingChange('oneMonth')\r\n },\r\n async newOrderChartChange(day) {\r\n this.newOrderChartData.expectedData.data = []\r\n this.newOrderChartData.expectedData.date = []\r\n this.newOrderChartData.expectedData.legendData = []\r\n var newOrderParams = { days: day }\r\n if (this.area_id !== '') {\r\n newOrderParams = { days: day, area_id: this.area_id }\r\n }\r\n if (this.orderType == 'nomal') {\r\n const [{ data: newOrderChart }] = await Promise.all([\r\n getNewOrderChart(newOrderParams),\r\n ])\r\n\r\n newOrderChart.map(i => {\r\n this.newOrderChartData.expectedData.legendData.push(i.name)\r\n let arr = []\r\n let date = []\r\n i.data.map(e => {\r\n arr.push(e.value)\r\n date.push(e.date)\r\n })\r\n this.newOrderChartData.expectedData.data.push(arr)\r\n this.newOrderChartData.expectedData.date = date\r\n })\r\n } else if (this.orderType == 'dayRent') {\r\n const [{ data: newOrderChart }] = await Promise.all([\r\n getNewDayRentOrderChart(newOrderParams),\r\n ])\r\n\r\n newOrderChart.map(i => {\r\n this.newOrderChartData.expectedData.legendData.push(i.name)\r\n let arr = []\r\n let date = []\r\n i.data.map(e => {\r\n arr.push(e.value)\r\n date.push(e.date)\r\n })\r\n this.newOrderChartData.expectedData.data.push(arr)\r\n this.newOrderChartData.expectedData.date = date\r\n })\r\n }\r\n },\r\n async profitChartChange(day) {\r\n this.profitChart.expectedData.data = []\r\n this.profitChart.expectedData.date = []\r\n this.profitChart.expectedData.legendData = []\r\n\r\n var profitParams = { days: day }\r\n if (this.area_id !== '') {\r\n profitParams = { days: day, area_id: this.area_id }\r\n }\r\n const [{ data: profitChart }] = await Promise.all([\r\n getProfitChart(profitParams),\r\n ])\r\n // let ordersCahrtData = []\r\n profitChart.map(i => {\r\n this.profitChart.expectedData.legendData.push(i.name)\r\n let arr = []\r\n let date = []\r\n i.data.map(e => {\r\n arr.push(e.value)\r\n date.push(e.date)\r\n })\r\n this.profitChart.expectedData.data.push(arr)\r\n this.profitChart.expectedData.date = date\r\n })\r\n // profitChart.ordersCahrt.data.map(i => {\r\n // ordersCahrtData.push(i.value)\r\n // this.profitChart.expectedData.date.push(i.date)\r\n // })\r\n // let rechargeOrdersChartData = []\r\n // profitChart.rechargeOrdersChart.data.map(i => { rechargeOrdersChartData.push(i.value) })\r\n // let cardRidingOrdersChartData = []\r\n // profitChart.cardRidingOrdersChart.data.map(i => { cardRidingOrdersChartData.push(i.value) })\r\n // let depositCardOrdersChartData = []\r\n // profitChart.depositCardOrdersChart.data.map(i => { depositCardOrdersChartData.push(i.value) })\r\n // this.profitChart.expectedData.data = {\r\n // ordersCahrtData,\r\n // rechargeOrdersChartData,\r\n // cardRidingOrdersChartData,\r\n // depositCardOrdersChartData,\r\n // }\r\n },\r\n async newUsersChartChange(day) {\r\n this.newUsersChart.expectedData.data = []\r\n this.newUsersChart.expectedData.date = []\r\n this.newUsersChart.expectedData.legendData = []\r\n var profitParams = { days: day }\r\n if (this.area_id !== '') {\r\n profitParams = { days: day, area_id: this.area_id }\r\n }\r\n const [{ data: newUsersCharts }] = await Promise.all([\r\n getNewUsersChart(profitParams),\r\n ])\r\n newUsersCharts.map(i => {\r\n this.newUsersChart.expectedData.legendData.push(i.name)\r\n let arr = []\r\n let date = []\r\n i.data.map(e => {\r\n arr.push(e.value)\r\n date.push(e.date)\r\n })\r\n this.newUsersChart.expectedData.data.push(arr)\r\n this.newUsersChart.expectedData.date = date\r\n })\r\n },\r\n async riddingRankingChange(day) {\r\n this.tableData = []\r\n var profitParams = { days: day }\r\n if (this.area_id !== '') {\r\n profitParams = { days: day, area_id: this.area_id }\r\n }\r\n // 排行榜\r\n if (this.orderType == 'nomal') {\r\n const [{ data: riddingRanking }] = await Promise.all([\r\n getRiddingRanking(profitParams),\r\n ])\r\n this.tableData = riddingRanking\r\n } else if (this.orderType == 'dayRent') {\r\n const [{ data: riddingRanking }] = await Promise.all([\r\n getRiddingRankingByDayRentOrder(profitParams),\r\n ])\r\n this.tableData = riddingRanking\r\n }\r\n\r\n // console.log(riddingRanking)\r\n },\r\n async phoneAnalize(day) {\r\n this.userPhoneData = []\r\n // 排行榜\r\n var profitParams = { days: day }\r\n if (this.area_id !== '') {\r\n profitParams = { days: day, area_id: this.area_id }\r\n }\r\n const [{ data: userPhone }] = await Promise.all([\r\n getUserPhoneChart(profitParams),\r\n ])\r\n this.userPhoneData = userPhone.userPhone\r\n this.platformPieChart.expectedData.data = userPhone.platform\r\n // console.log(riddingRanking)\r\n },\r\n\r\n async bikeProfitRankingChange(day) {\r\n // 排行榜\r\n var profitParams = { days: day }\r\n if (this.area_id !== '') {\r\n profitParams = { days: day, area_id: this.area_id }\r\n }\r\n const [{ data: riddingRanking }] = await Promise.all([\r\n getBikeProfitRanking(profitParams),\r\n ])\r\n this.BikeProfitRanking = riddingRanking\r\n // console.log(riddingRanking)\r\n },\r\n },\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scope>\r\n.title {\r\n display: flex;\r\n justify-content: space-between;\r\n margin-left: 10px;\r\n .wid_l {\r\n width: 200px;\r\n margin: 10px 0 0 10px;\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: 20px 20px;\r\n .top-card {\r\n width: 22%;\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, 0.9);\r\n font-size: 17px;\r\n margin-top: 12px;\r\n }\r\n .top-item-info1 {\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: 0.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.mid-div {\r\n display: flex;\r\n justify-content: space-between;\r\n padding: 20px 20px;\r\n .todo-event {\r\n display: flex;\r\n justify-content: space-between;\r\n padding: 10px 20px;\r\n width: 90%;\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: 0.9rem;\r\n }\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 .profit-statistic {\r\n .title-select {\r\n display: flex;\r\n justify-content: space-between;\r\n }\r\n }\r\n .top-mar {\r\n margin-top: 30px;\r\n }\r\n}\r\n.buttom-div {\r\n display: flex;\r\n justify-content: space-between;\r\n padding: 20px 20px;\r\n .ranking-card {\r\n width: 23%;\r\n .title-select {\r\n display: flex;\r\n justify-content: space-between;\r\n margin-bottom: 20px;\r\n .todo-title {\r\n color: #36a3f7;\r\n font-size: 1.2rem;\r\n // padding-top: 15px;\r\n }\r\n .rightr {\r\n float: right;\r\n }\r\n .top-bu {\r\n margin-top: 10px;\r\n }\r\n }\r\n }\r\n .user-phone {\r\n width: 43%;\r\n .title-select {\r\n display: flex;\r\n justify-content: space-between;\r\n margin-bottom: 20px;\r\n .todo-title {\r\n color: #36a3f7;\r\n font-size: 1.2rem;\r\n // padding-top: 15px;\r\n }\r\n }\r\n .table_and_chart {\r\n display: flex;\r\n justify-content: space-between;\r\n .chart-platform {\r\n width: 35%;\r\n }\r\n .min-title {\r\n text-align: center;\r\n font-size: 1.1rem;\r\n margin-bottom: 10px;\r\n }\r\n .table-phone {\r\n width: 60%;\r\n }\r\n }\r\n }\r\n .bikes-profit-card {\r\n width: 30%;\r\n .title-select {\r\n display: flex;\r\n justify-content: space-between;\r\n margin-bottom: 20px;\r\n .todo-title {\r\n color: #36a3f7;\r\n font-size: 1.2rem;\r\n // padding-top: 15px;\r\n }\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=616b7096&\"\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","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}","import axios from '@/plugins/axios'\r\n\r\nexport function getAreas(params = {}) {\r\n return axios.get('area', {\r\n params,\r\n })\r\n}\r\n\r\nexport function showArea(id) {\r\n return axios.get(`area/${id}`)\r\n}\r\n\r\nexport function storeArea(data) {\r\n return axios.post('area', data)\r\n}\r\n\r\nexport function updateArea(id, data) {\r\n return axios.put(`area/${id}`, data)\r\n}\r\n\r\nexport function editArea(id) {\r\n return axios.get(`area/${id}/edit`)\r\n}\r\n\r\nexport function destroyArea(id) {\r\n return axios.delete(`area/${id}`)\r\n}\r\n","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&\""],"sourceRoot":""}
|