廊坊一中考评:查看互评信息实现及优化显示

【前言】

为了培养更多的人,最近组长准备将廊坊一中交接给下版人员,从而让更多的人从中受益;但是在交接之前,我们需要根据上次验收提出的变动来完善系统。

我这次主要的任务是完善界面上的显示,基本上的任务分配是每个人完善之前做的模块,虽然有时间没打开系统,但是还是自己亲自做的,打开之后倍感亲切。在这次完善的界面的同时又将自己当初的实现给温习了一次。

【实现】

需求:后台管理员在设置完互评信息后,需要对其设置的互评信息进行查看(支持模糊查询),同时支持删除.

下面主要说一下这部分最主要功能:查看互评信息的实现及其效果

话不多说,来张图:

实现方式:

1.在表格初始化时加载之前选择的评论职务和被评论人的职务(JS方法):

 //初始化表格
        function initTable() {
            //把搜素框里的内容提交到后台对数据进行过滤。
            $('#dg').datagrid({
                url: '/QuerySetEvaluation/QueryBy',
                //title: '演示表格使用',
                width: "100%",
                striped: true, //行背景交换
                fitColumns: true,
                idField: 'ID',
                loadMsg: '正在加载用户的信息...',
                pagination: true,
                singleSelect: false,
                pageSize: 10,
                pageNumber: 1,
                pageList: [10, 20, 30],
                //去除datagrid单击行选中的效果
                onClickRow: function (rowIndex, rowData) {
                    $(this).datagrid('unselectRow', rowIndex);
                },
                queryParams: {
                    searchName: $("#searchName").val()
                },
                columns: [[
                        { field: 'ck', checkbox: true, align: 'left', width: 50 },
                        { field: 'ID', width: 50, hidden: true },
						{
						    field: 'Evaluator', title: '评论人职务', width: 50, formatter: function (value, row, index) {
						        return "<a href='javascript:void(0);' onclick='EvalName(this)'>" + value + "</a>";

						    }
						},
                        {
                            field: 'Critics', title: '被评论人职务', width: 50, formatter: function (value, row, index) {
                                return "<a href='javascript:void(0);'onclick='CritisName(this)'>" + value + "</a>";
                            }
                        },
                        { field: 'Weight', title: '权重', width: 50 },
                        { field: 'IsUsed', title: '是否可用', width: 50, hidden: true },
                        { field: 'WeightID', title: '是否可用', width: 50, hidden: true }
                ]]
            });
        }

2.定义弹出框(JS方法):

//显示评论人姓名弹出框
        function showNameFrm() {
            $("#importDiv").css("display", "block");
            $("#importDiv").dialog({
                width: 600,
                height: 250,
                modal: true,
                title: "人员信息",
                collapsible: true,
                minimizable: false,
                maximizable: false,
                resizable: true,
            });
        }

3.控制显示的DIV以及其内的用来承接人名的textarea(HTML内容):

 <div id="importDiv" style="display: none">
        <form method="post" enctype="multipart/form-data">
            <div style="margin-bottom: 20px; width: 600px; height: 250px">
                @*<span class="tip"><input type="text" id="ii" style="width:600px;height:250px;border:none;word-break:break-all;"/></span><a class="btn-lit"></a>*@
                <span class="tip">
                    <textarea id="evaName" style="width: 580px; height: 250px; border: none; word-break: break-all;"></textarea></span><a class="btn-lit"></a>

            </div>
            <div style="margin-bottom: 20px">
            </div>
        </form>
    </div>

4.单击链接显示评论人员姓名:

        //单击链接显示评论人员姓名
        function EvalName(obj) {
            //把你选中的 数据查询出来。
            var id = obj.parentNode.parentNode.parentNode.children[1].innerText;
            $.get("/QuerySetEvaluation/selectEvaluatorName", { evaInfoID: id }, function (data) {
                var name = data[0] ;
                if (name != null) {
                    name = name + ",";
                    for (var i = 1; i < data.length; i++) {
                        name += data[i] + ",";
                    }

                    name = name.substring(0, name.length - 1);
                    //显示人员信息框
                    showNameFrm();
                    document.getElementById("evaName").value = name;
                }
                else {
                    $.messager.alert("提示:", "该部门下没有人员!");
                }
            });
        }

