var oFilter={}, iFilter, aMonth=[], oTab={}; var aProduct=[], aHospital=[], aDealer=[], aRep=[], iHospital; var iPeriod=0, aPeriod=[ {code:"MTH", name:"上个月", month:[11]}, {code:"QTR", name:"上季度", month:[7,8,9]}, {code:"QTD", name:"当季累计", month:[10, 11]}, {code:"RQ", name:"滚动季度", month:[9,10,11]}, {code:"YTD", name:"当年累计", month:[1,2,3,4,5,6,7,8,9,10,11]}, {code:"MAT", name:"滚动年度", month:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]} ]; $(document).ready( onDocumentReady ); function onDocumentReady() { pageInit(showDashboard); loadMaster(); } function loadMaster() { jsonRequest("sales", "load_master", {}, onMasterResponse, "正在获取数据…请稍候"); } function onMasterResponse(res) { aProduct=res.product_list; aHospital=res.hospital_list; aDealer=res.dealer_list; aRep=res.rep_list; oFilter['product']=aProduct; oFilter['hospital']=aHospital; oFilter['dealer']=aDealer; } /**************** FILTER ****************/ function showFilter() { if (!iFilter) { filterDate(); filterInit("product", "产品"); filterInit("hospital", "医院"); filterInit("dealer", "经销商"); filterSwitch("date"); } pageGo("filter"); } function filterSwitch(filter) { tabSwitch("filter", filter); if (iFilter) { $("#filter_"+iFilter).hide(); } iFilter=filter; $("#filter_"+iFilter).show(); } function filterInit(series, title) { var html=""; html+=div("div_filter_on", div("div_filter_code", "所有")+ div("div_filter_name", title)+ div("div_filter_mark_on", "", "", series+"_mark_all"), "filterToggle('"+series+"','all')", series+"_filter_all"); for (var i=0; i=0 && aMonth.indexOf(q*3-1)>=0 && aMonth.indexOf(q*3-2)>=0)?"on":"off"):"none"; var qtr=q>0?q+"季度":"去年"+(q+4)+"季度"; group+=div("div_date_item width_40p", div("div_date_quarter div_date_"+qb, qtr, "setQuarter("+q+")")); for (var m=q*3-2; m<=q*3; m++) { var mb=(m<=m0)?(aMonth.indexOf(m)>=0?"on":"off"):"none"; var mth=m>0?m:m+12; group+=div("div_date_item width_20p", div("div_date_month div_date_"+mb, mth, "setMonth("+m+")")); } } html+=div("div_date_label", "季度-月份"); html+=div("div_date_group", group); $("#filter_date").html(html); } function setPeriod(i) { iPeriod=i; aMonth=aPeriod[iPeriod].month; filterDate(); } function setMonth(m) { aMonth=[m]; iPeriod=null; filterDate(); } function setQuarter(q) { aMonth=[q*3-2, q*3-1, q*3]; iPeriod=null; filterDate(); } /*********** CHART *********/ function optionItem(series, labels, fx) { var html=""; oSwitch[series]=oSwitch[series] || "0"; for (var i=0; i=110?"#00A000":"#606060"); html+=div("div_row", cell("","20%", "#0090FF")+ cell(m+"月份", "20%")+ cell(target+",000", "20%", "right")+ cell(sales+(sales?",000":""), "20%", "right", color)+ cell(ach+(ach?"%":""), "18%", "right", color)); targetSum+=target; salesSum+=sales; } var ach=Math.floor(salesSum*100/targetSum) || ""; var color=(ach<=90)?"#C00000":(ach>=110?"#00A000":"#606060"); html+=div("div_row_blue", cell(q+"季度", "20%")+ cell("汇总", "20%")+ cell(targetSum+",000", "20%", "right")+ cell(salesSum+",000", "20%", "right", color)+ cell(ach+(ach?"%":""), "18%", "right", color)); } $("#div_sales_timeline_sheet").html(html); } function showHospital() { menuSwitch("hospital"); loadSalesHospital(); } function loadSalesHospital() { var width=["50%", "18%", "18%", "12%"]; var align=["left", "right", "right", "right"]; var title=["医院", "指标", "销量", "达成"]; var f=field(title, width); $("#div_sales_hospital_field").html(f); var html=""; for (var i=0; i=110?"#00A000":"#606060"); html+=div("div_row", cell(aHospital[i].code+"-"+aHospital[i].name,"50%", "left")+ cell(target+",000", "18%", "right")+ cell(sales+",000", "18%", "right", color)+ cell(ach+"%", "12%", "right", color), "iHospital="+i+"; showSalesRaw()"); } $("#div_sales_hospital_sheet").html(html); } function showTimeline() { menuSwitch("timeline"); loadSalesTimeline(); } function showSalesRaw() { pageGo("raw"); loadSalesRaw(); } function loadSalesRaw() { var width=["25%", "20%", "40%", "15%"]; var title=["日期", "产品", "经销商", "数量"]; $("#div_sales_raw_field").html(field(title, width)); var date=["2015-10-15", "2015-10-18", "2015-10-21", "2015-10-28", "2015-10-31"]; var html=""; for (var i=0; i<5; i++) { var n=Math.floor(Math.random()*20+5)*10; var j=Math.floor(Math.random()*aProduct.length); var k=Math.floor(Math.random()*aDealer.length); html+=div("div_row", cell(date[i],"25%")+ cell(aProduct[j].name, "20%", "left")+ cell(aDealer[k].name, "40%", "left")+ cell(n+"盒", "15%", "right"), "showSalesRawDetail('"+date[i]+"','"+aProduct[j].name+"','"+aDealer[k].name+"',"+n+")"); } $("#div_sales_raw_sheet").html(html); } function showSalesRawDetail(date, product, dealer, qty) { var label=["编号", "流向日期", "录入日期", "产品", "经销商", "医院", "数量", "金额", "状态"]; var content=["R1022A", date, date, product, dealer, aHospital[iHospital].name, qty+"盒", qty*25+"元", "正常"]; var s=property(label, content); $("#div_sales_raw_property").html(s); pageGo("raw_detail"); }