first commit
This commit is contained in:
@@ -0,0 +1,215 @@
|
||||
<#def designatedPath="/draftStatusOrderStat.htm"/>
|
||||
<script>
|
||||
Z.onload(function()
|
||||
{
|
||||
if (groupPerformanceMap.size() > 0)
|
||||
{
|
||||
showGroupMembersPromance(groupPerformanceMap._keys[0]);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
var calcTotal=function(table,column)
|
||||
{//合计,表格对象,对哪一列进行合计,第一列从0开始
|
||||
var trs=table.getElementsByTagName('tr');
|
||||
|
||||
if (trs.length == 1)
|
||||
return;
|
||||
var start=1;//忽略第一行,从第二行开始
|
||||
var end=trs.length-1;//忽略最后一行
|
||||
var total=0;
|
||||
for(var i=start;i<end;i++){
|
||||
var td=trs[i].getElementsByTagName('td')[column];
|
||||
var t=parseInt(td.innerHTML);
|
||||
if(t)total+=t;
|
||||
}
|
||||
trs[end].getElementsByTagName('td')[column].innerHTML=total;
|
||||
};
|
||||
calcTotal(document.getElementById('statTable'),1);
|
||||
calcTotal(document.getElementById('statTable'),2);
|
||||
calcTotal(document.getElementById('statTable'),3);
|
||||
calcTotal(document.getElementById('statTable'),4);
|
||||
*/
|
||||
});
|
||||
|
||||
var groupPerformanceMap = new Z.HashMap();
|
||||
<#for groupModule : groupPerformanceMap.values()>
|
||||
groupPerformanceMap.put("${groupModule.getGroup().getGroupId()}", Z.J.toObject('${groupModule}'));
|
||||
</#for>
|
||||
|
||||
function showGroupMembersPromance(groupId)
|
||||
{
|
||||
var resultHtml = '';
|
||||
var groupName = '';
|
||||
resultHtml += '<table class="z-table z-bordered z-bg-white z-pd6 z-w50p">';
|
||||
resultHtml += '<tr class="z-text-left z-h40">';
|
||||
resultHtml += ' <td class="z-bold" colspan="12">[<span id="groupNameSpan" class="z-text-green">'+groupName+'</span>]设计师效绩详情</td>';
|
||||
resultHtml += '</tr>';
|
||||
resultHtml += '<tr class="z-text-center z-h40" bgcolor="'+'${zmr_thead_bgcolor}'+'">';
|
||||
resultHtml += ' <td width="12%">设计师</td>';
|
||||
resultHtml += ' <td width="12%">设计单数</td>';
|
||||
resultHtml += ' <td width="12%">设计绩效</td>';
|
||||
resultHtml += ' <td width="12%">特殊订单单数</td>';
|
||||
resultHtml += ' <td width="12%">特殊订单绩效</td>';
|
||||
resultHtml += ' <td width="12%">退款率</td>';
|
||||
resultHtml += ' <td width="12%">退款绩效</td>';
|
||||
resultHtml += ' <td width="*">绩效总额</td>';
|
||||
resultHtml += '</tr>';
|
||||
|
||||
var trHtml='';
|
||||
var aaa = 0;
|
||||
try
|
||||
{
|
||||
var groupModule = groupPerformanceMap.get(''+groupId);
|
||||
var group = groupModule.group;
|
||||
groupName = group.groupName;
|
||||
var groupLeader = groupModule.groupLeader;
|
||||
if (groupLeader)
|
||||
{
|
||||
trHtml += '<tr class="z-text-center z-h40 z-bold">';
|
||||
trHtml += ' <td>'+groupLeader.designer+'</td>';
|
||||
trHtml += ' <td>'+groupLeader.designCompleteSum+'</td>';
|
||||
trHtml += ' <td>'+Z.Amounts.toYuanMustRadix(groupLeader.designAmount)+'</td>';
|
||||
trHtml += ' <td>'+groupLeader.orderTypeSum+'</td>';
|
||||
trHtml += ' <td>'+Z.Amounts.toYuanMustRadix(groupLeader.orderTypeAmount)+'</td>';
|
||||
trHtml += ' <td>'+groupLeader.refundSum+'</td>';
|
||||
trHtml += ' <td>'+Z.Amounts.toYuanMustRadix(groupLeader.refundAmount)+'</td>';
|
||||
trHtml += ' <td>'+Z.Amounts.toYuanMustRadix(parseInt(groupLeader.designAmount) + parseInt(groupLeader.orderTypeAmount) + parseInt(groupLeader.refundAmount))+'</td>';
|
||||
trHtml += '</tr>';
|
||||
|
||||
aaa += parseInt(groupLeader.designAmount) + parseInt(groupLeader.orderTypeAmount) + parseInt(groupLeader.refundAmount);
|
||||
}
|
||||
|
||||
var groupMembers = groupModule.members;
|
||||
for(var i = 0; i < groupMembers.length; i++)
|
||||
{
|
||||
var member = groupMembers[i];
|
||||
trHtml += '<tr class="z-text-center z-h40 ">';
|
||||
trHtml += ' <td>'+member.designer+'</td>';
|
||||
trHtml += ' <td>'+member.designCompleteSum+'</td>';
|
||||
trHtml += ' <td>'+Z.Amounts.toYuanMustRadix(member.designAmount)+'</td>';
|
||||
trHtml += ' <td>'+member.orderTypeSum+'</td>';
|
||||
trHtml += ' <td>'+Z.Amounts.toYuanMustRadix(member.orderTypeAmount)+'</td>';
|
||||
trHtml += ' <td>'+member.refundSum+'</td>';
|
||||
trHtml += ' <td>'+Z.Amounts.toYuanMustRadix(member.refundAmount)+'</td>';
|
||||
trHtml += ' <td>'+Z.Amounts.toYuanMustRadix(parseInt(member.designAmount) + parseInt(member.orderTypeAmount) + parseInt(member.refundAmount))+'</td>';
|
||||
trHtml += '</tr>';
|
||||
|
||||
aaa += parseInt(member.designAmount) + parseInt(member.orderTypeAmount) + parseInt(member.refundAmount);
|
||||
}
|
||||
|
||||
console.log(aaa)
|
||||
if (!groupLeader && groupMembers.length == 0)
|
||||
{
|
||||
trHtml += '<tr class="z-text-center z-h40">';
|
||||
trHtml += ' <td colspan="12">暂时没有数据信息</td>';
|
||||
trHtml += '</tr>';
|
||||
}
|
||||
else
|
||||
{
|
||||
trHtml += '<tr class="z-text-right z-h40">';
|
||||
trHtml += ' <td colspan="12">共 <span class="z-text-red">'+(groupMembers.length+(groupLeader?1:0))+'</span> 条数据</td>';
|
||||
trHtml += '</tr>';
|
||||
}
|
||||
|
||||
resultHtml +=trHtml;
|
||||
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
resultHtml += '<tr class="z-text-center z-h40">';
|
||||
resultHtml += ' <td colspan="12">暂时没有数据信息</td>';
|
||||
resultHtml += '</tr>';
|
||||
Z.failure("加载数据异常");
|
||||
console.error(e);
|
||||
|
||||
}
|
||||
|
||||
resultHtml += '</table>';
|
||||
Z("#result").html(resultHtml);
|
||||
Z("#groupNameSpan").html(groupName);
|
||||
}
|
||||
</script>
|
||||
|
||||
${zhiqim_manager_breadcrumb("定稿统计")}
|
||||
${zhiqim_manager_content()}
|
||||
<#-- 导航栏 -->
|
||||
<div class="z-tabnav-main z-blue z-mg-b20">
|
||||
<nav>
|
||||
<ul>
|
||||
<li onclick="Z.L.href('personalPerformanceStat.htm');">个人绩效统计</li>
|
||||
<li onclick="Z.L.href('designerPerformanceStat.htm');">设计师绩效统计</li>
|
||||
<li class="z-active">设计组绩效统计</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<table class="z-table z-bordered z-pd6">
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<form name="theForm" action="designGroupPerformanceStat.htm">
|
||||
<table class="z-table">
|
||||
<tr class="z-h40" bgcolor="${zmr_thead_bgcolor}">
|
||||
<td class="z-bold z-px14 zi-pd-l5"> 查询条件:</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table class="z-table z-bordered z-pd6">
|
||||
<tr class="z-h40 z-bg-white">
|
||||
<td>
|
||||
设计组选择:
|
||||
<select name="groupId" class="z-select z-w120 z-mg-r10" data-role="z-select" data-class="${zmr_color_class}">
|
||||
<option>全部</option>
|
||||
<#for item : groupList>
|
||||
<option value="item.getGroupId()" <#if item.getGroupId()==groupId>selected</#if>>${item.getGroupName()}</option>
|
||||
</#for>
|
||||
</select>
|
||||
查询日期:
|
||||
<select name="year" class="z-select z-w110" data-role="z-select" data-class="${zmr_color_class}" value="${year}">
|
||||
<#for item : 2017..DateTimes.getCurrentYear()>
|
||||
<option value="${item}" <#if item==year>selected</#if>>${item}</option>
|
||||
</#for>
|
||||
</select>
|
||||
<select name="month" class="z-select z-w110" data-role="z-select" data-class="${zmr_color_class}" value="${month}">
|
||||
<option value="1" <#if month==1>selected</#if>>1</option>
|
||||
<#for item : 1..12>
|
||||
<option value="${item}" <#if item == month>selected</#if>>${item}</option>
|
||||
</#for>
|
||||
</select>
|
||||
<button class="z-mg-l10 z-button ${zmr_color_class}">查询</button>
|
||||
</td>
|
||||
</table>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="z-h40">
|
||||
<td width="500" valign="top">
|
||||
<table id="statTable" class="z-table z-bordered z-pd6 z-bg-white z-text-center">
|
||||
<tr class="z-h40" bgcolor="${zmr_thead_bgcolor}">
|
||||
<td>设计组</td>
|
||||
<td>总定稿单数</td>
|
||||
<td>平均定稿单数</td>
|
||||
<td>人数</td>
|
||||
<td>总设计绩效</td>
|
||||
</tr>
|
||||
<#for groupModule : groupPerformanceMap.values()>
|
||||
<tr class="z-h40" bgcolor="${zhiqim_manager_tr_bg(groupModule_index)}" onclick="showGroupMembersPromance('${groupModule.getGroup().getGroupId()}');">
|
||||
<td>${groupModule.getGroup().getGroupName()}</td>
|
||||
<td>${groupModule.getGroupCompleteSum()}</td>
|
||||
<td>${groupModule.getGroupCompleteAvgCount()}</td>
|
||||
<td>${groupModule.getMembers().size()+(groupModule.getGroupLeader() != null ? 1 : 0)}</td>
|
||||
<td>${Amounts.toYuanMustRadix(groupModule.getGroupPerformanceAmount())}</td>
|
||||
</tr>
|
||||
</#for>
|
||||
<#if groupPerformanceMap.size() == 0>
|
||||
${zhiqim_manager_no_record(10, "暂时没有定稿统计信息")}
|
||||
<#else>
|
||||
<tr class="z-text-right z-h40">
|
||||
<td colspan="10">共<span class=" z-mg-l5 z-mg-r5 z-text-red">${groupPerformanceMap.size()}</span>条数据</td>
|
||||
</tr>
|
||||
</#if>
|
||||
</table>
|
||||
</td>
|
||||
<td width="*" id="result" valign="top" id="result" ></td>
|
||||
</tr>
|
||||
</table>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,96 @@
|
||||
<#def designatedPath="/personalPerformanceStat.htm"/>
|
||||
${zhiqim_manager_breadcrumb("设计师绩效统计")}
|
||||
${zhiqim_manager_content()}
|
||||
<#-- 导航栏 -->
|
||||
<div class="z-tabnav-main z-blue z-mg-b20">
|
||||
<nav>
|
||||
<ul>
|
||||
<li onclick="Z.L.href('personalPerformanceStat.htm');">个人绩效统计</li>
|
||||
<li class="z-active">设计师绩效统计</li>
|
||||
<#if ZmrPathRule.check(request, "/notTimeoutCompleteOrderHistory.htm")><li onclick="Z.L.href('notTimeoutCompleteOrderHistory.htm');">时效绩效</li></#if>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<#-- 查询条件 -->
|
||||
${zhiqim_manager_title("查询条件")}
|
||||
<form name="theForm" action="/designerPerformanceStat.htm">
|
||||
<table class="z-table z-bordered z-pd6">
|
||||
<tr class="z-h40 z-bg-white">
|
||||
<td>
|
||||
设计师:
|
||||
<select name="operatorCode" class="z-select z-w140" data-role="z-select-search" data-class="${zmr_color_class}">
|
||||
<option value="">全部</option>
|
||||
<#for item : designerList>
|
||||
<option value="${item.getOperatorCode()}" <#if item.getOperatorCode() == operatorCode>selected</#if>>${item.getOperatorCode()}</option>
|
||||
</#for>
|
||||
</select>
|
||||
查询日期:
|
||||
<select name="year" class="z-select z-w110" data-role="z-select" data-class="${zmr_color_class}" value="${year}">
|
||||
<#for item : yearList>
|
||||
<option value="${item}" <#if item==year>selected</#if>>${item}</option>
|
||||
</#for>
|
||||
</select>
|
||||
<select name="month" class="z-select z-w110" data-role="z-select" data-class="${zmr_color_class}" value="${month}">
|
||||
<#for mm : 1..12>
|
||||
<option value="${mm}" <#if month==mm>selected</#if>>${mm}</option>
|
||||
</#for>
|
||||
</select>
|
||||
<button class="z-mg-l10 z-button ${zmr_color_class}">查询</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<br>
|
||||
|
||||
<#-- 分页列表-->
|
||||
<div class="z-w100p">
|
||||
<table class="z-table z-bordered z-bg-white z-pd6 z-w50p">
|
||||
${zhiqim_manager_tr_title(20,"设计师绩效统计")}
|
||||
<tr class="z-text-center z-h40" bgcolor="${zmr_thead_bgcolor}">
|
||||
<td width="130" class="z-bold">设计师</td>
|
||||
<td width="120">设计单数</td>
|
||||
<td width="125">设计绩效</td>
|
||||
<td width="130">特殊订单单数</td>
|
||||
<td width="145">特殊订单绩效</td>
|
||||
<td width="120">退款率</td>
|
||||
<td width="125">退款绩效</td>
|
||||
<td width="120">质检分</td>
|
||||
<td width="125">质检绩效</td>
|
||||
<td width="120">售后单数</td>
|
||||
<td width="125">售后扣罚</td>
|
||||
<td width="125">小组绩效</td>
|
||||
<td width="*">绩效总额</td>
|
||||
</tr>
|
||||
|
||||
<#for item : pageResult.list()>
|
||||
<tr class="z-text-center z-h40">
|
||||
<td>${item.getDesigner()}</td>
|
||||
<td>${item.getDesignCompleteSum()}</td>
|
||||
<td>${Amounts.toYuan(item.getDesignAmount())}</td>
|
||||
<td>${item.getOrderTypeSum()}</td>
|
||||
<td>${Amounts.toYuan(item.getOrderTypeAmount())}</td>
|
||||
<td>${Amounts.toYuan(item.getRefundRate())}%</td>
|
||||
<td>${Amounts.toYuan(item.getRefundAmount())}</td>
|
||||
<td>${item.getQcScore()}</td>
|
||||
<td>${Amounts.toYuan(item.getQcAmount())}</td>
|
||||
<td>${item.getAfterCount()}</td>
|
||||
<td>-${Amounts.toYuan(item.getAfterLossAmount())}</td>
|
||||
<#var groupAmount=groupMap.get(item.getDesigner())/>
|
||||
<#if groupAmount != null>
|
||||
<td>${Amounts.toYuan(groupAmount)}</td>
|
||||
<#else>
|
||||
<td>0</td>
|
||||
</#if>
|
||||
<#var amount=amountMap.get(item.getDesigner())/>
|
||||
<td>${Amounts.toYuan(amount)}</td>
|
||||
</tr>
|
||||
</#for>
|
||||
|
||||
<#if pageResult.size() == 0>
|
||||
${zhiqim_manager_no_record(20, "暂时没有设计师绩效")}
|
||||
</#if>
|
||||
</div>
|
||||
${zhiqim_manager_paging(pageResult, "designerPerformanceStat.htm")}
|
||||
</table>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,138 @@
|
||||
<#def designatedPath="/personalPerformanceStat.htm"/>
|
||||
${Scripts.src("/zinc/chart/highcharts.js")}
|
||||
${Scripts.src("/zinc/chart/exporting.js")}
|
||||
${Scripts.src("/zinc/chart/highcharts-zh_CN.js")}
|
||||
<script>
|
||||
Z.onload(function load()
|
||||
{
|
||||
|
||||
Highcharts.setOptions({
|
||||
colors: ['#696969', '#D3D3D3', '#778899']
|
||||
});
|
||||
|
||||
//饼图
|
||||
var chart = Highcharts.chart('container',
|
||||
{
|
||||
title: {text: '绩效分析(总金额:${amountSum})'},
|
||||
tooltip: {headerFormat: '{series.name}<br>',pointFormat: '{point.name}: <b>{point.percentage:.1f}%</b>'},
|
||||
plotOptions:
|
||||
{
|
||||
pie:
|
||||
{
|
||||
allowPointSelect: true, // 可以被选择
|
||||
cursor: 'pointer', // 鼠标样式
|
||||
dataLabels:
|
||||
{
|
||||
enabled: true,
|
||||
format: '<b>{point.name}</b>: {point.percentage:.1f} %',
|
||||
style: {color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black'}
|
||||
}
|
||||
}
|
||||
},
|
||||
series:
|
||||
[{
|
||||
type: 'pie',
|
||||
name: '组织派单占比',
|
||||
data:
|
||||
[
|
||||
<#for item : map.entrySet()>
|
||||
['${item.getKey()}', ${item.getValue()}],
|
||||
</#for>
|
||||
]
|
||||
}]
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
${zhiqim_manager_breadcrumb("个人绩效统计")}
|
||||
${zhiqim_manager_content()}
|
||||
<#-- 导航栏 -->
|
||||
<div class="z-tabnav-main z-blue z-mg-b20">
|
||||
<nav>
|
||||
<ul>
|
||||
<li class="z-active">个人绩效统计</li>
|
||||
<#if ZmrPathRule.check(request, "/designerPerformanceStat.htm")><li onclick="Z.L.href('designerPerformanceStat.htm');">设计师绩效统计</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/notTimeoutCompleteOrderHistory.htm")><li onclick="Z.L.href('notTimeoutCompleteOrderHistory.htm');">时效绩效</li></#if>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<#-- 查询条件 -->
|
||||
${zhiqim_manager_title("查询条件")}
|
||||
<form name="theForm" action="/personalPerformanceStat.htm">
|
||||
<table class="z-table z-bordered z-pd6">
|
||||
<tr class="z-h40 z-bg-white">
|
||||
<td>
|
||||
查询日期:
|
||||
<select name="year" class="z-select z-w110" data-role="z-select" data-class="${zmr_color_class}" value="${year}">
|
||||
<#for item : yearList>
|
||||
<option value="${item}" <#if item==year>selected</#if>>${item}</option>
|
||||
</#for>
|
||||
</select>
|
||||
<select name="month" class="z-select z-w110" data-role="z-select" data-class="${zmr_color_class}" value="${month}">
|
||||
<#for mm : 1..12>
|
||||
<option value="${mm}" <#if month==mm>selected</#if>>${mm}</option>
|
||||
</#for>
|
||||
</select>
|
||||
<button class="z-mg-l10 z-button ${zmr_color_class}">查询</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<#-- 分页列表-->
|
||||
<table class="z-table z-bordered z-pd6 z-bg-white">
|
||||
<tr>
|
||||
<td width="50%"><div id="container" class="z-bg-white" style="min-width:400px;height:600px"></div></td>
|
||||
<td width="*">
|
||||
<table class="z-table z-bordered-line z-pd10 z-bg-white z-text-left">
|
||||
<tr>
|
||||
<td colspan="4" class="z-bold">个人绩效统计表</td>
|
||||
</tr>
|
||||
<tr class="z-bg-gray">
|
||||
<td width="120">类别</td>
|
||||
<td width="100">数值</td>
|
||||
<td width="100">金额     (单位/元)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>设计</td>
|
||||
<td>${stat.getDesignCompleteSum()}</td>
|
||||
<td>${Amounts.toYuan(stat.getDesignAmount())}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>疑难订单</td>
|
||||
<td>${stat.getOrderTypeSum()}</td>
|
||||
<td>${Amounts.toYuan(stat.getOrderTypeAmount())}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>退款率</td>
|
||||
<td>${Amounts.toYuan(stat.getRefundRate())}%</td>
|
||||
<td>${Amounts.toYuan(stat.getRefundAmount())}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>质检绩效</td>
|
||||
<td>${stat.getQcScore()}</td>
|
||||
<td>${Amounts.toYuan(stat.getQcAmount())}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>售后扣罚</td>
|
||||
<td>${stat.getAfterCount()}</td>
|
||||
<td>-${Amounts.toYuan(stat.getAfterLossAmount())}</td>
|
||||
</tr>
|
||||
|
||||
<#if stat.getIsGroupLeader() ==1>
|
||||
<tr>
|
||||
<td colspan="2" align="left">小组绩效</td>
|
||||
<td>${groupBringAmount}</td>
|
||||
</tr>
|
||||
</#if>
|
||||
<tr class="z-bold">
|
||||
<td colspan="2" align="left">总金额</td>
|
||||
<td>${amountSum}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
${zhiqim_manager_content_end()}
|
||||
Reference in New Issue
Block a user