项目的部分代码(手写智能提示,无刷新分页)

<div class="content">
            <div class="search">
                <label class="search-label">搜索项目:</label>
                <img src="@Url.Content("~/Content/Images/PMS_bb_search.png")" alt="search" id="seacherconfirm"/>
                <div id="autocompletefield">
                    <div class="searchers">
                        <input type="text" id="seachers" name="" tabindex="1" art="textbox" value="" emptytext="名称、拼音、编号、简称" maxlength="10" showmaxlength="true" />
                    </div>
                    <div id='autocomplete'>
                    </div>
                </div>
            </div>
            <div id="pagespace">
                <div id="pagenode">
                </div>
                <div id="pagerspace">
                    <div art="pager" id="pager" totalcount="0" template="textMode" pagesize=""
                        pageindex="" onpageindexchanged="pageIndexChanged">
                    </div>
                    <p id="pagemsg"></p>
                </div>
            </div>
        </div>


 // 开始进入,加载第一页的数据
        $(function () {
            var url = "@this.Url.Action("ProjectDisplayPagerData", "Manager")";
            var pageindex = 1;
            var pagesize = 3;
            var condition = null;
            var projectstatus = null;
            startpage(url, pageindex, pagesize, condition, projectstatus);
        });

        // 在建项按键计数2器
        var constructProjectCounter = 0;
        // 维保期按键计数器
        var maintainceProjectCounter = 0;
        // 在建项和维保期按钮之间的互斥信号量
        var semaphore = 0;
        // 信号量参数
        var statusprovider = null;

        // 初始化智能提示框的位置
        $("#autocomplete").css("left", $("#seachers").offset().left - 180);
        $("#autocomplete").css("top", $("#seachers").offset().top + 23);

        // 监听键盘抬起的事件
        $("#seachers").keyup(function () {
            var len = $(this).val().trim().length;//解决了中文输入法的问题!

            if (len >= 1) {
                var ul = "@this.Url.Action("AutoGet", "Project")";
                var msg = $("#seachers").val().trim();
                uploadautocompletedata(ul, msg);
            } else {
                $("#autocomplete").empty();
            }
        });

        // 失去焦点是清空
        $("#autocompletefield").mouseleave(function () {
            $("#autocomplete").empty();
        });

        // 搜索框获得焦点清空
        $("#seachers").focus(function () {
            $("#seachers").val("");
        });

        // 当页码开始改变的时候调用
        function pageIndexChanged() {
            var url = "@this.Url.Action("ProjectDisplayPagerData", "Manager")";
            var pageindex = $("#pager").pager("pageindex");
            var pagesize = $("#pager").pager("pagesize");

            var condition = $("#seachers").val().trim();
            var projectstatus = statusprovider;

            $("#pagenode").empty();
            startpage(url, pageindex, pagesize, condition, projectstatus);
        }

        // 加载智能提示消息
        function uploadautocompletedata(ul, msg) {
            $.getJSON(ul, { msg: msg }, function (data) {
                $("#autocomplete").empty();
                for (var i = 0; i < data.Total; i++) {
                    var itemsearch = data.Rows[i];
                    var createelement = $("<div class='autoitem'>" +
                        "<p class='fullname'>" + itemsearch.ProjectName + "</p>" +
                        "<p class='summary'><span>项目简称:</span><span class='summary-short'>" + itemsearch.ProjectShortName +
                        "</span><span>项目编号:</span><span class='summary-number'>" + itemsearch.ProjectNumber + "</span></p>" +
                        "</div>");
                    $("#autocomplete").append(createelement);
                }
                $(".autoitem").click(function () {
                    $("#seachers").val($(this).find($(".fullname")).text().trim());

                    var url = "@this.Url.Action("ProjectDisplayPagerData", "Manager")";
                    var pageindex = 1;
                    var pagesize = 3;
                    var condition = $("#seachers").val().trim();
                    var projectstatus = statusprovider;

                    $("#pagenode").empty();
                    startpage(url, pageindex, pagesize, condition, projectstatus);
                    $("#autocomplete").empty();
                });
            });
        }

        // 查询在建期项目
        $("#ConstructProject").click(function () {
            constructProjectCounter++;
            $("#seachers").val("");

            var url = "@this.Url.Action("ProjectDisplayPagerData", "Manager")";
            var pageindex = 1;
            var pagesize = 3;

            var condition = null;
            var projectstatus;

            if (semaphore == 1) {
                $("#MaintainceProject").css({ "background-color": "#11AEE1" });
                $(".safeguard").css("color", "white");
                maintainceProjectCounter = 0;
            }

            if (constructProjectCounter % 2 != 0) {
                projectstatus = "在建项";
                $("#ConstructProject").css({ "background-color": "white" });
                $(".creating").css({ "color": "#11AEE1" });
                semaphore = 1;
                statusprovider = projectstatus;
            } else {
                projectstatus = null;
                $("#ConstructProject").css({ "background-color": "#11AEE1", "color": "white" });
                $(".creating").css({ "color": "white" });
                semaphore = 0;
                statusprovider = null;
            }

            $("#pagenode").empty();
            startpage(url, pageindex, pagesize, condition, projectstatus);

        });

        // 维保期项目
        $("#MaintainceProject").click(function () {
            // 计数器自加
            maintainceProjectCounter++;
            $("#seachers").val("");

            var url = "@this.Url.Action("ProjectDisplayPagerData", "Manager")";
            var pageindex = 1;
            var pagesize = 3;

            var condition = null;
            var projectstatus;

            if (semaphore == 1) {
                $("#ConstructProject").css({ "background-color": "#11AEE1" });
                $(".creating").css("color", "white");
                constructProjectCounter = 0;
            }

            if (maintainceProjectCounter % 2 != 0) {
                projectstatus = "维保期";
                $("#MaintainceProject").css({ "background-color": "white" });
                $(".safeguard").css("color", "#11AEE1");
                semaphore = 1;
                statusprovider = projectstatus;
            } else {
                projectstatus = null;
                $("#MaintainceProject").css({ "background-color": "#11AEE1" });
                $(".safeguard").css("color", "white");
                semaphore = 0;
                statusprovider = null;
            }

            $("#pagenode").empty();
            startpage(url, pageindex, pagesize, condition, projectstatus);
        });

        // 确认搜索
        $("#seacherconfirm").click(function () {
            var url = "@this.Url.Action("ProjectDisplayPagerData", "Manager")";
                var pageindex = 1;
                var pagesize = 3;
                var condition = $("#seachers").val().trim();
                var projectstatus = statusprovider;

                $("#pagenode").empty();
                startpage(url, pageindex, pagesize, condition, projectstatus);
            });

            // 获取后台分页数据,并动态创建元素,实现无刷新分页----> 不解释
            function startpage(url, pageindex, pagesize, condition, projectstatus) {
                $.getJSON(url, { pageindex: pageindex, pagesize: pagesize, condition: condition, projectstatus: projectstatus }, function (data) {
                    for (var i = 0; i < data.Rows.length; i++) {
                        var item = data.Rows[i];
                        var projectNumber = item.Outline.ProjectNumber;
                        var projectName = item.Outline.ProjectName;
                        var projectManagerName = item.Outline.ProjectManagerName;
                        var contractNumber = item.Content.ContractNumber;
                        var contractName = item.Content.ContractName.substring(0, 17);
                        var allContractName = item.Content.ContractName;
                        var contractMoney = item.Content.ContractMoney;
                        var projectBeginDate = item.Content.ProjectBeginDateStringFormat;
                        var projectEndDate = item.Content.ProjectEndDateStringFormat;
                        var workingHoursOfConstruct = item.Content.WorkingHoursOfConstruct;
                        var workingHoursOfMaintaince = item.Content.WorkingHoursOfMaintaince;
                        var projectStatusName = item.Content.ProjectStatusName;
                        var projectCategoryName = item.Content.ProjectCategoryName;
                        var businessLineName = item.Content.BusinessLineName;
                        var changeTimes = item.Content.ChangeTimes;
                        var costOfPurchaseHardware = item.Content.CostOfPurchaseHardware;
                        var costOfPurchaseSoftware = item.Content.CostOfPurchaseSoftware;
                        var costOfOutsourcing = item.Content.CostOfOutsourcing;
                        var usedWorkDays = item.Progress.UsedWorkDays;
                        var totalWorkDays = item.Progress.TotalWorkDays;
                        var workDayPercent = item.Progress.WorkDayPercent;
                        var usedManHour = item.Progress.UsedManHour;
                        var totalManHour = item.Progress.TotalManHour;
                        var manHourPercent = item.Progress.ManHourPercent;
                        var usedMoney = item.Progress.UsedMoney;
                        var budgetMoney = item.Progress.BudgetMoney;
                        var moneyPercent = item.Progress.MoneyPercent;
                        var projectiid = item.Outline.ProjectID;
                        var hasProjectManagerRight = item.HasProjectManagerRight;
                        var hasBizLeaderRight = item.HasBizLeaderRight;

                        var node = "";
                        var deletenode = "";
                        var managernode = "";
                        var partial = "<label id='' class='item-content-title'>合同编号:</label>" +
                            "<label id='' class='item-content-content'>" + contractNumber + "</label>" +
                            "<label id='' class='item-content-title'>合同名称:</label>" +
                            "<label id='all-name' class='item-content-content'>" + contractName + "</label>" +
                            "<label id='' class='item-content-title'>合同额:</label>" +
                            "<label id='' class='item-content-content'>" + contractMoney + "</label>";
                        var deletepartial = "<div class='item-operate-item'><a href='@Url.Action("DeleteProjectEntry", "Project")?id=" + projectiid + "'>" +
                            "<img src='@Url.Content("~/Content/Images/pms_delete.png")' alt='删除' />" +
                            "<span class='item-operate-span'>删除</span></a></div>";
                        var managerpartial = "<div class='item-operate-item'><a href='@Url.Action("BudgetAdjustment", "BudgetAdjustment")?id=" + projectiid + "'><img src='@Url.Content("~/Content/Images/pms_updatechange.png")' alt='预期调整'/>" +
                            "<span class='item-operate-span'>预算调整</span></a></div>" +
                            "<div class='item-operate-item'><a href='@Url.Action("MaintainDataTracking", "Project")?id=" + projectiid + "'><img src='@Url.Content("~/Content/Images/pms_update.png")' alt='定期更新' />" +
                            "<span class='item-operate-span'>定期更新</span></a></div>" +
                            "<div class='item-operate-item'><a href='@Url.Action("SetProjectMileStone", "ProjectMileStone")?id=" + projectiid + "'><img src='@Url.Content("~/Content/Images/pms_stonemile.png")' alt='里程碑' />" +
                            "<span class='item-operate-span'>里程碑</span></a></div>" +
                            "<div class='item-operate-item'><a href='@Url.Action("GetProjectChangeInfo", "ChangeProject")?id=" + projectiid + "'><img src='@Url.Content("~/Content/Images/pms_budgetchange.png")' alt='变更' />" +
                            "<span class='item-operate-span'>变更</span></a></div>";

                        if (projectCategoryName.trim() == "合同") {
                            node = partial;
                        }

                        if (hasBizLeaderRight == 1) {
                            deletenode = deletepartial;
                        }

                        if (hasProjectManagerRight == 1) {
                            managernode = managerpartial;
                        }

                        var element = $("<div class='item'>" +
                            "<div class='item-header'>" +
                            "<input type='text' readonly='readonly' id='PName' class='item-header-PName' value='" + projectName + "' />" +
                            "<input type='text' readonly='readonly' id='PNO' class='item-header-PNO' value='" + projectNumber + "' />" +
                            "<input type='text' readonly='readonly' id='PM' class='item-header-PM' value='" + projectManagerName + "' />" +
                            "</div>" +
                            "<div class='item-content'>" +
                            "<label id='' class='item-content-title'>项目类型:</label>" +
                            "<label id='' class='item-content-content'>" + projectCategoryName + "</label>" +
                            node +
                            "<label id='' class='item-content-title'>变更次数:</label>" +
                            "<label id='' class='item-content-content'>" + changeTimes + "</label>" +
                            "<label id='' class='item-content-title'>业务线:</label>" +
                            "<label id='' class='item-content-content'>" + businessLineName + "</label>" +
                            "<label id='' class='item-content-title'>项目状态:</label>" +
                            "<label id='' class='item-content-content'>" + projectStatusName + "</label>" +
                            "<label id='' class='item-content-title'>立结项时间:</label>" +
                            "<label id='' class='item-content-content'>" + projectBeginDate + "~" + projectEndDate + "</label>" +
                            "<label id='' class='item-content-title'>建设期:</label>" +
                            "<label id='' class='item-content-content'>" + workingHoursOfConstruct + "人月</label>" +
                            "<label id='' class='item-content-title'>维护期:</label>" +
                            "<label id='' class='item-content-content'>" + workingHoursOfMaintaince + "人月</label>" +
                            "<label id='' class='item-content-title'>采购成本:</label>" +
                            "<label id='' class='item-content-content'>硬(" + costOfPurchaseHardware + ");软(" + costOfPurchaseSoftware + ");外(" + costOfOutsourcing + ")</label>" +
                            "</div>" +
                            "<div class='item-footer'>" +
                            "<div class='item-footer-item'>" +
                            "<label id='' class='item-footer-title'>工期(工作日):</label>" +
                            "<div id='' class='item-footer-content-external'>" +
                            "<div id='progressBarOfWorkPeriod" + j + "' class='item-footer-content-inside'></div>" +
                            "</div>" +
                            "<label id='percentOfWorkPeriod" + j + "' name='" + workDayPercent + "' class='item-footer-content-percent'>" + workDayPercent + "%</label>" +
                            "<label id='' class='item-footer-content-rate'>" + usedWorkDays + "/" + totalWorkDays + "</label>" +
                            "</div>" +
                            "<div class='item-footer-item'>" +
                            "<label id='' class='item-footer-title'>工时(人月):</label>" +
                            "<div id='' class='item-footer-content-external'>" +
                            "<div id='progressBarOfWorkHours" + j + "' class='item-footer-content-inside'></div>" +
                            "</div>" +
                            "<label id='percentOfWorkHours" + j + "' name='" + manHourPercent + "' class='item-footer-content-percent'>" + manHourPercent + "%</label>" +
                            "<label id='' class='item-footer-content-rate'>" + usedManHour + "/" + totalManHour + "</label>" +
                            "</div>" +
                            "<div class='item-footer-item'>" +
                            "<label id='' class='item-footer-title'>费用(万元):</label>" +
                            "<div id='' class='item-footer-content-external'>" +
                            "<div id='progressBarOfCost" + j + "' class='item-footer-content-inside'></div>" +
                            "</div>" +
                            "<label id='percentOfCost" + j + "'name='" + moneyPercent + "' class='item-footer-content-percent'>" + moneyPercent + "%</label>" +
                            "<label id='' class='item-footer-content-rate'>" + usedMoney + "/" + budgetMoney + "</label>" +
                            "</div>" +
                            "</div>" +
                            "<div class='item-operate'>" +
                            "<div class='item-operate-item'><a href='@Url.Action("ShowProjectInfo", "Project")?id=" + projectiid + "'>" +
                            "<img src='@Url.Content("~/Content/Images/pms_search_lense.png")' alt='查看' />" +
                            "<span class='item-operate-span'>查看</span></a></div>" +
                            "<div class='item-operate-item'><a href='@Url.Action("ModifyProject", "Project")?id=" + projectiid + "'>" +
                            "<img src='@Url.Content("~/Content/Images/pms_pencil_edit.png")' alt='修改' />" +
                            "<span class='item-operate-span'>修改</span></a></div>" +
                            deletenode +
                            managernode +
                            "</div></div>");
                        $("#pagenode").append(element);
                        $("#pager").pager("totalcount", data.Total);
                        $("#pager").pager("pagesize", data.PageSize);
                        $("#pager").pager("pageindex", data.PageIndex);
                       
                    }

                    if (data.Total == 0) {
                        $("#pager").hide();
                        $("#pagemsg").text("没有找到符合条件的数据!");
                    } else {
                        $("#pager").show();
                        $("#pagemsg").text("");
                    }

                });
            }


posted on 2013-03-22 16:29  Yours风之恋  阅读(162)  评论(0编辑  收藏  举报