first commit
This commit is contained in:
@@ -0,0 +1,138 @@
|
||||
<#def designatedPath="/personalRefundRateStat.htm"/>
|
||||
<script>
|
||||
Z.onload(function()
|
||||
{
|
||||
<#if Validates.isNotEmpty(designer) >
|
||||
doQueryRefund('${designer}');
|
||||
</#if>
|
||||
|
||||
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].innerHTML=total;
|
||||
};
|
||||
|
||||
calcTotal(document.getElementById('statTable'),2);
|
||||
calcTotal(document.getElementById('statTable'),4);
|
||||
calcTotal(document.getElementById('statTable'),7);
|
||||
});
|
||||
|
||||
var designer;
|
||||
function doQueryRefund(designers)
|
||||
{
|
||||
designer = designers;
|
||||
doQueryRefundOrderInfo(1);
|
||||
}
|
||||
|
||||
function doQueryRefundOrderInfo(page)
|
||||
{
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setClassName("StatPresenter");
|
||||
ajax.setMethodName("doQueryRefundDetail");
|
||||
ajax.addParam("page",page);
|
||||
ajax.addParam("beginDate", Z("#beginDate").val());
|
||||
ajax.addParam("endDate", Z("#endDate").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 class="z-active">退款率统计</li>
|
||||
<#if ZmrPathRule.check(request, "/designOrderRefundStat.htm")><li onclick="Z.L.href('designOrderRefundStat.htm')">订单退款统计</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/designRefundOrgTotalStatistics.htm")><li onclick="Z.L.href('designRefundOrgTotalStatistics.htm')">组织退款统计</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/designRefundPrdTypeStatistics.htm")><li onclick="Z.L.href('designRefundPrdTypeStatistics.htm')">产品退款统计</li></#if>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<table class="z-table z-bordered z-pd6">
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<form name="theForm" action="designOrderRefundRateStat.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-w120" value="<#if Validates.isNotEmpty(beginDate)>${beginDate}<#else>${DateTimes.getFirstMonthDay()}</#if>"> -
|
||||
<input name="endDate" id="endDate" onfocus="Z.date(this);" readonly class="z-input ${zmr_color_class} z-w120"value="<#if Validates.isNotEmpty(endDate)>${endDate}<#else>${DateTimes.getDateString()}</#if>">
|
||||
<#if isOrgRoot>  设计师:<input name="designer" class="${zmr_color_class} z-input z-w160 z-mg-l4" value="${designer}" maxlength="64" placeholder="设计师"></#if>
|
||||
 
|
||||
组织:
|
||||
|
||||
<select name="orgId" id="orgId" class="z-select z-w180" data-role="z-select" data-class="${zmr_color_class}">
|
||||
<option value="">全部</option>
|
||||
<#for item : orgList>
|
||||
<option value="${item.getOrgId()}" <#if item.getOrgId() == orgId>selected</#if>>${item.getOrgName()}</option>
|
||||
</#for>
|
||||
</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="600" 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>
|
||||
<td>退款率</td>
|
||||
<td>退款金额比例</td>
|
||||
</tr>
|
||||
<#for item : designerStatList>
|
||||
<tr class="z-h40 <#if item.getRefundRate() gt 600 >z-text-red</#if>" onclick="doQueryRefund('${item.getDesigner()}');">
|
||||
<td>${item.getDesigner()}</td>
|
||||
<td>${item.getSumCount()}</td>
|
||||
<td>${Amounts.toYuan(item.getFinalizeMoneySum())}</td>
|
||||
<td>${item.getRefundCount()}</td>
|
||||
<td>${Amounts.toYuan(item.getRefundMoneySum())}</td>
|
||||
<td>${Amounts.toYuan(item.getRefundRate())}%</td>
|
||||
<td>${CalculationUtil.designerRefundCalculate(item.getFinalizeMoneySum(),item.getRefundMoneySum())}</td>
|
||||
</tr>
|
||||
</#for>
|
||||
<#if completeList.size() == 0>
|
||||
${zhiqim_manager_no_record(5, "暂时没有退款率统计信息")}
|
||||
<#else>
|
||||
<tr class="z-h40" bgcolor="${zmr_thead_bgcolor}">
|
||||
<td>总计</td>
|
||||
<td>${sum}</td>
|
||||
<td></td>
|
||||
<td>${refundSum}</td>
|
||||
<td></td>
|
||||
<td><#if sum gt 0>${Maths.division(refundSum*100, sum, 1)}%<#else>0.0%</#if></td>
|
||||
<td>${CalculationUtil.designerRefundCalculate(finalizeMoneyMerge,refundMoneyMerge)}</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,94 @@
|
||||
${Scripts.src("/zinc/chart/highcharts.js")}
|
||||
${Scripts.src("/zinc/chart/exporting.js")}
|
||||
${Scripts.src("/zinc/chart/highcharts-zh_CN.js")}
|
||||
<script>
|
||||
Z.onload(function()
|
||||
{
|
||||
Highcharts.chart('container',
|
||||
{
|
||||
chart: {plotBackgroundColor: null,plotBorderWidth: null,plotShadow: false,type: 'pie'},
|
||||
title: {text: '订单退款总统计(总单量:'+${allCount}+')'},
|
||||
tooltip: {pointFormat: '{series.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:
|
||||
[{
|
||||
name: '百分比',
|
||||
colorByPoint: true,
|
||||
data:[
|
||||
<#for key : map.keySet()>
|
||||
{name: '${key}',y: ${map.get(key)}},
|
||||
</#for>
|
||||
]
|
||||
}]
|
||||
});
|
||||
});
|
||||
</script>
|
||||
${zhiqim_manager_breadcrumb("订单退款统计")}
|
||||
${zhiqim_manager_content()}
|
||||
<#-- 导航栏 -->
|
||||
<div class="z-tabnav-main z-blue z-mg-b20">
|
||||
<nav>
|
||||
<ul>
|
||||
<#if ZmrPathRule.check(request, "/designOrderRefundRateStat.htm")><li onclick="Z.Location.href('designOrderRefundRateStat.htm')">退款率统计</li></#if>
|
||||
<li class="z-active">订单退款统计</li>
|
||||
<#if ZmrPathRule.check(request, "/designRefundOrgTotalStatistics.htm")><li onclick="Z.L.href('designRefundOrgTotalStatistics.htm')">组织退款统计</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/designRefundPrdTypeStatistics.htm")><li onclick="Z.L.href('designRefundPrdTypeStatistics.htm')">产品退款统计</li></#if>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<#-- 查询条件 -->
|
||||
${zhiqim_manager_title("查询条件")}
|
||||
<form name="theForm" action="/designOrderRefundStat.htm">
|
||||
<table class="z-table z-bordered z-pd6">
|
||||
<tr class="z-h40 z-bg-white">
|
||||
<td>录单时间:
|
||||
<input name="beginDate" onfocus="Z.date(this);" readonly class="z-input ${zmr_color_class} z-w100" value="${beginDate}"> -
|
||||
<input name="endDate" onfocus="Z.date(this);" readonly class="z-input ${zmr_color_class} z-w100 z-mg-r30 " value="${endDate}">
|
||||
<button class="z-large z-w120 z-button ${zmr_color_class}">查询</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<br>
|
||||
|
||||
<#-- 分页列表-->
|
||||
<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-pd10 z-bg-white z-text-left">
|
||||
<tr class="z-bg-gray">
|
||||
<td width="200">订单类型</td>
|
||||
<td width="150">单量</td>
|
||||
<td width="*">百分比</td>
|
||||
</tr>
|
||||
<#for key : map.keySet()>
|
||||
<tr>
|
||||
<td>${key}</td>
|
||||
<td>${map.get(key)}</td>
|
||||
<td><#if allCount gt 0>${Maths.division(map.get(key)*100, allCount, 1)}%<#else>0.0%</#if></td>
|
||||
</tr>
|
||||
</#for>
|
||||
<tr class="z-bold">
|
||||
<td>总单量</td>
|
||||
<td colspan="2">${allCount}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,116 @@
|
||||
${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 orgAllOrder = '${refundOrgMergeCount}';
|
||||
Highcharts.chart('container',
|
||||
{
|
||||
chart: {plotBackgroundColor: null,plotBorderWidth: null,plotShadow: false,type: 'pie'},
|
||||
title: {text: '组织退款总统计(总退款量:'+orgAllOrder+')'},
|
||||
tooltip: {pointFormat: '{series.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:
|
||||
[{
|
||||
name: '组织退款占比',
|
||||
colorByPoint: true,
|
||||
data:[
|
||||
<#for item : pieMap.keySet()>
|
||||
{name: '${item}',y: ${pieMap.get(item)}},
|
||||
</#for>
|
||||
]
|
||||
}]
|
||||
});
|
||||
});
|
||||
</script>
|
||||
${zhiqim_manager_breadcrumb("组织退款统计")}
|
||||
${zhiqim_manager_content()}
|
||||
<#-- 导航栏 -->
|
||||
<div class="z-tabnav-main z-blue z-mg-b20">
|
||||
<nav>
|
||||
<ul>
|
||||
<#if ZmrPathRule.check(request, "/designOrderRefundRateStat.htm")><li onclick="Z.Location.href('designOrderRefundRateStat.htm')">退款率统计</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/designOrderRefundStat.htm")><li onclick="Z.L.href('designOrderRefundStat.htm')">订单退款统计</li></#if>
|
||||
<li class="z-active">组织退款统计</li>
|
||||
<#if ZmrPathRule.check(request, "/designRefundPrdTypeStatistics.htm")><li onclick="Z.L.href('designRefundPrdTypeStatistics.htm')">产品退款统计</li></#if>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<#-- 查询条件 -->
|
||||
${zhiqim_manager_title("查询条件")}
|
||||
<form name="theForm" action="/designRefundOrgTotalStatistics.htm">
|
||||
<table class="z-table z-bordered z-pd6">
|
||||
<tr class="z-h40 z-bg-white">
|
||||
<td>查询日期:
|
||||
<select name="year" class="z-select" data-role="z-select" data-class="z-blue">
|
||||
<#for yyyy : 2018..DateTimes.getCurrentYear()>
|
||||
<option value="${yyyy}" <#if year==yyyy>selected</#if>>${yyyy}</option>
|
||||
</#for>
|
||||
</select>
|
||||
<select name="month" class="z-select" data-role="z-select" data-class="z-blue">
|
||||
<#for mm : 1..12>
|
||||
<option value="${mm}" <#if month==mm>selected</#if>>${mm}</option>
|
||||
</#for>
|
||||
</select>
|
||||
<button type="submit" class="z-mg-l10 z-button ${zmr_color_class}">查询</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<br>
|
||||
|
||||
<#-- 分页列表-->
|
||||
<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" style="text-align:center">
|
||||
<tr class="z-bold">
|
||||
<td width="20%">组织名称</td>
|
||||
<td width="10%">总接单量</td>
|
||||
<td width="10%">退款单量</td>
|
||||
<td width="10%">退款率</td>
|
||||
<td width="15%">退款金额</td>
|
||||
<td width="15%">总订单金额</td>
|
||||
<td width="20%">组织金额退款比例</td>
|
||||
</tr>
|
||||
<#for item : refundOrgList>
|
||||
<tr>
|
||||
<td>${item.getOrgName()}</td>
|
||||
<td>${item.getOrgOrderCount()}</td>
|
||||
<td>${item.getOrgRefundCount()}</td>
|
||||
<td>${CalculationUtil.designerRefundCalculate(item.getOrgOrderCount(),item.getOrgRefundCount())}</td>
|
||||
<td>${Amounts.toYuan(item.getOrgRefundMoneySum())}</td>
|
||||
<td>${Amounts.toYuan(item.getOrgOrderMoneySum())}</td>
|
||||
<td>${CalculationUtil.designerRefundCalculate(item.getOrgOrderMoneySum(),item.getOrgRefundMoneySum())}</td>
|
||||
</tr>
|
||||
</#for>
|
||||
<tr class="z-bold">
|
||||
<td>总计</td>
|
||||
<td>${orgOrderMergeCount}</td>
|
||||
<td>${refundOrgMergeCount}</td>
|
||||
<td>${CalculationUtil.designerRefundCalculate(orgOrderMergeCount,refundOrgMergeCount)}</td>
|
||||
<td>${Amounts.toYuan(refundOrgMoneySum)}</td>
|
||||
<td>${Amounts.toYuan(orgOrderMoneySum)}</td>
|
||||
<td>${CalculationUtil.designerRefundCalculate(orgOrderMoneySum / 100,refundOrgMoneySum / 100)}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,116 @@
|
||||
${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 refundAllOrder = '${refundPrdTypeMergeCount}';
|
||||
Highcharts.chart('container',
|
||||
{
|
||||
chart: {plotBackgroundColor: null,plotBorderWidth: null,plotShadow: false,type: 'pie'},
|
||||
title: {text: '产品退款率总统计(总退款量:'+refundAllOrder+')'},
|
||||
tooltip: {pointFormat: '{series.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:
|
||||
[{
|
||||
name: '产品退款占比',
|
||||
colorByPoint: true,
|
||||
data:[
|
||||
<#for item : pieMap.keySet()>
|
||||
{name: '${item}',y: ${pieMap.get(item)}},
|
||||
</#for>
|
||||
]
|
||||
}]
|
||||
});
|
||||
});
|
||||
</script>
|
||||
${zhiqim_manager_breadcrumb("产品退款统计")}
|
||||
${zhiqim_manager_content()}
|
||||
<#-- 导航栏 -->
|
||||
<div class="z-tabnav-main z-blue z-mg-b20">
|
||||
<nav>
|
||||
<ul>
|
||||
<#if ZmrPathRule.check(request, "/designOrderRefundRateStat.htm")><li onclick="Z.Location.href('designOrderRefundRateStat.htm')">退款率统计</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/designOrderRefundStat.htm")><li onclick="Z.L.href('designOrderRefundStat.htm')">订单退款统计</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/designRefundOrgTotalStatistics.htm")><li onclick="Z.L.href('designRefundOrgTotalStatistics.htm')">组织退款统计</li></#if>
|
||||
<li class="z-active">产品退款统计</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<#-- 查询条件 -->
|
||||
${zhiqim_manager_title("查询条件")}
|
||||
<form name="theForm" action="/designRefundPrdTypeStatistics.htm">
|
||||
<table class="z-table z-bordered z-pd6">
|
||||
<tr class="z-h40 z-bg-white">
|
||||
<td>查询日期:
|
||||
<select name="year" class="z-select" data-role="z-select" data-class="z-blue">
|
||||
<#for yyyy : 2018..DateTimes.getCurrentYear()>
|
||||
<option value="${yyyy}" <#if year==yyyy>selected</#if>>${yyyy}</option>
|
||||
</#for>
|
||||
</select>
|
||||
<select name="month" class="z-select" data-role="z-select" data-class="z-blue">
|
||||
<#for mm : 1..12>
|
||||
<option value="${mm}" <#if month==mm>selected</#if>>${mm}</option>
|
||||
</#for>
|
||||
</select>
|
||||
<button type="submit" class="z-mg-l10 z-button ${zmr_color_class}">查询</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<br>
|
||||
|
||||
<#-- 分页列表-->
|
||||
<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" style="text-align:center">
|
||||
<tr class="z-bold">
|
||||
<td width="20%">产品名称</td>
|
||||
<td width="10%">总单量</td>
|
||||
<td width="10%">退款单量</td>
|
||||
<td width="10%">退款率</td>
|
||||
<td width="15%">退款金额</td>
|
||||
<td width="15%">总订单金额</td>
|
||||
<td width="20%">产品金额退款比例</td>
|
||||
</tr>
|
||||
<#for item : refundPrdTypeList>
|
||||
<tr>
|
||||
<td>${item.getPrdName()}</td>
|
||||
<td>${item.getPrdOrderCount()}</td>
|
||||
<td>${item.getPrdRefundCount()}</td>
|
||||
<td>${CalculationUtil.designerRefundCalculate(item.getPrdOrderCount(),item.getPrdRefundCount())}</td>
|
||||
<td>${Amounts.toYuan(item.getPrdRefundMoneySum())}</td>
|
||||
<td>${Amounts.toYuan(item.getPrdOrderMoneySum())}</td>
|
||||
<td>${CalculationUtil.designerRefundCalculate(item.getPrdOrderMoneySum(),item.getPrdRefundMoneySum())}</td>
|
||||
</tr>
|
||||
</#for>
|
||||
<tr class="z-bold">
|
||||
<td>总计</td>
|
||||
<td>${prdTypeOrderMergeCount}</td>
|
||||
<td>${refundPrdTypeMergeCount}</td>
|
||||
<td>${CalculationUtil.designerRefundCalculate(prdTypeOrderMergeCount,refundPrdTypeMergeCount)}</td>
|
||||
<td>${Amounts.toYuan(refundPrdTypeMoneySum)}</td>
|
||||
<td>${Amounts.toYuan(prdTypeOrderMoneySum)}</td>
|
||||
<td>${CalculationUtil.designerRefundCalculate(prdTypeOrderMoneySum / 100,refundPrdTypeMoneySum / 100)}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
${zhiqim_manager_content_end()}
|
||||
@@ -0,0 +1,74 @@
|
||||
<#include "/ztmpl/zhiqim_manager/"+themeMain+"/define.htm"/>
|
||||
|
||||
<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="140">订单号</td>
|
||||
<td width="100">店铺</td>
|
||||
<td width="100">旺旺号</td>
|
||||
<td width="100">设计师</td>
|
||||
<td width="*">产品</td>
|
||||
<td width="80">订单金额</td>
|
||||
<td width="90">领单时间</td>
|
||||
<td width="90">退款时间</td>
|
||||
<td width="90">退款原因</td>
|
||||
</tr>
|
||||
<#if refundResult.total == 0>
|
||||
<tr valign="middle" class="z-h40 z-text-center z-bg-white">
|
||||
<td colspan="11">暂不存在退款订单</td>
|
||||
</tr>
|
||||
</#if>
|
||||
<#for item : responsibleRefundResult.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>${Amounts.toYuan(item.getAmount())}</td>
|
||||
<td>${Sqls.toDateTimeString(item.getDesignReceiveTime())}</td>
|
||||
<td>${item.getRefundTime()}</td>
|
||||
<td>${Global.get(DesignOrderRefundReasonCache.class).getName(item.getRefundReason())}</td>
|
||||
</tr>
|
||||
</#for>
|
||||
</table>
|
||||
${zhiqim_manager_paging_jsMethod(responsibleRefundResult, "doQueryRefundOrderInfo")}
|
||||
|
||||
<table class="z-table z-bordered z-bg-white z-text-center z-mg-t20">
|
||||
<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="140">订单号</td>
|
||||
<td width="100">店铺</td>
|
||||
<td width="100">旺旺号</td>
|
||||
<td width="100">设计师</td>
|
||||
<td width="*">产品</td>
|
||||
<td width="80">订单金额</td>
|
||||
<td width="90">领单时间</td>
|
||||
<td width="90">退款时间</td>
|
||||
<td width="90">退款原因</td>
|
||||
</tr>
|
||||
<#if refundResult.total == 0>
|
||||
<tr valign="middle" class="z-h40 z-text-center z-bg-white ">
|
||||
<td colspan="11">暂不存在退款订单</td>
|
||||
</tr>
|
||||
</#if>
|
||||
<#for item : noResponsibleRefundResult.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>${Amounts.toYuan(item.getAmount())}</td>
|
||||
<td>${Sqls.toDateTimeString(item.getDesignReceiveTime())}</td>
|
||||
<td>${item.getRefundTime()}</td>
|
||||
<td>${Global.get(DesignOrderRefundReasonCache.class).getName(item.getRefundReason())}</td>
|
||||
</tr>
|
||||
</#for>
|
||||
</table>
|
||||
${zhiqim_manager_paging_jsMethod(noResponsibleRefundResult, "doQueryRefundOrderInfo")}
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
<style>
|
||||
body{ text-align:center}
|
||||
.div{ margin:0 auto; width:600px; height:300px; border:5px solid #F00}
|
||||
</style>
|
||||
<script>
|
||||
|
||||
var uploadmultpreview = null;
|
||||
Z.onload(function()
|
||||
{
|
||||
var nowDate = new Date();
|
||||
var year = nowDate.getFullYear();
|
||||
var month = nowDate.getMonth() + 1 < 10 ? "0" + (nowDate.getMonth() + 1): nowDate.getMonth() + 1;
|
||||
var day = nowDate.getDate() < 10 ? "0" + nowDate.getDate() : nowDate.getDate();
|
||||
var date = year + "" + month + "" + day;
|
||||
uploadmultpreview = new Z.Uploadmult();
|
||||
uploadmultpreview.elem = "ZUploadmultPreview";
|
||||
uploadmultpreview.fileDir = date+"/申诉图片/${designId}";
|
||||
uploadmultpreview.onPreview = function(results)
|
||||
{
|
||||
uploadmultpreview.buildPreviewHtml("ZUploadmultPreviewLocation");
|
||||
};
|
||||
|
||||
uploadmultpreview.onCompleted = function(results)
|
||||
{//上传完成处理
|
||||
var complaintReason = Z("#complaintReason").val();
|
||||
|
||||
var ajax = new Z.Ajax();
|
||||
ajax.setClassName("ComplaintOrderPresenter");
|
||||
ajax.setMethodName("saveComplaintScreenShots");
|
||||
ajax.addParam("designId", ${designId});
|
||||
ajax.addParam("size", results.length);
|
||||
ajax.addParam("complaintReason", complaintReason);
|
||||
for (var i=0;i<results.length;i++)
|
||||
{
|
||||
ajax.addParam("url"+i,results[i].success);
|
||||
ajax.addParam("fileLength"+i, this.files[i].size)
|
||||
}
|
||||
|
||||
ajax.setFailureAlert(function(){ Z.alert("提交失败") });
|
||||
ajax.setSuccess(function()
|
||||
{
|
||||
Z.success("提交成功",function(){parent.location.reload();parent.Z.Dialog.close();});
|
||||
});
|
||||
ajax.setLoading(document);
|
||||
ajax.execute();
|
||||
};
|
||||
uploadmultpreview.execute();
|
||||
});
|
||||
|
||||
function doUploadmultPreview()
|
||||
{//上传处理
|
||||
var complaintReason = Z("#complaintReason").val();
|
||||
if (complaintReason.length == 0 || complaintReason.length >200)
|
||||
{
|
||||
Z.alert("申诉原因不能为空且不超过200字");
|
||||
return;
|
||||
}
|
||||
|
||||
var obj = Z("#ZUploadmultPreviewLocation");
|
||||
if (obj[0].children.length == 0)
|
||||
{
|
||||
Z.alert("请上传申诉图片");
|
||||
return;
|
||||
}
|
||||
uploadmultpreview.upload();
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
${zhiqim_manager_content()}
|
||||
<div class="z-mg5">
|
||||
<textarea id="complaintReason" name="complaintReason" class="z-textarea z-w100p z-h100" style="vertical-align: middle;" maxlength="200" placeHolder="申诉原因(必填)"></textarea>
|
||||
</div>
|
||||
<div id="ZUploadmultPreviewLocation">
|
||||
</div>
|
||||
<div style="position:fixed;bottom:0px;height:50px;width:100%;background-color:#EFEFEF;border-top: solid 1px #ededed">
|
||||
<div style="margin-top:10px">
|
||||
<button id="ZUploadmultPreview" class="z-button z-blue z-w100">上传证据图</button>
|
||||
<button class="z-button z-w100 ${zmr_color_class}" id="designOrderDraft" onclick="doUploadmultPreview();">提交申诉</button>
|
||||
</div>
|
||||
</div>
|
||||
<br><br>
|
||||
${zhiqim_manager_content_end()}
|
||||
</html>
|
||||
@@ -0,0 +1,172 @@
|
||||
<#def designatedPath="/personalRefundRateStat.htm"/>
|
||||
<script>
|
||||
function doComplaint(designId)
|
||||
{
|
||||
var dialog = new Z.Dialog();
|
||||
dialog.title = "退款订单申诉";
|
||||
dialog.url = "/personalRefundComplaint.htm?designId=" + designId;
|
||||
dialog.width = 800;
|
||||
dialog.height = 500;
|
||||
dialog.execute();
|
||||
}
|
||||
</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, "/designOrderRefundRateStat.htm")><li onclick="Z.L.href('designOrderRefundRateStat.htm')">设计退款率统计</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/designOrderRefundStat.htm")><li onclick="Z.L.href('designOrderRefundStat.htm')">订单退款总统计</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/designRefundOrgTotalStatistics.htm")><li onclick="Z.L.href('designRefundOrgTotalStatistics.htm')">组织退款统计</li></#if>
|
||||
<#if ZmrPathRule.check(request, "/designRefundPrdTypeStatistics.htm")><li onclick="Z.L.href('designRefundPrdTypeStatistics.htm')">产品退款统计</li></#if>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<table class="z-table z-bordered z-pd6">
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<form name="theForm" action="personalRefundRateStat.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-w120" value="<#if Validates.isNotEmpty(beginDate)>${beginDate}<#else>${DateTimes.getFirstMonthDay()}</#if>"> -
|
||||
<input name="endDate" id="endDate" onfocus="Z.date(this);" readonly class="z-input ${zmr_color_class} z-w120"value="<#if Validates.isNotEmpty(endDate)>${endDate}<#else>${DateTimes.getDateString()}</#if>">
|
||||
<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">
|
||||
<tr class="z-h40">
|
||||
<td>设计师</td>
|
||||
<td>设计单数</td>
|
||||
<td>退款单数</td>
|
||||
<td>退款率</td>
|
||||
<td>奖罚金</td>
|
||||
</tr>
|
||||
<#if refundList.size() == 0>
|
||||
${zhiqim_manager_no_record(5, "暂时没有退款率统计信息")}
|
||||
<#else>
|
||||
<tr class="z-h40" bgcolor="${zmr_thead_bgcolor}">
|
||||
<td>${designer}</td>
|
||||
<td>${list.size()}</td>
|
||||
<td>${refundResult.total}</td>
|
||||
<td><#if list.size() gt 0>${Maths.division(refundResult.total()*100, list.size(), 1)}%<#else>0.0%</#if></td>
|
||||
<td>${Amounts.toYuan(amount)}</td>
|
||||
</tr>
|
||||
</#if>
|
||||
</table>
|
||||
</td>
|
||||
<td width="*" id="result" valign="top" id="result" >
|
||||
|
||||
<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="90">订单号</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="150">申诉退回原因</td>
|
||||
<td width="120">操作</td>
|
||||
</tr>
|
||||
<#if refundResult.size() == 0>
|
||||
<tr valign="middle" class="z-h40 z-text-center z-bg-white">
|
||||
<td colspan="11">暂不存在退款订单</td>
|
||||
</tr>
|
||||
</#if>
|
||||
<#for item : refundResult.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.getDesignReceiveTime())}</td>
|
||||
<td>${item.getRefundTime()}</td>
|
||||
<td>
|
||||
<#if item.getComplaintFlag()==0>未申诉</#if>
|
||||
<#if item.getComplaintFlag()==1>申诉成功</#if>
|
||||
<#if item.getComplaintFlag()==2><span class="z-text-red">申诉失败</span></#if>
|
||||
<#if item.getComplaintFlag()==3><span class="z-text-blue z-bold">申诉中</span></#if>
|
||||
</td>
|
||||
<td><span style='width:150px; white-space:nowrap; text-overflow:ellipsis; display:block; overflow:hidden;' title="${item.getComplaintBackReason()}">${item.getComplaintBackReason()}</span></td>
|
||||
<td><#if item.getComplaintFlag() == 0 || item.getComplaintFlag() == 2><button class="z-button z-blue z-w80" onclick="doComplaint(${item.getDesignId()})">申诉</button></#if></td>
|
||||
</tr>
|
||||
</#for>
|
||||
</table>
|
||||
${zhiqim_manager_paging(refundResult, "personalRefundRateStat.htm")}
|
||||
|
||||
<table class="z-table z-bordered z-bg-white z-text-center z-mg-t20">
|
||||
<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="90">订单号</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>
|
||||
</tr>
|
||||
<#if passResult.size() == 0>
|
||||
<tr valign="middle" class="z-h40 z-text-center z-bg-white">
|
||||
<td colspan="11">暂不存在退款申诉通过订单</td>
|
||||
</tr>
|
||||
</#if>
|
||||
<#for item : passResult.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.getDesignReceiveTime())}</td>
|
||||
<td>${item.getRefundTime()}</td>
|
||||
<td>
|
||||
<#if item.getComplaintFlag()==0>未申诉</#if>
|
||||
<#if item.getComplaintFlag()==1>申诉成功</#if>
|
||||
<#if item.getComplaintFlag()==2><span class="z-text-red">申诉失败</span></#if>
|
||||
<#if item.getComplaintFlag()==3><span class="z-text-blue z-bold">申诉中</span></#if>
|
||||
</td>
|
||||
</tr>
|
||||
</#for>
|
||||
</table>
|
||||
${zhiqim_manager_paging(passResult)}
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
${zhiqim_manager_content_end()}
|
||||
Reference in New Issue
Block a user