myClass.js 24 KB

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