movementPerceptionChild.vue 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697
  1. <template>
  2. <div>
  3. <!-- LOGO -->
  4. <div class="desc_wrap" v-if="!testResultStr">
  5. <div
  6. style="
  7. width: 70%;
  8. height: 100%;
  9. background: rgb(248, 248, 248);
  10. opacity: 1;
  11. border-radius: 12px;
  12. margin: 0 auto;
  13. "
  14. >
  15. <div class="left_part">
  16. <div id="left_top">
  17. <div>
  18. <div id="setting">
  19. <img src="../../assets/9551.png" alt="" />
  20. </div>
  21. <div id="text">
  22. <span>操作提示:</span>
  23. </div>
  24. </div>
  25. </div>
  26. <div style="margin: 100px auto; width: 80%; text-align: justify;text-justify: distribute-all-lines;">
  27. <p v-html="subjectInfo.testDescription"></p>
  28. <!-- <p>{{subjectInfo.description}}</p> -->
  29. </div>
  30. </div>
  31. <div
  32. class="right_part"
  33. :style="{
  34. background:
  35. 'url(' + require('../../assets/page' + taskId + '.png') + ')',
  36. 'background-size': '100% 100%',
  37. }"
  38. >
  39. <div id="title">
  40. <span>{{ subjectInfo.name }}</span>
  41. </div>
  42. <div
  43. style="
  44. position: absolute;
  45. bottom: 30px;
  46. left: 50%;
  47. transform: translateX(-50%);
  48. "
  49. >
  50. <el-button
  51. class="start"
  52. type="primary"
  53. v-if="buttonShow"
  54. @click="startTest()"
  55. >{{ buttonName }}</el-button
  56. >
  57. </div>
  58. </div>
  59. </div>
  60. </div>
  61. <div style="width: 650px; margin: 20px auto; line-height: 2">
  62. <p
  63. v-show="testResultStr"
  64. style="margin-top: 20%; font-size: 30px; text-align: center"
  65. >
  66. {{ testResultStr }}
  67. </p>
  68. </div>
  69. <div
  70. v-if="testFlag"
  71. :class="{ testMainDivMove: !testState, activeTaskMove: testState }"
  72. class="txt-center"
  73. >
  74. <div class="taskHead">
  75. <div class="scale" @click.stop="screen">
  76. <img src="../../assets/small-big.png" alt="" />
  77. </div>
  78. <el-progress
  79. class="main_progress"
  80. :text-inside="true"
  81. :format="format"
  82. :stroke-width="24"
  83. :percentage="(imgIndex / 72) * 100"
  84. v-if="testTypeCode == 1"
  85. style="width: 50%"
  86. ></el-progress>
  87. </div>
  88. <div class="glass">
  89. <p v-show="countDownShow" class="countdownStr">
  90. {{ countDownStr }}
  91. </p>
  92. <img
  93. v-show="showDuckEgg"
  94. rel="preload"
  95. :src="examImgUrl"
  96. alt=""
  97. class="shapeImg"
  98. />
  99. <img
  100. v-show="showWhiteFlag"
  101. src="../../assets/congnitiveAblitity/whiteFlag-new.png"
  102. alt=""
  103. class="addImg"
  104. />
  105. </div>
  106. </div>
  107. </div>
  108. </template>
  109. <script>
  110. import cognitiveAbilityTaskList from "@/assets/data/cognitiveAbilityData.js";
  111. import { oSessionStorage, preloader } from "@/utils/utils";
  112. import screenfull from "screenfull";
  113. export default {
  114. data() {
  115. return {
  116. userId: "",
  117. userTestResult: {},
  118. imgUrl: "",
  119. examImgUrl: "",
  120. taskId: "", // 认知任务id
  121. testFlag: false,
  122. testState: false,
  123. saveFlag: false, //结果保存按钮显示标志
  124. subjectInfo: "", //认知任务详情
  125. buttonShow: true, // 控制按钮显示吟唱
  126. buttonName: "开始测试", // 正式测试 // 重新练习
  127. testTypeCode: 0, // 0-练习测试 1-正式测试 2-重新测试
  128. imgIndex: 0,
  129. userTestPicList: [
  130. {
  131. imgUrl: require("../../assets/congnitiveAblitity/movementPerception/practice/Coherent_Motion_Dist_0.3_MotDegree_10_Noise_0.1_1.gif"),
  132. imgDirection: 39,
  133. userClickDirection: "",
  134. dist: 0.3,
  135. noise: 0.1,
  136. },
  137. {
  138. imgUrl: require("../../assets/congnitiveAblitity/movementPerception/practice/Coherent_Motion_Dist_0.3_MotDegree_10_Noise_0.1_2.gif"),
  139. imgDirection: 39,
  140. userClickDirection: "",
  141. dist: 0.3,
  142. noise: 0.1,
  143. },
  144. {
  145. imgUrl: require("../../assets/congnitiveAblitity/movementPerception/practice/Coherent_Motion_Dist_0.3_MotDegree_80_Noise_0.1_1.gif"),
  146. imgDirection: 38,
  147. userClickDirection: "",
  148. dist: 0.3,
  149. noise: 0.1,
  150. },
  151. {
  152. imgUrl: require("../../assets/congnitiveAblitity/movementPerception/practice/Coherent_Motion_Dist_0.3_MotDegree_80_Noise_0.1_2.gif"),
  153. imgDirection: 38,
  154. userClickDirection: "",
  155. dist: 0.3,
  156. noise: 0.1,
  157. },
  158. {
  159. imgUrl: require("../../assets/congnitiveAblitity/movementPerception/practice/Coherent_Motion_Dist_0.3_MotDegree_100_Noise_0.1_1.gif"),
  160. imgDirection: 38,
  161. userClickDirection: "",
  162. dist: 0.3,
  163. noise: 0.1,
  164. },
  165. {
  166. imgUrl: require("../../assets/congnitiveAblitity/movementPerception/practice/Coherent_Motion_Dist_0.3_MotDegree_100_Noise_0.1_2.gif"),
  167. imgDirection: 38,
  168. userClickDirection: "",
  169. dist: 0.3,
  170. noise: 0.1,
  171. },
  172. {
  173. imgUrl: require("../../assets/congnitiveAblitity/movementPerception/practice/Coherent_Motion_Dist_0.3_MotDegree_350_Noise_0.1_2.gif"),
  174. imgDirection: 39,
  175. userClickDirection: "",
  176. dist: 0.3,
  177. noise: 0.1,
  178. },
  179. {
  180. imgUrl: require("../../assets/congnitiveAblitity/movementPerception/practice/Coherent_Motion_Dist_0.3_MotDegree_350_Noise_0.1_1.gif"),
  181. imgDirection: 39,
  182. userClickDirection: "",
  183. dist: 0.3,
  184. noise: 0.1,
  185. },
  186. ], //用户点击图片列表
  187. showImage: true,
  188. difficultList: [10], //[10,30,45,60,90]
  189. testPicCount: 0, //测试数目
  190. userRightClickDirection: "", //测试者应该点击的方向
  191. userRightResponseCount: 0, //测试者反应正确的次数
  192. showWhiteFlag: false,
  193. showDuckEgg: false,
  194. countDownTime: 6, //开始前的倒计时
  195. countDownStr: "开始测试",
  196. countDownShow: true,
  197. testTunrnCount: 0, //正式测试轮数
  198. testEndFlag: false, //测试结束标志
  199. testResultStrShow: false, //测试结果展示
  200. testResultStr: "", //测试成绩
  201. userCanClick: false, //用户标识用户单次刺激只能点击一次
  202. motDegreeList: [
  203. { key: 10, value: 39 },
  204. { key: 350, value: 39 },
  205. { key: 80, value: 38 },
  206. { key: 100, value: 38 },
  207. { key: 170, value: 37 },
  208. { key: 190, value: 37 },
  209. { key: 280, value: 40 },
  210. { key: 260, value: 40 },
  211. ], //水平10 350 垂直 80 100
  212. noiseList: [0.1, 0.3, 0.5],
  213. distList: [0.12, 0.1, 0.08],
  214. testPicShowTimeOut: "", //控制显示的延时器
  215. testPicShowControlTimeOut: "",
  216. myInterval: "", //控制倒计时的定时器
  217. diff: 0,
  218. dist: 0,
  219. noise: 0,
  220. oldSecond: 0, //定义时,分,秒,毫秒并初始化为0;
  221. oldMillSecond: 0,
  222. newSecond: 0,
  223. newMillSecond: 0, //秒
  224. second: 0,
  225. millSecond: 0,
  226. userResponseRecords: [], //用户测试记录
  227. };
  228. },
  229. // 页面初始化函数
  230. created() {
  231. this.taskId = this.$route.query.taskId;
  232. this.init();
  233. // this.startTest();
  234. },
  235. mounted: function () {
  236. var _this = this;
  237. document.onkeydown = function (e) {
  238. let key = window.event.keyCode;
  239. ////键盘按键判断:左箭头-37;上箭头-38;右箭头-39;下箭头-40
  240. if (40 >= key && key >= 37) _this.userClick(key);
  241. };
  242. },
  243. destroyed() {
  244. clearInterval(this.myInterval);
  245. clearTimeout(this.testPicShowTimeOut);
  246. clearTimeout(this.testPicShowControlTimeOut);
  247. },
  248. methods: {
  249. init() {
  250. this.subjectInfo = JSON.parse(oSessionStorage.getItem("subjectInfo"));
  251. },
  252. format(percentage) {
  253. return percentage === 100 ? "测试已完成" : "任务进度";
  254. },
  255. getNowTime() {
  256. this.oldSecond = new Date().getSeconds();
  257. this.oldMillSecond = new Date().getMilliseconds();
  258. // console.log("老时间为:"+this.oldSecond+":"+this.oldMillSecond)
  259. },
  260. computeTime() {
  261. this.newSecond = new Date().getSeconds();
  262. this.newMillSecond = new Date().getMilliseconds();
  263. // console.log("新时间为:"+this.newSecond+":"+this.newMillSecond)
  264. if (
  265. this.newSecond > this.oldSecond &&
  266. this.newMillSecond > this.oldMillSecond
  267. ) {
  268. this.second = this.newSecond - this.oldSecond;
  269. this.millSecond = this.newMillSecond - this.oldMillSecond;
  270. console.log("时间差为:" + this.second + ":" + this.millSecond);
  271. } else if (
  272. this.newSecond < this.oldSecond &&
  273. this.newMillSecond > this.oldMillSecond
  274. ) {
  275. this.second = this.newSecond + 60 - this.oldSecond;
  276. this.millSecond = this.newMillSecond - this.oldMillSecond;
  277. console.log("时间差为:" + this.second + ":" + this.millSecond);
  278. } else if (
  279. this.newSecond > this.oldSecond &&
  280. this.newMillSecond < this.oldMillSecond
  281. ) {
  282. this.second = this.newSecond - 1 - this.oldSecond;
  283. this.millSecond = this.newMillSecond + 1000 - this.oldMillSecond;
  284. console.log("时间差为:" + this.second + ":" + this.millSecond);
  285. } else if (
  286. this.newSecond < this.oldSecond &&
  287. this.newMillSecond < this.oldMillSecond
  288. ) {
  289. this.second = this.newSecond + 59 - this.oldSecond;
  290. this.millSecond = this.newMillSecond + 1000 - this.oldMillSecond;
  291. console.log("时间差为:" + this.second + ":" + this.millSecond);
  292. } else if (
  293. this.newSecond == this.oldSecond &&
  294. this.newMillSecond > this.oldMillSecond
  295. ) {
  296. this.second = this.newSecond - this.oldSecond;
  297. this.millSecond = this.newMillSecond - this.oldMillSecond;
  298. console.log("时间差为:" + this.second + ":" + this.millSecond);
  299. }
  300. },
  301. userClick(clickFlag) {
  302. // console.log("进入了userClick方法")
  303. let Obj = {
  304. // index:'',
  305. // diff:'',
  306. // direction:'',
  307. // userResponse:'',
  308. // responseTime: ''
  309. };
  310. if (this.countDownShow) {
  311. return;
  312. }
  313. if (this.userCanClick == true) {
  314. this.computeTime();
  315. Obj = {};
  316. Obj.index = this.imgIndex;
  317. Obj.diff = this.diff;
  318. Obj.dist = this.dist;
  319. Obj.noise = this.noise;
  320. if (this.userRightClickDirection == 37) {
  321. Obj.direction = "left";
  322. } else if (this.userRightClickDirection == 38) {
  323. Obj.direction = "up";
  324. } else if (this.userRightClickDirection == 39) {
  325. Obj.direction = "right";
  326. } else if (this.userRightClickDirection == 40) {
  327. Obj.direction = "down";
  328. }
  329. if (clickFlag == 37) {
  330. Obj.userResponse = "left";
  331. } else if (clickFlag == 38) {
  332. Obj.userResponse = "up";
  333. } else if (clickFlag == 39) {
  334. Obj.userResponse = "right";
  335. } else if (clickFlag == 40) {
  336. Obj.userResponse = "down";
  337. }
  338. Obj.responseTime = this.second * 1000 + this.millSecond;
  339. this.userResponseRecords.push(Obj);
  340. }
  341. this.showWhiteFlag = true;
  342. this.showDuckEgg = false;
  343. if (
  344. this.userRightClickDirection == clickFlag &&
  345. this.userCanClick == true
  346. ) {
  347. console.log("正确了 反应正确数加一");
  348. this.userRightResponseCount++;
  349. this.userCanClick = false;
  350. }
  351. if (
  352. this.userRightClickDirection != clickFlag &&
  353. this.userCanClick == true
  354. ) {
  355. console.log("错了 ");
  356. this.userCanClick = false;
  357. }
  358. if (this.imgIndex == this.userTestPicList.length) {
  359. this.testEndFlag = true;
  360. }
  361. },
  362. screen() {
  363. // 如果不允许进入全屏,发出不允许提示
  364. // if (!screenfull.isEnabled) {
  365. // this.$message("您的浏览器不能全屏");
  366. // return false;
  367. // }
  368. screenfull.toggle();
  369. },
  370. startTest() {
  371. if (
  372. sessionStorage.getItem("b80bb7740288fda1f201890375a60c8f") == "" ||
  373. sessionStorage.getItem("b80bb7740288fda1f201890375a60c8f") == null
  374. ) {
  375. this.$message.error("请先登录!");
  376. return;
  377. }
  378. screenfull.request();
  379. this.userId = sessionStorage.getItem("b80bb7740288fda1f201890375a60c8f");
  380. if (this.testTypeCode == 1) {
  381. this.countDownStr = "马上开始!";
  382. this.imgIndex = 0;
  383. this.countDownTime = 6;
  384. this.testEndFlag = false;
  385. this.showWhiteFlag = false;
  386. this.showDuckEgg = false;
  387. this.userTestPicList = [];
  388. this.userResponseRecords = [];
  389. }
  390. this.countDownShow = true;
  391. this.userTestPicListCreate();
  392. // 预加载图片后开始测试
  393. preloader(this.userTestPicList, () => {
  394. this.testFlag = true;
  395. this.testState = true;
  396. this.countDown();
  397. });
  398. },
  399. // format(percentage) {
  400. // return percentage === 100 ? "测试已完成" : "任务进度";
  401. // },
  402. showTargetNow() {
  403. let Obj = {};
  404. // 练习间隔2~4,正式测试2~12;
  405. //var time = Math.round(Math.random()*400) + 800;
  406. this.testPicShowTimeOut = setTimeout(() => {
  407. this.showWhiteFlag = true;
  408. this.showDuckEgg = false;
  409. console.log("用户测试记录如下:");
  410. console.log(this.userResponseRecords);
  411. if (this.userCanClick == true) {
  412. Obj = {};
  413. Obj.index = this.imgIndex;
  414. Obj.diff = this.diff;
  415. Obj.dist = this.dist;
  416. Obj.noise = this.noise;
  417. if (this.userRightClickDirection == 37) {
  418. Obj.direction = "left";
  419. } else if (this.userRightClickDirection == 38) {
  420. Obj.direction = "up";
  421. } else if (this.userRightClickDirection == 39) {
  422. Obj.direction = "right";
  423. } else if (this.userRightClickDirection == 40) {
  424. Obj.direction = "down";
  425. }
  426. Obj.userResponse = "";
  427. Obj.responseTime = 3000;
  428. this.userResponseRecords.push(Obj);
  429. this.userCanClick = false;
  430. }
  431. this.testPicShowControlTimeOut = setTimeout(() => {
  432. if (this.testEndFlag) {
  433. console.log("进入了结束标志方法");
  434. clearTimeout(this.testPicShowTimeOut);
  435. clearTimeout(this.testPicShowControlTimeOut);
  436. this.computeScore();
  437. if (this.testTypeCode == 0) {
  438. console.log(this.userResponseRecords);
  439. }
  440. } else {
  441. this.userRightClickDirection =
  442. this.userTestPicList[this.imgIndex].imgDirection;
  443. this.diff = this.userTestPicList[this.imgIndex].diff;
  444. this.dist = this.userTestPicList[this.imgIndex].dist;
  445. this.noise = this.userTestPicList[this.imgIndex].noise;
  446. this.examImgUrl = this.userTestPicList[this.imgIndex].imgUrl;
  447. this.showWhiteFlag = false;
  448. this.showDuckEgg = true;
  449. this.userCanClick = true;
  450. this.imgIndex++;
  451. console.log(this.imgIndex);
  452. console.log("正确的方向是");
  453. console.log(this.userRightClickDirection);
  454. // console.log("imgIndex:"+this.imgIndex)
  455. // if (this.imgIndex == this.userTestPicList.length) {
  456. // if (this.imgIndex == 10) {
  457. // this.testEndFlag = true;
  458. // }
  459. if (this.imgIndex == this.userTestPicList.length) {
  460. this.testEndFlag = true;
  461. }
  462. this.showTargetNow();
  463. this.getNowTime();
  464. }
  465. }, 1000);
  466. }, 3000);
  467. },
  468. testEnd() {
  469. this.testState = false;
  470. this.radioShow = false;
  471. this.examImgUrl = "";
  472. this.testFlag = false;
  473. this.$message({
  474. message: "测试结束!",
  475. type: "success",
  476. });
  477. this.buttonName = "结果保存";
  478. this.buttonShow = true;
  479. },
  480. computeScore() {
  481. screenfull.exit();
  482. if (this.testTypeCode == 0) {
  483. console.log("testPicCount" + this.testPicCount);
  484. console.log("userRightResponseCount" + this.userRightResponseCount);
  485. if (this.testPicCount == this.userRightResponseCount) {
  486. this.testFlag = false;
  487. this.testState = false;
  488. this.testTypeCode = 1;
  489. this.buttonName = "正式测试";
  490. this.userRightResponseCount = 0;
  491. this.buttonShow = true;
  492. this.$message({
  493. message: "测试通过!",
  494. type: "success",
  495. });
  496. } else {
  497. this.testFlag = false;
  498. this.testState = false;
  499. this.userRightResponseCount = 0;
  500. this.buttonName = "重新测试";
  501. this.imgIndex = 0;
  502. this.countDownTime = 10;
  503. this.testEndFlag = false;
  504. this.showWhiteFlag = false;
  505. this.showDuckEgg = false;
  506. this.userResponseRecords = [];
  507. //this.userTestPicList = []
  508. this.buttonShow = true;
  509. this.countDownStr = "练习马上开始!";
  510. this.$message({
  511. message: "练习测试不达标,请您重新进行练习测试!",
  512. type: "warning",
  513. });
  514. }
  515. } else {
  516. this.testTunrnCount++;
  517. if (this.testTunrnCount < 1) {
  518. this.startTest();
  519. } else {
  520. let userScore = parseFloat(
  521. (this.userRightResponseCount /
  522. (this.testTunrnCount * this.testPicCount)) *
  523. 100
  524. ).toFixed(2);
  525. this.testFlag = false;
  526. this.testState = false;
  527. this.buttonShow = false;
  528. this.$http.post(
  529. `/cognize/MOVEMENT_CHILD`,
  530. {
  531. userId: this.userId,
  532. userScore: userScore + "%",
  533. userResponseRecords: this.userResponseRecords,
  534. testPlanId: this.$route.query.testPlanId || "",
  535. },
  536. (res) => {
  537. this.$message({
  538. message: "测试结束!",
  539. type: "success",
  540. });
  541. this.goTestResult(res.data);
  542. }
  543. );
  544. }
  545. }
  546. },
  547. userTestPicListCreate() {
  548. let imgObj = {
  549. // imgUrl:'',
  550. // imgDirection:'',
  551. // userClickDirection:''
  552. };
  553. if (this.testTypeCode == 1) {
  554. //随机呈现20张难度不同的图片
  555. let imgIndexList = this.getRandomNumber(2, 5);
  556. // noiseList:[0.3,0.5,0.7],
  557. // distList:[0.1,0.06,0.08],
  558. for (let i = 0; i < this.motDegreeList.length; i++) {
  559. for (let j = 0; j < this.noiseList.length; j++) {
  560. //noise
  561. for (let k = 0; k < this.distList.length; k++) {
  562. //dist
  563. imgObj = {};
  564. imgObj.imgUrl = require("../../assets/congnitiveAblitity/movementPerception/Coherent_Motion_Dist_" +
  565. this.distList[k] +
  566. "_MotDegree_" +
  567. this.motDegreeList[i].key +
  568. "_Noise_" +
  569. this.noiseList[j] +
  570. "_" +
  571. (Math.floor(Math.random() * 2) + 1) +
  572. ".gif");
  573. imgObj.imgDirection = this.motDegreeList[i].value;
  574. imgObj.userClickDirection = "";
  575. imgObj.diff = this.motDegreeList[i].key;
  576. imgObj.dist = this.distList[k];
  577. imgObj.noise = this.noiseList[j];
  578. this.userTestPicList.push(imgObj);
  579. }
  580. }
  581. }
  582. }
  583. this.shuffle(this.userTestPicList);
  584. this.testPicCount = this.userTestPicList.length;
  585. console.log(this.userTestPicList);
  586. },
  587. getRandomNumber(size, maxNumber) {
  588. let numberList = [];
  589. for (var i = 0; i < size; i++) {
  590. numberList.push(Math.floor(Math.random() * maxNumber) + 1);
  591. }
  592. return numberList;
  593. },
  594. countDown() {
  595. // 测试时间倒计时
  596. this.myInterval = setInterval(() => {
  597. this.countDownTime--;
  598. this.countDownStr = this.countDownTime;
  599. console.log(this.countDownTime);
  600. if (this.countDownTime == 3) {
  601. this.showTargetNow();
  602. }
  603. if (this.countDownTime == 0) {
  604. this.countDownShow = false;
  605. this.showWhiteFlag = true;
  606. // 清除定时器
  607. clearInterval(this.myInterval);
  608. this.countDownTime = 6;
  609. }
  610. }, 1000);
  611. },
  612. shuffle(arr) {
  613. var i = arr.length,
  614. t,
  615. j;
  616. while (i) {
  617. j = Math.floor(Math.random() * i--);
  618. t = arr[i];
  619. arr[i] = arr[j];
  620. arr[j] = t;
  621. }
  622. }
  623. },
  624. };
  625. </script>
  626. <style scoped>
  627. .testMainDivMove {
  628. margin: 0 auto;
  629. margin-top: 10px;
  630. background: black;
  631. background-size: cover;
  632. /* text-align:center; */
  633. width: 500px;
  634. height: 300px;
  635. /* object-fit:fill; */
  636. }
  637. .activeTaskMove {
  638. background: url(../../assets/congnitiveAblitity/shapeIntuition.png) no-repeat
  639. center;
  640. background-size: cover;
  641. position: fixed;
  642. top: 0;
  643. left: 0;
  644. right: 0;
  645. bottom: 0;
  646. }
  647. .scaleName {
  648. margin-top: 70px;
  649. background-size: cover;
  650. }
  651. .scaleButton {
  652. margin-top: 20px;
  653. margin-bottom: 20px;
  654. background-size: cover;
  655. }
  656. .imgBox {
  657. font-size: 50px;
  658. color: black;
  659. position: absolute;
  660. top: 50%;
  661. left: 50%;
  662. transform: translate(-50%, -50%);
  663. }
  664. .shapeImg {
  665. width: 50%;
  666. position: absolute;
  667. top: 50%;
  668. left: 50%;
  669. transform: translate(-50%, -50%);
  670. }
  671. .addImg {
  672. width: 71px;
  673. width: 71px;
  674. position: absolute;
  675. top: 50%;
  676. left: 50%;
  677. transform: translate(-50%, -50%);
  678. }
  679. </style>