myMission.js 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795
  1. const app = require('../../utils/util.js');
  2. const tools = require('../../utils/tools.js');
  3. Page({
  4. data: {
  5. showewm: false, //是否显示班级群二维码
  6. showzs: false, //是否显示毕业证书
  7. show: false, //协议显示
  8. kcArr: [], //课程列表
  9. sfmArr: [], //课程的时间换算成(时分秒)
  10. istask1: false, //第一个任务加入班级群
  11. istask2: false, //第二个任务学员登记表
  12. istask3: false, //第三个任务所有课程是否学完
  13. istask4: false, //第四个任务是否完成期末开始
  14. istask5: false, //第五个任务综合反馈
  15. istask6: false, //第六个任务是否领取毕业证书
  16. studentName: "", //学生的名字用于毕业证书
  17. classInfo: {}, //有关我这个班级的所有信息
  18. byzsbj: "../../images/zsbj.jpg", //毕业证书的背景 用于合成图片
  19. myCanvasId: 0, //画布的id 再次绘制不成功的原因是id不能一致 所以id为变量++
  20. IngCourseArr: [], //如果有正在进行的课就存一下
  21. currentId: null,
  22. currentName: ""
  23. },
  24. // 检查第一个任务 班级二维码是否点击 && 检查第二个任务 学员登记表 && 第六个任务 领取结业证
  25. checkTaskList(sessionKey) {
  26. wx.request({
  27. url: app.globalData.publicUrl + '/wx/student/selStudentSessionKey',
  28. method: "post",
  29. data: {
  30. sessionKey: sessionKey
  31. },
  32. success: (res) => {
  33. if (res.data.code == 0) {
  34. this.setData({
  35. studentName: res.data.data.studentName,
  36. })
  37. if (res.data.data.joinClas == 0) {
  38. this.setData({
  39. istask1: true
  40. })
  41. }
  42. if (res.data.data.register == 0) {
  43. this.setData({
  44. istask2: true
  45. })
  46. }
  47. if (res.data.data.graduation == 0) {
  48. this.setData({
  49. istask6: true
  50. })
  51. }
  52. }
  53. }
  54. })
  55. },
  56. //保存班级二维码
  57. saveImg() {
  58. console.log(this.data.classInfo.codeImg)
  59. wx.showLoading({
  60. title: '保存中...'
  61. })
  62. wx.downloadFile({
  63. url: this.data.classInfo.codeImg,
  64. success: (res) => {
  65. console.log(res)
  66. //图片保存到本地
  67. wx.saveImageToPhotosAlbum({
  68. filePath: res.tempFilePath,
  69. success: () => {
  70. wx.hideLoading()
  71. wx.showModal({
  72. title: '提示',
  73. content: '保存成功',
  74. showCancel: false,
  75. })
  76. },
  77. fail: (err) => {
  78. console.log(err, "我保存失败了")
  79. if (err.errMsg === "saveImageToPhotosAlbum:fail:auth denied" || err.errMsg === "saveImageToPhotosAlbum:fail auth deny") {
  80. wx.showModal({
  81. title: '提示',
  82. content: '需要您授权保存相册',
  83. showCancel: false,
  84. success: () => {
  85. wx.hideLoading()
  86. wx.openSetting({
  87. success(settingdata) {
  88. if (settingdata.authSetting['scope.writePhotosAlbum']) {
  89. wx.showModal({
  90. title: '提示',
  91. content: '获取权限成功,再次点击即可保存',
  92. showCancel: false,
  93. })
  94. } else {
  95. wx.showModal({
  96. title: '提示',
  97. content: '获取权限失败,将无法保存到相册哦~',
  98. showCancel: false,
  99. })
  100. }
  101. },
  102. fail(failData) {
  103. console.log("failData", failData)
  104. },
  105. complete(finishData) {
  106. console.log("finishData", finishData)
  107. }
  108. })
  109. }
  110. })
  111. }
  112. }
  113. })
  114. },
  115. fail: (res) => {
  116. console.log(res,"我下载失败了")
  117. wx.hideLoading()
  118. wx.showModal({
  119. title: '提示',
  120. content: '下载失败',
  121. showCancel: false,
  122. })
  123. }
  124. })
  125. },
  126. // (第三个任务在获取列表是做了 --getMycourse()) 第四个任务 期末考试
  127. checkTaskList4(sessionKey, id) {
  128. wx.request({
  129. url: app.globalData.publicUrl + '/wx/exam/clasExamstatus',
  130. method: "post",
  131. data: {
  132. sessionKey: sessionKey,
  133. clasId: id
  134. },
  135. success: (res) => {
  136. if (res.data.code == 0 && res.data.status == 1) {
  137. this.setData({
  138. istask4: true
  139. })
  140. }
  141. }
  142. })
  143. },
  144. // 检查第五个任务 综合反馈表
  145. checkTaskList5(sessionKey, id) {
  146. wx.request({
  147. url: app.globalData.publicUrl + '/wx/exam/status',
  148. method: "post",
  149. data: {
  150. sessionKey: sessionKey,
  151. clasId: id
  152. },
  153. success: (res) => {
  154. if (res.data.code == 0 && res.data.status == 1) {
  155. this.setData({
  156. istask5: true
  157. })
  158. }
  159. }
  160. })
  161. },
  162. // 是否认证
  163. isRz(sessionKey) {
  164. wx.request({
  165. url: app.globalData.publicUrl + '/wx/student/selStudentSessionKey',
  166. method: "post",
  167. data: {
  168. sessionKey: sessionKey
  169. },
  170. success: (res) => {
  171. if (res.data.code == 0 && (res.data.data !== null || res.data.data !== "")) {
  172. this.isClass(sessionKey)
  173. } else {
  174. wx.showModal({
  175. content: "您还没有进行身份认证哦",
  176. showCancel: false,
  177. success(res) {
  178. if (res.confirm) {
  179. wx.redirectTo({
  180. url: '../Identity/Identity'
  181. })
  182. }
  183. }
  184. })
  185. }
  186. }
  187. })
  188. },
  189. // 查询我是否有班&&班级名字
  190. isClass(sessionKey) {
  191. wx.request({
  192. url: app.globalData.publicUrl + '/wx/student/selMyClas',
  193. method: "post",
  194. data: {
  195. sessionKey: sessionKey
  196. },
  197. success: (res) => {
  198. if (res.data.code == 0) {
  199. this.setData({
  200. classInfo: res.data.data
  201. })
  202. this.isAgree(sessionKey);
  203. this.getMycourse(sessionKey);
  204. this.checkTaskList(sessionKey);
  205. this.checkTaskList4(sessionKey, res.data.data.id)
  206. this.checkTaskList5(sessionKey, res.data.data.id)
  207. } else {
  208. if (res.data.msg == "运行时异常:学员不可同时存在两个班级中。") {
  209. wx.showModal({
  210. content: "学员不可同时存在多个班级中哦",
  211. showCancel: false,
  212. success(res) {
  213. if (res.confirm) {
  214. wx.switchTab({
  215. url: '../index/index'
  216. })
  217. }
  218. }
  219. })
  220. return false;
  221. } else {
  222. wx.showModal({
  223. content: "您当前还没有正在开放的班级!",
  224. showCancel: false,
  225. success(res) {
  226. if (res.confirm) {
  227. wx.switchTab({
  228. url: '../index/index'
  229. })
  230. }
  231. }
  232. })
  233. return false;
  234. }
  235. }
  236. }
  237. })
  238. },
  239. // 协议是否已同意
  240. isAgree(sessionKey) {
  241. wx.request({
  242. url: app.globalData.publicUrl + '/wx/student/selStudentSessionKey',
  243. method: "post",
  244. data: {
  245. sessionKey
  246. },
  247. success: (res) => {
  248. if (res.data.code == 0 && res.data.data) {
  249. if (res.data.data.agreement == 0) {
  250. this.setData({
  251. studentName: res.data.data.studentName,
  252. show: false
  253. });
  254. } else {
  255. this.setData({
  256. studentName: res.data.data.studentName,
  257. show: true
  258. });
  259. }
  260. }
  261. }
  262. })
  263. },
  264. moreThink(){
  265. wx.switchTab({
  266. url: '../index/index'
  267. })
  268. },
  269. // 点击同意协议 并且记一下
  270. hidePopup() {
  271. wx.request({
  272. url: app.globalData.publicUrl + '/wx/student/verification',
  273. method: "post",
  274. data: {
  275. sessionKey: this.data.sessionKey
  276. },
  277. success: (res) => {
  278. this.setData({
  279. show: false
  280. });
  281. }
  282. })
  283. },
  284. // 获取我的课程表
  285. getMycourse(sessionKey) {
  286. wx.request({
  287. url: app.globalData.publicUrl + '/wx/course/selectBySessionKey',
  288. method: "post",
  289. data: {
  290. sessionKey: sessionKey
  291. },
  292. success: (res) => {
  293. if (res.data.code == 0 && res.data.list.length !== 0) {
  294. this.setData({
  295. kcArr: res.data.list,
  296. istask3: res.data.allDone,
  297. currentName: "",
  298. currentId: null
  299. });
  300. // 过滤数组
  301. for (let i = 0; i < res.data.list.length; i++) {
  302. // 这个节课未全部完成
  303. if (res.data.list[i].isLive == -1) {
  304. if (res.data.list[i].isDone == 0) {
  305. // 这个视频已经进行了 看一半或者看完了
  306. if (res.data.list[i].isStudyDone == 0 || res.data.list[i].isStudyDone == 1) {
  307. this.setData({
  308. currentName: res.data.list[i].courseName,
  309. currentId: res.data.list[i].id
  310. })
  311. }
  312. }
  313. }
  314. }
  315. // 换算时间
  316. let result = [];
  317. if (res.data.list)
  318. for (let i = 0; i < res.data.list.length; i++) {
  319. result.push({
  320. courseTime: res.data.list[i].courseTime
  321. });
  322. }
  323. const timesArr = result.map((item) => {
  324. return item.courseTime;
  325. });
  326. let sfmArr = [];
  327. for (let i = 0; i < timesArr.length; i++) {
  328. let value = timesArr[i];
  329. const resultValue = this.handler(value);
  330. sfmArr.push({
  331. courseTime: resultValue
  332. })
  333. this.setData({
  334. sfmArr: sfmArr
  335. })
  336. }
  337. }
  338. }
  339. })
  340. },
  341. // 记录二维码已经点击
  342. showEwm() {
  343. wx.request({
  344. url: app.globalData.publicUrl + '/wx/student/wxGroup',
  345. method: "post",
  346. data: {
  347. sessionKey: this.data.sessionKey
  348. },
  349. success: () => {
  350. this.setData({
  351. showewm: true,
  352. istask1: true
  353. })
  354. }
  355. })
  356. },
  357. // 二维码隐藏
  358. onClose() {
  359. wx.hideLoading()
  360. this.setData({
  361. showewm: false
  362. });
  363. },
  364. // 填写学员登记表
  365. goWrite() {
  366. if (this.data.istask1 == false) {
  367. wx.showModal({
  368. showCancel: false,
  369. content: "请先去扫描班级二维码加入班级群吧!"
  370. })
  371. return false
  372. }
  373. wx.navigateTo({
  374. url: '../studentRegistration/studentRegistration'
  375. })
  376. },
  377. // 去学习
  378. goStudy(e) {
  379. let id = e.currentTarget.dataset.item.id //此课程的id
  380. let courseUrl = e.currentTarget.dataset.item.courseUrl //此课程的id
  381. let courseName = e.currentTarget.dataset.item.courseName //此课程的id
  382. let courseInfo = e.currentTarget.dataset.item.courseInfo //此课程的id
  383. if (!this.data.istask2) {
  384. wx.showModal({
  385. showCancel: false,
  386. content: "请先去填写学院登记表吧!"
  387. })
  388. return false
  389. }
  390. // 直播
  391. if (e.currentTarget.dataset.item.isLive == 1) {
  392. if (e.currentTarget.dataset.item.isActive == 1) {
  393. wx.navigateTo({
  394. url: '../zbDetails/zbDetails?id=' + id
  395. })
  396. }else if (e.currentTarget.dataset.item.isActive == -1) {
  397. wx.navigateTo({
  398. url: '../livePlayback/livePlayback?courseName=' + courseName + '&courseUrl=' + courseUrl + '&courseInfo=' + courseInfo
  399. })
  400. } else {
  401. wx.showModal({
  402. showCancel: false,
  403. content: "直播还未开始哦"
  404. })
  405. return false;
  406. }
  407. } else {
  408. if (this.data.currentId != null) {
  409. // 没学或者没学完
  410. if (e.currentTarget.dataset.item.isDone == 0) {
  411. if (id == this.data.currentId) {
  412. wx.navigateTo({
  413. url: '../dbDetails/dbDetails?id=' + id
  414. })
  415. } else {
  416. // 有未完成的但不是我 就不能跳转
  417. wx.showModal({
  418. showCancel: false,
  419. content: "您的" + this.data.currentName + "课还未学完,快去学习吧"
  420. })
  421. }
  422. } else {
  423. // 我看完了这个视频 还能看
  424. wx.navigateTo({
  425. url: '../dbDetails/dbDetails?id=' + id
  426. })
  427. }
  428. } else {
  429. wx.navigateTo({
  430. url: '../dbDetails/dbDetails?id=' + id
  431. })
  432. }
  433. }
  434. },
  435. // 去考试
  436. gokhAnswer(e) {
  437. if (!this.data.istask2) {
  438. wx.showModal({
  439. showCancel: false,
  440. content: "请先去填写学院登记表吧!"
  441. })
  442. return false
  443. }
  444. let isStudyDone = e.currentTarget.dataset.item.isStudyDone
  445. if (isStudyDone != 1) {
  446. wx.showModal({
  447. showCancel: false,
  448. content: "您当前的学习课程还未完成哦,请先完成再来考试吧!"
  449. })
  450. return false
  451. } else {
  452. wx.request({
  453. url: app.globalData.publicUrl + '/wx/exam/examList',
  454. method: "post",
  455. data: {
  456. sessionKey: this.data.sessionKey,
  457. courseId: e.currentTarget.dataset.item.id,
  458. clasId: this.data.classInfo.id
  459. },
  460. success: (res) => {
  461. if (res.data.code == 0) {
  462. if (res.data.list.length == 0) {
  463. wx.showModal({
  464. showCancel: false,
  465. content: '此课程还没有考试噢'
  466. })
  467. } else {
  468. if (res.data.list[0]) {
  469. if (res.data.list[0].answersId) {
  470. this.toPath(res.data.list[0].id, res.data.list[0].paperId, res.data.list[0].answersId, 'answerAfterclass');
  471. } else {
  472. this.beginKao(res.data.list[0].id, res.data.list[0].paperId, this.data.sessionKey, 'answerAfterclass');
  473. }
  474. }
  475. }
  476. }
  477. }
  478. })
  479. }
  480. },
  481. //去评价
  482. gopjClass(e) {
  483. if (!this.data.istask2) {
  484. wx.showModal({
  485. showCancel: false,
  486. content: "请先去填写学院登记表吧!"
  487. })
  488. return false
  489. }
  490. let isStudyDone = e.currentTarget.dataset.item.isStudyDone
  491. if (isStudyDone != 1) {
  492. wx.showModal({
  493. showCancel: false,
  494. content: "您的学习课程还未完成哦,请先完成学习任务后再来评价吧!"
  495. })
  496. return false
  497. } else {
  498. wx.request({
  499. url: app.globalData.publicUrl + '/wx/exam/quesExamList',
  500. method: "post",
  501. data: {
  502. sessionKey: this.data.sessionKey,
  503. // questSub: '3',
  504. courseId: e.currentTarget.dataset.item.id,
  505. clasId: this.data.classInfo.id
  506. },
  507. success: (res) => {
  508. if (res.data.code == 0) {
  509. if (res.data.list.length == 0) {
  510. wx.showModal({
  511. showCancel: false,
  512. content: '此课程还不可以评价哦!'
  513. })
  514. } else {
  515. if (res.data.list[0]) {
  516. if (res.data.list[0].answersId) {
  517. this.toPath(res.data.list[0].id, res.data.list[0].paperId, res.data.list[0].answersId, 'evaluationCourse');
  518. } else {
  519. this.beginKao(res.data.list[0].id, res.data.list[0].paperId, this.data.sessionKey, 'evaluationCourse');
  520. }
  521. }
  522. }
  523. }
  524. }
  525. })
  526. }
  527. },
  528. // 期末考试
  529. goQmks() {
  530. if (!this.data.istask1) {
  531. wx.showModal({
  532. showCancel: false,
  533. content: "请先去扫描二维码加入班级群吧",
  534. success(res) {
  535. if (res.confirm) {
  536. wx.switchTab({
  537. url: '../myMission/myMission'
  538. })
  539. }
  540. }
  541. })
  542. return false
  543. }
  544. if (!this.data.istask3) {
  545. wx.showModal({
  546. showCancel: false,
  547. content: "您的课程任务还未全部完成哦!请先去完成再来期末考试吧!"
  548. })
  549. return false
  550. }
  551. wx.request({
  552. url: app.globalData.publicUrl + '/wx/exam/examList',
  553. method: "post",
  554. data: {
  555. sessionKey: this.data.sessionKey,
  556. clasId: this.data.classInfo.id
  557. },
  558. success: (res) => {
  559. if (res.data.code == 0) {
  560. if (res.data.list.length == 0) {
  561. wx.showModal({
  562. showCancel: false,
  563. content: '期末考试还未开始哦!'
  564. })
  565. } else {
  566. if (res.data.list[0].answersId) {
  567. if (res.data.list[0].status == '1') {
  568. wx.request({
  569. url: app.globalData.publicUrl + '/wx/answer/detail',
  570. method: "post",
  571. data: {
  572. answersId: res.data.list[0].answersId
  573. },
  574. success: (res1) => {
  575. if (res1.data.list[0].answerScore >= 0 && res1.data.list[0].answerScore != null) {
  576. wx.navigateTo({
  577. url: '/pages/grade/grade?answersId=' + res.data.list[0].answersId,
  578. })
  579. } else {
  580. wx.showModal({
  581. showCancel: false,
  582. content: '当前老师批阅中,请耐心等待'
  583. })
  584. }
  585. }
  586. })
  587. } else {
  588. this.toPath(res.data.list[0].id, res.data.list[0].paperId, res.data.list[0].answersId, 'answerAfterclass');
  589. }
  590. } else {
  591. this.beginKao(res.data.list[0].id, res.data.list[0].paperId, this.data.sessionKey, 'answerAfterclass');
  592. }
  593. }
  594. }
  595. }
  596. })
  597. },
  598. // 综合反馈表
  599. goWrite2() {
  600. wx.request({
  601. url: app.globalData.publicUrl + '/wx/exam/quesExamList',
  602. method: "post",
  603. data: {
  604. sessionKey: this.data.sessionKey,
  605. questSub: '1',
  606. clasId: this.data.classInfo.id
  607. },
  608. success: (res) => {
  609. if (res.data.code == 0) {
  610. if (res.data.list.length == 0) {
  611. wx.showModal({
  612. showCancel: false,
  613. content: '当前综合反馈还不可以填写哦!'
  614. })
  615. } else {
  616. if (res.data.list[0]) {
  617. if (res.data.list[0].answersId) {
  618. if (res.data.list[0].status == '1') {
  619. wx.navigateTo({
  620. url: '/pages/feedBackDetail/feedBackDetail?answersId=' + res.data.list[0].answersId,
  621. })
  622. } else {
  623. this.toPath(res.data.list[0].id, res.data.list[0].paperId, res.data.list[0].answersId, 'feedBack');
  624. }
  625. } else {
  626. this.beginKao(res.data.list[0].id, res.data.list[0].paperId, this.data.sessionKey, 'feedBack');
  627. }
  628. }
  629. }
  630. }
  631. }
  632. })
  633. },
  634. // 考试需要的方法
  635. toPath(id, paperId, answersId, address, status) {
  636. wx.navigateTo({
  637. url: '/pages/' + address + '/' + address + '?id=' + id + '&paperId=' + paperId + '&answersId=' + answersId + '&status=' + status,
  638. })
  639. },
  640. // 考试需要的方法
  641. beginKao(id, paperId, sessionKey, address) {
  642. wx.request({
  643. url: app.globalData.publicUrl + '/wx/exam/begin',
  644. method: "post",
  645. data: {
  646. sessionKey: sessionKey,
  647. id: id,
  648. paperId: paperId
  649. },
  650. success: (res) => {
  651. if (res.data.code == 0) {
  652. this.setData({
  653. status: res.data.status
  654. })
  655. this.toPath(id, paperId, res.data.answersId, address, );
  656. }
  657. }
  658. })
  659. },
  660. // 领取结业证
  661. lq() {
  662. if (!this.data.istask4) {
  663. wx.showModal({
  664. showCancel: false,
  665. content: "请先去期末考试再来领取结业证吧!"
  666. })
  667. return false
  668. }
  669. wx.showLoading({
  670. mask: true,
  671. title: '加载中',
  672. })
  673. this.setData({
  674. myCanvasId: this.data.myCanvasId + 1
  675. })
  676. let str = this.data.studentName + "同志于" + this.data.classInfo.beginDate + " 至 " + this.data.classInfo.endDate + "参加学习完成规定培训内容,准予结业,特发此证。"
  677. let strArr = [];
  678. let a = str.slice(0, 18);
  679. let b = str.slice(16, 36);
  680. let c = str.slice(36, 56);
  681. strArr.push(a, b, c);
  682. const ctx = wx.createCanvasContext(this.data.myCanvasId);
  683. ctx.drawImage(this.data.byzsbj, 0, 0, 300, 415); //里面的参数无非就是图片放置的位置即图片的横纵坐标,图片的宽高
  684. ctx.setFillStyle("#000");
  685. ctx.setFontSize(16); //字大小
  686. ctx.setTextAlign('left'); //是否居中显示,参考点画布中线
  687. let leftPositionAarr = [60, 30, 30, 30]
  688. for (let i = 0; i < strArr.length; i++) {
  689. ctx.fillText(strArr[i], leftPositionAarr[i], 160 + i * 30);
  690. }
  691. // ctx.fillText(str, 150, 160); //150:canvas画布宽300,取1/2,中间,280:纵向位置
  692. ctx.draw();
  693. wx.hideLoading();
  694. this.setData({
  695. showzs: true,
  696. istask6: true
  697. });
  698. wx.request({
  699. url: app.globalData.publicUrl + '/wx/student/wxGraduation',
  700. method: "post",
  701. data: {
  702. sessionKey: this.data.sessionKey
  703. },
  704. success: (res) => {
  705. console.log(res.data, "领取结业证提交")
  706. }
  707. })
  708. },
  709. // 保存结业证
  710. saveZs() {
  711. wx.canvasToTempFilePath({ //把当前画布指定区域的内容导出生成指定大小的图片
  712. canvasId: this.data.myCanvasId,
  713. success(res) {
  714. wx.authorize({ //向用户发起授权请求
  715. scope: 'scope.writePhotosAlbum', //保存相册授权
  716. success: () => {
  717. wx.saveImageToPhotosAlbum({ //保存图片到系统相册
  718. filePath: res.tempFilePath,
  719. success: () => {
  720. wx.showToast({
  721. title: '图片保存成功'
  722. })
  723. }
  724. })
  725. }
  726. })
  727. }
  728. })
  729. },
  730. // 视频时长换算 换成多少时多少分多少秒
  731. handler(value) {
  732. //换算为秒 进制1000
  733. const second = Math.floor(value / 1000); //判断是否够1秒
  734. if (second < 1) {
  735. return "0秒";
  736. }
  737. const secondValue = second % 60; // 秒
  738. const minutes = Math.floor(second / 60); //判断是否够1分钟
  739. if (minutes < 1) {
  740. return `${secondValue}秒`;
  741. }
  742. const minutesValue = minutes % 60; //分
  743. const hours = Math.floor(minutes / 60); //判断是否够1小时
  744. if (hours < 1) {
  745. return `${minutesValue}分${secondValue}秒`;
  746. }
  747. const hoursValue = hours % 60; //小时
  748. return `${hoursValue}时${minutesValue}分${secondValue}秒`;
  749. },
  750. // 结业证隐藏
  751. onClose1() {
  752. this.setData({
  753. showzs: false
  754. });
  755. },
  756. // 查看详情成绩
  757. gockcj(e) {
  758. if (e.currentTarget.dataset.item.isExamId) {
  759. wx.request({
  760. url: app.globalData.publicUrl + '/wx/answer/detail',
  761. method: "post",
  762. data: {
  763. answersId: e.currentTarget.dataset.item.isExamId
  764. },
  765. success: (res) => {
  766. if (res.data.list[0].answerScore >= 0 && res.data.list[0].answerScore != null) {
  767. wx.navigateTo({
  768. url: '/pages/grade/grade?answersId=' + e.currentTarget.dataset.item.isExamId,
  769. })
  770. } else {
  771. wx.showModal({
  772. showCancel: false,
  773. content: '当前老师批阅中,请耐心等待'
  774. })
  775. }
  776. }
  777. })
  778. }
  779. },
  780. // 查看详情评价
  781. gockpj(e) {
  782. wx.navigateTo({
  783. url: '/pages/evaluationCourseDetail/evaluationCourseDetail?answersId=' + e.currentTarget.dataset.item.isFeedbackId,
  784. })
  785. },
  786. async onShow() {
  787. const sessionKey = await tools.checkSessionAndLogin();
  788. this.setData({
  789. sessionKey
  790. })
  791. this.isRz(sessionKey);
  792. }
  793. })