pk.vue 47 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724
  1. <template>
  2. <div class="pages">
  3. <Headside></Headside>
  4. <div class="pk-detail-con">
  5. <img src="../assets/img/pk/redGood.svg" class="lp_icon"/>
  6. <div class="progress">
  7. <div class="progress-bar" :style="{width: pkVal}">
  8. <i class="lightning"></i>
  9. </div>
  10. </div>
  11. <img src="../assets/img/pk/blueGood.svg" class="rp_icon"/>
  12. </div>
  13. <div class="pk_container">
  14. <div class="lt">
  15. <ul>
  16. <li :class="RedstudentsClassName" v-for="(s,i) in students.redUnite">
  17. <div class="bg">
  18. <h5>
  19. <div class="nameLt">
  20. <i class="el-icon-male" v-if="s.Sex == 1"></i>
  21. <i class="el-icon-female" v-if="s.Sex == 2"></i>
  22. </div>
  23. <div class="nameMd">{{ s.Name }}</div>
  24. <div class="namert" v-if=" s.RealHr != 0">
  25. <power :cur-power="s.PowerPercent"></power>
  26. </div>
  27. </h5>
  28. <div class="user">
  29. <div class="ult">
  30. <em>
  31. <div v-if="s.RealHr != 0">{{ s.ActivePercent |max100}}</div>
  32. <div class="plus" v-if="s.ActivePercent == 0 && s.RealHr == 0">---</div>
  33. <s>%</s>
  34. </em>
  35. </div>
  36. <div class="umd">
  37. <div class="circle">
  38. <img :class="s.sportLevel" :src="s.Head" alt="" v-if="s.Head">
  39. <img :class="s.sportLevel" src="../static/img/people/flyhead.png" alt=""
  40. v-if="!s.Head">
  41. </div>
  42. <!-- 生日快乐 -->
  43. <div class="birth" v-if="s.IsBirthday == 1">
  44. <img src="../assets/img/birth/birthCrow.png" class="birthCrow"/>
  45. <img src="../assets/img/birth/birthText.png" class="birthText"/>
  46. </div>
  47. <!--私有心率带-->
  48. <div class="isPrivate" v-if="s.IsPrivate == 1">
  49. <i></i>
  50. </div>
  51. </div>
  52. <div class="urt">
  53. <em class="fastJump" v-if="s.RealHr != 0" v-show="parseInt(s.ActivePercent) > 90">{{
  54. s.RealHr }}</em>
  55. <em class="slowJump" v-if="s.RealHr != 0" v-show="parseInt(s.ActivePercent) <= 90">{{
  56. s.RealHr }}</em>
  57. <em class="plus" v-if="s.RealHr == 0"> --- </em>
  58. <img src="../static/img/heart.svg" class=""/>
  59. </div>
  60. </div>
  61. <div class="bottomLi">
  62. <div class="btcla">
  63. <img src="../static/img/s1.svg"/>
  64. <span>{{ s.Cle |fmtInt }}</span>
  65. </div>
  66. <div class="btck">
  67. <img src="../static/img/s2.svg"/>
  68. <span>{{ s.PureCalorieNoVo2 |fmtInt }}</span>
  69. </div>
  70. <div class="step">
  71. <img src="../static/img/ck.svg"/>
  72. <span>{{ s.Ck |fmtFloat}}</span>
  73. </div>
  74. </div>
  75. </div>
  76. </li>
  77. </ul>
  78. </div>
  79. <div class="md">
  80. <div class="partInfo">
  81. <span class="title rtitle">
  82. <img src="../assets/img/pk/redFlag.svg"/>
  83. CK
  84. </span>
  85. <span class="title btitle">
  86. <img src="../assets/img/pk/blueFlag.svg"/>
  87. CK
  88. </span>
  89. </div>
  90. <div class="cubelist">
  91. <div class="cubes rcube">
  92. <em>红队</em>
  93. </div>
  94. <img class="vs" src="../assets/img/pk/vs.svg"/>
  95. <div class="cubes bcube">
  96. <em>蓝队</em>
  97. </div>
  98. </div>
  99. <div class="teamScore">
  100. <div class="lt">{{redSum}}</div>
  101. <div class="rt">{{blueSum}}</div>
  102. </div>
  103. <div class="bottomInfo">
  104. <span class="names">
  105. {{PlanName}}
  106. </span>
  107. <div class="teacher">
  108. <span v-if="Teacher"> 教练:{{Teacher}}</span>
  109. <span>人数:{{num}} </span>
  110. </div>
  111. <div class="classTime">
  112. {{classInfo.endTime}}
  113. </div>
  114. </div>
  115. </div>
  116. <div class="rt">
  117. <ul>
  118. <li :class="BluestudentsClassName" v-for="(s,i) in students.blueUnite">
  119. <div class="bg">
  120. <h5>
  121. <div class="nameLt">
  122. <i class="el-icon-male" v-if="s.Sex == 1"></i>
  123. <i class="el-icon-female" v-if="s.Sex == 2"></i>
  124. </div>
  125. <div class="nameMd">{{ s.Name }}</div>
  126. <div class="namert" v-if=" s.RealHr != 0">
  127. <power :cur-power="s.PowerPercent"></power>
  128. </div>
  129. </h5>
  130. <div class="user">
  131. <div class="ult">
  132. <em>
  133. <div v-if="s.RealHr != 0">
  134. {{ s.ActivePercent |max100 }}
  135. </div>
  136. <div class="plus" v-if="s.ActivePercent == 0&& s.RealHr == 0">
  137. ---
  138. </div>
  139. <s>%</s>
  140. </em>
  141. </div>
  142. <div class="umd">
  143. <div class="circle">
  144. <img :class="s.sportLevel" :src="s.Head" alt="" v-if="s.Head">
  145. <img :class="s.sportLevel" src="../static/img/people/flyhead.png" alt=""
  146. v-if="!s.Head">
  147. <!-- 生日快乐 -->
  148. <div class="birth" v-if="s.IsBirthday == 1">
  149. <img src="../assets/img/birth/birthCrow.png" class="birthCrow"/>
  150. <img src="../assets/img/birth/birthText.png" class="birthText"/>
  151. </div>
  152. <!--私有心率带-->
  153. <div class="isPrivate" v-if="s.IsPrivate == 1">
  154. <i></i>
  155. </div>
  156. </div>
  157. </div>
  158. <div class="urt">
  159. <em class="fastJump" v-if="s.RealHr != 0" v-show="parseInt(s.ActivePercent) > 90">{{
  160. s.RealHr }}</em>
  161. <em class="slowJump" v-if="s.RealHr != 0" v-show="parseInt(s.ActivePercent) <= 90">{{
  162. s.RealHr }}</em>
  163. <em class="plus" v-if="s.RealHr == 0"> --- </em>
  164. <img src="../static/img/heart.svg" class=""/>
  165. </div>
  166. </div>
  167. <div class="bottomLi">
  168. <div class="btcla">
  169. <img src="../static/img/s1.svg"/>
  170. <span>{{ s.Cle |fmtInt }}</span>
  171. </div>
  172. <div class="btck">
  173. <img src="../static/img/s2.svg"/>
  174. <span>{{ s.PureCalorieNoVo2 |fmtInt}}</span>
  175. </div>
  176. <div class="step">
  177. <img src="../static/img/ck.svg"/>
  178. <span>{{ s.Ck |fmtFloat}}</span>
  179. </div>
  180. </div>
  181. </div>
  182. </li>
  183. </ul>
  184. </div>
  185. </div>
  186. <newRecord :toper-info="toperInfo"></newRecord>
  187. <newStudent :student-info="studentInfo"></newStudent>
  188. </div>
  189. </template>
  190. <script>
  191. import '../libs/rem';
  192. import Headside from '@/components/Headside'
  193. import newRecord from '@/components/newRecord'
  194. import newStudent from '@/components/newStudent'
  195. import power from '@/components/power'
  196. import {
  197. getHello,
  198. getClassStat,
  199. getRecordBreak,
  200. getNewUser
  201. } from '@/api/getApiRes'
  202. import '../libs/rem';
  203. let qs = require('qs');
  204. export default {
  205. data() {
  206. return {
  207. trueDate: true,//真实数据 true false
  208. studentsClassName: [],
  209. students: {
  210. redUnite: [],
  211. blueUnite: [],
  212. },
  213. redSum: 0,
  214. blueSum: 0,
  215. pkVal: '50%',
  216. RedstudentsClassName: '',
  217. BluestudentsClassName: '',
  218. PlanName: '',
  219. num: 0,
  220. Teacher: '',
  221. classInfo: {
  222. name: '竞技课程',
  223. num: '0',
  224. btTime: '2020-11-13 09:00:00',//时间戳
  225. endTime: '00:00:00',
  226. redSum: 0,
  227. blueSum: 0,
  228. },
  229. totalTime: 30,
  230. studentTime: 15,
  231. toperInfo: {
  232. dialogVisible: false,
  233. toper: {},
  234. },
  235. studentInfo: {
  236. dialogVisible: false,
  237. Rs: [],
  238. percent: 0
  239. },
  240. }
  241. },
  242. mounted() {
  243. let that = this;
  244. if (this.trueDate) {
  245. this.init();
  246. // this.PkEgg = setInterval(() => {
  247. // this.createEgg();
  248. // }, 6000);
  249. } else {
  250. // 虚假的数据
  251. let json = {
  252. "Code": "0",
  253. "Memo": "Success",
  254. "Dp": {
  255. "PlanId": 182,
  256. "ShopId": 1,
  257. "SvId": 1,
  258. "PlanName": "齐源大厦浏览器显示2020-12-02日08:40开始的竞技游戏",
  259. "Status": 2,
  260. "BeginTime": "17:15:18",
  261. "EndTime": 0,
  262. "ClassType": 2,
  263. "PkNum": 2
  264. }
  265. };
  266. // 载入课程信息
  267. let Dp = json.Dp;
  268. that.ReadLessonInfo(Dp);
  269. // 载入学生信息
  270. let Rs = fakeNews(14, 2);
  271. that.UniteBreak(Rs);
  272. // 人口总数
  273. that.num = json.Rs ? json.Rs.length : 0;
  274. this.ClacClassTime();
  275. }
  276. },
  277. watch: {
  278. '$route': function (val) {
  279. let that = this;
  280. if (val.path == '/pk') {
  281. if (this.trueDate) {
  282. this.init();
  283. // this.PkEgg = setInterval(() => {
  284. // this.createEgg();
  285. // }, 6000);
  286. } else {
  287. let Rs = fakeNews(16);
  288. that.UniteBreak(Rs);
  289. }
  290. } else {
  291. clearInterval(this.PkTimer);
  292. clearInterval(this.PkEgg);
  293. clearInterval(this.timer2);
  294. clearInterval(this.timer3);
  295. this.PkTimer = null;
  296. this.PkEgg = null;
  297. this.timer2 = null;
  298. this.timer3 = null;
  299. }
  300. }
  301. },
  302. beforeDestroy() {
  303. clearInterval(this.PkTimer);
  304. clearInterval(this.PkEgg);
  305. clearInterval(this.timer2);
  306. clearInterval(this.timer3);
  307. this.PkTimer = null;
  308. this.PkEgg = null;
  309. this.timer2 = null;
  310. this.timer3 = null;
  311. },
  312. methods: {
  313. init() {
  314. this.GetgetUserList();
  315. this.createEgg();
  316. this.createNewStudent();
  317. this.PkTimer = setInterval(() => {
  318. this.GetgetUserList();
  319. this.ClacClassTime();
  320. this.curgetClassStat();
  321. }, 1000);
  322. this.timer2 = setInterval(() => {
  323. this.createEgg();
  324. }, 31000);
  325. this.timer3 = setInterval(() => {
  326. this.createNewStudent();
  327. }, 6000);
  328. },
  329. // 启动一个成就彩蛋
  330. createEgg() {
  331. let that = this;
  332. let param = {
  333. token: localStorage.token,
  334. eqSn: localStorage.eqSn
  335. };
  336. let postdata = qs.stringify(param);
  337. getRecordBreak(postdata).then(res => {
  338. let json = res;
  339. if (json.Code == 0) {
  340. // 欢迎新学生时不显示彩蛋
  341. if (that.studentInfo.dialogVisible == true) {
  342. console.log('正在显示新学生');
  343. return false
  344. } else {
  345. this.OpenEgg(json);
  346. }
  347. } else {
  348. // 并没有人破记录
  349. if (json.Code == 999) return false;
  350. if (json.Code != 999) that.$message.error(json.Memo + '[ 错误码]' + json.Code);
  351. }
  352. })
  353. },
  354. // 欢迎新同学
  355. createNewStudent() {
  356. let that = this;
  357. let param = {
  358. token: localStorage.token,
  359. eqSn: localStorage.eqSn
  360. };
  361. let postdata = qs.stringify(param);
  362. getNewUser(postdata).then(res => {
  363. let json = res;
  364. if (json.Code == 0) {
  365. console.log('来新生了');
  366. // 显示彩蛋时不欢迎新学生
  367. if (that.toperInfo.dialogVisible == true) {
  368. console.log('正在显示彩蛋');
  369. return false
  370. } else {
  371. that.OpenStudent(json.Rs);
  372. }
  373. } else {
  374. // 并没有人破记录
  375. if (json.Code == 999) return false;
  376. if (json.Code != 999) that.$message.error(json.Memo + '[ 错误码]' + json.Code);
  377. }
  378. })
  379. },
  380. OpenEgg(msg) {
  381. this.toperInfo.toper = msg.Rs;
  382. this.toperInfo.dialogVisible = true;
  383. // 倒计时5秒自动关闭
  384. let that = this;
  385. this.totalTime = 30;
  386. let clock = window.setInterval(() => {
  387. this.totalTime--;
  388. if (parseInt(this.totalTime) < 0) {
  389. that.toperInfo.dialogVisible = false;
  390. clearInterval(clock);
  391. }
  392. }, 1000)
  393. },
  394. OpenStudent(msg) {
  395. let that = this;
  396. that.studentInfo.Rs = msg;
  397. that.studentInfo.dialogVisible = true;
  398. this.studentInfo.percent = 0;
  399. // 倒计时5秒自动关闭
  400. this.studentTime = 15;
  401. let clock = window.setInterval(() => {
  402. this.studentTime--;
  403. let num = (15 - this.studentTime) / 15 * 100;
  404. this.studentInfo.percent = parseInt(num) > 100 ? 100 : num;
  405. console.log('num' + num);
  406. if (parseInt(this.studentTime) <= 0) {
  407. that.studentInfo.dialogVisible = false;
  408. clearInterval(clock);
  409. }
  410. }, 1000)
  411. },
  412. // 载入课程信息
  413. ReadLessonInfo(Dp) {
  414. this.PlanName = Dp.PlanName;
  415. this.BeginTime = Dp.BeginTime;
  416. this.Teacher = Dp.Teacher;
  417. },
  418. // 分队展示
  419. UniteBreak(Rs) {
  420. let that = this;
  421. that.students.redUnite = [];
  422. that.students.blueUnite = [];
  423. if (!Rs) {
  424. that.students.redUnite = [];
  425. that.students.blueUnite = [];
  426. } else {
  427. Rs.map(function (item, t) {
  428. item.sportLevel = sportLevel(item.ActivePercent);
  429. if (item.GroupNo == 1) {
  430. that.students.redUnite.push(item);
  431. }
  432. if (item.GroupNo == 2) {
  433. that.students.blueUnite.push(item);
  434. }
  435. })
  436. }
  437. that.giveClassName(that.students.redUnite, 1);
  438. that.giveClassName(that.students.blueUnite, 2);
  439. that.calcSumCK(that.students);
  440. },
  441. // 计算各队总分
  442. calcSumCK(Rs) {
  443. let that = this;
  444. let redSum = 0;
  445. let blueSum = 0;
  446. // that.redSum
  447. Rs.redUnite.map(function (item, t) {
  448. redSum += parseFloat(item.Ck.toFixed(1));
  449. });
  450. Rs.blueUnite.map(function (item, t) {
  451. blueSum += parseFloat(item.Ck.toFixed(1));
  452. });
  453. that.redSum = redSum.toFixed(1);
  454. that.blueSum = blueSum.toFixed(1);
  455. // 进度条 FormatCk
  456. let redFmtSum = 0;
  457. let blueFmtSum = 0;
  458. Rs.redUnite.map(function (item, t) {
  459. redFmtSum += parseFloat(item.FormatCk);
  460. });
  461. Rs.blueUnite.map(function (item, t) {
  462. blueFmtSum += parseFloat(item.FormatCk);
  463. });
  464. // pkVal
  465. let sumMax = parseFloat(redFmtSum) + parseFloat(blueFmtSum);
  466. // 当为0时均分
  467. if (sumMax == 0) {
  468. that.pkVal = '50%';
  469. } else {
  470. // 限制最大
  471. let pkval = parseInt((redFmtSum / sumMax) * 100) > 100 ? 100 : parseInt((redFmtSum / sumMax) * 100);
  472. console.log(pkval);
  473. that.pkVal = pkval + '%';
  474. }
  475. // // 获取人数 计算人均CK
  476. // let redHuman = 0;
  477. // let blueHuman = 0;
  478. // if (Rs.redUnite != '') {
  479. // redHuman = Rs.redUnite.length;
  480. // that.redSum = parseFloat(redSum / redHuman).toFixed(1);
  481. // } else {
  482. // that.redSum = 0
  483. // }
  484. // if (Rs.blueUnite != '') {
  485. // blueHuman = Rs.blueUnite.length;
  486. // that.blueSum = parseFloat(blueSum / blueHuman).toFixed(1);
  487. // } else {
  488. // that.blueSum = 0
  489. // }
  490. // that.redSum = redSum;
  491. // that.blueSum = blueSum;
  492. // // pkVal ***进度条对比按照人均显示
  493. // let sumMax = parseFloat(that.redSum) + parseFloat(that.blueSum);
  494. // // 当为0时均分
  495. // if (sumMax == 0) {
  496. // that.pkVal = '50%';
  497. // } else {
  498. // // 限制最大
  499. // let pkval = parseInt((that.redSum / sumMax) * 100) > 100 ? 100 : parseInt((that.redSum / sumMax) * 100);
  500. // that.pkVal = pkval + '%';
  501. // }
  502. },
  503. // 获取上课学生信息
  504. GetgetUserList() {
  505. let that = this;
  506. let param = {
  507. token: localStorage.token,
  508. eqSn: localStorage.eqSn
  509. };
  510. // this.giveClassName(this.Bluestudents,2);
  511. let postdata = qs.stringify(param);
  512. getHello(postdata).then(res => {
  513. let json = res;
  514. if (json.Code == 0) {
  515. if (!json.Dp) {
  516. // that.$message.error('没有获取到课程信息');
  517. return false
  518. } else {
  519. that.ReadLessonInfo(json.Dp);
  520. }
  521. that.UniteBreak(json.Rs);
  522. // 人口总数
  523. that.num = json.Rs.length ? json.Rs.length : 0;
  524. this.ClacClassTime();
  525. } else {
  526. // 已下课
  527. console.log(json.Code);
  528. if (json.Code == '999') {
  529. // that.$router.push({path: '/2pkRank'});
  530. } else {
  531. // 已出错
  532. that.$message.error(json.Memo);
  533. }
  534. }
  535. })
  536. },
  537. // 动态计算排版
  538. giveClassName(res, type) {
  539. let that = this;
  540. let numberClass = '';
  541. switch (true) {
  542. case parseInt(res.length) <= 2 && parseInt(res.length) > 0:
  543. numberClass = 'two';
  544. break;
  545. case parseInt(res.length) == 3:
  546. numberClass = 'three';
  547. break;
  548. case parseInt(res.length) <= 4 && parseInt(res.length) > 2:
  549. numberClass = 'four';
  550. break;
  551. case parseInt(res.length) <= 6 && parseInt(res.length) > 4:
  552. numberClass = 'four';
  553. break;
  554. case parseInt(res.length) > 6:
  555. numberClass = 'eight';
  556. break;
  557. }
  558. if (type == 1) {
  559. that.RedstudentsClassName = numberClass;
  560. } else {
  561. that.BluestudentsClassName = numberClass;
  562. }
  563. },
  564. // 计算团队竞技课持续时间
  565. ClacClassTime() {
  566. let BeginTime = new Date(globalcurrent() + ' ' + this.BeginTime);//结束时间
  567. let nowDate = new Date();
  568. let date = new Date(nowDate - BeginTime - 8 * 60 * 60 * 1000);//减掉东八区时区问题
  569. let h = date.getHours() < 10 ? '0' + date.getHours() + ':' : date.getHours() + ':';
  570. let m = date.getMinutes() < 10 ? '0' + date.getMinutes() + ':' : date.getMinutes() + ':';
  571. let s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
  572. this.classInfo.endTime = h + m + s;
  573. },
  574. // 当前课程状态
  575. curgetClassStat() {
  576. let that = this;
  577. let param = {
  578. token: localStorage.token,
  579. eqSn: localStorage.eqSn
  580. };
  581. let postdata = qs.stringify(param);
  582. getClassStat(postdata).then(res => {
  583. let json = res;
  584. if (json.Code == 0) {
  585. // 没开课
  586. if (json.ClassOn == 0) {
  587. console.log("xiakele ");
  588. // 0: 下课 团课/私教 排名
  589. // 1:团课/私教 todo
  590. // 2:竞技课2PK
  591. // 3:竞技课3PK
  592. that.$router.push({path: '/2pkRank'});
  593. switch (parseInt(json.dp)) {
  594. case 2:
  595. that.$router.push({path: '/2pkRank'});
  596. break;
  597. }
  598. }
  599. } else {
  600. // that.$message.error(json.Memo);
  601. }
  602. })
  603. },
  604. },
  605. filters: {
  606. fmtNum(val) {
  607. if (val == 0) {
  608. return '--'
  609. } else {
  610. if (parseInt(val) < 0) return 0;
  611. if (parseInt(val) > 0) return val
  612. }
  613. },
  614. fmtFloat(val) {
  615. if (val == 0) {
  616. return '0.0'
  617. } else {
  618. return parseFloat(val).toFixed(1);
  619. }
  620. },
  621. fmtInt(val) {
  622. if (val == 0) {
  623. return '0'
  624. } else {
  625. return parseInt(val);
  626. }
  627. },
  628. max100(val) {
  629. if (val <= 100) {
  630. return val
  631. } else {
  632. return 100
  633. }
  634. }
  635. },
  636. components: {
  637. Headside, newRecord, newStudent, power
  638. }
  639. }
  640. </script>
  641. <style scoped>
  642. @import "../assets/css/bg.css";
  643. .pages {
  644. position: absolute;
  645. top: 0;
  646. left: 0;
  647. right: 0;
  648. bottom: 0;
  649. width: 100%;
  650. overflow: hidden;
  651. display: block;
  652. margin: 0 auto;
  653. background-color: #028fe1;
  654. background: url("../static/img/pkBg.png");
  655. background-size: 100% 100%;
  656. background-repeat: no-repeat;
  657. overflow-y: scroll;
  658. }
  659. * {
  660. font-family: vista;
  661. }
  662. ul, li {
  663. list-style: none;
  664. margin: 0;
  665. padding: 0;
  666. }
  667. em {
  668. font-style: normal;
  669. }
  670. .pk-detail-con {
  671. position: relative;
  672. top: 0.5rem;
  673. width: 98%;
  674. height: 0.6rem;
  675. display: block;
  676. margin: 0 auto;
  677. overflow: visible;
  678. }
  679. .progress {
  680. width: 100%;
  681. height: 0.3rem;
  682. overflow: visible;
  683. background-color: #04A6EE;
  684. border-radius: 19px;
  685. background-image: url("../static/img/pk/blue.png");
  686. /*background-image: linear-gradient(45deg, #60b7ff 25%, #0a84e9 0, #0a84e9 50%, #60b7ff 0, #60b7ff 75%, #0a84e9 0);*/
  687. /*background-size: 40px 40px;*/
  688. }
  689. .progress-bar {
  690. height: 0.3rem;
  691. text-align: left;
  692. background-color: #F75E07;
  693. -moz-transition: width .6s ease;
  694. -webkit-transition: width .6s ease;
  695. transition: width .6s ease;
  696. background-image: url("../static/img/pk/red.png");
  697. /*background-image: linear-gradient(45deg, #ff9960 25%, #f75e07 0, #f75e07 50%, #ff9960 0, #ff9960 75%, #f75e07 0);*/
  698. /*background-size: 40px 40px;*/
  699. }
  700. .progress, .progress-bar {
  701. /*background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0) 50%);*/
  702. /*background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0) 50%);*/
  703. /*background-image: linear-gradient(rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0) 50%);*/
  704. }
  705. .lightning {
  706. position: relative;
  707. top: -0.5rem;
  708. width: 1rem;
  709. height: 1.3rem;
  710. float: right;
  711. margin-right: -0.5rem;
  712. background: url("../static/img/pk/light.png") no-repeat center;
  713. background-size: cover;
  714. }
  715. .lp_icon {
  716. position: absolute;
  717. left: -0.1rem;
  718. top: -0.3rem;
  719. width: 0.8rem;
  720. height: 0.8rem;
  721. float: left;
  722. }
  723. .rp_icon {
  724. position: absolute;
  725. right: 0;
  726. top: -0.3rem;
  727. width: 0.8rem;
  728. height: 0.8rem;
  729. float: right;
  730. }
  731. .pk_container {
  732. width: 98%;
  733. overflow: hidden;
  734. display: block;
  735. margin: 0 auto;
  736. }
  737. .pk_container .lt {
  738. width: 35%;
  739. float: left;
  740. }
  741. .pk_container .rt {
  742. width: 35%;
  743. float: right;
  744. }
  745. .pk_container .md {
  746. width: 30%;
  747. float: left;
  748. }
  749. .pk_container ul {
  750. width: 100%;
  751. overflow: hidden;
  752. display: block;
  753. margin: 0 auto;
  754. padding-top: 0.01rem;
  755. }
  756. .pk_container li {
  757. overflow: hidden;
  758. color: #fff;
  759. margin-bottom: 0.1rem;
  760. }
  761. .pk_container .lt li {
  762. overflow: hidden;
  763. }
  764. .pk_container .rt li {
  765. overflow: hidden;
  766. }
  767. .pk_container .lt .bg {
  768. border: 2px solid rgba(255, 143, 122, 0.5);
  769. background: rgba(194, 36, 6, 0.5);
  770. }
  771. .pk_container .rt .bg {
  772. border: 2px solid rgba(80, 115, 255, 0.5);
  773. background: rgba(0, 30, 152, 0.5);
  774. }
  775. .pk_container li .bg > h5 {
  776. font-family: vista;
  777. font-weight: 500;
  778. font-size: 0.3rem;
  779. text-align: center;
  780. color: #fff;
  781. margin: 0;
  782. margin-top: 0.1rem;
  783. margin-bottom: 0.1rem;
  784. }
  785. .bg > h5 div {
  786. float: left;
  787. width: 20%;
  788. text-align: left;
  789. text-indent: 0.1rem;
  790. }
  791. .bg > h5 .nameMd {
  792. width: 60%;
  793. text-align: center;
  794. text-indent: 0;
  795. }
  796. .pk_container li .user {
  797. width: 100%;
  798. overflow: visible;
  799. display: block;
  800. margin: 0 auto;
  801. }
  802. .pk_container .user .ult {
  803. width: 33.333%;
  804. float: left;
  805. overflow: visible;
  806. flex-direction: column;
  807. }
  808. .pk_container .user .umd {
  809. width: 33.333%;
  810. float: left;
  811. overflow: visible;
  812. flex-direction: column
  813. }
  814. .pk_container .user .urt {
  815. width: 33.333%;
  816. float: right;
  817. flex-direction: column;
  818. }
  819. .centerLi .slowJump {
  820. animation: mymove 3s infinite;
  821. -webkit-animation: mymove 3s infinite; /*Safari and Chrome*/
  822. animation-direction: alternate; /*轮流反向播放动画。*/
  823. animation-timing-function: ease-in-out; /*动画的速度曲线*/
  824. /* Safari 和 Chrome */
  825. -webkit-animation: mymove 3s infinite;
  826. -webkit-animation-direction: alternate; /*轮流反向播放动画。*/
  827. -webkit-animation-timing-function: ease-in-out; /*动画的速度曲线*/
  828. }
  829. .user .ult span {
  830. width: 100%;
  831. overflow: hidden;
  832. display: block;
  833. margin: 0 auto;
  834. font-family: "Source Han Sans CN";
  835. font-weight: normal;
  836. font-size: 0.3rem;
  837. text-align: center;
  838. }
  839. .user .ult em {
  840. width: 100%;
  841. overflow: hidden;
  842. display: block;
  843. margin: 0 auto;
  844. }
  845. .user .ult em div {
  846. width: 80%;
  847. overflow: hidden;
  848. float: right;
  849. text-align: right;
  850. padding-right: 0.3rem;
  851. font-size: 0.8rem;
  852. line-height: 1.8rem;
  853. }
  854. .user .ult s {
  855. position: relative;
  856. top: -1.2rem;
  857. right: 0rem;
  858. float: right;
  859. font-family: HeadLineA;
  860. font-weight: normal;
  861. font-size: 0.3rem;
  862. text-align: center;
  863. text-decoration: none;
  864. }
  865. .circle {
  866. width: 1.7rem;
  867. height: 1.7rem;
  868. overflow: visible;
  869. display: block;
  870. margin: 0 auto;
  871. border-radius: 33rem;
  872. padding-top: 0.09rem;
  873. }
  874. .user .umd img {
  875. width: 1.5rem;
  876. height: 1.5rem;
  877. overflow: hidden;
  878. display: block;
  879. margin: 0 auto;
  880. /*border-radius: 33rem;*/
  881. border-radius: 33rem;
  882. border: 0.1rem solid #B9CB01;
  883. }
  884. .urt img {
  885. position: relative;
  886. right: 0.1rem;
  887. top: -1.2rem;
  888. width: 0.35rem;
  889. height: 0.35rem;
  890. float: right;
  891. }
  892. .urt em {
  893. overflow: hidden;
  894. display: block;
  895. margin: 0 auto;
  896. font-family: HeadLineA;
  897. font-weight: normal;
  898. font-size: 0.7rem;
  899. letter-spacing: -0.05em;
  900. text-align: right;
  901. font-style: normal;
  902. line-height: 1.8rem;
  903. padding-right: 25%;
  904. }
  905. .bottomLi {
  906. width: 98%;
  907. overflow: hidden;
  908. display: block;
  909. margin: 0 auto;
  910. font-weight: normal;
  911. color: #fff;
  912. text-align: center;
  913. font-size: 0.4rem;
  914. text-indent: 0.2rem;
  915. }
  916. .bottomLi img {
  917. /*width: 0.24rem;*/
  918. /*height: 0.24rem;*/
  919. float: left;
  920. margin-left: 10%;
  921. }
  922. .bottomLi span {
  923. float: left;
  924. text-align: left;
  925. }
  926. .bottomLi .btcla {
  927. width: 30%;
  928. float: left;
  929. text-align: left;
  930. }
  931. .bottomLi .btck {
  932. width: 40%;
  933. float: left;
  934. text-align: left;
  935. }
  936. .bottomLi .step {
  937. width: 30%;
  938. float: right;
  939. text-align: left;
  940. }
  941. @keyframes mymove {
  942. 0% {
  943. transform: scale(1); /*开始为原始大小*/
  944. }
  945. 25% {
  946. transform: scale(1.2); /*放大1.1倍*/
  947. }
  948. 50% {
  949. transform: scale(1);
  950. }
  951. 75% {
  952. transform: scale(1.2);
  953. }
  954. }
  955. @-webkit-keyframes mymove /*Safari and Chrome*/
  956. {
  957. 0% {
  958. transform: scale(1); /*开始为原始大小*/
  959. }
  960. 25% {
  961. transform: scale(1.2); /*放大1.1倍*/
  962. }
  963. 50% {
  964. transform: scale(1);
  965. }
  966. 75% {
  967. transform: scale(1.2);
  968. }
  969. }
  970. .md {
  971. width: 30%;
  972. overflow: hidden;
  973. float: left;
  974. }
  975. .partInfo {
  976. width: 100%;
  977. overflow: hidden;
  978. display: block;
  979. margin: 0 auto;
  980. padding-top: 1rem;
  981. }
  982. .partInfo .rp, .partInfo .bp {
  983. width: 50%;
  984. float: left;
  985. }
  986. .partInfo .title {
  987. width: 33%;
  988. overflow: hidden;
  989. display: block;
  990. margin: 0;
  991. font-size: 0.4rem;
  992. color: #fff;
  993. text-align: left;
  994. }
  995. .rtitle {
  996. float: left;
  997. padding-left: 0.25rem;
  998. }
  999. .partInfo .btitle {
  1000. width: 30%;
  1001. float: right;
  1002. }
  1003. .partInfo .title img {
  1004. width: 0.4rem;
  1005. float: left;
  1006. margin-right: 0.2rem;
  1007. }
  1008. .cubelist {
  1009. width: 100%;
  1010. overflow: hidden;
  1011. display: block;
  1012. margin: 0 auto;
  1013. }
  1014. .cubelist .cubes {
  1015. width: 33%;
  1016. height: 2rem;
  1017. overflow: hidden;
  1018. float: left;
  1019. background-position: top center;
  1020. }
  1021. .cubelist .vs {
  1022. width: 33%;
  1023. height: 2rem;
  1024. overflow: hidden;
  1025. float: left;
  1026. }
  1027. .cubelist .cubes em {
  1028. width: 80%;
  1029. overflow: hidden;
  1030. display: block;
  1031. margin: 0 auto;
  1032. text-align: center;
  1033. font-size: 0.3rem;
  1034. font-style: normal;
  1035. color: #fff;
  1036. line-height: 2rem;
  1037. }
  1038. .cubes.rcube {
  1039. background: url("../static/img/pk/rcube.png");
  1040. background-size: 100% 100%;
  1041. }
  1042. .cubes.bcube {
  1043. background: url("../static/img/pk/bcube.png");
  1044. background-size: 100% 100%;
  1045. }
  1046. .teamScore {
  1047. width: 100%;
  1048. overflow: hidden;
  1049. display: block;
  1050. margin: 0 auto;
  1051. }
  1052. .teamScore div {
  1053. width: 50%;
  1054. float: left;
  1055. text-align: center;
  1056. color: #fff;
  1057. font-size: 0.6rem;
  1058. }
  1059. .bottomInfo {
  1060. width: 100%;
  1061. overflow: hidden;
  1062. display: block;
  1063. margin: 0 auto;
  1064. }
  1065. .bottomInfo .names {
  1066. width: 98%;
  1067. height: 0.6rem;
  1068. border-radius: 36px;
  1069. background: #0925b4;
  1070. border: 2px solid rgba(255, 255, 255, 0.5);
  1071. font-size: 0.4rem;
  1072. font-family: Roboto;
  1073. font-weight: normal;
  1074. text-align: center;
  1075. color: #e1ff00;
  1076. overflow: hidden;
  1077. display: block;
  1078. margin: 0 auto;
  1079. margin-top: 0.2rem;
  1080. }
  1081. .teacher {
  1082. width: 100%;
  1083. overflow: hidden;
  1084. display: block;
  1085. margin: 0 auto;
  1086. margin-top: 0.1rem;
  1087. margin-bottom: 0.1rem;
  1088. color: #fff;
  1089. font-size: 0.3rem;
  1090. }
  1091. .teacher span {
  1092. width: 100%;
  1093. overflow: hidden;
  1094. display: block;
  1095. margin: 0 auto;
  1096. }
  1097. .classTime {
  1098. width: 100%;
  1099. overflow: hidden;
  1100. display: block;
  1101. margin: 0 auto;
  1102. color: #fff;
  1103. text-align: center;
  1104. }
  1105. .fastJump {
  1106. animation: mymove 1s infinite;
  1107. -webkit-animation: mymove 1s infinite; /*Safari and Chrome*/
  1108. animation-direction: alternate; /*轮流反向播放动画。*/
  1109. animation-timing-function: ease-in-out; /*动画的速度曲线*/
  1110. /* Safari 和 Chrome */
  1111. -webkit-animation: mymove 1s infinite;
  1112. -webkit-animation-direction: alternate; /*轮流反向播放动画。*/
  1113. -webkit-animation-timing-function: ease-in-out; /*动画的速度曲线*/
  1114. }
  1115. .slowJump {
  1116. animation: mymove 2s infinite;
  1117. -webkit-animation: mymove 2s infinite; /*Safari and Chrome*/
  1118. animation-direction: alternate; /*轮流反向播放动画。*/
  1119. animation-timing-function: ease-in-out; /*动画的速度曲线*/
  1120. /* Safari 和 Chrome */
  1121. -webkit-animation: mymove 3s infinite;
  1122. -webkit-animation-direction: alternate; /*轮流反向播放动画。*/
  1123. -webkit-animation-timing-function: ease-in-out; /*动画的速度曲线*/
  1124. }
  1125. /*two*/
  1126. .pk_container li.two {
  1127. width: 90%;
  1128. overflow: hidden;
  1129. display: block;
  1130. }
  1131. .two .bottomLi {
  1132. width: 98%;
  1133. font-size: 0.35rem;
  1134. margin-top: 0.3rem;
  1135. text-align: center;
  1136. }
  1137. .two .bottomLi img {
  1138. width: 0.4rem;
  1139. height: 0.4rem;
  1140. margin-top: 0.15rem;
  1141. }
  1142. .two .bottomLi .btck img {
  1143. width: 0.4rem;
  1144. margin-top: 0.1rem;
  1145. }
  1146. .two .bottomLi span {
  1147. line-height: 0.8rem;
  1148. text-indent: 0.1rem;
  1149. }
  1150. .two .bottomLi .btcla {
  1151. width: 30%;
  1152. }
  1153. .two .bottomLi .btck {
  1154. width: 33%;
  1155. padding-left: 3%;
  1156. }
  1157. .two .bottomLi .step {
  1158. width: 28%;
  1159. padding-right: 0%;
  1160. }
  1161. .two .cla em.plus {
  1162. position: relative;
  1163. left: -0.3rem
  1164. }
  1165. .two .lhj span.plus {
  1166. position: relative;
  1167. left: 1.3rem
  1168. }
  1169. .two .bottomLi .btck img {
  1170. width: 0.5rem;
  1171. height: 0.5rem;
  1172. margin-top: 0.12rem;
  1173. }
  1174. .two .urt img {
  1175. width: 0.3rem;
  1176. height: 0.3rem;
  1177. }
  1178. /*three*/
  1179. .pk_container li.three {
  1180. width: 90%;
  1181. overflow: hidden;
  1182. display: block;
  1183. }
  1184. .three .bottomLi {
  1185. width: 98%;
  1186. font-size: 0.35rem;
  1187. margin-top: 0rem;
  1188. text-align: center;
  1189. }
  1190. .three .circle {
  1191. width: 1.2rem;
  1192. height: 1.2rem;
  1193. }
  1194. .three .circle img {
  1195. width: 0.9rem;
  1196. height: 0.9rem;
  1197. }
  1198. .three .user {
  1199. height: 1.2rem;
  1200. overflow: hidden;
  1201. }
  1202. .three .ult em div {
  1203. line-height: 1.2rem;
  1204. }
  1205. .three .user .ult em {
  1206. height: 1rem;
  1207. }
  1208. .three .urt em {
  1209. line-height: 1.2rem;
  1210. }
  1211. .three .user .urt {
  1212. height: 1rem;
  1213. }
  1214. .three .bottomLi img {
  1215. width: 0.4rem;
  1216. height: 0.4rem;
  1217. margin-top: 0.15rem;
  1218. }
  1219. .three .bottomLi .btck img {
  1220. width: 0.4rem;
  1221. margin-top: 0.1rem;
  1222. }
  1223. .three .bottomLi span {
  1224. line-height: 0.8rem;
  1225. text-indent: 0.1rem;
  1226. }
  1227. .three .bottomLi .btcla {
  1228. width: 30%;
  1229. }
  1230. .three .bottomLi .btck {
  1231. width: 33%;
  1232. padding-left: 3%;
  1233. }
  1234. .three .bottomLi .step {
  1235. width: 28%;
  1236. padding-right: 0%;
  1237. }
  1238. .three .cla em.plus {
  1239. position: relative;
  1240. left: -0.3rem
  1241. }
  1242. .three .lhj span.plus {
  1243. position: relative;
  1244. left: 1.3rem
  1245. }
  1246. .three .bottomLi .btck img {
  1247. width: 0.5rem;
  1248. height: 0.5rem;
  1249. margin-top: 0.12rem;
  1250. }
  1251. /*four*/
  1252. .pk_container .four {
  1253. width: 49%;
  1254. float: left;
  1255. /*margin-top: 0.4rem;*/
  1256. /*margin-bottom: 0.5rem;*/
  1257. }
  1258. .four .bg {
  1259. width: 96%;
  1260. overflow: hidden;
  1261. display: block;
  1262. margin: 0 auto;
  1263. }
  1264. .pk_container li.four .bg > h5 {
  1265. font-size: 0.25rem;
  1266. }
  1267. .four .user .ult span {
  1268. font-size: 0.2rem;
  1269. }
  1270. .four .user .ult em div {
  1271. width: 90%;
  1272. font-size: 0.5rem;
  1273. line-height: 1.1rem;
  1274. padding-right: 0.2rem;
  1275. }
  1276. .four .user .ult s {
  1277. font-size: 0.2rem;
  1278. line-height: 1rem;
  1279. height: 1rem;
  1280. overflow: hidden;
  1281. }
  1282. .four .user .ult em {
  1283. height: 1.1rem;
  1284. }
  1285. .four .circle {
  1286. width: 1rem;
  1287. height: 1rem;
  1288. }
  1289. .four .user .umd img {
  1290. width: 0.8rem;
  1291. height: 0.8rem;
  1292. }
  1293. .four .urt img {
  1294. width: 0.15rem;
  1295. height: 0.15rem;
  1296. top: -0.8rem;
  1297. }
  1298. .four .urt em {
  1299. font-size: 0.4rem;
  1300. line-height: 1.1rem;
  1301. }
  1302. .four .bottomLi {
  1303. width: 100%;
  1304. text-indent: 0.1rem;
  1305. font-size: 0.2rem;
  1306. }
  1307. .four .bottomLi img {
  1308. width: 0.2rem;
  1309. height: 0.2rem;
  1310. }
  1311. .four .bottomLi span {
  1312. width: 60%;
  1313. }
  1314. .four .user {
  1315. height: 1.2rem;
  1316. overflow: hidden;
  1317. }
  1318. /*six*/
  1319. /*eight*/
  1320. .eight {
  1321. width: 49%;
  1322. float: left;
  1323. }
  1324. .eight .bg {
  1325. width: 96%;
  1326. overflow: hidden;
  1327. display: block;
  1328. margin: 0 auto;
  1329. }
  1330. .pk_container li.eight .bg > h5 {
  1331. font-size: 0.25rem;
  1332. margin: 0.01rem 0;
  1333. }
  1334. .eight .user .ult span {
  1335. font-size: 0.2rem;
  1336. }
  1337. .eight .user .ult em div {
  1338. width: 90%;
  1339. margin-right: 0rem;
  1340. font-size: 0.5rem;
  1341. line-height: 1rem;
  1342. padding-right: 0.2rem;
  1343. }
  1344. .eight .user .ult s {
  1345. font-size: 0.2rem;
  1346. line-height: 1rem;
  1347. }
  1348. .eight .circle {
  1349. width: 1rem;
  1350. height: 1rem;
  1351. }
  1352. .eight .user .umd img {
  1353. width: 0.8rem;
  1354. height: 0.8rem;
  1355. }
  1356. .eight .urt img {
  1357. width: 0.15rem;
  1358. height: 0.15rem;
  1359. top: -0.8rem;
  1360. }
  1361. .eight .urt em {
  1362. font-size: 0.4rem;
  1363. line-height: 1rem;
  1364. }
  1365. .eight .user .ult em {
  1366. height: 1.1rem;
  1367. }
  1368. .eight .bottomLi {
  1369. width: 100%;
  1370. text-indent: 0.1rem;
  1371. font-size: 0.2rem;
  1372. }
  1373. .eight .bottomLi img {
  1374. width: 0.2rem;
  1375. height: 0.2rem;
  1376. }
  1377. .eight .bottomLi span {
  1378. width: 60%;
  1379. }
  1380. .eight .user {
  1381. height: 1.2rem;
  1382. overflow: hidden;
  1383. }
  1384. .eight .bg h5 {
  1385. width: 100%;
  1386. overflow: hidden;
  1387. display: block;
  1388. margin: 0 auto;
  1389. }
  1390. .eight .nameMd {
  1391. font-size: 0.22rem;
  1392. }
  1393. .pk_container .rt li {
  1394. float: right;
  1395. }
  1396. /*color*/
  1397. .user .umd img.blue {
  1398. border-color: #028FE1;
  1399. }
  1400. .user .umd img.violet {
  1401. border-color: #6D26FA;
  1402. }
  1403. .user .umd img.green {
  1404. border-color: #059F00;
  1405. }
  1406. .user .umd img.yellow {
  1407. border-color: #B5C700;
  1408. }
  1409. .user .umd img.brown {
  1410. border-color: #EA8813;
  1411. }
  1412. .user .umd img.red {
  1413. border-color: #CF1122;
  1414. }
  1415. .birth {
  1416. position: relative;
  1417. top: -2rem;
  1418. width: 1.7rem;
  1419. height: 1px;
  1420. display: block;
  1421. margin: 0 auto;
  1422. }
  1423. .birth img.birthCrow {
  1424. position: relative;
  1425. top: 0.2rem;
  1426. width: 1.1rem;
  1427. height: 0.4rem;
  1428. overflow: hidden;
  1429. display: block;
  1430. margin: 0 auto;
  1431. border: none;
  1432. }
  1433. .birth img.birthText {
  1434. position: relative;
  1435. top: 1rem;
  1436. width: 1.6rem;
  1437. height: 0.6rem;
  1438. overflow: hidden;
  1439. display: block;
  1440. margin: 0 auto;
  1441. border: none;
  1442. }
  1443. .three .birth img.birthCrow {
  1444. top: 0.7rem;
  1445. width: 0.8rem;
  1446. height: 0.3rem;
  1447. }
  1448. .three .birth img.birthText {
  1449. top: 1.1rem;
  1450. width: 1.3rem;
  1451. height: 0.6rem;
  1452. }
  1453. .four .birth {
  1454. width: 1rem;
  1455. }
  1456. .four .birth img.birthCrow {
  1457. top: 0.9rem;
  1458. width: 0.7rem;
  1459. height: 0.3rem;
  1460. }
  1461. .four .birth img.birthText {
  1462. top: 1.3rem;
  1463. width: 1rem;
  1464. height: 0.4rem;
  1465. }
  1466. .eight .birth {
  1467. width: 1rem;
  1468. }
  1469. .eight .birth img.birthCrow {
  1470. top: 0.9rem;
  1471. width: 0.7rem;
  1472. height: 0.3rem;
  1473. }
  1474. .eight .birth img.birthText {
  1475. top: 1.3rem;
  1476. width: 1rem;
  1477. height: 0.4rem;
  1478. }
  1479. /*isPrivate*/
  1480. .isPrivate {
  1481. position: relative;
  1482. float: right;
  1483. right: -0.4rem;
  1484. width: 55%;
  1485. height: 1px;
  1486. display: block;
  1487. margin: 0 auto;
  1488. overflow: visible;
  1489. }
  1490. .isPrivate i {
  1491. overflow: hidden;
  1492. display: block;
  1493. margin: 0 auto;
  1494. margin-top: 0.2rem;
  1495. width: 0.8rem !important;
  1496. height: 0.8rem !important;
  1497. border: none !important;
  1498. background: url("../static/img/privateSign.svg");
  1499. background-size: 100% 100%;
  1500. background-position: top center;
  1501. }
  1502. .two .isPrivate {
  1503. top: -2rem;
  1504. }
  1505. .three .isPrivate {
  1506. top: -1.45rem;
  1507. right: -0.15rem;
  1508. }
  1509. .three .isPrivate i {
  1510. width: 0.5rem !important;
  1511. height: 0.5rem !important;
  1512. }
  1513. .four .isPrivate {
  1514. top: -1.25rem;
  1515. right: -0.27rem;
  1516. }
  1517. .four .isPrivate i {
  1518. width: 0.4rem !important;
  1519. height: 0.4rem !important;
  1520. }
  1521. .eight .isPrivate {
  1522. top: -1.25rem;
  1523. right: -0.22rem;
  1524. }
  1525. .eight .isPrivate i {
  1526. width: 0.4rem !important;
  1527. height: 0.4rem !important;
  1528. }
  1529. </style>