historyRecord.html 68 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=Egde,chrome=1"/>
  6. <title>历史战绩</title>
  7. <link rel="stylesheet" href="http://assets.dwstatic.com/project/lolbox/2.13.0/css/zj.css"/>
  8. <link rel="stylesheet" href="css/zj-new.css"/>
  9. <!--[if IE 7]>
  10. <style>
  11. .record-nav li,.kda{behavior: url(js/PIE.htc);}
  12. </style>
  13. <![endif]-->
  14. <!--[if gt IE 6]><!-->
  15. <!--<script type="text/javascript">
  16. !function(t){t.loadScript(["http://szhuodong.duowan.com/feq/lolbox/yy-f2e-header-lolbox.min"])}(function(){function t(t){var e=n(t);document.write(e)}function n(t){for(var n,r="",c=0;n=t[c];c++)r+=e(n);return r}function e(t){var n=[unescape("%3Cscript%20type%3D%22text/javascript%22%20src%3D%22"),"",unescape("%22%3E%3C/script%3E")],e=new Date;return e.setSeconds(0),e.setMilliseconds(0),e=e.getTime(),t+="?t_="+e,n[1]=t,n.join("")}return{loadScript:function(n){n&&n.length&&n instanceof Array&&t(n)}}}())
  17. </script>-->
  18. <!--<![endif]-->
  19. </head>
  20. <body scroll='no' style="overflow:hidden">
  21. <div class="box">
  22. <div class="personal-nav-wrap">
  23. <div class="mod-tabs-hd coll-2 clearfix">
  24. <ul class="mod-tabs-trigger clearfix" id="modeTabs">
  25. <li class="selected stat-sign" stat-sign="common" stat-desc="常规模式" data-name="historyRecord">
  26. <a href="javascript:;">战斗记录</a>
  27. </li>
  28. <li class="stat-sign" stat-sign="zonghe" stat-desc="综合统计" data-name="generalRecord">
  29. <a href="javascript:;">个人总览</a>
  30. </li>
  31. <!--<li class="stat-sign" stat-sign="2015" stat-desc="stat-desc" data-name="goodAt">
  32. <a href="javascript:;">擅长领域</a>
  33. </li>
  34. <li class="stat-sign" data-name="achievement">
  35. <a href="javascript:;">个人称号</a>
  36. </li>-->
  37. </ul>
  38. <div class="common-page__control clearfix">
  39. <a href="javascript:;" class="common-page__goBack"></a>
  40. <a href="javascript:;" class="common-page__reflash"></a>
  41. </div>
  42. </div>
  43. </div>
  44. <div class="box-bd">
  45. <div id="boxContent">
  46. <div class="l-box">
  47. <!-- 筛选下拉列表 -->
  48. <div class="recent-nav">
  49. <a href="javascript:;" class="recent-nav__input"><span class="key">全部</span><em></em></a>
  50. <ul class="recent-nav__list clearfix">
  51. <li><a href="javascript:;">全部</a></li>
  52. <li><a href="javascript:;">匹配赛</a></li>
  53. <li><a href="javascript:;">排位赛</a></li>
  54. <li><a href="javascript:;">大乱斗</a></li>
  55. <!-- <li><a href="javascript:;">我的收藏</a></li> -->
  56. </ul>
  57. </div>
  58. <!-- 战绩列表 -->
  59. <div class="recent-record__list"></div>
  60. </div>
  61. </div>
  62. <div class="r-box">
  63. <div id="matchDetail">
  64. <img src="img/loading.gif" width="400" height="400" id="loading" style="display:none;">
  65. <div id="recordDetail"></div>
  66. </div>
  67. <!--广告-->
  68. <!-- <div class="ad-wrap">
  69. <script src="http://gt.yy.com/api/g?loc=newlola2"></script>
  70. </div> -->
  71. </div>
  72. </div>
  73. </div>
  74. <div id="__dvCompute" style="font-size:12px;position:absolute;visibility:hidden"></div>
  75. <div id="phone-user-pop">
  76. <div class="phone-user-con">
  77. </div>
  78. </div>
  79. <script src="js/jquery-1.11.1.min.js"></script>
  80. <script src="js/jquery-migrate-1.2.1.min.js"></script>
  81. <!--<script type="text/javascript" src="http://www.duowan.com/public/assets/sys/js/dww3.min.js"></script>-->
  82. <script src="js/battle.js"></script>
  83. <script type="text/javascript" src="js/jquery.cookie.js"></script>
  84. <script type="text/javascript" src="js/underscore.js"></script>
  85. <script type="text/javascript" src="js/matchList.js"></script>
  86. <script type="text/javascript">
  87. function base64_encode(str) {
  88. var c1, c2, c3;
  89. var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
  90. var i = 0,
  91. len = str.length,
  92. string = '';
  93. while (i < len) {
  94. c1 = str.charCodeAt(i++) & 0xff;
  95. if (i == len) {
  96. string += base64EncodeChars.charAt(c1 >> 2);
  97. string += base64EncodeChars.charAt((c1 & 0x3) << 4);
  98. string += "==";
  99. break;
  100. }
  101. c2 = str.charCodeAt(i++);
  102. if (i == len) {
  103. string += base64EncodeChars.charAt(c1 >> 2);
  104. string += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4));
  105. string += base64EncodeChars.charAt((c2 & 0xF) << 2);
  106. string += "=";
  107. break;
  108. }
  109. c3 = str.charCodeAt(i++);
  110. string += base64EncodeChars.charAt(c1 >> 2);
  111. string += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4));
  112. string += base64EncodeChars.charAt(((c2 & 0xF) << 2) | ((c3 & 0xC0) >> 6));
  113. string += base64EncodeChars.charAt(c3 & 0x3F)
  114. }
  115. return string
  116. }
  117. </script>
  118. <script type="text/javascript">
  119. var jiathis_config = {};
  120. var IMAGE_URL = "http://img.lolbox.duowan.com";
  121. var playerMostUsedHero = null,jiathis_config;
  122. </script>
  123. <!--<script type="text/javascript" src="js/heroesList.js"></script>-->
  124. <!--<script type="text/javascript" src="js/zbItems.js"></script>-->
  125. <!-- 错误提示 -->
  126. <script id="tipTemplate" type="text/template">
  127. <div class="tip-no-data">
  128. <img src="img/clothes-commit-fail.png">
  129. <p>由于未知原因,此场比赛消失在遥远的二次元空间中。</p>
  130. </div>
  131. </script>
  132. <!-- 战绩列表 -->
  133. <script id="boxContentTemplate" type="text/template">
  134. <%
  135. if(data.length > 0) {
  136. %>
  137. <ul class="recent-list">
  138. <%
  139. var matchHistory = data;
  140. for(var i=0;i<matchHistory.length;i++) {
  141. var item = matchHistory[i];
  142. var champion = item.champion;
  143. var imgSrc = IMAGE_URL + '/champions/' + champion.name + "_40x40.jpg";
  144. // 时间计算
  145. var localTime = moment.utc(item.created).toDate();
  146. localTime = moment(localTime).format('YYYY-MM-DD HH:mm:ss');
  147. var timeArr = localTime.split(' ');
  148. var monDayArr = timeArr[0].split('-');
  149. var hourMinArr = timeArr[1].split(':');
  150. var time = monDayArr[1] + '-' + monDayArr[2] + ' ' + hourMinArr[0] + ':' + hourMinArr[1];
  151. var winHtml = "";
  152. if(item.battle_result) {
  153. winHtml = '<em class="green">' + (item.lastday == 1 ? '算你狠' : '胜利') + '</em>';
  154. } else {
  155. winHtml = '<em class="red">' + (item.lastday == 0 ? '失败' : '失败') + '</em>';
  156. }
  157. var name = champion.display_name.concat(champion.title);
  158. %>
  159. <li data-id="<%=item.game_id%>" data-name="<%=name%>" data-enname="<%=champion.name%>">
  160. <%if (item.flag_mvp_carry == 1) {%>
  161. <i class='item--mvp'></i>
  162. <%} else if (item.flag_mvp_carry == 2) {%>
  163. <i class='item--stronger'></i>
  164. <%} %>
  165. <span class="avatar">
  166. <img src="<%=imgSrc%>" alt="<%=champion.name%>" title="<%=champion.title%>"/>
  167. </span>
  168. <p>
  169. <%=winHtml%>
  170. </p>
  171. <p class="info">
  172. <span class="game" style="max-width:36px;height:25px;overflow:hidden;" title="<%=item.game_type.name_cn%>"><%=item.game_type.name_cn%></span><span style="padding-left:2px;"><%=time%></span>
  173. </p>
  174. <%
  175. if (data.isSelf) {
  176. if (!item.collected) {
  177. %>
  178. <i data-time="<%=item.time%>" class="add-fav fav-btn" data-id="<%=item.game_id%>" title="点击收藏比赛"></i>
  179. <% } else { %>
  180. <i data-time='<%=item.time%>' title="点击删除此收藏" class="fav fav-btn" data-id="<%=item.game_id%>"></i>
  181. <%}}%>
  182. </li>
  183. <%}%>
  184. </ul>
  185. <%
  186. var p = parseInt(data.p);
  187. var totalPage = data.totalPage;
  188. var prevClass = p == 1 ? "disable" : "";
  189. var nextClass = p == totalPage ? "disable" : "";
  190. var prevPage = p - 1;
  191. var nextPage = p + 1;
  192. %>
  193. <div class="zj-page">
  194. <a class="zj-prev zj-s <%=prevClass%>" title="上一页" data-page="<%=prevPage%>"></a> <input type="text" class="zj-cur"
  195. value="<%=p%>"> <span class="page-num"> / <%=totalPage%></span>
  196. <a class="go-page" style="cursor:pointer;">GO</a> <a class="zj-next zj-s <%=nextClass%>" title="下一页" data-page="<%=nextPage%>"></a>
  197. </div>
  198. <% } else {%>
  199. <%
  200. $('.box-bd').html('<p class="no-records">盒子没有保存过此玩家的对战记录。</p>');
  201. %>
  202. <%}%>
  203. </script>
  204. <!-- 详细战绩 -->
  205. <script id="recordDetailTemplate" type="text/template">
  206. <%
  207. data = data.player_game_list[0];
  208. var groupNameWinOrLose;
  209. var bannedHeroes = data.banned_champions;
  210. var userInfoClass = bannedHeroes.length > 0 ? '' : 'hide';
  211. var gameTypeObj = data.game_type_obj;
  212. var localTime = moment.utc(data.end_timestamp).toDate();
  213. localTime = moment(localTime).format('YYYY-MM-DD HH:mm:ss'),
  214. timeStrArr = localTime.split(' ')[1].split(':'),endTime = timeStrArr[0] + ':' + timeStrArr[1];
  215. var teamWin = data.team_win;
  216. var teamLose = data.team_lose;
  217. var killStat = parseInt(teamWin.total_killed) + '/' + parseInt(teamLose.total_killed);
  218. var goldStat = parseInt(teamWin.total_gold_in_k) + '/' + parseInt(teamLose.total_gold_in_k)+'K';
  219. // 游戏时长
  220. var game_time__min = parseInt(data.game_length % 86400 % 3600 / 60);
  221. var game_time__sec = parseInt(data.game_length % 86400 % 3600 % 60 % 60);
  222. %>
  223. <div class="r-top">
  224. <p><span>人头:<%=killStat%></span><span>金钱:<%=goldStat%></span><span>结束:<%=endTime%></span><span>时长:<%=game_time__min%>:<%=game_time__sec%></span></p>
  225. <a class="user-info <%=userInfoClass%>" href="javascript:void(0);"><i class="user-icon"></i>禁用英雄</a>
  226. <ul class="user-img <%=userInfoClass%>">
  227. <%_.each(bannedHeroes, function(item) {%>
  228. <li>
  229. <img
  230. src="http://img.lolbox.duowan.com/champions/<%=item.name%>_26x26.jpg"
  231. alt="<%=item.title%>"
  232. title="<%=item.title%>"
  233. />
  234. </li>
  235. <%});%>
  236. </ul>
  237. </div>
  238. <!--<div class="record-nav">
  239. <ul class="clearfix">
  240. <li class="fl" data-tab="personalAchievement"><a>个人战绩<i class="arrow-down"></i></a></li>
  241. <li class="fl" data-tab="detailBattle"><a>详细战绩<i class="arrow-down"></i></a></li>
  242. </ul>
  243. </div>-->
  244. <div id="detailBattle" class="r-table tab-content">
  245. <table id="zj-table-top" cellSpacing=0 cellPadding=0 border="0">
  246. <tr>
  247. <th class="col1">
  248. <div class="match-result">
  249. <span><em class="zj-win"></em>胜利方</span>
  250. <!-- <span><em class="zj-fail"></em>失败方</span> -->
  251. </div>
  252. </th>
  253. <% if (data.queueType != 'ODIN_UNRANKED') { %>
  254. <th class="col2">金钱</th>
  255. <th class="col3">杀/死/助</th>
  256. <% } else { %>
  257. <th class="col3">夺/拔/助</th>
  258. <% } %>
  259. <th class="col4">
  260. <span class="sel-tab-link">
  261. <a href="javascript:;" class="chuzhuang-link link-on" data-type="chuzhuang" title="点击看出装">出装</a>
  262. <a href="javascript:;" class="early-data-link" data-type="early-data" title="点击看前10分钟数据" style="color:#666;">查看前10分钟数据</a>
  263. </span>
  264. </th>
  265. </tr>
  266. </table>
  267. <div class="zj-table">
  268. <% var idx = 1, zjClass = '';
  269. if (data.is_very_surprise_winner) {
  270. zjClass = "zj-table--big-changeover";
  271. } else {
  272. if (data.is_surprise_winner) {
  273. zjClass="zj-table--changeover";
  274. }
  275. }
  276. %>
  277. <div id="zj-table--A" class="<%=zjClass%>">
  278. <div class="team-flag"></div>
  279. <table>
  280. <%
  281. var winPlayers = data.team_win.player_champions;
  282. if (winPlayers.length > 0) {
  283. groupNameWinOrLose = "winner-group";
  284. _.each(winPlayers, function(player) {
  285. var leaverFlag, urlAvatar, summonerName,summonerTitle, pnTitle,urlDetail,totalLen,extraClass,sn,pn, GOLD_EARNED,KILL_DEATHS_ASSISTS;
  286. if (player.is_deserter) {
  287. leaverFlag = "<span class='red'>(逃)</span>";
  288. } else {
  289. leaverFlag = "";
  290. }
  291. var hoverPN;//英雄头像hover时传的playerName
  292. var champion = player.champion;
  293. var playerInfo = player.player;
  294. var serverName = playerInfo.game_zone.server_name;
  295. var pInfo = {
  296. userId: player.player.user_id,
  297. gameZone: player.player.game_zone.pinyin
  298. };
  299. if (player.is_bot) {
  300. urlAvatar = IMAGE_URL + '/champions/' + champion.name + '_28x28.jpg';
  301. summonerTitle = playerInfo.pn;
  302. summonerName = playerInfo.pn + leaverFlag;
  303. pnTitle = playerInfo.pn;
  304. urlDetail = null;
  305. hoverPN = '';
  306. } else {
  307. hoverPN = playerInfo.pn;
  308. summonerTitle = playerInfo.pn;
  309. summonerName = playerInfo.pn + leaverFlag;
  310. urlAvatar = IMAGE_URL + '/champions/' + champion.name + '_28x28.jpg';
  311. sn = encodeURIComponent(serverName);
  312. pn = encodeURIComponent(playerInfo.pn);
  313. urlDetail = "generalRecord.html?serverName="+sn +"&playerName="+pn + "&userId=" + pInfo.userId + "&gameZone=" + pInfo.gameZone;
  314. if( pInfo.userId ){
  315. urlDetail = "generalRecord.html?serverName="+sn +"&playerName="+pn + "&userId=" + pInfo.userId + "&gameZone=" + pInfo.gameZone;
  316. }else{
  317. urlDetail = "javascript:;";
  318. }
  319. }
  320. var strBoxTitle = '';
  321. if (player['honors'] && player['honors'].length > 0) {
  322. for(var i=0,len=player['honors'].length;i<len;i++) {
  323. var item = player['honors'][i], killClass = '';
  324. switch(item.name) {
  325. case 'brilliant_largest_killing_spree': killClass = 'brilliant_largestKillingSpree';break;
  326. case 'kill4': killClass = '4kill';break;
  327. case 'kill5': killClass = '5kill';break;
  328. case 'kill6': killClass = '6kill';break;
  329. default: killClass = item.name;
  330. }
  331. strBoxTitle += "<em class='zj-"+ killClass +" zj-s' title='" + item.desc + "' data-honour-key='" + item.name + "'></em>";
  332. }
  333. }
  334. KILL_DEATHS_ASSISTS = player.total_killed + '/' + player.total_death + '/' + player.total_assist;
  335. var strZB = '';
  336. var zhuang_bei_array = player['items'];
  337. if (zhuang_bei_array && zhuang_bei_array.length > 0) {
  338. for(var i=0,len=zhuang_bei_array.length;i<len;i++) {
  339. var item = zhuang_bei_array[i];
  340. strZB += '<li><img src="' + IMAGE_URL + '/zb/' + item.id + '_24x24.jpg" ' + 'title="' + item.name + ' ' + item.description + '" ' + 'alt="' + item.name + ' ' + item.description+ '" /></li>';
  341. }
  342. }
  343. var statDataIn10Min = player.kda_10;
  344. // MVP或者是大腿
  345. var isMVPOrHope = '';
  346. var flagMvpCarry = player.flag_mvp_carry;
  347. if (flagMvpCarry == 1) {
  348. isMVPOrHope = "team-name--stronger";
  349. } else if (flagMvpCarry == 2) {
  350. isMVPOrHope = "team-name--mvp";
  351. }
  352. var p = player.player;
  353. var pGameZone = p.game_zone.pinyin;
  354. var pUserId = p.user_id;
  355. %>
  356. <tr>
  357. <td class="col1">
  358. <div class="team-name <%=isMVPOrHope%>">
  359. <span class="flag"></span> <span data-indent="<%=idx%>" class="avatar" game-zone="<%=pGameZone%>" user-id="<%=pUserId%>">
  360. <img src="<%=urlAvatar%>" data-playerName="<%=hoverPN%>" data-serverName="<%=serverName%>" data-heroName="<%=champion.name%>" data-uid="<%=playerInfo.user_id%>"/>
  361. </span>
  362. <% if (urlDetail) { %>
  363. <a href="<%=urlDetail%>" title="<%=summonerTitle%>"><%=summonerName%></a>
  364. <% } else { %>
  365. <span class="bot" title="<%=summonerTitle%>">
  366. <%=summonerName%>
  367. </span>
  368. <% } %>
  369. <i class="icon-mvp-carry"></i>
  370. <div class="em-content"><%=strBoxTitle%></div>
  371. </div>
  372. </td>
  373. <% if (data.queueType != 'ODIN_UNRANKED') { %>
  374. <td class="col2"><%=player['total_gold_in_k']%>k</td>
  375. <% } %>
  376. <td class="col3"><%=KILL_DEATHS_ASSISTS%></td>
  377. <td class="col4">
  378. <div class="u-weapon">
  379. <ul class="chuzhuang">
  380. <%=strZB%>
  381. </ul>
  382. <ul class="early-data">
  383. <li><span class="minions-killed">
  384. 补兵:
  385. <%if (statDataIn10Min && statDataIn10Min['m'] >= 80) {%>
  386. <em style="font-weight: bold; color: #f19000">
  387. <%} else if (statDataIn10Min && statDataIn10Min['m'] >= 70) {%>
  388. <em style="font-weight: bold">
  389. <%}%>
  390. <%= (statDataIn10Min && statDataIn10Min['m'].toString()) || '-' %>
  391. <%if (statDataIn10Min && statDataIn10Min['m'] >= 70) {%>
  392. </em>
  393. <%}%>
  394. </span>
  395. 杀死助:<%=(statDataIn10Min && statDataIn10Min['k'].toString()) || '-'%>/<%=(statDataIn10Min && statDataIn10Min['d'].toString()) || '-'%>/<%=(statDataIn10Min && statDataIn10Min['a'].toString()) || '-'%>
  396. </li>
  397. </ul>
  398. </div>
  399. </td>
  400. </tr>
  401. <%
  402. idx++;});
  403. for (var i = winPlayers.length; i < 5; i ++) {
  404. %>
  405. <tr><td class='col1'></td><td class='col2'></td><td class='col3'></td><td class='col4'></td></tr>
  406. <% }
  407. }
  408. %>
  409. </table>
  410. </div>
  411. <div class="river-chu"></div>
  412. <div id="zj-table--B">
  413. <div class="team-flag"></div>
  414. <table>
  415. <%
  416. var loserPlayers = data.team_lose.player_champions;
  417. if (loserPlayers.length > 0) {
  418. groupNameWinOrLose = "fail-group";
  419. _.each(loserPlayers, function(player) {
  420. var leaverFlag, urlAvatar, summonerName, summonerTitle, pnTitle,urlDetail,totalLen,extraClass,sn,pn, GOLD_EARNED,KILL_DEATHS_ASSISTS;
  421. if (player.is_deserter) {
  422. leaverFlag = "<span class='red'>(逃)</span>";
  423. } else {
  424. leaverFlag = "";
  425. }
  426. var hoverPN;//英雄头像hover时传的playerName
  427. var champion = player.champion;
  428. var playerInfo = player.player;
  429. var serverName = playerInfo.game_zone.server_name;
  430. var pInfo = {
  431. userId: player.player.user_id,
  432. gameZone: player.player.game_zone.pinyin
  433. };
  434. if (player.is_bot) {
  435. urlAvatar = IMAGE_URL + '/champions/' + champion.name + '_28x28.jpg';
  436. summonerTitle = playerInfo.pn;
  437. summonerName = playerInfo.pn + leaverFlag;
  438. pnTitle = playerInfo.pn;
  439. urlDetail = null;
  440. hoverPN = '';
  441. } else {
  442. hoverPN = playerInfo.pn;
  443. summonerTitle = playerInfo.pn;
  444. summonerName = playerInfo.pn + leaverFlag;
  445. urlAvatar = IMAGE_URL + '/champions/' + champion.name + '_28x28.jpg';
  446. sn = encodeURIComponent(serverName);
  447. pn = encodeURIComponent(playerInfo.pn);
  448. /*userId为null或者0时不跳转*/
  449. if( pInfo.userId ){
  450. urlDetail = "generalRecord.html?serverName="+sn +"&playerName="+pn + "&userId=" + pInfo.userId + "&gameZone=" + pInfo.gameZone;
  451. }else{
  452. urlDetail = "javascript:;";
  453. }
  454. }
  455. var strBoxTitle = '';
  456. if (player['honors'] && player['honors'].length > 0) {
  457. for(var i=0,len=player['honors'].length;i<len;i++) {
  458. var item = player['honors'][i], killClass = '';
  459. switch(item.name) {
  460. case 'brilliant_largest_killing_spree': killClass = 'brilliant_largestKillingSpree';break;
  461. case 'kill4': killClass = '4kill';break;
  462. case 'kill5': killClass = '5kill';break;
  463. case 'kill6': killClass = '6kill';break;
  464. default: killClass = item.name;
  465. }
  466. strBoxTitle += "<em class='zj-"+ killClass +" zj-s' title='" + item.desc + "' data-honour-key='" + item.name + "'></em>";
  467. }
  468. }
  469. KILL_DEATHS_ASSISTS = player.total_killed + '/' + player.total_death + '/' + player.total_assist;
  470. var strZB = '';
  471. var zhuang_bei_array =player['items'];
  472. if (zhuang_bei_array && zhuang_bei_array.length > 0) {
  473. for(var i=0,len=zhuang_bei_array.length;i<len;i++) {
  474. var item = zhuang_bei_array[i];
  475. strZB += '<li><img src="' + IMAGE_URL + '/zb/' + item.id + '_24x24.jpg" ' + 'title="' + item.name + ' ' + item.description + '" ' + 'alt="' + item.name + ' ' + item.description+ '" /></li>';
  476. }
  477. }
  478. var statDataIn10Min = player.kda_10;
  479. // MVP或者是大腿
  480. var isMVPOrHope = '';
  481. var flagMvpCarry = player.flag_mvp_carry;
  482. if (flagMvpCarry == 1) {
  483. isMVPOrHope = "team-name--stronger";
  484. } else if (flagMvpCarry == 2) {
  485. isMVPOrHope = "team-name--mvp";
  486. }
  487. var p = player.player;
  488. var pGameZone = p.game_zone.pinyin;
  489. var pUserId = p.user_id;
  490. %>
  491. <tr>
  492. <td class="col1">
  493. <div class="team-name <%=isMVPOrHope%>">
  494. <span class="flag"></span> <span data-indent="<%=idx%>"
  495. class="avatar" game-zone="<%=pGameZone%>" user-id="<%=pUserId%>">
  496. <img src="<%=urlAvatar%>" data-playerName="<%=hoverPN%>" data-serverName="<%=serverName%>" data-heroName="<%=champion.name%>" data-uid="<%=playerInfo.user_id%>"/>
  497. </span>
  498. <% if (urlDetail) { %>
  499. <a href="<%=urlDetail%>" title="<%=summonerTitle%>"><%=summonerName%></a>
  500. <% } else { %>
  501. <span class="bot" title="<%=summonerTitle%>">
  502. <%=summonerName%>
  503. </span>
  504. <% } %>
  505. <i class="icon-mvp-carry"></i>
  506. <div class="em-content"><%=strBoxTitle%></div>
  507. </div>
  508. </td>
  509. <% if (data.queueType != 'ODIN_UNRANKED') { %>
  510. <td class="col2"><%=player['total_gold_in_k']%>k</td>
  511. <% } %>
  512. <td class="col3"><%=KILL_DEATHS_ASSISTS%></td>
  513. <td class="col4">
  514. <div class="u-weapon">
  515. <ul class="chuzhuang">
  516. <%=strZB%>
  517. </ul>
  518. <ul class="early-data">
  519. <li><span class="minions-killed">
  520. 补兵:
  521. <%if (statDataIn10Min && statDataIn10Min['m'] >= 80) {%>
  522. <em style="font-weight: bold; color: #f19000">
  523. <%} else if (statDataIn10Min && statDataIn10Min['m'] >= 70) {%>
  524. <em style="font-weight: bold">
  525. <%}%>
  526. <%= (statDataIn10Min && statDataIn10Min['m'].toString()) || '-' %>
  527. <%if (statDataIn10Min && statDataIn10Min['m'] >= 70) {%>
  528. </em>
  529. <%}%>
  530. </span>
  531. 杀死助:<%=(statDataIn10Min && statDataIn10Min['k'].toString()) || '-'%>/<%=(statDataIn10Min && statDataIn10Min['d'].toString()) || '-'%>/<%=(statDataIn10Min && statDataIn10Min['a'].toString()) || '-'%>
  532. </li>
  533. </ul>
  534. </div>
  535. </td>
  536. </tr>
  537. <% idx++;});
  538. for (var i = loserPlayers.length; i < 5; i ++) {
  539. %>
  540. <tr><td class='col1'></td><td class='col2'></td><td class='col3'></td><td class='col4'></td></tr>
  541. <%}}%>
  542. </table>
  543. </div>
  544. <% var idx = 1;%>
  545. <div id="data-layer" class="data-layer">
  546. <%
  547. var win = data.team_win.player_champions;
  548. if(win && win.length > 0) {
  549. _.each(win, function(player) {
  550. var summonerNameFiltered, summonerTitle, leaverFlag, urlAvatar, urlSkill1, urlSkill2,MVPEva,isMVP;
  551. var playerInfo = player.player;
  552. var champion = player.champion;
  553. var spells = player.spells;
  554. // 实际是 playerName
  555. summonerNameFiltered = playerInfo.pn;
  556. summonerTitle =champion.display_name;
  557. leaverFlag = player.is_deserter ? "<span class='red'>(逃)</span>" : "";
  558. urlAvatar = IMAGE_URL + '/champions/' + champion.name + '_40x40.jpg';
  559. if (spells[0] && spells[0].id) {
  560. urlSkill1 = IMAGE_URL + '/spells/' + spells[0].id + '_24x24.jpg';
  561. } else {
  562. urlSkill1 = null;
  563. }
  564. if (spells[1] && spells[1].id) {
  565. urlSkill2 = IMAGE_URL + '/spells/' + spells[1].id + '_24x24.jpg';
  566. } else {
  567. urlSkill2 = null;
  568. }
  569. var MINIONS_KILLED = player.total_minions_killed;
  570. var TOTAL_TIME_CROWD_CONTROL_DEALT = player.total_neutral_minions_killed;
  571. var TURRETS_KILLED = player.total_turrets_killed;
  572. var BARRACKS_KILLED = player.total_barracks_killed;
  573. var WARD_PLACED = player.total_ward_placed;
  574. var WARD_KILLED = player.total_ward_killed;
  575. var LARGEST_KILLING_SPREE = player.largest_killing_spree;
  576. var LARGEST_MULTI_KILL = player.largest_multi_kill;
  577. var LARGEST_CRITICAL_STRIKE = player.largest_critical_strike;
  578. var TOTAL_HEAL = player.total_heal;
  579. var TOTAL_DAMAGE_DEALT = player.total_damage_dealt;
  580. var TOTAL_DAMAGE_TAKEN = player.total_damage_taken;
  581. var TOTAL_DAMAGE_DEALT_TO_CHAMPIONS = player.total_damage_dealt_to_champions;
  582. var PHYSICAL_DAMAGE_DEALT_TO_CHAMPIONS = player.total_physical_damage_dealt_to_champions;
  583. var MAGIC_DAMAGE_DEALT_TO_CHAMPIONS = player.total_magic_damage_dealt_to_champions;
  584. var TRUE_DAMAGE_DEALT_TO_CHAMPIONS = player.total_true_damage_dealt_to_champions;
  585. var NEUTRAL_MINIONS_KILLED_TOTAL = player.total_neutral_minions_killed;
  586. MVPEva = player.evaluate_in_game;
  587. isMVP = player['flag_mvp_carry'] == 1 ? true : false;
  588. isHope = player['flag_mvp_carry'] == 2 ? true : false;
  589. var isMVPOrHope = '';
  590. if (isHope) {
  591. isMVPOrHope = 'tip-big-avatar--stronger';
  592. } else if (isMVP) {
  593. isMVPOrHope = 'tip-big-avatar--mvp';
  594. }
  595. idx ++;
  596. %>
  597. <div class="layer">
  598. <div class="mod-tips-top">
  599. <div class="tip-topleft">
  600. <p class="tip-user-name">
  601. <%=summonerNameFiltered%>
  602. </p>
  603. <a href="javascript:;"
  604. class="tip-big-avatar <%=isMVPOrHope%>"><i></i><img
  605. src="<%=urlAvatar%>"></a>
  606. <div class="tip-user-detail">
  607. <span class="tip-tip-user-name2"><%=summonerTitle%></span>
  608. <%
  609. if (player['is_bot']) {} else {
  610. %>
  611. <p class="tip-small-avatar">
  612. <% if (urlSkill1) { %>
  613. <img src="<%=urlSkill1%>" />
  614. <% } %>
  615. <% if (urlSkill2) { %>
  616. <img src="<%=urlSkill2%>" />
  617. <% } %>
  618. </p>
  619. <% } %>
  620. </div>
  621. </div>
  622. <div class="tip-topright-wrap">
  623. <div class="tip-topright">
  624. <p>
  625. <em class="zj-zdl zj-s"></em>...
  626. </p>
  627. <p class="zj-blue">...</p>
  628. </div>
  629. </div>
  630. </div>
  631. <div class="mod-tips-main">
  632. <table class="mod-tips-data">
  633. <% if (MVPEva) { %>
  634. <tr>
  635. <td class="label" style="color: #ff9900;">战局评分:</td>
  636. <td colspan="3" style="color: #ff9900;"><%=MVPEva%></td>
  637. </tr>
  638. <% } %>
  639. <tr>
  640. <td class="label">补兵:</td>
  641. <td><%=MINIONS_KILLED%></td>
  642. <td class="label">野怪:</td>
  643. <td><%=NEUTRAL_MINIONS_KILLED_TOTAL%></td>
  644. </tr>
  645. <tr>
  646. <td class="label">推塔:</td>
  647. <td><%=TURRETS_KILLED%></td>
  648. <td class="label">兵营:</td>
  649. <td><%=BARRACKS_KILLED%></td>
  650. </tr>
  651. <tr>
  652. <td class="label">放眼数:</td>
  653. <td><%=WARD_PLACED%></td>
  654. <td class="label">排眼数:</td>
  655. <td><%=WARD_KILLED%></td>
  656. </tr>
  657. <tr>
  658. <td class="label">最大连杀:</td>
  659. <td><%=LARGEST_KILLING_SPREE%></td>
  660. <td class="label">最大多杀:</td>
  661. <td><%=LARGEST_MULTI_KILL%></td>
  662. </tr>
  663. <tr>
  664. <td class="label">最大暴击:</td>
  665. <td><%=LARGEST_CRITICAL_STRIKE%></td>
  666. <td class="label">总治疗:</td>
  667. <td><%=TOTAL_HEAL%></td>
  668. </tr>
  669. <tr>
  670. <td class="label">输出伤害:</td>
  671. <td><%=TOTAL_DAMAGE_DEALT%></td>
  672. <td class="label">承受敌害:</td>
  673. <td><%=TOTAL_DAMAGE_TAKEN%></td>
  674. </tr>
  675. </table>
  676. <p>
  677. <span class="label">给对方英雄造成总伤害:</span>
  678. <%=TOTAL_DAMAGE_DEALT_TO_CHAMPIONS%>
  679. </p>
  680. <p>
  681. <span class="label">给对方英雄的物理伤害:</span>
  682. <%=PHYSICAL_DAMAGE_DEALT_TO_CHAMPIONS%>
  683. </p>
  684. <p>
  685. <span class="label">给对方英雄的魔法伤害:</span>
  686. <%=MAGIC_DAMAGE_DEALT_TO_CHAMPIONS%>
  687. </p>
  688. <p>
  689. <span class="label">给对方英雄的真实伤害:</span>
  690. <%=TRUE_DAMAGE_DEALT_TO_CHAMPIONS%>
  691. </p>
  692. <!-- <div class="tip-btn-group">
  693. <a href="http://www.huya.com/g/lol" target="_blank">直播</a>
  694. <a href="http://db.duowan.com/static/lolnewcz/list.html?name=<%=champion.name%>&flag=1&p=1">出装</a>
  695. </div> -->
  696. </div>
  697. </div>
  698. <%
  699. });
  700. }
  701. %>
  702. <%
  703. var loser = data.team_lose.player_champions;
  704. if(loser && loser.length > 0) {
  705. _.each(loser, function(player) {
  706. var summonerNameFiltered, summonerTitle, leaverFlag, urlAvatar, urlSkill1, urlSkill2,MVPEva,isMVP;
  707. var playerInfo = player.player;
  708. var champion = player.champion;
  709. var spells = player.spells;
  710. // 实际是 playerName
  711. summonerNameFiltered = playerInfo.pn;
  712. summonerTitle =champion.display_name;
  713. leaverFlag = player.is_deserter ? "<span class='red'>(逃)</span>" : "";
  714. urlAvatar = IMAGE_URL + '/champions/' + champion.name + '_40x40.jpg';
  715. if (spells[0] && spells[0].id) {
  716. urlSkill1 = IMAGE_URL + '/spells/' + spells[0].id + '_24x24.jpg';
  717. } else {
  718. urlSkill1 = null;
  719. }
  720. if (spells[1] && spells[1].id) {
  721. urlSkill2 = IMAGE_URL + '/spells/' + spells[1].id + '_24x24.jpg';
  722. } else {
  723. urlSkill2 = null;
  724. }
  725. var MINIONS_KILLED = player.total_minions_killed;
  726. var TOTAL_TIME_CROWD_CONTROL_DEALT = player.total_neutral_minions_killed;
  727. var TURRETS_KILLED = player.total_turrets_killed;
  728. var BARRACKS_KILLED = player.total_barracks_killed;
  729. var WARD_PLACED = player.total_ward_placed;
  730. var WARD_KILLED = player.total_ward_killed;
  731. var LARGEST_KILLING_SPREE = player.largest_killing_spree;
  732. var LARGEST_MULTI_KILL = player.largest_multi_kill;
  733. var LARGEST_CRITICAL_STRIKE = player.largest_critical_strike;
  734. var TOTAL_HEAL = player.total_heal;
  735. var TOTAL_DAMAGE_DEALT = player.total_damage_dealt;
  736. var TOTAL_DAMAGE_TAKEN = player.total_damage_taken;
  737. var TOTAL_DAMAGE_DEALT_TO_CHAMPIONS = player.total_damage_dealt_to_champions;
  738. var PHYSICAL_DAMAGE_DEALT_TO_CHAMPIONS = player.total_physical_damage_dealt_to_champions;
  739. var MAGIC_DAMAGE_DEALT_TO_CHAMPIONS = player.total_magic_damage_dealt_to_champions;
  740. var TRUE_DAMAGE_DEALT_TO_CHAMPIONS = player.total_true_damage_dealt_to_champions;
  741. var NEUTRAL_MINIONS_KILLED_TOTAL = player.total_neutral_minions_killed;
  742. MVPEva = player.evaluate_in_game;
  743. isMVP = player['flag_mvp_carry'] == 1 ? true : false;
  744. isHope = player['flag_mvp_carry'] == 2 ? true : false;
  745. var isMVPOrHope = '';
  746. if (isHope) {
  747. isMVPOrHope = 'tip-big-avatar--stronger';
  748. } else if (isMVP) {
  749. isMVPOrHope = 'tip-big-avatar--mvp';
  750. }
  751. idx ++;
  752. %>
  753. <div class="layer">
  754. <div class="mod-tips-top">
  755. <div class="tip-topleft">
  756. <p class="tip-user-name">
  757. <%=summonerNameFiltered%>
  758. </p>
  759. <a href="javascript:;"
  760. class="tip-big-avatar <%=isMVPOrHope%>"><i></i><img
  761. src="<%=urlAvatar%>"></a>
  762. <div class="tip-user-detail">
  763. <span class="tip-tip-user-name2"><%=summonerTitle%></span>
  764. <%
  765. if (player['is_bot']) {} else {
  766. %>
  767. <p class="tip-small-avatar">
  768. <% if (urlSkill1) { %>
  769. <img src="<%=urlSkill1%>" />
  770. <% } %>
  771. <% if (urlSkill2) { %>
  772. <img src="<%=urlSkill2%>" />
  773. <% } %>
  774. </p>
  775. <% } %>
  776. </div>
  777. </div>
  778. <div class="tip-topright-wrap">
  779. <div class="tip-topright">
  780. <p>
  781. <em class="zj-zdl zj-s"></em>...
  782. </p>
  783. <p class="zj-blue">...</p>
  784. </div>
  785. </div>
  786. </div>
  787. <div class="mod-tips-main">
  788. <table class="mod-tips-data">
  789. <% if (MVPEva) { %>
  790. <tr>
  791. <td class="label" style="color: #ff9900;">战局评分:</td>
  792. <td colspan="3" style="color: #ff9900;"><%=MVPEva%></td>
  793. </tr>
  794. <% } %>
  795. <tr>
  796. <td class="label">补兵:</td>
  797. <td><%=MINIONS_KILLED%></td>
  798. <td class="label">野怪:</td>
  799. <td><%=NEUTRAL_MINIONS_KILLED_TOTAL%></td>
  800. </tr>
  801. <tr>
  802. <td class="label">推塔:</td>
  803. <td><%=TURRETS_KILLED%></td>
  804. <td class="label">兵营:</td>
  805. <td><%=BARRACKS_KILLED%></td>
  806. </tr>
  807. <tr>
  808. <td class="label">放眼数:</td>
  809. <td><%=WARD_PLACED%></td>
  810. <td class="label">排眼数:</td>
  811. <td><%=WARD_KILLED%></td>
  812. </tr>
  813. <tr>
  814. <td class="label">最大连杀:</td>
  815. <td><%=LARGEST_KILLING_SPREE%></td>
  816. <td class="label">最大多杀:</td>
  817. <td><%=LARGEST_MULTI_KILL%></td>
  818. </tr>
  819. <tr>
  820. <td class="label">最大暴击:</td>
  821. <td><%=LARGEST_CRITICAL_STRIKE%></td>
  822. <td class="label">总治疗:</td>
  823. <td><%=TOTAL_HEAL%></td>
  824. </tr>
  825. <tr>
  826. <td class="label">输出伤害:</td>
  827. <td><%=TOTAL_DAMAGE_DEALT%></td>
  828. <td class="label">承受敌害:</td>
  829. <td><%=TOTAL_DAMAGE_TAKEN%></td>
  830. </tr>
  831. </table>
  832. <p>
  833. <span class="label">给对方英雄造成总伤害:</span>
  834. <%=TOTAL_DAMAGE_DEALT_TO_CHAMPIONS%>
  835. </p>
  836. <p>
  837. <span class="label">给对方英雄的物理伤害:</span>
  838. <%=PHYSICAL_DAMAGE_DEALT_TO_CHAMPIONS%>
  839. </p>
  840. <p>
  841. <span class="label">给对方英雄的魔法伤害:</span>
  842. <%=MAGIC_DAMAGE_DEALT_TO_CHAMPIONS%>
  843. </p>
  844. <p>
  845. <span class="label">给对方英雄的真实伤害:</span>
  846. <%=TRUE_DAMAGE_DEALT_TO_CHAMPIONS%>
  847. </p>
  848. <!--<div class="tip-btn-group">
  849. <a href="http://www.huya.com/g/lol" target="_blank">直播</a>
  850. <a href="http://db.duowan.com/static/lolnewcz/list.html?name=<%=champion.name%>&flag=1&p=1">出装</a>
  851. </div>-->
  852. </div>
  853. </div>
  854. <%
  855. });
  856. }
  857. %>
  858. </div>
  859. </div>
  860. </div>
  861. <%
  862. // 位置计算
  863. var position_map = {'is_support': '辅助', 'is_adc': '输出', 'is_jungler': '打野'};
  864. var userPositon = {'is_support': 'support', 'is_adc': 'adc', 'is_jungler': 'jungler'};
  865. var loseData = data.team_lose.player_champions;
  866. var allData = data.team_win.player_champions.concat(loseData); //输的和赢的数据合并
  867. var userId = data.player_champion.player.user_id;
  868. var PlayerData = data.player_champion;
  869. var historyUserData = getHistoryUserData(allData);
  870. var key = historyUserData.key; //玩家的位置
  871. // 遍历战绩
  872. function getHistoryUserData(o) {
  873. for (var i = 0; i < o.length; i++) {
  874. var itemUserId = o[i].player.user_id;
  875. if ( userId == itemUserId ) {
  876. if ( o[i].is_jungler ) {
  877. return {
  878. key: 'is_jungler',
  879. data: o[i].perf_ave || {}
  880. };
  881. break;
  882. }
  883. if ( o[i].is_support ) {
  884. return {
  885. key: 'is_support',
  886. data: o[i].perf_ave || {}
  887. };
  888. break;
  889. }
  890. if ( o[i].is_adc ) {
  891. return {
  892. key: 'is_adc',
  893. data: o[i].perf_ave || {}
  894. };
  895. break;
  896. }
  897. }
  898. }
  899. }
  900. /* 饼图title提示 */
  901. var title = [
  902. historyUserData.data['rate_assists_' + userPositon[key]] || {},
  903. historyUserData.data['rate_dragon_killed_' + userPositon[key]] || {},
  904. historyUserData.data['rate_gank_' + userPositon[key]] || {},
  905. historyUserData.data['rate_keep_alive_' + userPositon[key]] || {},
  906. historyUserData.data['rate_damage_' + userPositon[key]] || {},
  907. historyUserData.data['rate_vision_' + userPositon[key]] || {}
  908. ]
  909. // 数据构造
  910. var Database = {
  911. // 饼图名字关系表
  912. t_chart__name: {
  913. 'is_jungler': {'name1': '参团率', 'name2': '小龙率', 'name3': 'GANK率', 'title1': title[0], 'title2': title[1], 'title3': title[2]},
  914. 'is_adc': {'name1': '存活率', 'name2': '参团率', 'name3': '输出率', 'title1': title[3], 'title2': title[0], 'title3': title[4]},
  915. 'is_support': {'name1': '存活率', 'name2': '参团率', 'name3': '视野率', 'title1': title[3], 'title2': title[0], 'title3': title[5]}
  916. },
  917. // 概率关系表
  918. t_chart_rate: {
  919. 'is_jungler': {'rate1': PlayerData.rate_assists, 'rate2': PlayerData.rate_dragon_killed || 0, 'rate3': PlayerData.rate_gank},
  920. 'is_adc': {'rate1': PlayerData.rate_keep_alive, 'rate2': PlayerData.rate_assists, 'rate3': PlayerData.rate_damage},
  921. 'is_support': {'rate1': PlayerData.rate_keep_alive, 'rate2': PlayerData.rate_assists, 'rate3': PlayerData.rate_vision}
  922. }
  923. }
  924. /* 是否超过平均值(是否打勾)*/
  925. function isPass(cpData){
  926. if ( !cpData.ave ) return 'icon-wrong'; // perf_ave为空时
  927. if ( parseInt(cpData.key) > parseInt(cpData.ave) ){
  928. return 'icon-check';
  929. }else{
  930. return 'icon-wrong';
  931. }
  932. }
  933. /* 饼图不同的key对照表 */
  934. var pieData = {
  935. 'is_jungler': ['rate_assists_jungler', 'rate_dragon_killed_jungler', 'rate_gank_jungler'],
  936. 'is_adc': ['rate_keep_alive_adc', 'rate_assists_adc', 'rate_damage_adc'],
  937. 'is_support': ['rate_keep_alive_support', 'rate_assists_support', 'rate_vision_support']
  938. }
  939. /* 比较结果数据 */
  940. var cpResult = [
  941. isPass({key: data.player_champion.total_neutral_minions_killed, ave: historyUserData.data['neutral_minions_killed_'+userPositon[key]] && historyUserData.data['neutral_minions_killed_'+userPositon[key]].ave || 0}), // 野怪击杀
  942. isPass({key: data.player_champion.total_neutral_minions_killed, ave: historyUserData.data['neutral_minions_killed_'+userPositon[key]] && historyUserData.data['neutral_minions_killed_'+userPositon[key]].ave || 0 }), // 插反眼
  943. isPass({key: data.player_champion.kill_1v1, ave: historyUserData.data['kill_1v1_'+userPositon[key]] && historyUserData.data['kill_1v1_'+userPositon[key]].ave || 0 }), // 单杀数
  944. isPass({key: data.player_champion.signals_sent, ave: historyUserData.data['signals_sent_'+userPositon[key]] && historyUserData.data['signals_sent_'+userPositon[key]].ave || 0 }),
  945. // 信号沟通
  946. isPass({key: data.player_champion.total_damage_dealt, ave: historyUserData.data['neutral_minions_killed_'+userPositon[key]] && historyUserData.data['neutral_minions_killed_'+userPositon[key]].ave || 0 }), // 伤害输出
  947. isPass({key: data.player_champion.total_damage_taken, ave: historyUserData.data['neutral_minions_killed_'+userPositon[key]] && historyUserData.data['neutral_minions_killed_'+userPositon[key]].ave || 0 }), // 承受伤害
  948. isPass({key: Database.t_chart_rate[key].rate1, ave: historyUserData.data[pieData[key][0]] && historyUserData.data[pieData[key][0]].ave || 0 }), // 饼图1
  949. isPass({key: Database.t_chart_rate[key].rate2, ave: historyUserData.data[pieData[key][1]] && historyUserData.data[pieData[key][1]].ave || 0 }), // 饼图2
  950. isPass({key: Database.t_chart_rate[key].rate3, ave: historyUserData.data[pieData[key][2]] && historyUserData.data[pieData[key][2]].ave || 0 }) // 饼图3
  951. ]
  952. %>
  953. <div id="personalAchievement" class="tab-content hide">
  954. <div class="pa-top clearfix">
  955. <img src="<%=data.player_champion.champion.url_img['120x120']%>" class="history-recordTab__userIcon fl">
  956. <div class="pa-top-content fl">
  957. <div class="pa-info">
  958. <span class="info-1 historyRecord-userInfo__position">输出</span>
  959. <span><%=data.player_champion.champion.positions[0].position_in_cn%>局</span>
  960. <span>经济:<%=data.player_champion.total_gold_in_k%>K</span>
  961. <span class="last">推塔:<%=data.player_champion.total_turrets_killed%></span>
  962. </div>
  963. <div class="pa-detail">
  964. <ul>
  965. <li>
  966. <div class="inner">
  967. <span>野怪击杀:<%=data.player_champion.total_neutral_minions_killed%><i class="<%=cpResult[0]%>"></i></span>
  968. <span>插/反眼:<%=data.player_champion.ward_placed%>/<%=data.player_champion.ward_killed%><i class="<%=cpResult[0]%>"></i></span>
  969. </div>
  970. </li>
  971. <li class="blank-bg">
  972. <div class="inner">
  973. <span>单杀数:<%=data.player_champion.kill_1v1%><i class="<%=cpResult[2]%>"></i></span>
  974. <span>信号沟通:<%=data.player_champion.signals_sent%><i class="<%=cpResult[3]%>"></i></span>
  975. </div>
  976. </li>
  977. <li>
  978. <div class="inner">
  979. <!-- 物理+魔法 -->
  980. <span>伤害输出:<%= data.player_champion.total_magic_damage_dealt_to_champions + data.player_champion.total_physical_damage_dealt_to_champions %><i class=""></i></span>
  981. <span>承受伤害:<%=data.player_champion.total_damage_taken%><i class=""></i></span>
  982. </div>
  983. </li>
  984. </ul>
  985. </div>
  986. <div class="pa-clothes">
  987. <div class="clothes-tip fl">出装</div>
  988. <ul class="clearfix fl">
  989. <% _.each(data.player_champion.items, function(item, key){ %>
  990. <li class="fl" title="<%=item.description%>"><img src="<%=item.url_img%>"></li>
  991. <% }); %>
  992. </ul>
  993. </div>
  994. </div>
  995. <!-- 鼠标悬浮在用户头像的弹窗 -->
  996. <div class="userRecordDetail mod-tips-s1">
  997. <div class="userRecordDetail-center mod-tips-bg">
  998. <div class="userRecordDetail-con mod-tips-content"></div>
  999. </div>
  1000. </div>
  1001. </div>
  1002. <div class="pa-main clearfix">
  1003. <div class="kda fl">
  1004. <div class="inner clearfix">
  1005. <div class="kda-msg fl">
  1006. <h3>全场KDA</h3>
  1007. <h3 class="num"><%=data.player_champion.evaluate_in_game%></h3>
  1008. </div>
  1009. <div class="kda-detail fl">
  1010. <p>击杀<span><%=data.player_champion.total_killed%></span></p>
  1011. <p>死亡<span><%=data.player_champion.total_death%></span></p>
  1012. <p>助攻<span><%=data.player_champion.total_assist%></span></p>
  1013. </div>
  1014. </div>
  1015. </div>
  1016. <div class="level-charts fl">
  1017. <ul class="clearfix">
  1018. <li class="fl">
  1019. <div class="charts-round-wrap">
  1020. <div id="gankContainer" class="charts-wrap"></div>
  1021. <div class="round-mask" title="同段位平均水平:<%=Database.t_chart__name[key].title1.ave || '-' %>%&#10;同段位最高水平:<%=Database.t_chart__name[key].title1.max || '-' %>%&#10;超越<%=Database.t_chart__name[key].title1.beyond || '-'%>%的人">
  1022. <h3><%=Database.t_chart__name[key].name1%></h3>
  1023. <p class="data-charts__1"><%=Database.t_chart_rate[key].rate1 || 0%>%</p>
  1024. </div>
  1025. </div>
  1026. <span class="tip <%=cpResult[6]%>"></span>
  1027. </li>
  1028. <li class="fl">
  1029. <div class="charts-round-wrap">
  1030. <div id="joinPartyContainer" class="charts-wrap"></div>
  1031. <div class="round-mask" title="同段位平均水平:<%=Database.t_chart__name[key].title2.ave || '-' %>%&#10;同段位最高水平:<%=Database.t_chart__name[key].title2.max || '-' %>%&#10;超越<%=Database.t_chart__name[key].title2.beyond || '-'%>%的人">
  1032. <h3><%=Database.t_chart__name[key].name2%></h3>
  1033. <p class="data-charts__2"><%=Database.t_chart_rate[key].rate2 || 0%>%</p>
  1034. </div>
  1035. </div>
  1036. <span class="tip <%=cpResult[7]%>"></span>
  1037. </li>
  1038. <li class="fl">
  1039. <div class="charts-round-wrap">
  1040. <div id="dragonContainer" class="charts-wrap"></div>
  1041. <div class="round-mask" title="同段位平均水平:<%=Database.t_chart__name[key].title3.ave || '-' %>%&#10;同段位最高水平:<%=Database.t_chart__name[key].title3.max || '-' %>%&#10;超越<%=Database.t_chart__name[key].title3.beyond || '-'%>%的人">
  1042. <h3><%=Database.t_chart__name[key].name3%></h3>
  1043. <p class="data-charts__3"><%=Database.t_chart_rate[key].rate3 || 0%>%</p>
  1044. </div>
  1045. </div>
  1046. <span class="tip <%=cpResult[8]%>"></span>
  1047. </li>
  1048. </ul>
  1049. </div>
  1050. </div>
  1051. <div class="pa-bottom">
  1052. <div class="detail-videos" id="videos"></div>
  1053. </div>
  1054. </div>
  1055. <div id="mod-tips-s1" class="mod-tips-s1">
  1056. <div class="mod-tips-bg">
  1057. <div class="mod-tips-content"></div>
  1058. </div>
  1059. <i class="arrow l"></i>
  1060. </div>
  1061. </script>
  1062. <!-- 推荐视频 -->
  1063. <script id="videosTemplate" type="text/template">
  1064. <a class="hero-tip" href="<%=data.moreLink.toLowerCase()%>" target="_blank">
  1065. <span>推荐视频</span>
  1066. </a>
  1067. <ul class="clearfix">
  1068. <% _.each(data, function(item, key){ %>
  1069. <li class="fl">
  1070. <a href="<%=item.video_url%>" target="_blank">
  1071. <img src="<%=item.video_cover%>">
  1072. <div class="video-more">
  1073. <div class="inner clearfix">
  1074. <span class="title word" title="<%=item.video_title%>"><%=item.video_title%></span>
  1075. <span class="time fr"><%=item.video_duration%></span>
  1076. </div>
  1077. </div>
  1078. </a>
  1079. </li>
  1080. <% }); %>
  1081. </ul>
  1082. </script>
  1083. <script>var stat_app_name = "boxgame_matchlist"; var stat_uid = $.cookie['lolboxyyuid']; var stat_oper_default = false; </script>
  1084. <!--<script src="http://assets.dwstatic.com/f=amkit/entry.js"></script>-->
  1085. <!--<script>
  1086. seajs.use("p/statistics/main", function() {
  1087. $('#a2Ad a').each(function() {
  1088. if (!$(this).attr('data-stat')) return;
  1089. var words = $(this).attr('data-stat').split('_');
  1090. words[2] += '展示';
  1091. webUserOper.spStat({ app:stat_app_name, oper: words.join('_'), tar: $(this).find('img').attr('src') });
  1092. });
  1093. });
  1094. </script>-->
  1095. <!-- 自定义统计 -->
  1096. <!--<script src="js/counter.js" type="text/javascript"></script>-->
  1097. <!--<script src="js/auto_incr.js" type="text/javascript"></script>-->
  1098. <!--广告位统计-->
  1099. <!--<script src="http://sz.duowan.com/resource/adstat.1.0.0.js"></script>-->
  1100. <script type="text/javascript" src="js/moment.min.js"></script>
  1101. <!--<script type="text/javascript" src="http://sz.duowan.com/s/ya/ya.1.3.1-min.js"></script>-->
  1102. <!--<script src="js/new_stat.js"></script>-->
  1103. <script src="js/highcharts.js"></script>
  1104. <script type="text/javascript" src="js/record_v3.0.js"></script>
  1105. <!-- 广告/海度统计相关-->
  1106. <script type="text/javascript">_hiido_no = 0;_hiido_wid = ["lbox"];</script>
  1107. <script src="http://www.duowan.com/duowan.js" type="text/javascript"></script>
  1108. <!--<script src="http://www.duowan.com/public/s/market_count.js" type="text/javascript"></script>-->
  1109. <!--百度统计-->
  1110. <script>
  1111. var _hmt = _hmt || [];
  1112. (function() {
  1113. var hm = document.createElement("script");
  1114. hm.src = "//hm.baidu.com/hm.js?72772dda37b1e926733138415981abcf";
  1115. var s = document.getElementsByTagName("script")[0];
  1116. s.parentNode.insertBefore(hm, s);
  1117. })();
  1118. </script>
  1119. <!--[if gt IE 6]><!-->
  1120. <!--<script type="text/javascript">
  1121. window.onerror = function(a,b,c){ return true};!function(t){t.loadScript(["http://szhuodong.duowan.com/feq/lolbox/yy-f2e-lolbox.min"])}(function(){function t(e,a){var n=a[e];if(n){e++;var o=document.createElement("script");o.type="text/javascript",o.setAttribute("async","async"),o.onload=o.onreadystatechange=function(){return o.readyState&&"complete"!==o.readyState&&"loaded"!==o.readyState?!1:(o.onload=o.onreadystatechange=null,void t(e,a))};var c=new Date;c.setSeconds(0),c.setMilliseconds(0),c=c.getTime(),o.async=!0,o.src=n+"?_="+c,document.getElementsByTagName("head")[0].appendChild(o)}}return{loadScript:function(e){e&&e.length&&e instanceof Array&&t(0,e)}}}());
  1122. </script>-->
  1123. <!--<![endif]-->
  1124. <!-- 谷歌浏览器打开error -->
  1125. <script type="text/javascript">
  1126. /Chrom/gi.test(window.navigator.userAgent) && (window.onerror = null);
  1127. </script>
  1128. </body>
  1129. </html>