/*--------------------------文档信息-------------------------------------------
///功能：      纯销统计
///创建人：  王群
///创建时间：2011年05月31日
///修改人：  --------------
///修改时间：--------------
///详细说明：--------------
-----------------------------------------------------------------------------*/
//页面全局变量的定义
var strTableP0214 = "Tp0214";      //表格ID
var objSelRowP0214 = {};              //选择行的数据
var intSelRowIDP0214 = 0;           //选择行的ID
var objWhereJsonP0214 = {};       //记录查询时的条件
var sortfieldP0214 = "";              //记录一下默认排序字段
var orderbyP0214 = "";             //记录一下默认的排序方式
var strRecordWhereJson = "";  //记录一下查询条件

/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓**事件方法 开始**↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
//加载页面的方法
function pageLoad_P0214() {
    try {
        //查询类型
        loadSearchType_P0214();
        //选择日期范围
        loadDateExtent_P0214();
        //加载供应商信息
        loadProviderData_P0214();
        //药品下拉框信息的加载
        loadDrugData_P0214();
        //销售人员的下拉框信息的加载
        loadXsyData_P0214();
        //加载数据
        searchDataClick_P0214();
    } catch (e) { }
}

//查询按钮的方法
function searchDataClick_P0214(flag) {
    try {
        var strWhereJson = "";          //定义查询条件
        var objConfig = {};              //定义用于存放列配置
        var objResult = {};              //用于存放查询结果
        if (!$("#cmbProviderP0214").combobox("getValue")) {   //"当前选择的客户不存在时，赋值为【全部客户】"
            $("#cmbProviderP0214").combobox("setValue", "");
        }
        if (!$("#cmbDrugP0214").combobox("getValue")) {   // "当前选择的药品不存在时，赋值为【全部药品】"
            $("#cmbDrugP0214").combobox("setValue", "");
        }
        if (!$("#cmbXsyP0214").combobox("getValue")) {   // "当前选择的销售员不存在时，赋值为【全部销售员】"
            $("#cmbXsyP0214").combobox("setValue", "");
        }
        //清空选择行信息
        intSelRowIDP0214 = 0;
        objSelRowP0214 = {};
        if (flag == "1") {
        }
        else {
            //查询条件的取得
            strWhereJson = "{\"sdate\":\"" + $("#dateStartTimeP0214").val() + "\",";
            strWhereJson += "\"edate\":\"" + $("#dateEndTimeP0214").val() + "\",";
            strWhereJson += "\"khdm\":\"" + $("#cmbProviderP0214").combobox("getValue") + "\",";
            strWhereJson += "\"spdm\":\"" + $("#cmbDrugP0214").combobox("getValue") + "\",";
            strWhereJson += "\"zydm\":\"" + $("#cmbXsyP0214").combobox("getValue") + "\",";
            strWhereJson += "\"sfth\":\"" + $("#cheIsGoodsRejected").attr("checked") + "\"}";
            strRecordWhereJson = strWhereJson;
            //记录查询条件
            objWhereJsonP0214 = ParseData(strWhereJson.replace("}",
        ",\"dname\":\"" + $("#cmbDateExtentP0214").combobox("getValue") + "\",\"dname1\":\"" + $("#cmbDateExtentP0214").combobox("getText") + "\",\"khmc\": \"" + $("#cmbProviderP0214").combobox("getText") + "\",\"spmc\": \"" + $("#cmbDrugP0214").combobox("getText") + "\",\"zymc\": \"" + $("#cmbXsyP0214").combobox("getText") + "\"}"));
        }
        objConfig = ParseData(window.external.DoOptions(strTableP0214, "GetTableConfig", "{}"));
        //添加列格式化方法
        setData_P0214(objConfig.colModel);
        if ($("#cbmSearchTypeP0214").combobox("getValue") == "按客户") {
            if (flag != "1") {
                sortfieldP0214 = "";
                orderbyP0214 = "";
            }
            var strCollateWhereJson = strRecordWhereJson.replace("}", ",\"sortfield\":\"" + sortfieldP0214 + "\",\"orderby\":\"" + orderbyP0214 + "\"}");
            //创建表格
            objResult = ParseData(window.external.DoOptions(strTableP0214, "GetList", strCollateWhereJson));
            if (flag == "1" || flag == "2") {
                loadTreeData(strTableP0214, objResult.Records);
            }
            else {
                createTreeGrid_P0214(strTableP0214, objConfig.colNames, objConfig.colModel, objResult.Records, "khmc");
                //调整表格的大小
                resizeGrid(strTableP0214, false, true);
                loadTreeData(strTableP0214, objResult.Records);
            }
        }
        else {
            //创建表格
            objResult = ParseData(window.external.DoOptions(strTableP0214, "GetList", strWhereJson));
            createGrid_P0214(strTableP0214, objConfig.colNames, objConfig.colModel, objResult.Records);
        }
        //有滚动条时改变表格宽度
        resizeGridScroll(strTableP0214);
        //释放内存
        strCollateWhereJson = null;
        strWhereJson = null;
        objConfig = null;
        objResult = null;
    } catch (e) { }
}

