/*--------------------------文档信息-------------------------------------------
///
///功能：    分类设置
///创建人：  王思波
///创建时间：2011年05月20日
///修改人：  --------------
///修改时间：--------------
///修改原因：--------------
///详细说明：本JS文档会在药品分类、客户分类页面中使用，两种分类的操作以公共变量进行区分；
///         公共变量：strClassType 0:药品分类 1:客户分类
///
-----------------------------------------------------------------------------*/

//页面全局变量的定义
var strClassType = "";          //引用分类设置时，设置此变量值
var strTableP060201 = "TFlsz";  //表格ID
var strDialogP060201 = "";      //分类设置列表窗口
var strDialogP06020101 = "";    //分类设置编辑窗口

/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓**分类管理窗口 开始**↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/

//Grid页面的弹出操作
function showDialog_P060201() {
    //弹出窗口ID的取得
    if (strClassType == "0") {
        strDialogP060201 = "divP060201";
    }
    else if (strClassType == "1") {
        strDialogP060201 = "divP060301";
    }

    //弹出窗口模板，并设置窗口Title的内容
    creatDiv_ShowDlgHaveTbl(strDialogP060201, "分类设置", true, false, strTableP060201, 500);
    $("#" + strDialogP060201 + "_pop_box_top").append("<a onclick=\"showDialog_P06020101('1',0)\">新增</a>");
    $("#" + strDialogP060201 + "_divform").append("<table id='" + strTableP060201 + "'></table>");

    //加载表格数据
    loadGridData_P060201();

    //设置窗口居中显示
    //$("#" + strDialogP060201).dialog("option", "position", "center");
}

//删除数据行的操作
function deleteData_P060201(strRowDataID) {
    var objResult = {};
    //提示用户是否删除
    window.parent.cihoAlert(msg.del.delConfirm, msgBox.dlgBtn.YesNo, function (result) {
        if (result == msgBox.dlgRst.Yes) {
            //删除数据信息
            objResult = ParseData(window.external.DoOptions(strTableP060201, 'Delete', "{\"lxdm\":\"" + $("#" + strTableP060201).getCell(strRowDataID, "lxdm") + "\"}"));
            //删除成功后的处理
            if (objResult.ReturnCode == 0) {
                //删除表格中的信息
                $("#" + strTableP060201).jqGrid("delRowData", strRowDataID);

                //有滚动条时改变表格宽度
                //resizeGrid(strTableP060201);
                resizeGridScroll(strTableP060201);
            }
            else {
                window.parent.cihoAlert(objResult.MSG);
            }
        }
    });

    //释放内存
    objResult = null;

    //不加返回值，删除行时会出错(某些IE8下)
    return false;
}

//数据行的双击事件
function dblClickRow_P060201(strTemp, rowid) {
    showDialog_P06020101('2', rowid);
}

//修改、删除按钮的添加
function addMouseMove_P060201() {
    $("#" + strTableP060201).delegate("tr[id]:visible", "hover", function (e) {
        if (e.type == "mouseenter") {
            $("#" + strTableP060201).jqGrid("setCell", this.id, "cz",
                "<a href=\"#\" style=\"color:red;text-decoration:none;\" onclick=\"showDialog_P06020101('2'," + this.id + ")\">修改</a>|" +
                "<a href=\"#\" style=\"color:red;text-decoration:none;\" onclick=\"deleteData_P060201(" + this.id + ")\">删除</a>"
            );
        }
        if (e.type == "mouseleave") {
            $("#" + strTableP060201).jqGrid("setCell", this.id, "cz", "　");
        }
    });

    //    $("#" + strMark).hover(
    //        function () {
    //            $("#" + strTableP060201).jqGrid("setCell", this.id, "cz",
    //                "<a href=\"#\" style=\"color:red;text-decoration:none;\" onclick=\"showDialog_P06020101('2'," + this.id + ")\">修改</a>|" +
    //                "<a href=\"#\" style=\"color:red;text-decoration:none;\" onclick=\"deleteData_P060201(" + this.id + ")\">删除</a>"
    //            );
    //        },
    //        function () {
    //            $("#TFlsz").jqGrid("setCell", this.id, "cz", "　");
    //        }
    //    );
}

