first commit

This commit is contained in:
2025-02-20 14:59:35 +08:00
parent d7be84fac6
commit d4a3bb8ffc
2541 changed files with 336536 additions and 0 deletions
@@ -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">&nbsp;统计查询条件:</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> &emsp;设计师:<input name="designer" class="${zmr_color_class} z-input z-w160 z-mg-l4" value="${designer}" maxlength="64" placeholder="设计师"></#if>
&emsp;
组织:
<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>
&emsp;&emsp;
<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">&nbsp;<#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">&nbsp;<#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>&nbsp;&nbsp;&nbsp;
</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">&nbsp;统计查询条件:</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">&nbsp;<#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">&nbsp;<#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()}