/*--------------------------文档信息-------------------------------------------
///
///功能：    药品单位设置
///创建人：  李孟昌
///创建时间：2011年05月20日
///修改人：  王思波
///修改时间：2011年08月16日
///修改原因：--------------
///详细说明：--------------
///
-----------------------------------------------------------------------------*/

//页面全局变量的定义
var strTableP060202 = "TYpdw";              //表格ID
var strDialogID060202 = "divP060201";       //列表窗口ID
var strDialogID06020201 = "divP06020101";   //编辑窗口ID
var strRowDataIDP060202 = "";

//加载单位设置页面
function showDialog_P060202() {
    //创建弹出窗口
    creatDiv_ShowDlgHaveTbl(strDialogID060202, "单位设置", true, false, strTableP060202, 500);
    $("#" + strDialogID060202 + "_divform").append("<table id='" + strTableP060202 + "'></table>");
    $("#" + strDialogID060202 + "_pop_box_top").html("<a  href=\"#\" onclick= \"showDialog_P06020201('1','')\">新增</a>");

    //创建表格
    var objConfig = ParseData(window.external.DoOptions(strTableP060202, 'GetTableConfig', '{}'));  //列配置信息
    var objDataSet = ParseData(window.external.DoOptions(strTableP060202, "GetList", "{}"));        //获取数据
    //添加列表数据
    createGrid(strTableP060202, objConfig.colNames, objConfig.colModel, objDataSet.Records, null, null, false, dblClickRow_P060202);
    //设置表格的高度
    $("#" + strTableP060202).setGridHeight(141);


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

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

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

//删除数据行的操作
function deleteData_P060202(rowid, strSaveType) {
    window.parent.cihoAlert(
                    msg.del.delConfirm  //message information
                    , msgBox.dlgBtn.YesNo     //按钮类型msgBox.dlgBtn.YesNo  msgBox.dlgBtn.YesNoCancel
                    , function (strRet) {//回调函数
                        if (msgBox.dlgRst.Yes == strRet) {
                            var strClassKey = jQuery("#TYpdw").jqGrid("getCell", rowid, "dwdm");
                            var objDelRusult = ParseData(window.external.DoOptions("TYpdw", "Delete", "{\"dwdm\":\"" + strClassKey + "\"}")); //删除数据库中的信息
                            if (objDelRusult.ReturnCode == 0) {
                                //删除Grid中的数据行
                                $("#TYpdw").jqGrid("delRowData", rowid);

                                //有滚动条时改变表格宽度
                                //resizeGrid(strTableP060202);
                                resizeGridScroll(strTableP060202);
                            }
                            else {
                                window.parent.cihoAlert(objDelRusult.MSG + "！");
                            }
                        }
                        else {

                        }
                    }

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

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

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


//编辑窗口的创建
function showDialog_P06020201(strSaveFlag, strRowDataID) {
    //记录前编辑数据的行ID
    strRowDataIDP060202 = strRowDataID;

    //创建弹出窗口
    creatDiv_ShowDialog(strDialogID06020201, "单位设置", false, false, strTableP060202, 350);

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

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

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

//窗口中元素的创建
function creatDialogItem_P06020201() {
    var strSaveType = $("#" + strDialogID06020201 + "_divform").data("saveFlag");
    var strUnitKey = "";   //单位主键
    var strUnitCode = "";  //单位编号
    var strUnitName = "";  //单位名称
    var strPageHtml = "";   //元素内容
    var objResult = {};     //返回结果

    //添加、修改操作操作时，窗口中默认数据的设置
    if (strSaveType == "1" || strSaveType == "11") {
        objResult = ParseData(window.external.DoOptions(strTableP060202, "MakeBH", "{}")); //生成分类编号
        if (objResult) {
            strUnitCode = objResult.BH
        }
    }
    else if (strSaveType == "2") {
        strUnitKey = $("#" + strTableP060202).getCell(strRowDataIDP060202, "dwdm");  //分类主键
        strUnitCode = $("#" + strTableP060202).getCell(strRowDataIDP060202, "a1");   //分类编号
        strUnitName = $("#" + strTableP060202).getCell(strRowDataIDP060202, "a2");   //分类名称
    }

    //窗口元素代码
    strPageHtml = "<ul>";
    strPageHtml += "    <li>";
    strPageHtml += "        <font style='color:red'>*</font>单位名称：<input id='a2' name='a2' type='text' maxlength=\"50\" value='" + strUnitName + "' onkeypress=\"return checkValidate(event)\" onpaste=\"return validatePaste()\" />";
    strPageHtml += "    </li>";
    strPageHtml += "</ul>";
    strPageHtml += "<input id='a1' name='a1' type='text' style='display:none' value='" + strUnitCode + "'/>";
    strPageHtml += "<input id='dwdm' name='dwdm' type='text' style='display:none' value='" + strUnitKey + "'/>";
    $("#" + strDialogID06020201 + "_divform").append(strPageHtml);
    //添加按钮
    strPageHtml = "<div class=\"clr\"></div>";
    strPageHtml += "<div class=\"box_btn_width\">";
    strPageHtml += "    <div class=\"box_btn\">";
    strPageHtml += "        <div class=\"btn01\"><a onclick=\"saveMyData('" + strDialogID06020201 + "','" + strSaveType + "','" + strTableP060202 + "')\">保存退出</a></div>";
    strPageHtml += "    </div>";
    strPageHtml += "</div>";
    $("#" + strDialogID06020201 + "_divform").append(strPageHtml);

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

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

    //释放内存
    strSaveType = null;
    strUnitKey = null;  //单位主键
    strUnitCode = null; //单位编号
    strUnitName = null; //单位名称
    strPageHtml = null; //元素内容
    objResult = null;   //返回结果
}

//保存信息
function saveData_P06020201() {
    var isValidateText = validateText_P06020201(); //验证文本信息
    var objDataGrid = $("#" + strTableP060202)
    var objRusult = {};
    var objRowData = {};
    var strJsonData = "";
    var strSaveType = $("#" + strDialogID06020201 + "_divform").data("saveFlag");

    //验证通过时，才能保存
    if (isValidateText) {
        //把数据保存到数据库
        if (strSaveType == "1" || strSaveType == "11") {
            strJsonData = "{\"a1\":\"" + $("#a1", "#" + strDialogID06020201).val() + "\",\"a2\":\"" + $("#a2", "#" + strDialogID06020201).val() + "\"}";
            objRusult = ParseData(window.external.DoOptions(strTableP060202, "Add", strJsonData))
        }
        else if (strSaveType == "2") {
            strJsonData = "{a1:\"" + $("#a1", "#" + strDialogID06020201).val() + "\",a2:\"" + $("#a2", "#" + strDialogID06020201).val() + "\",dwdm:\"" + $("#dwdm", "#" + strDialogID06020201).val() + "\"}";
            objRusult = ParseData(window.external.DoOptions(strTableP060202, "Edit", strJsonData));
        }

        //返回值不为空时，执行以下操作
        if (objRusult) {
            if (objRusult.ReturnCode == 0) {
                //更新列表中的信息
                if (strSaveType == "1") {
                    //添加到表格
                    $("#" + strTableP060202).jqGrid("addRowData", objRusult.id, objRusult, "first");

                    //修改可见行数
                    $("#" + strTableP060202).setGridParam({ rowNum: $("#" + strTableP060202).getDataIDs().length });
                }
                else if (strSaveType == "2") {
                    //往表格中插入那条修改的记录
                    $("#" + strTableP060202).jqGrid("setRowData", objRusult.id, objRusult);
                }

                //保存成功后关闭窗口
                cihoDlgClose(strDialogID06020201);
                // $("#" + strDialogID06020201).dialog("close");

                //添加药品基本信息页面使用
                if (strSaveType == "11") {
                    //下拉框中的单位添加功能
                    loadUnitData_P0602(objRusult.dwdm);
                }
                else {
                    //有滚动条时改变表格宽度
                    resizeGridScroll(strTableP060202);
                }
            }
            else {
                window.parent.cihoAlert(objRusult.MSG);
            }
        }

        //清空内存
        strJsonData = null;
        objSaveRusult = null;
        strClassCode = null;
    }

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

//验证文本信息
function validateText_P06020201() {
    var objUnitCode = $("#a1", "#" + strDialogID06020201);
    var objUnitName = $("#a2", "#" + strDialogID06020201);
    var objDataList = {};

    //单位名称
    if (!trim(objUnitName.val())) {
        window.parent.cihoAlert(msg.sz.yp.unitName1, msgBox.dlgBtn.Ok, function (result) { setTimeout(function () { objUnitName.focus(); }, 100); });
        return false;
    }
    else {
        //检查当前输入的分类名称是否存在
        objDataList = ParseData(window.external.DoOptions(strTableP060202, "GetList", "{}"));
        if (objDataList) {
            for (intI = 0; intI < objDataList.Records.length; intI++) {
                if (objDataList.Records[intI].a1 != objUnitCode.val() && objDataList.Records[intI].a2 == trim(objUnitName.val())) {
                    window.parent.cihoAlert(msg.sz.yp.unitName2, msgBox.dlgBtn.Ok, function (result) { setTimeout(function () { objUnitName.focus(); }, 100); });
                    return false;
                }
            }
        }
        else {
            window.parent.cihoAlert(msg.other.dbOprateErr);
            return false;
        }
    }

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

    //返回值
    return true;
} 
