chunk-da5bb326.c6fc3f5e.js
13.5 KB
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-da5bb326"],{"0427":function(t,e,s){"use strict";s.r(e);var a=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"NCC-common-layout"},[s("div",{staticClass:"NCC-common-layout-center"},[s("div",{staticClass:"NCC-common-layout-main NCC-flex-main"},[s("div",{staticClass:"NCC-common-head"},[t._m(0),s("div",{staticClass:"NCC-common-head-right"},[s("el-button",{attrs:{type:"primary",icon:"el-icon-back"},on:{click:t.goBackToList}},[t._v("返回列表")]),s("el-tooltip",{attrs:{effect:"dark",content:"刷新",placement:"top"}},[s("el-link",{attrs:{icon:"icon-ym icon-ym-Refresh NCC-common-head-icon",underline:!1},on:{click:t.initData}})],1),s("screenfull",{attrs:{isContainer:""}})],1)]),s("div",{staticClass:"event-selector-container"},[s("el-card",{staticClass:"selector-card"},[s("div",{staticClass:"selector-content"},[s("div",{staticClass:"selector-item"},[s("label",{staticClass:"selector-label"},[t._v("选择活动:")]),s("el-select",{staticStyle:{width:"300px"},attrs:{placeholder:"请选择拓客活动",clearable:"",filterable:""},on:{change:t.onEventChange},model:{value:t.selectedEventId,callback:function(e){t.selectedEventId=e},expression:"selectedEventId"}},t._l(t.eventOptions,(function(t){return s("el-option",{key:t.id,attrs:{label:t.eventName,value:t.id}})})),1)],1),s("div",{staticClass:"selector-item"},[s("el-button",{attrs:{type:"primary",loading:t.listLoading},on:{click:t.loadTeamData}},[s("i",{staticClass:"el-icon-search"}),t._v(" 查询数据\n ")])],1)])])],1),s("div",{staticClass:"statistics-overview"},[s("el-row",{attrs:{gutter:20}},[s("el-col",{attrs:{span:6}},[s("div",{staticClass:"stat-card"},[s("div",{staticClass:"stat-icon"},[s("i",{staticClass:"el-icon-shop"})]),s("div",{staticClass:"stat-content"},[s("div",{staticClass:"stat-number"},[t._v(t._s(t.teamDataList.length))]),s("div",{staticClass:"stat-label"},[t._v("参与门店")])])])]),s("el-col",{attrs:{span:6}},[s("div",{staticClass:"stat-card"},[s("div",{staticClass:"stat-icon"},[s("i",{staticClass:"el-icon-user-solid"})]),s("div",{staticClass:"stat-content"},[s("div",{staticClass:"stat-number"},[t._v(t._s(t.getTotalTeams()))]),s("div",{staticClass:"stat-label"},[t._v("参与战队")])])])]),s("el-col",{attrs:{span:6}},[s("div",{staticClass:"stat-card"},[s("div",{staticClass:"stat-icon"},[s("i",{staticClass:"el-icon-user"})]),s("div",{staticClass:"stat-content"},[s("div",{staticClass:"stat-number"},[t._v(t._s(t.getTotalMembers()))]),s("div",{staticClass:"stat-label"},[t._v("参与人员")])])])]),s("el-col",{attrs:{span:6}},[s("div",{staticClass:"stat-card"},[s("div",{staticClass:"stat-icon"},[s("i",{staticClass:"el-icon-trophy"})]),s("div",{staticClass:"stat-content"},[s("div",{staticClass:"stat-number"},[t._v(t._s(t.totalExpansionCount))]),s("div",{staticClass:"stat-label"},[t._v("总拓客数")])])])])],1)],1),s("div",{staticClass:"team-report-container"},[s("div",{staticClass:"report-header"},[t._m(1),s("div",{staticClass:"header-right"},[s("el-button",{attrs:{type:"success",icon:"el-icon-camera",loading:t.screenshotLoading},on:{click:t.saveScreenshot}},[t._v("\n 保存截图\n ")]),s("el-button",{staticStyle:{"margin-left":"8px"},attrs:{type:"primary",icon:"el-icon-refresh",loading:t.listLoading},on:{click:t.initData}},[t._v("\n 刷新数据\n ")])],1)]),s("div",{directives:[{name:"loading",rawName:"v-loading",value:t.listLoading,expression:"listLoading"}],staticClass:"waterfall-container"},t._l(t.teamDataList,(function(e,a){return s("div",{key:e.StoreId,staticClass:"store-card"},[s("div",{staticClass:"store-header"},[t._m(2,!0),s("div",{staticClass:"store-info"},[s("div",{staticClass:"store-name"},[t._v(t._s(e.StoreName||"无"))]),s("div",{staticClass:"store-total"},[t._v("总计: "+t._s(t.getStoreTotal(e.TeamList)))])]),s("div",{staticClass:"store-index"},[t._v(t._s(a+1))])]),s("div",{staticClass:"teams-container"},t._l(e.TeamList,(function(e,a){return s("div",{key:e.TeamName,staticClass:"team-card"},[s("div",{staticClass:"team-header"},[s("div",{staticClass:"team-name"},[s("i",{staticClass:"el-icon-user-solid"}),t._v("\n "+t._s(e.TeamName||"无")+"\n ")]),s("div",{staticClass:"team-total"},[t._v(t._s(t.getTeamTotal(e.TeamUserInfo)))])]),s("div",{staticClass:"members-container"},t._l(e.TeamUserInfo,(function(e){return s("div",{key:e.ExpansionUserId,staticClass:"member-card"},[s("div",{staticClass:"member-name"},[s("i",{staticClass:"el-icon-user"}),t._v("\n "+t._s(e.ExpansionUserName||"无")+"\n ")]),s("div",{staticClass:"member-stats"},[s("div",{staticClass:"stat-item"},[s("span",{staticClass:"stat-label"},[t._v("目标")]),s("span",{staticClass:"stat-value target"},[t._v(t._s(e.EventTarget||0))])]),s("div",{staticClass:"stat-item"},[s("span",{staticClass:"stat-label"},[t._v("完成")]),s("span",{staticClass:"stat-value count"},[t._v(t._s(e.ExpansionCount||0))])]),s("div",{staticClass:"stat-item"},[s("span",{staticClass:"stat-label"},[t._v("完成率")]),s("span",{staticClass:"completion-rate",class:t.getCompletionClass(e.ExpansionCount,e.EventTarget)},[t._v("\n "+t._s(t.getCompletionRate(e.ExpansionCount,e.EventTarget))+"\n ")])])])])})),0)])})),0)])})),0)])])]),s("el-dialog",{staticClass:"screenshot-dialog",attrs:{title:"截图预览",visible:t.previewVisible,width:"90%","before-close":t.handlePreviewClose,"close-on-click-modal":!1},on:{"update:visible":function(e){t.previewVisible=e}}},[s("div",{staticClass:"preview-container"},[t.screenshotDataUrl?s("div",{staticClass:"image-wrapper"},[s("img",{staticClass:"preview-image",attrs:{src:t.screenshotDataUrl,alt:"统计截图"}}),s("div",{staticClass:"image-info"},[s("span",{staticClass:"image-size"},[t._v(t._s(t.getImageSize()))])])]):s("div",{staticClass:"no-image"},[s("i",{staticClass:"el-icon-picture-outline"}),s("p",[t._v("暂无截图")])])]),s("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[s("el-button",{on:{click:function(e){t.previewVisible=!1}}},[t._v("关闭")]),s("el-button",{attrs:{type:"success",disabled:!t.screenshotDataUrl},on:{click:t.downloadScreenshot}},[s("i",{staticClass:"el-icon-download"}),t._v(" 下载图片\n ")])],1)])],1)},i=[function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[s("h2",[t._v("团队数据报表")])])},function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"header-left"},[s("h3",[t._v("团队拓客数据统计")]),s("span",{staticClass:"subtitle"},[t._v("Team Performance Report")])])},function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"store-icon"},[s("i",{staticClass:"el-icon-shop"})])}],n=(s("a481"),s("ac6a"),s("96cf"),s("1da1")),o=s("b775"),r={name:"LqTkjlbTeamReport",data:function(){return{listLoading:!0,teamDataList:[],totalExpansionCount:0,selectedEventId:"",eventOptions:[],screenshotLoading:!1,previewVisible:!1,screenshotDataUrl:"",imageWidth:0,imageHeight:0}},created:function(){this.initData()},methods:{initData:function(){var t=Object(n["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,this.loadEventOptions();case 2:if(!this.selectedEventId){t.next=5;break}return t.next=5,this.loadTeamData();case 5:case"end":return t.stop()}}),t,this)})));function e(){return t.apply(this,arguments)}return e}(),loadEventOptions:function(){var t=Object(n["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["a"])({url:"/api/Extend/lqevent",method:"GET"});case 3:e=t.sent,this.eventOptions=e.data.list||[],this.eventOptions.length>0&&(this.selectedEventId=this.eventOptions[0].id),t.next=12;break;case 8:t.prev=8,t.t0=t["catch"](0),console.error("获取活动列表失败:",t.t0),this.$message.error("获取活动列表失败");case 12:case"end":return t.stop()}}),t,this,[[0,8]])})));function e(){return t.apply(this,arguments)}return e}(),loadTeamData:function(){var t=Object(n["a"])(regeneratorRuntime.mark((function t(){var e;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(this.selectedEventId){t.next=3;break}return this.$message.warning("请先选择活动"),t.abrupt("return");case 3:return this.listLoading=!0,t.prev=4,t.next=7,Object(o["a"])({url:"/api/Extend/lqevent/team-data/"+this.selectedEventId,method:"GET"});case 7:e=t.sent,this.teamDataList=e.data||[],this.calculateTotalCount(),t.next=16;break;case 12:t.prev=12,t.t0=t["catch"](4),console.error("获取团队数据失败:",t.t0),this.$message.error("获取数据失败");case 16:return t.prev=16,this.listLoading=!1,t.finish(16);case 19:case"end":return t.stop()}}),t,this,[[4,12,16,19]])})));function e(){return t.apply(this,arguments)}return e}(),onEventChange:function(){this.selectedEventId?this.loadTeamData():(this.teamDataList=[],this.totalExpansionCount=0)},calculateTotalCount:function(){var t=this;this.totalExpansionCount=0,this.teamDataList.forEach((function(e){e.TeamList.forEach((function(e){e.TeamUserInfo.forEach((function(e){t.totalExpansionCount+=e.ExpansionCount||0}))}))}))},getCompletionRate:function(t,e){if(!e||0===e)return"0%";var s=Math.round(t/e*100);return"".concat(s,"%")},getCompletionClass:function(t,e){if(!e||0===e)return"completion-zero";var s=t/e*100;return s>=100?"completion-excellent":s>=80?"completion-good":s>=60?"completion-normal":"completion-poor"},getTeamTotal:function(t){return t.reduce((function(t,e){return t+(e.ExpansionCount||0)}),0)},getStoreTotal:function(t){var e=this;return t.reduce((function(t,s){return t+e.getTeamTotal(s.TeamUserInfo)}),0)},goBackToList:function(){this.$router.push("/lqTkjlb")},getTotalTeams:function(){var t=0;return this.teamDataList.forEach((function(e){t+=e.TeamList.length})),t},getTotalMembers:function(){var t=0;return this.teamDataList.forEach((function(e){e.TeamList.forEach((function(e){t+=e.TeamUserInfo.length}))})),t},saveScreenshot:function(){var t=Object(n["a"])(regeneratorRuntime.mark((function t(){var e,a,i,n,o;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return this.screenshotLoading=!0,t.prev=1,t.next=4,s.e("chunk-2d216257").then(s.t.bind(null,"c0e9",7));case 4:if(e=t.sent,a=document.querySelector(".NCC-common-layout-main"),a){t.next=9;break}return this.$message.error("未找到要截图的内容"),t.abrupt("return");case 9:return t.next=11,new Promise((function(t){return setTimeout(t,1e3)}));case 11:return i={height:a.style.height,overflow:a.style.overflow,maxHeight:a.style.maxHeight},a.style.height="auto",a.style.overflow="visible",a.style.maxHeight="none",t.next=17,new Promise((function(t){return setTimeout(t,200)}));case 17:return n={allowTaint:!0,useCORS:!0,scale:1.2,backgroundColor:"#f5f7fa",logging:!1,imageTimeout:3e4,removeContainer:!0,foreignObjectRendering:!0,scrollX:0,scrollY:0,width:a.scrollWidth,height:a.scrollHeight,onclone:function(t){var e=t.querySelector(".NCC-common-layout-main");e&&(e.style.height="auto",e.style.overflow="visible",e.style.maxHeight="none",e.style.position="static");var s=t.querySelector(".waterfall-container");s&&(s.style.height="auto",s.style.overflow="visible",s.style.maxHeight="none");var a=t.querySelectorAll(".store-card");a.forEach((function(t){t.style.height="auto",t.style.overflow="visible",t.style.maxHeight="none"}));var i=t.querySelectorAll(".stat-card");i.forEach((function(t){t.style.height="auto",t.style.overflow="visible"}));var n=t.querySelectorAll(".team-card");n.forEach((function(t){t.style.height="auto",t.style.overflow="visible"}));var o=t.querySelectorAll(".member-card");o.forEach((function(t){t.style.height="auto",t.style.overflow="visible"}))},ignoreElements:function(t){return t.classList.contains("el-loading-mask")||t.classList.contains("el-message")||t.classList.contains("el-dialog__wrapper")||t.classList.contains("el-tooltip__popper")}},t.next=20,e.default(a,n);case 20:o=t.sent,a.style.height=i.height,a.style.overflow=i.overflow,a.style.maxHeight=i.maxHeight,this.screenshotDataUrl=o.toDataURL("image/png",1),this.previewVisible=!0,this.$message.success("截图生成成功"),t.next=33;break;case 29:t.prev=29,t.t0=t["catch"](1),console.error("截图生成失败:",t.t0),this.$message.error("截图生成失败,请重试");case 33:return t.prev=33,this.screenshotLoading=!1,t.finish(33);case 36:case"end":return t.stop()}}),t,this,[[1,29,33,36]])})));function e(){return t.apply(this,arguments)}return e}(),downloadScreenshot:function(){if(this.screenshotDataUrl)try{var t=document.createElement("a");t.download="团队拓客数据统计_".concat((new Date).toISOString().slice(0,19).replace(/:/g,"-"),".png"),t.href=this.screenshotDataUrl,document.body.appendChild(t),t.click(),document.body.removeChild(t),this.$message.success("图片下载成功")}catch(e){console.error("图片下载失败:",e),this.$message.error("图片下载失败")}else this.$message.error("没有可下载的图片")},handlePreviewClose:function(t){this.screenshotDataUrl="",t()},getImageSize:function(){var t=this;if(!this.screenshotDataUrl)return"";try{var e=new Image;return e.onload=function(){t.imageWidth=e.width,t.imageHeight=e.height},e.src=this.screenshotDataUrl,this.imageWidth&&this.imageHeight?"".concat(this.imageWidth," × ").concat(this.imageHeight," 像素"):"正在加载..."}catch(s){return"尺寸未知"}}}},l=r,c=(s("e313"),s("2877")),u=Object(c["a"])(l,a,i,!1,null,"4f5275c6",null);e["default"]=u.exports},5365:function(t,e,s){},e313:function(t,e,s){"use strict";s("5365")}}]);