学生评教系统-提交评教数据处理

首先对学生登录login,登录学生评教页面,得到id,no数据

然后获取教师信息,做好评教的基础准备后,做评教页面

获取数据信息,最重要的是先要调用接口

onLoad: function (options) {
    var id = options.id;
    // var that = this;
    var url = "接口地址";
    var student = wx.getStorageSync('student');
    
    var no = student.no;
    
    wx.request({
      url: url, //仅为示例,并非真实的接口地址
      data: {
        id: id,
        no: no,
      },
      header: {
        'content-type': 'application/json' // 默认值
      },
      success: (res) =>{  
        console.log(res.data);
        if(res.data.error){
          wx.navigateBack({
            delta:1
          })
          wx.showToast({
            title: res.data.errormsg,
            icon:'none',
            duration:1000
          })
        }else{
          this.setData({
            data: res.data.data,
            pj: res.data.pj,
            count: res.data.data.length+2,
          });
        }
       
      }
    })
  },

今天要展示的是评教页面的数据处理,评教内容页面,代码展示:

  
   
  
    被评老师:{{pj.teachername}}
    被评类型:{{pj.papertype}}
  
  
  学生评教说明
  
   同学们评教是激励教师不断进步的重要手段,为深入了解我级部教学工作状况,增进师生互动、教学互动,提高教学质量,进一步完善我级部教学质量监控机制。
   评教原则
   同学们评教要体现以评促教、以评促改、教学相长和坚持公平、公正、 客观、实事求是的评教原则。
   学生评教时,要严格按照评教内容,从关爱教师和有利提高教学质量的角度出发,认真负责的进行量化打分。反对弄虚作假,更不能借评教之机对曾经批评多自己的老师进行报复。
   
 

   
   
  
       {{index+1}}.{{item.content}}
       
        
        
        
        
       
   
   
 
  
  

 
 
       

首先实现评教数据的返回,对页面进行初始数据处理data

  data: {
   currentid:0,
   count:0,
   pj: null,
   data: null,
   answer: {},
   score: {},
   btn_disabled:true,
  
  },

然后对页面中的swiper绑定swiper_change进行处理,实现页面的人工翻动,代码如下:

  swiper_change:function(e){
    // console.log(e);
    if(e.detail.source=='touch'){
      this.setData({currentid:e.detail.current})
    }
  },
 next:function(e){
    var index =this.data.currentid;//读取缓存
    index++;
    if(index>=this.data.count){
      index=0;
    }
    this.setData({currentid:index});
  },

接着,对页面评教内容选中要评教的选项,返回返回的数据(序号以及对应的分数),代码如下:
//选中选项
  item_change: function (e) {
   setTimeout(this.next,1000);
    console.log(e);
    var value = e.detail.value;
    // split()函数返回一个字符串数组
    var arr = value.split("#");
    var id = e.currentTarget.dataset.id;
    var _answer = this.data.answer;
    var _score = this.data.score;
    _answer[id] = arr[0];
    _score[id] = arr[1];
    this.setData({answer:_answer,score:_score});
   //计算json里面值的个数
    var len=2;
    for(var i in _answer){
      len++;
    }
    if(len

这样该获取的数据,我们已经获取到了,进而要对提交按钮'mysubmit'作数据处理

//提交
  mysubmit:function(){
    console.log(this.data.answer);
    console.log(this.data.score);
    //计算分值
    var _score=0;
    for(var i in this.data.score){
      _score+=parseInt(this.data.score[i]);
    }
    // console.log(_score);
    //学生信息
    var student = wx.getStorageSync('student');
    var _student={no:student.no,name:student.name,classid:student.classid};

    wx.request({
      url: '接口地址',
      method: 'POST',
      data:{
        pjid: this.data.pj.pjid,
        testpaperid: this.data.pj.testpaperid,
        message:'',
        answer:JSON.stringify(this.data.answer),
        student:JSON.stringify(_student),
        score:_score
      },
      header: {
        'content-type':'application/x-www-form-urlencoded'
      },
      success: (res) => {
        console.log(res.data);
      }
    })
  },

这样,评教成功的话,会提示‘评教成功’,常规评教可以评教多次,但统一评教只能评教一次,如需再次评教,会提示您‘您已经测评!’。

最后,提交评教处理数据就实现了。


你可能感兴趣的:(提交评教页面数据处理)