const app = require('../../utils/util.js'); const tools = require('../../utils/tools.js'); Page({ /** * 页面的初始数据 */ data: { showewm: false, showzs: false, kcArr: [], // ewmurl: '', sfmArr: [], // className: '', istask1: false, istask2: false, istask3: false, istask4: false, istask5: false, studentName: "", classInfo: {}, byzsbj: "../../images/zsbj.jpg", myCanvasId: 0, IngCourseArr: [] //如果有正在进行的课就存一下 }, selectBtn0() { this.setData({ select: 0 }); }, selectBtn1() { this.setData({ select: 1 }); }, gokhAnswer(e) { let isStudyDone = e.currentTarget.dataset.item.isStudyDone let isExam = e.currentTarget.dataset.item.isExam if (isStudyDone != 1) { wx.showModal({ showCancel: false, content: "您的学习课程还未完成哦,请先完成学习任务后再来考试吧!" }) return false } else { if (isExam == 0) { wx.request({ url: app.globalData.publicUrl + '/wx/exam/examList', method: "post", data: { sessionKey: this.data.sessionKey, courseId: e.currentTarget.dataset.item.id, clasId: this.data.classInfo.id }, success: (res) => { if (res.data.code == 0) { console.log(res.data); //let answersId = res.data.list[0].answersId ; if (res.data.list[0]) { if (res.data.list[0].answersId) { this.toPath(res.data.list[0].id, res.data.list[0].paperId, res.data.list[0].answersId, 'answerAfterclass'); } else { console.log('777777'); this.beginKao(res.data.list[0].id, res.data.list[0].paperId, this.data.sessionKey, 'answerAfterclass'); } } } } }) } else { wx.showModal({ showCancel: false, content: "您已经考完试了!" }) } } // console.log(e.currentTarget.dataset.courseid, "00"); }, gopjClass(e) { console.log(e.currentTarget.dataset.item, "8888") let isStudyDone = e.currentTarget.dataset.item.isStudyDone let isFeedback = e.currentTarget.dataset.item.isFeedback if (isStudyDone != 1) { wx.showModal({ showCancel: false, content: "您的学习课程还未完成哦,请先完成学习任务后再来评价吧!" }) return false } else { if (isFeedback == 0) { console.log(e.currentTarget.dataset,"111111111111111"); console.log(this.data.classInfo.id,"0000000000000"); wx.request({ url: app.globalData.publicUrl + '/wx/exam/quesExamList', method: "post", data: { sessionKey: this.data.sessionKey, questSub: '3', courseId: e.currentTarget.dataset.item.id, clasId: this.data.classInfo.id }, success: (res) => { if (res.data.code == 0) { console.log(res.data); //let answersId = res.data.list[0].answersId ; if (res.data.list[0]) { if (res.data.list[0].answersId) { if (res.data.list[0].status == '1') { wx.navigateTo({ url: '/pages/evaluationCourseDetail/evaluationCourseDetail?answersId=' + res.data.list[0].answersId, }) } else { this.toPath(res.data.list[0].id, res.data.list[0].paperId, res.data.list[0].answersId, 'evaluationCourse'); } } else { console.log('777777'); this.beginKao(res.data.list[0].id, res.data.list[0].paperId, this.data.sessionKey, 'evaluationCourse'); } } } } }) } else { wx.showModal({ showCancel: false, content: "您已经评价过了!" }) } } }, // startAnswer() { // wx.navigateTo({ // url: '/pages/answerAfterclass/answerAfterclass', // }) // }, goWrite() { if (this.data.istask2 == false) { wx.showModal({ showCancel: false, content: "请按照任务顺序执行哦!" }) return false } console.log(this.data.sessionKey); wx.request({ url: app.globalData.publicUrl + '/wx/exam/quesExamList', method: "post", data: { sessionKey: this.data.sessionKey, questSub: '0' }, success: (res) => { if (res.data.code == 0) { console.log(res.data); //let answersId = res.data.list[0].answersId ; console.log(res.data.list.length); if (res.data.list[0]) { if (res.data.list[0].answersId) { if (res.data.list[0].status) { wx.navigateTo({ url: '/pages/studentRegistrationDeyail/studentRegistrationDeyail?answersId=' + res.data.list[0].answersId, }) } else { this.toPath(res.data.list[0].id, res.data.list[0].paperId, res.data.list[0].answersId, 'studentRegistration'); } } else { console.log('777777'); this.beginKao(res.data.list[0].id, res.data.list[0].paperId, this.data.sessionKey, 'studentRegistration'); } } } } }) }, // 综合反馈表 、、、、、、 goWrite2() { if (this.data.istask3 == false) { wx.showModal({ showCancel: false, content: "请按照任务顺序执行哦!" }) return false } console.log(this.data.sessionKey, "dayin"); console.log(this.data.classInfo.id); wx.request({ url: app.globalData.publicUrl + '/wx/exam/quesExamList', method: "post", data: { sessionKey: this.data.sessionKey, questSub: '1', clasId: this.data.classInfo.id }, success: (res) => { if (res.data.code == 0) { console.log(res.data, "zonghe"); //let answersId = res.data.list[0].answersId ; console.log(res.data.list.length); if (res.data.list[0]) { if (res.data.list[0].answersId) { if (res.data.list[0].status == '1') { wx.navigateTo({ url: '/pages/feedBackDetail/feedBackDetail?answersId=' + res.data.list[0].answersId, }) } else { this.toPath(res.data.list[0].id, res.data.list[0].paperId, res.data.list[0].answersId, 'feedBack'); } } else { this.beginKao(res.data.list[0].id, res.data.list[0].paperId, this.data.sessionKey, 'feedBack'); } } } } }) }, toPath(id, paperId, answersId, address, status) { wx.navigateTo({ url: '/pages/' + address + '/' + address + '?id=' + id + '&paperId=' + paperId + '&answersId=' + answersId + '&status=' + status, }) }, beginKao(id, paperId, sessionKey, address) { console.log(paperId, "8888888"); wx.request({ url: app.globalData.publicUrl + '/wx/exam/begin', method: "post", data: { sessionKey: sessionKey, id: id, paperId: paperId }, success: (res) => { console.log(res); if (res.data.code == 0) { console.log(res, "为我么我们微妙"); // 提交答案是后 this.setData({ status: res.data.status }) this.toPath(id, paperId, res.data.answersId, address, ); } } }) }, // 领取结业证 lq() { if (this.data.istask4 == false) { wx.showModal({ showCancel: false, content: "请按照任务顺序执行哦!" }) return false } wx.showLoading({ mask: true, title: '加载中', }) this.setData({ myCanvasId: this.data.myCanvasId + 1 }) console.log(this.data.myCanvasId) let str = this.data.studentName + "同志于" + this.data.classInfo.beginDate + " 至 " + this.data.classInfo.endDate + "参加学习完成规定培训内容,准予结业,特发此证。" let strArr = []; //每15个字截取一下 // let n = 15; // for (let i = 0, l = str.length; i < l / n; i++) { // let a = str.slice(n * i, n * (i + 1)); // strArr.push(a); // } let a = str.slice(0, 18); let b = str.slice(16, 36); let c = str.slice(36, 56); strArr.push(a, b, c); console.log(strArr, "我是截取之后的") const ctx = wx.createCanvasContext(this.data.myCanvasId); ctx.drawImage(this.data.byzsbj, 0, 0, 300, 415); //里面的参数无非就是图片放置的位置即图片的横纵坐标,图片的宽高 ctx.setFillStyle("#000"); ctx.setFontSize(16); //字大小 ctx.setTextAlign('left'); //是否居中显示,参考点画布中线 let leftPositionAarr = [60, 30, 30, 30] for (let i = 0; i < strArr.length; i++) { console.log(i); ctx.fillText(strArr[i], leftPositionAarr[i], 160 + i * 30); } // ctx.fillText(str, 150, 160); //150:canvas画布宽300,取1/2,中间,280:纵向位置 ctx.draw(); wx.hideLoading(); this.setData({ showzs: true, istask5: true }); wx.request({ url: app.globalData.publicUrl + '/wx/student/wxGraduation', method: "post", data: { sessionKey: this.data.sessionKey }, success: (res) => { console.log(res.data, "领取结业证提交") } }) }, saveZs() { wx.canvasToTempFilePath({ //把当前画布指定区域的内容导出生成指定大小的图片 canvasId: this.data.myCanvasId, success(res) { console.log(res) wx.authorize({ //向用户发起授权请求 scope: 'scope.writePhotosAlbum', //保存相册授权 success: () => { wx.saveImageToPhotosAlbum({ //保存图片到系统相册 filePath: res.tempFilePath, success: () => { wx.showToast({ title: '图片保存成功' }) } }) } }) } }) }, // 点击去学习转直播点播页面 goStudy(e) { if (this.data.istask2 == false) { wx.showModal({ showCancel: false, content: "请按照任务顺序执行哦!" }) return false } let id = e.currentTarget.dataset.item.id //此课程的id console.log(id) console.log(this.data.IngCourseArr, "我是筛选的列表") if (this.data.IngCourseArr.length == 0) { if (e.currentTarget.dataset.item.isLive == 1) { if (e.currentTarget.dataset.item.isActive == 1) { wx.navigateTo({ url: '../zbDetails/zbDetails?id=' + id }) } else { wx.showModal({ showCancel: false, content: "直播还未开始哦" }) return false; } } else { wx.navigateTo({ url: '../dbDetails/dbDetails?id=' + id }) } } else { if (id == this.data.IngCourseArr.id) { if (e.currentTarget.dataset.item.isLive == 1) { if (e.currentTarget.dataset.item.isActive == 1) { wx.navigateTo({ url: '../zbDetails/zbDetails?id=' + id }) } else { wx.showModal({ showCancel: false, content: "直播还未开始哦" }) return false; } } else { wx.navigateTo({ url: '../dbDetails/dbDetails?id=' + id }) } } else { wx.showModal({ showCancel: false, content: "您有未完成的学习课程,请先完成学习任务后再进行其他课程学习!" }) } } }, // 获取我的课表 getMycourse(sessionKey) { wx.request({ url: app.globalData.publicUrl + '/wx/course/selectBySessionKey', method: "post", data: { sessionKey: sessionKey }, success: (res) => { console.log(res, "我的任务之课程") if (res.data.code == 0 && res.data.list.length !== 0) { this.setData({ kcArr: res.data.list, istask3: res.data.allDone }); // 过滤数组 for (let i = 0; i < res.data.list.length; i++) { if (res.data.list[i].isStudyDone == 0) { this.setData({ IngCourseArr: res.data.list[i] }) } } // 换算时间 let result = []; if (res.data.list) for (let i = 0; i < res.data.list.length; i++) { result.push({ courseTime: res.data.list[i].courseTime }); } const timesArr = result.map((item) => { return item.courseTime; }); let sfmArr = []; for (let i = 0; i < timesArr.length; i++) { let value = timesArr[i]; const resultValue = this.handler(value); sfmArr.push({ courseTime: resultValue }) this.setData({ sfmArr: sfmArr }) } } } }) }, handler(value) { //换算为秒 进制1000 const second = Math.floor(value / 1000); //判断是否够1秒 if (second < 1) { return "0秒"; } const secondValue = second % 60; // 秒 const minutes = Math.floor(second / 60); //判断是否够1分钟 if (minutes < 1) { return `${secondValue}秒`; } const minutesValue = minutes % 60; //分 const hours = Math.floor(minutes / 60); //判断是否够1小时 if (hours < 1) { return `${minutesValue}分${secondValue}秒`; } const hoursValue = hours % 60; //小时 return `${hoursValue}时${minutesValue}分${secondValue}秒`; }, // 学员身份认证 检查第一个任务 checkTaskList(sessionKey) { wx.request({ url: app.globalData.publicUrl + '/wx/student/selStudentSessionKey', method: "post", data: { sessionKey: sessionKey }, success: (res) => { console.log(res.data, "检查第一个任务") if (res.data.code == 0) { if (res.data.data.joinClas == 0) { this.setData({ istask1: true }) } this.setData({ studentName: res.data.data.studentName, }) } } }) }, // 检查第二个任务 学院登记表 checkTaskList2(sessionKey) { wx.request({ url: app.globalData.publicUrl + '/wx/student/selStudentSessionKey', method: "post", data: { sessionKey: sessionKey }, success: (res) => { console.log(res.data, "我是第二个任务的检查状态") if (res.data.code == 0 && res.data.data.register == 0) { this.setData({ istask2: true }) } } }) }, // 检查第四个任务 综合反馈表 checkTaskList4(sessionKey) { wx.request({ url: app.globalData.publicUrl + '/wx/exam/status', method: "post", data: { sessionKey: sessionKey }, success: (res) => { console.log(res.data, "我是第四个任务的检查状态") if (res.data.code == 0 && res.data.status == 0) { this.setData({ istask4: true }) } } }) }, checkTaskList5(sessionKey) { wx.request({ url: app.globalData.publicUrl + '/wx/student/wxGraduation', method: "post", data: { sessionKey: sessionKey }, success: (res) => { console.log(res.data, "我是第五个任务的检查状态") if (res.data.code == 0 && res.data.code == 0) { this.setData({ istask5: true }) } } }) }, // 查询我是否有班&&班级名字 isClass(sessionKey) { wx.request({ url: app.globalData.publicUrl + '/wx/student/selMyClas', method: "post", data: { sessionKey: sessionKey }, success: (res) => { console.log(res, "我是返回是否有班级") if (res.data.code == 0) { this.setData({ classInfo: res.data.data }) } else { wx.showModal({ content: "您当前还没有开放的班级!", showCancel: false, success(res) { if (res.confirm) { wx.switchTab({ url: '../index/index' }) } } }) return false; } } }) }, // 记录二维码已经点击 ewmClick(sessionKey) { wx.request({ url: app.globalData.publicUrl + '/wx/student/wxGroup', method: "post", data: { sessionKey: sessionKey }, success: (res) => { this.setData({ showewm: true, istask1: true }) } }) }, async showEwm() { const sessionKey = await tools.checkSessionAndLogin(); this.ewmClick(sessionKey) }, onClose() { wx.hideLoading() this.setData({ showewm: false }); }, onClose1() { this.setData({ showzs: false }); }, /** * 生命周期函数--监听页面初次渲染完成 */ saveImg() { wx.getSetting({ success: (res) => { if (!res.authSetting['scope.writePhotosAlbum']) { wx.authorize({ scope: 'scope.writePhotosAlbum', success() { console.log(res, "我点击同意啦") wx.showLoading({ title: '保存中...' }) let imgSrc = this.data.ewmurl; wx.downloadFile({ url: imgSrc, success: function (res) { console.log(res, '我下载完成啦'); //图片保存到本地 wx.saveImageToPhotosAlbum({ filePath: res.tempFilePath, success: function (data) { console.log(data, '我保存成功啦') wx.hideLoading(); wx.showToast({ title: '保存成功', icon: 'success', duration: 2000 }) }, fail: function (err) { console.log(err, '我保存失败啦') wx.hideLoading(); if (err.errMsg === "saveImageToPhotosAlbum:fail auth deny") { console.log("当初用户拒绝,再次发起授权") wx.openSetting({ success(settingdata) { console.log(settingdata) if (settingdata.authSetting['scope.writePhotosAlbum']) { console.log('获取权限成功,给出再次点击图片保存到相册的提示。') } else { console.log('获取权限失败,给出不给权限就无法正常使用的提示') } } }) } }, complete(res) { console.log(res); } }) } }) } }) } else { let imgSrc = this.data.ewmurl wx.downloadFile({ url: imgSrc, success: function (res) { console.log(res, '我下载完成啦'); wx.hideLoading(); //图片保存到本地 wx.saveImageToPhotosAlbum({ filePath: res.tempFilePath, success: function (data) { console.log(data, '我保存成功啦') wx.hideLoading(); wx.showToast({ title: '保存成功', icon: 'success', duration: 2000 }) }, fail: function (err) { console.log(err, '我保存失败啦') wx.hideLoading(); if (err.errMsg === "saveImageToPhotosAlbum:fail auth deny") { console.log("当初用户拒绝,再次发起授权") wx.openSetting({ success(settingdata) { console.log(settingdata) if (settingdata.authSetting['scope.writePhotosAlbum']) { console.log('获取权限成功,给出再次点击图片保存到相册的提示。') } else { console.log('获取权限失败,给出不给权限就无法正常使用的提示') } } }) } }, complete(res) { console.log(res); } }) } }) } } }) }, async onShow() { const sessionKey = await tools.checkSessionAndLogin(); this.setData({ sessionKey }) this.checkTaskList(sessionKey) this.isClass(sessionKey); this.getMycourse(sessionKey); this.checkTaskList2(sessionKey) this.checkTaskList4(sessionKey) this.checkTaskList5(sessionKey) // this.canvasImg(); // this.getbyzsText(); } })