//日期范围修改事件
function dateTimeChange_P0214() {
    if ($("#cmbDateExtentP0214").combobox("getText") != "自定义") {
        $("#cmbDateExtentP0214").combobox("setValue", "");
        $("#cmbDateExtentP0214").combobox("setText", "自定义");
    }
}

//查看明细按钮事件
function viewDetail_P0214() {
    if (intSelRowIDP0214 > 0) {
        //改变标签的Name 
        $(window.parent.document).find("#span_214").text("纯销明细");
        //选择的日期
        $(window.parent.document).find("#idIframe-21403").attr("dname", objWhereJsonP0214.dname);

        //是否退货绑定值
        $(window.parent.document).find("#idIframe-21403").attr("yNo", objWhereJsonP0214.sfth);
        $(window.parent.document).find("#idIframe-21403").attr("sdate", objWhereJsonP0214.sdate);
        $(window.parent.document).find("#idIframe-21403").attr("edate", objWhereJsonP0214.edate);

        //客户
        $(window.parent.document).find("#idIframe-21403").attr("khdm", objSelRowP0214.khdm ? objSelRowP0214.khdm : objWhereJsonP0214.khdm);
        $(window.parent.document).find("#idIframe-21403").attr("khmc", objSelRowP0214.khdm ? objSelRowP0214.khmc : objWhereJsonP0214.khmc);

        //药品代码
        $(window.parent.document).find("#idIframe-21403").attr("spdm", objSelRowP0214.spdm ? objSelRowP0214.spdm : objWhereJsonP0214.spdm);
        $(window.parent.document).find("#idIframe-21403").attr("spmc", objSelRowP0214.spdm ? objSelRowP0214.spmc : objWhereJsonP0214.spmc);

        //销售人员代码
        $(window.parent.document).find("#idIframe-21403").attr("xsydm", objSelRowP0214.xsydm ? objSelRowP0214.xsydm : objWhereJsonP0214.zydm);
        $(window.parent.document).find("#idIframe-21403").attr("xsymc", objSelRowP0214.xsydm ? objSelRowP0214.xsymc : objWhereJsonP0214.zymc);

        //改变标签Iframe的Src
        $(window.parent.document).find("#idIframe-214").css("display", "none"); //隐藏统计页面
        $(window.parent.document).find("#idIframe-21403").css("display", ""); //显示明页面
        $(window.parent.document).find("#idIframe-21403").attr("src", "02/p021403.htm");

        //调整iframe的高度
        $(window.parent.document).find("#idIframe-21403").load(function () {
            var iHeight = window.parent.document.documentElement.clientHeight - window.parent._iFrmHeight;
            $(this).height(iHeight);
        });
    }
    else {
        //"请选择数据！"
        window.parent.cihoAlert(msg.other.selDataRow);
    }
}
/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓**事件方法 结束**↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/


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

//格式化表格中的数据
function setData_P0214(objP0214) {
    for (var i = 0; i < objP0214.length; i++) {
        if (objP0214[i].name == "xsje" || objP0214[i].name == "ml" || objP0214[i].name == "cbje"
        || objP0214[i].name == "xsjj" || objP0214[i].name == "cbjj" || objP0214[i].name == "cxje"
        || objP0214[i].name == "cxjj") {    //格式成money格式
            objP0214[i].formatter = formatterP0214Money;
        }
        if (objP0214[i].name == "szbl" || objP0214[i].name == "mll") {     //格式化成%比格式
            objP0214[i].formatter = formatterP0214Percent;
        }
        if (objP0214[i].name == "sl") {    //格式化成整数格式
            objP0214[i].formatter = formatterP0214Count;
        }
        if (objP0214[i].name == "xh") {   //隐藏序号列
            objP0214[i].hidden = true;
        }
    }
}

