`
xiaomiya
  • 浏览: 131114 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

项目完成后的小总结

阅读更多

项目完成了,突然想做个总结但是有点无从下手了。

做之前对于客户端给的接口很模式。然而定义好了格式要求就如此的愉快了。

先说说项目主要实现的功能吧

1,按键精灵

2,获取行情数据

3,各种input输入条件判断

4,发送数据(有json格式和string格式)

5,获取预警条件列表和预警结果列表,

6,排序,

7,预警结果分页获取

8,导出文件(excel,text等)

9,修改

10,删除

11,禁止右键,禁止F5,

12,接口有:新加,修改,删除,获取预警条件列表,获取预警结果,获取预警结果条数,获取第M-N条,导出,查看走势,预警方式,调老的预警,开启关闭预警,设置浏览器对话框大小、位置,有新的预警结果推送,添加成功推送,设置预警结为已读,等等

其实是一个小项目啦。。就简简单单的两个界面。

不过用的交互接口却很多。

1,字符串转换成对象:

var string = '[{}]';
var data = eval("data="+string);
data is object

 

2,导出excel|text格式的文件。

3,单击双击的判定

//定义setTimeout执行方法 
var TimeFn = null; 

$('div').click(function () { 
// 取消上次延时未执行的方法 
clearTimeout(TimeFn); 
//执行延时 
TimeFn = setTimeout(function(){ 
//do function在此处写单击事件要执行的代码 
},300); 
}); 

$('div').dblclick(functin () { 
// 取消上次延时未执行的方法 
clearTimeout(TimeFn); 
//双击事件的执行代码 
}) 

 4,//获取location.url中的某一个字段值

function getUrlParam(item) {
    var value = location.search.match(new RegExp("[\?\&]" + item + "=([^\&]*)(\&?)", "i"));
    return value ? value[1] : value;
}

 5,//时间戳转换成 01-02 20:10

function userDate(uData){
    var myDate = new Date(uData*1000);
    var nowDate = new Date();
    var nMonth = nowDate.getMonth() + 1;
    var nDay = nowDate.getDate();
    var year = myDate.getFullYear();
    var month = myDate.getMonth() + 1;
    var day = myDate.getDate();
    var hours = myDate.getHours();
    var minutes = myDate.getMinutes();
    if(nMonth == month && nDay == day){
        if(hours < 10){
            hours = '0'+hours;
        }
        if(minutes < 10){
            minutes = '0' +minutes;
        }
        return '今天' + ' ' + hours + ':' + minutes;
    }else{
        if(month < 10){
            month = '0'+month;
        }
        if(day < 10){
            day = '0'+day;
        }
        if(hours < 10){
            hours = '0'+hours;
        }
        if(minutes < 10){
            minutes = '0' +minutes;
        }
        return month + '-' + day + ' ' + hours + ':' + minutes;
    }
    
}

 

6,获取行情数据

//@charset "utf-8"
var hqQuote = {
	request : function (callback, stock, period) {
		//ZHANGSHU
		var dataType = ['ZQMC', 'NEW', 'ZHANGDIEFU', '3934664', 'HUANSHOU','HIGH','LOW','PRE'];
		try {
			var thsQuote = external.createObject("Quote");
		} catch(e) {
			alert('需要客户端环境');
			return false;
		}

		dataType = dataType.join(',');
		var reqObj = {
			code: stock,
			type: dataType,
			period: period,
			onready: function() {
				var result = {};
				dataType = dataType.split(',');
				for (var type in dataType) {
					if (isNaN(type)) {
						continue;
					}
					var ret = null;
					if (dataType[type] == '3934664') {
						ret = {
								code : stock,
								type : dataType[type],
								mode: 'beforecalclastfromsvrnow1st'
							};
					} else {
						ret = {code : stock, type : dataType[type]};
					}
					
					try {
						var data = thsQuote.getData(ret);
						data = eval(data);
						for (var i in data) {
							if (undefined == result[i]) {
								result[i] = {};
							}
							if ('zqmc' == ret.type || 'ZQMC' == ret.type) {
								result[i][ret.type] = data[i][ret.type];
								continue;
							}
							if (isNaN(data[i][ret.type])) {
								result[i][ret.type] = '--';
								continue;
							}
							result[i][ret.type] = parseFloat(data[i][ret.type]).toFixed(2);
						}
					} catch (exp) {
						continue;
					}
				}
				callback(result[stock], stock);
			}
		};

		thsQuote.request(reqObj);
	}
}
var condition = {
render : function (data, stock) {
var dataZhangdiefu = parseFloat(data['ZHANGDIEFU']).toFixed(2);
		var dataZhangshu = parseFloat(data['3934664']).toFixed(2);
		var dataHuanshou = parseFloat(data['HUANSHOU']).toFixed(2);
}
}

  

 

hqQuote.request(condition.render, code, 'now');

 

7,导出格式

/**
 * 组合导出格式
 * @param string formatType 格式,excel|text
 */
var tableTh = ['预警品种', '预警内容', '价格', '预警时间'];
var assembleText = function (formatType) {
	formatType = formatType || 'excel';
	var trObj = $("#proTableResult table tr"),
		//分隔符、换行符
		delimiter = formatType == 'text' ? '\t' : '\t',
		newline	= formatType == 'text' ? '\r\n' : '\r\n',
		returnText = tableTh.join(delimiter) + newline,
		trArr = new Array();
	
	trObj.each(function (i, tr) {
		var tdArr = new Array();
        $(tr).find('td').each(function (i, td) {
        	if (i < tableTh.length) {
            	tdArr.push($(td).html().replace(/<[^>]+>/g, ''));
        	}
        });
        trArr.push(tdArr.join(delimiter));
    });
	returnText += trArr.join(newline);
    //alert(returnText);
	return returnText;
}

 8,排序

//排序部分
/**
 * 排序方法
 * @param obj domObj 要排序的table对象
 * @param string sortType 排序的字段(时间max),'stockcode|time'
 */
var operaTable = function (tableObj, sortType, sort) {
	sortType = sortType || 'pcid';
	//获取tbody下的tr
	var tbBodyTr 		= $(tableObj).children('tbody').find('tr'),
		tbBodyTrLenght	= tbBodyTr.length,
		isTrue = false,
		tmp1,
		tmp2;
	for (var i = 0; i < tbBodyTrLenght - 1; i++ ) {
		for (var k = i + 1; k < tbBodyTrLenght; k++) {
			var kValue1 = $(tbBodyTr[i]).attr(sortType),
				kValue2 = $(tbBodyTr[k]).attr(sortType);
			isTrue = sort == 'asc' ? parseFloat(kValue1) > parseFloat(kValue2) :  parseFloat(kValue1) < parseFloat(kValue2);
			if (isTrue) {
                $(tbBodyTr[i]).next().after($(tbBodyTr[i]));
			}
		}
	}
}
$(".sort0, .sort1").click(function (e) {
	var target = $(e.target);
	var tableObj = $(this).parent().parent().siblings('div').find('table');
    //排序方式
	var sortType = '';
    var sort = 'desc';
	if (target.closest('.sort0').length > 0) {
		sortType = 'Key';
        sort = 'asc';
	} else if (target.closest('.sort1').length > 0) {
		sortType = 'Key';
        sort = 'desc';
	} else {
		return ;
	}
	$(this).siblings('a').show();
	$(this).hide();
	operaTable(tableObj, sortType, sort);
});

 9,div里面的滚动条滚到底部加载更多

 $("#proTableResult").scroll(function(){
        nScrollHight = $(this)[0].scrollHeight;
        nScrollTop = $(this)[0].scrollTop;
        if(nScrollTop + nDivHight >= nScrollHight){
//加载更多内容
}
)}

 10,each,push,join等的使用,

获取自定义属性值attr,

setTimeout,

键/值,

数组,

prototype原型,

实例化方法,

等等

 

 

1
1
分享到:
评论

相关推荐

    项目实施后评价总结报告.docx

    【项目实施后评价总结报告】 在信息技术领域,项目实施后的评价总结报告是至关重要的,它不仅反映项目的执行情况,还提供了宝贵的反馈,用于优化未来的工作流程和决策。本报告将详细探讨项目实施的过程、结果以及...

    项目工作总结编写提纲

    明确项目的研究主题和目标,列出技术指标(如技术难度、创新性等)和经济指标(如成本、效益预期等),这些指标将作为评估项目完成情况的重要标准。 三、项目完成情况 1. 主要研究内容:详述各个阶段的研究工作,...

    项目总结模板...项目总结模板

    在IT行业中,项目总结是项目生命周期的最后一个重要环节,它为团队、管理层乃至整个组织提供了对项目执行情况的全面回顾。这份"项目总结模板"旨在帮助我们系统化地记录项目的关键信息,提炼经验教训,以便于未来项目...

    项目验收工作总结和技术总结的撰写

    首先,项目验收工作总结的总体要求是全面、客观地评估项目的完成情况。这涉及到对项目计划任务、技术经济指标的完成程度,以及项目实施过程中的组织管理、经费使用、存在的问题和解决方案的详细阐述。总结的核心在于...

    struts2+hibernate一周小项目总结

    struts2+hibernate一周小项目总结

    IT项目经理工作总结

    IT项目经理工作总结是IT项目经理在项目完成后对项目的总体情况进行总结和反思的过程。通过总结,项目经理可以对项目的成败进行分析,总结经验教训,提高自己的管理能力和项目实施能力。 一、统一联系人 在项目开始...

    项目团队内部经验总结模板

    在项目管理中,内部经验总结是一项至关重要的环节,它能够帮助团队从已完成的项目中学习,提炼出有价值的教训,以提升未来的项目执行效率和成功率。一个有效的项目团队内部经验总结模板可以帮助团队系统化地记录、...

    华为项目管理模板之10 项目总结表.docx

    2. **项目完成情况总结**: - **时间总结**:关注项目的开始时间、计划完成日期和实际完成日期,以及时间差异分析。在本案例中,项目由于客户的行程变化而延迟了一天,这强调了在项目规划中需要考虑不确定性因素。 ...

    项目测试总结报告 项目管理

    在IT行业中,项目管理是一项至关重要的任务,它涵盖了项目的规划、执行、监控和收尾,以确保项目能够按时、按预算、按质量完成。而“项目测试总结报告”是项目管理过程中不可或缺的一部分,它用于记录整个测试阶段的...

    项目管理项目总结报告模板

    在项目管理领域,项目总结报告是项目生命周期中的一个重要环节,它是对整个项目实施过程的全面回顾、分析和总结。这份报告通常在项目结束时编制,目的是记录项目的关键成果、经验教训、遇到的问题以及解决策略,为...

    项目管理——项目总结表.docx

    项目总结表是项目管理的重要组成部分,它记录了项目的基本情况、项目完成情况、项目经验和教训等多方面的信息。 一、项目基本情况 项目基本情况是指项目的基本信息,包括项目名称、项目编号、制作人、审核人、项目...

    软件产品、软件项目)项目总结报告模板(编写规范)

    软件项目总结报告是项目完成后对整个开发过程的全面回顾和评估,旨在记录项目的关键信息,分析项目的执行情况,以及总结经验教训。以下是对报告各部分的详细说明: 1. **引言** 引言部分应包含实际参与项目的团队...

    项目建设工作汇报总结PPT模板.pptx

    项目建设工作汇报总结PPT模板 本PPT模板主要面向项目建设工作汇报总结的需求,旨在帮助项目经理和团队成员快速生成高质量的工作汇报。该模板包括项目介绍、工作计划、项目运营情况、团队介绍、完成进度等多个方面的...

    项目总结+项目心得体会

    "Extjs总结.doc"可能是个人或团队在使用ExtJS进行开发后的经验总结,可能包括最佳实践、常见问题、性能优化等方面的笔记,对于后续使用ExtJS的开发者有很高的参考价值。 "标签.doc"可能涉及的是Web开发中的标签系统...

    依照CMMIII编制的项目总结模板

    项目总结报告是项目执行完毕后,对整个项目进行全面回顾和分析的重要文档,其目的是确保项目的经验和教训得以记录和传承,以便为未来的项目提供宝贵的参考。通过对项目的目标达成、成果产出、收益分析以及存在的问题...

    项目开发总结报告实例 项目开发总结报告实例打包下载

    5. **部署与上线**:项目完成后,需要进行环境配置,将软件部署到生产环境,并进行上线前的最后验证。此阶段还要考虑监控系统、日志管理和备份策略,确保系统稳定运行。 6. **运维与优化**:项目上线后,运维工作...

    项目总结模板PPT

    8. **分享与反馈**:完成PPT项目总结后,应在团队内部进行分享,收集反馈,这有助于提升团队的协作效率和项目管理水平。同时,这些总结也可以作为知识库的一部分,为公司的项目管理实践提供持续支持。 通过以上内容...

    信息化项目项目总结报告模板.doc

    信息化项目项目总结报告模板是指在信息化项目完成后,对项目的总体情况进行总结和评价的文档模板。该模板通常用于记录项目的整体情况,包括项目背景、项目完成情况、项目产品、主要功能和性能、项目进度状况、遗留...

    经典项目总结报告模板

    项目总结报告是项目执行完毕后,对项目进行全面回顾、分析和评价的重要文档,它能够帮助团队总结经验教训,为未来项目提供参考。本模板旨在为软件部提供一个标准的框架,确保报告内容全面、专业且易于理解。 1. **...

    项目经理项目总结.docx

    项目总结是在项目结束后进行的一项重要活动,旨在回顾项目的执行过程、评估项目成果,并从中吸取经验教训,为未来的项目管理提供参考。有效的项目总结能够帮助组织和个人更好地理解项目管理的最佳实践,避免重复过去...

Global site tag (gtag.js) - Google Analytics