EREC.vue 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890
  1. <template>
  2. <div>
  3. <!-- <h1 class="txt-center">任务 4:情绪回忆任务(EREC)——情感信息的记忆</h1>
  4. <div style="width: 650px; margin: 20px auto; line-height: 2">
  5. <p style="text-align: left; text-indent: 2em">
  6. 您好,请尽可能多地回忆在实验2中出现过的相容词,并于一定时间内在屏幕中的输入框处逐个进行输入,每输入一个形容词时请按下回车键或点击白框空白处保存当前形容词,点击右上角×号可删除已输入形容词,当您回忆完成后,可点击保存进入下一个测试。
  7. </p>
  8. </div> -->
  9. <div class="desc_wrap">
  10. <div
  11. style="
  12. width: 70%;
  13. height: 100%;
  14. background: rgb(248, 248, 248);
  15. opacity: 1;
  16. border-radius: 12px;
  17. margin: 0 auto;
  18. "
  19. >
  20. <div class="left_part">
  21. <div id="left_top">
  22. <div>
  23. <div id="setting">
  24. <img src="../../assets/9551.png" alt="" />
  25. </div>
  26. <div id="text">
  27. <span>操作提示:</span>
  28. </div>
  29. <div
  30. class="voiceBg"
  31. :class="{ active: isActive }"
  32. @click="videoPlay"
  33. ></div>
  34. </div>
  35. </div>
  36. <audio
  37. id="video"
  38. ref="video"
  39. :src="require('../../assets/voice/description/description45.mp3')"
  40. ></audio>
  41. <div style="margin: 100px auto; width: 80%; text-align: justify;text-justify: distribute-all-lines;">
  42. <!--<p>您好,请尽可能多地回忆在实验2中出现过的相容词,并于一定时间内在屏幕中的输入框处逐个进行输入,每输入一个形容词时请按下回车键或点击白框空白处保存当前形容词,点击右上角“x”号按钮可删除已输入形容词,当您回忆完成后,可点击保存进入下一个测试。</p>-->
  43. <!-- <p>{{subjectInfo.description}}</p> -->
  44. <p>
  45. 你好,请尽可能多地回忆在词汇分类任务中出现过的相容词,并于一定时间内在屏幕中的空白框处输入。
  46. </p>
  47. </div>
  48. </div>
  49. <div
  50. class="right_part"
  51. :style="{
  52. background: 'url(' + require('../../assets/page28.png') + ')',
  53. 'background-size': '100% 100%',
  54. }"
  55. >
  56. <div id="title">
  57. <span>情绪识别记忆任务(EREC)</span>
  58. </div>
  59. <div style="position: absolute; bottom: 30px; right: 38%">
  60. <el-button type="primary" class="start" @click="startTest(1)">开始测试</el-button>
  61. </div>
  62. </div>
  63. </div>
  64. </div>
  65. <div
  66. v-if="testFlag"
  67. :class="{ testMainDiv: !testState, activeTask: testState }"
  68. class="txt-center"
  69. >
  70. <div style="padding: 20px; margin-left: 93%" @click.stop="screen()">
  71. <img src="../../assets/small-big.png" alt="" />
  72. </div>
  73. <p v-show="countDownShow1" class="imgBox1">
  74. {{ countDownStr }}
  75. </p>
  76. <div class="tabbarbox" v-show="flag1">
  77. <p
  78. v-show="countDownShow"
  79. style="text-align: right; font-size: 25px; color: black"
  80. >
  81. 倒计时:{{ countDownTime }}
  82. </p>
  83. <div class="eltagbox">
  84. <div class="eltag">
  85. <el-tag
  86. :key="tag"
  87. v-for="tag in dynamicTags"
  88. closable
  89. :disable-transitions="false"
  90. @close="handleClose(tag)"
  91. >
  92. {{ tag }}
  93. </el-tag>
  94. <el-input
  95. class="input-new-tag"
  96. v-if="inputVisible"
  97. placeholder="点击回车键填写下一个"
  98. v-model="inputValue"
  99. ref="saveTagInput"
  100. size="small"
  101. @keyup.enter.native="handleInputConfirm"
  102. @blur="handleInputConfirm"
  103. >
  104. </el-input>
  105. <!-- <el-button
  106. v-else
  107. class="button-new-tag"
  108. size="small"
  109. @click="showInput"
  110. >+ 新增</el-button
  111. > -->
  112. </div>
  113. </div>
  114. <div class="submit">
  115. <el-button
  116. style="
  117. width: 100px;
  118. background: rgb(87, 172, 187);
  119. border: 2px solid rgb(255, 255, 255);
  120. box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  121. opacity: 1;
  122. border-radius: 39px;
  123. color: #ffffff;
  124. border-radius: 10px;
  125. "
  126. @click="userClick"
  127. >保存</el-button
  128. >
  129. </div>
  130. <div v-if="testResultDivShow" class="coginitiveTestResultDiv">
  131. <p
  132. v-if="testResultDivShow"
  133. class="testResultStr"
  134. style="margin-top: 5%"
  135. >
  136. 超过0.5秒的比例:{{ pass05SecRate }}%
  137. </p>
  138. </div>
  139. </div>
  140. </div>
  141. <!-- <div style="text-align: center; padding-bottom: 2rem; display: block">
  142. <el-button
  143. class="scaleButton"
  144. v-if="button0Show"
  145. @click="startTest(1)"
  146. >开始任务四测试</el-button
  147. >
  148. <el-button
  149. class="scaleButton"
  150. v-if="button1Show"
  151. @click="nexttest"
  152. >进行下一个测试</el-button
  153. >
  154. </div> -->
  155. </div>
  156. </template>
  157. <script>
  158. import screenfull from "screenfull";
  159. export default {
  160. data() {
  161. return {
  162. flag1: false,
  163. countDownStr: "马上开始!",
  164. // countDownTime_begin: 6,
  165. countDownTime_begin: 11,
  166. countDownShow1: true,
  167. userId: "",
  168. testFlag: false,
  169. testState: false,
  170. button0Show: true,
  171. button1Show: false,
  172. countDownShow: false,
  173. countDownTime: 150, //倒计时
  174. dynamicTags: [],
  175. inputVisible: true,
  176. testResultDivShow: false,
  177. inputValue: "",
  178. timeOne: "",
  179. myInterval: "",
  180. wordlist: [
  181. {
  182. index: 1,
  183. currentword: "优秀",
  184. wordtype: "positive",
  185. },
  186. {
  187. index: 2,
  188. currentword: "高尚",
  189. wordtype: "positive",
  190. },
  191. {
  192. index: 3,
  193. currentword: "聪慧",
  194. wordtype: "positive",
  195. },
  196. {
  197. index: 4,
  198. currentword: "崇高",
  199. wordtype: "positive",
  200. },
  201. {
  202. index: 5,
  203. currentword: "聪明",
  204. wordtype: "positive",
  205. },
  206. {
  207. index: 6,
  208. currentword: "杰出",
  209. wordtype: "positive",
  210. },
  211. {
  212. index: 7,
  213. currentword: "伟大",
  214. wordtype: "positive",
  215. },
  216. {
  217. index: 8,
  218. currentword: "睿智",
  219. wordtype: "positive",
  220. },
  221. {
  222. index: 9,
  223. currentword: "乐观",
  224. wordtype: "positive",
  225. },
  226. {
  227. index: 10,
  228. currentword: "渊博",
  229. wordtype: "positive",
  230. },
  231. {
  232. index: 11,
  233. currentword: "卓越",
  234. wordtype: "positive",
  235. },
  236. {
  237. index: 12,
  238. currentword: "诚实",
  239. wordtype: "positive",
  240. },
  241. {
  242. index: 13,
  243. currentword: "爽朗",
  244. wordtype: "positive",
  245. },
  246. {
  247. index: 14,
  248. currentword: "热情",
  249. wordtype: "positive",
  250. },
  251. {
  252. index: 15,
  253. currentword: "自豪",
  254. wordtype: "positive",
  255. },
  256. {
  257. index: 16,
  258. currentword: "正直",
  259. wordtype: "positive",
  260. },
  261. {
  262. index: 17,
  263. currentword: "温暖",
  264. wordtype: "positive",
  265. },
  266. {
  267. index: 18,
  268. currentword: "勤快",
  269. wordtype: "positive",
  270. },
  271. {
  272. index: 19,
  273. currentword: "坚强",
  274. wordtype: "positive",
  275. },
  276. {
  277. index: 20,
  278. currentword: "勇敢",
  279. wordtype: "positive",
  280. },
  281. {
  282. index: 21,
  283. currentword: "勤奋",
  284. wordtype: "positive",
  285. },
  286. {
  287. index: 22,
  288. currentword: "爽快",
  289. wordtype: "positive",
  290. },
  291. {
  292. index: 23,
  293. currentword: "恬静",
  294. wordtype: "positive",
  295. },
  296. {
  297. index: 24,
  298. currentword: "机智",
  299. wordtype: "positive",
  300. },
  301. {
  302. index: 25,
  303. currentword: "有趣",
  304. wordtype: "positive",
  305. },
  306. {
  307. index: 26,
  308. currentword: "豪迈",
  309. wordtype: "positive",
  310. },
  311. {
  312. index: 27,
  313. currentword: "精干",
  314. wordtype: "positive",
  315. },
  316. {
  317. index: 28,
  318. currentword: "热切",
  319. wordtype: "positive",
  320. },
  321. {
  322. index: 29,
  323. currentword: "活泼",
  324. wordtype: "positive",
  325. },
  326. {
  327. index: 30,
  328. currentword: "认真",
  329. wordtype: "positive",
  330. },
  331. {
  332. index: 31,
  333. currentword: "下贱",
  334. wordtype: "negative",
  335. },
  336. {
  337. index: 32,
  338. currentword: "卑劣",
  339. wordtype: "negative",
  340. },
  341. {
  342. index: 33,
  343. currentword: "凶狠",
  344. wordtype: "negative",
  345. },
  346. {
  347. index: 34,
  348. currentword: "窝囊",
  349. wordtype: "negative",
  350. },
  351. {
  352. index: 35,
  353. currentword: "虚伪",
  354. wordtype: "negative",
  355. },
  356. {
  357. index: 36,
  358. currentword: "自私",
  359. wordtype: "negative",
  360. },
  361. {
  362. index: 37,
  363. currentword: "丑陋",
  364. wordtype: "negative",
  365. },
  366. {
  367. index: 38,
  368. currentword: "无能",
  369. wordtype: "negative",
  370. },
  371. {
  372. index: 39,
  373. currentword: "愚蠢",
  374. wordtype: "negative",
  375. },
  376. {
  377. index: 40,
  378. currentword: "暴躁",
  379. wordtype: "negative",
  380. },
  381. {
  382. index: 41,
  383. currentword: "刻薄",
  384. wordtype: "negative",
  385. },
  386. {
  387. index: 42,
  388. currentword: "猖狂",
  389. wordtype: "negative",
  390. },
  391. {
  392. index: 43,
  393. currentword: "残酷",
  394. wordtype: "negative",
  395. },
  396. {
  397. index: 44,
  398. currentword: "狠心",
  399. wordtype: "negative",
  400. },
  401. {
  402. index: 45,
  403. currentword: "悲观",
  404. wordtype: "negative",
  405. },
  406. {
  407. index: 46,
  408. currentword: "尖刻",
  409. wordtype: "negative",
  410. },
  411. {
  412. index: 47,
  413. currentword: "阴沉",
  414. wordtype: "negative",
  415. },
  416. {
  417. index: 48,
  418. currentword: "腐朽",
  419. wordtype: "negative",
  420. },
  421. {
  422. index: 49,
  423. currentword: "无情",
  424. wordtype: "negative",
  425. },
  426. {
  427. index: 50,
  428. currentword: "消极",
  429. wordtype: "negative",
  430. },
  431. {
  432. index: 51,
  433. currentword: "自卑",
  434. wordtype: "negative",
  435. },
  436. {
  437. index: 52,
  438. currentword: "蛮横",
  439. wordtype: "negative",
  440. },
  441. {
  442. index: 53,
  443. currentword: "呆滞",
  444. wordtype: "negative",
  445. },
  446. {
  447. index: 54,
  448. currentword: "焦躁",
  449. wordtype: "negative",
  450. },
  451. {
  452. index: 55,
  453. currentword: "懒惰",
  454. wordtype: "negative",
  455. },
  456. {
  457. index: 56,
  458. currentword: "阴暗",
  459. wordtype: "negative",
  460. },
  461. {
  462. index: 57,
  463. currentword: "危险",
  464. wordtype: "negative",
  465. },
  466. {
  467. index: 58,
  468. currentword: "粗鲁",
  469. wordtype: "negative",
  470. },
  471. {
  472. index: 59,
  473. currentword: "傲慢",
  474. wordtype: "negative",
  475. },
  476. {
  477. index: 60,
  478. currentword: "自负",
  479. wordtype: "negative",
  480. },
  481. ], //词语列表
  482. isActive: false, //音频播放按钮
  483. testPlanId: "",
  484. };
  485. },
  486. created() {
  487. //进入页面即开始测试
  488. // this.startTest(1);
  489. this.taskId = this.$route.query.taskId || "";
  490. this.testPlanId = this.$route.query.testPlanId;
  491. // this.init(this.taskId);
  492. },
  493. destroyed() {
  494. clearInterval(this.myInterval);
  495. },
  496. methods: {
  497. countDown_begin() {
  498. // 测试时间倒计时
  499. this.myInterval = setInterval(() => {
  500. this.countDownTime_begin--;
  501. this.countDownStr = this.countDownTime_begin;
  502. if (this.countDownTime_begin == 0) {
  503. this.countDownShow1 = false;
  504. //计算测试结果
  505. this.flag1 = true;
  506. this.countDownShow = true;
  507. // this.showTargetNow();
  508. // 清除定时器
  509. clearInterval(this.myInterval);
  510. this.countDown();
  511. // this.countDownTime_begin = 5;
  512. this.countDownTime_begin = 10;
  513. }
  514. }, 1000);
  515. },
  516. screen() {
  517. // 如果不允许进入全屏,发出不允许提示
  518. // if (!screenfull.isEnabled) {
  519. // this.$message("您的浏览器不能全屏");
  520. // return false;
  521. // }
  522. screenfull.toggle();
  523. },
  524. exitFullscreen() {
  525. if (document.exitFullscreen) {
  526. document.exitFullscreen();
  527. } else if (document.msExitFullscreen) {
  528. document.msExitFullscreen();
  529. } else if (document.mozCancelFullScreen) {
  530. document.mozCancelFullScreen();
  531. } else if (document.webkitExitFullscreen) {
  532. document.webkitExitFullscreen();
  533. }
  534. },
  535. startTest(testType) {
  536. this.screen();
  537. if (
  538. sessionStorage.getItem("b80bb7740288fda1f201890375a60c8f") == "" ||
  539. sessionStorage.getItem("b80bb7740288fda1f201890375a60c8f") == null
  540. ) {
  541. this.$message.error("请先登录!");
  542. return;
  543. }
  544. if (testType == 0) {
  545. this.testTypeCode = 0;
  546. } else {
  547. this.testTypeCode = 1;
  548. }
  549. this.userId = sessionStorage.getItem("b80bb7740288fda1f201890375a60c8f");
  550. if (this.testTypeCode == 1) {
  551. // this.userTestPicList = [];
  552. this.testFlag = true;
  553. this.testState = true;
  554. this.countDownShow = true;
  555. // this.showTargetNow();
  556. this.countDown_begin();
  557. }
  558. },
  559. // 定时器
  560. // showTargetNow() {
  561. // var time = 150000;
  562. // this.timeOne = setTimeout(() => {
  563. // this.testFlag = false;
  564. // this.testState = false;
  565. // this.button0Show = false;
  566. // this.button1Show = true;
  567. // }, time);
  568. // },
  569. handleClose(tag) {
  570. this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
  571. },
  572. // showInput() {
  573. // this.inputVisible = true;
  574. // this.$nextTick((_) => {
  575. // this.$refs.saveTagInput.$refs.input.focus();
  576. // });
  577. // },
  578. handleInputConfirm() {
  579. let inputValue = this.inputValue;
  580. if (this.dynamicTags.includes(inputValue)) {
  581. // 限制弹出框弹出一次
  582. let doms = document.getElementsByClassName("el-message")[0];
  583. if (doms == undefined) {
  584. undefined;
  585. this.$message({
  586. message: "重复输入!",
  587. type: "warning",
  588. });
  589. }
  590. this.inputValue = "";
  591. } else {
  592. if (inputValue) {
  593. this.dynamicTags.push(inputValue);
  594. }
  595. console.log(this.dynamicTags);
  596. // this.inputVisible = false;
  597. this.inputValue = "";
  598. }
  599. },
  600. // 去除输入数组重复元素,不加入最后计算
  601. newData(data) {
  602. var nData = new Array();
  603. for (var i = 0; i < data.length; i++) {
  604. if (nData.indexOf(data[i]) == -1) {
  605. nData.push(data[i]);
  606. }
  607. }
  608. return nData;
  609. },
  610. userClick() {
  611. this.countDownShow == false;
  612. this.testFlag = false;
  613. this.testState = false;
  614. this.button0Show = false;
  615. // this.button1Show = true;
  616. this.dynamicTags = this.newData(this.dynamicTags);
  617. console.log(this.dynamicTags);
  618. this.compareWordlist();
  619. this.$message({
  620. message: "测试结束!",
  621. type: "success",
  622. });
  623. // this.nexttest();
  624. clearInterval(this.myInterval);
  625. this.exitFullscreen();
  626. },
  627. nexttest() {
  628. this.screen();
  629. this.$router.push("EMEMexperiment");
  630. },
  631. // 倒计时
  632. countDown() {
  633. this.myInterval = setInterval(() => {
  634. this.countDownTime--;
  635. if (this.countDownTime == 0) {
  636. this.countDownShow == false;
  637. this.testFlag = false;
  638. this.testState = false;
  639. this.button0Show = false;
  640. // this.button1Show = true;
  641. this.dynamicTags = this.newData(this.dynamicTags);
  642. this.compareWordlist();
  643. this.exitFullscreen();
  644. this.$message({
  645. message: "测试结束!",
  646. type: "success",
  647. });
  648. // this.nexttest();
  649. clearInterval(this.myInterval);
  650. }
  651. }, 1000);
  652. },
  653. //取数组交集
  654. // doIntersection(firstArray, secondArray) {
  655. // // The logic here is to create a hashmap with the elements of the firstArray as the keys.
  656. // // After that, you can use the hashmap's O(1) look up time to check if the element exists in the hash
  657. // // If it does exist, add that element to the new array.
  658. // var hashmap = {};
  659. // var intersectionArray = [];
  660. // firstArray.forEach(function (element) {
  661. // hashmap[element] = 1;
  662. // });
  663. // // Since we only want to push unique elements in our case... we can implement a counter to keep track of what we already added
  664. // secondArray.forEach(function (element) {
  665. // if (hashmap[element] === 1) {
  666. // intersectionArray.push(element);
  667. // hashmap[element]++;
  668. // }
  669. // });
  670. // return intersectionArray;
  671. // // Time complexity O(n), Space complexity O(n)
  672. // },
  673. // 取数组对象中词
  674. // testlist(){
  675. // const wordlistIds = this.wordlist.map(wordlists => wordlists.currentword);
  676. // console.log(wordlistIds);
  677. // },
  678. compareWordlist() {
  679. // 判断用户输入结果正确率
  680. var accuracy = 0;
  681. let arrInter = [...this.dynamicTags].filter((x) =>
  682. [...this.wordlist].some((y) => y.currentword === x)
  683. );
  684. console.log(arrInter.length);
  685. accuracy = ((arrInter.length / this.wordlist.length) * 100).toFixed(2);
  686. console.log(accuracy);
  687. // 积极词语的正确率
  688. var accopp = 0;
  689. var newArr = this.wordlist.slice(0, 30);
  690. console.log(newArr);
  691. let arropp = [...this.dynamicTags].filter((x) =>
  692. [...newArr].some((y) => y.currentword === x)
  693. );
  694. accopp = ((arropp.length / newArr.length) * 100).toFixed(2);
  695. console.log(accopp);
  696. // 消极词语的正确率
  697. var accneg = 0;
  698. var newArrneg = this.wordlist.slice(30, 60);
  699. console.log(newArrneg);
  700. let arrneg = [...this.dynamicTags].filter((x) =>
  701. [...newArrneg].some((y) => y.currentword === x)
  702. );
  703. accneg = ((arrneg.length / newArr.length) * 100).toFixed(2);
  704. console.log(accneg);
  705. //跳转
  706. // this.$http.post(
  707. // `/cognize/EREC`,{
  708. // userId: this.userId,
  709. // data:{
  710. // totalWords: arrInter.length, //总词数
  711. // positiveWordCount: arropp.length, // 积极词语个数
  712. // negtiveWordCount: arrneg.length, //消极词语个数
  713. // },
  714. // result:{
  715. // totalCorrectRate: accuracy + "%", //总的正确率
  716. // posCorrectRate: accopp + "%", //积极词语的正确率
  717. // negCorrectRate: accneg + "%", //消极词语的正确率
  718. // }
  719. // },
  720. // (response) => {
  721. // this.$router.push({
  722. // name: "TestResult",
  723. // params: {
  724. // result: [
  725. // {
  726. // name: "总体正确率",
  727. // value: accuracy + "%",
  728. // },
  729. // ],
  730. // },
  731. // });
  732. // })
  733. let result = {
  734. data: {
  735. totalWords: arrInter.length, //总词数
  736. positiveWordCount: arropp.length, // 积极词语个数
  737. negtiveWordCount: arrneg.length, //消极词语个数
  738. },
  739. result: {
  740. totalCorrectRate: accuracy + "%", //总的正确率
  741. posCorrectRate: accopp + "%", //积极词语的正确率
  742. negCorrectRate: accneg + "%", //消极词语的正确率
  743. },
  744. };
  745. this.$store.dispatch("setVocabularyRecall", result);
  746. this.$alert(
  747. "词汇回忆任务结束,接下来进行词汇识别测试,请按确定按钮继续。",
  748. "提示",
  749. {
  750. confirmButtonText: "确定",
  751. showClose: false,
  752. callback: (action) => {
  753. this.$router.push(
  754. `/welcome/CognitiveAbilityTask/EMEM?testPlanId=${this.testPlanId}`
  755. );
  756. },
  757. }
  758. );
  759. },
  760. videoPlay() {
  761. let video = document.getElementById("video");
  762. if (this.isActive == false) {
  763. this.isActive = true;
  764. video.loop = false;
  765. video.addEventListener("ended", () => {
  766. this.isActive = false;
  767. });
  768. video.play();
  769. } else {
  770. this.isActive = false;
  771. video.pause();
  772. }
  773. },
  774. },
  775. };
  776. </script>
  777. <style scoped>
  778. .testMainDiv {
  779. margin: 0 auto;
  780. margin-top: 10px;
  781. background: gray;
  782. background-size: cover;
  783. /* text-align:center; */
  784. width: 500px;
  785. height: 300px;
  786. /* object-fit:fill; */
  787. }
  788. .activeTask {
  789. background: url("../../assets/congnitiveAblitity/rememberAbilityTask.png")
  790. no-repeat center;
  791. background-size: cover;
  792. position: fixed;
  793. top: 0;
  794. left: 0;
  795. right: 0;
  796. bottom: 0;
  797. }
  798. .scaleButton {
  799. margin-top: 20px;
  800. margin-bottom: 20px;
  801. background-size: cover;
  802. background: rgb(87, 172, 187);
  803. border: 2px solid rgb(255, 255, 255);
  804. box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  805. opacity: 1;
  806. border-radius: 39px;
  807. color: #ffffff;
  808. }
  809. .el-tag + .el-tag {
  810. margin-left: 10px;
  811. }
  812. /* .button-new-tag {
  813. margin-left: 10px;
  814. height: 32px;
  815. line-height: 30px;
  816. padding-top: 0;
  817. padding-bottom: 0;
  818. } */
  819. .input-new-tag {
  820. margin-top: 25px;
  821. width: 200px;
  822. margin-left: 10px;
  823. vertical-align: bottom;
  824. }
  825. .input-new-tag /deep/.el-input__inner {
  826. border: 1px solid #000;
  827. }
  828. .el-tag {
  829. margin-top: 25px;
  830. }
  831. .eltagbox {
  832. background-color: white;
  833. border-radius: 25px;
  834. width: 800px;
  835. height: 400px;
  836. box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  837. overflow: auto;
  838. opacity: 0.7;
  839. }
  840. .tabbarbox {
  841. position: absolute;
  842. top: 50%;
  843. left: 50%;
  844. transform: translate(-50%, -50%);
  845. }
  846. .submit {
  847. margin-top: 10px;
  848. }
  849. .imgBox1 {
  850. position: absolute;
  851. top: 50%;
  852. left: 50%;
  853. transform: translate(-50%, -50%);
  854. color: black;
  855. font-size: 70px;
  856. text-align: center;
  857. line-height: 100px;
  858. margin: 0 auto;
  859. }
  860. .voiceBg {
  861. width: 40px;
  862. height: 40px;
  863. background: url(../../assets/voice.png);
  864. background-size: cover;
  865. float: left;
  866. margin-left: 60px;
  867. cursor: pointer;
  868. }
  869. .voiceBg.active {
  870. width: 40px;
  871. height: 40px;
  872. background: url(../../assets/voice.gif);
  873. background-size: cover;
  874. }
  875. </style>