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

//页面全局变量的定义
var strDialogP0602 = "divP0602"; //药品信息编辑窗口ID

/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓**事件方法 开始**↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/

//弹出药品编辑窗口
function showDialog_P0602(strSaveType) {
    try {
        //弹出编辑窗口
        creatDiv_ShowDialog(strDialogP0602, "药品信息", false, true, strTableP0602);

        //设置保存标志
        $("#" + strDialogP0602 + "_divform").data("saveFlag", strSaveType);

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

        //窗口数据的取得
        getPageData_P0602();

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

        //设置延时，将焦点设置到药品名称文本框上
        setTimeout(function () { $("#a3", "#" + strDialogP0602).focus(); }, 100);
    } catch (e) { }
}

//保存药品
function saveData_P0602(strType) {
    var isValidateText = validateText_P0602(strType); //数据有效性验证
    //验证通过后，才能保存信息
    if (isValidateText) {
        saveDataInfo_P0602(strType);
    }
}

/*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑**事件方法 结束**↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/



/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓**自定义方法 开始**↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/

//生成表单，修改时，添加数据
function creatDialogItem_P0602() {
    var objColNames = $("#" + strTableP0602).getGridParam("colNames");  //元素名称
    var objColModel = $("#" + strTableP0602).getGridParam("colModel");  //元素配置信息
    var strHiddenItem = ",id,spdm,a6,a8,zt,lbmc,dwmc,";                 //不需要的元素
    var strMedicinalCode = "";  //编号
    var strItemHtml = "";       //元素代码
    var strItemSign = "";       //必填项样式

    //元素代码的组建
    strItemHtml = "<ul>";
    for (var intI = 0; intI < objColNames.length; intI++) {
        //必需输入项样式
        if (objColModel[intI]["editrules"] != null && objColModel[intI]["editrules"].required == true) {
            strItemSign = "<font color='red'>*</font>";
        }
        else if (strItemSign != "") {
            strItemSign = "";
        }

        //只显示需要操作的信息项
        if (strHiddenItem.indexOf("," + objColModel[intI]["name"] + ",") < 0) {
            if (objColModel[intI]["edittype"] == "text") {
                if (objColModel[intI]["name"] == "a2") {
                    strItemHtml += "<li>";
                    strItemHtml += strItemSign + objColNames[intI] + "：<input id=\"" + objColModel[intI]["name"] + "\" name=\"" + objColModel[intI]["name"] + "\" type=\"text\" maxlength=\"10\" onkeypress=\"return checkValidate(event)\" onpaste=\"return validatePaste()\"/>";
                    strItemHtml += "</li>";
                } else {
                    strItemHtml += "<li>";
                    strItemHtml += strItemSign + objColNames[intI] + "：<input id=\"" + objColModel[intI]["name"] + "\" name=\"" + objColModel[intI]["name"] + "\" type=\"text\" maxlength=\"50\" onkeypress=\"return checkValidate(event)\" onpaste=\"return validatePaste()\"/>";
                    strItemHtml += "</li>";
                }
            }
            else if (objColModel[intI]["edittype"] == "select") {
                strItemHtml += "<li>";
                strItemHtml += strItemSign + objColNames[intI] + "：<select id=\"" + objColModel[intI]["name"] + "\" name=\"" + objColModel[intI]["name"] + "\" class=\"easyui-combobox\"></select>";
                strItemHtml += "</li>";
            }
        }
    }
    //所有隐藏控件都在此处添加
    strItemHtml += "    <li style=\"display:none\">";
    strItemHtml += "        <input id=\"spdm\" name=\"spdm\" type=\"text\"/>";
    strItemHtml += "    </li>";
    strItemHtml += "</ul>";
    $("#" + strDialogP0602 + "_divform").append(strItemHtml);

    //绑定数字控件
    $("#a12", "#" + strDialogP0602).autoNumeric({ mDec: 0, aSep: "" }).focus(function () { this.select(); }).css("ime-mode", "disabled"); //保持期
    $("#a13", "#" + strDialogP0602).autoNumeric({ mDec: window.parent.strPricePlace, aSep: "" }).focus(function () { this.select(); }).css("ime-mode", "disabled"); //采购单价
    $("#a14", "#" + strDialogP0602).autoNumeric({ mDec: window.parent.strPricePlace, aSep: "" }).focus(function () { this.select(); }).css("ime-mode", "disabled"); //最低销售单价
    $("#a15", "#" + strDialogP0602).autoNumeric({ mDec: window.parent.strMoneyPlace, aSep: "" }).focus(function () { this.select(); }).css("ime-mode", "disabled"); //挂网招标价
    $("#a23", "#" + strDialogP0602).autoNumeric({ mDec: window.parent.strMoneyPlace, aSep: "" }).focus(function () { this.select(); }).css("ime-mode", "disabled"); //零售价

    //下拉框数据的加载
    loadClassData_P0602();  //药品分类
    loadUnitData_P0602();   //单位
    $(".layoutpanel").css("z-index", "50000009");

    //窗口信息是否修改的标志位
    $(":input", "#" + strDialogP0602).change(function () {
        $("#" + strDialogP0602 + "_divform").data("change", true);
    });

    //释放内存
    var objColNames = null;
    var objColModel = null;
    var strHiddenItem = null;
    var strItemHtml = null;
    var strItemSign = null;
    var strDrugsCode = null;
}

//药品分类下拉框的信息加载
function loadClassData_P0602(strValue) {
    //属性的设置
    $("#lxdm", "#" + strDialogP0602).combobox({
        width: 191,
        listWidth: 191,
        textField: "a3",
        valueField: "lxdm",
        editable: false,
        //内容变更前事件
        afterChange: function (newValue, newText) {
            //添加分类
            if (newValue == "-1") {
                $(".layoutpanel").css("display", "none");
                $(this).combobox("setValue", "");   //清空选择内容
                showDialog_P06020101("11", 0);      //添加分类窗口
            }
        },
        //选择事件
        onSelect: function () {
            $("#" + strDialogP0602 + "_divform").data("change", true);
        }
    });

    //数据的加载
    var objClassData = ParseData(window.external.DoOptions("TFlsz", "GetList", "{\"a5\":\"0\"}"));
    objClassData.Records.unshift({ "a3": "", "lxdm": "" });
    objClassData.Records.push({ "a3": "添加分类", "lxdm": "-1" });
    $("#lxdm", "#" + strDialogP0602).combobox("loadData", objClassData.Records);
    $("#lxdm", "#" + strDialogP0602).combo_ciho("layoutpanel").find("div.combobox-item[value='-1']").css("color", "red");

    //添加分类后，选中该分类
    if (strValue) {
        $("#lxdm", "#" + strDialogP0602).combobox("setValue", strValue);
    }
    else {
        $("#lxdm", "#" + strDialogP0602).combobox("setValue", "");
    }

    //释放内存
    objClassData = null;
}

//加载单位设置下拉列表
function loadUnitData_P0602(strValue) {
    //属性的设置
    $("#dwdm", "#" + strDialogP0602).combobox({
        width: 191,
        listWidth: 191,
        textField: "a2",
        editable: false,
        valueField: "dwdm",
        //内容变更前事件
        afterChange: function (newValue, newText) {
            //添加分类
            if (newValue == "-1") {
                $(".layoutpanel").css("display", "none");
                $(this).combobox("setValue", "");   //清空选择内容
                showDialog_P06020201("11", "");     //添加单位窗口
            }
        },
        //选择事件
        onSelect: function () {
            $("#" + strDialogP0602 + "_divform").data("change", true);
        }
    });

    //数据的加载
    var objUnitData = ParseData(window.external.DoOptions("Typdw", "GetList", ""));
    objUnitData.Records.unshift({ "a2": "", "dwdm": "" });
    objUnitData.Records.push({ "a2": "添加单位", "dwdm": "-1" });
    $("#dwdm", "#" + strDialogP0602).combobox("loadData", objUnitData.Records);
    $("#dwdm", "#" + strDialogP0602).combo_ciho("layoutpanel").find("div.combobox-item[value='-1']").css("color", "red");

    //添加分类后，选中该分类
    if (strValue) {
        $("#dwdm", "#" + strDialogP0602).combobox("setValue", strValue);
    }
    else {
        $("#dwdm", "#" + strDialogP0602).combobox("setValue", "");
    }

    //释放内存
    objUnitData = null;
}

//窗口数据的取得
function getPageData_P0602() {
    var objRueslt = {};     //返回结果
    var objColModel = {};   //窗口元素的配置信息
    var strTextValue = "";  //元素值

    //添加
    if ($("#" + strDialogP0602 + "_divform").data("saveFlag") == "1") {
        objRueslt = ParseData(window.external.DoOptions(strTableP0602, 'MakeBH', '{}')); //系统生成编号
        $("#a2", "#" + strDialogP0602).val(objRueslt.BH);
    }
    //修改
    else if ($("#" + strDialogP0602 + "_divform").data("saveFlag") == "2") {
        //元素信息
        objColModel = $("#" + strTableP0602).getGridParam("colModel");

        //给元素赋值
        for (var intI = 0; intI < objColModel.length; intI++) {
            strTextValue = $("#" + strTableP0602).jqGrid("getCell", strSelRowIDP0602, objColModel[intI]["name"]);
            if (objColModel[intI]["edittype"] == "text") {
                $("#" + objColModel[intI]["name"], "#" + strDialogP0602).val(escape(strTextValue));
            }
            else if (objColModel[intI]["edittype"] == "select") {
                $("#" + objColModel[intI]["name"], "#" + strDialogP0602).combobox("setValue", strTextValue);
            }
        }
    }

    //释放内存
    objRueslt = null;
    objColModel = null;
    strTextValue = null;
}

//保存信息
function saveDataInfo_P0602(strType) {
    //保存数据的json字符串
    var strDataJsons = getSaveDataInfo(strDialogP0602); //保存信息的取得
    var strClassCode = !trim($("#lxdm", "#" + strDialogP0602).combobox("getText")) ? "" : $("#lxdm", "#" + strDialogP0602).combobox("getValue");
    var strUnitCode = !trim($("#dwdm", "#" + strDialogP0602).combobox("getText")) ? "" : $("#dwdm", "#" + strDialogP0602).combobox("getValue");
    var objResult = {}; //返回值

    //取得要保存的json格式字符串
    strDataJsons = strDataJsons.replace("}", ",\"lxdm\":\"" + strClassCode + "\",\"dwdm\":\"" + strUnitCode + "\"}");

    //把数据保存到数据库
    objResult = saveData(strTableP0602, strDataJsons, $("#" + strDialogP0602 + "_divform").data("saveFlag"));

    //返回值是否正确
    if (objResult) {
        //只在成功后的处理
        if (objResult.ReturnCode == 0) {
            //更新表格信息
            afterSave_P0602(objResult);

            //保存新增
            if (strType == '2') {
                $("#" + strDialogP0602 + "_divform").data("saveFlag", "1"); //修改保存类型
                $(":input", "#" + strDialogP0602).val("");
                $("#lxdm", "#" + strDialogP0602).combobox("setValue", "");
                $("#dwdm", "#" + strDialogP0602).combobox("setValue", "");
                //系统生成编号
                objResult = ParseData(window.external.DoOptions('TSpxx', 'MakeBH', '{}'));
                $("#a2", "#" + strDialogP0602).val(objResult.BH);
                $("#a3", "#" + strDialogP0602).focus();
            }
            //保存退出
            else {
                //$("#" + strDialogP0602).dialog("close");
                cihoDlgClose(strDialogP0602);                   //关闭弹出层
            }

            //数据标志为没有change
            $("#" + strDialogP0602 + "_divform").data("change", false);

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

            //更新下拉框数据的全局变量
            changeComboZt("Tspxx");
        }
        else {
            window.parent.cihoAlert(objResult.MSG);
        }
    }

    //释放内存
    strDataJsons = null;
    strClassCode = null;
    strUnitCode = null;
    objResult = null;
}

//保存成功后的操作
function afterSave_P0602(objResult) {
    var objRowData = {}; //新的行信息

    //添加数据的取得
    if ($("#" + strDialogP0602 + "_divform").data("saveFlag") == "1") {
        //新行数据的取得
        objRowData = ParseData(window.external.DoOptions(strTableP0602, "GetSingle", "{\"spdm\":\"" + objResult.spdm + "\"}"));

        //把新行数据添加到表格
        $("#" + strTableP0602).addRowData(objResult.id, objRowData.Records[0], "first");

        //修改可见行数
        $("#" + strTableP0602).setGridParam({ rowNum: $("#" + strTableP0602).getDataIDs().length });
    }
    //修改的取得
    else if ($("#" + strDialogP0602 + "_divform").data("saveFlag") == "2") {
        //修改行数据的取得
        objRowData = ParseData(window.external.DoOptions(strTableP0602, "GetSingle", "{\"spdm\":\"" + objSelRowP0602.spdm + "\"}"));
        //更新表格中的行数据
        $("#" + strTableP0602).setRowData(strSelRowIDP0602, objRowData.Records[0]);
    }

    //释放内存
    objRowData = {};
}

//验证文本
function validateText_P0602(strType) {
    var objMedicinalName = $("#a3", "#" + strDialogP0602); //药品名称
    var objMedicinalCode = $("#a2", "#" + strDialogP0602); //编号
    var arrDataID = []; //行ID
    arrDataID = $("#" + strTableP0602).jqGrid("getDataIDs"); //行ID

    //编号重复的验证
    for (var intJ = 0; intJ < arrDataID.length; intJ++) {
        if (arrDataID[intJ] != strSelRowIDP0602 && objMedicinalCode.val() != "" && $("#" + strTableP0602).jqGrid("getCell", arrDataID[intJ], "a2") == trim(objMedicinalCode.val())) {
            window.parent.cihoAlert(msg.sz.yp.codeQqual, msgBox.dlgBtn.YesNo, function (result) {
                //是
                if (result == msgBox.dlgRst.Yes) {
                    //药品名称
                    if (trim(objMedicinalName.val()) == "") {
                        window.parent.cihoAlert(msg.sz.yp.nameEmp, msgBox.dlgBtn.Ok, function () { objMedicinalName.focus(); });
                        return false;
                    }
                    //药品名称重复的验证
                    for (var intI = 0; intI < arrDataID.length; intI++) {
                        if ((arrDataID[intI] != strSelRowIDP0602 || $("#" + strDialogP0602 + "_divform").data("saveFlag") == "1") && $("#" + strTableP0602).jqGrid("getCell", arrDataID[intI], "a3") == trim(objMedicinalName.val())) {
                            window.parent.cihoAlert(msg.sz.yp.nameQqual, msgBox.dlgBtn.Ok, function (result) { objMedicinalName.focus(); });
                            return false;
                        }
                    }
                    if (trim($("#lxdm", "#" + strDialogP0602).combobox("getText")) && !$("#lxdm", "#" + strDialogP0602).combobox("getValue")) {
                        window.parent.cihoAlert(msg.sz.yp.ypClass, msgBox.dlgBtn.Ok, function () { $("#lxdm", "#" + strDialogP0602).combobox("focus"); });
                        return false;
                    }
                    if (trim($("#dwdm", "#" + strDialogP0602).combobox("getText")) && !$("#dwdm", "#" + strDialogP0602).combobox("getValue")) {
                        window.parent.cihoAlert(msg.sz.yp.ypUnit, msgBox.dlgBtn.Ok, function () { $("#dwdm", "#" + strDialogP0602).combobox("focus"); });
                        return false;
                    }
                    saveDataInfo_P0602(strType); //保存信息
                }
                //否
                else {
                    objMedicinalCode.focus();
                }
            });
            return false;
        }
    }
    //药品名称重复的验证
    for (var intI = 0; intI < arrDataID.length; intI++) {
        if ((arrDataID[intI] != strSelRowIDP0602 || $("#" + strDialogP0602 + "_divform").data("saveFlag") == "1") && $("#" + strTableP0602).jqGrid("getCell", arrDataID[intI], "a3") == trim(objMedicinalName.val())) {
            window.parent.cihoAlert(msg.sz.yp.nameQqual, msgBox.dlgBtn.Ok, function (result) { objMedicinalName.focus(); });
            return false;
        }
    }
    //药品名称
    if (trim(objMedicinalName.val()) == "") {
        window.parent.cihoAlert(msg.sz.yp.nameEmp, msgBox.dlgBtn.Ok, function () { objMedicinalName.focus(); });
        return false;
    }
    else if (trim($("#lxdm", "#" + strDialogP0602).combobox("getText")) && !$("#lxdm", "#" + strDialogP0602).combobox("getValue")) {
        window.parent.cihoAlert(msg.sz.yp.ypClass, msgBox.dlgBtn.Ok, function () { $("#lxdm", "#" + strDialogP0602).combobox("focus"); });
        return false;
    }
    else if (trim($("#dwdm", "#" + strDialogP0602).combobox("getText")) && !$("#dwdm", "#" + strDialogP0602).combobox("getValue")) {
        window.parent.cihoAlert(msg.sz.yp.ypUnit, msgBox.dlgBtn.Ok, function () { $("#dwdm", "#" + strDialogP0602).combobox("focus"); });
        return false;
    }

    //释放内存
    objMedicinalName = null;
    objMedicinalCode = null;
    arrDataID = null;

    //返回值
    return true;
}

/*↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑**自定义方法 结束**↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑*/