【优化显示】

之前的实现方式是将其放到了textare中,在验收的时候甲方提出说看起来太乱尤其是人多的时候!秉承着全心全意为人民服务的理念,我对其进行优化!

想法:不用textare来承接而是用Table承接。

怎么实现那???

经过分析需要做两个工作:

1.将界面的HTML中的承接姓名的textarea容器更换为Table。代码实现如下:

    <!--用来显示职务下人员姓名-->
    <div id="importDiv" style="position:fixed;display: none;margin:0;width:220px;border:1px;background-color:#a0c6e5">
        <!--承接姓名的Table-->
        <table border="0" cellspacing="1" style="background-color:#a0c6e5" width="280px">
            <tbody style="font-size:20px" id="tb1">
            </tbody>
         </table>
    </div>

2.从上面的单击链接显示评论人员姓名 的JS方法中不难看出,加载出来的姓名是一个data数组,将Data数组放到Table中。代码实现如下:

//单击链接显示评论人员姓名
        function EvalName(obj) {
            //把你选中的 数据查询出来。
            var id = obj.parentNode.parentNode.parentNode.children[1].innerText;
            $.get("/QuerySetEvaluation/selectEvaluatorName", { evaInfoID: id }, function (data) {
                var name = data[0] ;
                if (null != name && "" != name) {
                    //显示人员信息框
                    showNameFrm();
                    var col = 4;//这里为生成4列的表格
                    var lines = Math.ceil(data.length / col);//很关键的一步,这里为生成表格的行数
                    var str = "";
                    for (var j = 0; j < lines; j++) {//遍历表格行
                        str += "<tr>";
                        for (var k = 0; k < col; k++) {//遍历表格列
                            str += "<td>";
                            if (typeof data[k + j * col] == "undefined") { str += " "; }
                            else { str += data[k + j * col]+" "; }
                            str += "</td>";
                        };//表格行结束
                        str += "</tr>";
                    };
                    var div1 = document.getElementById('tb1');
                    div1.innerHTML = str;
                }
                else {
                    $.messager.alert("提示:", "该部门下没有人员!");
                }
            });

最后实现的效果如下:

【总结】

用心去做一个东西,发现在自己的努力下会将它做的越来越好,同时感谢团队中的每位成员对自己的鼓励和支持。在我们共同努力下,我们的产品在逐渐完善。在需求的推动下去探索和实践,相信在软件开发的道路上自己会越走越远。

廊坊一中是自己亲自从头到尾都参与其中的一个项目;虽然期间有许多波折,不过看着它像自己的亲生孩子一样,它见证了我们的成长史,说实话将它教给下版人员真心有点舍不得!

最后与大家共勉一句话:用心去对待自己做过的每个产品。

时间: 2024-12-28 13:19:28

廊坊一中考评:查看互评信息实现及优化显示的相关文章

一中考评系统完结篇--技术和心得总结

一中的考评系统是从软考完开始的,从开始到结束大概用了2个多月,真心的觉得战线很长,学习到的东西也甚多.不论从技术上还是从沟通上我觉得以后不会再有这么好的机会能够如此顺畅了吧. 技术篇: 1.      EF 当初我们讨论需求的时候,其实并不是很难.整个数据库的设计也就只有20多张表,每一张表都是通过很严格的设计,在连海师哥的引导下完成的.我和江霄先前设计的时候完全是按照不存在冗余来设计的.因为是一个评分的需求: 首先先要存在教职工信息.(教职工信息表.系列表.科室及年纪组表) 管理员会先进行配置

查看cpu信息

1概念 物理cpu: 实际Server中插槽上的CPU个数 物理cpu数量,可以数不重复的 physical id 有几个 cpu核心数: 一块CPU上面能处理数据的芯片组的数量 ,就是可以把一个cpu分层几块独立的核心,来处理任务 逻辑cpu 逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 (前提该cpu支持超线程) 逻辑cpu个数的用途就是服务器,可以同时处理任务的数量 2查看cpu信息 liunx的cpu信息在文件/proc/cpuinfo中 vendor id

Oracle里收集与查看统计信息的方法

Oracle数据库里的统计信息是这样的一组数据:它存储在数据字典里,且从多个维度描述了Oracle数据库里对象的详细信息.CBO会利用这些统计信息来计算目标SQL各种可能的.不同的执行路径的成本,并从中选择一条成本值最小的执行路径来作为目标SQL的执行计划. Oracle数据库里的统计信息可以分为如下6种类型: 表的统计信息 索引的统计信息 列的统计信息 系统统计信息 数据字典统计信息 内部对象统计信息 表的统计信息用于描述Oracle数据库里表的详细信息,它包含了一些典型的维度,如记录数.表块

CentOS 查看硬件信息

1.centos 下查看硬件信息内容非常全面. CentOS常用命令查看cpumore /proc/cpuinfo | grep “model name”grep “model name” /proc/cpuinfo[[email protected] /]# grep “CPU” /proc/cpuinfomodel name : Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHzmodel name : Intel(R) Pentium(R) Dual

Sql Server之使用T_SQL创建,修改,查看数据库信息

一.使用Transact_SQL创建数据库 Transact_SQL语法如下:  create database database_name   [ on     [primary]  [<filespec> [,...n] ]   ]   [ log on    [<filespec>[,...n]]   ];   <filespec>::=    (      name=logical_file_name      [  ,  newname = new_login

linux——cat之查看cpu信息、显示终端、校验内存.............

cat--串联文档做基本输出 cat /proc/cpuinfo 显示CPU info的信息 cat /proc/interrupts 显示中断 cat /proc/meminfo 校验内存使用 cat /proc/swaps 显示哪些swap被使用 cat /proc/version 显示内核的版本 cat /proc/net/dev 显示网络适配器及统计 cat /proc/mounts 显示已加载的文件系统 cd /proc 转到该目录 ls -l       查看文件 注:/proc 是

Powershell窗口查看帮助信息

Powershell查看命令的帮助信息可以直接使用help 命令名称,如下图 PS C:\> help Get-Command 名称 Get-Command 摘要 Gets all commands. 语法 Get-Command [[-ArgumentList] [<Object[]>]] [-All] [-FullyQualifiedModule [<ModuleSpecification[]>]] [-ListImported] [-Module [<String

使用FileSystem类进行文件读写及查看文件信息

使用FileSystem类进行文件读写及查看文件信息 在这一节我们要深入了解Hadoop的FileSystem类--这是与与hadoop的文件系统交互的重要接口.虽然我们只是着重于HDFS的实现,但我们在编码时一般也要注意代码在FileSystem不同子类文件系统之间的可移植性.这是非常有用的,比如说你可以非常方便的直接用同样的代码在你的本地文件系统上进行测试. 使用hadoop URL读数据 从hadoop文件系统中读取文件的最简单的方法之一便是使用java.net.URL对象来打开一个欲从中

maven出现问题时,可用-X来查看调试信息

今天遇到了一个问题,要用Maven运行一个最简单的项目,一直停留在下面这句话上好久,很是郁闷. Generating project in Batch mode 想过要用各种办法来解决问题,本以为是某个Jar包下载不完整导致的,浪费了好长时间. 最后发现了下面的文章. http://www.cnblogs.com/wardensky/p/4513372.html 原来,可以用加-X来查看调试信息. 从经验上来讲,许多的Open Source在日志输出上的确做的很好,当遇到问题时,不妨先看看生成的