//查询类型
function loadSearchType_P0214() {
    $("#cbmSearchTypeP0214").combobox({
        width: _iWidth80,
        listWidth: _iWidth80,
        valueField: "dm",
        textField: "mc",
        panelHeight: 62,
        editable: false,
        onSelect: function (option) {
            selectSearchType_P0214(option.dm);
        },
        enterDown: function () {
            selectSearchType_P0214($("#cbmSearchTypeP0214").combobox("getValue"));
        }
    });
    //加载数据
    $("#cbmSearchTypeP0214").combobox("loadData",
    [{ dm: "按客户", mc: "按客户", selected: true },
    { dm: "按药品", mc: "按药品" },
    { dm: "按销售员", mc: "按销售员"}]);
}

//选择日期范围
function loadDateExtent_P0214() {
    //设置默认日期为本月
    dateExtentCalculation("本月", "dateStartTimeP0214", "dateEndTimeP0214");

    //添加选择事件
    $("#cmbDateExtentP0214").combobox({
        width: _iWidth80,
        listWidth: _iWidth80,
        valueField: "dm",
        textField: "mc",
        panelHeight: 102,
        editable: false,
        onSelect: function (option) {
            dateExtentCalculation(option.dm, "dateStartTimeP0214", "dateEndTimeP0214");
        },
        enterDown: function () {
            dateExtentCalculation($("#cmbDateExtentP0214").combobox("getValue"), "dateStartTimeP0214", "dateEndTimeP0214");
        }
    });
    //加载数据
    $("#cmbDateExtentP0214").combobox("loadData",
    [{ dm: "本月", mc: "本月", selected: true },
    { dm: "上一月", mc: "上一月" },
    { dm: "本周", mc: "本周" },
    { dm: "过去三个月", mc: "过去三个月" },
    { dm: "本年", mc: "本年"}]);
}

//客户下拉框信息的加载
function loadProviderData_P0214() {
    $("#cmbProviderP0214").combobox({
        width: _iWidth100,
        listWidth: _iWidth100,
        valueField: "dm",
        textField: "mc",
        onblur: function () {
            if ($("#cmbProviderP0214").combobox("getText") == "") {
                $("#cmbProviderP0214").combobox("setValue", "");
            }
        },
        onfocus: function () {
            if ($("#cmbProviderP0214").combobox("getText") == "全部客户") {
                $("#cmbProviderP0214").combobox("setText", "");
            }
        },
        afterChange: function (newValue, newText) {
            $(this).combobox("setText", newText.replace(/&nbsp;/g, ""));
        }
    });
    //加载数据
    var objProvider = getComboboxData("Tkhxx2");
    if (objProvider == "{}") {
        objProvider = [];
    }
    objProvider.unshift({ "dm": "", "mc": "全部客户", "selected": true });
    $("#cmbProviderP0214").combobox("loadData", objProvider);
}

//药品下拉框信息的加载
function loadDrugData_P0214() {
    $("#cmbDrugP0214").combobox({
        width: _iWidth100,
        listWidth: _iWidth100,
        valueField: "dm",
        textField: "mc",
        onblur: function () {
            if ($("#cmbDrugP0214").combobox("getText") == "") {
                $("#cmbDrugP0214").combobox("setValue", "");
            }
        },
        onfocus: function () {
            if ($("#cmbDrugP0214").combobox("getText") == "全部药品") {
                $("#cmbDrugP0214").combobox("setText", "");
            }
        },
        enterDown: function () { }
    });

    //加载数据
    var objDrug = getComboboxData("Tspxx2");
    if (objDrug == "{}") {
        objDrug = [];
    }
    objDrug.unshift({ "dm": "", "mc": "全部药品", "selected": true });
    $("#cmbDrugP0214").combobox("loadData", objDrug);
}

//销售员下拉框信息的加载
function loadXsyData_P0214() {
    $("#cmbXsyP0214").combobox({
        width: _iWidth100,
        listWidth: _iWidth100,
        valueField: "dm",
        textField: "mc",
        onblur: function () {
            if ($("#cmbXsyP0214").combobox("getText") == "") {
                $("#cmbXsyP0214").combobox("setValue", "");
            }
        },
        onfocus: function () {
            if ($("#cmbXsyP0214").combobox("getText") == "全部销售员") {
                $("#cmbXsyP0214").combobox("setText", "");
            }
        },
        enterDown: function () { }
    });

    //加载数据
    var objDrug = getComboboxData("TZyxx2");
    objDrug.push({ "dm": "-1", "mc": "其他销售员" });
    if (objDrug == "{}") {
        objDrug = [];
    }
    objDrug.unshift({ "dm": "", "mc": "全部销售员", "selected": true });
    $("#cmbXsyP0214").combobox("loadData", objDrug);
}

