chunk-79c10d6c.eecccb06.js 32 KB
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-79c10d6c"],{"1c31":function(t,e,a){"use strict";a.d(e,"o",(function(){return n})),a.d(e,"n",(function(){return s})),a.d(e,"f",(function(){return i})),a.d(e,"d",(function(){return o})),a.d(e,"e",(function(){return c})),a.d(e,"c",(function(){return l})),a.d(e,"i",(function(){return d})),a.d(e,"m",(function(){return u})),a.d(e,"k",(function(){return h})),a.d(e,"j",(function(){return p})),a.d(e,"l",(function(){return m})),a.d(e,"a",(function(){return f})),a.d(e,"g",(function(){return b})),a.d(e,"b",(function(){return g})),a.d(e,"h",(function(){return v})),a.d(e,"p",(function(){return C}));var r=a("b775");function n(t){return Object(r["a"])({url:"/api/Extend/LqReport/get-store-performance-trend",method:"post",data:t})}function s(t){return Object(r["a"])({url:"/api/Extend/LqReport/get-store-performance-ranking",method:"post",data:t})}function i(t){return Object(r["a"])({url:"/api/Extend/LqReport/get-health-coach-performance-ranking",method:"post",data:t})}function o(t){return Object(r["a"])({url:"/api/Extend/LqReport/get-gold-triangle-performance-ranking",method:"post",data:t})}function c(t){return Object(r["a"])({url:"/api/Extend/LqReport/get-gold-triangle-performance-trend",method:"post",data:t})}function l(t){return Object(r["a"])({url:"/api/Extend/LqReport/get-dashboard-data",method:"post",data:t})}function d(t){return Object(r["a"])({url:"/api/Extend/LqStoreDashboard/GetStatistics",method:"post",data:t})}function u(t){return Object(r["a"])({url:"/api/Extend/LqReport/get-store-monthly-trend",method:"post",data:t})}function h(t){return Object(r["a"])({url:"/api/Extend/LqReport/get-store-item-analysis",method:"post",data:t})}function p(t){return Object(r["a"])({url:"/api/Extend/LqReport/get-store-health-coach-analysis",method:"post",data:t})}function m(t){return Object(r["a"])({url:"/api/Extend/LqReport/get-store-member-analysis",method:"post",data:t})}function f(t){return Object(r["a"])({url:"/api/Extend/LqStoreDashboard/GetCategoryMonthlyPerformance",method:"post",data:t})}function b(t){return Object(r["a"])({url:"/api/Extend/LqStoreDashboard/GetMemberConversionFunnel",method:"post",data:t})}function g(t){return Object(r["a"])({url:"/api/Extend/LqStoreDashboard/GetCustomerPriceProjectRelation",method:"post",data:t})}function v(t){return Object(r["a"])({url:"/api/Extend/LqReport/get-store-comparison-analysis",method:"post",data:t})}function C(t){return Object(r["a"])({url:"/api/Extend/LqStoreDashboard/GetWeeklyHeatmap",method:"post",data:t})}},"2cff":function(t,e,a){"use strict";a("45e7")},"45e7":function(t,e,a){},"504c":function(t,e,a){var r=a("9e1e"),n=a("0d58"),s=a("6821"),i=a("52a7").f;t.exports=function(t){return function(e){var a,o=s(e),c=n(o),l=c.length,d=0,u=[];while(l>d)a=c[d++],r&&!i.call(o,a)||u.push(t?[a,o[a]]:o[a]);return u}}},"71ff":function(t,e,a){"use strict";a.r(e);var r=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"report-dashboard"},[a("div",{staticClass:"dashboard-header"},[t._m(0),a("div",{staticClass:"header-filters"},[a("el-card",{staticClass:"filter-card"},[a("div",{staticClass:"filter-row"},[a("div",{staticClass:"filter-item"},[a("label",[t._v("统计月份:")]),a("el-date-picker",{staticClass:"month-picker",attrs:{type:"month",placeholder:"选择月份",format:"yyyy年MM月","value-format":"yyyyMM"},on:{change:t.onMonthChange},model:{value:t.selectedMonth,callback:function(e){t.selectedMonth=e},expression:"selectedMonth"}})],1),a("div",{staticClass:"filter-item"},[a("label",[t._v("时间范围:")]),a("el-date-picker",{staticClass:"range-picker",attrs:{type:"monthrange","range-separator":"至","start-placeholder":"开始月份","end-placeholder":"结束月份",format:"yyyy年MM月","value-format":"yyyyMM"},on:{change:t.onDateRangeChange},model:{value:t.dateRange,callback:function(e){t.dateRange=e},expression:"dateRange"}})],1),a("div",{staticClass:"filter-item"},[a("el-button",{attrs:{type:"primary",loading:t.loading},on:{click:t.refreshData}},[a("i",{staticClass:"el-icon-refresh"}),t._v(" 刷新数据\n                        ")]),a("el-button",{attrs:{type:"success"},on:{click:t.exportData}},[a("i",{staticClass:"el-icon-download"}),t._v(" 导出报表\n                        ")])],1)])])],1)]),a("div",{staticClass:"dashboard-overview"},[a("el-row",{attrs:{gutter:20}},t._l(t.overviewCards,(function(e,r){return a("el-col",{key:r,attrs:{span:6}},[a("el-card",{staticClass:"overview-card",class:"card-"+(r+1)},[a("div",{staticClass:"card-content"},[a("div",{staticClass:"card-icon"},[a("i",{class:e.icon})]),a("div",{staticClass:"card-info"},[a("div",{staticClass:"card-title"},[t._v(t._s(e.title))]),a("div",{staticClass:"card-value"},[t._v(t._s(t.formatNumber(e.value)))]),a("div",{staticClass:"card-unit"},[t._v(t._s(e.unit))]),a("div",{staticClass:"card-trend",class:e.trend>0?"trend-up":"trend-down"},[a("i",{class:e.trend>0?"el-icon-caret-top":"el-icon-caret-bottom"}),t._v("\n                                "+t._s(Math.abs(e.trend))+"%\n                            ")])])])])],1)})),1)],1),a("div",{staticClass:"member-statistics-overview",staticStyle:{"margin-top":"20px"}},[a("el-row",{attrs:{gutter:20}},[a("el-col",{attrs:{span:6}},[a("el-card",{staticClass:"member-card card-member-total"},[a("div",{staticClass:"card-content"},[a("div",{staticClass:"card-icon"},[a("i",{staticClass:"el-icon-user-solid"})]),a("div",{staticClass:"card-info"},[a("div",{staticClass:"card-title"},[t._v("总会员数")]),a("div",{staticClass:"card-value"},[t._v(t._s(t.formatNumber(t.memberCards.totalMembers)))]),a("div",{staticClass:"card-unit"},[t._v("人")]),a("div",{staticClass:"card-subtitle"},[t._v("本月新增:"+t._s(t.formatNumber(t.memberCards.newMembers))+"人")])])])])],1),a("el-col",{attrs:{span:6}},[a("el-card",{staticClass:"member-card card-member-active"},[a("div",{staticClass:"card-content"},[a("div",{staticClass:"card-icon"},[a("i",{staticClass:"el-icon-success"})]),a("div",{staticClass:"card-info"},[a("div",{staticClass:"card-title"},[t._v("活跃会员数")]),a("div",{staticClass:"card-value"},[t._v(t._s(t.formatNumber(t.memberCards.activeMembers)))]),a("div",{staticClass:"card-unit"},[t._v("人")]),a("div",{staticClass:"card-subtitle"},[t._v("活跃率:"+t._s(t.memberCards.activeRate)+"%")])])])])],1),a("el-col",{attrs:{span:6}},[a("el-card",{staticClass:"member-card card-member-amount"},[a("div",{staticClass:"card-content"},[a("div",{staticClass:"card-icon"},[a("i",{staticClass:"el-icon-wallet"})]),a("div",{staticClass:"card-info"},[a("div",{staticClass:"card-title"},[t._v("剩余权益总金额")]),a("div",{staticClass:"card-value"},[t._v(t._s(t.formatNumber(t.memberCards.totalRemainingAmount/1e4))+"\n                            ")]),a("div",{staticClass:"card-unit"},[t._v("万元")]),a("div",{staticClass:"card-subtitle"},[t._v("人均:"+t._s(t.formatNumber(t.memberCards.avgRemainingAmount))+"元")])])])])],1),a("el-col",{attrs:{span:6}},[a("el-card",{staticClass:"member-card card-member-sleep"},[a("div",{staticClass:"card-content"},[a("div",{staticClass:"card-icon"},[a("i",{staticClass:"el-icon-warning"})]),a("div",{staticClass:"card-info"},[a("div",{staticClass:"card-title"},[t._v("沉睡会员数")]),a("div",{staticClass:"card-value"},[t._v(t._s(t.formatNumber(t.memberCards.totalSleepMembers)))]),a("div",{staticClass:"card-unit"},[t._v("人")]),a("div",{staticClass:"card-subtitle"},[t._v("30-90天:"+t._s(t.formatNumber(t.memberCards.sleep30_90))+" | 90天+:"+t._s(t.formatNumber(t.memberCards.sleepOver90)))])])])])],1)],1),a("el-row",{staticStyle:{"margin-top":"20px"},attrs:{gutter:20}},[a("el-col",{attrs:{span:12}},[a("el-card",{staticClass:"chart-card"},[a("div",{staticClass:"chart-header",attrs:{slot:"header"},slot:"header"},[a("span",{staticClass:"chart-title"},[a("i",{staticClass:"el-icon-pie-chart"}),t._v("\n                            会员类型分布\n                        ")])]),a("div",{ref:"memberTypeChart",staticClass:"chart-container"})])],1),a("el-col",{attrs:{span:12}},[a("el-card",{staticClass:"chart-card"},[a("div",{staticClass:"chart-header",attrs:{slot:"header"},slot:"header"},[a("span",{staticClass:"chart-title"},[a("i",{staticClass:"el-icon-s-grid"}),t._v("\n                            会员分类统计\n                        ")])]),a("div",{staticClass:"member-category-list"},t._l(t.memberCategoryList,(function(e,r){return a("div",{key:r,staticClass:"category-item"},[a("div",{staticClass:"category-icon",class:"category-"+(r+1)},[a("i",{class:e.icon})]),a("div",{staticClass:"category-info"},[a("div",{staticClass:"category-name"},[t._v(t._s(e.name))]),a("div",{staticClass:"category-value"},[t._v(t._s(t.formatNumber(e.value))+"人")])])])})),0)])],1)],1)],1),a("div",{staticClass:"charts-section"},[a("el-row",{attrs:{gutter:20}},[a("el-col",{attrs:{span:12}},[a("el-card",{staticClass:"chart-card"},[a("div",{staticClass:"chart-header",attrs:{slot:"header"},slot:"header"},[a("span",{staticClass:"chart-title"},[a("i",{staticClass:"el-icon-trend-charts"}),t._v("\n                            门店业绩趋势\n                        ")]),a("el-button-group",{staticClass:"chart-controls"},[a("el-button",{attrs:{size:"mini",type:"performance"===t.storeTrendType?"primary":""},on:{click:function(e){return t.switchStoreTrendType("performance")}}},[t._v("业绩")]),a("el-button",{attrs:{size:"mini",type:"orders"===t.storeTrendType?"primary":""},on:{click:function(e){return t.switchStoreTrendType("orders")}}},[t._v("订单")])],1)],1),a("div",{ref:"storeTrendChart",staticClass:"chart-container"})])],1),a("el-col",{attrs:{span:12}},[a("el-card",{staticClass:"chart-card"},[a("div",{staticClass:"chart-header",attrs:{slot:"header"},slot:"header"},[a("span",{staticClass:"chart-title"},[a("i",{staticClass:"el-icon-trophy"}),t._v("\n                            门店业绩排行榜\n                        ")]),a("el-select",{staticClass:"ranking-select",attrs:{size:"mini"},on:{change:t.refreshRankingData},model:{value:t.rankingTopCount,callback:function(e){t.rankingTopCount=e},expression:"rankingTopCount"}},[a("el-option",{attrs:{label:"前5名",value:5}}),a("el-option",{attrs:{label:"前10名",value:10}}),a("el-option",{attrs:{label:"前20名",value:20}})],1)],1),a("div",{ref:"storeRankingChart",staticClass:"chart-container"})])],1)],1),a("el-row",{staticStyle:{"margin-top":"20px"},attrs:{gutter:20}},[a("el-col",{attrs:{span:12}},[a("el-card",{staticClass:"chart-card"},[a("div",{staticClass:"chart-header",attrs:{slot:"header"},slot:"header"},[a("span",{staticClass:"chart-title"},[a("i",{staticClass:"el-icon-user"}),t._v("\n                            健康师业绩排行榜\n                        ")]),a("el-select",{staticClass:"ranking-select",attrs:{size:"mini"},on:{change:t.refreshHealthCoachRanking},model:{value:t.healthCoachTopCount,callback:function(e){t.healthCoachTopCount=e},expression:"healthCoachTopCount"}},[a("el-option",{attrs:{label:"前10名",value:10}}),a("el-option",{attrs:{label:"前20名",value:20}}),a("el-option",{attrs:{label:"前50名",value:50}})],1)],1),a("div",{ref:"healthCoachRankingChart",staticClass:"chart-container"})])],1),a("el-col",{attrs:{span:12}},[a("el-card",{staticClass:"chart-card"},[a("div",{staticClass:"chart-header",attrs:{slot:"header"},slot:"header"},[a("span",{staticClass:"chart-title"},[a("i",{staticClass:"el-icon-star-on"}),t._v("\n                            金三角业绩排行榜\n                        ")]),a("el-select",{staticClass:"ranking-select",attrs:{size:"mini"},on:{change:t.refreshGoldTriangleRanking},model:{value:t.goldTriangleTopCount,callback:function(e){t.goldTriangleTopCount=e},expression:"goldTriangleTopCount"}},[a("el-option",{attrs:{label:"前5名",value:5}}),a("el-option",{attrs:{label:"前10名",value:10}}),a("el-option",{attrs:{label:"前15名",value:15}})],1)],1),a("div",{ref:"goldTriangleRankingChart",staticClass:"chart-container"})])],1)],1),a("el-row",{staticStyle:{"margin-top":"20px"},attrs:{gutter:20}},[a("el-col",{attrs:{span:24}},[a("el-card",{staticClass:"chart-card"},[a("div",{staticClass:"chart-header",attrs:{slot:"header"},slot:"header"},[a("span",{staticClass:"chart-title"},[a("i",{staticClass:"el-icon-data-line"}),t._v("\n                            金三角业绩趋势对比\n                        ")]),a("el-button-group",{staticClass:"chart-controls"},[a("el-button",{attrs:{size:"mini",type:"performance"===t.goldTriangleTrendType?"primary":""},on:{click:function(e){return t.switchGoldTriangleTrendType("performance")}}},[t._v("业绩")]),a("el-button",{attrs:{size:"mini",type:"orders"===t.goldTriangleTrendType?"primary":""},on:{click:function(e){return t.switchGoldTriangleTrendType("orders")}}},[t._v("订单")]),a("el-button",{attrs:{size:"mini",type:"members"===t.goldTriangleTrendType?"primary":""},on:{click:function(e){return t.switchGoldTriangleTrendType("members")}}},[t._v("成员")])],1)],1),a("div",{ref:"goldTriangleTrendChart",staticClass:"chart-container large-chart"})])],1)],1)],1),a("div",{staticClass:"data-tables"},[a("el-row",{attrs:{gutter:20}},[a("el-col",{attrs:{span:24}},[a("el-card",{staticClass:"table-card"},[a("div",{staticClass:"table-header",attrs:{slot:"header"},slot:"header"},[a("span",{staticClass:"table-title"},[a("i",{staticClass:"el-icon-s-grid"}),t._v("\n                            详细数据表格\n                        ")]),a("el-tabs",{staticClass:"table-tabs",on:{"tab-click":t.handleTableTabClick},model:{value:t.activeTableTab,callback:function(e){t.activeTableTab=e},expression:"activeTableTab"}},[a("el-tab-pane",{attrs:{label:"门店业绩",name:"store"}}),a("el-tab-pane",{attrs:{label:"健康师业绩",name:"healthCoach"}}),a("el-tab-pane",{attrs:{label:"金三角业绩",name:"goldTriangle"}})],1)],1),a("div",{staticClass:"table-container"},[a("el-table",{directives:[{name:"loading",rawName:"v-loading",value:t.tableLoading,expression:"tableLoading"}],staticClass:"data-table",attrs:{data:t.tableData,stripe:"",border:"",height:"400"}},t._l(t.tableColumns,(function(t){return a("el-table-column",{key:t.prop,attrs:{prop:t.prop,label:t.label,width:t.width,formatter:t.formatter,sortable:t.sortable}})})),1)],1)])],1)],1)],1)])},n=[function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"header-title"},[a("h1",[t._v("📊 业务报表中心")]),a("p",{staticClass:"subtitle"},[t._v("实时数据监控 · 业绩分析 · 决策支持")])])}],s=(a("8615"),a("6b54"),a("7f7f"),a("4f7f"),a("1c4c"),a("55dd"),a("ac6a"),a("5df3"),a("f576"),a("96cf"),a("1da1")),i=a("164e"),o=a("1c31"),c={name:"ReportDashboard",data:function(){return{loading:!1,tableLoading:!1,selectedMonth:"",dateRange:[],storeTrendType:"performance",goldTriangleTrendType:"performance",rankingTopCount:10,healthCoachTopCount:20,goldTriangleTopCount:10,activeTableTab:"store",tableData:[],tableColumns:[],overviewCards:[{title:"门店总数",value:0,unit:"家",icon:"el-icon-shop",trend:0},{title:"总业绩",value:0,unit:"万元",icon:"el-icon-money",trend:0},{title:"健康师总数",value:0,unit:"人",icon:"el-icon-user",trend:0},{title:"金三角总数",value:0,unit:"个",icon:"el-icon-star-on",trend:0}],memberCards:{totalMembers:0,newMembers:0,activeMembers:0,activeRate:0,totalRemainingAmount:0,avgRemainingAmount:0,totalSleepMembers:0,sleep30_90:0,sleepOver90:0},memberCategoryList:[{name:"生美会员",value:0,icon:"el-icon-star-on"},{name:"医美会员",value:0,icon:"el-icon-medicine-box"},{name:"科技部会员",value:0,icon:"el-icon-cpu"},{name:"教育部会员",value:0,icon:"el-icon-reading"}],memberTypeDistribution:[],charts:{}}},mounted:function(){this.initPage()},methods:{initPage:function(){var t=Object(s["a"])(regeneratorRuntime.mark((function t(){var e,a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e=new Date,this.selectedMonth="".concat(e.getFullYear()).concat(String(e.getMonth()+1).padStart(2,"0")),a=new Date(e.getFullYear(),e.getMonth()-5,1),this.dateRange=["".concat(a.getFullYear()).concat(String(a.getMonth()+1).padStart(2,"0")),this.selectedMonth],t.next=6,this.loadDashboardData();case 6:return t.next=8,this.loadAllCharts();case 8:case"end":return t.stop()}}),t,this)})));function e(){return t.apply(this,arguments)}return e}(),loadDashboardData:function(){var t=Object(s["a"])(regeneratorRuntime.mark((function t(){var e,a,r,n=this;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,this.loading=!0,t.next=4,Object(o["c"])({statisticsMonth:this.selectedMonth});case 4:e=t.sent,e.data&&e.data.Success&&(a=e.data.Data,this.overviewCards[0].value=a.StorePerformance.StoreCount,this.overviewCards[1].value=Math.round(a.StorePerformance.TotalPerformance/1e4*100)/100,this.overviewCards[2].value=a.HealthCoachPerformance.HealthCoachCount,this.overviewCards[3].value=a.GoldTrianglePerformance.GoldTriangleCount,a.MemberStatistics&&(r=a.MemberStatistics,this.memberCards.totalMembers=r.TotalMembers||0,this.memberCards.newMembers=r.NewMembersThisMonth||0,this.memberCards.activeMembers=r.ActiveMembers||0,this.memberCards.activeRate=r.ActiveRate||0,this.memberCards.totalRemainingAmount=r.TotalRemainingAmount||0,this.memberCards.avgRemainingAmount=r.AvgRemainingAmount||0,this.memberCards.totalSleepMembers=r.TotalSleepMembers||0,this.memberCards.sleep30_90=r.SleepMembers30_90||0,this.memberCards.sleepOver90=r.SleepMembersOver90||0,this.memberCategoryList[0].value=r.BeautyMembers||0,this.memberCategoryList[1].value=r.MedicalMembers||0,this.memberCategoryList[2].value=r.TechMembers||0,this.memberCategoryList[3].value=r.EducationMembers||0,this.memberTypeDistribution=r.MemberTypeDistribution||[],this.$nextTick((function(){n.loadMemberTypeChart()})))),t.next=12;break;case 8:t.prev=8,t.t0=t["catch"](0),this.$message.error("加载仪表盘数据失败"),console.error("Dashboard data error:",t.t0);case 12:return t.prev=12,this.loading=!1,t.finish(12);case 15:case"end":return t.stop()}}),t,this,[[0,8,12,15]])})));function e(){return t.apply(this,arguments)}return e}(),loadAllCharts:function(){var t=Object(s["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,Promise.all([this.loadStoreTrendChart(),this.loadStoreRankingChart(),this.loadHealthCoachRankingChart(),this.loadGoldTriangleRankingChart(),this.loadGoldTriangleTrendChart()]);case 2:case"end":return t.stop()}}),t,this)})));function e(){return t.apply(this,arguments)}return e}(),loadMemberTypeChart:function(){var t=this;if(this.$refs.memberTypeChart){this.charts.memberTypeChart&&this.charts.memberTypeChart.dispose();var e=this.$refs.memberTypeChart;this.charts.memberTypeChart=i["init"](e);var a={tooltip:{trigger:"item",formatter:"{a} <br/>{b}: {c} ({d}%)"},legend:{orient:"vertical",left:"left",top:"middle"},series:[{name:"会员类型",type:"pie",radius:["40%","70%"],avoidLabelOverlap:!1,itemStyle:{borderRadius:10,borderColor:"#fff",borderWidth:2},label:{show:!0,formatter:"{b}\n{c}人 ({d}%)"},emphasis:{label:{show:!0,fontSize:16,fontWeight:"bold"}},data:this.memberTypeDistribution.map((function(t){return{value:t.Count,name:t.MemberType}}))}]};this.charts.memberTypeChart.setOption(a),window.addEventListener("resize",(function(){t.charts.memberTypeChart&&t.charts.memberTypeChart.resize()}))}},loadStoreTrendChart:function(){var t=Object(s["a"])(regeneratorRuntime.mark((function t(){var e;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,Object(o["o"])({startMonth:this.dateRange[0],endMonth:this.dateRange[1]});case 3:e=t.sent,e.data&&e.data.Success&&this.renderStoreTrendChart(e.data.Data),t.next=10;break;case 7:t.prev=7,t.t0=t["catch"](0),console.error("Store trend chart error:",t.t0);case 10:case"end":return t.stop()}}),t,this,[[0,7]])})));function e(){return t.apply(this,arguments)}return e}(),renderStoreTrendChart:function(t){var e=this,a=this.$refs.storeTrendChart;if(a){var r=i["init"](a);this.charts.storeTrend=r;var n=[],s=[];t.forEach((function(t){n.push.apply(n,t.Data.map((function(t){return t.Month}))),s.push({name:t.StoreName,type:"line",smooth:!0,data:t.Data.map((function(t){return"performance"===e.storeTrendType?t.TotalPerformance:t.FirstOrderCount+t.UpgradeOrderCount}))})}));var o=Array.from(new Set(n)).sort(),c={title:{text:"performance"===this.storeTrendType?"门店业绩趋势":"门店订单趋势",left:"center",textStyle:{fontSize:16,fontWeight:"bold"}},tooltip:{trigger:"axis",axisPointer:{type:"cross"}},legend:{top:30,type:"scroll"},grid:{left:"3%",right:"4%",bottom:"3%",top:"15%",containLabel:!0},xAxis:{type:"category",data:o,axisLabel:{formatter:function(t){return"".concat(t.slice(0,4),"-").concat(t.slice(4))}}},yAxis:{type:"value",axisLabel:{formatter:"performance"===this.storeTrendType?"{value}元":"{value}单"}},series:s.slice(0,10)};r.setOption(c)}},loadStoreRankingChart:function(){var t=Object(s["a"])(regeneratorRuntime.mark((function t(){var e;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,Object(o["n"])({statisticsMonth:this.selectedMonth,topCount:this.rankingTopCount});case 3:e=t.sent,e.data&&e.data.Success&&this.renderStoreRankingChart(e.data.Data),t.next=10;break;case 7:t.prev=7,t.t0=t["catch"](0),console.error("Store ranking chart error:",t.t0);case 10:case"end":return t.stop()}}),t,this,[[0,7]])})));function e(){return t.apply(this,arguments)}return e}(),renderStoreRankingChart:function(t){var e=this.$refs.storeRankingChart;if(e){var a=i["init"](e);this.charts.storeRanking=a;var r={title:{text:"门店业绩排行榜",left:"center",textStyle:{fontSize:16,fontWeight:"bold"}},tooltip:{trigger:"axis",axisPointer:{type:"shadow"}},grid:{left:"3%",right:"4%",bottom:"3%",top:"15%",containLabel:!0},xAxis:{type:"value",axisLabel:{formatter:"{value}元"}},yAxis:{type:"category",data:t.map((function(t){return t.StoreName})),axisLabel:{formatter:function(t){return t.length>6?t.slice(0,6)+"...":t}}},series:[{type:"bar",data:t.map((function(t){return t.TotalPerformance})),itemStyle:{color:new i["graphic"].LinearGradient(0,0,1,0,[{offset:0,color:"#83bff6"},{offset:.5,color:"#188df0"},{offset:1,color:"#188df0"}])}}]};a.setOption(r)}},loadHealthCoachRankingChart:function(){var t=Object(s["a"])(regeneratorRuntime.mark((function t(){var e;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,Object(o["f"])({statisticsMonth:this.selectedMonth,topCount:this.healthCoachTopCount});case 3:e=t.sent,e.data&&e.data.Success&&this.renderHealthCoachRankingChart(e.data.Data),t.next=10;break;case 7:t.prev=7,t.t0=t["catch"](0),console.error("Health coach ranking chart error:",t.t0);case 10:case"end":return t.stop()}}),t,this,[[0,7]])})));function e(){return t.apply(this,arguments)}return e}(),renderHealthCoachRankingChart:function(t){var e=this.$refs.healthCoachRankingChart;if(e){var a=i["init"](e);this.charts.healthCoachRanking=a;var r={title:{text:"健康师业绩排行榜",left:"center",textStyle:{fontSize:16,fontWeight:"bold"}},tooltip:{trigger:"axis",axisPointer:{type:"shadow"}},grid:{left:"3%",right:"4%",bottom:"3%",top:"15%",containLabel:!0},xAxis:{type:"value",axisLabel:{formatter:"{value}元"}},yAxis:{type:"category",data:t.map((function(t){return t.UserName})),axisLabel:{formatter:function(t){return t.length>4?t.slice(0,4)+"...":t}}},series:[{type:"bar",data:t.map((function(t){return t.TotalPerformance})),itemStyle:{color:new i["graphic"].LinearGradient(0,0,1,0,[{offset:0,color:"#ff9f7f"},{offset:.5,color:"#ff6b6b"},{offset:1,color:"#ff6b6b"}])}}]};a.setOption(r)}},loadGoldTriangleRankingChart:function(){var t=Object(s["a"])(regeneratorRuntime.mark((function t(){var e;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,Object(o["d"])({statisticsMonth:this.selectedMonth,topCount:this.goldTriangleTopCount});case 3:e=t.sent,e.data&&e.data.Success&&this.renderGoldTriangleRankingChart(e.data.Data),t.next=10;break;case 7:t.prev=7,t.t0=t["catch"](0),console.error("Gold triangle ranking chart error:",t.t0);case 10:case"end":return t.stop()}}),t,this,[[0,7]])})));function e(){return t.apply(this,arguments)}return e}(),renderGoldTriangleRankingChart:function(t){var e=this.$refs.goldTriangleRankingChart;if(e){var a=i["init"](e);this.charts.goldTriangleRanking=a;var r={title:{text:"金三角业绩排行榜",left:"center",textStyle:{fontSize:16,fontWeight:"bold"}},tooltip:{trigger:"axis",axisPointer:{type:"shadow"}},grid:{left:"3%",right:"4%",bottom:"3%",top:"15%",containLabel:!0},xAxis:{type:"value",axisLabel:{formatter:"{value}元"}},yAxis:{type:"category",data:t.map((function(t){return t.GoldTriangleName})),axisLabel:{formatter:function(t){return t.length>6?t.slice(0,6)+"...":t}}},series:[{type:"bar",data:t.map((function(t){return t.TotalPerformance})),itemStyle:{color:new i["graphic"].LinearGradient(0,0,1,0,[{offset:0,color:"#ffd93d"},{offset:.5,color:"#ffb347"},{offset:1,color:"#ff8c00"}])}}]};a.setOption(r)}},loadGoldTriangleTrendChart:function(){var t=Object(s["a"])(regeneratorRuntime.mark((function t(){var e;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,Object(o["e"])({startMonth:this.dateRange[0],endMonth:this.dateRange[1]});case 3:e=t.sent,e.data&&e.data.Success&&this.renderGoldTriangleTrendChart(e.data.Data),t.next=10;break;case 7:t.prev=7,t.t0=t["catch"](0),console.error("Gold triangle trend chart error:",t.t0);case 10:case"end":return t.stop()}}),t,this,[[0,7]])})));function e(){return t.apply(this,arguments)}return e}(),renderGoldTriangleTrendChart:function(t){var e=this,a=this.$refs.goldTriangleTrendChart;if(a){var r=i["init"](a);this.charts.goldTriangleTrend=r;var n=[],s=[];t.forEach((function(t){n.push.apply(n,t.Data.map((function(t){return t.Month}))),s.push({name:t.GoldTriangleName,type:"line",smooth:!0,data:t.Data.map((function(t){switch(e.goldTriangleTrendType){case"performance":return t.TotalPerformance;case"orders":return t.OrderCount;case"members":return t.MemberCount;default:return t.TotalPerformance}}))})}));var o=Array.from(new Set(n)).sort(),c={title:{text:this.getGoldTriangleTrendTitle(),left:"center",textStyle:{fontSize:16,fontWeight:"bold"}},tooltip:{trigger:"axis",axisPointer:{type:"cross"}},legend:{top:30,type:"scroll"},grid:{left:"3%",right:"4%",bottom:"3%",top:"15%",containLabel:!0},xAxis:{type:"category",data:o,axisLabel:{formatter:function(t){return"".concat(t.slice(0,4),"-").concat(t.slice(4))}}},yAxis:{type:"value",axisLabel:{formatter:this.getGoldTriangleTrendFormatter()}},series:s.slice(0,8)};r.setOption(c)}},getGoldTriangleTrendTitle:function(){switch(this.goldTriangleTrendType){case"performance":return"金三角业绩趋势";case"orders":return"金三角订单趋势";case"members":return"金三角成员趋势";default:return"金三角业绩趋势"}},getGoldTriangleTrendFormatter:function(){switch(this.goldTriangleTrendType){case"performance":return"{value}元";case"orders":return"{value}单";case"members":return"{value}人";default:return"{value}元"}},switchStoreTrendType:function(t){this.storeTrendType=t;var e=this.charts.storeTrend;e&&e.getOption&&e.getOption().series?this.renderStoreTrendChart(e.getOption().series):this.renderStoreTrendChart([])},switchGoldTriangleTrendType:function(t){this.goldTriangleTrendType=t;var e=this.charts.goldTriangleTrend;e&&e.getOption&&e.getOption().series?this.renderGoldTriangleTrendChart(e.getOption().series):this.renderGoldTriangleTrendChart([])},refreshRankingData:function(){var t=Object(s["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,this.loadStoreRankingChart();case 2:case"end":return t.stop()}}),t,this)})));function e(){return t.apply(this,arguments)}return e}(),refreshHealthCoachRanking:function(){var t=Object(s["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,this.loadHealthCoachRankingChart();case 2:case"end":return t.stop()}}),t,this)})));function e(){return t.apply(this,arguments)}return e}(),refreshGoldTriangleRanking:function(){var t=Object(s["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,this.loadGoldTriangleRankingChart();case 2:case"end":return t.stop()}}),t,this)})));function e(){return t.apply(this,arguments)}return e}(),onMonthChange:function(){var t=Object(s["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,this.loadDashboardData();case 2:return t.next=4,Promise.all([this.loadStoreRankingChart(),this.loadHealthCoachRankingChart(),this.loadGoldTriangleRankingChart()]);case 4:case"end":return t.stop()}}),t,this)})));function e(){return t.apply(this,arguments)}return e}(),onDateRangeChange:function(){var t=Object(s["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,Promise.all([this.loadStoreTrendChart(),this.loadGoldTriangleTrendChart()]);case 2:case"end":return t.stop()}}),t,this)})));function e(){return t.apply(this,arguments)}return e}(),refreshData:function(){var t=Object(s["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,this.loadDashboardData();case 2:return t.next=4,this.loadAllCharts();case 4:this.$message.success("数据刷新成功");case 5:case"end":return t.stop()}}),t,this)})));function e(){return t.apply(this,arguments)}return e}(),exportData:function(){this.$message.info("导出功能开发中...")},handleTableTabClick:function(t){this.activeTableTab=t.name,this.loadTableData()},loadTableData:function(){var t=Object(s["a"])(regeneratorRuntime.mark((function t(){var e;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:this.tableLoading=!0,t.prev=1,t.t0=this.activeTableTab,t.next="store"===t.t0?5:"healthCoach"===t.t0?10:"goldTriangle"===t.t0?15:20;break;case 5:return t.next=7,Object(o["n"])({statisticsMonth:this.selectedMonth,topCount:50});case 7:return e=t.sent,this.tableColumns=[{prop:"Ranking",label:"排名",width:80},{prop:"StoreName",label:"门店名称",width:150},{prop:"TotalPerformance",label:"总业绩",width:120,formatter:this.formatMoney},{prop:"TotalOrderPerformance",label:"订单业绩",width:120,formatter:this.formatMoney},{prop:"FirstOrderCount",label:"首开单数",width:100},{prop:"UpgradeOrderCount",label:"升单数",width:100}],t.abrupt("break",20);case 10:return t.next=12,Object(o["f"])({statisticsMonth:this.selectedMonth,topCount:50});case 12:return e=t.sent,this.tableColumns=[{prop:"Ranking",label:"排名",width:80},{prop:"UserName",label:"姓名",width:100},{prop:"StoreName",label:"门店",width:120},{prop:"TotalPerformance",label:"总业绩",width:120,formatter:this.formatMoney},{prop:"FirstOrderPerformance",label:"新客业绩",width:120,formatter:this.formatMoney},{prop:"UpgradeOrderPerformance",label:"升单业绩",width:120,formatter:this.formatMoney}],t.abrupt("break",20);case 15:return t.next=17,Object(o["d"])({statisticsMonth:this.selectedMonth,topCount:50});case 17:return e=t.sent,this.tableColumns=[{prop:"Ranking",label:"排名",width:80},{prop:"GoldTriangleName",label:"金三角名称",width:150},{prop:"StoreName",label:"门店",width:120},{prop:"TotalPerformance",label:"总业绩",width:120,formatter:this.formatMoney},{prop:"OrderCount",label:"订单数",width:100},{prop:"MemberCount",label:"成员数",width:100}],t.abrupt("break",20);case 20:e&&e.data&&e.data.Success&&(this.tableData=e.data.Data),t.next=27;break;case 23:t.prev=23,t.t1=t["catch"](1),this.$message.error("加载表格数据失败"),console.error("Table data error:",t.t1);case 27:return t.prev=27,this.tableLoading=!1,t.finish(27);case 30:case"end":return t.stop()}}),t,this,[[1,23,27,30]])})));function e(){return t.apply(this,arguments)}return e}(),formatNumber:function(t){return t>=1e4?(t/1e4).toFixed(1)+"万":t.toString()},formatMoney:function(t,e,a){return a?"¥"+this.formatNumber(a):"¥0"}},beforeDestroy:function(){Object.values(this.charts).forEach((function(t){t&&t.dispose()}))}},l=c,d=(a("2cff"),a("2877")),u=Object(d["a"])(l,r,n,!1,null,"342cbab1",null);e["default"]=u.exports},8615:function(t,e,a){var r=a("5ca1"),n=a("504c")(!1);r(r.S,"Object",{values:function(t){return n(t)}})}}]);