123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224 |
- let app = getApp()
- Page({
- data: {
- tabs: [{
- name: '未完成'
- }, {
- name: '合格'
- }, {
- name: '不合格'
- }, {
- name: '缺考'
- }],
- currentTab: 0,
- phone: '',
- answerList: [],
- qualifiedList: [],
- unqualifiedList: [],
- missedList: [],
- record: [],//答题结果
- recordindex: 0
- },
- onShareAppMessage(){},
- onLoad() {
- let that = this;
- dd.getStorage({
- key: 'userInf',
- success: function (res) {
- that.setData({
- phone: res.data.phone
- })
- let params = {
- phone: res.data.phone
- // phone: '17611172370'
- }
- that.getUndoneExam(params)
- },
- fail: function (res) {
- dd.alert({ content: res.errorMessage });
- }
- });
- },
- onShow() {
- let that = this
- dd.getStorage({
- key: 'record',
- success: function (res) {
- that.setData({
- record: res
- })
- },
- fail: function (res) {
- dd.alert({ content: res.errorMessage });
- }
- });
- },
- // tab切换逻辑
- swichNav(e) {
- if (this.data.currentTab === e.target.dataset.current) {
- return false;
- } else {
- this.setData({
- currentTab: e.target.dataset.current
- })
- this.getCurrentTab()
- }
- },
- goAnswer(e) {
- let exam_id = e.target.dataset.examid
- let result_id = e.target.dataset.resultid
- let duration = e.target.dataset.duration
- let result_status = e.target.dataset.resultstatus
- if (e.target.dataset.resultstatus == 1) {
- dd.confirm({
- title: '温馨提示',
- content: '是否继续考试',
- confirmButtonText: '是',
- cancelButtonText: '否',
- success: (result) => {
- if (result.confirm) {
- dd.navigateTo({
- url: '../answer/answer?exam_id=' + exam_id + '&result_id=' + result_id + '&duration=' + duration + '&result_status=' + result_status
- })
- }
- },
- });
- return
- } else {
- dd.confirm({
- title: '温馨提示',
- content: '是否开始考试',
- confirmButtonText: '是',
- cancelButtonText: '否',
- success: (result) => {
- if (result.confirm) {
- this.goStartExam(exam_id, result_id, duration, result_status)
- }
- },
- });
- }
- },
- goStartExam(exam_id, result_id, duration, result_status) {
- let params = {
- result_id: result_id
- }
- app.https('POST', app.globaldata.apiUrl.startExam, JSON.stringify(params), {
- type: false
- }).then(res => {
- dd.reLaunch({
- url: '../answer/answer?exam_id=' + exam_id + '&result_id=' + result_id + '&duration=' + duration + '&result_status=' + result_status
- })
- })
- },
- goretakeExam(e) {
- console.log(e)
- dd.setStorage({
- key: 'answerid',
- data: {
- exam_id:e.target.dataset.examid,
- result_id: e.target.dataset.resultid
- }
- });
- dd.reLaunch({
- url: "../result/result?scores=" + e.target.dataset.scores + "&qualified=" + 0
- })
- },
- swiperChange(e) {
- this.setData({ currentTab: e.detail.current });
- this.getCurrentTab()
- },
- getCurrentTab() {
- let currentTab = this.data.currentTab
- console.log(currentTab)
- let params = {
- phone: this.data.phone
- }
- if (currentTab == 0) {
- this.getUndoneExam(params);
- } else if (currentTab == 1) {
- this.getQualifiedExam(params);
- } else if (currentTab == 2) {
- this.getUnqualifiedExam(params);
- } else {
- this.getMissedExam(params);
- }
- },
- // 未完成
- getUndoneExam(params) {
- let that = this
- app.https('POST', app.globaldata.apiUrl.getUndoneExam, JSON.stringify(params), {
- type: false
- }).then(res => {
- that.setData({
- answerList: res.data.data
- })
- let record = this.data.record.data
- if (record && record != []) {
- that.getnum(record)
- }
- })
- },
- getnum(record) {
- let that = this
- let counter = 0;
- for (let i = 0; i < record.length; i++) {
- if (record[i]) counter++;
- }
- let percent = (counter / (record.length)) * 100
- dd.getStorage({
- key: 'answerid',
- success: function (res) {
- let answerLists = that.data.answerList.map((item) => {
- if (item.exam_id == res.data.exam_id) {
- return {
- ...item,
- percent: percent ? percent : 0
- }
- } else {
- return {
- ...item
- }
- }
- })
- that.setData({
- answerList: answerLists
- })
- console.log(that.data.answerList)
- }
- });
- },
- getQualifiedExam(params) {
- app.https('POST', app.globaldata.apiUrl.getQualifiedExam, JSON.stringify(params), {
- type: false
- }).then(res => {
- this.setData({
- qualifiedList: res.data.data
- })
- })
- },
- getUnqualifiedExam(params) {
- app.https('POST', app.globaldata.apiUrl.getUnqualifiedExam, JSON.stringify(params), {
- type: false
- }).then(res => {
- this.setData({
- unqualifiedList: res.data.data
- })
- })
- },
- getMissedExam(params) {
- app.https('POST', app.globaldata.apiUrl.getMissedExam, JSON.stringify(params), {
- type: false
- }).then(res => {
- this.setData({
- missedList: res.data.data
- })
- })
- }
- });
|