personalLearning.vue 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495
  1. <template>
  2. <!-- (学生)个人学习记录,同(老师)学生实验情况 -->
  3. <view class="user-full">
  4. <view class="box2 df ">
  5. <view class="box2-content">
  6. <view class="title df fdr aic">
  7. <view class="df">
  8. <img src="../../assets/user/pic_user_02.png"></img>
  9. </view>
  10. <view class="title-text">学生信息</view>
  11. </view>
  12. <view class="box2-table-box df fdr">
  13. <view class="m_right_container">
  14. <table style="width: 100%;border: 1px solid #DDDDDD;border-collapse: collapse">
  15. <thead class="m-table-hander">
  16. <tr>
  17. <th>姓名</th>
  18. <th>班级</th>
  19. <th>学号</th>
  20. </tr>
  21. </thead>
  22. <tbody>
  23. <tr>
  24. <th style="color: #EA252C;">{{model.Name}}</th>
  25. <th>{{model.Class}}</th>
  26. <th>{{model.StudentID}}</th>
  27. </tr>
  28. </tbody>
  29. </table>
  30. </view>
  31. </view>
  32. </view>
  33. </view>
  34. <view class="box2 df ">
  35. <view class="box2-content">
  36. <view class="title df fdr aic">
  37. <view class="df">
  38. <img src="../../assets/user/pic_user_02.png"></img>
  39. </view>
  40. <view class="title-text">成绩分布</view>
  41. </view>
  42. <view class="box2-table-box df fdr">
  43. <!-- <radar class=""></radar> -->
  44. <web-view class='webview' :src="url" v-if="url.length"></web-view>
  45. <!-- 五维图暂缓 -->
  46. </view>
  47. </view>
  48. </view>
  49. <view class="box2 df ">
  50. <view class="box2-content">
  51. <view class="title df fdr aic">
  52. <view class="df">
  53. <img src="../../assets/user/pic_user_02.png"></img>
  54. </view>
  55. <view class="title-text">学习进度</view>
  56. </view>
  57. <view class="box2-table-box df fdc">
  58. <view class="progress-item df fdr aic">
  59. <view class="progress-box">
  60. <progress :percent=YLRZ_P activeColor="#e93f52" active stroke-width="8" />
  61. </view>
  62. <view class="progress-text">{{YLRZ_P}}%</view>
  63. </view>
  64. <view class="progress-item df fdr aic">
  65. <view class="progress-box">
  66. <progress :percent=SJKC_P activeColor="#d6ebbf" active stroke-width="8" />
  67. </view>
  68. <view class="progress-text">{{SJKC_P}}%</view>
  69. </view>
  70. <view class="progress-item df fdr aic">
  71. <view class="progress-box">
  72. <progress :percent=XNSY_P activeColor="#60b4f0" active stroke-width="8" />
  73. </view>
  74. <view class="progress-text">{{XNSY_P}}%</view>
  75. </view>
  76. <view class="xxjd-text">红色为原理认知,绿色为实景考察,蓝色为虚拟实验</view>
  77. </view>
  78. </view>
  79. </view>
  80. <view class="box3 df ">
  81. <view class="box2-content">
  82. <view class="title df fdr aic">
  83. <view class="df">
  84. <img src="../../assets/user/pic_user_02.png"></img>
  85. </view>
  86. <view class="title-text">测试成绩</view>
  87. </view>
  88. <view class="box2-table-box df fdr">
  89. <view class="m_right_container">
  90. <table style="width: 100%;border: 1px solid #DDDDDD;border-collapse: collapse">
  91. <thead class="m-table-hander">
  92. <tr>
  93. <th>测试项目</th>
  94. <th>是否学习</th>
  95. <th>是否通过</th>
  96. <th>分值</th>
  97. </tr>
  98. </thead>
  99. <tbody>
  100. <tr>
  101. <th>原理认知</th>
  102. <th>{{model.Score_ylrz>0?'是':'否'}}</th>
  103. <th>{{model.Score_ylrz>=10?'是':'否'}}</th>
  104. <th>{{model.Score_ylrz>0?model.Score_ylrz:'0'}}</th>
  105. </tr>
  106. <tr>
  107. <th>实景勘察</th>
  108. <th>{{model.Score_sjkc>0?'是':'否'}}</th>
  109. <th>{{model.Score_sjkc>=10?'是':'否'}}</th>
  110. <th>{{model.Score_sjkc>0?model.Score_sjkc:'0'}}</th>
  111. </tr>
  112. <tr>
  113. <th>虚拟技术搭建</th>
  114. <th>{{model.Score_xnjsdj>0?'是':'否'}}</th>
  115. <th>{{model.Score_xnjsdj>=10?'是':'否'}}</th>
  116. <th>{{model.Score_xnjsdj>0?model.Score_xnjsdj:'0'}}</th>
  117. </tr>
  118. <tr>
  119. <th>虚拟艺术创作</th>
  120. <th>{{model.Score_xnyscz>0?'是':'否'}}</th>
  121. <th>{{model.Score_xnyscz>=10?'是':'否'}}</th>
  122. <th>{{model.Score_xnyscz>0?model.Score_xnyscz:'0'}}</th>
  123. </tr>
  124. </tbody>
  125. </table>
  126. </view>
  127. </view>
  128. </view>
  129. </view>
  130. </view>
  131. </template>
  132. <script>
  133. // import radar from './radar.vue'
  134. export default {
  135. components: {
  136. // radar
  137. },
  138. onLoad() {
  139. },
  140. data() {
  141. return {
  142. url:'https://www.yuyekeji.cn/H5/radar.html',
  143. //0添加1个人
  144. showIndex_userInfo: 1,
  145. sexIndex: 0,
  146. zjIndex: 0,
  147. mzIndex: 0,
  148. //学习进度
  149. YLRZ_P:0,
  150. SJKC_P:0,
  151. XNSY_P:0,
  152. model: {
  153. "Name": "", //姓名
  154. "Class": "", //班级
  155. "StudentID": '', //学号
  156. "Score_ylrz": null, //原理认知分数
  157. "Score_sjkc": null, //实景勘察分数
  158. "Score_xnjsdj": null, //虚拟技术搭建分数
  159. "Score_xnyscz": null, //虚拟艺术创作分数
  160. },
  161. array_sex: ['男', '女'],
  162. array_zj: ['身份证', '护照'],
  163. array_mz: ['汉族', '少数民族'],
  164. testResults: ['原理认知', '实景勘察', '虚拟技术搭建', '虚拟艺术创作']
  165. }
  166. },
  167. methods: {
  168. //点击添加个人信息
  169. onClick_p1_add() {
  170. this.showIndex_userInfo = 1;
  171. },
  172. updateInfo(data) {
  173. this.model.Name = data.Name;
  174. this.model.Class = data.Class;
  175. this.model.StudentID = data.StudentID;
  176. this.model.Score_ylrz=userController.getScore_ylrz();
  177. this.model.Score_sjkc=userController.getScore_sjck();
  178. this.model.Score_xnjsdj=userController.getScore_xnjsdj();
  179. this.model.Score_xnyscz=userController.getScore_xnyscz();
  180. },
  181. updateLearnProgress(data) {
  182. // console.log('data=',data)
  183. if( data[0].Score!=-1)
  184. {
  185. this.YLRZ_P = parseInt(data[0].Score/10*100);
  186. }
  187. if( data[1].Score!=-1)
  188. {
  189. this.SJKC_P = parseInt(data[1].Score/5*100);
  190. }
  191. let totalScore = 0;
  192. for(let i=2;i<16;i++)
  193. {
  194. if(data[i].Score!=-1)
  195. {
  196. totalScore++;
  197. }
  198. }
  199. this.XNSY_P = parseInt(totalScore/14*100);
  200. },
  201. }
  202. }
  203. </script>
  204. <style lang="scss">
  205. .user-full {
  206. width: 100%;
  207. height: 100%;
  208. }
  209. .user-right-box {
  210. // background: #FFFFFF;
  211. background: #F4F4F4;
  212. box-shadow: px2vw(3) 0px px2vw(6) 0px rgba(0, 0, 0, 0.1);
  213. flex: 1;
  214. margin-left: px2vw(10);
  215. }
  216. .user-right-01-tip {
  217. font-size: px2vw(22);
  218. color: #FF7373;
  219. line-height: px2vw(29);
  220. margin-top: px2vw(37);
  221. }
  222. .self-btn01 {
  223. width: px2vw(200);
  224. height: px2vw(58);
  225. background: #EA252C;
  226. border-radius: px2vw(8);
  227. font-size: px2vw(24);
  228. color: #FFFFFF;
  229. line-height: px2vw(31);
  230. margin-top: px2vw(94);
  231. }
  232. .user-right-self01 {
  233. background: #FFFFFF;
  234. }
  235. .box1 {
  236. height: px2vw(200);
  237. background: #FFFFFF;
  238. }
  239. .self-avatar {
  240. margin-left: px2vw(227);
  241. }
  242. .self-avatar img {
  243. width: px2vw(120);
  244. }
  245. .self-btn02 {
  246. width: px2vw(200);
  247. height: px2vw(58);
  248. background: #EA252C;
  249. border-radius: px2vw(8);
  250. font-size: px2vw(24);
  251. color: #FFFFFF;
  252. line-height: px2vw(31);
  253. margin-left: px2vw(57);
  254. }
  255. .box2 {
  256. // height: px2vw(553);
  257. background: #FFFFFF;
  258. margin-top: px2vw(10);
  259. }
  260. .box2-content {
  261. margin-left: px2vw(71);
  262. margin-top: px2vw(31);
  263. margin-bottom: px2vw(57);
  264. }
  265. .form-input {
  266. width: px2vw(355);
  267. height: px2vw(54);
  268. padding: px2vw(14) px2vw(20);
  269. font-size: px2vw(20);
  270. color: #070707;
  271. line-height: px2vw(26);
  272. background: #FFFFFF;
  273. border-radius: px2vw(4);
  274. border: 1px solid #B4B4B4;
  275. }
  276. .title-text {
  277. margin-left: px2vw(16);
  278. }
  279. .box2-table-box {
  280. // margin-top: px2vw(44);
  281. // margin-bottom: px2vw(44);
  282. width: px2vw(1377);
  283. }
  284. .box2-table-box-left {
  285. width: px2vw(500);
  286. }
  287. .box2-table-box-left-item {
  288. width: 100%;
  289. margin-top: px2vw(30);
  290. }
  291. .table-title {
  292. font-size: px2vw(22);
  293. color: #555555;
  294. line-height: px2vw(29);
  295. }
  296. .box2-table-box-right {
  297. width: px2vw(500);
  298. margin-left: px2vw(92);
  299. }
  300. .box3 {
  301. // height: px2vw(553);
  302. background: #FFFFFF;
  303. margin-top: px2vw(10);
  304. }
  305. .btn-box {
  306. // margin-top: px2vw(10);
  307. }
  308. .btn-submit {
  309. width: px2vw(353);
  310. height: px2vw(58);
  311. background: #EA252C;
  312. border-radius: px2vw(8);
  313. font-size: px2vw(24);
  314. color: #FFFFFF;
  315. line-height: px2vw(31);
  316. margin-top: px2vw(94);
  317. }
  318. .btn-cancel {
  319. width: px2vw(200);
  320. height: px2vw(58);
  321. background: #D8D8D8;
  322. border-radius: px2vw(8);
  323. font-size: px2vw(24);
  324. color: #FFFFFF;
  325. line-height: px2vw(31);
  326. margin-top: px2vw(94);
  327. margin-left: px2vw(30);
  328. }
  329. .m_right {
  330. width: 100%;
  331. height: 100%;
  332. margin-top: 5rpx;
  333. padding: 0 150rpx;
  334. background-color: #fff;
  335. box-shadow: 3px 0px 6px 0px rgba(0, 0, 0, 0.1);
  336. .m_right_hander {
  337. text-align: right;
  338. height: 250rpx;
  339. position: relative;
  340. .m_btn_red {
  341. position: absolute;
  342. height: 80rpx;
  343. line-height: 80rpx;
  344. padding: 0 40rpx;
  345. right: 0;
  346. top: 50%;
  347. transform: translateY(-50%);
  348. background: #EA252C;
  349. color: #fff;
  350. }
  351. }
  352. }
  353. tbody tr {
  354. border-top: 2rpx solid #DDDDDD !important;
  355. }
  356. tbody tr th {
  357. font-weight: 400 !important;
  358. height: 140rpx;
  359. line-height: 140rpx;
  360. }
  361. tbody tr:hover {
  362. // color: #fff;
  363. background: #FDEBEC;
  364. // opacity: 0.08;
  365. }
  366. .m-table-hander {
  367. background-color: #FFF8F7;
  368. height: 140rpx;
  369. line-height: 140rpx;
  370. font-family: MicrosoftYaHei-Bold, MicrosoftYaHei;
  371. font-weight: bold;
  372. }
  373. .m_edit {
  374. position: absolute;
  375. top: 50%;
  376. left: 50%;
  377. transform: translate(-50%, -50%);
  378. background: rgb(67, 127, 250);
  379. color: rgb(255, 255, 255);
  380. min-width: 130rpx;
  381. }
  382. .m_delete {
  383. position: absolute;
  384. top: 50%;
  385. left: 50%;
  386. min-width: 130rpx;
  387. transform: translate(-50%, -50%);
  388. background: rgb(234, 37, 44);
  389. color: rgb(255, 255, 255);
  390. }
  391. .m_right_footer {
  392. margin-top: 80rpx;
  393. margin-bottom: 80rpx;
  394. }
  395. .m_paging {
  396. text-align: right;
  397. .m_paging_item {
  398. padding: 10rpx 18rpx;
  399. border: 1rpx solid #DDDDDD;
  400. border-radius: 8rpx;
  401. margin-right: 10rpx;
  402. }
  403. .p_act {
  404. background: #EA252C;
  405. color: #fff;
  406. border: inherit;
  407. }
  408. }
  409. .m_paging_item:hover {
  410. background: #EA252C;
  411. color: #fff;
  412. border: inherit;
  413. }
  414. .m_act1 {
  415. color: #FF0019;
  416. }
  417. .m_right_container {
  418. width: 100%;
  419. margin-top: px2vw(40);
  420. }
  421. .progress-item {
  422. margin-top: px2vw(40);
  423. }
  424. .progress-box {
  425. width: px2vw(700);
  426. // margin-top: px2vw(40);
  427. }
  428. .xxjd-text {
  429. margin-top: px2vw(40);
  430. }
  431. .progress-text {
  432. font-size: px2vw(24);
  433. color: #070707;
  434. line-height: px2vw(26);
  435. margin-left: px2vw(40);
  436. }
  437. .webview{
  438. height: 650upx;
  439. width: 500upx;
  440. }
  441. </style>