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,103 @@
${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 backMergeCount = '${backMergeCount}';
Highcharts.chart('container',
{
chart: {plotBackgroundColor: null,plotBorderWidth: null,plotShadow: false,type: 'pie'},
title: {text: '印前退回统计(总计:'+backMergeCount+''},
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>
<li onclick="Z.Location.href('orderBackEffectStat.htm');">退回数量统计</li>
<li class="z-active">退回原因统计</li>
<li onclick="Z.Location.href('sectionFinalizeCompleteStat.htm');">部门退回统计</li>
</ul>
</nav>
</div>
<#-- 查询条件 -->
${zhiqim_manager_title("查询条件")}
<form name="theForm" action="/beforecauseChart.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="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-bg-gray">
<td width="20%">退回原因</td>
<td width="20%">退回单数</td>
<td width="20%">退回单数占比</td>
<td width="20%">退回单金额</td>
<td width="20%">退回单金额占比</td>
</tr>
<#for item : modelList>
<tr>
<td>${item.getBackCause()}</td>
<td>${item.getBackCount()}</td>
<td>${CalculationUtil.calculatePercent(item.getBackCount(),backMergeCount)}</td>
<td>${Amounts.toYuan(item.getBackMoney())}</td>
<td>${CalculationUtil.calculatePercent(item.getBackMoney(),backMergeMoney)}</td>
</tr>
</#for>
<tr class="z-bold">
<td>总计</td>
<td>${backMergeCount}</td>
<td>100%</td>
<td>${Amounts.toYuan(backMergeMoney)}</td>
<td>100%</td>
</tr>
</table>
</td>
</tr>
</table>
${zhiqim_manager_content_end()}
@@ -0,0 +1,93 @@
<script>
Z.onload(function()
{
draftOrderBackStatInfo(1);
});
var designer='${designer}';
function doQueryDesigner(designers)
{
designer = designers;
draftOrderBackStatInfo(1);
}
function draftOrderBackStatInfo(page)
{
var ajax = new Z.Ajax();
ajax.setClassName("StatPresenter");
ajax.setMethodName("draftOrderBackEffectStatInfo");
ajax.addParam("page",page);
ajax.addParam("startDate", Z("#startDate").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>
<li onclick="Z.Location.href('/endOrderBackStat.htm');">定稿退回统计</li>
</ul>
</nav>
</div>
<table class="z-table z-bordered z-pd6">
<tr>
<td colspan="2">
<form name="theForm" action="/draftOrderBackStat.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="startDate" id="startDate" onfocus="Z.date(this);" readonly class="z-input ${zmr_color_class} z-w120" value="${startDate}"> -
<input name="endDate" id="endDate" onfocus="Z.date(this);" readonly class="z-input ${zmr_color_class} z-w120" value="${endDate}">
&emsp;&emsp;设计师:
<input name="designer" id="designer" class="z-input ${zmr_color_class} z-w120" >
&emsp;&emsp;<button class="z-button z-large z-w120 z-mg-r15 ${zmr_color_class}">查询</button><button class="z-button z-large" type="button" onclick="Z.FM.clearForm(this.form);">清空</button>
</td>
</tr>
</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>
<#for item : pageResult.list()>
<tr class="z-h40" bgcolor="${zhiqim_manager_tr_bg(item_index)}" onclick="doQueryDesigner('${item.getDesigner()}');">
<td>${item_index + 1}</td>
<td>${item.getDesigner()}</td>
<td>${item.getOrderCount()}</td>
<td>${item.getOrderPassCount()}</td>
<td>${item.getPassRatio()}%</td>
</tr>
</#for>
<#if pageResult.list() == 0>
${zhiqim_manager_no_record(5, "暂时没有统计信息")}
</#if>
</table>
${zhiqim_manager_paging(pageResult, "/draftOrderBackStat.htm")}
</td>
<td width="*" id="result" valign="top" id="result" ></td>
</tr>
</table>
${zhiqim_manager_content_end()}
@@ -0,0 +1,35 @@
<#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="130">订单号</td>
<td width="110">旺旺号</td>
<td width="100">设计师</td>
<td width="*">产品</td>
<td width="80">金额</td>
<td width="200">退回原因</td>
<td width="150">初稿时间</td>
<td width="150">退回时间</td>
</tr>
<#if infoPageResult.size() == 0>
<tr valign="middle" class="z-h40 z-text-center z-bg-white">
<td colspan="8">无退回订单信息</td>
</tr>
</#if>
<#for item : infoPageResult.list()>
<tr align="center" class="z-h40 z-pointer" bgcolor="${zhiqim_manager_tr_bg(item_index)}">
<td>${item.getDesignId()}</td>
<td>${item.getBuyerNick()}</td>
<td>${item.getDesigner()}</td>
<td><span class="z-pointer z-text-ellipsis" style="width:270px" data-role="z-tooltip" data-options="placement:top;align:right;top:10;border-color:#d3d3d3;width:250px" data-text="${item.getOrderText()}<hr style='margin:0px;'>产品金额:${Amounts.toYuanMustRadix(item.getAmount())}">${item.getOrderText()}</span></td>
<td>${Amounts.toYuan(item.getAmount())}</td>
<td>${item.getDraftBackReason()}</td>
<td>${Sqls.toDateTimeString(item.getDesignDraftTime())}</td>
<td>${Sqls.toDateTimeString(item.getDraftBackTime())}</td>
</tr>
</#for>
</table>
${zhiqim_manager_paging_jsMethod(infoPageResult, "draftOrderBackStatInfo")}
@@ -0,0 +1,93 @@
<script>
Z.onload(function()
{
endOrderBackStatInfo(1);
});
var designer='${designer}';
function doQueryDesigner(designers)
{
designer = designers;
endOrderBackStatInfo(1);
}
function endOrderBackStatInfo(page)
{
var ajax = new Z.Ajax();
ajax.setClassName("StatPresenter");
ajax.setMethodName("endOrderBackEffectStatInfo");
ajax.addParam("page",page);
ajax.addParam("startDate", Z("#startDate").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 onclick="Z.Location.href('/draftOrderBackStat.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="/endOrderBackStat.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="startDate" id="startDate" onfocus="Z.date(this);" readonly class="z-input ${zmr_color_class} z-w120" value="${startDate}"> -
<input name="endDate" id="endDate" onfocus="Z.date(this);" readonly class="z-input ${zmr_color_class} z-w120" value="${endDate}">
&emsp;&emsp;设计师:
<input name="designer" id="designer" class="z-input ${zmr_color_class} z-w120" >
&emsp;&emsp;<button class="z-button z-large z-w120 z-mg-r15 ${zmr_color_class}">查询</button><button class="z-button z-large" type="button" onclick="Z.FM.clearForm(this.form);">清空</button>
</td>
</tr>
</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>
<#for item : pageResult.list()>
<tr class="z-h40" bgcolor="${zhiqim_manager_tr_bg(item_index)}" onclick="doQueryDesigner('${item.getDesigner()}');">
<td>${item_index + 1}</td>
<td>${item.getDesigner()}</td>
<td>${item.getOrderCount()}</td>
<td>${item.getOrderPassCount()}</td>
<td>${item.getPassRatio()}%</td>
</tr>
</#for>
<#if pageResult.list() == 0>
${zhiqim_manager_no_record(3, "暂时没有退回统计信息")}
</#if>
</table>
${zhiqim_manager_paging(pageResult, "/endOrderBackStat.htm")}
</td>
<td width="*" id="result" valign="top" id="result" ></td>
</tr>
</table>
${zhiqim_manager_content_end()}
@@ -0,0 +1,35 @@
<#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="130">订单号</td>
<td width="110">旺旺号</td>
<td width="100">设计师</td>
<td width="*">产品</td>
<td width="80">金额</td>
<td width="200">退回原因</td>
<td width="150">定稿时间</td>
<td width="150">退回时间</td>
</tr>
<#if infoPageResult.size() == 0>
<tr valign="middle" class="z-h40 z-text-center z-bg-white">
<td colspan="9">暂不存在退回订单信息</td>
</tr>
</#if>
<#for item : infoPageResult.list()>
<tr align="center" class="z-h40 z-pointer" bgcolor="${zhiqim_manager_tr_bg(item_index)}">
<td>${item.getDesignId()}</td>
<td>${item.getBuyerNick()}</td>
<td>${item.getDesigner()}</td>
<td><span class="z-pointer z-text-ellipsis" style="width:270px" data-role="z-tooltip" data-options="placement:top;align:right;top:10;border-color:#d3d3d3;width:250px" data-text="${item.getOrderText()}<hr style='margin:0px;'>产品金额:${Amounts.toYuanMustRadix(item.getAmount())}">${item.getOrderText()}</span></td>
<td>${Amounts.toYuan(item.getAmount())}</td>
<td>${item.getEndBackReason()}</td>
<td>${Sqls.toDateTimeString(item.getDesignEndTime())}</td>
<td>${Sqls.toDateTimeString(item.getEndBackTime())}</td>
</tr>
</#for>
</table>
${zhiqim_manager_paging_jsMethod(infoPageResult, "endOrderBackStatInfo")}
@@ -0,0 +1,90 @@
<script>
Z.onload(function()
{
doOrderBackEffectStatInfo(1);
});
var designer='${designer}';
function doQueryDesigner(designers)
{
designer = designers;
doOrderBackEffectStatInfo(1);
}
function doOrderBackEffectStatInfo(page)
{
var ajax = new Z.Ajax();
ajax.setClassName("StatPresenter");
ajax.setMethodName("doOrderBackEffectStatInfo");
ajax.addParam("page",page);
ajax.addParam("startDate", Z("#startDate").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>
<li onclick="Z.Location.href('/beforecauseChart.htm');">退回原因统计</li>
<li onclick="Z.Location.href('/sectionFinalizeCompleteStat.htm');">部门退回统计</li>
</ul>
</nav>
</div>
<table class="z-table z-bordered z-pd6">
<tr>
<td colspan="2">
<form name="theForm" action="/orderBackEffectStat.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="startDate" id="startDate" onfocus="Z.date(this);" readonly class="z-input ${zmr_color_class} z-w120" value="${startDate}"> -
<input name="endDate" id="endDate" onfocus="Z.date(this);" readonly class="z-input ${zmr_color_class} z-w120" value="${endDate}">
&emsp;&emsp;设计师:
<input name="designer" id="designer" class="z-input ${zmr_color_class} z-w120" >
&emsp;&emsp;<button class="z-button z-large z-w120 z-mg-r15 ${zmr_color_class}">查询</button><button class="z-button z-large" type="button" onclick="Z.FM.clearForm(this.form);">清空</button>
</td>
</tr>
</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>
</tr>
<#for item : pageResult.list()>
<tr class="z-h40" bgcolor="${zhiqim_manager_tr_bg(item_index)}" onclick="doQueryDesigner('${item.getKey()}');">
<td>${item_index + 1}</td>
<td>${item.getKey()}</td>
<td>${item.getValue()}</td>
</tr>
</#for>
<#if pageResult.list() == 0>
${zhiqim_manager_no_record(3, "暂时没有退回统计信息")}
</#if>
</table>
${zhiqim_manager_paging(pageResult, "/orderBackEffectStat.htm")}
</td>
<td width="*" id="result" valign="top" id="result" ></td>
</tr>
</table>
${zhiqim_manager_content_end()}
@@ -0,0 +1,35 @@
<#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="130">订单号</td>
<td width="110">旺旺号</td>
<td width="100">设计师</td>
<td width="*">产品</td>
<td width="80">金额</td>
<td width="200">退回原因</td>
<td width="150">定稿时间</td>
<td width="150">退回时间</td>
</tr>
<#if infoPageResult.size() == 0>
<tr valign="middle" class="z-h40 z-text-center z-bg-white">
<td colspan="9">暂不存在退回订单信息</td>
</tr>
</#if>
<#for item : infoPageResult.list()>
<tr align="center" class="z-h40 z-pointer" bgcolor="${zhiqim_manager_tr_bg(item_index)}">
<td>${item.getDesignId()}</td>
<td>${item.getBuyerNick()}</td>
<td>${item.getDesigner()}</td>
<td><span class="z-pointer z-text-ellipsis" style="width:270px" data-role="z-tooltip" data-options="placement:top;align:right;top:10;border-color:#d3d3d3;width:250px" data-text="${item.getOrderText()}<hr style='margin:0px;'>产品金额:${Amounts.toYuanMustRadix(item.getAmount())}">${item.getOrderText()}</span></td>
<td>${Amounts.toYuan(item.getAmount())}</td>
<td>${item.getCheckBackReason()}</td>
<td>${Sqls.toDateTimeString(item.getDesignEndTime())}</td>
<td>${Sqls.toDateTimeString(item.getCreateLogTime())}</td>
</tr>
</#for>
</table>
${zhiqim_manager_paging_jsMethod(infoPageResult, "doOrderBackEffectStatInfo")}
@@ -0,0 +1,117 @@
${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 = '${passOrderSum}';
Highcharts.chart('container',
{
chart: {plotBackgroundColor: null,plotBorderWidth: null,plotShadow: false,type: 'pie'},
title: {text: '部门定稿统计(总定稿量:'+orgAllOrder+''},
colors: ['#f7a35c', '#e4d354'],
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>
<li onclick="Z.Location.href('orderBackEffectStat.htm');">退回数量统计</li>
<li onclick="Z.Location.href('beforecauseChart.htm');">退回原因统计</li>
<li class="z-active">部门退回统计</li>
</ul>
</nav>
</div>
<#-- 查询条件 -->
${zhiqim_manager_title("查询条件")}
<form name="theForm" action="/sectionFinalizeCompleteStat.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 : 2017..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 : statList>
<tr>
<td>${item.getDeptName()}</td>
<td>${item.getDeptFinalizeCount()}</td>
<td>${item.getDeptBackCount()}</td>
<td>${item.getDeptBackSum()}</td>
<td>${CalculationUtil.calculatePercent(item.getDeptBackSum(),item.getDeptFinalizeCount())}</td>
<td>${CalculationUtil.orgOrderPercent(item.getDeptFinalizeCount(),passOrderSum)}</td>
<td>${Amounts.toYuanMustRadix(item.getDeptBackMoney())}</td>
</tr>
</#for>
<tr class="z-bold">
<td>总计</td>
<td>${passOrderSum}</td>
<td>${backSum}</td>
<td>${backRepeatSum}</td>
<td>${CalculationUtil.calculatePercent(backRepeatSum,passOrderSum)}</td>
<td>${CalculationUtil.calculatePercent(passOrderSum,passOrderSum)}</td>
<td>${Amounts.toYuanMustRadix(backAmountSum)}</td>
</tr>
</table>
</td>
</tr>
</table>
${zhiqim_manager_content_end()}