//普通表格计算合计的方法
function totalCompute_P0214() {
    //设置合计行的数据
    var strXsje = parseFloat($("#" + strTableP0214).getCol("cxje", false, "sum")).toFixed(window.parent.strMoneyPlace);
    var strMl = $("#" + strTableP0214).getCol("ml", false, "sum").toFixed(window.parent.strMoneyPlace);
    var intIDLength = $("#" + strTableP0214).getDataIDs();
    if (intIDLength.length > 0) {                          // 当表格中有记录的时候，合计行中的数据正常格式化
        $("#" + strTableP0214).footerData("set", { rn: "合计", cxje: strXsje, ml: strMl }, true);
    }
    else {                                                              //表格中没有记录时，合计行中的数据格式化成空
        $("#" + strTableP0214).footerData("set", { rn: "合计", cxje: "&nbsp;", ml: "&nbsp;" }, false);
    }
    //释放内存
    strMl = null;
    strXsje = null;
    intIDLength = null;
}

//树形表格计算合计的方法
function totalCompute_P0214p() {
    //设置合计行的数据
    $("#" + strTableP0214).setGridParam({
        gridComplete: function () {
            var objTable = $("#" + strTableP0214);   //定义一个表格对应
            var arrIds = objTable.getDataIDs();         //用于存放表格所有数据的ID
            var intMoney = 0;                                    //合计默认值0
            var strMl = 0;                                           //毛利的默认值0
            if (arrIds.length > 0) {                              //当表格中有记录的情况下，合计行正常格式化
                for (var i = 0; i < arrIds.length; i++) {     //只统计子节点的金额
                    if (objTable.getCell(arrIds[i], "parent") == "0") {
                        intMoney += parseFloat(objTable.getCell(arrIds[i], "cxje"));
                        strMl += parseFloat(objTable.getCell(arrIds[i], "ml"));
                    }
                }
                $("#" + strTableP0214).footerData("set", { khmc: "合计", cxje: intMoney, ml: strMl }, true);
            }
            else {                                                          //当表格中没有数据的情况下，合计行中的数据格式化成空
                $("#" + strTableP0214).footerData("set", { khmc: "合计", cxje: "&nbsp;", ml: "&nbsp;" }, false);
            }
        }
    });
}

//查询类型的选择事件的方法
function selectSearchType_P0214(strValue) {
    //设置选择的查询类型
    if (strValue == "按客户") {      //按客户显示
        strTableP0214 = "Tp0214";
        $("#divTp0214").css("display", "");
        $("#divTp021401").css("display", "none");
        $("#divTp021402").css("display", "none");
    }
    else if (strValue == "按药品") {   //按药品显示
        strTableP0214 = "Tp021401";
        $("#divTp0214").css("display", "none");
        $("#divTp021401").css("display", "");
        $("#divTp021402").css("display", "none");
    }
    else {     //按职员显示
        strTableP0214 = "Tp021402";
        $("#divTp0214").css("display", "none");
        $("#divTp021401").css("display", "none");
        $("#divTp021402").css("display", "");
    }

    /*--------设置默认值--------*/
    objSelRowP0214 = {};
    intSelRowIDP0214 = 0;
    //加载数据
    searchDataClick_P0214();
}

//money的格式化
function formatterP0214Money(cellvalue, options, rowObject) {
    if (isNaN(parseFloat(cellvalue))) {
        cellvalue = 0;
    }
    return parseFloat(cellvalue).toFixed(window.parent.strMoneyPlace);

}

//szbl格式化
function formatterP0214Percent(cellvalue, options, rowObject) {
    if (isNaN(parseFloat(cellvalue))) {
        cellvalue = 0;
    }
    return (parseFloat(cellvalue) * 100).toFixed(window.parent.strPercentPlace) + "%";
}

//数量的格式化
function formatterP0214Count(cellvalue, options, rowObject) {
    if (isNaN(parseFloat(cellvalue))) {
        cellvalue = 0;
    }
    return parseFloat(cellvalue).toFixed(window.parent.strCountPlace);
}

