index_bak.vue 39 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667
  1. <template>
  2. <div id="report_container">
  3. <!-- 头部信息 -->
  4. <view class="user_info">
  5. <img :src="userinfo.portrait"/>
  6. <view class="info_wrap">
  7. <view class="box_wrap margin-bottom-sm box_wrap_left">
  8. <text class="text-bold text-xl">{{ record.user_name }}</text>
  9. <text class="info_right">{{ record.start_time }}</text>
  10. </view>
  11. <view class="box_wrap box_wrap_right">
  12. <text>{{ record.phone }}</text>
  13. <text class="info_right">训练时间:{{ record.play_time }}</text>
  14. </view>
  15. </view>
  16. </view>
  17. <div v-if="report_show">
  18. <div class="bran_wrap margin-bottom">
  19. <img
  20. src="http://img.shuimuai.com/report_ brain_coefficient.png"
  21. alt=""
  22. >
  23. <div class="bran">
  24. <p class="p_num">{{ record.ratio }}</p>
  25. <p class="p_text">智脑系数</p>
  26. </div>
  27. </div>
  28. <view>
  29. <van-divider
  30. contentPosition="left"
  31. borderColor="#E98F36"
  32. >
  33. <van-image
  34. src="https://img.shuimuai.com/line.png"
  35. alt=""
  36. width="40"
  37. height="40"
  38. ></van-image>
  39. </van-divider>
  40. </view>
  41. <!-- 专注力维持区间、受干扰次数,专注力最大爆发值、专注力启动时长-->
  42. <view class="margin-tb">
  43. <!-- 高专注力占比 -->
  44. <view class="margin_left">
  45. <view class="hight_pie_chart">
  46. <mpvue-echarts
  47. :echarts="echarts"
  48. :onInit="hight_att_charts"
  49. canvasId="demo-canvas-interfere"
  50. />
  51. </view>
  52. <view class="left_content">
  53. <view class="left_num">{{ record.height_absorbed }}<text class="textLil text-gray">%</text></view>
  54. <view class="left_text">高专注<br/>&nbsp;占比</view>
  55. </view>
  56. </view>
  57. <!-- 数据详情 -->
  58. <view class="margin_centent">
  59. <view class="detail">
  60. <te class="detail_num">{{ record.scope_diff }}</te>
  61. <view>专注力维持区间</view>
  62. </view>
  63. <view class="detail">
  64. <view class="detail_num">{{ record.interfere }}<text class="textLil text-gray">次</text></view>
  65. <view>受干扰次数</view>
  66. </view>
  67. <view class="detail">
  68. <view class="detail_num">{{ record.burst }}</view>
  69. <view>专注力最大爆发值</view>
  70. </view>
  71. <view class="detail">
  72. <view class="detail_num">{{ record.start }}<text class="textLil text-gray">秒</text></view>
  73. <view>专注力启动时长</view>
  74. </view>
  75. </view>
  76. <!-- 平均专注力 -->
  77. <view class="margin_right ">
  78. <view class="right_num">{{ record.att_average_big }}<text class="text-sm">{{ record.att_average_lil }}</text></view>
  79. <view class="right_text">专注力平均值</view>
  80. </view>
  81. <view class="margin_right ">
  82. <view class="right_num">{{ record.average_med }}</view>
  83. <view class="right_text">放松度平均值</view>
  84. </view>
  85. </view>
  86. <view class="bar">
  87. <view>
  88. <view class="line"></view>
  89. <view class="title">专注力要素分析</view>
  90. </view>
  91. </view>
  92. <view class="radar_chart">
  93. <mpvue-echarts
  94. :echarts="echarts"
  95. :onInit="radar_charts"
  96. canvasId="demo-canvas2"
  97. />
  98. </view>
  99. <view class="divide_line"></view>
  100. <view class="">
  101. <view class="bar">
  102. <view>
  103. <view class="line"></view>
  104. <view class="title">报告分析</view>
  105. </view>
  106. </view>
  107. <view class="conclution">{{ record.content }}</view>
  108. <!-- <view class="conclution">{{ record.content2 }}</view> -->
  109. <view class="divide_line"></view>
  110. <view class="bar">
  111. <view>
  112. <view class="line"></view>
  113. <view class="title">训练建议</view>
  114. </view>
  115. </view>
  116. <view class="conclution">{{ record.advise }}</view>
  117. <view class="divide_line"></view>
  118. </view>
  119. <view class="bar">
  120. <view>
  121. <view class="line"></view>
  122. <view class="title">专注力数值曲线</view>
  123. </view>
  124. <view class="label">
  125. <view>
  126. <view class="dot dot-Att"></view>
  127. <text class="name">Att(专注度)</text>
  128. </view>
  129. <view>
  130. <view class="dot dot-Med"></view>
  131. <text class="name">Med(放松度)</text>
  132. </view>
  133. <view>
  134. <view class="dot dot-Amp"></view>
  135. <text class="name">Amp(和谐度)</text>
  136. </view>
  137. </view>
  138. </view>
  139. <view class="chart chart_line">
  140. <mpvue-echarts
  141. :echarts="echarts"
  142. :onInit="attCharts"
  143. canvasId="demo-canvas"
  144. />
  145. </view>
  146. <view
  147. class="section_container"
  148. v-if="is_cut"
  149. >
  150. <van-tabs
  151. :active="0"
  152. color="#6858C4"
  153. @change="changeMin"
  154. :swipe-threshold="4"
  155. line-width=54px
  156. >
  157. <van-tab
  158. :name="index"
  159. :title="(2*index)+'-'+(2*(index+1)) + '分钟'"
  160. v-for="(section,index) in data_section"
  161. :key="index"
  162. ></van-tab>
  163. </van-tabs>
  164. </view>
  165. <view class="divide_line" style="margin-top: 20px"></view>
  166. <view class="bar">
  167. <view>
  168. <view class="line"></view>
  169. <view class="title">专注力数值累计比例</view>
  170. </view>
  171. </view>
  172. <view class="flexBoxLand">
  173. <view>
  174. <view class="chart_circle">
  175. <mpvue-echarts
  176. :echarts="echarts"
  177. :onInit="pie_charts"
  178. canvasId="demo-canvas-1"
  179. />
  180. </view>
  181. <view class="left_content">
  182. <view class="left_text">专注力数值</view>
  183. <view class="left_text">比例</view>
  184. </view>
  185. </view>
  186. <!-- 右侧标签 -->
  187. <view class="flexBoxVer">
  188. <view class="flexBoxLand colorChangeWrap">
  189. <view
  190. class="colorChange"
  191. id="changeFirst"
  192. >81-100
  193. </view>
  194. <view class="colorChangeTime">{{ record.level_time4 }}({{ record.level_ratio4 }}%)</view>
  195. </view>
  196. <view class="flexBoxLand colorChangeWrap">
  197. <view
  198. class="colorChange"
  199. id="changeSecond"
  200. >61-80
  201. </view>
  202. <view class="colorChangeTime">{{ record.level_time3 }}({{ record.level_ratio3 }}%)</view>
  203. </view>
  204. <view class="flexBoxLand colorChangeWrap">
  205. <view
  206. class="colorChange"
  207. id="changeThird"
  208. >41-60
  209. </view>
  210. <view class="colorChangeTime">{{ record.level_time2 }}({{ record.level_ratio2 }}%)</view>
  211. </view>
  212. <view class="flexBoxLand colorChangeWrap">
  213. <view
  214. class="colorChange"
  215. id="changeFourth"
  216. >21-40
  217. </view>
  218. <dview class="colorChangeTime">{{ record.level_time1 }}({{ record.level_ratio1 }}%)</dview>
  219. </view>
  220. <view class="flexBoxLand">
  221. <view
  222. class="colorChange"
  223. id="changeFifth"
  224. >00-20
  225. </view>
  226. <view class="colorChangeTime">{{ record.level_time0 }}({{ record.level_ratio0 }}%)</view>
  227. </view>
  228. </view>
  229. </view>
  230. <view class="divide_line"></view>
  231. <!-- 核销详情 -->
  232. <view class="bar">
  233. <view>
  234. <view class="line"></view>
  235. <view class="title">核销详情</view>
  236. </view>
  237. </view>
  238. <view class="sheet">
  239. <view class="left">
  240. <view>专注力训练设备: {{ record.name }}</view>
  241. </view>
  242. <view class="right">
  243. <view>核销方式:
  244. <text v-if="record.consumption_type==1">次卡</text>
  245. <text v-if="record.consumption_type==2">时间卡</text>
  246. </view>
  247. </view>
  248. </view>
  249. <view class="divide_line"></view>
  250. <!-- 专注力变化看板 -->
  251. <view class="absorbed_change">
  252. <view class="bar">
  253. <view class="interfere_title_wrap">
  254. <view class="line"></view>
  255. <view class="title">专注力变化分析</view>
  256. </view>
  257. </view>
  258. <!-- 看板一 干扰 -->
  259. <view class="flex justify-center">
  260. <view class="interfere_wrap">
  261. <view class="interfere">
  262. <img
  263. src="http://img.shuimuai.com/program_interfere_log.png"
  264. alt=""
  265. class="interfere_logo"
  266. >
  267. <view class="interfere_text">
  268. 受干扰次数:
  269. <title class="interfere_text_num"> {{record.interfere}}</title>
  270. </view>
  271. </view>
  272. <!-- 表图 -->
  273. <view class="interfere_echarts_wrap">
  274. <view class="interfere_echarts">
  275. <mpvue-echarts
  276. :echarts="echarts"
  277. :onInit="interfere_charts"
  278. canvasId="demo-canvas-4"
  279. />
  280. </view>
  281. <view class="interfere_echarts_bottom">
  282. <text>0</text>
  283. <text>2</text>
  284. <text>4</text>
  285. <text>6</text>
  286. <text>8</text>
  287. <text>10</text>
  288. <text>12</text>
  289. <text>14</text>
  290. <text>16</text>
  291. <text>18</text>
  292. <text>20</text>
  293. </view>
  294. </view>
  295. <view class="interfere_footer">
  296. <title class="interfere_footer_logo"></title>专注力干扰
  297. </view>
  298. </view>
  299. </view>
  300. <!-- 调整能力分析 -->
  301. <view class="flex justify-center">
  302. <view class="adjustment_warp">
  303. <view class="adjustment_title">
  304. <img
  305. src="http://img.shuimuai.com/program_rise_log.png"
  306. alt=""
  307. class="adjustment_title_logo"
  308. >
  309. <text>调整能力分析</text>
  310. </view>
  311. <!-- 表图 -->
  312. <view class="adjustment_echarts_wrap">
  313. <view class="adjustment_echarts">
  314. <mpvue-echarts
  315. :echarts="echarts"
  316. :onInit="adjustment_charts"
  317. canvasId="demo-canvas-5"
  318. />
  319. </view>
  320. <view class="adjustment_echarts_bottom">
  321. <text>0</text>
  322. <text>2</text>
  323. <text>4</text>
  324. <text>6</text>
  325. <text>8</text>
  326. <text>10</text>
  327. <text>12</text>
  328. <text>14</text>
  329. <text>16</text>
  330. <text>18</text>
  331. <text>20</text>
  332. </view>
  333. </view>
  334. <view class="adjustment_footer">
  335. <view class="adjustment_footer_logo"></view>专注力上升
  336. </view>
  337. </view>
  338. </view>
  339. <!-- 爆发值和调整时间 -->
  340. <view class="absorbed_change_footer">
  341. <view class="footer_text">
  342. 最大爆发值:
  343. <text class="footer_text_W">{{ record.burst }}</text>
  344. </view>
  345. <view class="footer_text">
  346. 平均调整时间:
  347. <text class="footer_text_W">{{ record.burstTime}}</text>
  348. s
  349. </view>
  350. </view>
  351. </view>
  352. <!-- Aipha/Beta脑波变化曲线图 -->
  353. <view class="absorbed_change">
  354. <view class="bar">
  355. <view class="interfere_title_wrap">
  356. <view class="line"></view>
  357. <view class="title">Alpha/Beta脑波变化曲线图</view>
  358. </view>
  359. <view class="label_up">
  360. <view>
  361. <view class="dot dot-Low-Alpha"></view>
  362. <text class="name">Low-Alpha</text>
  363. </view>
  364. <view>
  365. <view class="dot dot-High-Alpha"></view>
  366. <text class="name">High-Alpha</text>
  367. </view>
  368. <view style="margin-right:5px">
  369. <view class="dot dot-Low-Beta"></view>
  370. <text class="name">Low-Beta</text>
  371. </view>
  372. <view>
  373. <view class="dot dot-High-Beta"></view>
  374. <text class="name">High-Beta</text>
  375. </view>
  376. </view>
  377. </view>
  378. <view class="chart chart_line">
  379. <mpvue-echarts
  380. :echarts="echarts"
  381. :onInit="alpha_betaCharts"
  382. canvasId="demo-canvas-a1"
  383. />
  384. </view>
  385. <view
  386. class="section_container"
  387. v-if="is_cut"
  388. >
  389. <van-tabs
  390. :active="0"
  391. color="#6858C4"
  392. @change="changeABMin"
  393. :swipe-threshold="4"
  394. line-width=54px
  395. >
  396. <van-tab
  397. :name="index"
  398. :title="(2*index)+'-'+(2*(index+1)) + '分钟'"
  399. v-for="(section,index) in data_section"
  400. :key="index"
  401. ></van-tab>
  402. </van-tabs>
  403. </view>
  404. </view>
  405. <!-- Delta/theta脑波变化曲线图 -->
  406. <!-- <view class="absorbed_change ">
  407. <view class="bar">
  408. <view class="interfere_title_wrap">
  409. <view class="line"></view>
  410. <view class="title">Delta/Theta脑波变化曲线图</view>
  411. </view>
  412. <view class="label">
  413. <view>
  414. <view class="dot dot-Delta"></view>
  415. <text class="name">Delta</text>
  416. </view>
  417. <view>
  418. <view class="dot dot-Theta"></view>
  419. <text class="name">Theta</text>
  420. </view>
  421. </view>
  422. </view>
  423. <view class="chart chart_line">
  424. <mpvue-echarts
  425. :echarts="echarts"
  426. :onInit="delta_thetaCharts"
  427. canvasId="demo-canvas-a2"
  428. />
  429. </view>
  430. <view
  431. class="section_container"
  432. v-if="is_cut"
  433. >
  434. <van-tabs
  435. :active="0"
  436. color="#6858C4"
  437. @change="changeDTMin"
  438. :swipe-threshold="4"
  439. line-width=54px
  440. >
  441. <van-tab
  442. :name="index"
  443. :title="(2*index)+'-'+(2*(index+1)) + '分钟'"
  444. v-for="(section,index) in data_section"
  445. :key="index"
  446. ></van-tab>
  447. </van-tabs>
  448. </view>
  449. </view> -->
  450. </div>
  451. <div v-if="!report_show" class="boxVer margin-top-xl">
  452. <img src="https://img.shuimuai.com/time_short.png" class="margin-bottom-xl" style="width: 73px;height: 83px;">
  453. <view class="conclution margin-top-xl">数据传输异常,水母星球AI数据系统无法进行训练分析,艾米正在紧急联系星球指挥官。</view>
  454. </div>
  455. <van-toast id="van-toast"/>
  456. <!-- 五角图解释弹窗 -->
  457. <view :hidden="!is_explainShow">
  458. <cover-view class="radar_explain_bg" @click="closeRadarExplain"></cover-view>
  459. <!-- 平均值 -->
  460. <cover-view class="radar_explain_wrap">
  461. <cover-view class="flex justify-center radar_explain_view grid padding-lg" v-if="radar_indication_type==1">
  462. <cover-view class="text-black text-bold">专注力平均值</cover-view>
  463. <cover-view class="text_explain_center">
  464. <cover-view class="text_explain_wrap">本次训练的专注力平均水平,平均值越高越好</cover-view>
  465. </cover-view>
  466. </cover-view>
  467. <!-- 占比 -->
  468. <cover-view class="flex justify-center radar_explain_view grid padding-lg" v-if="radar_indication_type==2">
  469. <cover-view class="text-black text-bold">高专注占比</cover-view>
  470. <cover-view class="text_explain_center">
  471. <cover-view class="text_explain_wrap">大于65分的高专注值在本次训练中的占比,高专注占比越高越好</cover-view>
  472. </cover-view>
  473. </cover-view>
  474. <!-- 唤醒 -->
  475. <cover-view class="flex justify-center radar_explain_view grid padding-lg" v-if="radar_indication_type==3">
  476. <cover-view class="text-black text-bold">专注唤醒效率</cover-view>
  477. <cover-view class="text_explain_center">
  478. <cover-view class="text_explain_wrap">从训练开始到专注值达到60所需时间效率,唤醒效率越高越好</cover-view>
  479. </cover-view>
  480. </cover-view>
  481. <!-- 和谐度 -->
  482. <cover-view class="flex justify-center radar_explain_view grid padding-lg" v-if="radar_indication_type==4">
  483. <cover-view class="text-black text-bold">整体和谐度</cover-view>
  484. <cover-view class="text_explain_center">
  485. <cover-view class="text_explain_wrap">在专注训练过程中对于目标压力的管理水平和情绪稳定水平,和谐度越高越好</cover-view>
  486. </cover-view>
  487. </cover-view>
  488. <!-- 稳定度 -->
  489. <cover-view class="flex justify-center radar_explain_view grid padding-lg" v-if="radar_indication_type==5">
  490. <cover-view class="text-black text-bold">专注力稳定度</cover-view>
  491. <cover-view class="text_explain_center">
  492. <cover-view class="text_explain_wrap">在训练过程中,专注值的离散程度,稳定度越高代表越稳定</cover-view>
  493. </cover-view>
  494. </cover-view>
  495. </cover-view>
  496. </view>
  497. </div>
  498. </template>
  499. <script>
  500. import mpvueEcharts from "mpvue-echarts";
  501. import echarts from "../../../static/echarts.min";
  502. import util, {
  503. filterPieData,
  504. formatSeconds,
  505. getHightPieChartOption,
  506. getPieChartsOption,
  507. getRadarChartOption,
  508. getInterfereChartsOption,
  509. interfereAction,
  510. getAdjustmentChartsOption,
  511. timestampToTimeS,
  512. } from "../../utils/index";
  513. import {gameDetail} from "../../requests/game";
  514. import game_store from "../../store/game";
  515. import Toast from "../../../static/vant/toast/toast";
  516. var att_charts,
  517. // alpha_beta_charts,
  518. // delta_theta_charts,
  519. hight_att_pie_charts,
  520. radar_charts,
  521. $pie_charts,
  522. $interfere_echarts,
  523. $adjustment_echarts,
  524. $this;
  525. // 大脑图表初始化
  526. function initAttChart(canvas, width, height) {
  527. att_charts = echarts.init(canvas, null, {
  528. width: width,
  529. height: height,
  530. });
  531. canvas.setChart(att_charts);
  532. var option = util.getLineOption([0], [0]); // ECharts 配置项
  533. att_charts.setOption(option);
  534. return att_charts; // 返回 chart 后可以自动绑定触摸操作
  535. }
  536. // function initABChart(canvas, width, height) {
  537. // alpha_beta_charts = echarts.init(canvas, null, {
  538. // width: width,
  539. // height: height,
  540. // });
  541. // canvas.setChart(alpha_beta_charts);
  542. // var option = util.getABOption([0], [0]); // ECharts 配置项
  543. // alpha_beta_charts.setOption(option);
  544. // return alpha_beta_charts; // 返回 chart 后可以自动绑定触摸操作
  545. // }
  546. // function initDTChart(canvas, width, height) {
  547. // delta_theta_charts = echarts.init(canvas, null, {
  548. // width: width,
  549. // height: height,
  550. // });
  551. // canvas.setChart(delta_theta_charts);
  552. // var option = util.getDTOption([0], [0]); // ECharts 配置项
  553. // delta_theta_charts.setOption(option);
  554. // return delta_theta_charts; // 返回 chart 后可以自动绑定触摸操作
  555. // }
  556. // 大脑图表初始化
  557. function initHightPieChart(canvas, width, height) {
  558. hight_att_pie_charts = echarts.init(canvas, null, {
  559. width: width,
  560. height: height,
  561. });
  562. canvas.setChart(hight_att_pie_charts);
  563. var option = getHightPieChartOption(0); // ECharts 配置项
  564. hight_att_pie_charts.setOption(option);
  565. return hight_att_pie_charts; // 返回 chart 后可以自动绑定触摸操作
  566. }
  567. // 大脑图表初始化
  568. function initRadarChart(canvas, width, height) {
  569. radar_charts = echarts.init(canvas, null, {
  570. width: width,
  571. height: height,
  572. });
  573. canvas.setChart(radar_charts);
  574. var option = getRadarChartOption(0); // ECharts 配置项
  575. radar_charts.setOption(option);
  576. // 添加点击事件
  577. radar_charts.on('click', function(params){
  578. if(params.name.indexOf("专注力平均值") != -1) {
  579. $this.radar_indication_type = 1
  580. } else if (params.name.indexOf("高专注占比") != -1) {
  581. $this.radar_indication_type = 2
  582. } else if (params.name.indexOf("专注唤醒效率") != -1) {
  583. $this.radar_indication_type = 3
  584. } else if (params.name.indexOf("整体和谐度") != -1) {
  585. $this.radar_indication_type = 4
  586. } else {
  587. $this.radar_indication_type = 5
  588. }
  589. $this.is_explainShow = true
  590. })
  591. return radar_charts; // 返回 chart 后可以自动绑定触摸操作
  592. }
  593. function initPieChart(canvas, width, height) {
  594. $pie_charts = echarts.init(canvas, null, {
  595. width: width,
  596. height: height,
  597. });
  598. canvas.setChart($pie_charts);
  599. var option = getPieChartsOption(); // ECharts 配置项
  600. $pie_charts.setOption(option);
  601. return $pie_charts; // 返回 chart 后可以自动绑定触摸操作
  602. }
  603. // 干扰图表初始化 interfere_echarts
  604. function interfereChart(canvas, width, height) {
  605. $interfere_echarts = echarts.init(canvas, null, {
  606. width: width,
  607. height: height,
  608. });
  609. canvas.setChart($interfere_echarts);
  610. var option = getInterfereChartsOption(); // ECharts 配置项
  611. $interfere_echarts.setOption(option);
  612. return $interfere_echarts; // 返回 chart 后可以自动绑定触摸操作
  613. }
  614. // 调整能力表初始化 interfere_echarts
  615. function adjustmentCharts(canvas, width, height) {
  616. $adjustment_echarts = echarts.init(canvas, null, {
  617. width: width,
  618. height: height,
  619. });
  620. canvas.setChart($adjustment_echarts);
  621. var option = getAdjustmentChartsOption(); // ECharts 配置项
  622. $adjustment_echarts.setOption(option);
  623. return $adjustment_echarts; // 返回 chart 后可以自动绑定触摸操作
  624. }
  625. export default {
  626. name: "index_container",
  627. components: {
  628. mpvueEcharts,
  629. },
  630. data() {
  631. return {
  632. // 0:未选择 1:时间 2:次数
  633. // 折线图 表格数据
  634. attCharts: initAttChart,
  635. // alpha_betaCharts: initABChart,
  636. // delta_thetaCharts: initDTChart,
  637. hight_att_charts: initHightPieChart,
  638. radar_charts: initRadarChart,
  639. pie_charts: initPieChart,
  640. interfere_charts: interfereChart,
  641. adjustment_charts: adjustmentCharts,
  642. echarts,
  643. record: {},
  644. userinfo: {},
  645. record_id: 0,
  646. //是否截断数据
  647. is_cut: false,
  648. //数据截断数
  649. data_section: 4,
  650. //数据集合
  651. data_lines: [],
  652. // 是否时间太短
  653. report_show: true, // 报告
  654. // 五角图解释弹窗
  655. is_explainShow: false,
  656. radar_indication_type: Number,
  657. };
  658. },
  659. methods: {
  660. // 获取游戏报告
  661. get_report($record_id) {
  662. $this.record = {};
  663. Toast.loading({
  664. forbidClick: true,
  665. message: "加载中",
  666. duration: 0,
  667. });
  668. gameDetail($record_id).then(
  669. (res) => {
  670. wx.nextTick(() => {
  671. Toast.clear();
  672. });
  673. let $res = res.data;
  674. $this.report_show = $res.data.line.length > 0;
  675. // if (!$this.report_show) {
  676. // return false;
  677. // }
  678. setTimeout(() => {
  679. $this.record = $res.data;
  680. let $options = getHightPieChartOption(
  681. $this.record.heightValue,
  682. );
  683. hight_att_pie_charts.setOption($options);
  684. //设置雷达图
  685. $options = getRadarChartOption([
  686. $this.record.att_average, //平均
  687. $this.record.heightValue, //高专注占比
  688. $this.record.awakenLast, //唤醒
  689. $this.record.lineMedValue, //和谐度
  690. $this.record.stableValue, //稳定度
  691. ]);
  692. radar_charts.setOption($options);
  693. // 平均专注力大字
  694. $this.record["att_average_big"] = parseInt(
  695. $this.record["att_average"]
  696. );
  697. // 平均专注力小字
  698. $this.record["att_average_string"] = $this.record[
  699. "att_average"
  700. ].toString();
  701. $this.record["att_average_lil"] = $this.record[
  702. "att_average_string"
  703. ].substring($this.record["att_average_string"].indexOf("."));
  704. let $play_time = $this.record.play_time;
  705. $this.record.play_time = formatSeconds($this.record.play_time);
  706. $this.record.start_time = timestampToTimeS($this.record.start_time);
  707. $this.record.height_absorbed = parseInt($this.record.heightValue)
  708. let $pie_data = $this.record.level;
  709. // 时间
  710. $this.record.level_time0 = formatSeconds($this.record.level[0]);
  711. $this.record.level_time1 = formatSeconds($this.record.level[1]);
  712. $this.record.level_time2 = formatSeconds($this.record.level[2]);
  713. $this.record.level_time3 = formatSeconds($this.record.level[3]);
  714. $this.record.level_time4 = formatSeconds($this.record.level[4]);
  715. // 时间总数
  716. let all_time = 0;
  717. for (let i = 0; i < 5; i++) {
  718. all_time += $this.record.level[i];
  719. }
  720. // 比例
  721. $this.record.level_ratio0 =
  722. Math.round($this.record.level[0] / all_time * 100 * 100) / 100;
  723. $this.record.level_ratio1 =
  724. Math.round($this.record.level[1] / all_time * 100 * 100) / 100;
  725. $this.record.level_ratio2 =
  726. Math.round($this.record.level[2] / all_time * 100 * 100) / 100;
  727. $this.record.level_ratio3 =
  728. Math.round($this.record.level[3] / all_time * 100 * 100) / 100;
  729. $this.record.level_ratio4 =
  730. Math.round($this.record.level[4] / all_time * 100 * 100) / 100;
  731. let $pie_option = getPieChartsOption($pie_data.reverse());
  732. $pie_charts.setOption($pie_option);
  733. //5分钟阶段
  734. let $min = 2 * 60;
  735. $this.is_cut = $play_time > $min;
  736. console.log($this.is_cut);
  737. if ($this.is_cut) {
  738. //截断得数量
  739. $this.data_section = Math.ceil($play_time / $min);
  740. let $e = {
  741. mp: {
  742. detail: {
  743. name: 0,
  744. },
  745. },
  746. };
  747. this.changeMin($e);
  748. // this.changeABMin($e);
  749. // this.changeDTMin($e);
  750. } else {
  751. //处理 专注度 和 放松度的值
  752. $this.get_game_line(
  753. $this.record.line,
  754. $this.record.line_med,
  755. $this.record.amp
  756. );
  757. }
  758. // 干扰值数据传输
  759. $this.interfereData = interfereAction($res.data.interfereArr);
  760. let $interfere_option = getInterfereChartsOption(
  761. $this.interfereData
  762. );
  763. $interfere_echarts.setOption($interfere_option);
  764. // 调整能力数据传输
  765. $this.adjustmentData = interfereAction($res.data.burstArr);
  766. let $adjustment_option = getAdjustmentChartsOption(
  767. $this.adjustmentData
  768. );
  769. $adjustment_echarts.setOption($adjustment_option);
  770. }, 1000);
  771. },
  772. (err) => {
  773. Toast.fail("错误代码:" + res.code + ",联系客服");
  774. }
  775. );
  776. },
  777. get_game_line($line_data, $line_med_data, $line_amp_data) {
  778. let $option = util.getLineOption(
  779. $line_data,
  780. $line_med_data,
  781. $line_amp_data
  782. );
  783. att_charts.setOption($option);
  784. },
  785. to_game_records() {
  786. mpvue.navigateTo({
  787. url: "/pages/game_record/main",
  788. });
  789. },
  790. // 切换时间查看线 数据
  791. changeMin($e) {
  792. let $index = $e.mp.detail.name;
  793. // 0-2 2-4 4-6
  794. // 0 1 2
  795. let $start = $index * 120;
  796. let $end = ($index + 1) * 120;
  797. let $line_data = $this.record.line.slice($start, $end);
  798. let $med_data = $this.record.line_med.slice($start, $end);
  799. let $amp_data = $this.record.amp.slice($start, $end);
  800. $this.get_game_line($line_data, $med_data, $amp_data);
  801. },
  802. // 关闭雷达解释
  803. closeRadarExplain() {
  804. $this.is_explainShow = false
  805. }
  806. },
  807. mounted() {
  808. $this.userinfo = wx.getStorageSync("userinfo");
  809. //设置游戏时间长
  810. wx.removeStorageSync("played_time");
  811. $this.get_report($this.record_id);
  812. },
  813. created() {
  814. $this = this;
  815. },
  816. onLoad(options) {
  817. $this.record_id = options.id
  818. ? options.id
  819. : game_store.getters.getGameRecordId();
  820. },
  821. };
  822. </script>
  823. <style scoped>
  824. #report_container {
  825. background: white;
  826. padding-top: 10px;
  827. padding-bottom: 10px;
  828. }
  829. /* 头部椭圆 */
  830. .head {
  831. width: 442px;
  832. height: 385px;
  833. background-color: #4b3ab0;
  834. border-radius: 50%;
  835. position: absolute;
  836. left: -34px;
  837. top: -252px;
  838. z-index: -1;
  839. }
  840. /* 头部个人信息 */
  841. image.boy {
  842. width: 110px;
  843. height: 111px;
  844. position: absolute;
  845. left: 225px;
  846. top: 45px;
  847. }
  848. .user_info {
  849. width: 95%;
  850. height: 90px;
  851. display: flex;
  852. margin: 0 auto;
  853. margin-bottom: 15px;
  854. align-items: center;
  855. padding-right: 18px;
  856. box-sizing: border-box;
  857. box-shadow: 0px 3px 7px 0px rgba(159, 159, 159, 0.84);
  858. border-radius: 10px;
  859. background: #fff;
  860. }
  861. .user_info img {
  862. display: inline-block;
  863. width: 60px;
  864. height: 60px;
  865. margin-left: 15px;
  866. margin-right: 12px;
  867. border-radius: 5px;
  868. }
  869. .user_info .info_wrap {
  870. display: flex;
  871. justify-content: space-between;
  872. box-sizing: border-box;
  873. flex-direction: column;
  874. flex: 1;
  875. }
  876. .user_info .box_wrap {
  877. display: flex;
  878. color: #222222;
  879. box-sizing: border-box;
  880. justify-content: space-between;
  881. }
  882. .user_info .box_wrap_left {
  883. align-items: center;
  884. }
  885. .user_info .box_wrap_right {
  886. align-items: flex-end;
  887. }
  888. .user_info .info_right {
  889. color: #666666;
  890. }
  891. /* 智脑系数 */
  892. .bran_wrap {
  893. width: 100%;
  894. height: 101px;
  895. background-color: #fff;
  896. display: flex;
  897. justify-content: center;
  898. align-items: center;
  899. }
  900. .bran_wrap img {
  901. display: inline-block;
  902. width: 67px;
  903. height: 80px;
  904. margin-right: 20px;
  905. }
  906. .bran_wrap .bran {
  907. display: flex;
  908. flex-direction: column;
  909. justify-content: space-around;
  910. align-items: center;
  911. }
  912. .bran_wrap .bran .p_num {
  913. color: #ffb72d;
  914. font-size: 35px;
  915. font-weight: bold;
  916. }
  917. .bran_wrap .bran .p_text {
  918. color: #333333;
  919. font-size: 12px;
  920. font-weight: bold;
  921. }
  922. /* 详细数据 */
  923. .margin-tb {
  924. width: 95%;
  925. height: 110px;
  926. margin: 0 auto;
  927. display: flex;
  928. justify-content: space-between;
  929. background: #f3f3f3;
  930. border-radius: 5px;
  931. }
  932. .margin-tb .margin_left {
  933. flex: 1;
  934. overflow: hidden;
  935. display: flex;
  936. flex-direction: column;
  937. margin-left: 3px;
  938. }
  939. .margin-tb .margin_left .left_content {
  940. height: 110px;
  941. display: flex;
  942. flex-direction: column;
  943. justify-content: center;
  944. align-items: center;
  945. color: #676767;
  946. margin-top: -100px;
  947. margin-left: 5px;
  948. }
  949. .margin-tb .margin_left .left_content .left_num {
  950. font-size: 18px;
  951. font-weight: 900;
  952. margin-bottom: -3px;
  953. }
  954. .margin-tb .margin_left .left_content .left_text {
  955. font-size: 8px;
  956. }
  957. .margin-tb .margin_centent {
  958. flex: 2;
  959. display: flex;
  960. flex-wrap: wrap;
  961. justify-content: space-around;
  962. padding: 12px 0;
  963. margin-left: 10px;
  964. }
  965. .margin-tb .textLil {
  966. font-size: 6px;
  967. margin-left: 2px;
  968. }
  969. .margin-tb .margin_right {
  970. flex: 1;
  971. display: flex;
  972. flex-direction: column;
  973. justify-content: center;
  974. align-items: center;
  975. color: #90df24;
  976. box-sizing: border-box;
  977. /* padding-right:2px; */
  978. }
  979. .margin-tb .margin_right .right_num {
  980. font-size: 30px;
  981. font-weight: 800;
  982. margin-bottom: 2px;
  983. }
  984. .margin-tb .margin_right .right_text {
  985. width: 75%;
  986. height: 15px;
  987. background: #90df24;
  988. color: #fff;
  989. text-align: center;
  990. line-height: 15px;
  991. font-size: 10px;
  992. border-radius: 3px;
  993. }
  994. .margin-tb .detail {
  995. width: 47%;
  996. height: 50%;
  997. display: flex;
  998. flex-direction: column;
  999. justify-content: center;
  1000. align-items: center;
  1001. color: #676767;
  1002. font-size: 10px;
  1003. }
  1004. .margin-tb .detail .detail_num {
  1005. font-size: 15px;
  1006. font-weight: 800;
  1007. margin-bottom: 1px;
  1008. }
  1009. /* 小标题 */
  1010. .bar {
  1011. width: 100%;
  1012. height: 10px;
  1013. display: flex;
  1014. align-items: center;
  1015. justify-content: space-between;
  1016. padding: 0 7px;
  1017. box-sizing: border-box;
  1018. margin: 25px 0;
  1019. }
  1020. .bar view {
  1021. display: flex;
  1022. align-items: center;
  1023. justify-content: start;
  1024. }
  1025. .conclution {
  1026. width: 100%;
  1027. padding: 5px 19px 8px;
  1028. font-size: 12px;
  1029. color: #6c6c6c;
  1030. box-sizing: border-box;
  1031. line-height: 25px;
  1032. margin-bottom: 28px;
  1033. }
  1034. .conclution_title {
  1035. font-weight: 600;
  1036. color: #000;
  1037. }
  1038. .bar .line {
  1039. width: 4px;
  1040. height: 15px;
  1041. background-color: #5d4db8;
  1042. margin-right: 7px;
  1043. }
  1044. .bar .title {
  1045. color: #010101;
  1046. font-size: 15px;
  1047. }
  1048. /* 图表 */
  1049. #mychart-dom-multi-line {
  1050. width: 360px;
  1051. height: 193px;
  1052. }
  1053. .chart {
  1054. margin: 0 auto;
  1055. width: 360px;
  1056. height: 193px;
  1057. opacity: 0.6;
  1058. border-radius: 10px;
  1059. }
  1060. .chart_line {
  1061. /* box-shadow: 0px 6px 11px #dadada; */
  1062. background: #f3f3f3;
  1063. }
  1064. /*雷达图*/
  1065. .radar_chart {
  1066. margin: 0 auto;
  1067. margin-bottom: 10px;
  1068. width: 360px;
  1069. height: 293px;
  1070. /* background: #f3f3f3; */
  1071. opacity: 0.6;
  1072. border-radius: 10px;
  1073. /* box-shadow: 0px 6px 11px #dadada; */
  1074. }
  1075. .hight_pie_chart {
  1076. /* margin: 0 auto; */
  1077. width: 120%;
  1078. height: 95px;
  1079. background: #f3f3f3;
  1080. margin-top: 10px;
  1081. margin-left: -7px;
  1082. /*border-radius: 10px;*/
  1083. /*box-shadow: 0px 6px 11px #dadada;*/
  1084. }
  1085. .radar_explain_bg {
  1086. position: fixed;
  1087. left: 0;
  1088. right: 0;
  1089. top: 0;
  1090. bottom: 0;
  1091. background: rgba(0,0,0,.8);
  1092. z-index: 999;
  1093. }
  1094. .radar_explain_wrap {
  1095. width: 80%;
  1096. height: 150px;
  1097. position: fixed;
  1098. left: 50%;
  1099. top: 50%;
  1100. transform: translate(-50%,-50%);
  1101. z-index: 999;
  1102. }
  1103. .radar_explain_view{
  1104. width: 100%;
  1105. height: 100%;
  1106. background-color: #fff;
  1107. border-radius: 10px;
  1108. padding:25px;
  1109. box-sizing: border-box;
  1110. overflow: initial;
  1111. }
  1112. .text_explain_center{
  1113. display: flex;
  1114. align-items: center
  1115. }
  1116. .text_explain_wrap{
  1117. display:block;
  1118. white-space: pre-wrap;
  1119. line-height:22px
  1120. }
  1121. /* 核销详情 */
  1122. .sheet {
  1123. color: #6d6d6d;
  1124. font-size: 12px;
  1125. display: flex;
  1126. padding: 0 16px;
  1127. box-sizing: border-box;
  1128. margin-bottom: 30px;
  1129. }
  1130. .sheet .left,
  1131. .sheet .right {
  1132. height: 15px;
  1133. display: flex;
  1134. flex-direction: column;
  1135. align-items: flex-start;
  1136. justify-content: space-between;
  1137. }
  1138. .sheet .left {
  1139. width: 195px;
  1140. }
  1141. .content_card {
  1142. border-radius: 10px;
  1143. box-shadow: 0px 6px 11px #dadada;
  1144. }
  1145. .divide_line {
  1146. width: 360px;
  1147. height: 1px;
  1148. background: #e5e5e5;
  1149. margin: 0 auto;
  1150. }
  1151. /* 专注力干扰看板 */
  1152. .absorbed_change {
  1153. width: 100%;
  1154. box-sizing: border-box;
  1155. margin-top: 18px;
  1156. }
  1157. .absorbed_change .line {
  1158. width: 4px;
  1159. height: 15px;
  1160. background-color: #5d4db8;
  1161. margin-right: 7px;
  1162. }
  1163. .absorbed_change .title {
  1164. color: #010101;
  1165. font-size: 15px;
  1166. }
  1167. .interfere_title_wrap {
  1168. width: 100%;
  1169. height: 40px;
  1170. display: flex;
  1171. align-items: center;
  1172. }
  1173. /* 干扰 标题*/
  1174. .interfere {
  1175. display: flex;
  1176. margin-left: 8px;
  1177. height: 54px;
  1178. align-items: center;
  1179. margin-bottom: 14px;
  1180. }
  1181. .interfere .interfere_logo {
  1182. display: inline-block;
  1183. width: 19px;
  1184. height: 19px;
  1185. margin-right: 7px;
  1186. }
  1187. .interfere .interfere_text {
  1188. font-size: 15px;
  1189. color: #676767;
  1190. }
  1191. .interfere .interfere_text .interfere_text_num {
  1192. font-size: 18px;
  1193. font-weight: 800;
  1194. }
  1195. /* 干扰 echarts */
  1196. .interfere_echarts_wrap {
  1197. width: 360px;
  1198. height: 200px;
  1199. background: #f3f3f3;
  1200. opacity: 0.6;
  1201. box-shadow: 0px 6px 11px #dadada;
  1202. }
  1203. .interfere_echarts {
  1204. /* margin: 0 auto; */
  1205. width: 100%;
  1206. height: 173px;
  1207. /* background: #f3f3f3;
  1208. opacity: 0.6;
  1209. box-shadow: 0px 6px 11px #dadada; */
  1210. }
  1211. .interfere_echarts_bottom {
  1212. margin: 0 auto;
  1213. width: 90%;
  1214. height: 20px;
  1215. display: flex;
  1216. align-items: center;
  1217. justify-content: space-around;
  1218. font-size: 15px;
  1219. color: #828282;
  1220. }
  1221. /* 干扰 bottom */
  1222. .interfere_footer {
  1223. width: 100%;
  1224. height: 26px;
  1225. font-size: 13px;
  1226. font-family: Microsoft YaHei;
  1227. font-weight: 400;
  1228. color: #676767;
  1229. display: flex;
  1230. justify-content: center;
  1231. align-items: center;
  1232. margin-top: 10px;
  1233. }
  1234. .interfere_footer .interfere_footer_logo {
  1235. display: inline-block;
  1236. width: 13px;
  1237. height: 13px;
  1238. background-color: #23cc92;
  1239. margin-right: 5px;
  1240. }
  1241. /* 调整能力 */
  1242. .adjustment_warp {
  1243. margin-top: 50px;
  1244. }
  1245. .adjustment_title {
  1246. display: flex;
  1247. color: #676767;
  1248. font-size: 15px;
  1249. padding-left: 8px;
  1250. box-sizing: border-box;
  1251. margin-bottom: 35px;
  1252. }
  1253. .adjustment_title .adjustment_title_logo {
  1254. display: inline-block;
  1255. width: 19px;
  1256. height: 19px;
  1257. margin-right: 7px;
  1258. }
  1259. /* 调整能力表图 */
  1260. .adjustment_echarts_wrap {
  1261. margin: 0 auto;
  1262. width: 360px;
  1263. height: 200px;
  1264. background: #f3f3f3;
  1265. opacity: 0.6;
  1266. box-shadow: 0px 6px 11px #dadada;
  1267. }
  1268. .adjustment_echarts {
  1269. width: 100%;
  1270. height: 173px;
  1271. }
  1272. .adjustment_echarts_bottom {
  1273. margin: 0 auto;
  1274. width: 90%;
  1275. height: 20px;
  1276. display: flex;
  1277. align-items: center;
  1278. justify-content: space-around;
  1279. font-size: 15px;
  1280. color: #828282;
  1281. }
  1282. .adjustment_footer {
  1283. width: 100%;
  1284. height: 26px;
  1285. font-size: 13px;
  1286. font-family: Microsoft YaHei;
  1287. font-weight: 400;
  1288. color: #676767;
  1289. display: flex;
  1290. justify-content: center;
  1291. align-items: center;
  1292. margin-top: 10px;
  1293. }
  1294. .adjustment_footer .adjustment_footer_logo {
  1295. display: inline-block;
  1296. width: 13px;
  1297. height: 13px;
  1298. background-color: #f3a100;
  1299. margin-right: 5px;
  1300. }
  1301. /* 爆发值和调整时间 */
  1302. .absorbed_change_footer {
  1303. display: flex;
  1304. justify-content: space-around;
  1305. margin-top: 28px;
  1306. margin-bottom: 30px
  1307. }
  1308. .absorbed_change_footer .footer_text {
  1309. font-size: 15px;
  1310. color: #676767;
  1311. }
  1312. .footer_text_W {
  1313. font-size: 18px;
  1314. font-weight: 600;
  1315. }
  1316. .test {
  1317. color: rgb(163, 7, 7);
  1318. }
  1319. .label {
  1320. color: #9a95b7;
  1321. font-size: 10px;
  1322. }
  1323. /* .label_up {
  1324. color: #9a95b7;
  1325. font-size: 10px;
  1326. display: flex;
  1327. flex-wrap: wrap;
  1328. width: 270px;
  1329. } */
  1330. /*点图*/
  1331. .dot {
  1332. width: 8px;
  1333. height: 8px;
  1334. border-radius: 50%;
  1335. margin-right: 4px;
  1336. margin-left: 15px;
  1337. }
  1338. .dot-Att {
  1339. background: #fab615;
  1340. }
  1341. .dot-Med {
  1342. background: #40ff31;
  1343. }
  1344. .dot-Amp {
  1345. background: #d4327a;
  1346. }
  1347. /* .dot-Alpha {
  1348. background: #FF9107;
  1349. } */
  1350. /* .dot-Theta {
  1351. background: #ffe838;
  1352. } */
  1353. /* .dot-Low-Alpha {
  1354. background: #38ff49;
  1355. }
  1356. .dot-High-Alpha {
  1357. background: #00ad0e;
  1358. }
  1359. .dot-Low-Beta {
  1360. background: #0060f1;
  1361. }
  1362. .dot-High-Beta {
  1363. background: #00ccff;
  1364. } */
  1365. /* .dot-Beta {
  1366. background: #00CCFF;
  1367. } */
  1368. /* .dot-Delta {
  1369. background: #ff77b3;
  1370. } */
  1371. /* 节标题 */
  1372. .bar {
  1373. width: 100%;
  1374. height: 15px;
  1375. display: flex;
  1376. align-items: center;
  1377. justify-content: space-between;
  1378. padding: 0 7px;
  1379. box-sizing: border-box;
  1380. /* margin: 14px 0; */
  1381. }
  1382. .bar view {
  1383. display: flex;
  1384. align-items: center;
  1385. justify-content: start;
  1386. }
  1387. .bar .line {
  1388. width: 4px;
  1389. height: 15px;
  1390. /* background-color: #ffb400; */
  1391. margin-right: 7px;
  1392. }
  1393. /* 圆环图 */
  1394. .flexBoxVer {
  1395. display: flex;
  1396. align-items: center;
  1397. box-sizing: border-box;
  1398. flex-direction: column;
  1399. align-items: flex-start;
  1400. }
  1401. .boxVer {
  1402. display: flex;
  1403. align-items: center;
  1404. box-sizing: border-box;
  1405. flex-direction: column;
  1406. height: 500px;
  1407. justify-content: center;
  1408. padding: 20px;
  1409. }
  1410. .flexBoxLand {
  1411. display: flex;
  1412. align-items: center;
  1413. box-sizing: border-box;
  1414. }
  1415. .colorChangeWrap {
  1416. margin-bottom: 5px;
  1417. }
  1418. .colorChange {
  1419. width: 50px;
  1420. height: 18px;
  1421. border-radius: 4px;
  1422. font-size: 11px;
  1423. color: #ffffff;
  1424. text-align: center;
  1425. line-height: 18px;
  1426. margin-right: 10px;
  1427. }
  1428. .colorChangeTime {
  1429. font-size: 13px;
  1430. }
  1431. #changeFirst {
  1432. background: #5470c6;
  1433. }
  1434. #changeSecond {
  1435. background: #91cc75;
  1436. }
  1437. #changeThird {
  1438. background: #fac858;
  1439. }
  1440. #changeFourth {
  1441. background: #ee6666;
  1442. }
  1443. #changeFifth {
  1444. background: #73c0de;
  1445. }
  1446. .chart_circle {
  1447. width: 180px;
  1448. height: 193px;
  1449. border-radius: 10px;
  1450. }
  1451. .left_content {
  1452. height: 193px;
  1453. display: flex;
  1454. flex-direction: column;
  1455. justify-content: center;
  1456. align-items: center;
  1457. color: #676767;
  1458. margin-top: -190px;
  1459. }
  1460. .left_text {
  1461. font-size: 12px;
  1462. }
  1463. </style>