<apex:page id="Page" showHeader="false" sidebar="false" Controller="ProvinceEvaluationController" applyBodyTag="false" applyHtmlTag="false" action="{!init2}">
|
<c:PersonalEvaluationInTabComponent id="inTab" personalEvaluationSettingJson="{!personalEvaluationSettingJson}"
|
selectPlist="{!province}" selectUser="" selectedTab="{!selectedTab}" tabIdx="{!tabIdx}" peSettingsMap="{!peSettingsMap}"
|
/>
|
<script type="text/javascript">
|
ProvinceEvaluationController.getPeSettings(selectedTab, function(peSettings, event) {
|
if(event.status) {
|
// 個別のdatasourceにより描画
|
{var chartNum = "2_2"; if(peSettings['Report' + chartNum + '__c'] != null) {
|
queryDatasourceAsyn(chartNum, peSettings, noResultMessage, function(rs, chartNum) {
|
var ticksSet = [];
|
var ticksSumMap = {};
|
for (var i = 0; i < rs.length; i++) {
|
var tick = rs[i].Current_status__c == null ? '-': rs[i].Current_status__c;
|
if (ticksSet.indexOf(tick) < 0) {
|
ticksSet.push(tick);
|
ticksSumMap[tick] = 0;
|
}
|
ticksSumMap[tick] = ticksSumMap[tick] + +rs[i].Order_number__c;
|
}
|
ticksSet.sort(); // reverse() ?
|
var drawList = [];
|
var seriesDrawList = [drawList];
|
for (var t = 0; t < ticksSet.length; t++) {
|
var tick = ticksSet[t];
|
drawList.push([
|
ticksSet[t], ticksSumMap[tick]
|
]);
|
}
|
var plot = jQuery.jqplot('chart' + chartNum, seriesDrawList, jQuery.extend({}, jqDefaultOption, {
|
title: peSettings['Report' + chartNum + '_Title'],
|
axes: {
|
xaxis: {
|
renderer: jQuery.jqplot.CategoryAxisRenderer,
|
label: '目前状态', labelRenderer: jQuery.jqplot.CanvasAxisLabelRenderer,
|
tickRenderer: jQuery.jqplot.CanvasAxisTickRenderer,
|
tickOptions: {angle:-15, fontSize: '7pt'}
|
},
|
yaxis: {
|
label: '记录件数', labelRenderer: jQuery.jqplot.CanvasAxisLabelRenderer,
|
labelOptions: {fontSize:'7pt'},
|
tickOptions: {formatString:'%d'}
|
}
|
}
|
}));
|
});
|
}}
|
{var chartNum = "2_3"; if(peSettings['Report' + chartNum + '__c'] != null) {
|
queryDatasourceAsyn(chartNum, peSettings, noResultMessage, function(rs, chartNum) {
|
var drawList = [];
|
var seriesDrawList = [drawList];
|
for (var i = 0; i < rs.length; i++) {
|
drawList.push([
|
rs[i].Date_Year + '年' + rs[i].Date_Month + '月', +rs[i].Accurancy_ratio
|
]);
|
}
|
var plot = jQuery.jqplot('chart' + chartNum, seriesDrawList, jQuery.extend({}, jqDefaultOption, {
|
title: peSettings['Report' + chartNum + '_Title'],
|
axes: {
|
xaxis: {
|
renderer: jQuery.jqplot.CategoryAxisRenderer,
|
// label: '考核月', labelRenderer: jQuery.jqplot.CanvasAxisLabelRenderer,
|
// labelOptions: {fontSize:'7pt'},
|
tickRenderer: jQuery.jqplot.CanvasAxisTickRenderer,
|
tickOptions: {angle:-40, fontSize: '7pt'}
|
},
|
yaxis: {
|
label: '月初预测发货注残成交率(%)', labelRenderer: jQuery.jqplot.CanvasAxisLabelRenderer,
|
labelOptions: {fontSize:'7pt'},
|
tickOptions: {formatString:'%d%'},
|
}
|
}
|
}));
|
});
|
}}
|
{var chartNum = "3_3"; if(peSettings['Report' + chartNum + '__c'] != null) {
|
queryDatasourceAsyn(chartNum, peSettings, noResultMessage, function(rs, chartNum) {
|
var seriesSet2 = [];
|
var seriesSetJp = ['-','引合','注残','出荷','完了','敗戦','削除'];
|
var seriesMap = {}; // TODO describe?
|
seriesMap['-']='-';
|
seriesMap['引合']='询价';
|
seriesMap['注残']='注残';
|
seriesMap['出荷']='发货';
|
seriesMap['完了']='完毕';
|
seriesMap['敗戦']='失单';
|
seriesMap['削除']='取消';
|
var ticksSet = [];
|
var ticksMap = {};
|
for (var i = 0; i < rs.length; i++) {
|
var seriesJp = rs[i].StageName == null ? '-': rs[i].StageName;
|
if (seriesSet2.indexOf(seriesJp) < 0) {
|
seriesSet2.push(seriesJp);
|
}
|
if (rs[i].Date_Year + ('0' + rs[i].Date_Month).substr(-2) in ticksMap == false) {
|
ticksSet.push(rs[i].Date_Year + ('0' + rs[i].Date_Month).substr(-2));
|
ticksMap[rs[i].Date_Year + ('0' + rs[i].Date_Month).substr(-2)] = rs[i].Date_Year + '年' + rs[i].Date_Month + '月';
|
}
|
}
|
var seriesSet = [];
|
for (var s = 0; s < seriesSetJp.length; s++) {
|
var seriesJp = seriesSetJp[s];
|
if (seriesSet2.indexOf(seriesJp) >= 0) {
|
var series = seriesMap[seriesJp];
|
seriesSet.push(series);
|
}
|
}
|
ticksSet.sort();
|
var ticks = [];
|
for (var t = 0; t < ticksSet.length; t++) {
|
ticks[t] = ticksMap[ticksSet[t]];
|
}
|
var seriesDrawList = [];
|
for (var s = 0; s < seriesSet.length; s++) {
|
var drawList = [];
|
if (s in seriesDrawList) {
|
drawList = seriesDrawList[s];
|
} else {
|
seriesDrawList[s] = drawList;
|
}
|
for (var t = 0; t < ticksSet.length; t++) {
|
drawList[t] = 0;
|
}
|
}
|
// 件数Count
|
for (var i = 0; i < rs.length; i++) {
|
var seriesJp = rs[i].StageName == null ? '-': rs[i].StageName;
|
var series = seriesMap[seriesJp];
|
var drawList = seriesDrawList[seriesSet.indexOf(series)];
|
drawList[ticksSet.indexOf(rs[i].Date_Year + ('0' + rs[i].Date_Month).substr(-2))] = +rs[i].Id_CNT;
|
}
|
var plot = jQuery.jqplot('chart' + chartNum, seriesDrawList, jQuery.extend({}, jqDefaultOption, {
|
title: peSettings['Report' + chartNum + '_Title'],
|
stackSeries: true,
|
seriesDefaults: jQuery.extend(true, {}, jqDefaultOption.seriesDefaults, {pointLabels: {show: false}}),
|
axes: {
|
xaxis: {
|
renderer: jQuery.jqplot.CategoryAxisRenderer,
|
ticks: ticks,
|
tickRenderer: jQuery.jqplot.CanvasAxisTickRenderer,
|
tickOptions: {angle:-30, fontSize: '6pt'}
|
},
|
yaxis: {
|
label: '询价数量', labelRenderer: jQuery.jqplot.CanvasAxisLabelRenderer,
|
labelOptions: {fontSize:'7pt'},
|
tickOptions: {formatString:'%d'}
|
}
|
},
|
legend: {
|
labels: seriesSet,
|
show: true,
|
marginTop: 0,
|
marginBottom: 0,
|
rowSpacing: 0,
|
placement: 'outsideGrid',
|
location: 's',
|
renderer: jQuery.jqplot.EnhancedLegendRenderer,
|
rendererOptions: {
|
numberRows: 1,
|
fontSize: '6pt',
|
seriesToggle: false
|
}
|
},
|
series: makeHighlighterOption(seriesSet, "%d")
|
}));
|
});
|
}}
|
{var chartNum = "4_1"; if(peSettings['Report' + chartNum + '__c'] != null) {
|
queryDatasourceAsyn(chartNum, peSettings, noResultMessage, function(rs, chartNum) {
|
var seriesSet = ['询价数量', '是否本月更新询价', '是否已跟进', '是否做OPD'];
|
var ticksSet = [];
|
for (var i = 0; i < rs.length; i++) {
|
if (ticksSet.indexOf(rs[i].Order_status__c) < 0) {
|
ticksSet.push(rs[i].Order_status__c);
|
}
|
}
|
ticksSet.sort();
|
var drawList = [];
|
var draw2List = [];
|
var draw3List = [];
|
var draw4List = [];
|
var seriesDrawList = [drawList, draw2List, draw3List, draw4List];
|
for (var t = 0; t < ticksSet.length; t++) {
|
drawList[t] = 0;
|
draw2List[t] = 0;
|
draw3List[t] = 0;
|
draw4List[t] = 0;
|
}
|
// 件数Count
|
for (var i = 0; i < rs.length; i++) {
|
drawList[ticksSet.indexOf(rs[i].Order_status__c)] += +rs[i].RecordCount__c;
|
draw2List[ticksSet.indexOf(rs[i].Order_status__c)]+= +rs[i].Whether_update_PCL_this_month__c;
|
draw3List[ticksSet.indexOf(rs[i].Order_status__c)]+= +rs[i].Follow_or_not__c;
|
draw4List[ticksSet.indexOf(rs[i].Order_status__c)]+= +rs[i].DoOPD__c;
|
}
|
var plot = jQuery.jqplot('chart' + chartNum, seriesDrawList, jQuery.extend({}, jqDefaultOption, {
|
title: peSettings['Report' + chartNum + '_Title'],
|
axes: {
|
xaxis: {
|
renderer: jQuery.jqplot.CategoryAxisRenderer,
|
ticks: ticksSet,
|
tickRenderer: jQuery.jqplot.CanvasAxisTickRenderer,
|
tickOptions: {fontSize: '7pt'}
|
},
|
yaxis: {
|
tickOptions: {formatString:'%d'}
|
}
|
},
|
legend: {
|
labels: seriesSet,
|
show: true,
|
marginTop: 0,
|
marginBottom: 0,
|
rowSpacing: 0,
|
placement: 'outsideGrid',
|
location: 's',
|
renderer: jQuery.jqplot.EnhancedLegendRenderer,
|
rendererOptions: {
|
numberRows: 1,
|
fontSize: '7pt',
|
seriesToggle: false
|
}
|
}
|
}));
|
});
|
}}
|
{var chartNum = "4_2"; if(peSettings['Report' + chartNum + '__c'] != null) {
|
queryDatasourceAsyn(chartNum, peSettings, noResultMessage, function(rs, chartNum) {
|
var seriesSet = ['月初预测订货询价数量成交率(%)', '月初预测订货询价金额成交率(%)'];
|
var ticksSet = [];
|
for (var i = 0; i < rs.length; i++) {
|
if (ticksSet.indexOf(rs[i].Owner_Name) < 0) {
|
ticksSet.push(rs[i].Owner_Name);
|
}
|
}
|
ticksSet.sort();
|
var drawList = [];
|
var draw2List = [];
|
var seriesDrawList = [drawList, draw2List];
|
for (var t = 0; t < ticksSet.length; t++) {
|
drawList[t] = 0;
|
draw2List[t] = 0;
|
}
|
// 件数Count
|
for (var i = 0; i < rs.length; i++) {
|
drawList[ticksSet.indexOf(rs[i].Owner_Name)] = rs[i].Monthly_Forecast_SUM / rs[i].Id_CNT * 100;
|
if (rs[i].Wholesale_Price_SUM != null) {
|
draw2List[ticksSet.indexOf(rs[i].Owner_Name)]= rs[i].Price_backup_SUM / rs[i].Wholesale_Price_SUM * 100;
|
}
|
}
|
var plot = jQuery.jqplot('chart' + chartNum, seriesDrawList, jQuery.extend({}, jqDefaultOption, {
|
title: peSettings['Report' + chartNum + '_Title'],
|
axes: {
|
xaxis: {
|
renderer: jQuery.jqplot.CategoryAxisRenderer,
|
ticks: ticksSet,
|
tickRenderer: jQuery.jqplot.CanvasAxisTickRenderer,
|
tickOptions: {fontSize: '7pt'}
|
},
|
yaxis: {
|
tickOptions: {formatString:'%d%'}
|
}
|
},
|
legend: {
|
labels: seriesSet,
|
show: true,
|
marginTop: 0,
|
marginBottom: 0,
|
rowSpacing: 0,
|
placement: 'outsideGrid',
|
location: 's',
|
renderer: jQuery.jqplot.EnhancedLegendRenderer,
|
rendererOptions: {
|
numberRows: 1,
|
fontSize: '7pt',
|
seriesToggle: false
|
}
|
}
|
}));
|
});
|
}}
|
{var chartNum = "4_3"; if(peSettings['Report' + chartNum + '__c'] != null) {
|
queryDatasourceAsyn(chartNum, peSettings, noResultMessage, function(rs, chartNum) {
|
var drawList = [];
|
var seriesDrawList = [drawList];
|
for (var i = 0; i < rs.length; i++) {
|
drawList.push([
|
rs[i].Date_Year + '年' + rs[i].Date_Month + '月', +rs[i].Accurancy_ratio
|
]);
|
}
|
var plot = jQuery.jqplot('chart' + chartNum, seriesDrawList, jQuery.extend({}, jqDefaultOption, {
|
title: peSettings['Report' + chartNum + '_Title'],
|
axes: {
|
xaxis: {
|
renderer: jQuery.jqplot.CategoryAxisRenderer,
|
tickRenderer: jQuery.jqplot.CanvasAxisTickRenderer,
|
tickOptions: {angle:-40, fontSize: '7pt'}
|
},
|
yaxis: {
|
padMin: 0,
|
tickOptions: {formatString:'%d%'}
|
}
|
}
|
}));
|
});
|
}}
|
{var chartNum = "5_1"; if(peSettings['Report' + chartNum + '__c'] != null) {
|
queryDatasourceAsyn(chartNum, peSettings, noResultMessage, function(rs, chartNum) {
|
var drawList = [];
|
var seriesDrawList = [drawList];
|
for (var i = 0; i < rs.length; i++) {
|
drawList.push([
|
rs[i].Date_Year + '年' + rs[i].Date_Month + '月', +rs[i].Update_ratio
|
]);
|
}
|
var plot = jQuery.jqplot('chart' + chartNum, seriesDrawList, jQuery.extend({}, jqDefaultOption, {
|
title: peSettings['Report' + chartNum + '_Title'],
|
axes: {
|
xaxis: {
|
renderer: jQuery.jqplot.CategoryAxisRenderer,
|
tickRenderer: jQuery.jqplot.CanvasAxisTickRenderer,
|
tickOptions: {angle:-40, fontSize: '7pt'}
|
},
|
yaxis: {
|
padMin: 0,
|
tickOptions: {formatString:'%d%'}
|
}
|
}
|
}));
|
});
|
}}
|
{var chartNum = "5_2"; if(peSettings['Report' + chartNum + '__c'] != null) {
|
queryDatasourceAsyn(chartNum, peSettings, noResultMessage, function(rs, chartNum) {
|
var seriesSet = [];
|
var ticksSet = [];
|
var ticksMap = {};
|
for (var i = 0; i < rs.length; i++) {
|
var series = rs[i].Order_status == null ? '-': rs[i].Order_status;
|
if (seriesSet.indexOf(series) < 0) {
|
seriesSet.push(series);
|
}
|
if (rs[i].Date_Year + ('0' + rs[i].Date_Month).substr(-2) in ticksMap == false) {
|
ticksSet.push(rs[i].Date_Year + ('0' + rs[i].Date_Month).substr(-2));
|
ticksMap[rs[i].Date_Year + ('0' + rs[i].Date_Month).substr(-2)] = rs[i].Date_Year + '年' + rs[i].Date_Month + '月';
|
}
|
}
|
seriesSet.sort(); // TODO pulldownの順番になれない?describe?
|
ticksSet.sort();
|
var ticks = [];
|
for (var t = 0; t < ticksSet.length; t++) {
|
ticks[t] = ticksMap[ticksSet[t]];
|
}
|
var seriesDrawList = [];
|
for (var s = 0; s < seriesSet.length; s++) {
|
var drawList = [];
|
if (s in seriesDrawList) {
|
drawList = seriesDrawList[s];
|
} else {
|
seriesDrawList[s] = drawList;
|
}
|
for (var t = 0; t < ticksSet.length; t++) {
|
drawList[t] = 0;
|
}
|
}
|
// 件数Count
|
for (var i = 0; i < rs.length; i++) {
|
var series = rs[i].Order_status == null ? '-': rs[i].Order_status;
|
var drawList = seriesDrawList[seriesSet.indexOf(series)];
|
drawList[ticksSet.indexOf(rs[i].Date_Year + ('0' + rs[i].Date_Month).substr(-2))] = +rs[i].Id_CNT;
|
}
|
var plot = jQuery.jqplot('chart' + chartNum, seriesDrawList, jQuery.extend({}, jqDefaultOption, {
|
title: peSettings['Report' + chartNum + '_Title'],
|
stackSeries: true,
|
seriesDefaults: jQuery.extend(true, {}, jqDefaultOption.seriesDefaults, {pointLabels: {show: false}}),
|
axes: {
|
xaxis: {
|
renderer: jQuery.jqplot.CategoryAxisRenderer,
|
ticks: ticks,
|
tickRenderer: jQuery.jqplot.CanvasAxisTickRenderer,
|
tickOptions: {angle:-30, fontSize: '6pt'}
|
},
|
yaxis: {
|
label: '询价数量', labelRenderer: jQuery.jqplot.CanvasAxisLabelRenderer,
|
labelOptions: {fontSize:'7pt'},
|
tickOptions: {formatString:'%d'}
|
}
|
},
|
legend: {
|
labels: seriesSet,
|
show: true,
|
marginTop: 0,
|
marginBottom: 0,
|
rowSpacing: 0,
|
placement: 'outsideGrid',
|
location: 's',
|
renderer: jQuery.jqplot.EnhancedLegendRenderer,
|
rendererOptions: {
|
numberRows: 1,
|
fontSize: '6pt',
|
seriesToggle: false
|
}
|
},
|
series: makeHighlighterOption(seriesSet, "%d")
|
}));
|
});
|
}}
|
{var chartNum = "5_3"; if(peSettings['Report' + chartNum + '__c'] != null) {
|
queryDatasourceAsyn(chartNum, peSettings, noResultMessage, function(rs, chartNum) {
|
var seriesSet2 = [];
|
var seriesSetJp = ['-','引合','注残','出荷','完了','敗戦','削除'];
|
var seriesMap = {}; // TODO describe?
|
seriesMap['-']='-';
|
seriesMap['引合']='询价';
|
seriesMap['注残']='注残';
|
seriesMap['出荷']='发货';
|
seriesMap['完了']='完毕';
|
seriesMap['敗戦']='失单';
|
seriesMap['削除']='取消';
|
var ticksSet = [];
|
var ticksMap = {};
|
for (var i = 0; i < rs.length; i++) {
|
var seriesJp = rs[i].StageName == null ? '-': rs[i].StageName;
|
if (seriesSet2.indexOf(seriesJp) < 0) {
|
seriesSet2.push(seriesJp);
|
}
|
if (rs[i].Date_Year + ('0' + rs[i].Date_Month).substr(-2) in ticksMap == false) {
|
ticksSet.push(rs[i].Date_Year + ('0' + rs[i].Date_Month).substr(-2));
|
ticksMap[rs[i].Date_Year + ('0' + rs[i].Date_Month).substr(-2)] = rs[i].Date_Year + '年' + rs[i].Date_Month + '月';
|
}
|
}
|
var seriesSet = [];
|
for (var s = 0; s < seriesSetJp.length; s++) {
|
var seriesJp = seriesSetJp[s];
|
if (seriesSet2.indexOf(seriesJp) >= 0) {
|
var series = seriesMap[seriesJp];
|
seriesSet.push(series);
|
}
|
}
|
ticksSet.sort();
|
var ticks = [];
|
for (var t = 0; t < ticksSet.length; t++) {
|
ticks[t] = ticksMap[ticksSet[t]];
|
}
|
var seriesDrawList = [];
|
for (var s = 0; s < seriesSet.length; s++) {
|
var drawList = [];
|
if (s in seriesDrawList) {
|
drawList = seriesDrawList[s];
|
} else {
|
seriesDrawList[s] = drawList;
|
}
|
for (var t = 0; t < ticksSet.length; t++) {
|
drawList[t] = 0;
|
}
|
}
|
// 件数Count
|
for (var i = 0; i < rs.length; i++) {
|
var seriesJp = rs[i].StageName == null ? '-': rs[i].StageName;
|
var series = seriesMap[seriesJp];
|
var drawList = seriesDrawList[seriesSet.indexOf(series)];
|
drawList[ticksSet.indexOf(rs[i].Date_Year + ('0' + rs[i].Date_Month).substr(-2))] = +rs[i].Id_CNT;
|
}
|
var plot = jQuery.jqplot('chart' + chartNum, seriesDrawList, jQuery.extend({}, jqDefaultOption, {
|
title: peSettings['Report' + chartNum + '_Title'],
|
stackSeries: true,
|
seriesDefaults: jQuery.extend(true, {}, jqDefaultOption.seriesDefaults, {pointLabels: {show: false}}),
|
axes: {
|
xaxis: {
|
renderer: jQuery.jqplot.CategoryAxisRenderer,
|
ticks: ticks,
|
tickRenderer: jQuery.jqplot.CanvasAxisTickRenderer,
|
tickOptions: {angle:-30, fontSize: '6pt'}
|
},
|
yaxis: {
|
label: '失单/取消报告次数', labelRenderer: jQuery.jqplot.CanvasAxisLabelRenderer,
|
labelOptions: {fontSize:'7pt'},
|
tickOptions: {formatString:'%d'}
|
}
|
},
|
legend: {
|
labels: seriesSet,
|
show: true,
|
marginTop: 0,
|
marginBottom: 0,
|
rowSpacing: 0,
|
placement: 'outsideGrid',
|
location: 's',
|
renderer: jQuery.jqplot.EnhancedLegendRenderer,
|
rendererOptions: {
|
numberRows: 1,
|
fontSize: '6pt',
|
seriesToggle: false
|
}
|
}
|
}));
|
});
|
}}
|
// 複数のdatasorceにより描画
|
var drawJqplotMulti = function(sapMap, oppSumMap, saMap, forcastList) {
|
var targetMap = sapMap.Target_wt;
|
var shipMap = sapMap.Ship_wt;
|
var bOrdMap = sapMap.BackOrder_wt;
|
var targetNumMap = sapMap.Target_num;
|
var shipNumMap = sapMap.Ship_num;
|
var bOrdNumMap = sapMap.BackOrder_num;
|
// Target
|
var targetSum = 0;
|
var targetNum = 0;
|
for (var key in targetMap) {
|
targetSum += targetMap[key];
|
targetNum += targetNumMap[key];
|
}
|
targetMap = jQuery.extend({GI:0,ET:0,BF:0,GS:0,URO:0,GYN:0,ENT:0,OTH:0}, targetMap);
|
// Ship
|
var shipSum = 0;
|
var shipNum = 0;
|
for (var key in shipMap) {
|
shipSum += shipMap[key];
|
shipNum += shipNumMap[key];
|
}
|
shipMap = jQuery.extend({GI:0,ET:0,BF:0,GS:0,URO:0,GYN:0,ENT:0,OTH:0}, shipMap);
|
// Backorder
|
var bOrdSum = 0;
|
var bOrdNum = 0;
|
for (var key in bOrdMap) {
|
bOrdSum += bOrdMap[key];
|
bOrdNum += bOrdNumMap[key];
|
}
|
bOrdMap = jQuery.extend({GI:0,ET:0,BF:0,GS:0,URO:0,GYN:0,ENT:0,OTH:0}, bOrdMap);
|
|
{var chartNum = "1_1"; if(peSettings['Report' + chartNum + '__c'] != null) {
|
var plotData = [[targetPercent2Fmt(shipSum, targetSum)]];
|
drawJqplot(chartNum, peSettings, plotData, noResultMessage, function(rs, chartNum) {
|
var plot = jQuery.jqplot('chart' + chartNum, plotData, {
|
title: peSettings['Report' + chartNum + '_Title'],
|
grid: {
|
drawGridLines:true,
|
background: 'white',
|
borderWidth: 2.0,
|
borderColor: '#999999'
|
},
|
seriesDefaults: {
|
renderer: jQuery.jqplot.MeterGaugeRenderer,
|
rendererOptions: {
|
min: 0,
|
max: 100,
|
label: targetPercent2Fmt(shipSum, targetSum) + ' %',
|
labelPosition: 'bottom',
|
intervals:[50, 70, 100],
|
intervalColors:['#cc6666', '#E7E658', '#66cc66']
|
}
|
}
|
});
|
});
|
}}
|
{var chartNum = "1_2"; if(peSettings['Report' + chartNum + '__c'] != null) {
|
var oppBase = shipSum + bOrdSum;
|
var oppBid = oppBase + oppSumMap.oppBid.wt;
|
var oppAuth = oppBid + oppSumMap.oppAuth.wt;
|
var oppA = oppAuth + oppSumMap.oppA.wt * 0.8;
|
var oppB = oppA + oppSumMap.oppB.wt * 0.5;
|
var oppC = oppB + oppSumMap.oppC.wt * 0.3;
|
// Can specify a custom tick Array.
|
var c2ticks = ['目标', '发货', '注残', '已中标', '已授权', 'A', 'B', 'C'];
|
var plotData = [[targetSum,0,0,0,0,0,0,0], [0,shipSum,0,0,0,0,0,0], [0,0,oppBase,0,0,0,0,0], [0,0,0,oppBid,0,0,0,0], [0,0,0,0,oppAuth,0,0,0], [0,0,0,0,0,oppA,0,0], [0,0,0,0,0,0,oppB,0], [0,0,0,0,0,0,0,oppC]];
|
drawJqplot(chartNum, peSettings, plotData, noResultMessage, function(rs, chartNum) {
|
var plot = jQuery.jqplot('chart' + chartNum, plotData, {
|
title: peSettings['Report' + chartNum + '_Title'],
|
grid: {shadow: false, background: 'white'},
|
stackSeries: true,
|
seriesColors: ["#4bb2c5", "#EAA228", "#c5b47f"].concat(jqDefaultOption.seriesColors),
|
seriesDefaults: {
|
renderer: jQuery.jqplot.BarRenderer,
|
rendererOptions: {
|
// Put a 5 pixel margin between bars.
|
barMargin: 10
|
},
|
pointLabels: {hideZeros: true, stackedValue: true}
|
},
|
axes: {
|
xaxis: {
|
renderer: jQuery.jqplot.CategoryAxisRenderer,
|
ticks: c2ticks
|
},
|
yaxis: {
|
// Don't pad out the bottom of the data range. By default,
|
// axes scaled as if data extended 10% above and below the
|
// actual range to prevent data points right on grid boundaries.
|
// Don't want to do that here.
|
min: 0,
|
tickOptions: {formatter: tick1KFmt}
|
}
|
},
|
legend: {
|
labels: ['%', targetPercentFmt(shipSum,targetSum), targetPercentFmt(oppBase,targetSum),
|
targetPercentFmt(oppBid,targetSum), targetPercentFmt(oppAuth,targetSum),
|
targetPercentFmt(oppA,targetSum), targetPercentFmt(oppB,targetSum),
|
targetPercentFmt(oppC,targetSum)],
|
show: true,
|
marginTop: 0,
|
placement: 'outsideGrid',
|
location: 'n',
|
renderer: jQuery.jqplot.EnhancedLegendRenderer,
|
rendererOptions: {
|
numberColumns: 8,
|
seriesToggle: false
|
}
|
}
|
});
|
});
|
}}
|
{var chartNum = "1_3"; if(peSettings['Report' + chartNum + '__c'] != null) {
|
// Can specify a custom tick Array.
|
var seriesSet = ['发货', '注残', '目标'];
|
var c3ticks = ['GI', 'ET', 'BF', 'GS', 'URO', 'GYN', 'ENT', 'OTH'];
|
var sumYP = targetSum - shipSum - bOrdSum; if (sumYP < 0) sumYP = 0;
|
var sumGI = targetMap.GI - shipMap.GI - bOrdMap.GI; if (sumGI < 0) sumGI = 0;
|
var sumET = targetMap.ET - shipMap.ET - bOrdMap.ET; if (sumET < 0) sumET = 0;
|
var sumBF = targetMap.BF - shipMap.BF - bOrdMap.BF; if (sumBF < 0) sumBF = 0;
|
var sumGS = targetMap.GS - shipMap.GS - bOrdMap.GS; if (sumGS < 0) sumGS = 0;
|
var sumURO = targetMap.URO - shipMap.URO - bOrdMap.URO; if (sumURO < 0) sumURO = 0;
|
var sumGYN = targetMap.GYN - shipMap.GYN - bOrdMap.GYN; if (sumGYN < 0) sumGYN = 0;
|
var sumENT = targetMap.ENT - shipMap.ENT - bOrdMap.ENT; if (sumENT < 0) sumENT = 0;
|
var sumOTH = targetMap.OTH - shipMap.OTH - bOrdMap.OTH; if (sumOTH < 0) sumOTH = 0;
|
var plotData = [[[1,shipMap.GI, 0], [2,shipMap.ET], [3,shipMap.BF], [4,shipMap.GS], [5,shipMap.URO], [6,shipMap.GYN], [7,shipMap.ENT], [8,shipMap.OTH]],
|
[[1,bOrdMap.GI, 0], [2,bOrdMap.ET], [3,bOrdMap.BF], [4,bOrdMap.GS], [5,bOrdMap.URO], [6,bOrdMap.GYN], [7,bOrdMap.ENT], [8,bOrdMap.OTH]],
|
[[1,sumGI,sumGI], [2,sumET,sumET], [3,sumBF,sumBF], [4,sumGS,sumGS], [5,sumURO,sumURO], [6,sumGYN,sumGYN], [7,sumENT,sumENT], [8,sumOTH,sumOTH]]
|
];
|
drawJqplot(chartNum, peSettings, plotData, noResultMessage, function(rs, chartNum) {
|
var plot = jQuery.jqplot('chart' + chartNum, plotData, {
|
title: peSettings['Report' + chartNum + '_Title'],
|
grid: {shadow: false, background: 'white'},
|
stackSeries: true,
|
seriesColors: ["#EAA228", "#c5b47f", "#ffffff"].concat(jqDefaultOption.seriesColors),
|
seriesDefaults: {
|
renderer: jQuery.jqplot.BarRenderer,
|
rendererOptions: {
|
// Put a 5 pixel margin between bars.
|
barMargin: 10
|
},
|
pointLabels: {
|
show: true, hideZeros: true, stackedValue: true,
|
ypadding: -1,
|
location: 'n'
|
}
|
},
|
axes: {
|
xaxis: {
|
renderer: jQuery.jqplot.CategoryAxisRenderer,
|
ticks: c3ticks
|
},
|
yaxis: {
|
// Don't pad out the bottom of the data range. By default,
|
// axes scaled as if data extended 10% above and below the
|
// actual range to prevent data points right on grid boundaries.
|
// Don't want to do that here.
|
min:0,
|
tickOptions: {formatter: tick1KFmt}
|
}
|
},
|
legend: {
|
labels: seriesSet,
|
show: true,
|
marginTop: 0,
|
//marginBottom: 0,
|
rowSpacing: 0,
|
placement: 'outsideGrid',
|
location: 'n',
|
renderer: jQuery.jqplot.EnhancedLegendRenderer,
|
rendererOptions: {
|
numberColumns: seriesSet.length,
|
fontSize: '7pt',
|
seriesToggle: false
|
}
|
}
|
});
|
});
|
}}
|
{var chartNum = "2_1"; if(peSettings['Report' + chartNum + '__c'] != null) {
|
var plotData = [[['订单数', saMap.Order], ['未付款数', saMap.NClct], ['无用户合同书', saMap.NCtrc]]];
|
drawJqplot(chartNum, peSettings, plotData, noResultMessage, function(rs, chartNum) {
|
var plot = jQuery.jqplot('chart' + chartNum, plotData, jQuery.extend({}, jqDefaultOption, {
|
title: peSettings['Report' + chartNum + '_Title'],
|
axes: {
|
xaxis: {
|
renderer: jQuery.jqplot.CategoryAxisRenderer,
|
}
|
}
|
}));
|
});
|
}}
|
{var chartNum = "3_1"; if(peSettings['Report' + chartNum + '__c'] != null) {
|
var plotData = [forcastList];
|
drawJqplot(chartNum, peSettings, plotData, noResultMessage, function(rs, chartNum) {
|
var plot = jQuery.jqplot('chart' + chartNum, plotData, jQuery.extend({}, jqDefaultOption, {
|
title: peSettings['Report' + chartNum + '_Title'],
|
axes: {
|
xaxis: {
|
renderer: jQuery.jqplot.CategoryAxisRenderer,
|
},
|
yaxis: {
|
tickOptions: {formatString:'%d'}
|
}
|
}
|
}));
|
});
|
}}
|
{var chartNum = "3_2"; if(peSettings['Report' + chartNum + '__c'] != null) {
|
var c8ticks = ['已中标', '已授权', 'A', 'B', 'C', 'D', 'E'];
|
var plotData = [[Math.floor(oppSumMap.oppBid.num),0,0,0,0,0,0],
|
[0,Math.floor(oppSumMap.oppAuth.num),0,0,0,0,0], [0,0,Math.floor(oppSumMap.oppA.num),0,0,0,0],
|
[0,0,0,Math.floor(oppSumMap.oppB.num),0,0,0],[0,0,0,0,Math.floor(oppSumMap.oppC.num),0,0],
|
[0,0,0,0,0,Math.floor(oppSumMap.oppD.num),0], [0,0,0,0,0,0,Math.floor(oppSumMap.oppE.num)]];
|
drawJqplot(chartNum, peSettings, plotData, noResultMessage, function(rs, chartNum) {
|
var plot = jQuery.jqplot('chart' + chartNum, plotData, jQuery.extend({}, jqDefaultOption, {
|
title: peSettings['Report' + chartNum + '_Title'],
|
stackSeries: true,
|
axes: {
|
xaxis: {
|
renderer: jQuery.jqplot.CategoryAxisRenderer,
|
ticks: c8ticks
|
},
|
yaxis: {
|
tickOptions: {formatString:'%d'}
|
}
|
}
|
}));
|
});
|
}}
|
}
|
{var loadError = null;
|
var sapMap = null;
|
var oppSumMap = null;
|
var saMap = null;
|
var forcastList = null;
|
ProvinceEvaluationController.getJsonSAP('', selectPlist,currentfiscalyear, function(res, event) {
|
if(event.status) {
|
sapMap = eval("("+res+")");
|
} else {
|
loadError = event.message;
|
}
|
}, {buffer: true, escape: false, timeout: 120000});
|
ProvinceEvaluationController.getJsonOppSum('', selectPlist, function(res, event) {
|
if(event.status) {
|
oppSumMap = eval("("+res+")");
|
} else {
|
loadError = event.message;
|
}
|
}, {buffer: true, escape: false, timeout: 120000});
|
ProvinceEvaluationController.getJsonMBSA('', selectPlist, function(res, event) {
|
if(event.status) {
|
saMap = eval("("+res+")");
|
} else {
|
loadError = event.message;
|
}
|
}, {buffer: true, escape: false, timeout: 120000});
|
ProvinceEvaluationController.getJsonForcast('', selectPlist, function(res, event) {
|
if(event.status) {
|
var forcastMapList = eval("("+res+")");
|
forcastList = [];
|
for (var i = 0; i < forcastMapList.length; i++) {
|
for (var k in forcastMapList[i]) {
|
forcastList.push([k, forcastMapList[i][k]]);
|
}
|
}
|
} else {
|
loadError = event.message;
|
}
|
}, {buffer: true, escape: false, timeout: 120000});
|
var check = function() {
|
if (loadError != null) {
|
alert(loadError);
|
drawJqplotMulti(sapMap, oppSumMap, saMap, forcastList);
|
}
|
else if (sapMap != null && oppSumMap != null && saMap != null && forcastList != null) {
|
drawJqplotMulti(sapMap, oppSumMap, saMap, forcastList);
|
} else {
|
setTimeout(check, 1000); // check again in a second
|
}
|
}
|
check();
|
}
|
} else {
|
alert(event.message);
|
}}, {buffer: true, escape: false, timeout: 20000});
|
</script>
|
</apex:page>
|