chunk-f7daf68a.f2cd7d5c.js
9.26 KB
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-f7daf68a"],{"0427":function(t,a,e){"use strict";e.r(a);var s=function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("div",{staticClass:"NCC-common-layout"},[e("div",{staticClass:"NCC-common-layout-center"},[e("div",{staticClass:"NCC-common-layout-main NCC-flex-main"},[e("div",{staticClass:"NCC-common-head"},[t._m(0),e("div",{staticClass:"NCC-common-head-right"},[e("el-button",{attrs:{type:"primary",icon:"el-icon-back"},on:{click:t.goBackToList}},[t._v("返回列表")]),e("el-tooltip",{attrs:{effect:"dark",content:"刷新",placement:"top"}},[e("el-link",{attrs:{icon:"icon-ym icon-ym-Refresh NCC-common-head-icon",underline:!1},on:{click:t.initData}})],1),e("screenfull",{attrs:{isContainer:""}})],1)]),e("el-tabs",{staticClass:"report-tabs",on:{"tab-click":t.handleTabClick},model:{value:t.activeTab,callback:function(a){t.activeTab=a},expression:"activeTab"}},[e("el-tab-pane",{attrs:{label:"总体统计",name:"overview"}},[e("el-row",{staticClass:"statistics-cards",attrs:{gutter:20}},[e("el-col",{attrs:{span:8}},[e("el-card",{staticClass:"stat-card"},[e("div",{staticClass:"stat-content"},[e("div",{staticClass:"stat-icon"},[e("i",{staticClass:"el-icon-user"})]),e("div",{staticClass:"stat-info"},[e("div",{staticClass:"stat-number"},[t._v(t._s(t.totalTeams))]),e("div",{staticClass:"stat-label"},[t._v("参与战队数")])])])])],1),e("el-col",{attrs:{span:8}},[e("el-card",{staticClass:"stat-card"},[e("div",{staticClass:"stat-content"},[e("div",{staticClass:"stat-icon"},[e("i",{staticClass:"el-icon-s-data"})]),e("div",{staticClass:"stat-info"},[e("div",{staticClass:"stat-number"},[t._v(t._s(t.totalMembers))]),e("div",{staticClass:"stat-label"},[t._v("总拓客人数")])])])])],1),e("el-col",{attrs:{span:8}},[e("el-card",{staticClass:"stat-card"},[e("div",{staticClass:"stat-content"},[e("div",{staticClass:"stat-icon"},[e("i",{staticClass:"el-icon-trophy"})]),e("div",{staticClass:"stat-info"},[e("div",{staticClass:"stat-number"},[t._v(t._s(t.topTeam))]),e("div",{staticClass:"stat-label"},[t._v("冠军战队")])])])])],1)],1),e("el-row",{staticClass:"chart-section",attrs:{gutter:20}},[e("el-col",{attrs:{span:12}},[e("el-card",{staticClass:"chart-card"},[e("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[e("span",[t._v("战队拓客人数分布")])]),e("div",{ref:"pieChart",staticClass:"chart-container"})])],1),e("el-col",{attrs:{span:12}},[e("el-card",{staticClass:"chart-card"},[e("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[e("span",[t._v("拓客排行榜")])]),e("div",{staticClass:"ranking-table-container"},[e("NCC-table",{directives:[{name:"loading",rawName:"v-loading",value:t.listLoading,expression:"listLoading"}],attrs:{data:t.rankingList,stripe:"",size:"mini"}},[e("el-table-column",{attrs:{prop:"ranking",label:"排名",width:"60",align:"center"},scopedSlots:t._u([{key:"default",fn:function(a){return[e("div",{staticClass:"ranking-badge-small",class:t.getRankingClass(a.row.ranking)},[t._v("\n "+t._s(a.row.ranking)+"\n ")])]}}])}),e("el-table-column",{attrs:{prop:"sszd",label:"战队",align:"left","min-width":"100"},scopedSlots:t._u([{key:"default",fn:function(a){return[e("span",{staticClass:"team-name-small"},[t._v(t._s(a.row.sszd||"未分配"))])]}}])}),e("el-table-column",{attrs:{prop:"tkrs",label:"人数",align:"center",width:"60"},scopedSlots:t._u([{key:"default",fn:function(a){return[e("span",{staticClass:"member-count-small"},[t._v(t._s(a.row.tkrs))])]}}])}),e("el-table-column",{attrs:{label:"占比",align:"center",width:"80"},scopedSlots:t._u([{key:"default",fn:function(a){return[e("el-progress",{attrs:{percentage:t.getPercentage(a.row.tkrs),color:t.getProgressColor(a.row.ranking),"stroke-width":6,"show-text":!1}})]}}])})],1)],1)])],1)],1)],1),e("el-tab-pane",{attrs:{label:"战队详情",name:"teamDetail"}},[e("div",{staticClass:"team-detail-section"},[e("el-row",{staticClass:"team-overview",attrs:{gutter:20}},[e("el-col",{attrs:{span:24}},[e("el-card",{staticClass:"overview-card"},[e("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[e("span",[t._v("战队拓客总览")]),e("div",{staticClass:"header-right"},[e("span",{staticClass:"total-count"},[t._v("总拓客数: "+t._s(t.totalTeamCount))]),e("el-button",{staticStyle:{"margin-left":"15px",padding:"3px 0"},attrs:{type:"text"},on:{click:t.refreshTeamDetail}},[e("i",{staticClass:"el-icon-refresh"}),t._v(" 刷新\n ")])],1)]),e("el-row",{attrs:{gutter:20}},t._l(t.teamDetailList,(function(a){return e("el-col",{key:a.sszd,attrs:{span:6}},[e("div",{staticClass:"team-summary-card"},[e("div",{staticClass:"team-header"},[e("h4",[t._v(t._s(a.sszd||"未分配"))]),e("span",{staticClass:"team-total"},[t._v("总计: "+t._s(a.totalCount))])]),e("div",{staticClass:"team-members"},t._l(a.members,(function(a){return e("div",{key:a.tkry,staticClass:"member-item"},[e("span",{staticClass:"member-name"},[t._v(t._s(a.tkry))]),e("span",{staticClass:"member-count"},[t._v(t._s(a.tkrs))])])})),0)])])})),1)],1)],1)],1)],1)])],1)],1)])])},i=[function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("div",[e("h2",[t._v("拓客报表")])])}],n=(e("ac6a"),e("7f7f"),e("96cf"),e("1da1")),r=e("b775"),l=e("164e"),c={name:"LqTkjlbReport",data:function(){return{listLoading:!0,rankingList:[],totalTeams:0,totalMembers:0,topTeam:"",pieChart:null,activeTab:"overview",teamDetailList:[],teamDetailLoading:!0,flattenedTeamDetail:[],totalTeamCount:0}},computed:{},created:function(){this.initData()},mounted:function(){var t=this;this.$nextTick((function(){t.initCharts()}))},beforeDestroy:function(){this.pieChart&&this.pieChart.dispose()},methods:{initData:function(){var t=Object(n["a"])(regeneratorRuntime.mark((function t(){var a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return this.listLoading=!0,t.prev=1,t.next=4,Object(r["a"])({url:"/api/Extend/LqTkjlb/Actions/GetRanking",method:"GET"});case 4:a=t.sent,this.rankingList=a.data||[],this.calculateStatistics(),this.updateCharts(),t.next=14;break;case 10:t.prev=10,t.t0=t["catch"](1),console.error("获取拓客排行榜失败:",t.t0),this.$message.error("获取数据失败");case 14:return t.prev=14,this.listLoading=!1,t.finish(14);case 17:case"end":return t.stop()}}),t,this,[[1,10,14,17]])})));function a(){return t.apply(this,arguments)}return a}(),calculateStatistics:function(){this.totalTeams=this.rankingList.length,this.totalMembers=this.rankingList.reduce((function(t,a){return t+a.tkrs}),0),this.topTeam=this.rankingList.length>0?this.rankingList[0].sszd||"未分配":"无数据"},getRankingClass:function(t){return 1===t?"rank-gold":2===t?"rank-silver":3===t?"rank-bronze":"rank-normal"},getProgressColor:function(t){return 1===t?"#FFD700":2===t?"#C0C0C0":3===t?"#CD7F32":"#409EFF"},getPercentage:function(t){return 0===this.totalMembers?0:Math.round(t/this.totalMembers*100)},initCharts:function(){var t=this;this.pieChart=l["init"](this.$refs.pieChart),window.addEventListener("resize",(function(){t.pieChart&&t.pieChart.resize()}))},updateCharts:function(){this.updatePieChart()},updatePieChart:function(){if(this.pieChart&&0!==this.rankingList.length){var t=this.rankingList.map((function(t){return{name:t.sszd||"未分配",value:t.tkrs}})),a={tooltip:{trigger:"item",formatter:"{a} <br/>{b}: {c} ({d}%)"},legend:{orient:"vertical",left:"left",data:t.map((function(t){return t.name}))},series:[{name:"拓客人数",type:"pie",radius:"50%",data:t,emphasis:{itemStyle:{shadowBlur:10,shadowOffsetX:0,shadowColor:"rgba(0, 0, 0, 0.5)"}}}]};this.pieChart.setOption(a)}},goBackToList:function(){this.$router.push("/lqTkjlb")},exportRanking:function(){this.$message.success("导出功能开发中...")},handleTabClick:function(t){"teamDetail"===t.paneName&&this.loadTeamDetail()},loadTeamDetail:function(){var t=Object(n["a"])(regeneratorRuntime.mark((function t(){var a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return this.teamDetailLoading=!0,t.prev=1,t.next=4,Object(r["a"])({url:"/api/Extend/LqTkjlb/Actions/GetTeamDetail",method:"GET"});case 4:a=t.sent,this.teamDetailList=a.data||[],this.calculateTotalTeamCount(),this.flattenTeamDetail(),t.next=14;break;case 10:t.prev=10,t.t0=t["catch"](1),console.error("获取战队人员详细报表失败:",t.t0),this.$message.error("获取数据失败");case 14:return t.prev=14,this.teamDetailLoading=!1,t.finish(14);case 17:case"end":return t.stop()}}),t,this,[[1,10,14,17]])})));function a(){return t.apply(this,arguments)}return a}(),calculateTotalTeamCount:function(){this.totalTeamCount=this.teamDetailList.reduce((function(t,a){return t+(a.totalCount||0)}),0)},flattenTeamDetail:function(){var t=this;this.flattenedTeamDetail=[],this.teamDetailList.forEach((function(a){a.members.forEach((function(e){t.flattenedTeamDetail.push({sszd:a.sszd,tkry:e.tkry,tkrs:e.tkrs,teamRanking:e.teamRanking,percentage:e.percentage})}))}))},refreshTeamDetail:function(){this.loadTeamDetail()},getTeamRankingClass:function(t){return 1===t?"rank-gold":2===t?"rank-silver":3===t?"rank-bronze":"rank-normal"},getTeamProgressColor:function(t){return 1===t?"#FFD700":2===t?"#C0C0C0":3===t?"#CD7F32":"#409EFF"}}},o=c,u=(e("b77c"),e("2877")),d=Object(u["a"])(o,s,i,!1,null,"24e749fa",null);a["default"]=d.exports},"7cb2":function(t,a,e){},b77c:function(t,a,e){"use strict";e("7cb2")}}]);