first commit
Esse commit está contido em:
@@ -0,0 +1,57 @@
|
||||
<#include "/ztmpl/zhiqim_manager/"+themeMain+"/define.htm"/>
|
||||
<script>
|
||||
function doViewDetail(designId)
|
||||
{
|
||||
var dialog = new Z.Dialog();
|
||||
dialog.title = "质检违规详情";
|
||||
dialog.url = "/qcViolationsDetail.htm?designId=" + designId;
|
||||
dialog.width = 800;
|
||||
dialog.height = 600;
|
||||
dialog.execute();
|
||||
}
|
||||
</script>
|
||||
<table class="z-table z-bordered z-bg-white z-text-center">
|
||||
<tr class="z-h40">
|
||||
<td class="z-text-left z-bold z-px14 z-bg-white" colspan="10"> <#if Validates.isNotEmpty(designer)><span class="z-text-red z-bold">[${designer}]</span></#if>质检违规订单</td>
|
||||
</tr>
|
||||
<tr class="z-h40 z-text-center z-bg-gray">
|
||||
<td width="150">订单号</td>
|
||||
<td width="100">店铺</td>
|
||||
<td width="100">旺旺号</td>
|
||||
<td width="100">设计师</td>
|
||||
<td width="*">产品</td>
|
||||
<td width="100">派单类型</td>
|
||||
<td width="90">录单时间</td>
|
||||
<td width="90">质检时间</td>
|
||||
<td width="90">质检状态</td>
|
||||
<td width="100">操作</td>
|
||||
</tr>
|
||||
<#if pageResult.total() == 0>
|
||||
<tr valign="middle" class="z-h40 z-text-center z-bg-white">
|
||||
<td colspan="11">暂不存在退款订单</td>
|
||||
</tr>
|
||||
</#if>
|
||||
<#for item : pageResult.list()>
|
||||
<tr align="center" class="z-h40 z-pointer" bgcolor="${zhiqim_manager_tr_bg(item_index)}">
|
||||
<td>${item.getDesignId()}</td>
|
||||
<td>${item.getShopNick()}</td>
|
||||
<td>${item.getBuyerNick()}</td>
|
||||
<td>${item.getDesigner()}</td>
|
||||
<td>${item.getOrderText()}</td>
|
||||
<td>
|
||||
<#if item.getReceiveType() == 0>手动领单</#if>
|
||||
<#if item.getReceiveType() == 1>自动派单</#if>
|
||||
<#if item.getReceiveType() == 2>指定派单</#if>
|
||||
</td>
|
||||
<td>${Sqls.toDateTimeString(item.getCreateTime())}</td>
|
||||
<td>${Sqls.toDateTimeString(item.getQcTime())}</td>
|
||||
<td>
|
||||
<#if item.getQcFlag()==0><span>未质检</span></#if>
|
||||
<#if item.getQcFlag()==1><span>质检正常</span></#if>
|
||||
<#if item.getQcFlag()==2><span class="z-text-red">质检违规</span></#if>
|
||||
</td>
|
||||
<td><#if item.getQcFlag() == 2><button class="z-button z-blue z-w80" onclick="doViewDetail(${item.getDesignId()})">详情</button></#if></td>
|
||||
</tr>
|
||||
</#for>
|
||||
</table>
|
||||
${zhiqim_manager_paging_jsMethod(pageResult, "doQueryQcDisposeInfo")}
|
||||
@@ -0,0 +1,56 @@
|
||||
<#include "/ztmpl/zhiqim_manager/"+themeMain+"/define.htm"/>
|
||||
<script>
|
||||
function doViewDetail(designId)
|
||||
{
|
||||
var dialog = new Z.Dialog();
|
||||
dialog.title = "质检违规详情";
|
||||
dialog.url = "/qcViolationsDetail.htm?designId=" + designId;
|
||||
dialog.width = 800;
|
||||
dialog.height = 600;
|
||||
dialog.execute();
|
||||
}
|
||||
</script>
|
||||
<table class="z-table z-bordered z-bg-white z-text-center">
|
||||
<tr class="z-h40">
|
||||
<td class="z-text-left z-bold z-px14 z-bg-white" colspan="10"> <#if Validates.isNotEmpty(designer)><span class="z-text-red z-bold">[${designer}]</span></#if>质检订单列表</td>
|
||||
</tr>
|
||||
<tr class="z-h40 z-text-center z-bg-gray">
|
||||
<td width="150">订单号</td>
|
||||
<td width="100">店铺</td>
|
||||
<td width="100">旺旺号</td>
|
||||
<td width="100">设计师</td>
|
||||
<td width="*">产品</td>
|
||||
<td width="100">派单类型</td>
|
||||
<td width="90">录单时间</td>
|
||||
<td width="90">质检时间</td>
|
||||
<td width="90">质检状态</td>
|
||||
<td width="100">操作</td>
|
||||
</tr>
|
||||
<#if pageResult.total() == 0>
|
||||
<tr valign="middle" class="z-h40 z-text-center z-bg-white">
|
||||
<td colspan="11">暂不存在质检违规订单</td>
|
||||
</tr>
|
||||
</#if>
|
||||
<#for item : pageResult.list()>
|
||||
<tr align="center" class="z-h40 z-pointer" bgcolor="${zhiqim_manager_tr_bg(item_index)}">
|
||||
<td>${item.getDesignId()}</td>
|
||||
<td>${item.getShopNick()}</td>
|
||||
<td>${item.getBuyerNick()}</td>
|
||||
<td>${item.getDesigner()}</td>
|
||||
<td>${item.getOrderText()}</td>
|
||||
<td>
|
||||
<#if item.getReceiveType() == 0>手动领单</#if>
|
||||
<#if item.getReceiveType() == 1>自动派单</#if>
|
||||
<#if item.getReceiveType() == 2>指定派单</#if>
|
||||
</td>
|
||||
<td>${Sqls.toDateTimeString(item.getCreateTime())}</td>
|
||||
<td>${Sqls.toDateTimeString(item.getQcTime())}</td>
|
||||
<td>
|
||||
<#if item.getQcFlag()==1>质检正常</#if>
|
||||
<#if item.getQcFlag()==2><span class="z-text-red">质检违规</span></#if>
|
||||
</td>
|
||||
<td><button class="z-button z-blue z-w80" onclick="doViewDetail(${item.getDesignId()})">详情</button></td>
|
||||
</tr>
|
||||
</#for>
|
||||
</table>
|
||||
${zhiqim_manager_paging_jsMethod(pageResult, "doQueryQcOrderInfo")}
|
||||
@@ -0,0 +1,133 @@
|
||||
<#def designatedPath="/qcReasonStat.htm"/>
|
||||
<script>
|
||||
Z.onload(function()
|
||||
{
|
||||
doQueryQcOrderInfo(1);
|
||||
|
||||
var calcTotal=function(table,column)
|
||||
{//合计,表格对象,对哪一列进行合计,第一列从0开始
|
||||
var trs=table.getElementsByTagName('tr');
|
||||
var start=1,//忽略第一行,从第二行开始
|
||||
end=trs.length-1;//忽略最后一行
|
||||
var total=0;
|
||||
for(var i=start;i<end;i++){
|
||||
var td=trs[i].getElementsByTagName('td')[column];
|
||||
var t=parseFloat(td.innerHTML);
|
||||
if(t)total+=t;
|
||||
}
|
||||
trs[end].getElementsByTagName('td')[column-1].innerHTML=total;
|
||||
};
|
||||
|
||||
calcTotal(document.getElementById('statTable'),2);
|
||||
calcTotal(document.getElementById('statTable'),3);
|
||||
calcTotal(document.getElementById('statTable'),4);
|
||||
});
|
||||
|
||||
var designer;
|
||||
function doQueryQcOrder(designers)
|
||||
{
|
||||
designer = designers;
|
||||
doQueryQcOrderInfo(1);
|
||||
}
|
||||
|
||||
function doQueryQcOrderInfo(page)
|
||||
{
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setClassName("StatPresenter");
|
||||
ajax.setMethodName("doQueryQcOrder");
|
||||
ajax.addParam("page",page);
|
||||
ajax.addParam("year", Z("#year").val());
|
||||
ajax.addParam("month", Z("#month").val());
|
||||
ajax.addParam("designer", designer);
|
||||
ajax.setCallback("result");
|
||||
ajax.setLoading("result");
|
||||
ajax.execute();
|
||||
}
|
||||
</script>
|
||||
|
||||
${zhiqim_manager_breadcrumb("设计师质检统计")}
|
||||
${zhiqim_manager_content()}
|
||||
<#-- 导航栏 -->
|
||||
<div class="z-tabnav-main z-blue z-mg-b20">
|
||||
<nav>
|
||||
<ul>
|
||||
<li onclick="Z.Location.href('qcReasonStat.htm');">质检原因统计</li>
|
||||
<li class="z-active">设计师质检统计</li>
|
||||
<#if ZmrPathRule.check(request, "/qcDisposeStat.htm")><li onclick="Z.L.href('/qcDisposeStat.htm')">质检处理统计</li></#if>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<table class="z-table z-bordered z-pd6">
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<form name="theForm" action="qcDesignerStat.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 id="year" 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 id="month" 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>
|
||||
<option value="2" <#if month==2>selected</#if>>2</option>
|
||||
<option value="3" <#if month==3>selected</#if>>3</option>
|
||||
<option value="4" <#if month==4>selected</#if>>4</option>
|
||||
<option value="5" <#if month==5>selected</#if>>5</option>
|
||||
<option value="6" <#if month==6>selected</#if>>6</option>
|
||||
<option value="7" <#if month==7>selected</#if>>7</option>
|
||||
<option value="8" <#if month==8>selected</#if>>8</option>
|
||||
<option value="9" <#if month==9>selected</#if>>9</option>
|
||||
<option value="10" <#if month==10>selected</#if>>10</option>
|
||||
<option value="11" <#if month==11>selected</#if>>11</option>
|
||||
<option value="12" <#if month==12>selected</#if>>12</option>
|
||||
</select>
|
||||
<input type="hidden" name="query" id="query" value="1" >
|
||||
<button class="z-mg-l10 z-button ${zmr_color_class}">查询</button>
|
||||
</td>
|
||||
</table>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="z-h40">
|
||||
<td width="400" valign="top">
|
||||
<table class="z-table z-bordered z-pd6 z-bg-white z-text-center" id="statTable">
|
||||
<tr class="z-h40">
|
||||
<td>序号</td>
|
||||
<td>设计师</td>
|
||||
<td>质检分数</td>
|
||||
<td>好评加分</td>
|
||||
<td>违规扣分</td>
|
||||
</tr>
|
||||
<#for item : modelList>
|
||||
<tr class="z-h40 <#if (item.getQcScore()-item.getPunishScore()) lt 1 >z-text-red</#if>" onclick="doQueryQcOrder('${item.getDesigner()}');">
|
||||
<td>${item_index + 1}</td>
|
||||
<td>${item.getDesigner()}</td>
|
||||
<td>${item.getQcScore()}</td>
|
||||
<td>${item.getRewardScore()}</td>
|
||||
<td>-${item.getPunishScore()}</td>
|
||||
</tr>
|
||||
</#for>
|
||||
<#if modelList.size() == 0>
|
||||
${zhiqim_manager_no_record(5, "暂时没有质检统计信息")}
|
||||
<#else>
|
||||
<tr class="z-h40" bgcolor="${zmr_thead_bgcolor}">
|
||||
<td colspan="2">总计</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</#if>
|
||||
</table>
|
||||
</td>
|
||||
<td width="*" id="result" valign="top" id="result" ></td>
|
||||
</tr>
|
||||
</table>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,121 @@
|
||||
<#def designatedPath="/qcReasonStat.htm"/>
|
||||
<script>
|
||||
Z.onload(function()
|
||||
{
|
||||
doQueryQcDisposeInfo(1);
|
||||
|
||||
var calcTotal=function(table,column)
|
||||
{//合计,表格对象,对哪一列进行合计,第一列从0开始
|
||||
var trs=table.getElementsByTagName('tr');
|
||||
var start=1,//忽略第一行,从第二行开始
|
||||
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-1].innerHTML=total;
|
||||
};
|
||||
|
||||
calcTotal(document.getElementById('statTable'),2);
|
||||
calcTotal(document.getElementById('statTable'),3);
|
||||
|
||||
var divisor = document.getElementById("divisor").innerHTML;
|
||||
var dividend = document.getElementById("dividend").innerHTML;
|
||||
var answer = (dividend * 100 / divisor).toFixed(2);
|
||||
|
||||
document.getElementById("answer").innerHTML = answer + '%';
|
||||
});
|
||||
|
||||
var operatorCode;
|
||||
function doQueryQcDispose(operatorCodes)
|
||||
{
|
||||
operatorCode = operatorCodes;
|
||||
doQueryQcDisposeInfo(1);
|
||||
}
|
||||
|
||||
function doQueryQcDisposeInfo(page)
|
||||
{
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setClassName("StatPresenter");
|
||||
ajax.setMethodName("doQueryQcDispose");
|
||||
ajax.addParam("page",page);
|
||||
ajax.addParam("beginDate", Z("#beginDate").val());
|
||||
ajax.addParam("endDate", Z("#endDate").val());
|
||||
ajax.addParam("operatorCode", operatorCode);
|
||||
ajax.setCallback("result");
|
||||
ajax.setLoading("result");
|
||||
ajax.execute();
|
||||
}
|
||||
</script>
|
||||
|
||||
${zhiqim_manager_breadcrumb("质检处理统计")}
|
||||
${zhiqim_manager_content()}
|
||||
<#-- 导航栏 -->
|
||||
<div class="z-tabnav-main z-blue z-mg-b20">
|
||||
<nav>
|
||||
<ul>
|
||||
<li onclick="Z.Location.href('qcReasonStat.htm');">质检原因统计</li>
|
||||
<#if ZmrPathRule.check(request, "/qcDesignerStat.htm")><li onclick="Z.L.href('/qcDesignerStat.htm')">设计师质检统计</li></#if>
|
||||
<li class="z-active">质检处理统计</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<table class="z-table z-bordered z-pd6">
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<form name="theForm" action="qcDisposeStat.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>查询日期:
|
||||
<input name="beginDate" id="beginDate" onfocus="Z.date(this);" readonly class="z-input ${zmr_color_class} z-w100" value="${beginDate}">-
|
||||
<input name="endDate" id="endDate" onfocus="Z.date(this);" readonly class="z-input ${zmr_color_class} z-w100" value="${endDate}">
|
||||
<input type="hidden" name="query" id="query" value="1" >
|
||||
<button class="z-mg-l10 z-button ${zmr_color_class}">查询</button>
|
||||
</td>
|
||||
</table>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="z-h40">
|
||||
<td width="400" valign="top">
|
||||
<table class="z-table z-bordered z-pd6 z-bg-white z-text-center" id="statTable">
|
||||
<tr class="z-h40">
|
||||
<td>序号</td>
|
||||
<td>处理人</td>
|
||||
<td>处理单数</td>
|
||||
<td>违规单数</td>
|
||||
<td>违规占比</td>
|
||||
</tr>
|
||||
<#for item : modelList>
|
||||
<tr class="z-h40" onclick="doQueryQcDispose('${item.getOperatorCode()}');">
|
||||
<td>${item_index + 1}</td>
|
||||
<td>${item.getOperatorCode()}</td>
|
||||
<td>${item.getQcCount()}</td>
|
||||
<td>${item.getViolationsCount()}</td>
|
||||
<td>${Maths.division(item.getViolationsCount()*100, item.getQcCount(), 2)}%</td>
|
||||
</tr>
|
||||
</#for>
|
||||
<#if modelList.size() == 0>
|
||||
${zhiqim_manager_no_record(5, "暂时没有质检统计信息")}
|
||||
<#else>
|
||||
<tr class="z-h40" bgcolor="${zmr_thead_bgcolor}">
|
||||
<td colspan="2">总计</td>
|
||||
<td id="divisor"></td>
|
||||
<td id="dividend"></td>
|
||||
<td id="answer"></td>
|
||||
</tr>
|
||||
</#if>
|
||||
</table>
|
||||
</td>
|
||||
<td width="*" id="result" valign="top" id="result" ></td>
|
||||
</tr>
|
||||
</table>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,90 @@
|
||||
${Styles.htmlOverflowHidden()}
|
||||
${Scripts.src("/zinc/chart/highcharts.js")}
|
||||
${Scripts.src("/zinc/chart/exporting.js")}
|
||||
${Scripts.src("/zinc/chart/highcharts-zh_CN.js")}
|
||||
<script>
|
||||
Z.onload(function()
|
||||
{
|
||||
var chart = Highcharts.chart('container',
|
||||
{
|
||||
plotBackgroundColor: null,
|
||||
plotBorderWidth: null,
|
||||
plotShadow: false,
|
||||
type: 'pie',
|
||||
title: {text: '质检违规原因分析'},
|
||||
tooltip: {headerFormat: '{series.name}<br>',pointFormat: '{point.name}: <b>{point.percentage:.1f}%</b>'},
|
||||
plotOptions:
|
||||
{
|
||||
pie:
|
||||
{
|
||||
allowPointSelect: true, // 可以被选择
|
||||
cursor: 'pointer', // 鼠标样式
|
||||
dataLabels:
|
||||
{
|
||||
enabled: true,
|
||||
useHTML: true,
|
||||
format: '<span style=" white-space:normal;">{point.name}</span>'
|
||||
+ '<span style="display:block;">订单数量:{point.y}</span>'
|
||||
+ '<span style="display:block;">占比:{point.percentage:.1f} % </span>',
|
||||
}
|
||||
}
|
||||
},
|
||||
series:
|
||||
[{
|
||||
type: 'pie',
|
||||
name: '违规原因占比',
|
||||
data:
|
||||
[
|
||||
<#for item : map.entrySet()>
|
||||
['${item.getKey()}', ${item.getValue()}],
|
||||
</#for>
|
||||
]
|
||||
}]
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
${zhiqim_manager_breadcrumb("质检原因统计")}
|
||||
${zhiqim_manager_content()}
|
||||
|
||||
<#-- 导航 -->
|
||||
<div data-role="z-tabnav" class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
|
||||
<nav>
|
||||
<ul>
|
||||
<li class="z-active">质检原因统计</li>
|
||||
<#if ZmrPathRule.check(request, "/qcDesignerStat.htm")><li onclick="Z.L.href('/qcDesignerStat.htm');">设计师质检统计</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/qcDisposeStat.htm")><li onclick="Z.L.href('/qcDisposeStat.htm');">质检处理统计</li></#if>
|
||||
</ul>
|
||||
<div class="z-float-left z-mg10 z-lh30">
|
||||
<form name="theForm" action="/qcReasonStat.htm" method="post">
|
||||
质检日期:
|
||||
<input name="beginDate" class="z-input z-w100 ${zmr_color_class}" readonly="true" onfocus="Z.date(this);" value="${beginDate}"> -
|
||||
<input name="endDate" class="z-input z-w100 ${zmr_color_class}" readonly="true" onfocus="Z.date(this);" value="${endDate}">
|
||||
<button class="z-button z-w80 z-blue z-mg-l10"><i class="z-font z-query"></i>查询</button>
|
||||
</form>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
|
||||
<table class="z-table z-bordered z-pd6 z-bg-white">
|
||||
<tr>
|
||||
<td width="60%"><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-h40-tr z-pd5 z-bg-white z-text-center">
|
||||
<tr>
|
||||
<td width="50%">违规原因</td>
|
||||
<td width="50%">违规单数</td>
|
||||
</tr>
|
||||
<#for item : map.entrySet()>
|
||||
<tr>
|
||||
<td>${item.getKey()}</td>
|
||||
<td>${item.getValue()}</td>
|
||||
</tr>
|
||||
</#for>
|
||||
${zhiqim_manager_tr_no_record(pageResult, 20, "没有质检订单")}
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
${zhiqim_manager_content_end()}
|
||||
Referência em uma Nova Issue
Bloquear um usuário