//当基本资料数据有修改时 刷新相关的combobox
function refreshMyCombobox(strModels) {
    if ($(window.parent.document).find('#idIframe-21403').length > 0) {
        $(window.parent.document.getElementById("idIframe-21403").contentWindow.document.getElementById("idRefreshCombobox")).val(strModels[0]);
        $(window.parent.document.getElementById("idIframe-21403").contentWindow.document.getElementById("idRefreshCombobox")).click();
    }
    for (var i = 0; i < strModels.length; i++) {
        var data = getComboboxData(strModels[i] + "2");

        if (strModels[i] == "Tkhxx") {
            data.unshift({ dm: "", mc: "全部客户", "selected": true });
            reLoadCombobox("cmbProviderP0214", data);
        }
        if (strModels[i] == "Tspxx") {
            data.unshift({ dm: "", mc: "全部药品", "selected": true });
            reLoadCombobox("cmbDrugP0214", data);
        }
        if (strModels[i] == "TZyxx") {
            data.unshift({ dm: "", mc: "全部销售员", "selected": true });
            data.push({ dm: "-1", mc: "其他销售员" });
            reLoadCombobox("cmbXsyP0214", data);
        }
    }
}

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

/*-------------------------------------------------------------
功能：创建普通表格
*****①strTableID：表格的ID
*****②objColNames:表格需要显示的列名
*****③objColModel：表格的列配置
*****④objDataRecords：表格中需要加载的数据
-----------------------------------------------------------------*/
function createGrid_P0214(strTableID, objColNames, objColModel, objDataRecords) {
    $("#" + strTableID).GridUnload();        //删除旧表格
    if (objDataRecords == "{}") {               //当数据集为空时，格式化数据集的空值
        objDataRecords = [];
    }
    //生成表格
    $("#" + strTableID).jqGrid({
        datatype: "local",
        sortname: "id",
        colNames: objColNames,
        colModel: objColModel,
        data: objDataRecords,
        rownumbers: true,
        autowidth: true,
        footerrow: true,
        gridview: true,
        rownumWidth: 30,
        cellsubmit: "clientArray",
        rowNum: objDataRecords.length,
        onSelectRow: function (rowId) {//当前选择行数据取得
            intSelRowIDP0214 = rowId;
            objSelRowP0214 = $(this).getRowData(rowId);
        },
        ondblClickRow: function () {
            viewDetail_P0214();
        }
    }).parent(".ui-jqgrid-bdiv").siblings().css("width", "100%");

    //设置行号列的名称
    $("#" + strTableID).setLabel("rn", "序号");

    //设置表格的高度
    resizeGrid(strTableP0214, false, true);
    //有滚动条时改变表格宽度
    resizeGridScroll(strTableP0214);
    //合计数据的计算
    totalCompute_P0214();
}

/*------------------------------------------------------------------------
***** ①strGridID:表格ID
*****②objColNames:表格列名
*****③objColModel:表格列属性
*****④objJsonDatas:表格数据源，Json格式
*****⑤strColExpandKey:伸缩列的字段名称
*****⑥funcGridComplete:表格的gridComplete事件方法，此参数类型是方法对象
*****⑦funcSelectRow:表格的onSelectRow事件方法，此参数类型是方法对象
-----------------------------------------------------------------------------*/
function createTreeGrid_P0214(strTableID, objColNames, objColModel, objJsonDatas, strColExpandKey) {
    $("#" + strTableID).GridUnload();           //删除旧表格
    if (objJsonDatas == "{}") {                      //当数据集为空时，格式化数据集的空值
        objJsonDatas = [];
    }
    //创建表格
    $("#" + strTableID).jqGrid({
        datatype: "local",
        colNames: objColNames,
        colModel: objColModel,
        data: objJsonDatas[0],
        treeGrid: true,
        treedatatype: "local",
        treeGridModel: 'adjacency',
        ExpandColumn: strColExpandKey,
        ExpandColClick: false,
        editable: true,
        rownumbers: false,
        rowNum: 999999,
        sortname: "khdm",
        localReader: { id: "bh" },
        ExpandColClick: true,
        autowidth: true,
        footerrow: true,
        onSelectRow: function (rowId) {
            intSelRowIDP0214 = rowId;
            objSelRowP0214 = $(this).getRowData(rowId);
        },
        ondblClickRow: function () {
            viewDetail_P0214();
        },
        onSortCol: function (index, colindex, sortorder) {
            sortfieldP0214 = index;                             //排序字段
            orderbyP0214 = sortorder;                       //排序顺序
            searchDataClick_P0214("1");                     //加载数据
            return "stop";
        }
    }).parent(".ui-jqgrid-bdiv").siblings().css("width", "100%");
    //调整表格的大小
    resizeGrid(strTableP0214, false, true);
    //有滚动条时改变表格宽度
    resizeGridScroll(strTableP0214);
    //设计合计行
    totalCompute_P0214p();
}
