项目大总结(项目总结)
来源:互联网 发布:网页游戏源码网 编辑:程序博客网 时间:2024/05/17 02:27
一. 从后台获取的数据设置成属性,同时选中这个带属性值的元素,那么方法来了
if (!me.param.classId) { var classId = $('#classAssess option:selected').attr('classId');} else { var classId = me.param.classId; $('#classAssess option[classId =' + classId + ']').prop("selected", true);}
注意else里面用到的方法,同时注意prop的用法,prop是设置属性的意思,这里也可以用attr
二.bootstrap的table插件的用法(在这里给自己一个警告,一定要学会自己看文档,要不然以后自己成长会很慢)
// 用table插件加载数据ClassAssess.prototype.table = function () { var me = this; // table里面需要绑定的评价加载事件 课堂点评 var operateEvents = { 'click .default-btn.tc': function (e, value, row, index) { me.timeCompare(); me.clearClassAssesss(); me.classAssessFrame(row.studentId); if (!row.states) return; if (row.states.name == 'NO') return; var timeTableId = me.find(".subjectList li.checked").attr("timeTableId"); var data = { "extId": timeTableId, "userId": row.studentId }; me.getStudentAssess(data); } }; var url = "class/assessment/table/inform"; var $table = new Table( me.find("#tbl_classAssess"), { url: url, // 请求后台的URL(*) toolbar: me.find('#toolbar'), // 工具按钮用哪个容器 queryParams: $.proxy(me.queryParams, this),// 传递参数(*)$.proxy()把me.queryParams这个对象换成了this即ClassAssess sidePagination: "server", // 分页方式:client客户端分页,server服务端分页(*)假数据用client responseHandler: function (result) { if (!result.success) { alert('获取学生评价信息发生异常'); return; } if (!result.data) return; if (!result.pageInfo) return; for (var i in result.data) { var tips if (!result.data[i].itemName) { tips = null; } else { tips = result.data[i].itemName.split(" "); } result.data[i].tips = tips; if (!result.data[i].score) { result.data[i].score = {}; } if (!result.data[i].score.code) { result.data[i].score.code = 0; } } return { rows: result.data, total: result.pageInfo.totalCount }; }, uniqueId: "studentId", // 每一行的唯一标识,一般为主键列 columns: [{ checkbox: true, }, { field: 'studentName', title: '学生名字', formatter: function (value, row, index) { var portrait = row.portrait || "../theme/default/images/userpic.jpg"; return '<span class="userpic" style=""><img src="' + portrait + '"></span><span class="username">' + value + '</span>'; } }, { field: 'score.code', title: '平均星评', formatter: function (value, row, index) { value = value; var $item = '<span class="iconfont icon-star"></span>'; var html = []; for (var i = 0; i < value; i++) { html.push($item); } return html.join(""); } }, { field: 'tips', title: '课堂标签', formatter: function (value, row, index) { if (!value || !value.length) return ""; var html = []; html.push('<p class="tips">'); for (var k in value) { html.push('<span>' + value[k] + '</span>'); } html.push('</p>'); return html.join(""); } }, { field: 'states.name', title: '操作', events: operateEvents, formatter: function (value, row, index) { return '<a class="default-btn tc" state="' + value + '">课堂点评</a>'; } }], });};
operateEvents 和如果这里不用queryParams: $.proxy(me.queryParams, this) 都是很重要的点
$.proxy(me.queryParams, this),这样在
ClassAssess.prototype.queryParams = function (params) { var me = this; var timeTableId = me.find(".subjectList li.checked").attr("timeTableId"); if (!timeTableId) return false; var temp = { // 这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的 limit: params.limit, // 页面大小 offset: params.offset, // 页码 timetableId: timeTableId }; return temp;};这个函数里面这个this就是指的是classAssess,但是在queryParams: $.proxy(me.queryParams, this)这个里面,由于这个函数实在table对象里面使用的,所以这个函数的this就变成了table,所以在queryParams这个函数里面this不在是指classAssess。
三.首页的结构,如果一个页面是由许多不同的版块构成,并且每个版块都会向后台发送请求,往模板里面添加,这时结构就比较复杂了。所以可以借鉴一下首页的结构,很有借鉴意义
HomePage.prototype.showPage = function (list, offset) { var me = this; for (var i in list) { var extType = list[i].extType.name; var info = JSON.parse(list[i].dataJson); if (!info || $.isEmptyObject(info)) return; //通用的模板处理 (克隆模板,填充年、月、日) //通知模块特殊处理 var $template; if (extType == 'MESSAGE_SCHOOL' || extType == 'MESSAGE_CLASS' || extType == 'MESSAGE_SYSTEM') { $template = me.$data['message-template'].dom; } else { var entTypeArray = ['HOME_WORK_PUBLISH', 'TIME_TABLE_TODAY', 'CLASS_ASSESS_STUDENT', 'REQUEST_LEAVE_STUDENT', 'REQUEST_LEAVE_REPLY', 'HOME_WORK_CONFIRM', 'HOME_WORK_ASSESS', 'HOME_WORK_SHARE']; var templateArray = ['deployHomework-template', 'timeTable-template', 'teacherAccess-template', 'requestLeave-template', 'requestLeave-template', 'homeworkConfirm-template', 'homeworkConfirm-template', 'homeworkShare-template']; var index = entTypeArray.indexOf(extType); if (index == -1) return; $template = me.$data[templateArray[index]].dom; } var $item = $template.clone(); var $dom = domUtil.getDomByName($item); $dom.title.val(list[i].extType.text); var time = list[i].eventTime; time = dateUtil.standarDateStrToDate(time); var minutes = time.getMinutes(); if (minutes <= 9) { minutes = '0' + minutes; } $dom.times.val(time.getHours() + ':' + minutes); $dom.date.val(time.getDate() + '日'); $dom.month.val((time.getMonth() + 1) + '月'); $dom.year.val(time.getFullYear()); //有年份和月份的处理 var date = time.getYear() + time.getMonth(); if (dateArray.indexOf(date) == -1) { dateArray.push(date); $item.addClass('first-mg'); } else { $item.find('.pos-year').hide(); } //课程表 if (extType == 'TIME_TABLE_TODAY') { var $template = me.$data["timeTableList-template"].dom; for (var j in info.timeTableList) { var $timeTableItem = $template.clone(); var $timeTableDom = domUtil.getDomByName($timeTableItem); $timeTableDom.classLesson.val(info.timeTableList[j].lessonNumber.text); $timeTableDom.subjectName.val(info.timeTableList[j].subjectName); $timeTableDom.className.val(info.timeTableList[j].className); $dom['timeTableList-container'].dom.append($timeTableItem); } $dom.tips.val(info.tips); me.$data['homePage-container'].dom.append($item); me.toViewDetail($item, 'timeTable', null, null, info.studentId); } //老师评价 else if (extType == 'CLASS_ASSESS_STUDENT') { $dom.studentName.val(info.studentName); $dom.className.val(info.className); var dictionary = "EDCBA"; var starCount = dictionary.indexOf(info.score.name) + 1; var starLayout = '综合'; for (var j = 0; j < starCount; j++) { starLayout += ' <span class="iconfont icon-star-on color-yellow"></span>'; } for (var j = 0; j < 5 - starCount; j++) { starLayout += '<span class="iconfont icon-star"></span>'; } $dom.star.val(starLayout); //没有我的评价信息的时候,不显示下面内容区域 if (info.content == '') { $dom.content.dom.parent().hide(); } $dom.content.val(info.content); me.$data['homePage-container'].dom.append($item); me.toViewDetail($item, 'classAssess', null, null, info.studentId); } //通知 else if (extType == 'MESSAGE_SCHOOL' || extType == 'MESSAGE_CLASS' || extType == 'MESSAGE_SYSTEM') { $dom.content.val(format.midHtmlTag(info.content, 50)); $dom.className.val(info.className); $dom.studentName.val(info.studentName); me.$data['homePage-container'].dom.append($item); var messageType; if (extType == 'MESSAGE_SCHOOL') { messageType = 'SCHOOL_MESSAGE'; } else if (extType == 'MESSAGE_CLASS') { messageType = 'CLASS_MESSAGE'; } else { messageType = 'SYSTEM_MESSAGE'; } me.toViewDetail($item, 'informDetail', info.messageId, messageType, info.studentId); } //请假条 else if (extType == 'REQUEST_LEAVE_STUDENT' || extType == 'REQUEST_LEAVE_REPLY') { $dom.content.val(info.reason); $dom.studentName.val(info.leaveUserName); $dom.className.val(info.className); if (info.leaveStatus.name == 'REJECT') { $dom.status.dom.parent().attr('class', 'color-danger'); } else if (info.leaveStatus.name == 'STAY_EXAMINE') { $dom.status.dom.addClass('leave_item_state '); $dom.status.dom.parent().removeClass('color-success'); } $dom.status.val(info.leaveStatus.text); $dom.teacherName.val(info.leaveReceiveName); me.$data['homePage-container'].dom.append($item); me.toViewDetail($item, 'requestLeaveList', null, null, info.leaveUserId); } //作业确认完成和老师检查完作业 else if (extType == 'HOME_WORK_CONFIRM' || extType == 'HOME_WORK_ASSESS') { $dom.content.val(format.midHtmlTag(info.content, 50)); if (info.teacherAttachList.length == 0) { $dom["homeworkImages-container"].dom.hide(); } for (var j in info.teacherAttachList) { var imgSrc = info.teacherAttachList[j]; var $img = me.$data['homework-image-template'].dom.clone(); $img.find("img").attr("src", format.photoImgUrl(imgSrc, format.img_list)); $dom["homeworkImages-container"].dom.append($img); } if (extType == 'HOME_WORK_CONFIRM') { $dom.portrait.dom.attr("src", format.photoImgUrl(info.studentPortrait, format.img_list, "common/portrait_boy.png")); $dom.studentName.val(info.studentName); $dom.subjectName.val(info.subjectName); $dom.className.val(info.className); for (var j in info.studentAttachList) { var imgSrc = info.studentAttachList[j]; var $img = me.$data['homework-image-template'].dom.clone(); $img.find("img").attr("src", format.photoImgUrl(imgSrc, format.img_list)); $dom["commitImages-container"].dom.append($img); } if (info.studentAttachList.length == 0) { $dom["commitImages-container"].dom.hide(); } if (info.commitComment == '') { $dom.commit.dom.parent().hide(); } } else { $dom.portrait.dom.hide(); if (info.reviewVo && info.reviewVo.comment != '') { info.commitComment = '检查信息: ' + info.reviewVo.comment; } else { info.commitComment = '检查信息: 教师未填写检查信息'; } } $dom.commit.val(info.commitComment); me.$data['homePage-container'].dom.append($item); if (extType == 'HOME_WORK_CONFIRM') { me.toViewDetail($item, 'homeworkDetail', info.homeworkStudentId, null, info.studentId); } } //分享作业 else if (extType == 'HOME_WORK_SHARE') { $dom.portrait.dom.attr("src", format.photoImgUrl(info.studentPortrait, format.img_list, "common/portrait_boy.png")); $dom.studentName.val(info.studentName); $dom.className.val(info.className); $dom.content.val(format.midHtmlTag(info.content, 50)); for (var j in info.studentAttachList) { var imgSrc = info.studentAttachList[j]; var $img = me.$data['homework-image-template'].dom.clone(); $img.find("img").attr("src", format.photoImgUrl(imgSrc, format.img_list)); $dom["shareImages-container"].dom.append($img); } me.$data['homePage-container'].dom.append($item); me.toViewDetail($item, 'homeworkDetail', info.homeworkStudentId, null, info.studentId); } //老师布置作业 else if (extType == 'HOME_WORK_PUBLISH') { $dom.portrait.dom.attr("src", format.photoImgUrl(info.studentPortrait, format.img_list, "common/portrait_boy.png")); $dom.studentName.val(info.studentName); $dom.className.val(info.className); $dom.subjectName.val(info.subjectName); $dom.content.val(format.midHtmlTag(info.content, 50)); //布置的作业没有上传图片后台返回contentImageUrls:[null] if (info.teacherAttachList.length == 0) { $dom["deployImages-container"].dom.hide(); } for (var j in info.teacherAttachList) { var imgSrc = info.teacherAttachList[j]; var $img = me.$data['homework-image-template'].dom.clone(); $img.find("img").attr("src", format.photoImgUrl(imgSrc, format.img_list)); $dom["deployImages-container"].dom.append($img); } me.$data['homePage-container'].dom.append($item); me.toViewDetail($item, 'homeworkDetail', info.homeworkStudentId, null, info.studentId); } } //第一次获取推送的消息 if (offset && offset == 0) { storageUtil.set(storageUtil.CURRENT_HOME_LIST, list); }};四.把数字转化字母,把字母转化为数字(在课堂评价的页面经常用到)// 把数字转化为等级字母ClassAssess.prototype.evaluateMapping = function (val) { var dictionary = "EDCBA"; return dictionary.substring(val - 1, val);};// 把字母转化为对应的数字
var dictionary = "EDCBA";var starCount = dictionary.indexOf(info.score.name) + 1;
阅读全文
0 0
- 项目大总结(项目总结)
- JSP九大内置对象详解(总结+项目源码)
- J2EE开发项目10大风险总结
- 项目九大知识点总结归纳
- 总结J2EE项目开发10大风险
- 总结大中小型项目的git流程
- 大四下学期小项目实习总结
- 大项目源码分析方法总结
- json在项目中的应用大总结
- 项目总结(1)
- 项目总结(一)
- 项目总结(1)
- 项目总结(1)
- 项目总结
- 项目总结
- 项目总结
- 项目总结
- 项目总结
- javascript全局对象Global对象
- 用支付宝沙箱环境来做手机网页支付(C#)
- 直接选择排序
- 利用jsoup小试牛刀[待编辑]
- java如何读取配置文件
- 项目大总结(项目总结)
- 使用运算放大器需要注意的6个事项
- 我写的一个模拟管道算法
- codeforces 817C Really Big Numbers 二分
- Nginx搭建负载环境
- 误码率和误比特率
- 从文本文件中获取输入-Java
- opencv使用鼠标实现直线的绘制
- 【Struts2】 总结