//加载表格数据
function loadGridData_P060201() {
    var objConfig = ParseData(window.external.DoOptions(strTableP060201, "GetTableConfig", "{}"));                      //获得jqGrid的列名和属性
    var objDataList = ParseData(window.external.DoOptions(strTableP060201, "GetList", "{a5:" + strClassType + "}"));    //获取数据

    //创建表格
    createGrid(strTableP060201, objConfig.colNames, objConfig.colModel, objDataList.Records, null, null, false, dblClickRow_P060201);

    //设置表格的高度
    $("#" + strTableP060201).setGridHeight(141);

    //有滚动条时改变表格宽度
    resizeGridScroll(strTableP060201);

    //修改、删除按钮的添加
    addMouseMove_P060201();

    //释放内存
    objConfig = null;
    objDataList = null;
}

/*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑**分类管理窗口 结束**↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/


/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓**分类维护窗口 开始**↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/

//编辑页面的弹出操作
function showDialog_P06020101(strSaveFlag, strRowDataID) {
    //弹出窗口ID的取得
    if (strClassType == "0") {
        strDialogP06020101 = "divP06020101";
    }
    else if (strClassType == "1") {
        strDialogP06020101 = "divP06030101";
    }

    //弹出窗口模板，并设置窗口Title的内容
    creatDiv_ShowDialog(strDialogP06020101, "分类设置", false, false, strTableP060201, 350);

    //记录保存标志
    $("#" + strDialogP06020101 + "_divform").data("saveFlag", strSaveFlag);

    //添加表单元素到窗口中
    creatDialogItem_P06020101(strRowDataID);

    //设置窗口居中显示
    $("#" + strDialogP06020101).dialog("option", "position", "center");
    setTimeout(' $("#a3", "#" + strDialogP06020101).focus();', 100);
}

//编辑窗口中元素的创建
function creatDialogItem_P06020101(strRowDataID) {
    var strClassKey = "";   //分类主键
    var strClassCode = "";  //分类编号
    var strClassName = "";  //分类名称
    var strItemHtml = "";   //元素内容
    var objResult = {};     //返回结果

    //添加、修改操作操作时，窗口中默认数据的设置
    if ($("#" + strDialogP06020101 + "_divform").data("saveFlag") == "1" || $("#" + strDialogP06020101 + "_divform").data("saveFlag") == "11") {
        objResult = ParseData(window.external.DoOptions(strTableP060201, "MakeBH", "{a5:" + strClassType + "}")); //生成分类编号
        if (objResult) {
            if (objResult.ReturnCode == 0) {
                strClassCode = objResult.a2
            }
            else {
                window.parent.cihoAlert(objResult.MSG);
            }
        }
    }
    else if ($("#" + strDialogP06020101 + "_divform").data("saveFlag") == "2") {
        strClassKey = $("#" + strTableP060201).jqGrid("getCell", strRowDataID, "lxdm"); //分类主键
        strClassCode = $("#" + strTableP060201).jqGrid("getCell", strRowDataID, "a2"); //分类编号
        strClassName = $("#" + strTableP060201).jqGrid("getCell", strRowDataID, "a3"); //分类名称
    }

    //窗口代码
    strItemHtml = "<ul>";
    strItemHtml += "    <li>";
    strItemHtml += "        <font style='color:red'>*</font>分类名称：<input id='a3' name='a3' type='text' maxlength=\"50\" value='" + strClassName + "' onkeypress=\"return checkValidate(event)\" onpaste=\"return validatePaste()\" />";
    strItemHtml += "    </li>";
    strItemHtml += "    <li style='display:none'>";
    strItemHtml += "        <input id='a2' name='a2' type='text' value='" + strClassCode + "'/>";
    strItemHtml += "        <input id='lxdm' name='lxdm' type='text' value='" + strClassKey + "'/>";
    strItemHtml += "    </li>";
    strItemHtml += "</ul>";
    $("#" + strDialogP06020101 + "_divform").append(strItemHtml);
    //添加按钮
    strItemHtml = "<div class=\"clr\"></div>";
    strItemHtml += "<div class=\"box_btn_width\">";
    strItemHtml += "    <div class=\"box_btn\">";
    strItemHtml += "        <div class=\"btn01\"><a onclick=\"saveMyData('" + strDialogP06020101 + "','" + $("#" + strDialogP06020101 + "_divform").data("saveFlag") + "', '" + strTableP060201 + "')\">保存退出</a></div>";
    strItemHtml += "    </div>";
    strItemHtml += "</div>";
    $(".pop_box", "#" + strDialogP06020101).append(strItemHtml);

    //回车保存功能的添加
    $("#a3", "#" + strDialogP06020101).bind("keypress", function () { if (event.keyCode == 13) { saveData_P06020101(); } });

    //设置窗口中全部控件的变更事件
    $(":input", $("#" + strDialogP06020101 + "_divform")).change(function () {
        $("#" + strDialogP06020101 + "_divform").data("change", true);
    });

    //释放内存
    strClassKey = null;
    strClassCode = null;
    strClassName = null;
    strItemHtml = null;
}

//编辑页面的保存操作
function saveData_P06020101() {
    var isValidateText = validateText_P06020101();
    var objRusult = {};
    var objRowData = {};
    var strJsonData = "";

    //验证通过后才进行保存操作
    if (isValidateText) {
        //取得要保存的json字符串
        strJsonData = getSaveDataInfo(strDialogP06020101);
        strJsonData = strJsonData.replace("}", ",\"a5\":\"" + strClassType + "\"}");

        //把数据保存到数据库
        if ($("#" + strDialogP06020101 + "_divform").data("saveFlag") == "1" || $("#" + strDialogP06020101 + "_divform").data("saveFlag") == "11") {
            objRusult = saveData(strTableP060201, strJsonData, "1");
        }
        else if ($("#" + strDialogP06020101 + "_divform").data("saveFlag") == "2") {
            objRusult = saveData(strTableP060201, strJsonData, "2");
        }

        if (objRusult) {
            //保存成功后的处理
            if (objRusult.ReturnCode == 0) {
                //更新列表中的信息
                if ($("#" + strDialogP06020101 + "_divform").data("saveFlag") == "1") {
                    //把新数据行，添加到Grid中
                    objRowData = ParseData(window.external.DoOptions(strTableP060201, "GetSingle", "{\"lxdm\":\"" + objRusult.lxdm + "\"}"));

                    //添加到表格
                    $("#" + strTableP060201).jqGrid("addRowData", objRusult.id, objRowData.Records[0], "first");

                    //修改可见行数
                    $("#" + strTableP060201).setGridParam({ rowNum: $("#" + strTableP060201).getDataIDs().length });
                }
                else if ($("#" + strDialogP06020101 + "_divform").data("saveFlag") == "2") {
                    objRowData = ParseData(window.external.DoOptions(strTableP060201, "GetSingle", "{\"lxdm\":\"" + $("#lxdm", "#" + strDialogP06020101).val() + "\"}"));
                    $("#" + strTableP060201).jqGrid("setRowData", objRowData.Records[0].id, objRowData.Records[0]);
                }

                //添加药品基本信息页面使用
                if ($("#" + strDialogP06020101 + "_divform").data("saveFlag") == "11") {
                    //更新药品添加窗口的分类下拉列表，并选中该项;
                    if (strClassType == "0") {
                        loadClassData_P0602(objRusult.lxdm); //分类设置
                    }
                    else if (strClassType == "1") {
                        LoadSelectData(objRusult.lxdm); //单位设置
                    }
                }
                else {
                    //有滚动条时改变表格宽度
                    //resizeGrid(strTableP060201);
                    resizeGridScroll(strTableP060201);
                }

                //保存成功后关闭窗口
                cihoDlgClose(strDialogP06020101);
            }
            else {
                window.parent.cihoAlert(objRusult.MSG);
            }
        }
    }

    //释放内存
    isValidateText = null;
    objRusult = null;
    objRowData = null;
    strJsonData = null;
}

//验证文本信息
function validateText_P06020101() {
    var objClassName = $("#a3", "#" + strDialogP06020101); //分类名称
    var objClassCode = $("#a2", "#" + strDialogP06020101); //分类编号
    var objDataList = {};

    //分类名称
    if (!trim(objClassName.val())) {
        window.parent.cihoAlert(msg.sz.yp.className1, msgBox.dlgBtn.Ok, function (result) { setTimeout(function () { objClassName.focus(); }, 100); });
        return false;
    }
    //检查当前输入的分类名称是否存在
    else {
        objDataList = ParseData(window.external.DoOptions(strTableP060201, "GetList", "{a5:" + strClassType + "}")); //获取数据
        if (objDataList) {
            for (intI = 0; intI < objDataList.Records.length; intI++) {
                if (objDataList.Records[intI].a2 != objClassCode.val() && objDataList.Records[intI].a3 == trim(objClassName.val())) {
                    window.parent.cihoAlert(msg.sz.yp.className2, msgBox.dlgBtn.Ok, function (result) { setTimeout(function () { objClassName.focus(); }, 100); });
                    return false;
                }
            }
        }
        else {
            window.parent.cihoAlert(msg.other.dbOprateErr);
            return false;
        }
    }

    //释放内存
    objClassName = null;
    objClassCode = null;
    objDataList = null;

    //返回值
    return true;
}
/*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑**分类维护窗口 结束**↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/