个人信息管理系统课程设计报告书
- 格式:doc
- 大小:478.81 KB
- 文档页数:30
JButton jbysno=new JButton("按学号查询"); //用于输入学号vsno.setText(rs.getString("sno")) //用于获得输入的学号(5)主要成员方法:actionPerformed(ActionEvent e)//实现事件监听,分别按学号、姓名查询学生信息4.2.4 更改学生信息界面类(1)类名:alterlist(2)父类:实现ActionListener接口(3)作用:完成按钮的事件监听,实现更改学生信息功能(4)主要成员变量:JButton alsno=new JButton("更改学生信息"); //用于输入学号vsno.setText(rs.getString("sno")) //用于获得输入的学号(5)主要成员方法:public void actionPerformed(ActionEvent e);//连接数据库,实现更改学生信息功能4.3 程序运行与调试4.3.1 运行界面本程序在windows xp操作系统下进行调试和运行,运行界面如下:功能选择界面:图4-1 功能选择界面查询学生信息界面:录入添加学生信息界面:图4-2 登陆界面图4-3 查找学生信息界面图4-4 录入添加学生信息界面图4-5 用户界面4.3.2 错误调试(1)在myStudent类中主方法出现页面跳转失败错误原因:没有在insert类中加入主方法如何解决:在insert类中加入主方法,然后再事件监听器中加入new insert().main(null);实现跳转页面(2)在insert类insertinfo方法中出现无法解析错误原因:参数传递时没有添加数据类型如何解决:参数传递时添加数据类型(3)在insert类insertinfo方法中出现数据库连接语法错误原因:没有处理Class.forName("com.mysql.jdbc.Driver");等方法的异常如何解决:将这段代码放入try-catch块进行处理(4)在query类querybyname方法中出现查询失败错误原因:语句错误,传递参数是学生学号而不是学生姓名如何解决:改正传递的参数(5)在insert类actionPerformed方法中出现姓名格式输入正确却提示错误原因:if条件语句中布尔变量错误如何解决:在布尔表达式前加逻辑非符号!。
目录1 前言 (1)2 需求分析 (1)2.1 课程设计目的 (1)2.2 课程设计任务 (1)2.3 设计环境 (1)2.4 开发语言 (1)3 分析与设计 (1)3.1模块的划分............................ 错误!未定义书签。
3.2创建关系表 (2)3.3创建E-R图 (4)3.4创建数据库 (5)3.5各模块的实现 (7)3.6测试分析 (9)4 课程设计总结 (11)参考文献 (12)致谢 (13)附录(源程序清单) (14)1 前言通过设计一个个人信息管理系统,使该信息管理系统可以在Window 2000 Server 平台上运行。
其功能包括个人工作单位信息、通讯录信息、备忘录信息、日记信、个人财务管理等方面。
同时可以让某些个体自我注册一个账号来查询自己的所需信息2 需求分析2.1 课程设计目的通过专业课程设计Ⅱ,即大型数据库系统课程设计,有助于培养学生综合运用数据库相关知识解决实际问题的能力。
本设计要求对实际问题进行需求分析,提炼实际问题中的数据,建立关系模型,并在大型数据库中得以实现。
同时要求对数据库的运营、管理及使用上进行必要的规划和实现。
2.2 课程设计任务系统需要管理以下主要信息:(1)通讯录信息,包括通讯人姓名、联系方式、工作地点、城市、备注等;(2)备忘录信息,包括什么时间、事件、地点等;(3)日记信息;包括时间、地点、事情、人物等;(4)个人财物信息,包括总收入,消费项目、消费金额、消费时间、剩余资金等。
2.3 设计环境(1)WINDOWS 2000/2003/XP系统(2)Oracle数据库管理系统2.4 开发语言PL/SQL语言3 分析和设计3.1模块的划分1.登录模块:根据相应的用户名密码,显示相应的所有记录。
如果没有对应的UID或PWD和UID不对应则报错。
2.通讯录模块:显示用户的通讯录具体内容,可以查询联系人的资料和添加新的联系人。
Java Web开发(JSP)课程设计报告题目:个人信息管理系统设计者:xxxx专业班级:xxxxxxxx学号:xxxxxxxx指导教师: xxxxx2013年1月5日xxxxx大学计算机学院个人信息管理系统报告书一、系统需求背景该系统实现用户的个人信息管理,根据用户的需求实现相应的信息查询以及更新为用户挺方便的使用功能。
本系统适用于所有人的个人信息管理,主要任务是对用户的的事宜、心情、工作、学习、个人帐目等等的记载,并对这些进行信息进行日常管理。
社会发展越来越快,在面对多发方面压力的情况下,生活难免会陷入混乱,我们在每天的生活和学习中会接触到大量丰富的信息,对于个人信息也需要有一个系统的管理。
二、系统所涉及的一些知识该个人信息管理系统管理系统采用JSP+JDBC+MySQL、extjs、struts、spring、ibatis来实现,视图层采用JSP来实现,并通过JDBC来连接MySQL数据库。
JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP技术是用JA V A语言作为脚本语言的,JSP网页为整个服务器端的JA V A库单元提供了一个接口来服务于HTTP的应用程序。
JDBC是一种可用于执行SQL语句的JavaAPI(ApplicationProgrammingInterface应用程序设计接口)。
它由一些Java语言编写的类和界面组成。
JDBC为数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。
MySQL是一个真正的多用户、多线程SQL数据库服务器。
SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。
MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。
MySQL 主要目标是快速、健壮和易用。
目录1 前言 (1)2 需求分析 (1)2.1 课程设计目的 (1)2.2 课程设计任务 (1)2.3 设计环境 (1)2.4 开发语言 (1)3 分析与设计 (1)3.1模块的划分............................ 错误!未定义书签。
3.2创建关系表 (2)3.3创建E-R图 (4)3.4创建数据库 (5)3.5各模块的实现 (7)3.6测试分析 (9)4 课程设计总结 (11)参考文献 (12)致谢 (13)附录(源程序清单) (14)1 前言通过设计一个个人信息管理系统,使该信息管理系统可以在Window 2000 Server 平台上运行。
其功能包括个人工作单位信息、通讯录信息、备忘录信息、日记信、个人财务管理等方面。
同时可以让某些个体自我注册一个账号来查询自己的所需信息2 需求分析2.1 课程设计目的通过专业课程设计Ⅱ,即大型数据库系统课程设计,有助于培养学生综合运用数据库相关知识解决实际问题的能力。
本设计要求对实际问题进行需求分析,提炼实际问题中的数据,建立关系模型,并在大型数据库中得以实现。
同时要求对数据库的运营、管理及使用上进行必要的规划和实现。
2.2 课程设计任务系统需要管理以下主要信息:(1)通讯录信息,包括通讯人姓名、联系方式、工作地点、城市、备注等;(2)备忘录信息,包括什么时间、事件、地点等;(3)日记信息;包括时间、地点、事情、人物等;(4)个人财物信息,包括总收入,消费项目、消费金额、消费时间、剩余资金等。
2.3 设计环境(1)WINDOWS 2000/2003/XP系统(2)Oracle数据库管理系统2.4 开发语言PL/SQL语言3 分析和设计3.1模块的划分1.登录模块:根据相应的用户名密码,显示相应的所有记录。
如果没有对应的UID或PWD和UID不对应则报错。
2.通讯录模块:显示用户的通讯录具体内容,可以查询联系人的资料和添加新的联系人。
个人信息管理系统-数据库课程设计-课程设计个人信息管理系统-数据库课程设计?、题目的目的和要求通过数据库系统原理课程设计的操作与实践,使学生了解关系数据库的相关理论知识和有关工具软件的使用技巧,在一定程度上提高应用程序的综合开发能力和创新意识、创新能力,具体掌握的基本能力有以下几方面: 1、学习和巩固《数据库系统原理》的基本知识。
2、关系数据库管理系统的基本使用方法。
3、熟悉SQL语言的主要功能及SQL语句的使用操作。
4、熟悉数据库管理系统的设计过程,培养解决实际问题的能力。
5、小型数据库应用系统的设计方法。
要求独立完成该课题设计。
?、设计进度及完成情况日期内容1月1号选择课程设计题目,画出大体框架 1月2号学习C#数据库编程相关知识1月3号按照框架开始设计窗体,编写代码 1月4号系统基本完成题目要求1月5号完善系统1月6号完成课程设计报告?、主要参考文献及资料[1]王珊,萨师煊主编.数据库系统概论(第四版).北京:高等教育出版社,2006.5[2]鲍威尔主编.数据库设计入门经典.北京:清华大学出版社,2007.3[3] 范盛荣. Visual C# 2008控件使用范例详解.北京:清华大学出版社,2009.4目录第一章概述 1第二章系统分析 22.1 E-R图 22.2创建关系表 3第三章功能分析 53.1各模块的相互关系 53.2各模块的作用 5第四章系统实现 64.1数据库实现 64.2各模块的实现 7第五章调试过程中的问题及系统测试情况 9 5.1 调试过程中的问题 95.2系统测试 9第六章结束语 689个人信息管理系统-数据库课程设计第一章概述我设计的是一个个人信息管理系统,它包括4个功能:1. 通讯录信息:包括通讯人姓名、联系方式、工作地点、城市、备注等。
2. 备忘录信息:包括什么时间、事件、地点等。
3. 日记信息:包括什么时间、天气、事件等。
4. 个人财物管理:包括总收入,消费项目、消费金额、消费时间、剩余资金。
山东交通学院目录1.系统分析 (3)1.1系统需求分析 (3)1.2项目规划 (4)1.3系统功能结构分析 (4)1.4设计目的分析 (5)2.数据库系统设计 (6)2.1数据表概要设计 (6)2.2数据库逻辑结构设计 (6)3.应用程序设计 (7)3.1界面设置 (7)3.2关键技术 (21)4.系统安装 (32)建立数据源 (32)5.设计体会 (32)参考文献 (33)摘要随着经济社会的发展,计算机已被应用到社会生活的各个领域。
与此同时,互联网作为信息技术的通信桥梁连接着全球的计算机,而网站作为网络信息主要的表现形式而且还是互联网信息的主要承载者,在网络上表现出其及其重要的地位,并发挥着极其重要的作用。
无论是在国内还是国外都得以迅速的发展和壮大,并被人们重视和关注。
互联网已经彻底的改变了世界,互联网的世界里蕴藏着无限的可能,在这种情况下,各行各业及其个人、单位、工厂、企事业等等在网上构筑属于自己的网络信息平台,保护自己的网络资源并在互联网上开辟自己的市场和消费群体,以及构造自己的数字化世界和加强全球范围内不同地域的人们联系交流等等活动也就显的日益重要。
于是各种各样的网站便如雨后春笋般地出现鱼龙混杂且良莠不齐。
因此,个人信息的管理就显得尤为重要了。
不仅可以更好的保护个人信息,对日常的使用也会提供很大的方便。
关键词:个人信息管理系统;数据集;数据库;VisualC++6.0。
1.系统分析1.1系统需求分析在做本系统前,我对系统的需求做了如下分析:1)登录权限:在登录权限的分析上我们规定必须凭借用户名和密码才可登陆,进行管理。
2)使用者功能:首先说明一下,我们的系统用户对象是个人。
关于其本系统的功能,大致可分为日记管理,通讯录管理,备忘录管理,以及个人财务管理;日记管理,其中包括用户对日记编号,时间,地点,事件、人物的查询、修改、添加和删除功能;通讯录管理,其中包括对通讯人编号、姓名、联系方式、工作地点、城市、备注等的查询、修改、删除和添加功能。
学生信息管理系统课程设计报告一、引言随着信息技术的不断发展,学生信息管理在学校的日常管理工作中变得越来越重要。
为了提高学生信息管理的效率和准确性,开发一个高效、实用的学生信息管理系统成为了必然的需求。
本课程设计旨在设计并实现一个功能齐全、操作简便的学生信息管理系统,以满足学校对学生信息管理的需求。
二、系统需求分析(一)功能需求1、学生信息的录入、修改、删除和查询功能。
2、课程信息的管理,包括课程的添加、修改、删除和查询。
3、成绩管理功能,能够录入、修改学生的课程成绩,并进行统计分析。
4、能够生成学生的个人成绩单和班级成绩汇总表。
5、具备用户管理功能,包括添加用户、修改用户信息和设置用户权限。
(二)性能需求1、系统响应时间要短,保证用户操作的流畅性。
2、数据存储要安全可靠,防止数据丢失或损坏。
3、系统要具备良好的稳定性,能够长时间稳定运行。
(三)界面需求1、系统界面要简洁、美观,操作方便。
2、提供清晰的导航和提示信息,方便用户使用。
三、系统设计(一)总体设计1、系统采用 B/S 架构,方便用户通过浏览器进行访问。
2、分为前端页面展示和后端数据处理两部分。
(二)数据库设计1、设计了学生表、课程表、成绩表、用户表等相关数据表。
2、确定了表之间的关联关系,以保证数据的一致性和完整性。
(三)功能模块设计1、学生信息管理模块,实现学生信息的增删改查。
2、课程管理模块,负责课程的相关操作。
3、成绩管理模块,处理学生成绩的录入、修改和统计。
4、用户管理模块,管理系统用户的信息和权限。
四、系统实现(一)开发工具和技术1、使用 Python 作为主要开发语言。
2、采用 Django 框架进行 Web 开发。
3、数据库选择 MySQL。
(二)关键代码实现1、学生信息录入功能的代码实现。
2、成绩统计分析功能的算法实现。
(三)系统测试1、进行了功能测试,确保各项功能正常运行。
2、进行了性能测试,对系统的响应时间和稳定性进行评估。
个人信息管理系统-课程设计报告学号:数据库系统概论》课程设计报告题目:个人信息管理系统专业:网络工程班级:姓名:指导教师:成绩:计算机学院2017年12月8日目录一、课程设计的目的与意义1.1课程设计的目的本课程设计旨在通过实践,让学生了解并掌握数据库系统的设计与实现过程,提高其对数据库系统的理解和应用能力。
1.2课程设计的意义数据库系统是当今信息技术领域中的重要组成部分,具有广泛的应用前景。
本课程设计可以帮助学生深入了解数据库系统的原理和实现方法,为其今后的研究和工作奠定基础。
二、需求分析2.1用户需求本系统的用户主要是个人用户,需要管理自己的个人信息,包括但不限于姓名、性别、年龄、联系方式等。
2.2系统需要实现的功能和操作如下1)用户注册和登录功能:用户可以通过注册账号并登录系统来管理自己的个人信息。
2)个人信息录入和修改功能:用户可以在系统中录入并修改自己的个人信息。
3)个人信息查询功能:用户可以在系统中查询自己的个人信息。
4)个人信息删除功能:用户可以在系统中删除自己的个人信息。
5)个人信息备份和恢复功能:用户可以将自己的个人信息备份到本地或云端,并在需要时进行恢复。
6)系统设置功能:用户可以在系统中进行个性化设置,如修改密码、更改界面风格等。
以上是本系统需要实现的基本功能和操作,同时也可以根据用户需求和实际情况进行适当的扩展和改进。
2.3 功能需求分析:在这一部分,我们将对系统的功能需求进行分析。
我们需要确定系统需要提供哪些功能,以及这些功能的实现方式。
这些功能需求将作为后续数据库设计的基础。
三数据库概念模型设计:在这一部分,我们将设计数据库的概念模型。
概念模型是一个抽象的模型,它描述了数据库中的实体、属性和关系。
我们需要确定系统中需要存储哪些实体,以及这些实体之间的关系。
我们还需要确定每个实体的属性,并确定它们的数据类型和约束条件。
四数据库逻辑模型设计:在这一部分,我们将设计数据库的逻辑模型。
河北联合大学综合课程设计报告题目:个人信息系统的设计与实现学院:信息工程学院专业:计算机科学与技术班级:姓名:学号:指导教师:完成日期: 2012年12月20日目录一、绪论 (1)1、引言 (1)1.1编写目的 (1)1.2项目背景 (1)2、任务描述 (1)2.1目标 (1)2.2运行环境 (1)3、功能要求 (1)二、需求分析 (2)1、需求调查 (2)2、功能需求 (2)2.1功能划分 (2)2.2功能描述 (2)3、数据描述 (3)3.1数据库描述 (3)3.2数据词典 (4)4、性能需求 (5)4.1 数据精确度 (5)4.2适应性 (5)5、运行需求 (5)三、总体设计 (6)1、总体结构和模块外部设计 (6)1.1功能结构 (6)1.2模块设计 (6)2、数据结构设计 (6)3、数据库设计 (6)3.1逻辑设计 (6)3.2物理设计 (7)4、出错处理设计 (7)4.1 出错输出信息 (7)4.2出错处理对策 (7)四、详细设计 (8)1、程序设计 (8)五、系统实现 (12)六、系统测试 (40)七、安装及使用的说明 (41)八、设计总结 (42)参考文献 (43)一、绪论1、引言1.1编写目的个人信息管理系统旨在开发一个信息平台来利用信息化手段有效地管理工作信息和生活信息以达到节省时间、更提高办事效率。
1.2项目背景随着计算机的发展以及网络技术的普及和应用,日常管理工作从以前繁琐的事务中解放出来因而提高了工作效率。
对于工作事务繁多的人来说需要建立一个个人信息管理系统来整理日常事务,从而提高办事效率。
2、任务描述2.1目标个人信息管理系统主要用于个人信息的管理,系统包括通讯录信息、备忘录信息、日记信息、个人财务管理信息等几部分组成。
2.2运行环境Windows 系统3、功能要求用户需要使用账号与密码通过登陆页面登陆个人信息管理系统,新用户可注册新账号登陆。
登陆后进入系统主窗体,可对个人信息管理、备忘录管理、通讯录管理、日记管理、财务管理进行操作。
Java Web开发(JSP)课程设计报告题目:个人信息管理系统设计者:xxxx专业班级:xxxxxxxx学号:xxxxxxxx指导教师: xxxxx2013年1月5日xxxxx大学计算机学院个人信息管理系统报告书一、系统需求背景该系统实现用户的个人信息管理,根据用户的需求实现相应的信息查询以及更新为用户挺方便的使用功能。
本系统适用于所有人的个人信息管理,主要任务是对用户的的事宜、心情、工作、学习、个人帐目等等的记载,并对这些进行信息进行日常管理。
社会发展越来越快,在面对多发方面压力的情况下,生活难免会陷入混乱,我们在每天的生活和学习中会接触到大量丰富的信息,对于个人信息也需要有一个系统的管理。
二、系统所涉及的一些知识该个人信息管理系统管理系统采用JSP+JDBC+MySQL、extjs、struts、spring、ibatis来实现,视图层采用JSP来实现,并通过JDBC来连接MySQL数据库。
JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP技术是用JA V A语言作为脚本语言的,JSP网页为整个服务器端的JA V A库单元提供了一个接口来服务于HTTP的应用程序。
JDBC是一种可用于执行SQL语句的JavaAPI(ApplicationProgrammingInterface应用程序设计接口)。
它由一些Java语言编写的类和界面组成。
JDBC为数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。
MySQL是一个真正的多用户、多线程SQL数据库服务器。
SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。
MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。
MySQL 主要目标是快速、健壮和易用。
最初是因为我们需要这样一个SQL服务器,它能处理与任何可不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库,但速度更快,MySQL就开发出来。
三、功能需求分析对模块及其基本功能进行分析本系统为方便用户使用起见设计了八块:主页、任务管理、笔记管理、相册管理、订阅管理、文档管理、帐目管理、系统管理。
系统的基本功能是:用户登陆后,可以通过一系列的操作管理个人信息,使得日常个人信息管理得到合理的保管,及时的进行完善,使得生活更有条不紊,并且各个功能模块都可以选择性的开启或者停用。
四、系统设计方案整体设计方案。
根据系统功能需求分析,可将系统完善大致分为如下几步:程序结构主模块程序开始登录注册主页面注册页面输入输出输出输入五、 系统涉及的数据库表所使用的数据库及其字段。
数据库安装的是MySQL 5.1,根据系统功能需求分析得到如下数据库表:登录模块密码和用户名 主页面 判断是否正确 用户浏览信息退出系统检测是否有违法操用户进行相应的操作是六、具体功能分析1、登录界面<%@page language="java"pageEncoding="UTF-8"isELIgnored="false"%> <%@page import="global.Constants"%><%@page import="util.ServletHelp"%><%@page import="global.security.SessionUtils"%><html><head><%String baseUrl = request.getContextPath();%><meta http-equiv="Content-Type"content="text/html; charset=utf-8" /><script type="text/javascript">$(document).ready(function(){// 全局参数var baseParams = {start:0, limit:<%=Constants.PAGE_SIZE %>, delflag:"<%=Constants.DEL_FLAG_1 %>"};// 用户数据源var userListStore = new Ext.data.JsonStore({url:'<%=baseUrl %>/userAction.do?method=queryForPaging',root: 'datas',totalProperty: 'results',fields: ['userId', 'userName', 'role', 'sex','birthdayStr', 'email', 'phone', 'status'],baseParams: baseParams,autoLoad: true});// 工具栏var userListToolbar = new Ext.Toolbar({r enderTo: 'userListToolBarDiv',i tems: [new Ext.Button({id: 'userList-add-button',text: '添加',iconCls: 'user_add'}),'-',new Ext.Button({id: 'userList-start-button',text: '启用',iconCls: 'status_online'}),new Ext.Button({id: 'userList-stop-button',text: '停用',iconCls: 'status_offline'}),new Ext.Button({id: 'userList-delete-button',text: '删除',iconCls: 'status_busy'}),new Ext.ux.form.SearchField({store: userListStore,width: 320,paramName: 'userName',emptyText: '请输入用户名...',style: 'margin-left: 10px;'})]});// 用户数据表格var sm = new Ext.grid.CheckboxSelectionModel();var userListGrid = new Ext.grid.GridPanel({ id: 'userListGrid',renderTo: 'userListGridDiv',border: false,stateful: true,autoScroll: 'auto',store: userListStore,loadMask: true,cm: new Ext.grid.ColumnModel({defaults: {width: 100,sortable: true},columns: [sm,new Ext.grid.RowNumberer({header:'№'}),{id:'role',header: '角色', width: 100, sortable: true, dataIndex: 'role'},{id:'userId',header: '账号', width: 100, sortable: true, dataIndex: 'userId'},{id:'userName',header: '用户名', width: 100, sortable: true, dataIndex: 'userName'},{id:'sex',header: '性别', width: 50, sortable: true, dataIndex: 'sex'},{id:'birthdayStr',header: '生日', width: 100, sortable: true, dataIndex: 'birthdayStr'},{id:'email',header: '邮箱', width: 180, sortable: true, dataIndex: 'email'},{id:'phone',header: '电话', width: 100, sortable: true, dataIndex: 'phone'},{id:'status',header: '状态', width: 50, sortable: true, dataIndex: 'status'}]}),sm: sm,columnLines: true,bbar: new Ext.PagingToolbar({pageSize: <%=Constants.PAGE_SIZE %>,store: userListStore,displayInfo: true,displayMsg: Anynote.PAGINGTOOLBAR_DISPLAYMSG,emptyMsg: Anynote.PAGINGTOOLBAR_EMPTYMSG,doLoad: function(start){baseParams.start = start;this.store.load({params: baseParams});}})});// 设置Grid高度和宽度Anynote.resizeGridTo("userListGrid", 0, 56);// 添加按钮$("#userList-add-button").click(function(){// 角色数据源var roleStore = new Ext.data.ArrayStore({fields : ['role', 'roleName'],data :<%=ServletHelp.getArrayFromMap(Constants.ROLE_MAP, null)%>, sortInfo: {field: "role", direction: "ASC"}});if('<%=Constants.ROLE_CODE_1%>'=='<%=SessionUtils.getUserRole()%>'){ roleStore.removeAt(0);}else{roleStore.removeAt(0);roleStore.removeAt(0);}// 性别数据源var sexStore = new Ext.data.ArrayStore({fields : ['sex', 'sexName'],data :<%=ServletHelp.getArrayFromMap(Constants.SEX_MAP, null)%>, sortInfo: {field: "sex", direction: "ASC"}});// 风格数据源var themeStore = new Ext.data.SimpleStore({ fields : ['theme', 'themeName'],data : Anynote.THEME_DATA});// 编辑用户Formvar addUserFormPanel = new Ext.FormPanel({id: 'addUserFormPanel',labelWidth: 60,buttonAlign: 'center',border: false,bodyStyle:'padding:10px;text-align:left;background-color:transparent;', url: '',items:[{// 角色xtype:'combo',hiddenName: 'role',fieldLabel: '角色',store: roleStore,mode : 'local',triggerAction: "all",valueField: 'role',displayField: 'roleName',allowBlank:false,editable: false,width: 230,anchor:'98%'},{// 账号xtype:'textfield',name: 'userId',fieldLabel: '账号',anchor:'98%',allowBlank:false,maxLength: 20},new Ext.form.TextField ({// 密码inputType: 'password',name:'password',fieldLabel:'密码',anchor:'98%',allowBlank:false,maxLength: 20}),new Ext.form.TextField ({// 确认密码 inputType: 'password',name:'repassword',fieldLabel:'确认密码',anchor:'98%',allowBlank:false,maxLength: 20}),{// 姓名xtype:'textfield',id:'userName',name:'userName',fieldLabel:'姓名',anchor:'98%',allowBlank:false,maxLength: 20},{// 性别xtype:'combo',hiddenName: 'sex',fieldLabel: '性别',store: sexStore,mode : 'local',triggerAction: "all",valueField: 'sex',displayField: 'sexName',allowBlank:false,editable: false,width: 230,anchor:'98%'},{// 生日xtype:'datefield',name: 'birthdayStr',fieldLabel: '生日',format: 'Y-m-d',width: 230,anchor:'98%'},{// 邮箱xtype:'textfield',name:'email',fieldLabel:'邮箱',anchor:'98%',vtype:'email',allowBlank:false,maxLength: 50},{// 电话xtype:'textfield',name:'phone',fieldLabel:'电话',anchor:'98%',maxLength: 20},{// 风格xtype:'combo',hiddenName: 'theme',fieldLabel: '风格',store: themeStore,mode : 'local',triggerAction: "all",valueField: 'theme',displayField: 'themeName',value: 'ext-all.css',editable: false,allowBlank:false,width: 230,anchor:'98%'},{xtype: 'radiogroup',fieldLabel: '主页',itemCls: 'x-check-group-alt',columns: 3,items: [{boxLabel: '任务', name: 'homePage',inputValue: "<%=Constants.HOME_PAGE_1_URL%>", checked: true},{boxLabel: '笔记', name: 'homePage', inputValue: "<%=Constants.HOME_PAGE_2_URL%>"},{boxLabel: '相册', name: 'homePage', inputValue: "<%=Constants.HOME_PAGE_3_URL%>"},{boxLabel: '账目', name: 'homePage', inputValue: "<%=Constants.HOME_PAGE_4_URL%>"},{boxLabel: '订阅', name: 'homePage', inputValue: "<%=Constants.HOME_PAGE_5_URL%>"},{boxLabel: '文档', name: 'homePage', inputValue: "<%=Constants.HOME_PAGE_7_URL%>"}]},{xtype: 'checkboxgroup',fieldLabel: '模块',itemCls: 'x-check-group-alt',columns: 3,items: [{boxLabel: '任务', name: 'showTodo', checked: true},{boxLabel: '笔记', name: 'showNote', checked: true},{boxLabel: '相册', name: 'showPicture', checked: true},{boxLabel: '账目', name: 'showAccount', checked: true},{boxLabel: '订阅', name: 'showFeed', checked: true},{boxLabel: '文档', name: 'showDocument', checked: true}]},{// 验证码xtype:'textfield',id:'verifyCode',name:'verifyCode',fieldLabel:'验证码',anchor:'98%',allowBlank:false,maxLength: 20},{width: 110,border: false,style: 'margin-left:65px;line-height:20px;',bodyStyle: 'background-color:transparent;',html:'<img id="VerifyCodeImg" src=""style="float:left;"/><span style="float:right;"><ahref="javascript:changeVerifyCode();">换一张</a></span>'}],buttons: [{text:'提交',handler: function(){var form = addUserFormPanel.getForm();if(form.isValid()){// 发送请求Anynote.ajaxRequest({baseUrl: '<%=baseUrl %>',baseParams: form.getValues(),action:'/loginAction.do?method=register',callback: function(jsonResult){userListGrid.getStore().reload();addUserWindow.close();},showWaiting: true,failureMsg: '保存失败.'});}}},{text: '重置',handler: function(){addUserFormPanel.getForm().reset();}}]});// 用户注册窗口var addUserWindow = new Ext.Window({title: '添加用户',width: 330,height: 490,modal: true,maximizable: false,resizable: false,layout:'fit',plain: true,items: [addUserFormPanel]}).show();// 获得验证码changeVerifyCode();});// 启用按钮$("#userList-start-button").click(function(){// 启用submit("start");});// 停用按钮$("#userList-stop-button").click(function(){// 停用submit("stop");});// 删除按钮$("#userList-delete-button").click(function(){// 提交submit("delete");});// 提交function submit(type){var msg = "";var status = "";if(type=="delete"){msg = "确定要删除账户及其文件吗?";}else if(type=="stop"){msg = "确定要停用吗?";status = "<%=ER_STATUS_2%>";type = "updateStatus";}else if(type=="start"){msg = "确定要启用吗?";status = "<%=ER_STATUS_1%>";type = "updateStatus";}var records =userListGrid.getSelectionModel().getSelections();if(records.length < 1){Ext.Msg.alert("提示", "请至少选择一条数据.");}else{Ext.Msg.confirm("警告", msg, function(btn){if(btn=="yes"){var userIds = "";for(var i=0;i<records.length;i++){userIds = userIds + records[i].get("userId") + ",";}// 发送请求Anynote.ajaxRequest({baseUrl: '<%=baseUrl %>',baseParams: {userIds:userIds,status:status},action: '/userAction.do?method='+type,callback: function(jsonResult){userListGrid.getStore().reload();},showWaiting: true,failureMsg: '保存失败.'});}});}}});// 更换验证码function changeVerifyCode(){$("#VerifyCodeImg").attr("src","<%=baseUrl %>/loginAction.do?method=getVerifyCode&time="+new Date());}</script></head><body><div id="userListDiv"><div id="userListToolBarDiv"></div><div id="userListGridDiv"style="width:100%;height:100%;"></div>帐目查询界面<%@page language="java"pageEncoding="UTF-8"isELIgnored="false"%> <%@page import="global.Constants"%><%@page import="util.DateUtils"%><%@page import="util.ServletHelp"%><%@page import="util.StringUtils"%><html><head><%String baseUrl = request.getContextPath();String accountBookId = request.getParameter("accountBookId");String accountBookName =request.getParameter("accountBookName");if(StringUtils.isEmpty(accountBookName) ||"null".equals(accountBookName)){accountBookName = "所有账目";}else{accountBookName =.URLDecoder.decode(accountBookName, "UTF-8");}%><meta http-equiv="Content-Type"content="text/html; charset=utf-8" /><script type="text/javascript">Ext.chart.Chart.CHART_URL ='<%=baseUrl %>/websrc/js/ext-3.3.0/resources/charts.swf';$(document).ready(function(){// 全局参数var baseParams = {start:0, limit:"<%=Constants.PAGE_SIZE %>", accountBookId:"<%=accountBookId %>",fromDate:"<%=DateUtils.getFirstDayOfMonthAsString(DateUtils.DATE_PATT ON_1)%>",toDate:"<%=DateUtils.getLastDayOfMonthAsString(DateUtils.DATE_PATTON_ 1)%>"};var accountBookName = '<%=accountBookName%>';// 工具栏var accountListToolbar = new Ext.Toolbar({r enderTo: 'accountListToolBarDiv',i tems: ['当前:'+accountBookName,'-',new Ext.Button({id: 'accountList-search-button',text: '查询',iconCls: 'report_magnify'}),new Ext.Button({id: 'accountList-add-button',text: '添加',iconCls: 'report_add'}),new Ext.Button({id: 'accountList-edit-button',text: '修改',iconCls: 'report_edit'}),new Ext.Button({id: 'accountList-delete-button',text: '删除',iconCls: 'report_delete'}),'-',new Ext.Button({id: 'accountList-inout-button',text: '收支统计',iconCls: 'chart_bar'}),new Ext.Button({id: 'accountList-groupin-button',text: '收入统计',iconCls: 'chart_pie'}),new Ext.Button({id: 'accountList-groupout-button',text: '支出统计',iconCls: 'chart_pie'})]});// 账目分类数据源var accountCategoryStore = new Ext.data.JsonStore({ url:'<%=baseUrl %>/accountCategoryAction.do?method=query', root: 'datas',fields: ['categoryId', 'categoryName'],autoLoad: {params: {'status':''},callback: function(records, success){this.insert(0, new Ext.data.Record({categoryId: "",categoryName: "全部"}));}}});// 账目类型数据源var accountTypeStore = new Ext.data.ArrayStore({ fields : ['accountType', 'accountTypeName'],data :<%=ServletHelp.getArrayFromMap(Constants.ACCOUNT_TYPE_MAP, "全部")%>, sortInfo: {field: "accountType", direction: "ASC"}});// 检索账目Formvar searchAccountFormPanel = new Ext.FormPanel({id: 'searchAccountFormPanel',renderTo: 'accountListSearchDiv',labelWidth: 60,width:600,border: false,bodyStyle: 'padding:5px;',url: '',items: [{layout:'column',border: false,items:[{columnWidth:.5,layout: 'form',border: false,items: [{// 账目类型xtype:'combo',hiddenName: 'accountType',fieldLabel: '账目类型',store: accountTypeStore,mode : 'local',triggerAction: "all",emptyText: '请选择...',valueField: 'accountType',displayField: 'accountTypeName',listeners:{change:function(){accountCategoryStore.load({params: {'status':this.value},callback: function(records, success){if(records.length==0){accountCategoryStore.removeAll();}else{accountCategoryStore.insert(0, new Ext.data.Record({categoryId: "",categoryName: "全部"}));}searchAccountFormPanel.getForm().findField("categoryId").setValue("") ;}});}},editable: false,anchor:'95%'},{// 开始日期xtype:'datefield',id: 'fromDate',name: 'fromDate',fieldLabel: '开始日期',format: 'Y-m-d',value:'<%=DateUtils.getFirstDayOfMonthAsString(DateUtils.DATE_PATTON_1)%>', anchor:'95%'}]},{columnWidth:.5,layout: 'form',border: false,items: [{// 收支项目xtype:'combo',hiddenName: 'categoryId',fieldLabel: '收支项目',store: accountCategoryStore,mode : 'local',triggerAction: "all",emptyText: '请选择...',valueField: 'categoryId',displayField: 'categoryName',editable: false,anchor:'95%'},{// 结束日期xtype:'datefield',id: 'toDate',name: 'toDate',fieldLabel: '结束日期',format: 'Y-m-d',value:'<%=DateUtils.getLastDayOfMonthAsString(DateUtils.DATE_PATTON_1)%>', anchor:'95%'}]},{columnWidth:.5,layout: 'form',border: false,items: [{// 账目备注xtype:'textfield',id:'remark',name:'remark',fieldLabel:'账目备注',anchor:'95%'}]}]}]});// 账目合计信息var accountListGridHeaderPanel = new Ext.Panel({i d: 'accountListGridHeaderPanel',renderTo: 'accountListGridHeaderDiv',contentEl: 'accountListGridHeaderInfoDiv',bodyStyle:'padding:5px;border-width:0px;border-top-width:1px;'});// 账目数据源var accountListStore = new Ext.data.JsonStore({url: '<%=baseUrl %>/accountAction.do?method=query',root: 'datas',totalProperty: 'results',fields: ['accountId', 'accountBookId', 'accountBookName', 'accountType', 'categoryName', 'accountDateStr', 'money', 'remark','updateDateStr'],baseParams: baseParams,autoLoad: true});// 账目数据表格var sm = new Ext.grid.CheckboxSelectionModel();var accountListGrid = new Ext.grid.GridPanel({id: 'accountListGrid',renderTo: 'accountListGridDiv',border: false,columnLines: true,stateful: true,autoScroll: 'auto',height: 500,store: accountListStore,loadMask: true,cm: new Ext.grid.ColumnModel({defaults: {width: 120,sortable: true},columns: [sm,new Ext.grid.RowNumberer({header:'№'}),{id:'accountBookId',header: '账本ID', width: 100, sortable: true, dataIndex: 'accountBookId', hidden: true},{id:'accountBookName',header: '账本', width: 100, sortable: true, dataIndex: 'accountBookName'},{id:'accountId',header: '账目ID', width: 100, sortable: true, dataIndex: 'accountId', hidden: true},{id:'accountType',header: '账目类型', width: 100, sortable: true, dataIndex: 'accountType'},{id:'categoryName',header: '收支项目', width: 150, sortable: true, dataIndex: 'categoryName'},{id:'money',header: '金额', width: 100, sortable: true, dataIndex: 'money', align: 'right', renderer:Ext.util.Format.numberRenderer('0,000.00')},{id:'accountDateStr',header: '账目日期', width: 100,sortable: true, dataIndex: 'accountDateStr'},{id:'remark',header: '备注', width: 300, sortable: true, dataIndex: 'remark'}]}),sm: sm,columnLines: true,bbar: new Ext.PagingToolbar({pageSize: <%=Constants.PAGE_SIZE %>,store: accountListStore,displayInfo: true,displayMsg: Anynote.PAGINGTOOLBAR_DISPLAYMSG,emptyMsg: Anynote.PAGINGTOOLBAR_EMPTYMSG,doLoad: function(start){var form = searchAccountFormPanel.getForm();var param = form.getValues();param.start = start;param.limit = baseParams.limit;this.store.load({params: param});}}),listeners: accountListStore.on("load",function(){getSum();})});// 设置Grid高度和宽度Anynote.resizeGridTo("accountListGrid", 0, 169);// 行双击事件accountListGrid.on("rowdblclick", function(){$("#accountList-edit-button").click();});// 添加按钮$("#accountList-add-button").click(function(){if('<%=accountBookId %>'==0){Ext.Msg.alert('提示', '请先创建一个账本.');}else{accountWindow = new Ext.Window({title: '添加账目',width: 400,height: 270,modal: true,resizable: false,plain: true,layout:'fit',autoLoad:{url:'<%=baseUrl %>/websrc/page/account/editAccount.jsp? type=CREATE&accountBookId=<%=accountBookId%>',scripts:true,nocache:tr ue}});accountWindow.show();}});// 修改按钮$("#accountList-edit-button").click(function(){var records =Ext.getCmp("accountListGrid").getSelectionModel().getSelections();if(records.length!=1){Ext.Msg.alert("提示", "请选择一条数据.");}else{var accountId = records[0].get("accountId");accountWindow = new Ext.Window({title: '编辑账目',width: 400,height: 250,modal: true,resizable: false,layout:'fit',plain: true,autoLoad:{url:'<%=baseUrl %>/websrc/page/account/editAccount.jsp? type=UPDATE&accountId='+accountId,scripts:true,nocache:true}});accountWindow.show();}});// 删除按钮$("#accountList-delete-button").click(function(){var records =Ext.getCmp("accountListGrid").getSelectionModel().getSelections();if(records.length < 1){Ext.Msg.alert("提示", "请至少选择一条数据.");}else{Ext.Msg.confirm("警告", "确定要删除吗?",function(btn){if(btn=="yes"){var accountIds = "";for(var i=0;i<records.length;i++){accountIds = accountIds +records[i].get("accountId") + ",";}// 发送请求Anynote.ajaxRequest({baseUrl: '<%=baseUrl %>',baseParams: {accountIds:accountIds},action:'/accountAction.do?method=delete',callback: function(jsonResult){Ext.getCmp("accountListGrid").getStore().reload({callback: function(records, success){getSum();}});},showWaiting: true,failureMsg: '删除失败.'});}});}});// 查询按钮$("#accountList-search-button").click(function(){var form = searchAccountFormPanel.getForm();var param = form.getValues();accountListStore.load({params: param});});// 收支统计按钮$("#accountList-inout-button").click(function(){var fromDate =searchAccountFormPanel.getForm().findField('fromDate').getValue();var toDate =searchAccountFormPanel.getForm().findField('toDate').getValue();if(fromDate=='' || toDate==''){Ext.Msg.alert('提示','请选择统计日期!');}else{// 发送请求-取合计值Anynote.ajaxRequest({baseUrl: '<%=baseUrl %>',baseParams:{fromDate:fromDate,toDate:toDate,accountBookId:<%=accountBookId %>},action: '/accountAction.do?method=getSum',callback: function(jsonResult){if(jsonResult.success==true){// 收支统计数据var accountListInOutStore = newExt.data.ArrayStore({fields: ['inout', 'money'],data: [['收入',jsonResult.currentInMoney],['支出',jsonResult.currentOutMoney]]});// 收支统计窗口var groupInOutWindow = new Ext.Window({title: '收支统计',width: 300,height: 450,modal: true,maximizable: false,resizable: false,layout:'fit',plain: true,items: {x type: 'columnchart',store: accountListInOutStore,yField: 'money',xField: 'inout',xAxis: new Ext.chart.CategoryAxis({title: '收支'}),yAxis: new Ext.chart.NumericAxis({title: '金额'}),extraStyle: {xAxis: {labelRotation: 0}}}}).show();}else{Ext.Msg.alert('提示','统计错误.');}}});}});// 收入统计按钮$("#accountList-groupin-button").click(function(){var fromDate =searchAccountFormPanel.getForm().findField('fromDate').getValue();var toDate =searchAccountFormPanel.getForm().findField('toDate').getValue();if(fromDate=='' || toDate==''){Ext.Msg.alert('提示','请选择统计日期.');}else{// 收入统计数据源var accountListGroupInStore = new Ext.data.JsonStore({ url:'<%=baseUrl %>/accountAction.do?method=getGroupSumMoney',root: 'datas',totalProperty: 'results',fields: ['categoryName', 'money'],baseParams:{accountBookId:'<%=accountBookId%>',accountType:'1',fromDate:fromDate ,toDate:toDate},autoLoad: true});var groupInWindow = new Ext.Window({title: '收入统计',width: 600,height: 450,modal: true,maximizable: false,resizable: false,layout:'fit',plain: true,items: {store: accountListGroupInStore,xtype: 'piechart',dataField: 'money',categoryField: 'categoryName',extraStyle:{legend:{display: 'bottom',padding: 5}}}}).show();}});// 支出统计按钮$("#accountList-groupout-button").click(function(){var fromDate =searchAccountFormPanel.getForm().findField('fromDate').getValue();var toDate =searchAccountFormPanel.getForm().findField('toDate').getValue();if(fromDate=='' || toDate==''){Ext.Msg.alert('提示','请选择统计日期.');}else{// 支出统计数据源var accountListGroupOutStore = newExt.data.JsonStore({url:'<%=baseUrl %>/accountAction.do?method=getGroupSumMoney',root: 'datas',totalProperty: 'results',fields: ['categoryName', 'money'],baseParams:{accountBookId:'<%=accountBookId%>',accountType:'2',fromDate:fromDate ,toDate:toDate,accountBookId:<%=accountBookId %>},autoLoad: true});var groupOutWindow = new Ext.Window({title: '支出统计',width: 600,height: 450,modal: true,maximizable: false,resizable: false,layout:'fit',plain: true,items: {store: accountListGroupOutStore,xtype: 'piechart',dataField: 'money',。