chunk-a29747d4.99aedbbd.js 55.8 KB
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-a29747d4"],{"0694":function(t,e,a){"use strict";a.r(e);var s=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"leadership-cockpit"},[a("div",{staticClass:"cockpit-header"},[t._m(0),a("div",{staticClass:"header-right"},[a("el-form",{staticClass:"search-form-compact",attrs:{inline:!0}},[a("el-form-item",{attrs:{label:"时间范围"}},[a("el-date-picker",{staticStyle:{width:"150px"},attrs:{type:"month","value-format":"yyyy-MM",placeholder:"选择年月",size:"mini"},on:{change:t.handleMonthChange},model:{value:t.query.month,callback:function(e){t.$set(t.query,"month",e)},expression:"query.month"}})],1),a("el-form-item",{attrs:{label:"组织类型"}},[a("el-select",{staticStyle:{width:"150px"},attrs:{placeholder:"请选择组织类型",filterable:"",clearable:"",size:"mini"},on:{change:t.handleOrganizationTypeChange},model:{value:t.query.organizationType,callback:function(e){t.$set(t.query,"organizationType",e)},expression:"query.organizationType"}},[a("el-option",{attrs:{label:"事业部",value:"事业部"}}),t._e(),t._e(),t._e()],1)],1),a("el-form-item",{attrs:{label:"部门"}},[a("el-select",{staticStyle:{width:"150px"},attrs:{placeholder:"请选择部门",filterable:"",clearable:"",size:"mini"},on:{change:t.handleDepartmentChange},model:{value:t.query.departmentId,callback:function(e){t.$set(t.query,"departmentId",e)},expression:"query.departmentId"}},t._l(t.departmentOptions,(function(t){return a("el-option",{key:t.Id||t.id,attrs:{label:t.FullName||t.fullName,value:t.Id||t.id}})})),1)],1),a("el-form-item",{attrs:{label:"门店"}},[a("el-select",{staticStyle:{width:"180px"},attrs:{multiple:"","collapse-tags":"",placeholder:"全部门店",filterable:"",clearable:"",size:"mini"},model:{value:t.query.storeIds,callback:function(e){t.$set(t.query,"storeIds",e)},expression:"query.storeIds"}},t._l(t.storeOptions,(function(t){return a("el-option",{key:t.id,attrs:{label:t.fullName||t.dm,value:t.id}})})),1)],1),a("el-form-item",[a("el-button",{attrs:{type:"primary",size:"mini",icon:"el-icon-refresh"},on:{click:function(e){return t.search()}}},[t._v("更新看板")])],1)],1)],1)]),a("el-row",{staticClass:"kpi-row",attrs:{gutter:16}},t._l(t.kpiList,(function(e,s){return a("el-col",{key:s,attrs:{span:4}},[a("div",{staticClass:"kpi-card",class:e.type,on:{click:function(a){return t.openKpiDrill(e)}}},[a("div",{staticClass:"kpi-icon"},[a("i",{class:e.icon})]),a("div",{staticClass:"kpi-info"},[e.tooltip?a("el-tooltip",{staticClass:"item",attrs:{effect:"dark",content:e.tooltip,placement:"right-start"}},[a("div",{staticClass:"kpi-label"},[t._v(t._s(e.label))])]):a("div",{staticClass:"kpi-label"},[t._v(t._s(e.label))]),a("div",{staticClass:"kpi-value"},[e.isMoney?a("span",{staticClass:"unit"},[t._v("¥")]):t._e(),t._v("\n            "+t._s(e.value)+"\n            "),e.isPercent?a("span",{staticClass:"unit"},[t._v("%")]):t._e()]),e.target?a("div",{staticClass:"kpi-trend"},[t._v("\n            目标: "+t._s(e.target)+" "),"up"===e.status?a("i",{staticClass:"el-icon-top"}):t._e()]):t._e()],1)])])})),1),a("el-row",{staticClass:"member-statistics-section",attrs:{gutter:16}},[a("el-col",{attrs:{span:8}},[a("el-card",{staticClass:"dashboard-card member-overview-card",attrs:{shadow:"hover"}},[a("div",{staticClass:"card-title",attrs:{slot:"header"},slot:"header"},[a("span",[a("i",{staticClass:"el-icon-user-solid"}),t._v(" 会员资产全景")])]),a("div",{staticClass:"member-overview-grid"},[a("div",{staticClass:"member-stat-item stat-item-1"},[a("div",{staticClass:"stat-main"},[a("div",{staticClass:"stat-icon"},[a("i",{staticClass:"el-icon-user-solid"})]),a("div",{staticClass:"stat-content"},[a("el-tooltip",{staticClass:"item",attrs:{effect:"dark",content:"消费金额>500",placement:"right-start"}},[a("div",{staticClass:"stat-label"},[t._v("总会员数")])]),a("div",{staticClass:"stat-value"},[t._v(t._s(t.formatNumber(t.memberStatistics.totalMembers)))])],1)]),a("div",{staticClass:"stat-tags"},[a("span",{staticClass:"stat-tag"},[a("span",{staticClass:"stat-tag-inner"},[a("i",{staticClass:"el-icon-arrow-up"}),a("span",{staticClass:"stat-tag-text"},[t._v("\n                    本月新增: "+t._s(t.formatNumber(t.memberStatistics.newMembers))+"人\n                  ")])])]),t.memberStatistics.newMembersLastMonth>0?a("span",{staticClass:"stat-tag"},[a("span",{staticClass:"stat-tag-inner"},[a("i",{staticClass:"el-icon-arrow-down"}),a("span",{staticClass:"stat-tag-text"},[t._v("\n                    上月新增: "+t._s(t.formatNumber(t.memberStatistics.newMembersLastMonth))+"人\n                  ")])])]):t._e()])]),a("div",{staticClass:"member-stat-item stat-item-2"},[a("div",{staticClass:"stat-main"},[a("div",{staticClass:"stat-icon"},[a("i",{staticClass:"el-icon-success"})]),a("div",{staticClass:"stat-content"},[a("el-tooltip",{staticClass:"item",attrs:{effect:"dark",content:"到店频率",placement:"right-start"}},[a("div",{staticClass:"stat-label"},[t._v("活跃会员数")])]),a("div",{staticClass:"stat-value"},[t._v(t._s(t.formatNumber(t.memberStatistics.activeMembers)))])],1)]),a("div",{staticClass:"stat-tags"},[a("span",{staticClass:"stat-tag"},[a("span",{staticClass:"stat-tag-inner"},[a("i",{staticClass:"el-icon-success"}),a("span",{staticClass:"stat-tag-text"},[t._v("\n                    活跃(≤3天): "+t._s(t.formatNumber(t.memberStatistics.active_0_3))+"\n                  ")])])]),a("span",{staticClass:"stat-tag"},[a("span",{staticClass:"stat-tag-inner"},[a("i",{staticClass:"el-icon-date"}),a("span",{staticClass:"stat-tag-text"},[t._v("\n                    常到店(4-59天): "+t._s(t.formatNumber(t.memberStatistics.active_4_59))+"\n                  ")])])]),a("span",{staticClass:"stat-tag"},[a("span",{staticClass:"stat-tag-inner"},[a("i",{staticClass:"el-icon-data-line"}),a("span",{staticClass:"stat-tag-text"},[t._v("\n                    60天活跃率: "+t._s(t.memberStatistics.activeRate)+"%\n                  ")])])]),a("span",{staticClass:"stat-tag"},[a("span",{staticClass:"stat-tag-inner"},[a("i",{staticClass:"el-icon-aim"}),a("span",{staticClass:"stat-tag-text"},[t._v("\n                    30天活跃率: "+t._s(t.memberStatistics.activeRate30)+"%\n                  ")])])])])]),a("div",{staticClass:"member-stat-item stat-item-3"},[a("div",{staticClass:"stat-main"},[a("div",{staticClass:"stat-icon"},[a("i",{staticClass:"el-icon-wallet"})]),a("div",{staticClass:"stat-content"},[a("div",{staticClass:"stat-label"},[t._v("剩余权益总金额")]),a("div",{staticClass:"stat-value"},[a("span",{staticStyle:{"font-size":"13px","font-weight":"500"}},[t._v("¥")]),t._v(t._s(t.formatMoney(t.memberStatistics.totalRemainingAmount))+"\n                ")])])]),a("div",{staticClass:"stat-tags"},[a("span",{staticClass:"stat-tag"},[a("span",{staticClass:"stat-tag-inner"},[a("i",{staticClass:"el-icon-user"}),a("span",{staticClass:"stat-tag-text"},[t._v("\n                    人均: "+t._s(t.formatMoney(t.memberStatistics.avgRemainingAmount))+"元\n                  ")])])]),t.memberStatistics.topRemainingAmount>0?a("span",{staticClass:"stat-tag"},[a("span",{staticClass:"stat-tag-inner",staticStyle:{cursor:"pointer"},on:{click:function(e){return t.openMemberPortrait(t.memberStatistics.topRemainingMemberId)}}},[a("i",{staticClass:"el-icon-user-solid"}),a("span",{staticClass:"stat-tag-text"},[t._v("\n                    最高剩余权益金额: "+t._s(t.memberStatistics.topRemainingMemberName||"无")+" ¥"+t._s(t.formatMoney(t.memberStatistics.topRemainingAmount))+"\n                  ")])])]):t._e(),t.memberStatistics.topBillingAmount>0?a("span",{staticClass:"stat-tag"},[a("span",{staticClass:"stat-tag-inner",staticStyle:{cursor:"pointer"},on:{click:function(e){return t.openMemberPortrait(t.memberStatistics.topBillingMemberId)}}},[a("i",{staticClass:"el-icon-wallet"}),a("span",{staticClass:"stat-tag-text"},[t._v("\n                    本月开单最高: "+t._s(t.memberStatistics.topBillingMemberName||"无")+" ¥"+t._s(t.formatMoney(t.memberStatistics.topBillingAmount))+"\n                  ")])])]):t._e(),t.memberStatistics.topConsumeAmount>0?a("span",{staticClass:"stat-tag"},[a("span",{staticClass:"stat-tag-inner",staticStyle:{cursor:"pointer"},on:{click:function(e){return t.openMemberPortrait(t.memberStatistics.topConsumeMemberId)}}},[a("i",{staticClass:"el-icon-medal"}),a("span",{staticClass:"stat-tag-text"},[t._v("\n                    本月消耗最高: "+t._s(t.memberStatistics.topConsumeMemberName||"无")+" ¥"+t._s(t.formatMoney(t.memberStatistics.topConsumeAmount))+"\n                  ")])])]):t._e()])]),a("div",{staticClass:"member-stat-item stat-item-4"},[a("div",{staticClass:"stat-main"},[a("div",{staticClass:"stat-icon"},[a("i",{staticClass:"el-icon-warning"})]),a("div",{staticClass:"stat-content"},[a("div",{staticClass:"stat-label"},[t._v("沉睡会员数")]),a("div",{staticClass:"stat-value"},[t._v(t._s(t.formatNumber(t.memberStatistics.totalSleepMembers)))])])]),a("div",{staticClass:"stat-tags"},[a("span",{staticClass:"stat-tag"},[a("span",{staticClass:"stat-tag-inner"},[a("i",{staticClass:"el-icon-time"}),a("span",{staticClass:"stat-tag-text"},[t._v("\n                    60-89天: "+t._s(t.formatNumber(t.memberStatistics.sleep_60_89))+"\n                  ")])])]),a("span",{staticClass:"stat-tag"},[a("span",{staticClass:"stat-tag-inner"},[a("i",{staticClass:"el-icon-warning-outline"}),a("span",{staticClass:"stat-tag-text"},[t._v("\n                    90-179天: "+t._s(t.formatNumber(t.memberStatistics.sleep_90_179))+"\n                  ")])])]),a("span",{staticClass:"stat-tag"},[a("span",{staticClass:"stat-tag-inner"},[a("i",{staticClass:"el-icon-warning-outline"}),a("span",{staticClass:"stat-tag-text"},[t._v("\n                    180-359天: "+t._s(t.formatNumber(t.memberStatistics.sleep_180_359))+"\n                  ")])])]),a("span",{staticClass:"stat-tag"},[a("span",{staticClass:"stat-tag-inner"},[a("i",{staticClass:"el-icon-warning-outline"}),a("span",{staticClass:"stat-tag-text"},[t._v("\n                    360天+: "+t._s(t.formatNumber(t.memberStatistics.sleep_360_plus))+"\n                  ")])])])])])])])],1),a("el-col",{attrs:{span:8}},[a("el-card",{staticClass:"dashboard-card member-type-card",attrs:{shadow:"hover"}},[a("div",{staticClass:"card-title",attrs:{slot:"header"},slot:"header"},[a("span",[a("i",{staticClass:"el-icon-pie-chart"}),t._v(" 会员结构洞察")])]),a("div",{ref:"memberTypeChart",staticClass:"member-type-chart"})])],1),a("el-col",{attrs:{span:8}},[a("el-card",{staticClass:"dashboard-card member-category-card",attrs:{shadow:"hover"}},[a("div",{staticClass:"card-title",attrs:{slot:"header"},slot:"header"},[a("span",[a("i",{staticClass:"el-icon-data-analysis"}),t._v(" 会员价值分层")])]),a("div",{staticClass:"member-category-content"},[a("div",{ref:"memberCategoryChart",staticClass:"member-category-chart"}),a("div",{staticClass:"member-category-legend"},[a("div",{staticClass:"legend-item"},[a("div",{staticClass:"legend-color",staticStyle:{background:"#409EFF"}}),a("div",{staticClass:"legend-text"},[a("div",{staticClass:"legend-name"},[t._v("生美会员")]),a("div",{staticClass:"legend-value"},[t._v(t._s(t.formatNumber(t.memberStatistics.beautyMembers))+"人")])])]),a("div",{staticClass:"legend-item"},[a("div",{staticClass:"legend-color",staticStyle:{background:"#F56C6C"}}),a("div",{staticClass:"legend-text"},[a("div",{staticClass:"legend-name"},[t._v("医美会员")]),a("div",{staticClass:"legend-value"},[t._v(t._s(t.formatNumber(t.memberStatistics.medicalMembers))+"人")])])]),a("div",{staticClass:"legend-item"},[a("div",{staticClass:"legend-color",staticStyle:{background:"#67C23A"}}),a("div",{staticClass:"legend-text"},[a("div",{staticClass:"legend-name"},[t._v("科技部会员")]),a("div",{staticClass:"legend-value"},[t._v(t._s(t.formatNumber(t.memberStatistics.techMembers))+"人")])])])])])])],1)],1),a("el-row",{staticClass:"analysis-row",attrs:{gutter:16}},[a("el-col",{attrs:{span:16}},[a("el-card",{staticClass:"dashboard-card",attrs:{shadow:"hover"}},[a("div",{staticClass:"card-title",attrs:{slot:"header"},slot:"header"},[a("span",[a("i",{staticClass:"el-icon-data-line"}),t._v(" 经营效能趋势")]),a("el-radio-group",{staticStyle:{float:"right"},attrs:{size:"mini"},on:{change:t.handleTrendTypeChange},model:{value:t.trendType,callback:function(e){t.trendType=e},expression:"trendType"}},[a("el-radio-button",{attrs:{label:"month"}},[t._v("按月")]),a("el-radio-button",{attrs:{label:"day"}},[t._v("按天")]),a("el-radio-button",{attrs:{label:"week"}},[t._v("按周")])],1)],1),a("div",{staticClass:"chart-box",attrs:{id:"revenueTrendChart"}})])],1),a("el-col",{attrs:{span:8}},[a("el-card",{staticClass:"dashboard-card funnel-card",attrs:{shadow:"hover"}},[a("div",{staticClass:"card-title",attrs:{slot:"header"},slot:"header"},[a("span",[a("i",{staticClass:"el-icon-filter"}),t._v(" 客户获取转化链")])]),a("div",{staticClass:"chart-box",attrs:{id:"tkFunnelChart"}}),a("div",{staticClass:"funnel-stats"},[a("div",{staticClass:"stat-mini"},[t._v("邀约率: "),a("span",[t._v(t._s(t.formatPercent(t.getTkInviteRate()))+"%")])]),a("div",{staticClass:"stat-mini"},[t._v("到店率: "),a("span",[t._v(t._s(t.formatPercent(t.getInviteStoreRate()))+"%")])])])])],1)],1),a("el-row",{staticClass:"ranking-row",attrs:{gutter:16}},[a("el-col",{attrs:{span:6}},[a("el-card",{staticClass:"dashboard-card",attrs:{shadow:"hover"}},[a("div",{staticClass:"card-title",attrs:{slot:"header"},slot:"header"},[a("span",[a("i",{staticClass:"el-icon-office-building"}),t._v(" 门店卓越榜")])]),a("div",{staticClass:"rank-list"},t._l(t.storeRanking,(function(e,s){return a("div",{key:s,staticClass:"rank-item",staticStyle:{cursor:"pointer"},on:{click:function(a){return t.openStoreDataAnalysis(e)}}},[a("span",{staticClass:"rank-no",class:"top"+(s+1)},[t._v(t._s(s+1))]),a("span",{staticClass:"rank-name"},[t._v(t._s(e.StoreName))]),a("span",{staticClass:"rank-val"},[t._v("¥"+t._s(t.formatMoney(e.TotalPerformance)))])])})),0)])],1),a("el-col",{attrs:{span:12}},[a("el-card",{staticClass:"dashboard-card",attrs:{shadow:"hover"}},[a("div",{staticClass:"card-title",attrs:{slot:"header"},slot:"header"},[a("span",[a("i",{staticClass:"el-icon-user"}),t._v(" 团队效能矩阵")]),a("el-button-group",{staticStyle:{float:"right"}},[a("el-button",{attrs:{size:"mini",type:"billing"===t.coachRankType?"primary":""},on:{click:function(e){t.coachRankType="billing"}}},[t._v("开单榜")]),a("el-button",{attrs:{size:"mini",type:"consume"===t.coachRankType?"primary":""},on:{click:function(e){t.coachRankType="consume"}}},[t._v("消耗榜")]),a("el-button",{attrs:{size:"mini",type:"refund"===t.coachRankType?"primary":""},on:{click:function(e){t.coachRankType="refund"}}},[t._v("客情警告")])],1)],1),a("el-table",{staticStyle:{width:"100%"},attrs:{data:t.coachRanking,size:"mini"}},[a("el-table-column",{attrs:{type:"index",label:"排名",width:"50"}}),a("el-table-column",{attrs:{prop:"HealthCoachName",label:"健康师"}}),a("el-table-column",{attrs:{prop:"Amount",label:"业绩",align:"right"},scopedSlots:t._u([{key:"default",fn:function(e){return[t._v("¥"+t._s(t.formatMoney(e.row.Amount)))]}}])}),a("el-table-column",{attrs:{label:"占比",width:"100"},scopedSlots:t._u([{key:"default",fn:function(t){return[a("el-progress",{attrs:{percentage:t.row.Percent,"show-text":!1,"stroke-width":6,color:0===t.$index?"#f56c6c":"#409eff"}})]}}])})],1)],1)],1),a("el-col",{attrs:{span:6}},[a("el-card",{staticClass:"dashboard-card",attrs:{shadow:"hover"}},[a("div",{staticClass:"card-title",attrs:{slot:"header"},slot:"header"},[a("span",[a("i",{staticClass:"el-icon-medal"}),t._v(" 协同作战榜")])]),a("div",{staticClass:"rank-list"},t._l(t.goldTriangleRankingTop10,(function(e,s){return a("div",{key:s,staticClass:"rank-item"},[a("span",{staticClass:"rank-no",class:"top"+(s+1)},[t._v(t._s(s+1))]),a("span",{staticClass:"rank-name"},[t._v(t._s(e.GoldTriangleName))]),a("span",{staticClass:"rank-val"},[t._v("¥"+t._s(t.formatMoney(e.TotalPerformance)))])])})),0)])],1)],1),a("el-row",{staticClass:"insight-row",attrs:{gutter:16}},[a("el-col",{attrs:{span:8}},[a("el-card",{staticClass:"dashboard-card",attrs:{shadow:"hover"}},[a("div",{staticClass:"card-title",attrs:{slot:"header"},slot:"header"},[a("span",[a("i",{staticClass:"el-icon-view"}),t._v(" 客户活跃度分析")])]),a("div",{staticClass:"chart-box",attrs:{id:"visitFreqChart"}})])],1),a("el-col",{attrs:{span:8}},[a("el-card",{staticClass:"dashboard-card",attrs:{shadow:"hover"}},[a("div",{staticClass:"card-title",attrs:{slot:"header"},slot:"header"},[a("span",[a("i",{staticClass:"el-icon-present"}),t._v(" 热门服务品项")])]),a("div",{staticClass:"item-rank"},t._l(t.consumeItemTop10,(function(e,s){return a("div",{key:s,staticClass:"item-rank-row"},[a("span",{staticClass:"item-index"},[t._v(t._s(s+1))]),a("span",{staticClass:"item-name"},[t._v(t._s(e.ItemName))]),a("el-progress",{attrs:{percentage:e.Percent,"stroke-width":12,color:"#67C23A","show-text":!1}}),a("span",{staticClass:"item-count"},[t._v("¥"+t._s(t.formatMoney(e.Amount)))])],1)})),0)])],1),a("el-col",{attrs:{span:8}},[a("el-card",{staticClass:"dashboard-card",attrs:{shadow:"hover"}},[a("div",{staticClass:"card-title",attrs:{slot:"header"},slot:"header"},[a("span",[a("i",{staticClass:"el-icon-pie-chart"}),t._v(" 热销产品品项")])]),a("div",{staticClass:"item-rank"},t._l(t.billingItemTop10,(function(e,s){return a("div",{key:s,staticClass:"item-rank-row"},[a("span",{staticClass:"item-index"},[t._v(t._s(s+1))]),a("span",{staticClass:"item-name"},[t._v(t._s(e.ItemName))]),a("el-progress",{attrs:{percentage:e.Percent,"stroke-width":12,color:"#409EFF","show-text":!1}}),a("span",{staticClass:"item-count"},[t._v("¥"+t._s(t.formatMoney(e.Amount)))])],1)})),0)])],1)],1),a("el-dialog",{attrs:{title:"看板字段配置",visible:t.showFieldConfigDialog,width:"600px","append-to-body":""},on:{"update:visible":function(e){t.showFieldConfigDialog=e}}},[a("el-checkbox-group",{model:{value:t.selectedFields,callback:function(e){t.selectedFields=e},expression:"selectedFields"}},t._l(t.availableFields,(function(e){return a("el-checkbox",{key:e.prop,attrs:{label:e.prop}},[t._v("\n        "+t._s(e.label)+"\n      ")])})),1),a("div",{attrs:{slot:"footer"},slot:"footer"},[a("el-button",{attrs:{size:"mini"},on:{click:t.selectAllFields}},[t._v("全选")]),a("el-button",{attrs:{size:"mini"},on:{click:t.unselectAllFields}},[t._v("反选")]),a("el-button",{attrs:{type:"primary",size:"mini"},on:{click:t.confirmFieldConfig}},[t._v("确 定")])],1)],1),a("kpi-drill-dialog",{attrs:{visible:t.drillDialog.visible,title:t.drillDialog.title,type:t.drillDialog.type,filters:t.drillDialog.filters,extra:t.drillDialog.extra,"store-options":t.storeOptions},on:{"update:visible":function(e){return t.$set(t.drillDialog,"visible",e)}}}),a("member-portrait-dialog",{attrs:{visible:t.memberPortraitDialog.visible,"member-id":t.memberPortraitDialog.memberId},on:{"update:visible":function(e){return t.$set(t.memberPortraitDialog,"visible",e)}}}),a("store-data-analysis-dialog",{attrs:{visible:t.storeDataAnalysisDialog.visible,"store-id":t.storeDataAnalysisDialog.storeId,"statistics-month":t.storeDataAnalysisDialog.statisticsMonth},on:{"update:visible":function(e){return t.$set(t.storeDataAnalysisDialog,"visible",e)}}}),a("el-dialog",{attrs:{visible:t.showTechModal,title:t.techModalTitle,width:t.techModalWidth,"custom-class":"tech-dialog","append-to-body":"","close-on-click-modal":!1},on:{"update:visible":function(e){t.showTechModal=e}}},[a("div",{staticClass:"tech-dialog-controls"},[a("el-input",{staticClass:"control-item",attrs:{size:"mini",placeholder:"弹窗标题"},model:{value:t.techModalTitle,callback:function(e){t.techModalTitle=e},expression:"techModalTitle"}}),a("el-input",{staticClass:"control-item",attrs:{size:"mini",placeholder:"宽度 如 960px / 80%"},model:{value:t.techModalWidth,callback:function(e){t.techModalWidth=e},expression:"techModalWidth"}}),a("el-input",{staticClass:"control-item",attrs:{size:"mini",placeholder:"高度 如 70vh"},model:{value:t.techModalHeight,callback:function(e){t.techModalHeight=e},expression:"techModalHeight"}}),a("el-button",{attrs:{size:"mini",icon:"el-icon-refresh"},on:{click:t.resetTechModal}},[t._v("重置")])],1),a("div",{staticClass:"tech-dialog-body",style:{maxHeight:t.techModalHeight}},[a("div",{staticClass:"tech-grid"},[a("div",{staticClass:"tech-card neon-blue"},[a("div",{staticClass:"tech-card-title"},[t._v("核心权益")]),a("div",{staticClass:"tech-card-value"},[t._v("¥"+t._s(t.formatMoney(t.memberStatistics.totalRemainingAmount)))]),a("div",{staticClass:"tech-card-desc"},[t._v("剩余权益总额")])]),a("div",{staticClass:"tech-card neon-green"},[a("div",{staticClass:"tech-card-title"},[t._v("活跃度")]),a("div",{staticClass:"tech-card-value"},[t._v(t._s(t.memberStatistics.activeRate)+"%")]),a("div",{staticClass:"tech-card-desc"},[t._v("60天活跃率")])]),a("div",{staticClass:"tech-card neon-orange"},[a("div",{staticClass:"tech-card-title"},[t._v("睡眠会员")]),a("div",{staticClass:"tech-card-value"},[t._v(t._s(t.formatNumber(t.memberStatistics.totalSleepMembers)))]),a("div",{staticClass:"tech-card-desc"},[t._v("需唤醒用户")])])]),a("div",{staticClass:"tech-section"},[a("div",{staticClass:"tech-section-title"},[a("span",[t._v("组件内容区域")]),a("span",{staticClass:"subtitle"},[t._v("超出高度自动出现滚动条")])]),a("div",{staticClass:"tech-timeline"},t._l(6,(function(e){return a("div",{key:e,staticClass:"tech-timeline-item"},[a("div",{staticClass:"dot"}),a("div",{staticClass:"content"},[a("div",{staticClass:"title"},[t._v("事件 "+t._s(e))]),a("div",{staticClass:"desc"},[t._v("这里放任意组件或文本,模拟实际穿透内容。")])]),a("div",{staticClass:"time"},[t._v("T-"+t._s(e))])])})),0)])])]),a("VisitFrequencyMemberListDialog",{attrs:{visible:t.visitFrequencyMemberDialogVisible,"visit-count":t.visitFrequencyMemberVisitCount,"start-time":t.getStartTime(),"end-time":t.getEndTime(),"store-ids":t.query.storeIds||[]},on:{"update:visible":function(e){t.visitFrequencyMemberDialogVisible=e}}})],1)},i=[function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"header-left"},[a("h1",{staticClass:"page-title"},[t._v("战略决策指挥中心 "),a("span",{staticClass:"subtitle"},[t._v("实时经营态势感知")])])])}],n=(a("c5f6"),a("6762"),a("2fdb"),a("7f7f"),a("3835")),r=(a("5df3"),a("a481"),a("8615"),a("ac6a"),a("96cf"),a("1da1")),o=(a("386d"),a("55dd"),a("5530")),l=a("2909"),c=a("b775"),m=a("164e"),d=a("5a0c"),u=a.n(d),h=a("1704"),p=a("718a"),g=a("b149"),b=a("8b02"),v={name:"LeadershipCockpit",components:{KpiDrillDialog:h["a"],MemberPortraitDialog:p["a"],StoreDataAnalysisDialog:b["a"],VisitFrequencyMemberListDialog:g["a"]},data:function(){return{query:{month:u()().format("YYYY-MM"),organizationType:void 0,departmentId:void 0,storeIds:[]},storeOptions:[],departmentOptions:[],drillDialog:{visible:!1,type:"billing",title:"数据穿透",filters:{},extra:{}},memberPortraitDialog:{visible:!1,memberId:""},storeDataAnalysisDialog:{visible:!1,storeId:"",statisticsMonth:""},currentDateParams:{startTime:null,endTime:null,month:null},kpiData:{},trendType:"day",coachRankType:"billing",trendData:[],storeRanking:[],coachRankings:{billing:[],consume:[],refund:[]},goldTriangleRankings:[],consumeItemTop10:[],billingItemTop10:[],tkStatisticsData:null,customerVisitFrequencyData:[],memberStatistics:{totalMembers:0,newMembers:0,newMembersLastMonth:0,active_0_3:0,active_4_59:0,activeMembers:0,activeRate:0,activeRate30:0,totalRemainingAmount:0,avgRemainingAmount:0,topRemainingMemberId:"",topRemainingMemberName:"",topRemainingAmount:0,topBillingMemberId:"",topBillingMemberName:"",topBillingAmount:0,topConsumeMemberId:"",topConsumeMemberName:"",topConsumeAmount:0,totalSleepMembers:0,sleep_60_89:0,sleep_90_179:0,sleep_180_359:0,sleep_360_plus:0,beautyMembers:0,medicalMembers:0,techMembers:0,educationMembers:0},memberTypeDistribution:[],loading:!1,showFieldConfigDialog:!1,showTechModal:!1,techModalTitle:"会员画像穿透预览",techModalWidth:"960px",techModalHeight:"70vh",availableFields:[{prop:"StoreName",label:"门店名称"},{prop:"BillingAmount",label:"开单金额"},{prop:"ConsumeAmount",label:"消耗金额"}],selectedFields:["StoreName","BillingAmount","ConsumeAmount"],charts:{},visitFrequencyMemberDialogVisible:!1,visitFrequencyMemberVisitCount:0}},computed:{kpiList:function(){var t=this.kpiData||{},e=this.tkStatisticsData&&this.tkStatisticsData.TkCount?this.tkStatisticsData.TkCount:0;return[{tooltip:"本月现金业绩,不包含退款业绩",key:"billing",label:"营收核心指标",value:this.formatMoney(t.TotalBillingAmount),raw:t.TotalBillingAmount||0,icon:"el-icon-wallet",type:"primary",isMoney:!0},{tooltip:"",key:"consume",label:"服务产出价值",value:this.formatMoney(t.TotalConsumeAmount),raw:t.TotalConsumeAmount||0,icon:"el-icon-medal",type:"success",isMoney:!0},{tooltip:"成交总额-退款业绩",key:"net",label:"净收益达成",value:this.formatMoney(t.CompletedBillingAmount),raw:t.CompletedBillingAmount||0,icon:"el-icon-trophy",type:"warning",isMoney:!0},{tooltip:"完成业绩(净额)/目标值",key:"target",label:"目标完成度",value:t.BillingCompletionRate||0,raw:t.BillingCompletionRate||0,icon:"el-icon-pie-chart",type:"info",isPercent:!0,target:this.formatMoney(t.TargetBillingAmount),targetRaw:t.TargetBillingAmount||0,status:t.BillingCompletionRate>=100?"up":"down"},{tooltip:"",key:"tk",label:"新客增长量",value:e,raw:e,icon:"el-icon-user-solid",type:"danger",isPercent:!1,target:null,status:null},{tooltip:"实际退卡金额",key:"refund",label:"风险管控指标",value:this.formatMoney(t.TotalRefundAmount),raw:t.TotalRefundAmount||0,icon:"el-icon-warning-outline",type:"error",isMoney:!0}]},coachRanking:function(){var t=this.coachRankings[this.coachRankType]||[],e=t.length>0?Math.max.apply(Math,Object(l["a"])(t.map((function(t){return t.Amount||1})))):100;return t.map((function(t){return Object(o["a"])(Object(o["a"])({},t),{},{Percent:Math.min(100,Math.round(t.Amount/e*100))})})).slice(0,10)},goldTriangleRankingTop10:function(){return this.goldTriangleRankings&&0!==this.goldTriangleRankings.length?Object(l["a"])(this.goldTriangleRankings).sort((function(t,e){return(e.F_TotalPerformance||e.TotalPerformance||0)-(t.F_TotalPerformance||t.TotalPerformance||0)})).slice(0,10).map((function(t){return{GoldTriangleName:t.F_GoldTriangleName||t.GoldTriangleName||"未知",TotalPerformance:t.F_TotalPerformance||t.TotalPerformance||0}})):[]}},watch:{coachRankType:function(){},trendType:function(){this.search()},query:{deep:!0,handler:function(){}}},mounted:function(){var t=Object(r["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return this.setDefaultTimeRange(),t.next=3,this.initStoreOptions();case 3:this.search(),window.addEventListener("resize",this.handleResize);case 5:case"end":return t.stop()}}),t,this)})));function e(){return t.apply(this,arguments)}return e}(),beforeDestroy:function(){window.removeEventListener("resize",this.handleResize),Object.values(this.charts).forEach((function(t){return t&&t.dispose()})),this.charts.memberTypeChart&&this.charts.memberTypeChart.dispose(),this.charts.memberCategoryChart&&this.charts.memberCategoryChart.dispose();var t=document.getElementById("visitFreqChart");t&&this._visitChartContainerClickHandler&&t.removeEventListener("click",this._visitChartContainerClickHandler)},methods:{setDefaultTimeRange:function(){this.query.month=u()().format("YYYY-MM")},openTechModal:function(){this.showTechModal=!0},openKpiDrill:function(t){if(t){var e={startTime:this.currentDateParams.startTime,endTime:this.currentDateParams.endTime,storeIds:this.query.storeIds||[],month:this.currentDateParams.month},a="net"===t.key?this.kpiData&&this.kpiData.TotalBillingAmount||0:t.raw||0,s={actualAmount:a,targetAmount:t.targetRaw||0,refundAmount:this.kpiData&&this.kpiData.TotalRefundAmount||0},i={billing:"营收洞察报告",consume:"服务价值分析",net:"净收益达成分析",target:"目标达成诊断",tk:"客户增长分析",refund:"风险预警分析"};this.drillDialog=Object(o["a"])(Object(o["a"])({},this.drillDialog),{},{visible:!0,type:t.key,title:i[t.key]||"".concat(t.label,"数据分析"),filters:e,extra:s})}},resetTechModal:function(){this.techModalTitle="会员画像穿透预览",this.techModalWidth="960px",this.techModalHeight="70vh"},handleMonthChange:function(){var t=this;this.query.departmentId&&this.$nextTick((function(){t.initStoreOptions()})),this.search()},handleTrendTypeChange:function(){},openMemberPortrait:function(t){t?this.memberPortraitDialog={visible:!0,memberId:t}:this.$message.warning("会员ID不能为空")},openStoreDataAnalysis:function(t){t&&t.StoreId?(console.log("Opening store analysis for:",t.StoreId),this.storeDataAnalysisDialog={visible:!0,storeId:t.StoreId,statisticsMonth:this.query.month?this.query.month.replace("-",""):""},console.log("Store dialog state:",this.storeDataAnalysisDialog)):this.$message.warning("门店信息不完整")},formatDateToMonth:function(t){if(!t)return null;var e=u()(t);return e.format("YYYYMM")},formatDateToDateTime:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!t)return null;var a=u()(t);return e?a.endOf("day").format("YYYY-MM-DD HH:mm:ss"):a.startOf("day").format("YYYY-MM-DD HH:mm:ss")},search:function(){var t=Object(r["a"])(regeneratorRuntime.mark((function t(){var e,a,s,i,n,r,l,c,m,d,h,p,g,b;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return this.loading=!0,e=this.query.month||u()().format("YYYY-MM"),a=u()(e+"-01").startOf("day"),s=u()(e+"-01").endOf("month").endOf("day"),i=a.format("YYYYMM"),n={startTime:a.startOf("day").format("YYYY-MM-DD HH:mm:ss"),endTime:s.endOf("day").format("YYYY-MM-DD HH:mm:ss"),storeIds:this.query.storeIds||[]},this.currentDateParams={startTime:n.startTime,endTime:n.endTime,month:i},r={},"month"===this.trendType?(l=a.subtract(11,"month").format("YYYYMM"),c=i,r={startMonth:l,endMonth:c,periodType:"month",storeIds:this.query.storeIds||[]}):"day"===this.trendType?(m=a.format("YYYY-MM-DD"),d=s.format("YYYY-MM-DD"),r={startMonth:m,endMonth:d,periodType:"day",storeIds:this.query.storeIds||[]}):"week"===this.trendType&&(h=a.subtract(27,"day").format("YYYY-MM-DD"),p=s.format("YYYY-MM-DD"),r={startMonth:h,endMonth:p,periodType:"week",storeIds:this.query.storeIds||[]}),g={startMonth:i,endMonth:i,statisticsMonth:i,storeIds:this.query.storeIds||[]},t.prev=10,t.next=13,Promise.all([this.loadKPIs(n),this.loadTrends(r),this.loadTkFunnel(n),this.loadRankings(Object(o["a"])(Object(o["a"])({},g),n)),this.loadInsights(n),this.loadMemberStatistics({statisticsMonth:i})]);case 13:return t.next=15,this.$nextTick();case 15:this.initAllCharts(),t.next=23;break;case 18:t.prev=18,t.t0=t["catch"](10),console.error("LeadershipCockpit Load Error:",t.t0),b=t.t0.response&&t.t0.response.data&&t.t0.response.data.msg||t.t0.message||"未知错误",this.$message.error("数据加载异常,请检查网络或重试: "+b);case 23:return t.prev=23,this.loading=!1,t.finish(23);case 26:case"end":return t.stop()}}),t,this,[[10,18,23,26]])})));function e(){return t.apply(this,arguments)}return e}(),loadKPIs:function(){var t=Object(r["a"])(regeneratorRuntime.mark((function t(e){var a,s;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,e.startTime?u()(e.startTime).startOf("day").toDate():null,e.endTime?u()(e.endTime).endOf("day").toDate():null,t.next=5,Object(c["a"])({url:"/api/Extend/LqReport/get-business-statistics",method:"POST",data:{startTime:e.startTime,endTime:e.endTime,storeIds:e.storeIds||[]}});case 5:a=t.sent,s=a.data||{},this.kpiData={TotalBillingAmount:s.TotalBillingAmount||s.billing_amount||0,TotalConsumeAmount:s.TotalConsumeAmount||s.consume_amount||0,CompletedBillingAmount:(s.TotalBillingAmount||s.billing_amount||0)-(s.TotalRefundAmount||s.refund_amount||0),BillingCompletionRate:s.BillingCompletionRate||0,ConsumeCompletionRate:s.ConsumeCompletionRate||0,TargetBillingAmount:s.TargetBillingAmount||s.target_billing_amount||0,TargetConsumeAmount:s.TargetConsumeAmount||s.target_consume_amount||0,TotalRefundAmount:s.TotalRefundAmount||s.refund_amount||0},t.next=14;break;case 10:t.prev=10,t.t0=t["catch"](0),console.error("加载KPI数据失败:",t.t0),this.kpiData={};case 14:case"end":return t.stop()}}),t,this,[[0,10]])})));function e(e){return t.apply(this,arguments)}return e}(),loadTrends:function(){var t=Object(r["a"])(regeneratorRuntime.mark((function t(e){var a,s,i;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,Object(c["a"])({url:"/api/Extend/LqReport/get-store-performance-trend",method:"POST",data:{startMonth:e.startMonth,endMonth:e.endMonth,periodType:e.periodType||"month",storeIds:e.storeIds||[]}});case 3:a=t.sent,console.log("趋势接口返回数据:",a.data),a.data&&a.data.Success&&a.data.Data&&Array.isArray(a.data.Data)?(s=[],a.data.Data.forEach((function(t){t&&t.Data&&Array.isArray(t.Data)&&t.Data.forEach((function(t){t&&t.Month&&s.push({Date:t.Month,BillingAmount:parseFloat(t.TotalPerformance||0),ConsumeAmount:parseFloat(t.ConsumeAmount||0)})}))})),i={},s.forEach((function(t){i[t.Date]||(i[t.Date]={Date:t.Date,BillingAmount:0,ConsumeAmount:0}),i[t.Date].BillingAmount+=t.BillingAmount,i[t.Date].ConsumeAmount+=t.ConsumeAmount})),this.trendData=Object.values(i).sort((function(t,e){return t.Date.localeCompare(e.Date)})),console.log("处理后的趋势数据:",this.trendData),0===this.trendData.length&&console.warn("趋势数据为空,接口返回:",a.data)):(console.warn("趋势数据格式不正确,接口返回:",a.data),this.trendData=[]),t.next=12;break;case 8:t.prev=8,t.t0=t["catch"](0),console.error("加载趋势数据失败:",t.t0),this.trendData=[];case 12:case"end":return t.stop()}}),t,this,[[0,8]])})));function e(e){return t.apply(this,arguments)}return e}(),loadTkFunnel:function(){var t=Object(r["a"])(regeneratorRuntime.mark((function t(e){var a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,Object(c["a"])({url:"/api/Extend/LqTkjlb/get-tk-statistics",method:"POST",data:{startTime:e.startTime?u()(e.startTime).toDate():null,endTime:e.endTime?u()(e.endTime).toDate():null,storeId:e.storeIds||[]}});case 3:a=t.sent,this.tkStatisticsData=a.data||null,t.next=11;break;case 7:t.prev=7,t.t0=t["catch"](0),console.error("加载拓客漏斗数据失败:",t.t0),this.tkStatisticsData=null;case 11:case"end":return t.stop()}}),t,this,[[0,7]])})));function e(e){return t.apply(this,arguments)}return e}(),loadRankings:function(){var t=Object(r["a"])(regeneratorRuntime.mark((function t(e){var a,s,i,r,o,l,m,d,u,h;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,Promise.all([Object(c["a"])({url:"/api/Extend/LqReport/get-store-performance-ranking",method:"POST",data:{statisticsMonth:e.statisticsMonth,topCount:10}}),Object(c["a"])({url:"/api/Extend/LqReport/get-health-coach-billing-ranking",method:"POST",data:{startTime:e.startTime,endTime:e.endTime,storeIds:e.storeIds}}),Object(c["a"])({url:"/api/Extend/LqReport/get-health-coach-consume-ranking",method:"POST",data:{startTime:e.startTime,endTime:e.endTime,storeIds:e.storeIds}}),Object(c["a"])({url:"/api/Extend/LqReport/get-health-coach-refund-ranking",method:"POST",data:{startTime:e.startTime,endTime:e.endTime,storeIds:e.storeIds}}),Object(c["a"])({url:"/api/Extend/LqReport/get-gold-triangle-performance-ranking",method:"POST",data:{statisticsMonth:e.statisticsMonth,topCount:10}})]);case 3:a=t.sent,s=Object(n["a"])(a,5),i=s[0],r=s[1],o=s[2],l=s[3],m=s[4],i.data&&i.data.Success&&i.data.Data?this.storeRanking=i.data.Data.map((function(t){return{StoreId:t.StoreId,StoreName:t.StoreName,TotalPerformance:t.TotalPerformance||0}})):this.storeRanking=[],d=r.data&&r.data.Success&&r.data.Data?r.data.Data:r.data||[],u=o.data&&o.data.Success&&o.data.Data?o.data.Data:o.data||[],h=l.data&&l.data.Success&&l.data.Data?l.data.Data:l.data||[],this.coachRankings.billing=d.map((function(t){return{HealthCoachName:t.HealthCoachName||t.Name||"未知",Amount:t.BillingPerformance||t.Performance||0}})),this.coachRankings.consume=u.map((function(t){return{HealthCoachName:t.HealthCoachName||t.Name||"未知",Amount:t.ConsumePerformance||t.Performance||0}})),this.coachRankings.refund=h.map((function(t){return{HealthCoachName:t.HealthCoachName||t.Name||"未知",Amount:t.RefundPerformance||t.Performance||0}})),m.data&&m.data.Success&&m.data.Data?this.goldTriangleRankings=m.data.Data.map((function(t){return{F_GoldTriangleName:t.GoldTriangleName,F_TotalPerformance:t.TotalPerformance||0}})):this.goldTriangleRankings=[],t.next=26;break;case 20:t.prev=20,t.t0=t["catch"](0),console.error("加载排行榜数据失败:",t.t0),this.storeRanking=[],this.coachRankings={billing:[],consume:[],refund:[]},this.goldTriangleRankings=[];case 26:case"end":return t.stop()}}),t,this,[[0,20]])})));function e(e){return t.apply(this,arguments)}return e}(),loadMemberStatistics:function(){var t=Object(r["a"])(regeneratorRuntime.mark((function t(e){var a,s,i,n,r,o,l,m,d,u=this;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,Object(c["a"])({url:"/api/Extend/LqReport/get-dashboard-data",method:"POST",data:{StatisticsMonth:e.statisticsMonth}});case 3:a=t.sent,a.data&&a.data.Success&&a.data.Data&&a.data.Data.MemberStatistics&&(s=a.data.Data.MemberStatistics,i=s.ActiveMembers0_3||0,n=s.ActiveMembers4_59||0,r=s.TotalMembers||0,o=s.ActiveMembers||0,l=i+n,m=r>0?Math.round(l/r*1e4)/100:0,d=r>0?Math.round(o/r*1e4)/100:0,this.memberStatistics={totalMembers:r,newMembers:s.NewMembersThisMonth||0,newMembersLastMonth:s.NewMembersLastMonth||0,active_0_3:i,active_4_59:n,activeMembers:l,activeRate:m,activeRate30:d,totalRemainingAmount:s.TotalRemainingAmount||0,avgRemainingAmount:s.AvgRemainingAmount||0,topRemainingMemberId:s.TopRemainingMemberId||"",topRemainingMemberName:s.TopRemainingMemberName||"",topRemainingAmount:s.TopRemainingAmount||0,topBillingMemberId:s.TopBillingMemberId||"",topBillingMemberName:s.TopBillingMemberName||"",topBillingAmount:s.TopBillingAmount||0,topConsumeMemberId:s.TopConsumeMemberId||"",topConsumeMemberName:s.TopConsumeMemberName||"",topConsumeAmount:s.TopConsumeAmount||0,totalSleepMembers:s.TotalSleepMembers||0,sleep_60_89:s.SleepMembers60_89||0,sleep_90_179:s.SleepMembers90_179||0,sleep_180_359:s.SleepMembers180_359||0,sleep_360_plus:s.SleepMembers360Plus||0,beautyMembers:s.BeautyMembers||0,medicalMembers:s.MedicalMembers||0,techMembers:s.TechMembers||0,educationMembers:s.EducationMembers||0},this.memberTypeDistribution=s.MemberTypeDistribution||[],this.$nextTick((function(){u.initMemberTypeChart(),u.initMemberCategoryChart(),u.updateStatTagMarquee()}))),t.next=12;break;case 7:t.prev=7,t.t0=t["catch"](0),console.error("加载会员统计数据失败:",t.t0),this.memberStatistics={},this.memberTypeDistribution=[];case 12:case"end":return t.stop()}}),t,this,[[0,7]])})));function e(e){return t.apply(this,arguments)}return e}(),updateStatTagMarquee:function(){if(this.$el){var t=this.$el.querySelectorAll(".member-stat-item .stat-tag");t.forEach((function(t){var e=t.querySelector(".stat-tag-inner");e&&(e.scrollWidth>t.clientWidth+1?e.classList.add("is-marquee"):e.classList.remove("is-marquee"))}))}},loadInsights:function(){var t=Object(r["a"])(regeneratorRuntime.mark((function t(e){var a,s,i,r,o,m,d;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,Promise.all([Object(c["a"])({url:"/api/Extend/LqReport/get-customer-visit-frequency",method:"POST",data:{startTime:e.startTime?u()(e.startTime).toDate():null,endTime:e.endTime?u()(e.endTime).toDate():null,storeIds:e.storeIds||[]}}),Object(c["a"])({url:"/api/Extend/LqReport/get-item-statistics",method:"POST",data:{startTime:e.startTime?u()(e.startTime).toDate():null,endTime:e.endTime?u()(e.endTime).toDate():null,storeIds:e.storeIds||[]}})]);case 3:a=t.sent,s=Object(n["a"])(a,2),i=s[0],r=s[1],this.customerVisitFrequencyData=(i.data||[]).map((function(t){return{VisitCount:t.VisitCount||0,CustomerCount:t.CustomerCount||0}})),o=r.data||[],m=o.length?Math.max.apply(Math,Object(l["a"])(o.map((function(t){return t.ConsumeAmount||0}))).concat([1])):100,this.consumeItemTop10=o.filter((function(t){return(t.ConsumeAmount||0)>0})).sort((function(t,e){return(e.ConsumeAmount||0)-(t.ConsumeAmount||0)})).slice(0,10).map((function(t){return{ItemName:t.ItemName||"未知品项",Amount:t.ConsumeAmount||0,Percent:Math.round((t.ConsumeAmount||0)/m*100)}})),d=o.length?Math.max.apply(Math,Object(l["a"])(o.map((function(t){return t.BillingAmount||0}))).concat([1])):100,this.billingItemTop10=o.filter((function(t){return(t.BillingAmount||0)>0})).sort((function(t,e){return(e.BillingAmount||0)-(t.BillingAmount||0)})).slice(0,10).map((function(t){return{ItemName:t.ItemName||"未知品项",Amount:t.BillingAmount||0,Percent:Math.round((t.BillingAmount||0)/d*100)}})),t.next=21;break;case 15:t.prev=15,t.t0=t["catch"](0),console.error("加载洞察数据失败:",t.t0),this.customerVisitFrequencyData=[],this.consumeItemTop10=[],this.billingItemTop10=[];case 21:case"end":return t.stop()}}),t,this,[[0,15]])})));function e(e){return t.apply(this,arguments)}return e}(),initAllCharts:function(){this.renderTrendChart(),this.renderFunnelChart(),this.renderVisitChart(),this.initMemberTypeChart(),this.initMemberCategoryChart()},initMemberTypeChart:function(){var t=this;if(this.$refs.memberTypeChart&&this.memberTypeDistribution&&0!==this.memberTypeDistribution.length){this.charts.memberTypeChart&&this.charts.memberTypeChart.dispose();var e=this.$refs.memberTypeChart;if(e){this.charts.memberTypeChart=m["init"](e);var a={tooltip:{trigger:"item",formatter:"{a} <br/>{b}: {c}人 ({d}%)"},legend:{orient:"vertical",left:"3%",top:"middle",itemWidth:14,itemHeight:14,textStyle:{fontSize:12,color:"#606266",fontWeight:"normal"},itemGap:10,formatter:function(t){return t.length>6?t.substring(0,6)+"...":t}},series:[{name:"会员类型",type:"pie",radius:["45%","75%"],center:["60%","50%"],avoidLabelOverlap:!0,itemStyle:{borderRadius:8,borderColor:"#fff",borderWidth:3},label:{show:!0,formatter:"{b}\n{c}人\n({d}%)",fontSize:11,fontWeight:"normal",color:"#303133",lineHeight:14},labelLine:{show:!0,length:10,length2:5,lineStyle:{width:1}},emphasis:{label:{show:!0,fontSize:13,fontWeight:"bold"},itemStyle:{shadowBlur:10,shadowOffsetX:0,shadowColor:"rgba(0, 0, 0, 0.3)"}},data:this.memberTypeDistribution.map((function(t,e){var a=["#F56C6C","#67C23A","#409EFF","#E6A23C"];return{value:t.Count||0,name:t.MemberType||"未知",itemStyle:{color:a[e%a.length]}}}))}]};this.charts.memberTypeChart.setOption(a),window.addEventListener("resize",(function(){t.charts.memberTypeChart&&t.charts.memberTypeChart.resize()}))}}},initMemberCategoryChart:function(){var t=this;if(this.$refs.memberCategoryChart){this.charts.memberCategoryChart&&this.charts.memberCategoryChart.dispose();var e=this.$refs.memberCategoryChart;if(e){this.charts.memberCategoryChart=m["init"](e);var a=Math.max(this.memberStatistics.beautyMembers||0,this.memberStatistics.medicalMembers||0,this.memberStatistics.techMembers||0)||100,s={tooltip:{trigger:"item",formatter:function(e){var a=e.name,s=0;switch(a){case"生美会员":s=t.memberStatistics.beautyMembers||0;break;case"医美会员":s=t.memberStatistics.medicalMembers||0;break;case"科技部会员":s=t.memberStatistics.techMembers||0;break}return"".concat(a,"<br/>").concat(s,"人")}},radar:{indicator:[{name:"生美会员",max:a},{name:"医美会员",max:a},{name:"科技部会员",max:a}],center:["50%","55%"],radius:"90%",nameGap:10,splitNumber:4,axisName:{color:"#303133",fontSize:13,fontWeight:"bold"},splitArea:{areaStyle:{color:["rgba(64, 158, 255, 0.1)","rgba(64, 158, 255, 0.05)"]}},splitLine:{lineStyle:{color:"rgba(64, 158, 255, 0.2)"}},axisLine:{lineStyle:{color:"rgba(64, 158, 255, 0.3)"}}},series:[{name:"会员分类统计",type:"radar",data:[{value:[this.memberStatistics.beautyMembers||0,this.memberStatistics.medicalMembers||0,this.memberStatistics.techMembers||0],name:"会员分布",areaStyle:{color:"rgba(64, 158, 255, 0.2)"},lineStyle:{color:"#409EFF",width:2},itemStyle:{color:"#409EFF"},symbol:"circle",symbolSize:6}]}]};this.charts.memberCategoryChart.setOption(s),window.addEventListener("resize",(function(){t.charts.memberCategoryChart&&t.charts.memberCategoryChart.resize()}))}}},renderTrendChart:function(){var t=this,e=this.getChart("revenueTrendChart");if(console.log("渲染趋势图表,数据:",this.trendData),this.trendData&&0!==this.trendData.length){var a=this.trendData.map((function(e){var a=e.Date;if(!a)return"";if("month"===t.trendType){if(6===a.length)return a.substring(0,4)+"-"+a.substring(4,6)}else if("day"===t.trendType){if(a.length>=10)return a.substring(5,10)}else if("week"===t.trendType&&a.includes("-W"))return a.replace("-W"," 第")+"周";return a})),s=this.trendData.map((function(t){return parseFloat(t.BillingAmount||0)})),i=this.trendData.map((function(t){return parseFloat(t.ConsumeAmount||0)}));console.log("图表数据 - 日期:",a,"成交额:",s,"服务产出:",i),e.setOption({tooltip:{trigger:"axis",backgroundColor:"rgba(255,255,255,0.95)",borderWidth:1,borderColor:"#E4E7ED",textStyle:{color:"#303133"},shadowBlur:10,formatter:function(t){var e='<div style="color: #303133; font-weight: bold;">'+t[0].name+"</div>";return t.forEach((function(t){var a=t.value>=1e4?(t.value/1e4).toFixed(2)+"万":"¥"+t.value.toLocaleString();e+='<div style="margin-top: 4px;">'+t.marker+'<span style="color: #606266;">'+t.seriesName+'</span>: <span style="color: #303133; font-weight: bold;">'+a+"</span></div>"})),e}},legend:{top:0,textStyle:{color:"#303133",fontSize:12},itemGap:20},grid:{left:"3%",right:"4%",bottom:"3%",containLabel:!0},xAxis:{type:"category",boundaryGap:!1,data:a,axisLine:{lineStyle:{color:"#E4E7ED"}},axisLabel:{color:"#303133",fontSize:12}},yAxis:{type:"value",splitLine:{lineStyle:{type:"dashed",color:"#E4E7ED"}},axisLine:{lineStyle:{color:"#E4E7ED"}},axisLabel:{color:"#303133",fontSize:12,formatter:function(t){return t>=1e4?(t/1e4).toFixed(1)+"万":t}}},series:[{name:"成交额",type:"line",smooth:!0,showSymbol:1===a.length||a.length<=7,symbol:"circle",symbolSize:6,areaStyle:{color:new m["graphic"].LinearGradient(0,0,0,1,[{offset:0,color:"rgba(64,158,255,0.3)"},{offset:1,color:"rgba(64,158,255,0)"}])},data:s,color:"#409EFF",lineStyle:{width:2}},{name:"服务产出",type:"line",smooth:!0,showSymbol:1===a.length||a.length<=7,symbol:"circle",symbolSize:6,areaStyle:{color:new m["graphic"].LinearGradient(0,0,0,1,[{offset:0,color:"rgba(103,194,58,0.3)"},{offset:1,color:"rgba(103,194,58,0)"}])},data:i,color:"#67C23A",lineStyle:{width:2}}]})}else e.setOption({title:{text:"暂无数据",left:"center",top:"middle",textStyle:{color:"#909399"}}})},renderFunnelChart:function(){if(this.tkStatisticsData){var t=this.getChart("tkFunnelChart"),e=this.tkStatisticsData;t.setOption({tooltip:{trigger:"item"},series:[{type:"funnel",left:"10%",top:20,bottom:20,width:"80%",label:{show:!0,position:"inside",formatter:"{b}\n{c}人",color:"#fff"},itemStyle:{borderWidth:0,shadowBlur:10,shadowColor:"rgba(0,0,0,0.1)"},data:[{value:e.TkCount,name:"获客"},{value:e.YaoyCount,name:"邀约"},{value:e.DdCount,name:"到店"},{value:e.XfCount,name:"成交"}],color:["#409EFF","#67C23A","#E6A23C","#F56C6C"]}]})}},renderGoldChart:function(){var t=this.getChart("goldTriangleChart");if(this.goldTriangleRankings&&0!==this.goldTriangleRankings.length){var e=Object(l["a"])(this.goldTriangleRankings).sort((function(t,e){return(e.F_TotalPerformance||e.TotalPerformance||0)-(t.F_TotalPerformance||t.TotalPerformance||0)})).slice(0,5);t.setOption({tooltip:{trigger:"axis"},grid:{left:"25%",right:"10%",top:10,bottom:20},xAxis:{type:"value",show:!1},yAxis:{type:"category",data:e.map((function(t){return t.F_GoldTriangleName||t.GoldTriangleName||"未知"})),axisLine:{show:!1},axisTick:{show:!1},axisLabel:{fontSize:11,color:"#909399"}},series:[{type:"bar",data:e.map((function(t){return t.F_TotalPerformance||t.TotalPerformance||0})),barWidth:10,itemStyle:{borderRadius:5,color:"#E6A23C"},showBackground:!0,backgroundStyle:{color:"#F2F6FC",borderRadius:5}}]})}else t.setOption({title:{text:"暂无数据",left:"center",top:"middle",textStyle:{color:"#909399"}}})},renderVisitChart:function(){var t=document.getElementById("visitFreqChart");if(t){this.charts["visitFreqChart"]&&this.charts["visitFreqChart"].dispose();var e=m["init"](t);if(this.charts["visitFreqChart"]=e,this.customerVisitFrequencyData&&0!==this.customerVisitFrequencyData.length){var a=this.customerVisitFrequencyData.sort((function(t,e){return(t.VisitCount||0)-(e.VisitCount||0)})).slice(0,8);console.log("=== renderVisitChart ==="),console.log("Data loaded:",a),console.log("Data length:",a.length),e.setOption({tooltip:{trigger:"axis",formatter:function(t){var e=t[0];return e.name+"<br/>"+e.seriesName+": "+e.value+'人<br/><span style="color: #909399; font-size: 11px;">点击查看详情</span>'}},grid:{left:"15%",right:"10%",top:"10%",bottom:"15%"},xAxis:{type:"category",data:a.map((function(t){return(t.VisitCount||0)+"次"})),axisLine:{show:!0,lineStyle:{color:"#E4E7ED"}},axisTick:{show:!1},axisLabel:{color:"#606266",fontSize:12,triggerEvent:!0}},yAxis:{type:"value",show:!0,axisLine:{show:!1},axisTick:{show:!1},splitLine:{lineStyle:{type:"dashed",color:"#E4E7ED"}},axisLabel:{color:"#909399",fontSize:12}},series:[{type:"bar",name:"客户数",data:a.map((function(t){return t.CustomerCount||0})),color:new m["graphic"].LinearGradient(0,0,0,1,[{offset:0,color:"#409EFF"},{offset:1,color:"#67C23A"}]),barWidth:"50%",itemStyle:{borderRadius:[4,4,0,0],emphasis:{shadowBlur:10,shadowOffsetX:0,shadowColor:"rgba(64, 158, 255, 0.5)"}},label:{show:!0,position:"top",color:"#303133",fontSize:12}}]});var s=a,i=this,n=function(a){var n=t.getBoundingClientRect(),r=a.clientX-n.left,o=a.clientY-n.top;try{var l=[r,o],c=e.convertFromPixel("grid",l);if(c&&c.length>=1){var m=c[0];if(null!==m&&void 0!==m&&!isNaN(m)){var d=Math.round(m);if(d>=0&&d<s.length){var u=s[d],h=u&&u.VisitCount||0;if(h>0)return a.stopPropagation(),void i.$nextTick((function(){i.openVisitFrequencyMemberDialog(h)}))}}}}catch(p){console.debug("Convert pixel failed:",p)}};this._visitChartContainerClickHandler&&t.removeEventListener("click",this._visitChartContainerClickHandler),t.addEventListener("click",n),this._visitChartContainerClickHandler=n,e.off("click"),e.on("click",(function(t){if("series"===t.componentType&&"bar"===t.seriesType||"xAxis"===t.componentType&&void 0!==t.dataIndex){var e=t.dataIndex;if(void 0!==e&&null!==e&&e>=0&&e<s.length){var a=s[e],n=a&&a.VisitCount||0;n>0&&i.$nextTick((function(){i.openVisitFrequencyMemberDialog(n)}))}}})),this.$nextTick((function(){e.resize(),console.log("Chart initialized and ready for clicks, data count:",s.length)}))}else e.setOption({title:{text:"暂无数据",left:"center",top:"middle",textStyle:{color:"#909399"}}})}},openVisitFrequencyMemberDialog:function(t){var e=this;if(console.log("=== openVisitFrequencyMemberDialog called ==="),console.log("visitCount:",t),console.log("Current dialog visible:",this.visitFrequencyMemberDialogVisible),console.log("Current visit count:",this.visitFrequencyMemberVisitCount),!t||t<=0)return console.error("Invalid visitCount:",t),void this.$message.warning("到店次数无效");this.$nextTick((function(){e.visitFrequencyMemberVisitCount=t,e.visitFrequencyMemberDialogVisible=!0,console.log("Dialog visible set to:",e.visitFrequencyMemberDialogVisible),console.log("Visit count set to:",e.visitFrequencyMemberVisitCount)}))},getStartTime:function(){return this.query.month?u()(this.query.month).startOf("month").toDate():u()().startOf("month").toDate()},getEndTime:function(){return this.query.month?u()(this.query.month).endOf("month").toDate():u()().toDate()},renderCategoryChart:function(){},getChart:function(t){var e=document.getElementById(t);return e?(this.charts[t]&&this.charts[t].dispose(),this.charts[t]=m["init"](e),this.charts[t]):{setOption:function(){}}},handleResize:function(){Object.values(this.charts).forEach((function(t){return t&&t.resize()}))},loadAllStores:function(){var t=Object(r["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(c["a"])({url:"/api/Extend/LqMdxx/Selector",method:"GET"});case 3:e=t.sent,this.storeOptions=e.data&&e.data.list?e.data.list:[],t.next=11;break;case 7:t.prev=7,t.t0=t["catch"](0),console.error("加载门店列表失败:",t.t0),this.storeOptions=[];case 11:case"end":return t.stop()}}),t,this,[[0,7]])})));function e(){return t.apply(this,arguments)}return e}(),loadDepartmentOptions:function(){var t=Object(r["a"])(regeneratorRuntime.mark((function t(){var e,a,s=this;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(this.query.organizationType){t.next=3;break}return this.departmentOptions=[],t.abrupt("return");case 3:return t.prev=3,t.next=6,Object(c["a"])({url:"/api/Extend/Organize/GetByName",method:"GET",data:{organizeName:this.query.organizationType}});case 6:e=t.sent,this.departmentOptions=e.data||[],this.query.departmentId&&(a=this.departmentOptions.some((function(t){return(t.Id||t.id)===s.query.departmentId})),a||(this.query.departmentId=void 0,this.query.storeIds=[],this.storeOptions=[])),t.next=15;break;case 11:t.prev=11,t.t0=t["catch"](3),console.error("加载部门列表失败:",t.t0),this.departmentOptions=[];case 15:case"end":return t.stop()}}),t,this,[[3,11]])})));function e(){return t.apply(this,arguments)}return e}(),initStoreOptions:function(){var t=Object(r["a"])(regeneratorRuntime.mark((function t(){var e,a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(this.query.departmentId){t.next=3;break}return this.loadAllStores(),t.abrupt("return");case 3:if(this.query.organizationType&&this.query.month){t.next=6;break}return this.storeOptions=[],t.abrupt("return");case 6:return e=this.query.month.replace("-",""),t.prev=7,t.next=10,Object(c["a"])({url:"/api/Extend/lqmdtarget/GetManagedStores",method:"POST",data:{month:e,organizationType:this.query.organizationType,departmentId:this.query.departmentId}});case 10:a=t.sent,a.data&&Array.isArray(a.data)?(this.storeOptions=a.data.map((function(t){return{id:t.StoreId,dm:t.StoreName,fullName:t.StoreName}})),this.query.storeIds=this.storeOptions.map((function(t){return t.id}))):(this.storeOptions=[],this.query.storeIds=[]),t.next=20;break;case 14:t.prev=14,t.t0=t["catch"](7),console.error("获取门店列表失败:",t.t0),this.$message({type:"error",message:"获取门店列表失败",duration:1500}),this.storeOptions=[],this.query.storeIds=[];case 20:case"end":return t.stop()}}),t,this,[[7,14]])})));function e(){return t.apply(this,arguments)}return e}(),handleOrganizationTypeChange:function(){this.query.departmentId=void 0,this.query.storeIds=[],this.loadDepartmentOptions(),this.loadAllStores()},handleDepartmentChange:function(){this.query.storeIds=[],this.initStoreOptions()},formatMoney:function(t){return Number(t||0).toLocaleString(void 0,{minimumFractionDigits:2,maximumFractionDigits:2})},formatNumber:function(t){var e=Number(t||0);return e.toLocaleString()},formatPercent:function(t){return Number(t||0).toFixed(1)},getTkInviteRate:function(){return this.tkStatisticsData&&this.tkStatisticsData.TkCount?this.tkStatisticsData.YaoyCount/this.tkStatisticsData.TkCount*100:0},getInviteStoreRate:function(){return this.tkStatisticsData&&this.tkStatisticsData.YaoyCount?this.tkStatisticsData.DdCount/this.tkStatisticsData.YaoyCount*100:0},confirmFieldConfig:function(){this.showFieldConfigDialog=!1},selectAllFields:function(){this.selectedFields=this.availableFields.map((function(t){return t.prop}))},unselectAllFields:function(){this.selectedFields=[]}}},f=v,C=(a("5e2b"),a("2877")),y=Object(C["a"])(f,s,i,!1,null,"1044467f",null);e["default"]=y.exports},"504c":function(t,e,a){var s=a("9e1e"),i=a("0d58"),n=a("6821"),r=a("52a7").f;t.exports=function(t){return function(e){var a,o=n(e),l=i(o),c=l.length,m=0,d=[];while(c>m)a=l[m++],s&&!r.call(o,a)||d.push(t?[a,o[a]]:o[a]);return d}}},"5e2b":function(t,e,a){"use strict";a("8148")},8148:function(t,e,a){},8615:function(t,e,a){var s=a("5ca1"),i=a("504c")(!1);s(s.S,"Object",{values:function(t){return i(t)}})},f400:function(t,e,a){"use strict";var s=a("c26b"),i=a("b39a"),n="Map";t.exports=a("e0b8")(n,(function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}}),{get:function(t){var e=s.getEntry(i(this,n),t);return e&&e.v},set:function(t,e){return s.def(i(this,n),0===t?0:t,e)}},s,!0)}}]);