This commit is contained in:
2025-02-20 14:58:55 +08:00
vanhempi 687bda5ead
commit d7be84fac6
1158 muutettua tiedostoa jossa 127232 lisäystä ja 0 poistoa
@@ -0,0 +1,39 @@
<script>
function freezeSalary(){
var modifyMoney = Z("#modifyMoney").val();
var remark = Z("#remark").val();
var ajax = new Z.Ajax();
ajax.setClassName("VirtualAccountAction");
ajax.setMethodName("freezeSalary");
ajax.addParam("operatorCode",'${operatorCode}');
ajax.addParam("modifyMoney",modifyMoney);
ajax.addParam("remark",remark);
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z.success("操作成功",function(){parent.location.reload();parent.Z.Dialog.close();});
});
ajax.setLoading("freezeSalary", '正在提交', {disabled:true});
ajax.execute();
}
</script>
<style>
.container{ min-height:395px; background:#fff;}
.order-no td{ padding:0 0 0 30px;}
.order-title{ color:#0089e1;font-weight:bold; font-size:26px; padding:10px 0 0 30px; line-height:60px;}
.order-p{ font-size:16px; padding:0 0 0 30px; line-height:60px; border-bottom:1px solid #f2f2f2;}
.order-info{ background:#0089e1;border-radius:8px;width:520px;height:130px; margin:10px 0 0 30px;text-align:center; color:#fff; font-size:22px; padding:16px 66px; line-height:36px;}
.order-info span{ color:#fffc00; font-weight:bold;}
</style>
<div class='order-box'>
<div class="order-title">冻结资金</div>
<div class='order-p'>设计师账户:${operatorCode}</div>
<div class='order-p'>当前可用金额: ${usableMoney}&nbsp;元</div>
<div class='order-p' style="line-height:30px">冻结金额:<input id="modifyMoney" data-options="type:Integer;paste:true;" name="modifyMoney" value="${modifyMoney}">&nbsp;元</div>
<div class='order-p' style="line-height:30px; display: flex; margin: 10px 0 0 0;">操作备注:<textarea id="remark" name="remark" value="${remark}" cols="50"></textarea></div>
</div>
<#-- 操作 -->
<div class="z-absolute z-w100p z-h60 z-text-center z-bg-gray z-pd10" style="bottom:0;left:0">
<button id="sendSalary" style="border-radius:8px; background:#0089e1;" class="z-button ${zmr_color_class} z-large z-w100" onclick="freezeSalary();">确认</button>
<button type="button" style="border-radius:8px; background:#949393; color:#fff; border:none;" class="z-button z-large z-mg-l10 z-w100" onclick="parent.Z.Dialog.close(location.hash);">关闭</button>
</div>
</div>
@@ -0,0 +1,42 @@
<script>
function sendSalary(){
var modifyMoney = Z("#modifyMoney").val();
var remark = Z("#remark").val();
var ajax = new Z.Ajax();
ajax.setClassName("VirtualAccountAction");
ajax.setMethodName("sendSalary");
ajax.addParam("operatorCode",'${operatorCode}');
ajax.addParam("modifyMoney",modifyMoney);
ajax.addParam("remark",remark);
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z.success("操作成功",function(){
parent.location.reload();
parent.Z.Dialog.close();
});
});
ajax.setLoading("sendSalary", '正在提交', {disabled:true});
ajax.execute();
}
</script>
<style>
.container{ min-height:395px; background:#fff;}
.order-no td{ padding:0 0 0 30px;}
.order-title{ color:#0089e1;font-weight:bold; font-size:26px; padding:10px 0 0 30px; line-height:60px;}
.order-p{ font-size:16px; padding:0 0 0 30px; line-height:60px; border-bottom:1px solid #f2f2f2;}
.order-info{ background:#0089e1;border-radius:8px;width:520px;height:130px; margin:10px 0 0 30px;text-align:center; color:#fff; font-size:22px; padding:16px 66px; line-height:36px;}
.order-info span{ color:#fffc00; font-weight:bold;}
</style>
<div class='order-box'>
<div class="order-title">发放工资</div>
<div class='order-p'>设计师账户: ${operatorCode}</div>
<div class='order-p'>当前可用金额: ${usableMoney}&nbsp;元</div>
<div class='order-p' style="line-height:30px">发放金额:<input id="modifyMoney" data-options="type:Integer;paste:true;" name="modifyMoney" value="${modifyMoney}">&nbsp;元</div>
<div class='order-p' style="line-height:30px; display: flex; margin: 10px 0 0 0;">操作备注:<textarea id="remark" name="remark" value="${remark}" cols="50"></textarea></div>
</div>
<#-- 操作 -->
<div class="z-absolute z-w100p z-h60 z-text-center z-bg-gray z-pd10" style="bottom:0;left:0">
<button id="sendSalary" style="border-radius:8px; background:#0089e1;" class="z-button ${zmr_color_class} z-large z-w100" onclick="sendSalary();">确认</button>
<button type="button" style="border-radius:8px; background:#949393; color:#fff; border:none;" class="z-button z-large z-mg-l10 z-w100" onclick="parent.Z.Dialog.close(location.hash);">关闭</button>
</div>
</div>
@@ -0,0 +1,168 @@
${Styles.htmlOverflowHidden()}
${Scripts.src("/zinc/js/global_2019010801.js")}
${yangcai_calc_Left_width_height(400, 70)}
${zhiqim_manager_content()}
<script>
function doSendSalary(operatorCode,operatorStatus,usableMoney){
if (operatorStatus == 1){
var dialog = new Z.Dialog();
dialog.url = "/sendSalary.htm?operatorCode="+operatorCode+"&operatorStatus="+operatorStatus+"&usableMoney="+usableMoney;
dialog.width = 600;
dialog.height = 400;
dialog.execute();
} else {
Z.alert("该账户目前是停用状态!",
function(){
window.location.reload();
window.Z.Dialog.close();
});
};
}
function doFreezeSalary(operatorCode,operatorStatus,usableMoney){
if (operatorStatus == 1){
var dialog = new Z.Dialog();
dialog.url = "/freezeSalary.htm?operatorCode="+operatorCode+"&operatorStatus="+operatorStatus+"&usableMoney="+usableMoney;
dialog.width = 600;
dialog.height = 400;
dialog.execute();
} else {
Z.alert("该账户目前是停用状态!",
function(){
window.location.reload();
window.Z.Dialog.close();
});
};
}
function goSwitch(obj,operatorCode){
var span=Z(obj).parent().find('span')
var ajax = new Z.Ajax();
ajax.setClassName("VirtualAccountAction");
ajax.setMethodName("updateStatus");
var num=obj.checked?1:0;
if(obj.checked){
span.htmlc('正常').attr('class','normal')
}else{
span.htmlc('禁用').attr('class','forbidden')
}
ajax.addParam(num);
ajax.addParam(operatorCode);
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z.success("修改成功",function(){
window.location.reload();
window.Z.Dialog.close();});
});
ajax.setLoading("goSwitch", '正在修改', {disabled:true});
ajax.execute();
}
</script>
<style>
.switch-box{ position: relative; width: 80px;}
.switch-box span{ transition: left 0.5s;}
.normal{position: absolute; top:6px; left:16px; color:#fff;}
.forbidden{ position: absolute; top:6px; left:38px;}
.switch{
-webkit-appearance: none;
width: 80px;
height:32px!important;
border:1px solid #dfdfdf!important;
border-radius: 30px;
position: relative;
outline: none;
transition: linear 0.2s;
}
/*伪类*/
.switch:before{
content: '';
width: 28px;
height: 28px;
border-radius: 50%;
background: #d7d7d7;
position: absolute;
top: 1px;
left: 1px;
transition: linear 0.2s;
}
.switch:checked{
box-shadow: 0 0 16px 16px #00a9f2 inset; background: #00a9f2;
transition: linear 0.2s;
}
.switch:checked:before{
left: 48px;
background: #fff;
transition: linear 0.2s;
}
.switch-label {
display: block;
overflow: hidden;
cursor: pointer;
border: 1px solid #white;
}
</style>
<#-- 导航 -->
<div data-role="z-tabnav" class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
<nav>
<ul>
<li onclick="Z.L.href('designerManage.htm');">设计师管理</li>
<li onclick="Z.L.href('onlineLog.htm');">在线设计师</li>
<li onclick="Z.L.href('workSearchLog.htm');">工作日志</li>
<li onclick="Z.L.href('desOnlineTimeLog.htm');">接单时长</li>
<li onclick="Z.L.href('designerReg.htm');">注册审核</li>
<li class="z-active">资金账户</li>
</ul>
</nav>
</div>
<#-- 查询条件 -->
${zhiqim_manager_title("查询条件")}
<form name="theForm" action="virtualAccount.htm" method="post">
<table class="z-table z-bordered z-pd6 z-bg-white" >
<tr class="z-h40">
<td>&nbsp;设计师:
<input type="operatorCode" name="operatorCode" class="z-input z-w180 ${zmr_color_class}" value="${operatorCode}">
</td>
<td width="1000px">
<button class="z-button z-blue z-large"><i class="z-font z-query"></i>查询</button>&nbsp;
<button class="z-button z-large" type="button" onclick="Z.FM.clearForm(this.form);">清空</button>
</td>
</tr>
</table>
</form>
<div class="z-table z-bordered z-h70-tr z-pd5 z-bg-white z-text-center" style="width:100%" >
<#-- 分页列表-->
<div class="z-overflow-auto z-bd-r">
<table class="z-table z-bordered zi-bd-r-none z-bg-white z-pd6" >
<tr class="z-text-center z-h40" bgcolor="${zmr_thead_bgcolor}" data-layoutCode="virtualAccountDetailsAction.zml">
<td width="8%">设计师账户</td>
<td width="16%">账户状态</td>
<td width="18%">总金额(元)</td>
<td width="18%">冻结金额(元)</td>
<td width="18%">可用金额(元)</td>
<td width="20%">操作</td>
</tr>
<#if pageResult.size() == 0>
${zhiqim_manager_no_record(26,"暂不存在资金账户列表")}
</#if>
<#for item : pageResult.list()>
<tr align="center" class="z-h40 ">
<td>${item.getOperatorCode()}</td>
<td><div class='switch-box'>
<input style="cursor: pointer;" id="${item.getOperatorCode()}" type="checkbox" <#if item.getOperatorStatus() == 1>checked</#if> onclick='goSwitch(this,"${item.getOperatorCode()}");' class="switch" />
<label class="switch-label" for="${item.getOperatorCode()}"><#if item.getOperatorStatus() == 1><span class="normal">正常</span><#else><span class="forbidden">禁用</span></#if></label>
</div></td>
<td><a style="color:#1299ec" href="/virtualAccountTransactionDetails.htm?status=0&operatorCode=${item.getOperatorCode()}">${Amounts.toYuan(item.getSumMoney())}</a></td>
<td><a style="color:#1299ec" href="/virtualAccountTransactionDetails.htm?status=4&operatorCode=${item.getOperatorCode()}">${Amounts.toYuan(item.getFreezeMoney())}</a></td>
<td><a style="color:#1299ec" href="/virtualAccountTransactionDetails.htm?status=999&operatorCode=${item.getOperatorCode()}">${Amounts.toYuan(item.getUsableMoney())}</a></td>
<td>
<button class="z-button z-large z-blue" onclick="doSendSalary('${item.getOperatorCode()}','${item.getOperatorStatus()}','${Amounts.toYuan(item.getUsableMoney())}');">发工资</button>&nbsp;&nbsp;&nbsp;&nbsp;
<button class="z-button z-large z-red" onclick="doFreezeSalary('${item.getOperatorCode()}','${item.getOperatorStatus()}','${Amounts.toYuan(item.getUsableMoney())}');">冻结资金</button>
</td>
</tr>
</#for>
</table>
</div>
${zhiqim_manager_paging(pageResult, "/virtualAccount.htm")}
</div>
${zhiqim_manager_content_end()}
@@ -0,0 +1,89 @@
${Styles.htmlOverflowHidden()}
${Scripts.src("/zinc/js/global_2019010801.js")}
${yangcai_calc_Left_width_height(400, 70)}
${zhiqim_manager_content()}
<#-- 导航栏 -->
<div class="z-tabnav-main z-blue z-mg-b20">
<nav>
<ul>
<li onclick="Z.Location.href('virtualAccountTransactionDetails.htm?status=${status}&operatorCode=${operatorCode}');">交易明细</li>
<li class="z-active">账户明细</li>
</ul>
</nav>
</div>
<#-- 查询条件 -->
${zhiqim_manager_title("查询条件")}
<form name="theForm" action="virtualAccountDetails.htm?status=${status}&operatorCode=${operatorCode}" method="post">
<table class="z-table z-bordered z-pd6 z-bg-white" >
<tr class="z-h40">
<td>&nbsp;账户流水:
<input name="accountBlotter" id="accountBlotter" class="z-input z-w180 ${zmr_color_class}" value="">
</td>
<td>&nbsp;交易流水:
<input name="transactionBlotter" id="transactionBlotter" class="z-input z-w180 ${zmr_color_class}" value="${transactionBlotter}">
</td>
<td >&nbsp;交易类型:
<select name="typeId" class="z-select z-w180" data-role="z-select" data-class="${zmr_color_class}">
<option value="">全部</option>
<#for item : statusType>
<option value="${item.getTypeId()}" <#if typeId == item.getTypeId()>selected</#if>>${item.getTypeName()}</option>
</#for>
</select>
</td>
<td>&nbsp;交易时间:
<input name="beginDate" id="beginDate" onfocus="Z.date(this);" readonly class="z-input ${zmr_color_class} z-w120" value="${beginDate}"> -
<input name="endDate" id="endDate" onfocus="Z.date(this);" readonly class="z-input ${zmr_color_class} z-w120" value="${endDate}">
</td>
<td width="460px">
<button class="z-button z-blue z-large"><i class="z-font z-query"></i>查询</button>&nbsp;
<button class="z-button z-large" type="button" onclick="Z.FM.clearForm(this.form);">清空</button>
</td>
</tr>
</table>
</form>
<div class="z-table z-bordered z-h70-tr z-pd5 z-bg-white z-text-center" style="width:100%" >
<#-- 分页列表-->
<div class="z-overflow-auto z-bd-r">
<table class="z-table z-bordered zi-bd-r-none z-bg-white z-pd6" >
<tr class="z-text-center z-h40" bgcolor="${zmr_thead_bgcolor}" data-layoutCode="virtualAccountDetailsAction.zml">
<td width="9%">账户流水</td>
<td width="5%">账户名称</td>
<td width="9%">交易流水</td>
<td width="6%">交易类型</td>
<td width="7%">可提现增加(元)</td>
<td width="7%">可提现减少(元)</td>
<td width="7%">待结算增加(元)</td>
<td width="7%">待结算减少(元)</td>
<td width="8%">变动后可提现(元)</td>
<td width="8%">变动后待结算(元)</td>
<td width="8%">变动后总收入(元)</td>
<td width="5.5%">交易时间</td>
<td width="8%">备注</td>
</tr>
<#if pageResult.size() == 0>
${zhiqim_manager_no_record(26,"暂不存在账户明细")}
</#if>
<#for item : pageResult.list()>
<tr align="center" class="z-h40 ">
<td>${item.getAccountBlotter()}</td>
<td>${item.getOperatorCode()}</td>
<td>${item.getTransactionBlotter()}</td>
<td>${VirtualAccountConstants.getTransactionStatusListDesc(item.getTransactionStatus()+"")}</td>
<td><#if Amounts.toYuan(item.getUsableMoneyAdd())=0>0<#else>${Amounts.toYuan(item.getUsableMoneyAdd())}</#if></td>
<td><#if Amounts.toYuan(item.getUsableMoneyDown())=0>0<#else>${Amounts.toYuan(item.getUsableMoneyDown())}</#if></td>
<td><#if Amounts.toYuan(item.getFreezeMoneyAdd())=0>0<#else>${Amounts.toYuan(item.getFreezeMoneyAdd())}</#if></td>
<td><#if Amounts.toYuan(item.getFreezeMoneyDown())=0>0<#else>${Amounts.toYuan(item.getFreezeMoneyDown())}</#if></td>
<td><#if Amounts.toYuan(item.getUsableMoney())=0>0<#else>${Amounts.toYuan(item.getUsableMoney())}</#if></td>
<td><#if Amounts.toYuan(item.getFreezeMoney())=0>0<#else>${Amounts.toYuan(item.getFreezeMoney())}</#if></td>
<td><#if Amounts.toYuan(item.getSumMoney())=0>0<#else>${Amounts.toYuan(item.getSumMoney())}</#if></td>
<td>${Sqls.toDateTimeString(item.getOperatorTime())}</td>
<td>${item.getOperatorRemark()}</td>
</tr>
</#for>
</table>
</div>
${zhiqim_manager_paging(pageResult, "/virtualAccountDetails.htm")}
</div>
${zhiqim_manager_content_end()}
@@ -0,0 +1,76 @@
${Styles.htmlOverflowHidden()}
${Scripts.src("/zinc/js/global_2019010801.js")}
${yangcai_calc_Left_width_height(400, 70)}
${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('virtualAccountDetails.htm?status=${status}&operatorCode=${operatorCode}');">账户明细</li>
</ul>
</nav>
</div>
<#-- 查询条件 -->
${zhiqim_manager_title("查询条件")}
<form name="theForm" action="virtualAccountTransactionDetails.htm?status=${status}&operatorCode=${operatorCode}" method="post">
<table class="z-table z-bordered z-pd6 z-bg-white" >
<tr class="z-h40">
<td>&nbsp;交易流水:
<input name="transactionBlotter" id="transactionBlotter" class="z-input z-w180 ${zmr_color_class}" value="">
</td>
<td>&nbsp;订单号:
<input name="designId" id="designId" class="z-input z-w180 ${zmr_color_class}" value="${designId}">
</td>
<td >&nbsp;交易类型:
<select name="typeId" class="z-select z-w180" data-role="z-select" data-class="${zmr_color_class}">
<option value="">全部</option>
<#for item : statusType>
<option value="${item.getTypeId()}" <#if typeId == item.getTypeId()>selected</#if>>${item.getTypeName()}</option>
</#for>
</select>
</td>
<td>&nbsp;交易时间:
<input name="beginDate" id="beginDate" onfocus="Z.date(this);" readonly class="z-input ${zmr_color_class} z-w120" value="${beginDate}"> -
<input name="endDate" id="endDate" onfocus="Z.date(this);" readonly class="z-input ${zmr_color_class} z-w120" value="${endDate}">
</td>
<td width="460px">
<button class="z-button z-blue z-large"><i class="z-font z-query"></i>查询</button>&nbsp;
<button class="z-button z-large" type="button" onclick="Z.FM.clearForm(this.form);">清空</button>
</td>
</tr>
</table>
</form>
<div class="z-table z-bordered z-h70-tr z-pd5 z-bg-white z-text-center" style="width:100%" >
<#-- 分页列表-->
<div class="z-overflow-auto z-bd-r">
<table class="z-table z-bordered zi-bd-r-none z-bg-white z-pd6" >
<tr class="z-text-center z-h40" bgcolor="${zmr_thead_bgcolor}" data-layoutCode="virtualAccountTransactionDetails.zml">
<td width="10%">交易流水</td>
<td width="10%" >订单号</td>
<td width="30%" >产品类型</td>
<td width="10%">交易时间</td>
<td width="10%">交易类型</td>
<td width="7%">订单金额(元)</td>
</tr>
<#if pageResult.size() == 0>
${zhiqim_manager_no_record(26,"暂不存在交易明细")}
</#if>
<#for item : pageResult.list()>
<tr align="center" class="z-h40 ">
<td>${item.getTransactionBlotter()}</td>
<td><#if item.getDesignId()=0>/<#else>${item.getDesignId()}</#if></td>
<td><#if item.getOrderText()=null>/<#else>${item.getOrderText()}</#if></td>
<td>${Sqls.toDateTimeString(item.getTransactionTime())}</td>
<td>${VirtualAccountConstants.getTransactionStatusListDesc(item.getTransactionStatus()+"")}</td>
<td>
<#if status=999 && item.getTransactionStatus()==101>${Amounts.toYuan(-item.getOrderMoney())}<#else>${Amounts.toYuan(item.getOrderMoney())}</#if>
</td>
</tr>
</#for>
</table>
</div>
${zhiqim_manager_paging(pageResult, "/virtualAccountTransactionDetails.htm")}
</div>
${zhiqim_manager_content_end()}
@@ -0,0 +1,641 @@
${Styles.htmlOverflowHidden()}
${Scripts.src("/zinc/js/global_2019010801.js")}
${yangcai_calc_Left_width_height(340, 110)}
<script>
//查询操作员
var attaTypeMap = new Z.HashMap();
var blameOrgMap = new Z.HashMap();
var orgUserListMap = new Z.HashMap();
Z.onload(function(){
//初始化 文件类型
<#for item : FileTypeConstants.getFileTypeList()>
attaTypeMap.put('${item.value()}', '${item.desc()}')
</#for>
//初始化 责任组织 & 初始化组织操作员
<#for org : ZmrOrgDao.list(request)>
blameOrgMap.put('${org.getOrgId()}', getObject('${org}'));
var users${org.getOrgId()} = [];
<#for opr : ZmrOperatorDao.getOperator(request, org.getOrgId())>
users${org.getOrgId()}.push(getObject('${opr}'));
</#for>
orgUserListMap.put('${org.getOrgId()}', users${org.getOrgId()});
</#for>
});
function getObject(json)
{
json = json.replace(/\r/g, '');
json = json.replace(/\n/g, '<br/>');
json = json.replace(/\t/g, '&nbsp;&nbsp;&nbsp;&nbsp;');
var reg = /(\u0000)|(\u0001)|(\u0002)|(\u0003)|(\u0004)|(\u0005)|(\u0006)|(\u0007)|(\u000b)|(\u000e)|(\u000f)|(\u0010)|(\u0011)|(\u0012)|(\u0013)|(\u0014)|(\u0015)|(\u0016)|(\u0017)|(\u0018)|(\u0019)|(\u001a)|(\u001b)|(\u001c)|(\u001d)|(\u001e)|(\u001f)/g;
//var reg = //g;
return Z.J.toObject(json.replace(reg, ""));
}
function doShowAfterOrderInfo(obj, designAfsId)
{
if (!designAfsId)
{
Z.alert("请选择一项");
return;
}
var ajax = new Z.Ajax();
ajax.setContextPath('${context.getContextPath()}');
ajax.setClassName("DesignAfterOrderPresenter");
ajax.setMethodName("doQueryAfterOrderDataInfo");
ajax.addParam("designAfsId", designAfsId);
ajax.setFailureAlert();
ajax.setSuccess(function(){
//初始化数据内容
var attamap = new Z.HashMap();
var obj = getObject(this.responseText);
var afterOrder = obj.afterOrder;
var problemType = obj.problemType;
var attaList = obj.afterAttaList;
for (var i=0; i< attaList.length; i++)
{
var atta = attaList[i];
var list = attamap.get(atta.attaModul);
if (!list)
list=[];
list.push(atta);
attamap.put(atta.attaModul, list);
}
var afterRightContent = '';
afterRightContent +='\r\n <table class="z-table z-pd10 z-bordered z-w100p" style="margin-top:;">';
afterRightContent +='\r\n <tr bgcolor="#f5f5f5">';
afterRightContent +='\r\n <td>产品信息:</td>';
afterRightContent +='\r\n </tr>';
afterRightContent +='\r\n <tr>';
afterRightContent +='\r\n <td id="orderText" class="z-lh150p">'+afterOrder.orderText+'</td>';
afterRightContent +='\r\n </tr>';
afterRightContent +='\r\n <tr bgcolor="#f5f5f5">';
afterRightContent +='\r\n <td><span class="z-bold">问题描述:</td>';
afterRightContent +='\r\n </tr>';
afterRightContent +='\r\n <tr>';
afterRightContent +='\r\n <td id="problemDesc" class="z-lh150p">';
afterRightContent +='\r\n <div id="problemDesc" class="z-overflow-y-auto z-w100p" id="atta_EndFile" style="min-height:24px; max-height:100px;">';
afterRightContent +='\r\n '+(afterOrder.problemDesc ? afterOrder.problemDesc : '');
afterRightContent +='\r\n </div>';
afterRightContent +='\r\n </td>';
afterRightContent +='\r\n </tr>';
if (problemType && problemType.problemName)
{
afterRightContent +='\r\n <tr bgcolor="#f5f5f5">';
afterRightContent +='\r\n <td><span class="z-bold">售后原因:</td>';
afterRightContent +='\r\n </tr>';
afterRightContent +='\r\n <tr>';
afterRightContent +='\r\n <td id="problemDesc" class="z-lh150p">';
afterRightContent +='\r\n <div id="problemDesc" class="z-overflow-y-auto z-w100p" id="atta_EndFile" style="min-height:24px; max-height:100px;">';
afterRightContent +='\r\n '+(problemType.problemName);
afterRightContent +='\r\n </div>';
afterRightContent +='\r\n </td>';
afterRightContent +='\r\n </tr>';
}
if(afterOrder.afterBlameReturnNote != "" && afterOrder.afterBlameReturnNote != null){
afterRightContent +='\r\n <tr bgcolor="#f5f5f5">';
afterRightContent +='\r\n <td><span class="z-bold">申诉原因:</td>';
afterRightContent +='\r\n </tr>';
afterRightContent +='\r\n <tr>';
afterRightContent +='\r\n <td id="afterBlameReturnNote" class="z-lh150p">';
afterRightContent +='\r\n <div id="afterBlameReturnNote" class="z-overflow-y-auto z-w100p" id="atta_EndFile" style="min-height:24px; max-height:100px;">';
afterRightContent +='\r\n '+(afterOrder.afterBlameReturnNote ? afterOrder.afterBlameReturnNote : '');
afterRightContent +='\r\n </div>';
afterRightContent +='\r\n </td>';
afterRightContent +='\r\n </tr>';
}
for (var i=0; i<attamap._keys.length; i++)
{
var attaList = attamap.get(attamap._keys[i]);
if (!attaList || attaList.length == 0)
continue;
if (!attaTypeMap.get(attamap._keys[i]))
continue;//不支持的附件类型
afterRightContent +='\r\n <tr class="z-h40" bgcolor="#efefef">';
afterRightContent +='\r\n <td style="position: relative;">';
afterRightContent +='\r\n <input type="checkbox" class="z-checkbox" data-role="z-checkbox" data-class="z-blue" onclick="Z.FM.doSelectCheckBox(\'atta_'+attamap._keys[i]+'\', this.checked);" >';
afterRightContent +='\r\n <b class="z-pd4">'+attaTypeMap.get(attamap._keys[i])+'</b>';
afterRightContent +='\r\n <button id="download_'+attamap._keys[i]+'" onclick="doDownload(\''+attamap._keys[i]+'\')" class="z-button z-mg-l20 z-float-right z-orange z-mg-r6">下载</button>';
afterRightContent +='\r\n </td>';
afterRightContent +='\r\n </tr>';
afterRightContent +='\r\n <tr class="z-h40">';
afterRightContent +='\r\n <td class="z-pd-l10">';
for (var j=0; j<attaList.length; j++)
{
var atta = attaList[j];
afterRightContent +='\r\n <div class="z-overflow-y-auto z-w100p" style="min-height:24px; max-height:100px;">';
afterRightContent +='\r\n <div id="div_checkbox_'+atta.attaId+'" class="z-text-ellipsis z-w300 z-pointer" onclick="" title="'+atta.fileName+'">';
afterRightContent +='\r\n <input id="atta_'+atta.attaId+'" name="atta_'+atta.attaModul+'" type="checkbox" class="z-checkbox" data-role="z-checkbox" data-class="z-blue" data-attaid="'+atta.attaId+'" data-downloadUrl="'+(atta.ossUrl ? atta.ossUrl : '')+'" value="'+atta.attaId+'"><span class="z-pd6" onclick="Z(this).parent().find(\'zcover>i.z-checkbox\').click();">'+atta.fileName+'</span><br>';
afterRightContent +='\r\n </div>';
afterRightContent +='\r\n </div>';
}
afterRightContent +='\r\n </td>';
afterRightContent +='\r\n </tr>';
}
afterRightContent +='\r\n </table>';
Z("#afterRightContent").htmlc(afterRightContent);
});
ajax.execute();
}
function doDownload(attaType)
{
var attaIds = Z.FM.getCheckBoxValue("atta_" + attaType, "");
if (Z.V.isEmpty(attaIds))
{
parent.Z.alert("请选择需要下载的文件");
return false;
}
/*
var arr = Z.AR.toArray(attaIds, ",");
if (arr.length == 1)
{//1个文件情况下
var input = Z("#atta_"+attaIds);
//if (input )
var url = input.attr("data-downloadUrl");
url = Z.V.isEmptyBlank(url) ? "/downFile.htm?attaId=" + attaIds : url;
Z.L.href(url, zCallFrame);
return;
}
*/
var ajax = new Z.Ajax();
ajax.setClassName("UploadFilePresenter");
ajax.setMethodName("doDownloadFile");
ajax.addParam("attaId", attaIds);
ajax.setFailure(function(){
Z.alert(this.responseText,null, {width:320});
});
ajax.setSuccess(function(){
Z.L.href("/downFile.htm?attaId=" + attaIds, zCallFrame);
});
ajax.setLoading('download_'+attaType, '下载', {disabled:true});
ajax.execute();
}
<#if ZmrPathRule.check(request, "/afterBlameReturnCheck.htm")>
var picProblemMap = new Z.HashMap();
function doPreAppointAfterBlame()
{//指定责任
//清空缓存数据
picProblemMap = new Z.HashMap();
var designAfsId = Z.FM.getChecked("designAfsId");
if (Z.V.isEmpty(designAfsId))
{
Z.alert("请选择一条订单");
return;
}
var ajax = new Z.Ajax();
ajax.setContextPath('${context.getContextPath()}');
ajax.setClassName("DesignAfterOrderPresenter");
ajax.setMethodName("doQueryAppointBlameData");
ajax.addParam("designAfsId", designAfsId);
ajax.setFailureAlert();
ajax.setSuccess(function(){
var attamap = new Z.HashMap();
var obj = getObject(this.responseText);
var afterOrder = obj.afterOrder;
var attaList = obj.afterAttaList;
for (var i=0; i< attaList.length; i++)
{
var atta = attaList[i];
var list = attamap.get(atta.attaModul);
if (!list)
list=[];
list.push(atta);
attamap.put(atta.attaModul, list);
}
for (var i = 0; i < obj.problemList.length; i++)
{
var p = obj.problemList[i];
var list = picProblemMap.get(''+p.picType);
if (!list)
list = [];
list.push(p);
picProblemMap.put(''+p.picType, list);
}
var dialogContent ='<form name="appointAfterBlameForm">';
dialogContent +='<input type="hidden" name="designAfsId" value="'+afterOrder.designAfsId+'">';
dialogContent +='<input type="hidden" name="outAfsId" value="'+afterOrder.outAfsId+'">';
dialogContent +='<input type="hidden" id="isReAppointBlame" name="isReAppointBlame" value="false">';
dialogContent +='<table class="z-table z-bordered-line z-pd6 z-bg-white z-text-left">';
dialogContent +=' <tr class="z-h40" bgcolor="">';
dialogContent +=' <td align="right">设计订单:</td>';
dialogContent +=' <td >'+afterOrder.designId+'</td>';
dialogContent +=' <td align="right">订单组织:</td>';
dialogContent +=' <td >'+(blameOrgMap.get(''+afterOrder.orgId) ? blameOrgMap.get(''+afterOrder.orgId) : '')+'</td>';
dialogContent +=' <td align="right">订单设计师:</td>';
dialogContent +=' <td >'+afterOrder.designer+'</td>';
dialogContent +=' </tr>';
dialogContent +=' <tr class="z-h40" bgcolor="">';
dialogContent +=' <td align="right">旺旺号:</td>';
dialogContent +=' <td >'+afterOrder.buyerNick+'</td>';
dialogContent +=' <td align="right">产品名:</td>';
dialogContent +=' <td colspan="3" >'+afterOrder.orderText+'</td>';
dialogContent +=' </tr>';
dialogContent +=' <tr class="z-h40">';
dialogContent +=' <td align="right" valign="top">问题描述:</td>';
dialogContent +=' <td colspan="5" valign="top">';
dialogContent +=' <div class="z-overflow-y-auto " style="min-height:26px; max-height:60px">';
dialogContent += afterOrder.problemDesc;
dialogContent +=' </div>';
dialogContent +=' </td>';
dialogContent +=' </tr>';
dialogContent +=' <tr class="z-h40" bgcolor="">';
dialogContent +=' <td width="100" align="right">责任组织:</td>';
dialogContent +=' <td width="160">';
dialogContent +=' <select id="picOrgId" name="picOrgId" onchange="showOrgOperator(this.value, \'\')" class="z-w140 z-select" data-role="z-select">';
dialogContent +=' <option value="">请选择</option>';
for (var i = 0; i < blameOrgMap._keys.length; i++)
{
var org = blameOrgMap.get(blameOrgMap._keys[i]);
var selcted = (afterOrder.picOrgId == org.orgId) ? "selected" : "";
dialogContent +=' <option value="'+org.orgId+'" '+selcted+'>'+org.orgName+'</option>';
}
dialogContent +=' </select>';
dialogContent +=' </td>';
dialogContent +=' <td width="100" align="right">责任归属:</td>';
dialogContent +=' <td>';
dialogContent +=' <div id="">';
dialogContent +=' <select id="picType" name="picType" onchange="showProblemType(this.value, \'\')" class="z-w140 z-select" data-role="z-select" data-class="z-blue" >';
dialogContent +=' <option value="">请选择</option>';
for (var i = 0; i < obj.picList.length; i++)
{
var picType = obj.picList[i];
var selcted = (afterOrder.picType == picType.picType) ? "selected" : "";
if (Z.V.isEmptyBlank(selcted) && picType.picStatus == 1)
continue;
dialogContent +=' <option value="'+picType.picType+'" '+selcted+'>'+picType.picTypeName+'</option>';
}
dialogContent +=' </select>';
dialogContent +=' </div>';
dialogContent +=' </td>';
dialogContent +=' <td align="right">售后原因:</td>';
dialogContent +=' <td id="picProblemTypeDiv">';
dialogContent +=' <select data-class="z-blue" data-role="z-select-search" id="problemType" name="problemType" class="z-w200 z-select">';
dialogContent +=' <option value="">请选择</option>';
dialogContent +=' </select>';
dialogContent +=' </td>';
dialogContent +=' </tr>';
dialogContent +=' <tr class="z-h40" bgcolor="">';
dialogContent +=' <td align="right">售后责任人:</td>';
dialogContent +=' <td id="afterBlamerDiv">';
dialogContent +=' <select name="afterBlamer" data-class="z-blue" data-role="z-select-search" data-options="maxHeight:180px" id="afsHandler"class="z-w140 z-select">';
dialogContent +=' <option value="">请选择</option>';
dialogContent +=' </select>';
dialogContent +=' </td>';
dialogContent +=' <td align="right">处理人:</td>';
var afterHandler = afterOrder.afterHandler;
dialogContent +=' <td>'+afterHandler+'</td>';
dialogContent +=' <td align="right">申诉时间:</td>';
dialogContent +=' <td>'+afterOrder.afterBlameReturnTime+'</td>';
dialogContent +=' </tr>';
dialogContent +=' <tr class="z-h40" bgcolor="">';
dialogContent +=' <td align="right" valign="top">申诉描述:</td>';
dialogContent +=' <td colspan="5">';
dialogContent +=' <div class="z-overflow-y-auto " style="min-height:26px; max-height:80px">';
dialogContent += (afterOrder.afterBlameReturnNote ? afterOrder.afterBlameReturnNote : "" ) ;
dialogContent +=' </div>';
dialogContent +=' </td>';
dialogContent +=' </tr>';
dialogContent +=' <tr class="z-h40" bgcolor="">';
dialogContent +=' <td align="right" valign="top">审核备注:</td>';
dialogContent +=' <td colspan="5">';
dialogContent +=' <textarea name="checkNote" class="z-w100p z-h100">'+ (afterOrder.afterComplainCheckNote ? afterOrder.afterComplainCheckNote : "" )+'</textarea>';
dialogContent +=' </td>';
dialogContent +=' </tr>';
dialogContent +=' <tr class="z-h40" bgcolor="">';
dialogContent +=' <td align="right" valign="top">退回原因:</td>';
dialogContent +=' <td colspan="5">';
dialogContent +=' <div class="z-overflow-y-auto z-text-gray " style="min-height:26px; max-height:80px">';
dialogContent += (afterOrder.afterReturnNote ? afterOrder.afterReturnNote : "" );
dialogContent +=' </div>';
dialogContent +=' </td>';
dialogContent +=' </tr>';
dialogContent +='</table>';
dialogContent +='<div class="z-absolute z-w100p z-h60 z-text-center z-bg-gray z-pd10" style="bottom:0;left:0">';
if (afterOrder.afterStatus == ${AfterConstants.CS_100.value()} || afterOrder.afterStatus == ${AfterConstants.CS_200.value()} || afterOrder.afterStatus == ${AfterConstants.CS_300.value()})
{
dialogContent +=' <button type="button" id="appointReBlameBtn" class="z-button z-large z-cyan" onclick="doAfterComplainAccessReappoint(this.form)"><i class="z-font z-close"></i>重新审批</button>';
dialogContent +=' <button type="button" id="checkAccessCancel" class="z-button z-large z-blue" onclick="doAfterComplainAccess(this.form)"><i class="z-font z-close"></i>审核通过并取消</button>';
dialogContent +=' <button type="button" id="checkRejectBtn" class="z-button z-large z-cyan" onclick="doAfterComplainReject(this.form)"><i class="z-font z-return"></i>审核拒绝</button>';
}
dialogContent +=' <button type="button" class="z-button z-large z-mg-l10" onclick="Z.Dialog.close();">关闭</button>';
dialogContent +='</div>';
dialogContent +='</form>';
var appointBlameDialog = new Z.Dialog();
appointBlameDialog.id = "appointBlame";
appointBlameDialog.title = "售后订单:["+afterOrder.designAfsId+"]申诉审核";
appointBlameDialog.text = "<div id='appointBlame_dialogContent'>";
appointBlameDialog.width = 1024;
appointBlameDialog.height = 600;
appointBlameDialog.execute();
Z("#appointBlame_dialogContent").htmlc(dialogContent);
showOrgOperator(afterOrder.picOrgId, afterOrder.afterBlamer);//选中 操作员
showProblemType(afterOrder.picType, afterOrder.problemType)
});
ajax.setLoading("appointAfterBlameBtn", "正在处理", {disabled:true})
ajax.execute();
}
function showOrgOperator(orgId, userName)
{
var org = blameOrgMap.get(''+orgId);
var html ='<select name="afterBlamer" data-class="z-blue" data-role="z-select-search" data-options="maxHeight:180px" id="afsHandler"class="z-w140 z-select">';
html +='\r\n <option value="">请选择</option>';
var userList = orgUserListMap.get(""+orgId);
if (org && userList && userList.length && userList.length > 0)
{
for (var i = 0; i < userList.length; i++)
{
var user = userList[i];
var selected = (''+user.operatorCode == ''+userName) ? "selected" : "";
html +='\r\n<option value="'+user.operatorCode+'" '+selected+'>'+user.operatorCode+'</option>';
}
}
html +='\r\n</select>';
Z("#afterBlamerDiv").htmlc(html);
}
function showProblemType(picTyle, problemType)
{
var html ='<select name="problemType" data-class="z-blue" data-role="z-select-search" data-options="maxHeight:180px" id="afsHandler"class="z-w200 z-select">';
html +='\r\n <option value="">请选择</option>';
var problemList = picProblemMap.get(""+picTyle);
if (picTyle && problemList && problemList.length && problemList.length > 0)
{
for (var i = 0; i < problemList.length; i++)
{
var p = problemList[i];
var selcted = (''+problemType == ''+p.problemType) ? "selected" : "";
if (Z.V.isEmptyBlank(selcted) && p.problemStatus == 1)
continue;
html +='\r\n <option value="'+p.problemType+'" '+selcted+'>'+p.problemName+'</option>';
}
}
html +='\r\n</select>';
Z("#picProblemTypeDiv").htmlc(html);
}
function doAfterComplainReject(blameForm)
{//拒绝
Z(blameForm).find("#isReAppointBlame").val(false);
var ajax = new Z.Ajax();
ajax.setContextPath('${context.getContextPath()}');
ajax.setClassName("DesignAfterOrderPresenter");
ajax.setMethodName("doAfterComplainReject");
ajax.setParamForm(blameForm);
ajax.setFailureAlert();
ajax.setSuccess(function()
{
Z.Dialog.close();
document.theForm.submit();
});
ajax.setLoading("appointBlameBtn", "正在处理", {disabled:true});
ajax.execute();
}
function doAfterComplainAccess(blameForm)
{//审核通过 退回erp
Z(blameForm).find("#isReAppointBlame").val(false);
var ajax = new Z.Ajax();
ajax.setContextPath('${context.getContextPath()}');
ajax.setClassName("DesignAfterOrderPresenter");
ajax.setMethodName("doAfterComplainAccess");
ajax.setParamForm(blameForm);
ajax.setFailureAlert();
ajax.setSuccess(function()
{
Z.Dialog.close();
document.theForm.submit();
});
ajax.setLoading("checkAccessCancel", "正在处理", {disabled:true});
ajax.execute();
}
function doAfterComplainAccessReappoint(blameForm)
{//重新指派
Z(blameForm).find("#isReAppointBlame").val(true);
var ajax = new Z.Ajax();
ajax.setContextPath('${context.getContextPath()}');
ajax.setClassName("DesignAfterOrderPresenter");
ajax.setMethodName("doAppointAfterBlame");
ajax.setParamForm(blameForm);
ajax.setFailureAlert();
ajax.setSuccess(function()
{
Z.Dialog.close();
document.theForm.submit();
});
ajax.setLoading("appointReBlameBtn", "正在处理", {disabled:true});
ajax.execute();
}
</#if>
</script>
${zhiqim_manager_breadcrumb("售后申诉单列表")}
${zhiqim_manager_content()}
<#-- 导航 -->
<div data-role="z-tabnav" class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
<nav>
<ul>
<#if ZmrPathRule.check(request, "/designAfterOrder.htm")><li onclick="Z.L.href('designAfterOrder.htm')">售后单列表</li></#if>
<li class="z-active">售后申诉列表</li>
</ul>
</nav>
</div>
<#-- 左侧功能 -->
<div id="left" class="z-overflow-y-auto z-overflow-x-hidden z-relative-left">
<#-- 查询条件 -->
${zhiqim_manager_title("查询条件")}
<form name="theForm" method="post">
<table class="z-table z-bordered z-pd6 z-bg-white">
<tr>
<td width="30%">售后单号:<input name="designAfsId" class="${zmr_color_class} z-input z-w180 z-mg-l4" value="${designAfsId}" maxlength="64" placeholder="订单号"></td>
<td width="34%">订&nbsp;单&nbsp;号 <input name="designId" class="${zmr_color_class} z-input z-w180 z-mg-l4" value="${designId}" maxlength="64" placeholder="订单号"></td>
<td>
创建时间:
<input id="startCreateDate" name="startCreateDate" class="z-input z-w90 ${zmr_color_class}" readonly="true" onfocus="Z.date(this);" value="${startCreateDate}">&nbsp;-&nbsp;
<input id="endCreateDate" name="endCreateDate" class="z-input z-mg-l3 z-w90 ${zmr_color_class}" readonly="true" onfocus="Z.date(this);" value="${endCreateDate}">
</td>
</tr>
<tr class="z-h40">
<td>责&nbsp;任&nbsp;人
<select name="afterBlamer" class="z-select z-w180" data-role="z-select-search" data-class="${zmr_color_class}">
<option value="">全部</option>
<#for item : designerList>
<option value="${item.getOperatorCode()}" <#if item.getOperatorCode() == afterBlamer>selected</#if>>${item.getOperatorCode()}</option>
</#for>
</select>
</td>
<td>处理状态:
<select name="afterStatus" class="z-select z-w180" data-role="z-select-search" data-class="${zmr_color_class}">
<option value="">全部</option>
<option value="100" <#if afterStatus == "100">selected</#if>>异议申诉</option>
<option value="200" <#if afterStatus == "200">selected</#if>>售后待审</option>
<option value="500" <#if afterStatus == "500">selected</#if>>申诉拒绝</option>
<option value="-100" <#if afterStatus == "-100">selected</#if>>申诉成功</option>
</select>
</td>
<td>
</td>
</tr>
<tr class="z-h40">
<td colspan="3" class="z-text-center"><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>
<#-- 操作功能 -->
<div class="z-w100p z-mg-t10 z-mg-b3">
<#if ZmrPathRule.check(request, "openWangWang")><button type="button" class="z-button z-mg-t3 z-mg-r6 ${zmr_color_class}" onclick="Global.openWangWang('ww'+Z.FM.getChecked('designAfsId'), 'data-ww');"><img src="/zinc/images/wangwang.png">旺旺联系</button></#if>
<#if ZmrPathRule.check(request, "/afterBlameReturnCheck.htm")><button type="button" id="appointAfterBlameBtn" class="z-button z-mg-t3 z-mg-r6 z-orange" onclick="doPreAppointAfterBlame()"><i class="z-font z-modify"></i>申诉审核</button></#if>
</div>
<#-- 列表-->
<div class="z-overflow-auto z-bd-r">
<table class="z-table z-bordered z-h40-tr z-pd5 zi-bd-r-none z-bg-white z-text-center" style="width:2380px">
<tr bgcolor="${zmr_thead_bgcolor}" data-layoutCode="orderList">
<td width="60">选择</td>
<td width="120">售后单号</td>
<td width="120">责任组织</td>
<td width="125">设计单号</td>
<td width="100">商户</td>
<td width="100">处理状态</td>
<td width="250">售后原因</td>
<td width="150">产品</td>
<td width="140">店铺</td>
<td width="140">旺旺号</td>
<td width="150">特殊工艺</td>
<td width="80">订单金额</td>
<td width="90">创建时间</td>
<td width="100">设计师</td>
<td width="120">联系人</td>
<td width="120">对稿手机</td>
<td width="120">对稿微信</td>
<td width="100">新补单号</td>
</tr>
${zhiqim_manager_tr_no_record(pageResult, 23, "暂时没有订单信息")}
<#for item : pageResult.list()>
<tr class="z-pointer" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
<td><input name="designAfsId" type="radio" data-role="z-radio" data-class="${zmr_color_class}" onclick="doShowAfterOrderInfo(this, this.value)" value="${item.getDesignAfsId()}" data-qq="${item.getUserQq()}" data-wx="${item.getUserWx()}" data-buyerNick="${item.getBuyerNick()}"></td>
<td>${item.getDesignAfsId()}</td>
<td>${ZmrOrgDao.getOrgName(request, item.getPicOrgId())}</td>
<td>${item.getDesignId()}</td>
<td>${Global.get(DesignMerchantCache.class).getName(item.getMerchantId())}</td>
<td>${AfterConstants.statusHtml(item.getAfterStatus())}</td>
<td>${item.getProblemDesc()}</td>
<td>${item.getOrderText()}</td>
<td>${item.getShopNick()}</td>
<td id="ww${item.getDesignAfsId()}" data-ww="${item.getBuyerNick()}">${item.getBuyerNick()}</td>
<td>${item.getPrintSpecial()}</td>
<td>${Amounts.toYuanMustRadix(item.getAmount())}</td>
<td>${Sqls.toDateTimeString(item.getAfterCreateTime())}</td>
<td>${item.getDesigner()}</td>
<td>${item.getUserContact()}</td>
<td>${item.getUserMobile()}</td>
<td>${item.getUserWx()}</td>
<td><#if item.getNewDesignId() gt 0>${item.getNewDesignId()}</#if></td>
</tr>
</#for>
</table>
</div>
${zhiqim_manager_paging(pageResult, "afterBlameReturn.htm")}
</div>
${zhiqim_manager_content_end()}
<#--右侧文件信息-->
<div id="afterRight" class="z-fixed z-pd6 z-bd-l z-bg-white z-h100p" style="top:${zmr_topnav_height}px;right:0;width:340px;z-index:50;">
<div id="afterRightContent" class="zi-mg-t15">
<table class="z-table z-pd10 z-bordered z-w100p" style="margin-top:;">
<tr bgcolor="#f5f5f5">
<td>产品信息:</td>
</tr>
<tr>
<td id="orderText" class="z-lh150p">请选择订单</td>
</tr>
<tr bgcolor="#f5f5f5">
<td><span class="z-bold">问题描述:</span></td>
</tr>
<tr>
<td class="z-lh150p">
<div id="problemDesc" class="z-overflow-y-auto z-w100p" id="atta_EndFile" style="min-height:24px; max-height:100px;">
</div>
</td>
</tr>
<tr class="z-h40" bgcolor="#efefef">
<td style="position: relative;">
<zcover style="float: none; margin: 0px;"><input type="checkbox" class="z-checkbox" data-role="z-checkbox" data-class="z-blue" onclick="Z.FM.doSelectCheckBox('atta_AftersaleFile', this.checked);" data-id="Z_Checkbox_ZaKqqLra8T" style="visibility: hidden; margin: 0px;"><i class="z-checkbox z-role-checkbox z-relative z-blue" id="Z_Checkbox_ZaKqqLra8T" data-id="" data-name="" style="padding: 0px; margin-left: -16px;"></i></zcover>
<b class="z-pd4">售后文件</b>
<button id="download" class="z-button z-mg-l20 z-float-right z-orange z-mg-r6">下载</button>
</td>
</tr>
<tr class="z-h40">
<td class="z-pd-l10">
<div class="z-overflow-y-auto z-w100p" id="atta_AftersaleFile" style="min-height:24px; max-height:100px;">
</div>
</td>
</tr>
<tr class="z-h40" bgcolor="#efefef">
<td style="position: relative;">
<zcover style="float: none; margin: 0px;"><input type="checkbox" class="z-checkbox" data-role="z-checkbox" data-class="z-blue" onclick="Z.FM.doSelectCheckBox('atta_DesginFile', this.checked);" data-id="Z_Checkbox_TsMUgMR9ME" style="visibility: hidden; margin: 0px;"><i class="z-checkbox z-role-checkbox z-relative z-blue" id="Z_Checkbox_TsMUgMR9ME" data-id="" data-name="" style="padding: 0px; margin-left: -16px;"></i></zcover>
<b class="z-pd4">设计文件</b>
<button id="download" class="z-button z-mg-l20 z-float-right z-orange z-mg-r6">下载</button>
</td>
</tr>
<tr class="z-h40">
<td class="z-pd-l10">
<div class="z-overflow-y-auto z-w100p" id="atta_DesginFile" style="min-height:24px; max-height:100px;">
</div>
</td>
</tr>
<tr class="z-h40" bgcolor="#efefef">
<td style="position: relative;">
<zcover style="float: none; margin: 0px;"><input type="checkbox" class="z-checkbox" data-role="z-checkbox" data-class="z-blue" onclick="Z.FM.doSelectCheckBox('atta_EndFile', this.checked);" data-id="Z_Checkbox_7pxVgdChg9" style="visibility: hidden; margin: 0px;"><i class="z-checkbox z-role-checkbox z-relative z-blue" id="Z_Checkbox_7pxVgdChg9" data-id="" data-name="" style="padding: 0px; margin-left: -16px;"></i></zcover>
<b class="z-pd4">印刷文件</b>
<button id="download" class="z-button z-mg-l20 z-float-right z-orange z-mg-r6">下载</button>
</td>
</tr>
<tr class="z-h40">
<td class="z-pd-l10">
<div class="z-overflow-y-auto z-w100p" id="atta_EndFile" style="min-height:24px; max-height:100px;">
</div>
</td>
</tr>
</table>
</div>
</div>
<#-- 联系旺旺&联系QQ弹窗框 -->
<iframe id="openFrm" class="z-hide" src="about:blank"></iframe>
@@ -0,0 +1,551 @@
${Styles.htmlOverflowHidden()}
${Scripts.src("/zinc/js/global_2019010801.js")}
${yangcai_calc_Left_width_height(340, 110)}
<script>
//查询操作员
var attaTypeMap = new Z.HashMap();
var blameOrgMap = new Z.HashMap();
var orgUserListMap = new Z.HashMap();
Z.onload(function(){
//初始化 文件类型
<#for item : FileTypeConstants.getFileTypeList()>
attaTypeMap.put('${item.value()}', '${item.desc()}')
</#for>
//初始化 责任组织 & 初始化组织操作员
<#for org : ZmrOrgDao.list(request)>
blameOrgMap.put('${org.getOrgId()}', getObject('${org}'));
var users${org.getOrgId()} = [];
<#for opr : ZmrOperatorDao.getOperator(request, org.getOrgId())>
users${org.getOrgId()}.push(getObject('${opr}'));
</#for>
orgUserListMap.put('${org.getOrgId()}', users${org.getOrgId()});
</#for>
});
function getObject(json)
{
json = json.replace(/\r/g, '');
json = json.replace(/\n/g, '<br/>');
json = json.replace(/\t/g, '&nbsp;&nbsp;&nbsp;&nbsp;');
var reg = /(\u0000)|(\u0001)|(\u0002)|(\u0003)|(\u0004)|(\u0005)|(\u0006)|(\u0007)|(\u000b)|(\u000e)|(\u000f)|(\u0010)|(\u0011)|(\u0012)|(\u0013)|(\u0014)|(\u0015)|(\u0016)|(\u0017)|(\u0018)|(\u0019)|(\u001a)|(\u001b)|(\u001c)|(\u001d)|(\u001e)|(\u001f)/g;
//var reg = //g;
return Z.J.toObject(json.replace(reg, ""));
}
function doShowAfterOrderInfo(obj, designAfsId)
{
if (!designAfsId)
{
Z.alert("请选择一项");
return;
}
var ajax = new Z.Ajax();
ajax.setContextPath('${context.getContextPath()}');
ajax.setClassName("DesignAfterOrderPresenter");
ajax.setMethodName("doQueryAfterOrderDataInfo");
ajax.addParam("designAfsId", designAfsId);
ajax.setFailureAlert();
ajax.setSuccess(function(){
//初始化数据内容
var attamap = new Z.HashMap();
var obj = getObject(this.responseText);
var afterOrder = obj.afterOrder;
var problemType = obj.problemType;
var attaList = obj.afterAttaList;
for (var i=0; i< attaList.length; i++)
{
var atta = attaList[i];
var list = attamap.get(atta.attaModul);
if (!list)
list=[];
list.push(atta);
attamap.put(atta.attaModul, list);
}
var afterRightContent = '';
afterRightContent +='\r\n <table class="z-table z-pd10 z-bordered z-w100p" style="margin-top:;">';
afterRightContent +='\r\n <tr bgcolor="#f5f5f5">';
afterRightContent +='\r\n <td>产品信息:</td>';
afterRightContent +='\r\n </tr>';
afterRightContent +='\r\n <tr>';
afterRightContent +='\r\n <td id="orderText" class="z-lh150p">'+afterOrder.orderText+'</td>';
afterRightContent +='\r\n </tr>';
afterRightContent +='\r\n <tr bgcolor="#f5f5f5">';
afterRightContent +='\r\n <td><span class="z-bold">问题描述:</td>';
afterRightContent +='\r\n </tr>';
afterRightContent +='\r\n <tr>';
afterRightContent +='\r\n <td id="problemDesc" class="z-lh150p">';
afterRightContent +='\r\n <div id="problemDesc" class="z-overflow-y-auto z-w100p" id="atta_EndFile" style="min-height:24px; max-height:100px;">';
afterRightContent +='\r\n '+(afterOrder.problemDesc ? afterOrder.problemDesc : '');
afterRightContent +='\r\n </div>';
afterRightContent +='\r\n </td>';
afterRightContent +='\r\n </tr>';
if (problemType && problemType.problemName)
{
afterRightContent +='\r\n <tr bgcolor="#f5f5f5">';
afterRightContent +='\r\n <td><span class="z-bold">售后原因:</td>';
afterRightContent +='\r\n </tr>';
afterRightContent +='\r\n <tr>';
afterRightContent +='\r\n <td id="problemDesc" class="z-lh150p">';
afterRightContent +='\r\n <div id="problemDesc" class="z-overflow-y-auto z-w100p" id="atta_EndFile" style="min-height:24px; max-height:100px;">';
afterRightContent +='\r\n '+(problemType.problemName);
afterRightContent +='\r\n </div>';
afterRightContent +='\r\n </td>';
afterRightContent +='\r\n </tr>';
}
for (var i=0; i<attamap._keys.length; i++)
{
var attaList = attamap.get(attamap._keys[i]);
if (!attaList || attaList.length == 0)
continue;
if (!attaTypeMap.get(attamap._keys[i]))
continue;//不支持的附件类型
afterRightContent +='\r\n <tr class="z-h40" bgcolor="#efefef">';
afterRightContent +='\r\n <td style="position: relative;">';
afterRightContent +='\r\n <input type="checkbox" class="z-checkbox" data-role="z-checkbox" data-class="z-blue" onclick="Z.FM.doSelectCheckBox(\'atta_'+attamap._keys[i]+'\', this.checked);" >';
afterRightContent +='\r\n <b class="z-pd4">'+attaTypeMap.get(attamap._keys[i])+'</b>';
afterRightContent +='\r\n <button id="download_'+attamap._keys[i]+'" onclick="doDownload(\''+attamap._keys[i]+'\')" class="z-button z-mg-l20 z-float-right z-orange z-mg-r6">下载</button>';
afterRightContent +='\r\n </td>';
afterRightContent +='\r\n </tr>';
afterRightContent +='\r\n <tr class="z-h40">';
afterRightContent +='\r\n <td class="z-pd-l10">';
for (var j=0; j<attaList.length; j++)
{
var atta = attaList[j];
afterRightContent +='\r\n <div class="z-overflow-y-auto z-w100p" style="min-height:24px; max-height:100px;">';
afterRightContent +='\r\n <div id="div_checkbox_'+atta.attaId+'" class="z-text-ellipsis z-w300 z-pointer" onclick="" title="'+atta.fileName+'">';
afterRightContent +='\r\n <input id="atta_'+atta.attaId+'" name="atta_'+atta.attaModul+'" type="checkbox" class="z-checkbox" data-role="z-checkbox" data-class="z-blue" data-attaid="'+atta.attaId+'" data-downloadUrl="'+(atta.ossUrl ? atta.ossUrl : '')+'" value="'+atta.attaId+'"><span class="z-pd6" onclick="Z(this).parent().find(\'zcover>i.z-checkbox\').click();">'+atta.fileName+'</span><br>';
afterRightContent +='\r\n </div>';
afterRightContent +='\r\n </div>';
}
afterRightContent +='\r\n </td>';
afterRightContent +='\r\n </tr>';
}
afterRightContent +='\r\n </table>';
Z("#afterRightContent").htmlc(afterRightContent);
});
ajax.execute();
}
function doDownload(attaType)
{
var attaIds = Z.FM.getCheckBoxValue("atta_" + attaType, "");
if (Z.V.isEmpty(attaIds))
{
parent.Z.alert("请选择需要下载的文件");
return false;
}
var ajax = new Z.Ajax();
ajax.setClassName("UploadFilePresenter");
ajax.setMethodName("doDownloadFile");
ajax.addParam("attaId", attaIds);
ajax.setFailure(function(){
Z.alert(this.responseText,null, {width:320});
});
ajax.setSuccess(function(){
Z.L.href("/downFile.htm?attaId=" + attaIds, zCallFrame);
});
ajax.setLoading('download_'+attaType, '下载', {disabled:true});
ajax.execute();
}
<#if ZmrPathRule.check(request, "/appointAfterBlame.htm")>
var picProblemMap = new Z.HashMap();
function doPreAppointAfterBlame()
{//指定责任
//清空缓存数据
picProblemMap = new Z.HashMap();
var designAfsId = Z.FM.getChecked("designAfsId");
if (Z.V.isEmpty(designAfsId))
{
Z.alert("请选择一条订单");
return;
}
var ajax = new Z.Ajax();
ajax.setContextPath('${context.getContextPath()}');
ajax.setClassName("DesignAfterOrderPresenter");
ajax.setMethodName("doQueryAppointBlameData");
ajax.addParam("designAfsId", designAfsId);
ajax.setFailureAlert();
ajax.setSuccess(function(){
var attamap = new Z.HashMap();
var obj = getObject(this.responseText);
var afterOrder = obj.afterOrder;
var attaList = obj.afterAttaList;
for (var i=0; i< attaList.length; i++)
{
var atta = attaList[i];
var list = attamap.get(atta.attaModul);
if (!list)
list=[];
list.push(atta);
attamap.put(atta.attaModul, list);
}
for (var i = 0; i < obj.problemList.length; i++)
{
var p = obj.problemList[i];
var list = picProblemMap.get(''+p.picType);
if (!list)
list = [];
list.push(p);
picProblemMap.put(''+p.picType, list);
}
var dialogContent ='<form name="appointAfterBlameForm">';
dialogContent +='<input type="hidden" name="designAfsId" value="'+afterOrder.designAfsId+'">';
dialogContent +='<input type="hidden" name="outAfsId" value="'+afterOrder.outAfsId+'">';
dialogContent +='<table class="z-table z-bordered-line z-pd6 z-bg-white z-text-left">';
dialogContent +=' <tr class="z-h40" bgcolor="">';
dialogContent +=' <td align="right">设计订单:</td>';
dialogContent +=' <td >'+afterOrder.designId+'</td>';
dialogContent +=' <td align="right">订单组织:</td>';
dialogContent +=' <td >'+(blameOrgMap.get(''+afterOrder.orgId) ? blameOrgMap.get(''+afterOrder.orgId).orgName : '')+'</td>';
dialogContent +=' <td align="right">订单设计师:</td>';
dialogContent +=' <td >'+afterOrder.designer+'</td>';
dialogContent +=' </tr>';
dialogContent +=' <tr class="z-h40" bgcolor="">';
dialogContent +=' <td align="right">旺旺号:</td>';
dialogContent +=' <td >'+afterOrder.buyerNick+'</td>';
dialogContent +=' <td align="right">产品名:</td>';
dialogContent +=' <td colspan="3" >'+afterOrder.orderText+'</td>';
dialogContent +=' </tr>';
dialogContent +=' <tr class="z-h40">';
dialogContent +=' <td align="right" valign="top">问题描述:</td>';
dialogContent +=' <td colspan="5" valign="top"><div class="z-overflow-y-auto " style="min-height:26px; max-height:160px">'+afterOrder.problemDesc+'</div></td>';
dialogContent +=' </tr>';
dialogContent +=' <tr class="z-h40" bgcolor="">';
dialogContent +=' <td width="100" align="right">责任组织:</td>';
dialogContent +=' <td width="160">';
dialogContent +=' <select id="picOrgId" name="picOrgId" onchange="showOrgOperator(this.value, \'\')" class="z-w140 z-select" data-role="z-select">';
dialogContent +=' <option value="">请选择</option>';
for (var i = 0; i < blameOrgMap._keys.length; i++)
{
var org = blameOrgMap.get(blameOrgMap._keys[i]);
var selcted = (afterOrder.picOrgId == org.orgId) ? "selected" : "";
dialogContent +=' <option value="'+org.orgId+'" '+selcted+'>'+org.orgName+'</option>';
}
dialogContent +=' </select>';
dialogContent +=' </td>';
dialogContent +=' <td width="100" align="right">责任归属:</td>';
dialogContent +=' <td>';
dialogContent +=' <div id="">';
dialogContent +=' <select id="picType" name="picType" onchange="showProblemType(this.value, \'\')" class="z-w140 z-select" data-role="z-select" data-class="z-blue" >';
dialogContent +=' <option value="">请选择</option>';
for (var i = 0; i < obj.picList.length; i++)
{
var picType = obj.picList[i];
var selcted = (afterOrder.picType == picType.picType) ? "selected" : "";
if (Z.V.isEmptyBlank(selcted) && picType.picStatus == 1)
continue;
dialogContent +=' <option value="'+picType.picType+'" '+selcted+'>'+picType.picTypeName+'</option>';
}
dialogContent +=' </select>';
dialogContent +=' </div>';
dialogContent +=' </td>';
dialogContent +=' <td align="right">售后原因:</td>';
dialogContent +=' <td id="picProblemTypeDiv">';
dialogContent +=' <select data-class="z-blue" data-role="z-select-search" id="problemType" name="problemType" class="z-w200 z-select">';
dialogContent +=' <option value="">请选择</option>';
dialogContent +=' </select>';
dialogContent +=' </td>';
dialogContent +=' </tr>';
dialogContent +=' <tr class="z-h40" bgcolor="">';
dialogContent +=' <td align="right">售后责任人:</td>';
dialogContent +=' <td id="afterBlamerDiv">';
dialogContent +=' <select name="afterBlamer" data-class="z-blue" data-role="z-select-search" data-options="maxHeight:180px" id="afsHandler"class="z-w140 z-select">';
dialogContent +=' <option value="">请选择</option>';
dialogContent +=' </select>';
dialogContent +=' </td>';
dialogContent +=' <td align="right">处理人:</td>';
var afterHandler = '${request.getSessionName()}';
dialogContent +=' <td>'+afterHandler+'</td>';
dialogContent +=' <td align="right">损失金额:</td>';
dialogContent +=' <td><input name="lossAmount" class="z-input z-w200" value="'+afterOrder.lossAmount.toFixed(2)+'" data-options="type:Amount2R;paste:true"></td>';
dialogContent +=' </tr>';
dialogContent +='</table>';
dialogContent +='<div class="z-absolute z-w100p z-h60 z-text-center z-bg-gray z-pd10" style="bottom:0;left:0">';
if (afterOrder.afterStatus == ${AfterConstants.CS_0.value()})
dialogContent +=' <button type="button" id="appointBlameBtn" class="z-button z-large z-w120 z-cyan" onclick="doAppointAfterBlame(this.form)">提交</button>';
dialogContent +=' <button type="button" class="z-button z-large z-mg-l10" onclick="Z.Dialog.close();">关闭</button>';
dialogContent +='</div>';
dialogContent +='</form>';
var appointBlameDialog = new Z.Dialog();
appointBlameDialog.id = "appointBlame";
appointBlameDialog.title = "售后订单:["+afterOrder.outAfsId+"]责任分配";
appointBlameDialog.text = "<div id='appointBlame_dialogContent'></div>";
appointBlameDialog.width = 1024;
appointBlameDialog.height = 500;
appointBlameDialog.execute();
Z("#appointBlame_dialogContent").htmlc(dialogContent);
showOrgOperator(afterOrder.picOrgId, afterOrder.afterBlamer);//选中 操作员
showProblemType(afterOrder.picType, afterOrder.problemType)
});
ajax.setLoading("appointAfterBlameBtn", "正在处理", {disabled:true})
ajax.execute();
}
function showOrgOperator(orgId, userName)
{
var org = blameOrgMap.get(''+orgId);
var html ='<select name="afterBlamer" data-class="z-blue" data-role="z-select-search" data-options="maxHeight:180px" id="afsHandler"class="z-w140 z-select">';
html +='\r\n <option value="">请选择</option>';
var userList = orgUserListMap.get(""+orgId);
if (org && userList && userList.length && userList.length > 0)
{
for (var i = 0; i < userList.length; i++)
{
var user = userList[i];
var selected = (''+user.operatorCode == ''+userName) ? "selected" : "";
html +='\r\n<option value="'+user.operatorCode+'" '+selected+'>'+user.operatorCode+'</option>';
}
}
html +='\r\n</select>';
Z("#afterBlamerDiv").htmlc(html);
}
function showProblemType(picTyle, problemType)
{
var html ='<select name="problemType" data-class="z-blue" data-role="z-select-search" data-options="maxHeight:180px" id="afsHandler"class="z-w200 z-select">';
html +='\r\n <option value="">请选择</option>';
var problemList = picProblemMap.get(""+picTyle);
if (picTyle && problemList && problemList.length && problemList.length > 0)
{
for (var i = 0; i < problemList.length; i++)
{
var p = problemList[i];
var selcted = (''+problemType == ''+p.problemType) ? "selected" : "";
if (Z.V.isEmptyBlank(selcted) && p.problemStatus == 1)
continue;
html +='\r\n <option value="'+p.problemType+'" '+selcted+'>'+p.problemName+'</option>';
}
}
html +='\r\n</select>';
Z("#picProblemTypeDiv").htmlc(html);
}
function doAppointAfterBlame(blameForm)
{//提交责任分配
var ajax = new Z.Ajax();
ajax.setContextPath('${context.getContextPath()}');
ajax.setClassName("DesignAfterOrderPresenter");
ajax.setMethodName("doAppointAfterBlame");
ajax.setParamForm(blameForm);
ajax.setFailureAlert();
ajax.setSuccess(function()
{
Z.Dialog.close();
document.theForm.submit();
});
ajax.setLoading("appointBlameBtn", "正在提交", {disabled:true});
ajax.execute();
}
</#if>
</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>
</ul>
</nav>
</div>
<#-- 左侧功能 -->
<div id="left" class="z-overflow-y-auto z-overflow-x-hidden z-relative-left">
<#-- 查询条件 -->
${zhiqim_manager_title("查询条件")}
<form name="theForm" method="post">
<table class="z-table z-bordered z-pd6 z-bg-white">
<tr>
<td width="30%">售后单号:<input name="designAfsId" class="${zmr_color_class} z-input z-w180 z-mg-l4" value="${designAfsId}" maxlength="64" placeholder="订单号"></td>
<td width="34%">订&nbsp;单&nbsp;号 <input name="designId" class="${zmr_color_class} z-input z-w180 z-mg-l4" value="${designId}" maxlength="64" placeholder="订单号"></td>
<td>
创建时间:
<input id="startCreateDate" name="startCreateDate" class="z-input z-w90 ${zmr_color_class}" readonly="true" onfocus="Z.date(this);" value="${startCreateDate}">&nbsp;-&nbsp;
<input id="endCreateDate" name="endCreateDate" class="z-input z-mg-l3 z-w90 ${zmr_color_class}" readonly="true" onfocus="Z.date(this);" value="${endCreateDate}">
</td>
</tr>
<tr class="z-h40">
<td>设&nbsp;计&nbsp;师
<select name="designer" class="z-select z-w180" data-role="z-select-search" data-class="${zmr_color_class}">
<option value="">全部</option>
<#for item : designerList>
<option value="${item.getOperatorCode()}" <#if item.getOperatorCode() == designer>selected</#if>>${item.getOperatorCode()}</option>
</#for>
</select>
</td>
<td>处理状态:
<select name="afterStatus" class="z-select z-w180" data-role="z-select" data-class="${zmr_color_class}">
<option value="">全部</option>
<#for item : AfterConstants.getStatusList()>
<option value="${item.value()}" <#if item.value() == afterStatus>selected</#if>>${item.desc()}</option>
</#for>
</select>
</td>
<td>
</td>
</tr>
<tr class="z-h40">
<td colspan="3" class="z-text-center"><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>
<#-- 操作功能 -->
<div class="z-w100p z-mg-t10 z-mg-b3">
<#if ZmrPathRule.check(request, "openWangWang")><button type="button" class="z-button z-mg-t3 z-mg-r6 ${zmr_color_class}" onclick="Global.openWangWang('ww'+Z.FM.getChecked('designAfsId'), 'data-ww');"><img src="/zinc/images/wangwang.png">旺旺联系</button></#if>
<!--<#if ZmrPathRule.check(request, "/appointAfterBlame.htm")><button type="button" id="appointAfterBlameBtn" class="z-button z-mg-t3 z-mg-r6 z-cyan" onclick="doPreAppointAfterBlame()"><i class="z-font z-modify"></i>责任分配</button></#if>-->
</div>
<#-- 列表-->
<div class="z-overflow-auto z-bd-r">
<table class="z-table z-bordered z-h40-tr z-pd5 zi-bd-r-none z-bg-white z-text-center" style="width:2650px">
<tr bgcolor="${zmr_thead_bgcolor}" data-layoutCode="orderList">
<td width="60">选择</td>
<td width="120">售后单号</td>
<td width="120">责任组织</td>
<td width="120">订单号</td>
<td width="100">处理状态</td>
<td width="100">损失金额</td>
<td width="250">售后原因</td>
<td width="150">产品</td>
<td width="140">店铺</td>
<td width="140">旺旺号</td>
<td width="200">特殊工艺</td>
<td width="80">订单金额</td>
<td width="90">创建时间</td>
<td width="100">设计师</td>
<td width="120">联系人</td>
<td width="120">对稿微信</td>
<td width="100">新补单号</td>
<td width="150">申诉拒绝原因</td>
<td width="100">申诉拒绝时间</td>
</tr>
${zhiqim_manager_tr_no_record(pageResult, 21, "暂时没有订单信息")}
<#for item : pageResult.list()>
<tr class="z-pointer" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
<td><input id="designAfsId" name="designAfsId" type="radio" data-role="z-radio" data-class="${zmr_color_class}" onclick="doShowAfterOrderInfo(this, this.value)" value="${item.getDesignAfsId()}" data-qq="${item.getUserQq()}" data-wx="${item.getUserWx()}" data-buyerNick="${item.getBuyerNick()}"></td>
<td>${item.getDesignAfsId()}</td>
<td>${ZmrOrgDao.getOrgName(request, item.getPicOrgId())}</td>
<td>${item.getDesignId()}</td>
<td>${AfterConstants.statusHtml(item.getAfterStatus())}</td>
<td>${item.getLossAmount()}</td>
<td>${item.getProblemDesc()}</td>
<td>${item.getOrderText()}</td>
<td>${item.getShopNick()}</td>
<td id="ww${item.getDesignAfsId()}" data-ww="${item.getBuyerNick()}">${item.getBuyerNick()}</td>
<td>${item.getPrintSpecial()}</td>
<td>${Amounts.toYuanMustRadix(item.getAmount())}</td>
<td>${Sqls.toDateTimeString(item.getAfterCreateTime())}</td>
<td>${item.getDesigner()}</td>
<td>${item.getUserContact()}</td>
<td>${item.getUserWx()}</td>
<td><#if item.getNewDesignId() gt 0>${item.getNewDesignId()}</#if></td>
<td>${item.getAfterReturnNote()}</td>
<td>${Sqls.toDateTimeString(item.getAfterBlameReturnTime())}</td>
</tr>
</#for>
</table>
</div>
${zhiqim_manager_paging(pageResult, "designAfterOrder.htm")}
</div>
${zhiqim_manager_content_end()}
<#--右侧文件信息-->
<div id="afterRight" class="z-fixed z-pd6 z-bd-l z-bg-white z-h100p" style="top:${zmr_topnav_height}px;right:0;width:340px;z-index:50;">
<div id="afterRightContent" class="zi-mg-t15">
<table class="z-table z-pd10 z-bordered z-w100p" style="margin-top:;">
<tr bgcolor="#f5f5f5">
<td>产品信息:</td>
</tr>
<tr>
<td id="orderText" class="z-lh150p">请选择订单</td>
</tr>
<tr bgcolor="#f5f5f5">
<td><span class="z-bold">问题描述:</span></td>
</tr>
<tr>
<td class="z-lh150p">
<div id="problemDesc" class="z-overflow-y-auto z-w100p" id="atta_EndFile" style="min-height:24px; max-height:100px;">
</div>
</td>
</tr>
<tr class="z-h40" bgcolor="#efefef">
<td style="position: relative;">
<zcover style="float: none; margin: 0px;"><input type="checkbox" class="z-checkbox" data-role="z-checkbox" data-class="z-blue" onclick="Z.FM.doSelectCheckBox('atta_AftersaleFile', this.checked);" data-id="Z_Checkbox_ZaKqqLra8T" style="visibility: hidden; margin: 0px;"><i class="z-checkbox z-role-checkbox z-relative z-blue" id="Z_Checkbox_ZaKqqLra8T" data-id="" data-name="" style="padding: 0px; margin-left: -16px;"></i></zcover>
<b class="z-pd4">售后文件</b>
<button id="download" class="z-button z-mg-l20 z-float-right z-orange z-mg-r6">下载</button>
</td>
</tr>
<tr class="z-h40">
<td class="z-pd-l10">
<div class="z-overflow-y-auto z-w100p" id="atta_AftersaleFile" style="min-height:24px; max-height:100px;">
</div>
</td>
</tr>
<tr class="z-h40" bgcolor="#efefef">
<td style="position: relative;">
<zcover style="float: none; margin: 0px;"><input type="checkbox" class="z-checkbox" data-role="z-checkbox" data-class="z-blue" onclick="Z.FM.doSelectCheckBox('atta_DesginFile', this.checked);" data-id="Z_Checkbox_TsMUgMR9ME" style="visibility: hidden; margin: 0px;"><i class="z-checkbox z-role-checkbox z-relative z-blue" id="Z_Checkbox_TsMUgMR9ME" data-id="" data-name="" style="padding: 0px; margin-left: -16px;"></i></zcover>
<b class="z-pd4">设计文件</b>
<button id="download" class="z-button z-mg-l20 z-float-right z-orange z-mg-r6">下载</button>
</td>
</tr>
<tr class="z-h40">
<td class="z-pd-l10">
<div class="z-overflow-y-auto z-w100p" id="atta_DesginFile" style="min-height:24px; max-height:100px;">
</div>
</td>
</tr>
<tr class="z-h40" bgcolor="#efefef">
<td style="position: relative;">
<zcover style="float: none; margin: 0px;"><input type="checkbox" class="z-checkbox" data-role="z-checkbox" data-class="z-blue" onclick="Z.FM.doSelectCheckBox('atta_EndFile', this.checked);" data-id="Z_Checkbox_7pxVgdChg9" style="visibility: hidden; margin: 0px;"><i class="z-checkbox z-role-checkbox z-relative z-blue" id="Z_Checkbox_7pxVgdChg9" data-id="" data-name="" style="padding: 0px; margin-left: -16px;"></i></zcover>
<b class="z-pd4">印刷文件</b>
<button id="download" class="z-button z-mg-l20 z-float-right z-orange z-mg-r6">下载</button>
</td>
</tr>
<tr class="z-h40">
<td class="z-pd-l10">
<div class="z-overflow-y-auto z-w100p" id="atta_EndFile" style="min-height:24px; max-height:100px;">
</div>
</td>
</tr>
</table>
</div>
</div>
<#-- 联系旺旺&联系QQ弹窗框 -->
<iframe id="openFrm" class="z-hide" src="about:blank"></iframe>
@@ -0,0 +1,533 @@
${Styles.htmlOverflowHidden()}
${Scripts.src("/zinc/js/global_2019010801.js")}
${yangcai_calc_Left_width_height(340, 110)}
<script>
//查询操作员
var attaTypeMap = new Z.HashMap();
var blameOrgMap = new Z.HashMap();
var orgUserListMap = new Z.HashMap();
Z.onload(function(){
//初始化 文件类型
<#for item : FileTypeConstants.getFileTypeList()>
attaTypeMap.put('${item.value()}', '${item.desc()}')
</#for>
//初始化 责任组织 & 初始化组织操作员
<#for org : ZmrOrgDao.list(request)>
blameOrgMap.put('${org.getOrgId()}', getObject('${org}'));
var users${org.getOrgId()} = [];
<#for opr : ZmrOperatorDao.getOperator(request, org.getOrgId())>
users${org.getOrgId()}.push(getObject('${opr}'));
</#for>
orgUserListMap.put('${org.getOrgId()}', users${org.getOrgId()});
</#for>
});
function getObject(json)
{
json = json.replace(/\r/g, '');
json = json.replace(/\n/g, '<br/>');
json = json.replace(/\t/g, '&nbsp;&nbsp;&nbsp;&nbsp;');
var reg = /(\u0000)|(\u0001)|(\u0002)|(\u0003)|(\u0004)|(\u0005)|(\u0006)|(\u0007)|(\u000b)|(\u000e)|(\u000f)|(\u0010)|(\u0011)|(\u0012)|(\u0013)|(\u0014)|(\u0015)|(\u0016)|(\u0017)|(\u0018)|(\u0019)|(\u001a)|(\u001b)|(\u001c)|(\u001d)|(\u001e)|(\u001f)/g;
//var reg = //g;
return Z.J.toObject(json.replace(reg, ""));
}
function doShowAfterOrderInfo(obj, designAfsId)
{
if (!designAfsId)
{
Z.alert("请选择一项");
return;
}
var ajax = new Z.Ajax();
ajax.setContextPath('${context.getContextPath()}');
ajax.setClassName("DesignAfterOrderPresenter");
ajax.setMethodName("doQueryAfterOrderDataInfo");
ajax.addParam("designAfsId", designAfsId);
ajax.setFailureAlert();
ajax.setSuccess(function(){
//初始化数据内容
var attamap = new Z.HashMap();
var obj = getObject(this.responseText);
var afterOrder = obj.afterOrder;
var problemType = obj.problemType;
var attaList = obj.afterAttaList;
for (var i=0; i< attaList.length; i++)
{
var atta = attaList[i];
var list = attamap.get(atta.attaModul);
if (!list)
list=[];
list.push(atta);
attamap.put(atta.attaModul, list);
}
var afterRightContent = '';
afterRightContent +='\r\n <table class="z-table z-pd10 z-bordered z-w100p" style="margin-top:;">';
afterRightContent +='\r\n <tr bgcolor="#f5f5f5">';
afterRightContent +='\r\n <td>产品信息:</td>';
afterRightContent +='\r\n </tr>';
afterRightContent +='\r\n <tr>';
afterRightContent +='\r\n <td id="orderText" class="z-lh150p">'+afterOrder.orderText+'</td>';
afterRightContent +='\r\n </tr>';
afterRightContent +='\r\n <tr bgcolor="#f5f5f5">';
afterRightContent +='\r\n <td><span class="z-bold">问题描述:</td>';
afterRightContent +='\r\n </tr>';
afterRightContent +='\r\n <tr>';
afterRightContent +='\r\n <td id="problemDesc" class="z-lh150p">';
afterRightContent +='\r\n <div id="problemDesc" class="z-overflow-y-auto z-w100p" id="atta_EndFile" style="min-height:24px; max-height:100px;">';
afterRightContent +='\r\n '+(afterOrder.problemDesc ? afterOrder.problemDesc : '');
afterRightContent +='\r\n </div>';
afterRightContent +='\r\n </td>';
afterRightContent +='\r\n </tr>';
if (problemType && problemType.problemName)
{
afterRightContent +='\r\n <tr bgcolor="#f5f5f5">';
afterRightContent +='\r\n <td><span class="z-bold">售后原因:</td>';
afterRightContent +='\r\n </tr>';
afterRightContent +='\r\n <tr>';
afterRightContent +='\r\n <td id="problemDesc" class="z-lh150p">';
afterRightContent +='\r\n <div id="problemDesc" class="z-overflow-y-auto z-w100p" id="atta_EndFile" style="min-height:24px; max-height:100px;">';
afterRightContent +='\r\n '+(problemType.problemName);
afterRightContent +='\r\n </div>';
afterRightContent +='\r\n </td>';
afterRightContent +='\r\n </tr>';
}
for (var i=0; i<attamap._keys.length; i++)
{
var attaList = attamap.get(attamap._keys[i]);
if (!attaList || attaList.length == 0)
continue;
if (!attaTypeMap.get(attamap._keys[i]))
continue;//不支持的附件类型
afterRightContent +='\r\n <tr class="z-h40" bgcolor="#efefef">';
afterRightContent +='\r\n <td style="position: relative;">';
afterRightContent +='\r\n <input type="checkbox" class="z-checkbox" data-role="z-checkbox" data-class="z-blue" onclick="Z.FM.doSelectCheckBox(\'atta_'+attamap._keys[i]+'\', this.checked);" >';
afterRightContent +='\r\n <b class="z-pd4">'+attaTypeMap.get(attamap._keys[i])+'</b>';
afterRightContent +='\r\n <button id="download_'+attamap._keys[i]+'" onclick="doDownload(\''+attamap._keys[i]+'\')" class="z-button z-mg-l20 z-float-right z-orange z-mg-r6">下载</button>';
afterRightContent +='\r\n </td>';
afterRightContent +='\r\n </tr>';
afterRightContent +='\r\n <tr class="z-h40">';
afterRightContent +='\r\n <td class="z-pd-l10">';
for (var j=0; j<attaList.length; j++)
{
var atta = attaList[j];
afterRightContent +='\r\n <div class="z-overflow-y-auto z-w100p" style="min-height:24px; max-height:100px;">';
afterRightContent +='\r\n <div id="div_checkbox_'+atta.attaId+'" class="z-text-ellipsis z-w300 z-pointer" onclick="" title="'+atta.fileName+'">';
afterRightContent +='\r\n <input id="atta_'+atta.attaId+'" name="atta_'+atta.attaModul+'" type="checkbox" class="z-checkbox" data-role="z-checkbox" data-class="z-blue" data-attaid="'+atta.attaId+'" data-downloadUrl="'+(atta.ossUrl ? atta.ossUrl : '')+'" value="'+atta.attaId+'"><span class="z-pd6" onclick="Z(this).parent().find(\'zcover>i.z-checkbox\').click();">'+atta.fileName+'</span><br>';
afterRightContent +='\r\n </div>';
afterRightContent +='\r\n </div>';
}
afterRightContent +='\r\n </td>';
afterRightContent +='\r\n </tr>';
}
afterRightContent +='\r\n </table>';
Z("#afterRightContent").htmlc(afterRightContent);
});
ajax.execute();
}
function doDownload(attaType)
{
var attaIds = Z.FM.getCheckBoxValue("atta_" + attaType, "");
if (Z.V.isEmpty(attaIds))
{
parent.Z.alert("请选择需要下载的文件");
return false;
}
var ajax = new Z.Ajax();
ajax.setClassName("UploadFilePresenter");
ajax.setMethodName("doDownloadFile");
ajax.addParam("attaId", attaIds);
ajax.setFailure(function(){
Z.alert(this.responseText,null, {width:320});
});
ajax.setSuccess(function(){
Z.L.href("/downFile.htm?attaId=" + attaIds, zCallFrame);
});
ajax.setLoading('download_'+attaType, '下载', {disabled:true});
ajax.execute();
}
<#if ZmrPathRule.check(request, "/appointAfterBlame.htm")>
var picProblemMap = new Z.HashMap();
function doPreAppointAfterBlame()
{//指定责任
//清空缓存数据
picProblemMap = new Z.HashMap();
var designAfsId = Z.FM.getChecked("designAfsId");
if (Z.V.isEmpty(designAfsId))
{
Z.alert("请选择一条订单");
return;
}
var ajax = new Z.Ajax();
ajax.setContextPath('${context.getContextPath()}');
ajax.setClassName("DesignAfterOrderPresenter");
ajax.setMethodName("doQueryAppointBlameData");
ajax.addParam("designAfsId", designAfsId);
ajax.setFailureAlert();
ajax.setSuccess(function(){
var attamap = new Z.HashMap();
var obj = getObject(this.responseText);
var afterOrder = obj.afterOrder;
var attaList = obj.afterAttaList;
for (var i=0; i< attaList.length; i++)
{
var atta = attaList[i];
var list = attamap.get(atta.attaModul);
if (!list)
list=[];
list.push(atta);
attamap.put(atta.attaModul, list);
}
for (var i = 0; i < obj.problemList.length; i++)
{
var p = obj.problemList[i];
var list = picProblemMap.get(''+p.picType);
if (!list)
list = [];
list.push(p);
picProblemMap.put(''+p.picType, list);
}
var dialogContent ='<form name="appointAfterBlameForm">';
dialogContent +='<input type="hidden" name="designAfsId" value="'+afterOrder.designAfsId+'">';
dialogContent +='<input type="hidden" name="outAfsId" value="'+afterOrder.outAfsId+'">';
dialogContent +='<table class="z-table z-bordered-line z-pd6 z-bg-white z-text-left">';
dialogContent +=' <tr class="z-h40" bgcolor="">';
dialogContent +=' <td align="right">设计订单:</td>';
dialogContent +=' <td >'+afterOrder.designId+'</td>';
dialogContent +=' <td align="right">订单组织:</td>';
dialogContent +=' <td >'+(blameOrgMap.get(''+afterOrder.orgId) ? blameOrgMap.get(''+afterOrder.orgId).orgName : '')+'</td>';
dialogContent +=' <td align="right">订单设计师:</td>';
dialogContent +=' <td >'+afterOrder.designer+'</td>';
dialogContent +=' </tr>';
dialogContent +=' <tr class="z-h40" bgcolor="">';
dialogContent +=' <td align="right">旺旺号:</td>';
dialogContent +=' <td >'+afterOrder.buyerNick+'</td>';
dialogContent +=' <td align="right">产品名:</td>';
dialogContent +=' <td colspan="3" >'+afterOrder.orderText+'</td>';
dialogContent +=' </tr>';
dialogContent +=' <tr class="z-h40">';
dialogContent +=' <td align="right" valign="top">问题描述:</td>';
dialogContent +=' <td colspan="5" valign="top"><div class="z-overflow-y-auto " style="min-height:26px; max-height:160px">'+afterOrder.problemDesc+'</div></td>';
dialogContent +=' </tr>';
dialogContent +=' <tr class="z-h40" bgcolor="">';
dialogContent +=' <td width="100" align="right">责任组织:</td>';
dialogContent +=' <td width="160">';
dialogContent +=' <select id="picOrgId" name="picOrgId" onchange="showOrgOperator(this.value, \'\')" class="z-w140 z-select" data-role="z-select">';
dialogContent +=' <option value="">请选择</option>';
for (var i = 0; i < blameOrgMap._keys.length; i++)
{
var org = blameOrgMap.get(blameOrgMap._keys[i]);
var selcted = (afterOrder.picOrgId == org.orgId) ? "selected" : "";
dialogContent +=' <option value="'+org.orgId+'" '+selcted+'>'+org.orgName+'</option>';
}
dialogContent +=' </select>';
dialogContent +=' </td>';
dialogContent +=' <td width="100" align="right">责任归属:</td>';
dialogContent +=' <td>';
dialogContent +=' <div id="">';
dialogContent +=' <select id="picType" name="picType" onchange="showProblemType(this.value, \'\')" class="z-w140 z-select" data-role="z-select" data-class="z-blue" >';
dialogContent +=' <option value="">请选择</option>';
for (var i = 0; i < obj.picList.length; i++)
{
var picType = obj.picList[i];
var selcted = (afterOrder.picType == picType.picType) ? "selected" : "";
if (Z.V.isEmptyBlank(selcted) && picType.picStatus == 1)
continue;
dialogContent +=' <option value="'+picType.picType+'" '+selcted+'>'+picType.picTypeName+'</option>';
}
dialogContent +=' </select>';
dialogContent +=' </div>';
dialogContent +=' </td>';
dialogContent +=' <td align="right">售后原因:</td>';
dialogContent +=' <td id="picProblemTypeDiv">';
dialogContent +=' <select data-class="z-blue" data-role="z-select-search" id="problemType" name="problemType" class="z-w200 z-select">';
dialogContent +=' <option value="">请选择</option>';
dialogContent +=' </select>';
dialogContent +=' </td>';
dialogContent +=' </tr>';
dialogContent +=' <tr class="z-h40" bgcolor="">';
dialogContent +=' <td align="right">售后责任人:</td>';
dialogContent +=' <td id="afterBlamerDiv">';
dialogContent +=' <select name="afterBlamer" data-class="z-blue" data-role="z-select-search" data-options="maxHeight:180px" id="afsHandler"class="z-w140 z-select">';
dialogContent +=' <option value="">请选择</option>';
dialogContent +=' </select>';
dialogContent +=' </td>';
dialogContent +=' <td align="right">处理人:</td>';
var afterHandler = '${request.getSessionName()}';
dialogContent +=' <td colspan="5">'+afterHandler+'</td>';
dialogContent +=' </tr>';
dialogContent +='</table>';
dialogContent +='<div class="z-absolute z-w100p z-h60 z-text-center z-bg-gray z-pd10" style="bottom:0;left:0">';
if (afterOrder.afterStatus == ${AfterConstants.CS_0.value()})
dialogContent +=' <button type="button" id="appointBlameBtn" class="z-button z-large z-w120 z-cyan" onclick="doAppointAfterBlame(this.form)">提交</button>';
dialogContent +=' <button type="button" class="z-button z-large z-mg-l10" onclick="Z.Dialog.close();">关闭</button>';
dialogContent +='</div>';
dialogContent +='</form>';
var appointBlameDialog = new Z.Dialog();
appointBlameDialog.id = "appointBlame";
appointBlameDialog.title = "售后订单:["+afterOrder.outAfsId+"]责任分配";
appointBlameDialog.text = "<div id='appointBlame_dialogContent'></div>";
appointBlameDialog.width = 1024;
appointBlameDialog.height = 500;
appointBlameDialog.execute();
Z("#appointBlame_dialogContent").htmlc(dialogContent);
showOrgOperator(afterOrder.picOrgId, afterOrder.afterBlamer);//选中 操作员
showProblemType(afterOrder.picType, afterOrder.problemType)
});
ajax.setLoading("appointAfterBlameBtn", "正在处理", {disabled:true})
ajax.execute();
}
function showOrgOperator(orgId, userName)
{
var org = blameOrgMap.get(''+orgId);
var html ='<select name="afterBlamer" data-class="z-blue" data-role="z-select-search" data-options="maxHeight:180px" id="afsHandler"class="z-w140 z-select">';
html +='\r\n <option value="">请选择</option>';
var userList = orgUserListMap.get(""+orgId);
if (org && userList && userList.length && userList.length > 0)
{
for (var i = 0; i < userList.length; i++)
{
var user = userList[i];
var selected = (''+user.operatorCode == ''+userName) ? "selected" : "";
html +='\r\n<option value="'+user.operatorCode+'" '+selected+'>'+user.operatorCode+'</option>';
}
}
html +='\r\n</select>';
Z("#afterBlamerDiv").htmlc(html);
}
function showProblemType(picTyle, problemType)
{
var html ='<select name="problemType" data-class="z-blue" data-role="z-select-search" data-options="maxHeight:180px" id="afsHandler"class="z-w200 z-select">';
html +='\r\n <option value="">请选择</option>';
var problemList = picProblemMap.get(""+picTyle);
if (picTyle && problemList && problemList.length && problemList.length > 0)
{
for (var i = 0; i < problemList.length; i++)
{
var p = problemList[i];
var selcted = (''+problemType == ''+p.problemType) ? "selected" : "";
if (Z.V.isEmptyBlank(selcted) && p.problemStatus == 1)
continue;
html +='\r\n <option value="'+p.problemType+'" '+selcted+'>'+p.problemName+'</option>';
}
}
html +='\r\n</select>';
Z("#picProblemTypeDiv").htmlc(html);
}
function doAppointAfterBlame(blameForm)
{//提交责任分配
var ajax = new Z.Ajax();
ajax.setContextPath('${context.getContextPath()}');
ajax.setClassName("DesignAfterOrderPresenter");
ajax.setMethodName("doAppointAfterBlame");
ajax.setParamForm(blameForm);
ajax.setFailureAlert();
ajax.setSuccess(function()
{
Z.Dialog.close();
document.theForm.submit();
});
ajax.setLoading("appointBlameBtn", "正在提交", {disabled:true});
ajax.execute();
}
</#if>
</script>
${zhiqim_manager_breadcrumb("我导致的售后单")}
${zhiqim_manager_content()}
<#-- 导航 -->
<div data-role="z-tabnav" class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
<nav>
<ul>
<#if ZmrPathRule.check(request, "/waitHandleAfterOrder.htm")><li onclick="Z.L.href('waitHandleAfterOrder.htm')">我的售后</li></#if>
<li class="z-active">我导致的售后单</li>
</ul>
</nav>
</div>
<#-- 左侧功能 -->
<div id="left" class="z-overflow-y-auto z-overflow-x-hidden z-relative-left">
<#-- 查询条件 -->
${zhiqim_manager_title("查询条件")}
<form name="theForm" method="post">
<table class="z-table z-bordered z-pd6 z-bg-white">
<tr>
<td width="30%">售后单号:<input name="designAfsId" class="${zmr_color_class} z-input z-w180 z-mg-l4" value="${designAfsId}" maxlength="64" placeholder="订单号"></td>
<td width="34%">订&nbsp;单&nbsp;号 <input name="designId" class="${zmr_color_class} z-input z-w180 z-mg-l4" value="${designId}" maxlength="64" placeholder="订单号"></td>
<td>
创建时间:
<input id="startCreateDate" name="startCreateDate" class="z-input z-w90 ${zmr_color_class}" readonly="true" onfocus="Z.date(this);" value="${startCreateDate}">&nbsp;-&nbsp;
<input id="endCreateDate" name="endCreateDate" class="z-input z-mg-l3 z-w90 ${zmr_color_class}" readonly="true" onfocus="Z.date(this);" value="${endCreateDate}">
</td>
</tr>
<tr class="z-h40">
<td>责&nbsp;任&nbsp;人
<select name="afterBlamer" class="z-select z-w180" data-role="z-select-search" data-class="${zmr_color_class}">
<option value="">全部</option>
<#for item : designerList>
<option value="${item.getOperatorCode()}" <#if item.getOperatorCode() == afterBlamer>selected</#if>>${item.getOperatorCode()}</option>
</#for>
</select>
</td>
<td align="left" colspan="2"><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>
<#-- 操作功能 -->
<div class="z-w100p z-mg-t10 z-mg-b3">
<#if ZmrPathRule.check(request, "openWangWang")><button type="button" class="z-button z-mg-t3 z-mg-r6 ${zmr_color_class}" onclick="Global.openWangWang('ww'+Z.FM.getChecked('designAfsId'), 'data-ww');"><img src="/zinc/images/wangwang.png">旺旺联系</button></#if>
</div>
<#-- 列表-->
<div class="z-overflow-auto z-bd-r">
<table class="z-table z-bordered z-h40-tr z-pd5 zi-bd-r-none z-bg-white z-text-center" style="width:2370px">
<tr bgcolor="${zmr_thead_bgcolor}" data-layoutCode="orderList">
<td width="60">选择</td>
<td width="120">售后单号</td>
<td width="120">责任组织</td>
<td width="120">设计单号</td>
<td width="100">处理状态</td>
<td width="80">损失金额</td>
<td width="250">售后原因</td>
<td width="150">产品</td>
<td width="140">店铺</td>
<td width="140">旺旺号</td>
<td width="200">特殊工艺</td>
<td width="80">订单金额</td>
<td width="90">创建时间</td>
<td width="100">设计师</td>
<td width="120">联系人</td>
<td width="120">对稿手机</td>
<td width="120">对稿微信</td>
<td width="100">新补单号</td>
</tr>
${zhiqim_manager_tr_no_record(pageResult, 19, "暂时没有订单信息")}
<#for item : pageResult.list()>
<tr class="z-pointer" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
<td><input id="designAfsId" name="designAfsId" type="radio" data-role="z-radio" data-class="${zmr_color_class}" onclick="doShowAfterOrderInfo(this, this.value)" value="${item.getDesignAfsId()}" data-qq="${item.getUserQq()}" data-wx="${item.getUserWx()}" data-buyerNick="${item.getBuyerNick()}"></td>
<td>${item.getDesignAfsId()}</td>
<td>${ZmrOrgDao.getOrgName(request, item.getPicOrgId())}</td>
<td>${item.getDesignId()}</td>
<td>${AfterConstants.statusHtml(item.getAfterStatus())}</td>
<td>${item.getLossAmount()}</td>
<td>${item.getProblemDesc()}</td>
<td>${item.getOrderText()}</td>
<td>${item.getShopNick()}</td>
<td id="ww${item.getDesignAfsId()}" data-ww="${item.getBuyerNick()}">${item.getBuyerNick()}</td>
<td>${item.getPrintSpecial()}</td>
<td>${Amounts.toYuanMustRadix(item.getAmount())}</td>
<td>${Sqls.toDateTimeString(item.getAfterCreateTime())}</td>
<td>${item.getDesigner()}</td>
<td>${item.getUserContact()}</td>
<td>${item.getUserMobile()}</td>
<td>${item.getUserWx()}</td>
<td><#if item.getNewDesignId() gt 0>${item.getNewDesignId()}</#if></td>
</tr>
</#for>
</table>
</div>
${zhiqim_manager_paging(pageResult, "designAfterOrder.htm")}
</div>
${zhiqim_manager_content_end()}
<#--右侧文件信息-->
<div id="afterRight" class="z-fixed z-pd6 z-bd-l z-bg-white z-h100p" style="top:${zmr_topnav_height}px;right:0;width:340px;z-index:50;">
<div id="afterRightContent" class="zi-mg-t15">
<table class="z-table z-pd10 z-bordered z-w100p" style="margin-top:;">
<tr bgcolor="#f5f5f5">
<td>产品信息:</td>
</tr>
<tr>
<td id="orderText" class="z-lh150p">请选择订单</td>
</tr>
<tr bgcolor="#f5f5f5">
<td><span class="z-bold">问题描述:</span></td>
</tr>
<tr>
<td class="z-lh150p">
<div id="problemDesc" class="z-overflow-y-auto z-w100p" id="atta_EndFile" style="min-height:24px; max-height:100px;">
</div>
</td>
</tr>
<tr class="z-h40" bgcolor="#efefef">
<td style="position: relative;">
<zcover style="float: none; margin: 0px;"><input type="checkbox" class="z-checkbox" data-role="z-checkbox" data-class="z-blue" onclick="Z.FM.doSelectCheckBox('atta_AftersaleFile', this.checked);" data-id="Z_Checkbox_ZaKqqLra8T" style="visibility: hidden; margin: 0px;"><i class="z-checkbox z-role-checkbox z-relative z-blue" id="Z_Checkbox_ZaKqqLra8T" data-id="" data-name="" style="padding: 0px; margin-left: -16px;"></i></zcover>
<b class="z-pd4">售后文件</b>
<button id="download" class="z-button z-mg-l20 z-float-right z-orange z-mg-r6">下载</button>
</td>
</tr>
<tr class="z-h40">
<td class="z-pd-l10">
<div class="z-overflow-y-auto z-w100p" id="atta_AftersaleFile" style="min-height:24px; max-height:100px;">
</div>
</td>
</tr>
<tr class="z-h40" bgcolor="#efefef">
<td style="position: relative;">
<zcover style="float: none; margin: 0px;"><input type="checkbox" class="z-checkbox" data-role="z-checkbox" data-class="z-blue" onclick="Z.FM.doSelectCheckBox('atta_DesginFile', this.checked);" data-id="Z_Checkbox_TsMUgMR9ME" style="visibility: hidden; margin: 0px;"><i class="z-checkbox z-role-checkbox z-relative z-blue" id="Z_Checkbox_TsMUgMR9ME" data-id="" data-name="" style="padding: 0px; margin-left: -16px;"></i></zcover>
<b class="z-pd4">设计文件</b>
<button id="download" class="z-button z-mg-l20 z-float-right z-orange z-mg-r6">下载</button>
</td>
</tr>
<tr class="z-h40">
<td class="z-pd-l10">
<div class="z-overflow-y-auto z-w100p" id="atta_DesginFile" style="min-height:24px; max-height:100px;">
</div>
</td>
</tr>
<tr class="z-h40" bgcolor="#efefef">
<td style="position: relative;">
<zcover style="float: none; margin: 0px;"><input type="checkbox" class="z-checkbox" data-role="z-checkbox" data-class="z-blue" onclick="Z.FM.doSelectCheckBox('atta_EndFile', this.checked);" data-id="Z_Checkbox_7pxVgdChg9" style="visibility: hidden; margin: 0px;"><i class="z-checkbox z-role-checkbox z-relative z-blue" id="Z_Checkbox_7pxVgdChg9" data-id="" data-name="" style="padding: 0px; margin-left: -16px;"></i></zcover>
<b class="z-pd4">印刷文件</b>
<button id="download" class="z-button z-mg-l20 z-float-right z-orange z-mg-r6">下载</button>
</td>
</tr>
<tr class="z-h40">
<td class="z-pd-l10">
<div class="z-overflow-y-auto z-w100p" id="atta_EndFile" style="min-height:24px; max-height:100px;">
</div>
</td>
</tr>
</table>
</div>
</div>
<#-- 联系旺旺&联系QQ弹窗框 -->
<iframe id="openFrm" class="z-hide" src="about:blank"></iframe>
@@ -0,0 +1,337 @@
${Styles.htmlOverflowHidden()}
${Scripts.src("/zinc/js/global_2019010801.js")}
${yangcai_calc_Left_width_height(340, 110)}
<script>
//查询操作员
var attaTypeMap = new Z.HashMap();
var blameOrgMap = new Z.HashMap();
var orgUserListMap = new Z.HashMap();
Z.onload(function(){
//初始化 文件类型
<#for item : FileTypeConstants.getFileTypeList()>
attaTypeMap.put('${item.value()}', '${item.desc()}')
</#for>
//初始化 责任组织 & 初始化组织操作员
<#for org : ZmrOrgDao.list(request)>
blameOrgMap.put('${org.getOrgId()}', getObject('${org}'));
var users${org.getOrgId()} = [];
<#for opr : ZmrOperatorDao.getOperator(request, org.getOrgId())>
users${org.getOrgId()}.push(getObject('${opr}'));
</#for>
orgUserListMap.put('${org.getOrgId()}', users${org.getOrgId()});
</#for>
});
function getObject(json)
{
json = json.replace(/\r/g, '');
json = json.replace(/\n/g, '<br/>');
json = json.replace(/\t/g, '&nbsp;&nbsp;&nbsp;&nbsp;');
var reg = /(\u0000)|(\u0001)|(\u0002)|(\u0003)|(\u0004)|(\u0005)|(\u0006)|(\u0007)|(\u000b)|(\u000e)|(\u000f)|(\u0010)|(\u0011)|(\u0012)|(\u0013)|(\u0014)|(\u0015)|(\u0016)|(\u0017)|(\u0018)|(\u0019)|(\u001a)|(\u001b)|(\u001c)|(\u001d)|(\u001e)|(\u001f)/g;
//var reg = //g;
return Z.J.toObject(json.replace(reg, ""));
}
function doShowAfterOrderInfo(obj, designAfsId)
{
if (!designAfsId)
{
Z.alert("请选择一项");
return;
}
var ajax = new Z.Ajax();
ajax.setContextPath('${context.getContextPath()}');
ajax.setClassName("DesignAfterOrderPresenter");
ajax.setMethodName("doQueryAfterOrderDataInfo");
ajax.addParam("designAfsId", designAfsId);
ajax.setFailureAlert();
ajax.setSuccess(function(){
//初始化数据内容
var attamap = new Z.HashMap();
var obj = getObject(this.responseText);
var afterOrder = obj.afterOrder;
var problemType = obj.problemType;
var attaList = obj.afterAttaList;
for (var i=0; i< attaList.length; i++)
{
var atta = attaList[i];
var list = attamap.get(atta.attaModul);
if (!list)
list=[];
list.push(atta);
attamap.put(atta.attaModul, list);
}
var afterRightContent = '';
afterRightContent +='\r\n <table class="z-table z-pd10 z-bordered z-w100p" style="margin-top:;">';
afterRightContent +='\r\n <tr bgcolor="#f5f5f5">';
afterRightContent +='\r\n <td>产品信息:</td>';
afterRightContent +='\r\n </tr>';
afterRightContent +='\r\n <tr>';
afterRightContent +='\r\n <td id="orderText" class="z-lh150p">'+afterOrder.orderText+'</td>';
afterRightContent +='\r\n </tr>';
afterRightContent +='\r\n <tr bgcolor="#f5f5f5">';
afterRightContent +='\r\n <td><span class="z-bold">问题描述:</td>';
afterRightContent +='\r\n </tr>';
afterRightContent +='\r\n <tr>';
afterRightContent +='\r\n <td id="problemDesc" class="z-lh150p">';
afterRightContent +='\r\n <div id="problemDesc" class="z-overflow-y-auto z-w100p" id="atta_EndFile" style="min-height:24px; max-height:100px;">';
afterRightContent +='\r\n '+(afterOrder.problemDesc ? afterOrder.problemDesc : '');
afterRightContent +='\r\n </div>';
afterRightContent +='\r\n </td>';
afterRightContent +='\r\n </tr>';
if (problemType && problemType.problemName)
{
afterRightContent +='\r\n <tr bgcolor="#f5f5f5">';
afterRightContent +='\r\n <td><span class="z-bold">售后原因:</td>';
afterRightContent +='\r\n </tr>';
afterRightContent +='\r\n <tr>';
afterRightContent +='\r\n <td id="problemDesc" class="z-lh150p">';
afterRightContent +='\r\n <div id="problemDesc" class="z-overflow-y-auto z-w100p" id="atta_EndFile" style="min-height:24px; max-height:100px;">';
afterRightContent +='\r\n '+(problemType.problemName);
afterRightContent +='\r\n </div>';
afterRightContent +='\r\n </td>';
afterRightContent +='\r\n </tr>';
}
for (var i=0; i<attamap._keys.length; i++)
{
var attaList = attamap.get(attamap._keys[i]);
if (!attaList || attaList.length == 0)
continue;
if (!attaTypeMap.get(attamap._keys[i]))
continue;//不支持的附件类型
afterRightContent +='\r\n <tr class="z-h40" bgcolor="#efefef">';
afterRightContent +='\r\n <td style="position: relative;">';
afterRightContent +='\r\n <input type="checkbox" class="z-checkbox" data-role="z-checkbox" data-class="z-blue" onclick="Z.FM.doSelectCheckBox(\'atta_'+attamap._keys[i]+'\', this.checked);" >';
afterRightContent +='\r\n <b class="z-pd4">'+attaTypeMap.get(attamap._keys[i])+'</b>';
afterRightContent +='\r\n <button id="download_'+attamap._keys[i]+'" onclick="doDownload(\''+attamap._keys[i]+'\')" class="z-button z-mg-l20 z-float-right z-orange z-mg-r6">下载</button>';
afterRightContent +='\r\n </td>';
afterRightContent +='\r\n </tr>';
afterRightContent +='\r\n <tr class="z-h40">';
afterRightContent +='\r\n <td class="z-pd-l10">';
for (var j=0; j<attaList.length; j++)
{
var atta = attaList[j];
afterRightContent +='\r\n <div class="z-overflow-y-auto z-w100p" style="min-height:24px; max-height:100px;">';
afterRightContent +='\r\n <div id="div_checkbox_'+atta.attaId+'" class="z-text-ellipsis z-w300 z-pointer" onclick="" title="'+atta.fileName+'">';
afterRightContent +='\r\n <input id="atta_'+atta.attaId+'" name="atta_'+atta.attaModul+'" type="checkbox" class="z-checkbox" data-role="z-checkbox" data-class="z-blue" data-attaid="'+atta.attaId+'" data-downloadUrl="'+(atta.ossUrl ? atta.ossUrl : '')+'" value="'+atta.attaId+'"><span class="z-pd6" onclick="Z(this).parent().find(\'zcover>i.z-checkbox\').click();">'+atta.fileName+'</span><br>';
afterRightContent +='\r\n </div>';
afterRightContent +='\r\n </div>';
}
afterRightContent +='\r\n </td>';
afterRightContent +='\r\n </tr>';
}
afterRightContent +='\r\n </table>';
Z("#afterRightContent").htmlc(afterRightContent);
});
ajax.execute();
}
function doDownload(attaType)
{
var attaIds = Z.FM.getCheckBoxValue("atta_" + attaType, "");
if (Z.V.isEmpty(attaIds))
{
parent.Z.alert("请选择需要下载的文件");
return false;
}
var ajax = new Z.Ajax();
ajax.setClassName("UploadFilePresenter");
ajax.setMethodName("doDownloadFile");
ajax.addParam("attaId", attaIds);
ajax.setFailure(function(){
Z.alert(this.responseText,null, {width:320});
});
ajax.setSuccess(function(){
Z.L.href("/downFile.htm?attaId=" + attaIds, zCallFrame);
});
ajax.setLoading('download_'+attaType, '下载', {disabled:true});
ajax.execute();
}
</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 onclick="Z.L.href('waitHandleAfterOrder.htm')">待处理的售后</li>
<li class="z-active">个人售后单列表</li>
</ul>
</nav>
</div>
<#-- 左侧功能 -->
<div id="left" class="z-overflow-y-auto z-overflow-x-hidden z-relative-left">
<#-- 查询条件 -->
${zhiqim_manager_title("查询条件")}
<form name="theForm" method="post">
<table class="z-table z-bordered z-pd6 z-bg-white">
<tr>
<td width="30%">售后单号:<input name="designAfsId" class="${zmr_color_class} z-input z-w180 z-mg-l4" value="${designAfsId}" maxlength="64" placeholder="订单号"></td>
<td width="34%">订&nbsp;单&nbsp;号 <input name="designId" class="${zmr_color_class} z-input z-w180 z-mg-l4" value="${designId}" maxlength="64" placeholder="订单号"></td>
<td>
创建时间:
<input id="startCreateDate" name="startCreateDate" class="z-input z-w90 ${zmr_color_class}" readonly="true" onfocus="Z.date(this);" value="${startCreateDate}">&nbsp;-&nbsp;
<input id="endCreateDate" name="endCreateDate" class="z-input z-mg-l3 z-w90 ${zmr_color_class}" readonly="true" onfocus="Z.date(this);" value="${endCreateDate}">
</td>
</tr>
<tr class="z-h40">
<td>责&nbsp;任&nbsp;人
<select name="afterBlamer" class="z-select z-w180" data-role="z-select-search" data-class="${zmr_color_class}">
<option value="">全部</option>
<#for item : designerList>
<option value="${item.getOperatorCode()}" <#if item.getOperatorCode() == afterBlamer>selected</#if>>${item.getOperatorCode()}</option>
</#for>
</select>
</td>
<td>处理状态:
<select name="afterStatus" class="z-select z-w180" data-role="z-select" data-class="${zmr_color_class}">
<option value="">全部</option>
<#for item : AfterConstants.getStatusList()>
<option value="${item.value()}" <#if item.value() == afterStatus>selected</#if>>${item.desc()}</option>
</#for>
</select>
</td>
<td>
</td>
</tr>
<tr class="z-h40">
<td colspan="3" class="z-text-center"><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>
<#-- 操作功能 -->
<div class="z-w100p z-mg-t10 z-mg-b3">
</div>
<#-- 列表-->
<div class="z-overflow-auto z-bd-r">
<table class="z-table z-bordered z-h40-tr z-pd5 zi-bd-r-none z-bg-white z-text-center" style="width:2200px">
<tr bgcolor="${zmr_thead_bgcolor}" data-layoutCode="orderList">
<td width="60">选择</td>
<td width="100">售后单号</td>
<td width="120">责任组织</td>
<td width="100">设计单号</td>
<td width="100">处理状态</td>
<td width="250">售后原因</td>
<td width="150">产品</td>
<td width="140">旺旺号</td>
<td width="200">特殊工艺</td>
<td width="80">订单金额</td>
<td width="90">创建时间</td>
<td width="100">责任人</td>
<td width="120">联系人</td>
<td width="120">对稿手机</td>
<td width="120">对稿微信</td>
<td width="100">新补单号</td>
</tr>
${zhiqim_manager_tr_no_record(pageResult, 23, "暂时没有订单信息")}
<#for item : pageResult.list()>
<tr class="z-pointer" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
<td><input name="designAfsId" type="radio" data-role="z-radio" data-class="${zmr_color_class}" onclick="doShowAfterOrderInfo(this, this.value)" value="${item.getDesignAfsId()}" data-qq="${item.getUserQq()}" data-wx="${item.getUserWx()}" data-buyerNick="${item.getBuyerNick()}"></td>
<td>${item.getDesignAfsId()}</td>
<td>${ZmrOrgDao.getOrgName(request, item.getPicOrgId())}</td>
<td>${item.getDesignId()}</td>
<td>${AfterConstants.statusHtml(item.getAfterStatus())}</td>
<td>${item.getProblemDesc()}</td>
<td>${item.getOrderText()}</td>
<td data-shopNick="${item.getShopNick()}">${item.getBuyerNick()}</td>
<td>${item.getPrintSpecial()}</td>
<td>${Amounts.toYuanMustRadix(item.getAmount())}</td>
<td>${Sqls.toDateTimeString(item.getAfterCreateTime())}</td>
<td>${item.getAfterBlamer()}</td>
<td>${item.getUserContact()}</td>
<td>${item.getUserMobile()}</td>
<td>${item.getUserWx()}</td>
<td><#if item.getNewDesignId() gt 0>${item.getNewDesignId()}</#if></td>
</tr>
</#for>
</table>
</div>
${zhiqim_manager_paging(pageResult, "personalAfterOrder.htm")}
</div>
${zhiqim_manager_content_end()}
<#--右侧文件信息-->
<div id="afterRight" class="z-fixed z-pd6 z-bd-l z-bg-white z-h100p" style="top:${zmr_topnav_height}px;right:0;width:340px;z-index:50;">
<div id="afterRightContent" class="zi-mg-t15">
<table class="z-table z-pd10 z-bordered z-w100p" style="margin-top:;">
<tr bgcolor="#f5f5f5">
<td>产品信息:</td>
</tr>
<tr>
<td id="orderText" class="z-lh150p">请选择订单</td>
</tr>
<tr bgcolor="#f5f5f5">
<td><span class="z-bold">问题描述:</span></td>
</tr>
<tr>
<td class="z-lh150p">
<div id="problemDesc" class="z-overflow-y-auto z-w100p" id="atta_EndFile" style="min-height:24px; max-height:100px;">
</div>
</td>
</tr>
<tr class="z-h40" bgcolor="#efefef">
<td style="position: relative;">
<zcover style="float: none; margin: 0px;"><input type="checkbox" class="z-checkbox" data-role="z-checkbox" data-class="z-blue" onclick="Z.FM.doSelectCheckBox('atta_AftersaleFile', this.checked);" data-id="Z_Checkbox_ZaKqqLra8T" style="visibility: hidden; margin: 0px;"><i class="z-checkbox z-role-checkbox z-relative z-blue" id="Z_Checkbox_ZaKqqLra8T" data-id="" data-name="" style="padding: 0px; margin-left: -16px;"></i></zcover>
<b class="z-pd4">售后文件</b>
<button id="download" class="z-button z-mg-l20 z-float-right z-orange z-mg-r6">下载</button>
</td>
</tr>
<tr class="z-h40">
<td class="z-pd-l10">
<div class="z-overflow-y-auto z-w100p" id="atta_AftersaleFile" style="min-height:24px; max-height:100px;">
</div>
</td>
</tr>
<tr class="z-h40" bgcolor="#efefef">
<td style="position: relative;">
<zcover style="float: none; margin: 0px;"><input type="checkbox" class="z-checkbox" data-role="z-checkbox" data-class="z-blue" onclick="Z.FM.doSelectCheckBox('atta_DesginFile', this.checked);" data-id="Z_Checkbox_TsMUgMR9ME" style="visibility: hidden; margin: 0px;"><i class="z-checkbox z-role-checkbox z-relative z-blue" id="Z_Checkbox_TsMUgMR9ME" data-id="" data-name="" style="padding: 0px; margin-left: -16px;"></i></zcover>
<b class="z-pd4">设计文件</b>
<button id="download" class="z-button z-mg-l20 z-float-right z-orange z-mg-r6">下载</button>
</td>
</tr>
<tr class="z-h40">
<td class="z-pd-l10">
<div class="z-overflow-y-auto z-w100p" id="atta_DesginFile" style="min-height:24px; max-height:100px;">
</div>
</td>
</tr>
<tr class="z-h40" bgcolor="#efefef">
<td style="position: relative;">
<zcover style="float: none; margin: 0px;"><input type="checkbox" class="z-checkbox" data-role="z-checkbox" data-class="z-blue" onclick="Z.FM.doSelectCheckBox('atta_EndFile', this.checked);" data-id="Z_Checkbox_7pxVgdChg9" style="visibility: hidden; margin: 0px;"><i class="z-checkbox z-role-checkbox z-relative z-blue" id="Z_Checkbox_7pxVgdChg9" data-id="" data-name="" style="padding: 0px; margin-left: -16px;"></i></zcover>
<b class="z-pd4">印刷文件</b>
<button id="download" class="z-button z-mg-l20 z-float-right z-orange z-mg-r6">下载</button>
</td>
</tr>
<tr class="z-h40">
<td class="z-pd-l10">
<div class="z-overflow-y-auto z-w100p" id="atta_EndFile" style="min-height:24px; max-height:100px;">
</div>
</td>
</tr>
</table>
</div>
</div>
<#-- 联系旺旺&联系QQ弹窗框 -->
<iframe id="openFrm" class="z-hide" src="about:blank"></iframe>
@@ -0,0 +1,652 @@
${Styles.htmlOverflowHidden()}
${Scripts.src("/zinc/js/global_2019010801.js")}
${Scripts.src(zhiqim_uploadlarge.js)}
${yangcai_calc_Left_width_height(340, 110)}
<script>
//查询操作员
var dateDir = '${DateTimes.getDateTime8String()}/${FileTypeConstants.FILE_AFTE_COMPLAIN_EVIDENCE.value()}';
var attaTypeMap = new Z.HashMap();
var blameOrgMap = new Z.HashMap();
var orgUserListMap = new Z.HashMap();
Z.onload(function(){
//初始化 文件类型
<#for item : FileTypeConstants.getFileTypeList()>
attaTypeMap.put('${item.value()}', '${item.desc()}')
</#for>
//初始化 责任组织 & 初始化组织操作员
<#for org : ZmrOrgDao.list(request)>
blameOrgMap.put('${org.getOrgId()}', getObject('${org}'));
var users${org.getOrgId()} = [];
<#for opr : ZmrOperatorDao.getOperator(request, org.getOrgId())>
users${org.getOrgId()}.push(getObject('${opr}'));
</#for>
orgUserListMap.put('${org.getOrgId()}', users${org.getOrgId()});
</#for>
});
function getObject(json)
{
json = json.replace(/\r/g, '');
json = json.replace(/\n/g, '<br/>');
json = json.replace(/\t/g, '&nbsp;&nbsp;&nbsp;&nbsp;');
var reg = /(\u0000)|(\u0001)|(\u0002)|(\u0003)|(\u0004)|(\u0005)|(\u0006)|(\u0007)|(\u000b)|(\u000e)|(\u000f)|(\u0010)|(\u0011)|(\u0012)|(\u0013)|(\u0014)|(\u0015)|(\u0016)|(\u0017)|(\u0018)|(\u0019)|(\u001a)|(\u001b)|(\u001c)|(\u001d)|(\u001e)|(\u001f)/g;
//var reg = //g;
return Z.J.toObject(json.replace(reg, ""));
}
function doQueryAfterOrderDataInfo(designAfsId, callback)
{
if (!designAfsId)
return null;
var ajax = new Z.Ajax();
ajax.setContextPath('${context.getContextPath()}');
ajax.setClassName("DesignAfterOrderPresenter");
ajax.setMethodName("doQueryAfterOrderDataInfo");
ajax.addParam("designAfsId", designAfsId);
ajax.setFailureAlert();
ajax.setSuccess(function(){
callback(getObject(this.responseText))
});
ajax.execute();
}
function doShowAfterOrderInfo(obj, designAfsId)
{
if (!designAfsId)
{
Z.alert("请选择一项");
return;
}
//初始化数据内容
function showInfo(obj)
{
var attamap = new Z.HashMap();
var afterOrder = obj.afterOrder;
var problemType = obj.problemType;
var attaList = obj.afterAttaList;
for (var i=0; i< attaList.length; i++)
{
var atta = attaList[i];
var list = attamap.get(atta.attaModul);
if (!list)
list=[];
list.push(atta);
attamap.put(atta.attaModul, list);
}
var afterRightContent = '';
afterRightContent +='\r\n <table class="z-table z-pd10 z-bordered z-w100p" style="margin-top:;">';
afterRightContent +='\r\n <tr bgcolor="#f5f5f5">';
afterRightContent +='\r\n <td>产品信息:</td>';
afterRightContent +='\r\n </tr>';
afterRightContent +='\r\n <tr>';
afterRightContent +='\r\n <td id="orderText" class="z-lh150p">'+afterOrder.orderText+'</td>';
afterRightContent +='\r\n </tr>';
afterRightContent +='\r\n <tr bgcolor="#f5f5f5">';
afterRightContent +='\r\n <td><span class="z-bold">问题描述:</td>';
afterRightContent +='\r\n </tr>';
afterRightContent +='\r\n <tr>';
afterRightContent +='\r\n <td id="problemDesc" class="z-lh150p">';
afterRightContent +='\r\n <div id="problemDesc" class="z-overflow-y-auto z-w100p" id="atta_EndFile" style="min-height:24px; max-height:100px;">';
afterRightContent +='\r\n '+(afterOrder.problemDesc ? afterOrder.problemDesc : '');
afterRightContent +='\r\n </div>';
afterRightContent +='\r\n </td>';
afterRightContent +='\r\n </tr>';
if (problemType && problemType.problemName)
{
afterRightContent +='\r\n <tr bgcolor="#f5f5f5">';
afterRightContent +='\r\n <td><span class="z-bold">售后原因:</td>';
afterRightContent +='\r\n </tr>';
afterRightContent +='\r\n <tr>';
afterRightContent +='\r\n <td id="problemDesc" class="z-lh150p">';
afterRightContent +='\r\n <div id="problemDesc" class="z-overflow-y-auto z-w100p" id="atta_EndFile" style="min-height:24px; max-height:100px;">';
afterRightContent +='\r\n '+(problemType.problemName);
afterRightContent +='\r\n </div>';
afterRightContent +='\r\n </td>';
afterRightContent +='\r\n </tr>';
}
for (var i=0; i<attamap._keys.length; i++)
{
var attaList = attamap.get(attamap._keys[i]);
if (!attaList || attaList.length == 0)
continue;
if (!attaTypeMap.get(attamap._keys[i]))
continue;//不支持的附件类型
afterRightContent +='\r\n <tr class="z-h40" bgcolor="#efefef">';
afterRightContent +='\r\n <td style="position: relative;">';
afterRightContent +='\r\n <input type="checkbox" class="z-checkbox" data-role="z-checkbox" data-class="z-blue" onclick="Z.FM.doSelectCheckBox(\'atta_'+attamap._keys[i]+'\', this.checked);" >';
afterRightContent +='\r\n <b class="z-pd4">'+attaTypeMap.get(attamap._keys[i])+'</b>';
afterRightContent +='\r\n <button id="download_'+attamap._keys[i]+'" onclick="doDownload(\''+attamap._keys[i]+'\')" class="z-button z-mg-l20 z-float-right z-orange z-mg-r6">下载</button>';
afterRightContent +='\r\n </td>';
afterRightContent +='\r\n </tr>';
afterRightContent +='\r\n <tr class="z-h40">';
afterRightContent +='\r\n <td class="z-pd-l10">';
for (var j=0; j<attaList.length; j++)
{
var atta = attaList[j];
afterRightContent +='\r\n <div class="z-overflow-y-auto z-w100p" style="min-height:24px; max-height:100px;">';
afterRightContent +='\r\n <div id="div_checkbox_'+atta.attaId+'" class="z-text-ellipsis z-w300 z-pointer" onclick="" title="'+atta.fileName+'">';
afterRightContent +='\r\n <input id="atta_'+atta.attaId+'" name="atta_'+atta.attaModul+'" type="checkbox" class="z-checkbox" data-role="z-checkbox" data-class="z-blue" data-attaid="'+atta.attaId+'" data-downloadUrl="'+(atta.ossUrl ? atta.ossUrl : '')+'" value="'+atta.attaId+'"><span class="z-pd6" onclick="Z(this).parent().find(\'zcover>i.z-checkbox\').click();">'+atta.fileName+'</span><br>';
afterRightContent +='\r\n </div>';
afterRightContent +='\r\n </div>';
}
afterRightContent +='\r\n </td>';
afterRightContent +='\r\n </tr>';
}
afterRightContent +='\r\n </table>';
Z("#afterRightContent").htmlc(afterRightContent);
}
doQueryAfterOrderDataInfo(designAfsId, showInfo);
}
function doDownload(attaType)
{
var attaIds = Z.FM.getCheckBoxValue("atta_" + attaType, "");
if (Z.V.isEmpty(attaIds))
{
parent.Z.alert("请选择需要下载的文件");
return false;
}
/*
var arr = Z.AR.toArray(attaIds, ",");
if (arr.length == 1)
{//1个文件情况下
var input = Z("#atta_"+attaIds);
//if (input )
var url = input.attr("data-downloadUrl");
url = Z.V.isEmptyBlank(url) ? "/downFile.htm?attaId=" + attaIds : url;
Z.L.href(url, zCallFrame);
return;
}
*/
var ajax = new Z.Ajax();
ajax.setClassName("UploadFilePresenter");
ajax.setMethodName("doDownloadFile");
ajax.addParam("attaId", attaIds);
ajax.setFailure(function(){
Z.alert(this.responseText,null, {width:320});
});
ajax.setSuccess(function(){
Z.L.href("/downFile.htm?attaId=" + attaIds, zCallFrame);
});
ajax.setLoading('download_'+attaType, '下载', {disabled:true});
ajax.execute();
}
function doFinishAfterOrder()
{//售后处理完成
var designAfsId = Z.FM.getChecked("designAfsId");
if (Z.V.isEmpty(designAfsId))
{
Z.alert("请选择一条订单");
return;
}
Z.confirm("确认处理完成吗?", function(){
var ajax = new Z.Ajax();
ajax.setClassName("DesignAfterOrderPresenter");
ajax.setMethodName("doFinishAfterOrder");
ajax.addParam("designAfsId", designAfsId);
ajax.setFailure(function(){
Z.alert(this.responseText,null, {width:320});
});
ajax.setSuccess(function(){
document.theForm.submit();
});
ajax.setLoading();
ajax.execute();
})
ajax.execute();
}
function showReturnBlame()
{//弹窗 申诉
var designAfsId = Z.FM.getChecked("designAfsId");
if (Z.V.isEmpty(designAfsId))
{
Z.alert("请选择一条订单");
return;
}
var afsAppend ="afs"+designAfsId;
var inputAfsStatus =Z("#"+afsAppend).val();
if(inputAfsStatus != "300")
{
Z.alert("不属于售后处理中状态的售后单不允许申诉");
return;
}
function showDialog(obj)
{
var afterOrder = obj.afterOrder;
var fileType = '${FileTypeConstants.FILE_AFTE_COMPLAIN_EVIDENCE.value()}';
var attaList = obj.afterAttaList;
var comlainFiles = [];
for (var i = 0; i < attaList.length; i++)
{
var atta = attaList[i];
if (fileType == atta.attaModul)
comlainFiles.push(atta);
}
var dialogContent = '<form name="returnBlameForm">';
dialogContent +='<input type="hidden" id="complainEvidenceFileMethod" name="complainEvidenceFileMethod" value="0">';
dialogContent +='<input type="hidden" id="imgData" name="imgData">';
dialogContent +='<input type="hidden" id="designAfsId" name="designAfsId" value="'+afterOrder.designAfsId+'">';
dialogContent +='<table class="z-table z-bordered z-pd6 z-bg-white">';
dialogContent +=' <tr>';
dialogContent +=' <td width="120" class="z-text-right" valign="top"> 申诉原因 </td>';
var afterBlameReturnNote = '';
if (afterOrder.afterBlameReturnNote)
afterBlameReturnNote = afterOrder.afterBlameReturnNote;
dialogContent +=' <td><textarea name="afterBlameReturnNote" class="z-h100 z-w100p">'+afterBlameReturnNote+'</textarea></td>';
dialogContent +=' </tr>';
dialogContent +=' <tr class="z-h50">';
dialogContent +=' <td width="120" class="z-text-right"> 申诉凭证方式 </td>';
dialogContent +=' <td id="complainEvidenceMethod_td">';
dialogContent +=' <input type="radio" name="complainEvidenceMethod" value="0" onclick="activetablenav(this)" class="z-radio" data-role="z-radio" checked="checked" data-class="z-blue"><span class="z-mg-l6">申诉文件</span>';
dialogContent +=' <input type="radio" name="complainEvidenceMethod" value="1" onclick="activetablenav(this)" class="z-radio" data-role="z-radio" data-class="z-blue"><span class="z-mg-l6">申诉截图</span>';
dialogContent +=' <button type="button" id="upload_'+"${FileTypeConstants.FILE_AFTE_COMPLAIN_EVIDENCE.value()}"+'" class="z-button z-float-right z-cyan z-absolute" style="top: 10px; right: 5px;"><i class="z-font z-add"></i>添加文件</button>';
dialogContent +=' </td>';
dialogContent +=' </tr>';
dialogContent +=' <tr>';
dialogContent +=' <td colspan="2" id="complainEvidenceFileresult">';
dialogContent +=' <section>';
dialogContent +=' <div id="complainFileWarp" class="z-overflow-y-auto result" style="height:270px">';
dialogContent +=' </div>';
dialogContent +=' <div class="z-overflow-y-auto result z-hide" style="height:270px">';
dialogContent +=' <div style="display:none" id="imgData"></div>';
dialogContent +=' <div id="imgSrc"></div>';
dialogContent +=' </div>';
dialogContent +=' </section>';
dialogContent +=' </td>';
dialogContent +=' </tr>';
dialogContent +='</table>';
dialogContent +='<div class="z-absolute z-w100p z-h60 z-text-center z-bg-gray z-pd10" style="bottom:0;left:0">';
dialogContent +=' <button type="button" id="complainBtn" class="z-button z-large z-w120 z-cyan" onclick="doSubmitAfterComplain(this.form)">提交</button>';
dialogContent +=' <button type="button" class="z-button z-large z-mg-l10" onclick="Z.Dialog.close();">关闭</button>';
dialogContent +='</div>';
dialogContent +='</form>';
var returnBlameDialog = new Z.Dialog();
returnBlameDialog.id = "returnBlameDialog";
returnBlameDialog.title = "异议申诉";
returnBlameDialog.text = "<div id='retunrBlame_dialogContent'></div>";
returnBlameDialog.width = 1024;
returnBlameDialog.height = 500;
returnBlameDialog.execute();
Z("#retunrBlame_dialogContent").htmlc(dialogContent);
doShowComplainFiles(comlainFiles, "complainFileWarp", afterOrder.designAfsId);
//初始化上传
var designId = obj.afterOrder.designId;
if (Z.Validates.isEmpty(designId))
return;
var upload = new Z.UploadLarge();
upload.elem = "upload_" + '${FileTypeConstants.FILE_AFTE_COMPLAIN_EVIDENCE.value()}';
upload.showResult = false;
upload.fileMd5Target = 1;
upload.fileCopy = true;
upload.maxSizeMiB = 500;
upload.contextPath = "${context.getContextPath()}";
upload.setFileDir(dateDir);
upload.onSelected = function(fileName, fileLength)
{
this.setFileName(fileName);
};
upload.onCompleted = function(fileId){
var ajax = new Z.Ajax();
ajax.setClassName("UploadFilePresenter");
ajax.setMethodName("doUplaodFile");
ajax.addParam(designId);
ajax.addParam(fileId);
ajax.addParam('${FileTypeConstants.FILE_AFTE_COMPLAIN_EVIDENCE.value()}');
ajax.setFailureAlert();
ajax.setSuccess(function()
{
var dataMap = getObject(this.responseText);
var fileType = '${FileTypeConstants.FILE_AFTE_COMPLAIN_EVIDENCE.value()}';
var attaList = dataMap.attaList;
var comlainFiles = [];
for (var i = 0; i < attaList.length; i++)
{
var atta = attaList[i];
if (fileType == atta.attaModul)
comlainFiles.push(atta);
}
doShowComplainFiles(comlainFiles, "complainFileWarp", afterOrder.designAfsId);
});
ajax.setLoading(document);
ajax.execute();
};
upload.execute();
}
doQueryAfterOrderDataInfo(designAfsId, showDialog);
}
function doShowComplainFiles(attaList, warpId, designAfsId)
{
var warpContent ="";
warpContent +=' <table class="z-table z-bordered-line zi-bd-t-none zi-bd-b-none z-pd6 z-bg-white">';
for (var i = 0; i < attaList.length; i++)
{
var atta = attaList[i];
warpContent +=' <tr><td>'+atta.fileName+'<button type="button" onclick="doDeleteFile(\''+designAfsId+'\', \''+atta.attaId+'\')" class="z-button z-small z-red z-float-right">删除</button></td></tr>';
}
warpContent +=' </table>';
Z("#"+warpId).html(warpContent);
}
function doDeleteFile(designAfsId, attaId)
{//删除文件
Z.confirm("确认删除此文件吗?", function()
{
var ajax = new Z.Ajax();
ajax.setClassName("UploadFilePresenter");
ajax.setMethodName("doDeleteFile");
ajax.addParam(attaId);
ajax.setFailure(function(){Z.alert(this.responseText,null, {width:320});});
ajax.setSuccess(function(){
function refrensh(obj)
{
var fileType = '${FileTypeConstants.FILE_AFTE_COMPLAIN_EVIDENCE.value()}';
var attaList = obj.afterAttaList;
var comlainFiles = [];
for (var i = 0; i < attaList.length; i++)
{
var atta = attaList[i];
if (fileType == atta.attaModul)
comlainFiles.push(atta);
}
doShowComplainFiles(comlainFiles, "complainFileWarp", designAfsId);
}
doQueryAfterOrderDataInfo(designAfsId, refrensh);
});
ajax.execute();
}, {width:320});
}
function activetablenav(item)
{//切换申诉 凭证方式
var $$input = Z("#complainEvidenceMethod_td").find("input.z-radio");
var $$div = Z("#complainEvidenceFileresult>section>div.result");
var index = [].indexOf.call($$input, item);
Z($$div[index]).removeClass("z-hide").siblings("div").addClass('z-hide');
Z("#complainEvidenceFileMethod").val(item.value)
var addFile = Z("#upload_" + '${FileTypeConstants.FILE_AFTE_COMPLAIN_EVIDENCE.value()}');
if (item.value == 1)
addFile.addClass("zi-hide");
else
addFile.removeClass("zi-hide");
}
//图片粘贴
(function(){
var imgReader = function( item ){
var blob = item.getAsFile(),
reader = new FileReader();
// 读取文件后将其显示在网页中
reader.onload = function(e){
var img = new Image();
img.onload = function(){
var imgData = "";
if(img.width > 0 && img.height > 0)
imgData = result;
Z("#imgData").val(imgData);
}
var result = e.target.result;
img.src = result;
img.id = "divImg";
Z("#imgSrc").html("");
Z("#imgSrc").append(img);
};
// 读取文件
reader.readAsDataURL(blob);
};
window.addEventListener( 'paste', function(e)
{
// 添加到事件对象中的访问系统剪贴板的接口
var clipboardData = e.clipboardData, items, item, types;
if(clipboardData)
{
items = clipboardData.items;
if( !items )
{
return;
}
item = items[0];
// 保存在剪贴板中的数据类型
types = clipboardData.types || [];
for(var i=0 ; i < types.length; i++ )
{
if( types[i] === 'Files' )
{
item = items[i];
break;
}
}
// 判断是否为图片数据
if( item && item.kind === 'file' && item.type.match(/^image\//i))
{
imgReader(item);
}
}
});
})();
function doSubmitAfterComplain(form)
{//complainBtn
var ajax = new Z.Ajax();
ajax.setClassName("DesignAfterOrderPresenter");
ajax.setMethodName("doSubmitAfterComplain");
ajax.setParamForm(form);
ajax.setFailure(function(){Z.alert(this.responseText,null, {width:320});});
ajax.setSuccess(function(){
document.theForm.submit();
});
ajax.setLoading("complainBtn", "正在提交", {disabled:true})
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('designOrder.htm');">未完成订单</li>
<li onclick="Z.Location.href('designOrderFinish.htm');">已完结订单</li>
<li class="z-active">售后订单</li>
<li onclick="Z.Location.href('complainWantDealList.htm');">投诉订单</li>
</ul>
</nav>
</div>
<#-- 左侧功能 -->
<div id="left" class="z-overflow-y-auto z-overflow-x-hidden z-relative-left">
<#-- 查询条件 -->
${zhiqim_manager_title("查询条件")}
<form name="theForm" method="post">
<table class="z-table z-bordered z-pd6 z-bg-white">
<tr>
<td width="34%">订&nbsp;单&nbsp;号 <input name="designId" class="${zmr_color_class} z-input z-w180 z-mg-l4" value="${designId}" maxlength="64" placeholder="订单号"></td>
<td width="30%"> 旺 旺 号: <input name="buyerNick" class="${zmr_color_class} z-input z-w180 z-mg-l4" value="${buyerNick}" maxlength="64" placeholder="旺旺号"></td>
<td>
创建时间:
<input id="startCreateDate" name="startCreateDate" class="z-input z-w90 ${zmr_color_class}" readonly="true" onfocus="Z.date(this);" value="${startCreateDate}">&nbsp;-&nbsp;
<input id="endCreateDate" name="endCreateDate" class="z-input z-mg-l3 z-w90 ${zmr_color_class}" readonly="true" onfocus="Z.date(this);" value="${endCreateDate}">
</td>
</tr>
<tr class="z-h40">
<td> 处理状态:
<select data-class="${zmr_color_class}" data-role="z-select" id="afterStatus" name="afterStatus" class="z-w180 z-select">
<option value="">全部</option>
<#for item : AfterConstants.getStatusList()>
<option value="${item.value()}" <#if item.value() == afterStatus>selected</#if>>${item.desc()}</option>
</#for>
</select>
</td>
<td colspan="2"><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>
<#-- 操作功能 -->
<div class="z-w100p z-mg-t10 z-mg-b3">
<button type="button" class="z-button z-mg-t3 z-mg-r6 z-red" onclick="showReturnBlame()"><i class="z-font z-upload"></i>异议申诉</button>
<button type="button" class="z-button z-mg-t3 z-mg-r6 z-cyan" onclick="doFinishAfterOrder()"><i class="z-font z-success"></i>售后完成</button>
</div>
<#-- 列表-->
<div class="z-overflow-auto z-bd-r" style="overflow:scroll;">
<table class="z-table z-bordered z-h40-tr z-pd5 zi-bd-r-none z-bg-white z-text-center" style="width:2000px">
<tr bgcolor="${zmr_thead_bgcolor}" data-layoutCode="orderList">
<td width="40">选择</td>
<td width="130">订单号</td>
<td width="130">旺旺号</td>
<td width="100">处理状态</td>
<td width="80">损失金额</td>
<td width="80">赔付金额<span data-role="z-tooltip" data-options="align:left;width:200px;" class="z-color-red" data-text="2021年10月1日起,设计师售后赔偿金额由损失金额改为赔付金额">&nbsp;*</span></td>
<td width="250">售后原因</td>
<td width="230">产品</td>
<td width="180">特殊工艺</td>
<td width="90">创建时间</td>
<td width="130">新补单号</td>
<td width="170">申诉拒绝原因</td>
<td width="100">申诉拒绝时间</td>
</tr>
${zhiqim_manager_tr_no_record(pageResult, 18, "暂时没有订单信息")}
<#for item : pageResult.list()>
<tr class="z-pointer" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
<td><input name="designAfsId" type="radio" data-role="z-radio" data-class="${zmr_color_class}" onclick="doShowAfterOrderInfo(this, this.value)" value="${item.getDesignAfsId()}" ></td>
<td>${item.getDesignId()}</td>
<td id="ww${item.getDesignAfsId()}" data-ww="${item.getBuyerNick()}">${item.getBuyerNick()}</td>
<input type="hidden" value="${item.getAfterStatus()}" id="afs${item.getDesignAfsId()}">
<td>${AfterConstants.statusHtml(item.getAfterStatus())}</td>
<td>${item.getLossAmount()}</td>
<#if item.getAfterCreateTime().getTime() gte lNowTime>
<td>${(item.getLossAmount()*Long.parseLong(ParamDao.getString("yangcai.web","AfterPayProportion")))/100}</td>
<#else>
<td>${item.getLossAmount()}</td>
</#if>
<td>${item.getProblemDesc()}</td>
<td>${item.getOrderText()}</td>
<td>${item.getPrintSpecial()}</td>
<td>${Sqls.toDateTimeString(item.getAfterCreateTime())}</td>
<td><#if item.getNewDesignId() gt 0>${item.getNewDesignId()}</#if></td>
<td>${item.getAfterBlameReturnNote()}</td>
<td>${Sqls.toDateTimeString(item.getAfterModifyTime())}</td>
</tr>
</#for>
</table>
</div>
${zhiqim_manager_paging(pageResult, "waitHandleAfterOrder.htm")}
</div>
${zhiqim_manager_content_end()}
<#--右侧文件信息-->
<div id="afterRight" class="z-fixed z-pd6 z-bd-l z-bg-white z-h100p" style="top:${zmr_topnav_height}px;right:0;width:340px;z-index:50;">
<div id="afterRightContent" class="zi-mg-t15">
<table class="z-table z-pd10 z-bordered z-w100p" style="margin-top:;">
<tr bgcolor="#f5f5f5">
<td>产品信息:</td>
</tr>
<tr>
<td id="orderText" class="z-lh150p">请选择订单</td>
</tr>
<tr bgcolor="#f5f5f5">
<td><span class="z-bold">问题描述:</span></td>
</tr>
<tr>
<td class="z-lh150p">
<div id="problemDesc" class="z-overflow-y-auto z-w100p" id="atta_EndFile" style="min-height:24px; max-height:100px;">
</div>
</td>
</tr>
<tr class="z-h40" bgcolor="#efefef">
<td style="position: relative;">
<zcover style="float: none; margin: 0px;"><input type="checkbox" class="z-checkbox" data-role="z-checkbox" data-class="z-blue" onclick="Z.FM.doSelectCheckBox('atta_AftersaleFile', this.checked);" data-id="Z_Checkbox_ZaKqqLra8T" style="visibility: hidden; margin: 0px;"><i class="z-checkbox z-role-checkbox z-relative z-blue" id="Z_Checkbox_ZaKqqLra8T" data-id="" data-name="" style="padding: 0px; margin-left: -16px;"></i></zcover>
<b class="z-pd4">售后文件</b>
<button id="download" class="z-button z-mg-l20 z-float-right z-orange z-mg-r6">下载</button>
</td>
</tr>
<tr class="z-h40">
<td class="z-pd-l10">
<div class="z-overflow-y-auto z-w100p" id="atta_AftersaleFile" style="min-height:24px; max-height:100px;">
</div>
</td>
</tr>
<tr class="z-h40" bgcolor="#efefef">
<td style="position: relative;">
<zcover style="float: none; margin: 0px;"><input type="checkbox" class="z-checkbox" data-role="z-checkbox" data-class="z-blue" onclick="Z.FM.doSelectCheckBox('atta_DesginFile', this.checked);" data-id="Z_Checkbox_TsMUgMR9ME" style="visibility: hidden; margin: 0px;"><i class="z-checkbox z-role-checkbox z-relative z-blue" id="Z_Checkbox_TsMUgMR9ME" data-id="" data-name="" style="padding: 0px; margin-left: -16px;"></i></zcover>
<b class="z-pd4">设计文件</b>
<button id="download" class="z-button z-mg-l20 z-float-right z-orange z-mg-r6">下载</button>
</td>
</tr>
<tr class="z-h40">
<td class="z-pd-l10">
<div class="z-overflow-y-auto z-w100p" id="atta_DesginFile" style="min-height:24px; max-height:100px;">
</div>
</td>
</tr>
<tr class="z-h40" bgcolor="#efefef">
<td style="position: relative;">
<zcover style="float: none; margin: 0px;"><input type="checkbox" class="z-checkbox" data-role="z-checkbox" data-class="z-blue" onclick="Z.FM.doSelectCheckBox('atta_EndFile', this.checked);" data-id="Z_Checkbox_7pxVgdChg9" style="visibility: hidden; margin: 0px;"><i class="z-checkbox z-role-checkbox z-relative z-blue" id="Z_Checkbox_7pxVgdChg9" data-id="" data-name="" style="padding: 0px; margin-left: -16px;"></i></zcover>
<b class="z-pd4">印刷文件</b>
<button id="download" class="z-button z-mg-l20 z-float-right z-orange z-mg-r6">下载</button>
</td>
</tr>
<tr class="z-h40">
<td class="z-pd-l10">
<div class="z-overflow-y-auto z-w100p" id="atta_EndFile" style="min-height:24px; max-height:100px;">
</div>
</td>
</tr>
<tr class="z-h40" bgcolor="#efefef">
<td style="position: relative;">
<zcover style="float: none; margin: 0px;"><input type="checkbox" class="z-checkbox" data-role="z-checkbox" data-class="z-blue" onclick="Z.FM.doSelectCheckBox('atta_TbzFile', this.checked);" data-id="Z_Checkbox_7pxVgdChg8" style="visibility: hidden; margin: 0px;"><i class="z-checkbox z-role-checkbox z-relative z-blue" id="Z_Checkbox_7pxVgdChg8" data-id="" data-name="" style="padding: 0px; margin-left: -16px;"></i></zcover>
<b class="z-pd4">编辑器文件</b>
<button id="download" class="z-button z-mg-l20 z-float-right z-orange z-mg-r6">下载</button>
</td>
</tr>
<tr class="z-h40">
<td class="z-pd-l10">
<div class="z-overflow-y-auto z-w100p" id="atta_TbzFile" style="min-height:24px; max-height:100px;">
</div>
</td>
</tr>
</table>
</div>
</div>
<#-- 联系旺旺&联系QQ弹窗框 -->
<iframe id="openFrm" class="z-hide" src="about:blank"></iframe>
@@ -0,0 +1,863 @@
${Styles.htmlOverflowYAuto()}
${Scripts.src(zhiqim_uploadlarge.js)}
<link href="https://cdn.quilljs.com/1.3.6/quill.snow.css" rel="stylesheet">
<script src="https://cdn.quilljs.com/1.3.6/quill.js"></script>
<script>
<!--
var attaList = ${attaList};
Z.onload(function()
{
for(var i=0; i<attaList.length; i++)
{
var obj = attaList[i];
if ("file" == obj.type && obj.isAdd)
{
initUploader(obj.id, obj.savePath);
}
if ("file" == obj.type)
{
Z("#fileType_Text_"+obj.id).click();//默认选中
}
}
//成品尺寸判断
var getPrintWidth=${order.getPrintWidth()}
var width = 0;
var height = 0;
if(getPrintWidth>0){
$('#finished-size').html(${order.getPrintWidth()}+'mm X '+${order.getPrintHeight()}+'mm')
}else{
width = ${order.getDesignWidth()}-(${designType.getBleeding()}*2);
height = ${order.getDesignHeight()}-(${designType.getBleeding()}*2);
$('#finished-size').html(width+'mm X '+height+'mm')
}
operationFlow()
$(document).on('mouseenter mouseleave','.manuscript-list',function(event){
if (event.type === "mouseenter") {
$(this).find('.file-popup').show()
}else{
$(this).find('.file-popup').hide()
}
})
var content1 = '${content}';
if (!content1) {
// content 为空
}else{
document.getElementById('editor-container').innerHTML = content1;
}
});
$(function(){
if(!window.name){
window.name = 'test';
window.location.reload();
}
})
//操作流程逻辑
function operationFlow(){
var designStatus = "${order.getStatus()}";
if(designStatus>=40){
$('#first-draft-audit').addClass('operation-active')
$('#first-draft-time').html("${Sqls.toDateTimeString(order.getDesignDraftTime())}")
}
if(designStatus>=50){
$('#first-draft-end').addClass('operation-active')
}
if(designStatus>=52){
$('#finalize-draft-audit').addClass('operation-active')
$('#finalize-draft-time').html("${Sqls.toDateTimeString(order.getDesignEndTime())}")
}
if(designStatus>=55){
$('#finalize-draft-end').addClass('operation-active')
$('.onBack').click(function(){
Z.Location.href('designOrderFinish.htm');
})
$('.design-btn').hide()
$('#goTemplate').hide()
}
if(designStatus>55){
$('#printing-audit').addClass('operation-active')
$('#check-time').html("${Sqls.toDateTimeString(order.getCheckTime())}")
}
if(designStatus==70){
$('#design-complete').addClass('operation-active')
$('#modify-time').html("${Sqls.toDateTimeString(order.getModifyTime())}")
}
}
//前往设计
function toDesign()
{
var designId = Z("#designId").val();
var prdType = "${order.getTypeId()}";
var targetUrl = "/templatePreview.htm?designId="+designId;
var targetCardUrl = "/templateCardPreview.htm?designId="+designId+"&src=design";
var ajax = new Z.Ajax();
ajax.setClassName("DesignOrderPresenter");
ajax.setMethodName("doDesignerOrderTemplate");
ajax.addParam("designId", designId);
if(prdType == "2023207561256")
{
ajax.addParam("validateUrl", targetCardUrl);
}
else
{
ajax.addParam("validateUrl", targetUrl);
}
ajax.setFailureAlert();
ajax.setSuccessLocationResponse();
ajax.execute();
}
//前往编辑器
function toEditor(editorUrl)
{
var hurl = window.location.href;
var position = hurl.indexOf("?");
var result = hurl.substr(0, position);
var designId = Z("#designId").val();
editorUrl = "${editorUrl}"+ "&callbackUrl="+ result + "?" + designId;
window.open(editorUrl);
//window.location.href=editorUrl;
}
function doDownFile(attaIds)
{//文件下载
var designId = Z("#designId").val();
if (Z.V.isEmpty(designId))
{
parent.Z.alert("请选择一条订单");
return;
}
if (Z.V.isEmpty(attaIds))
{
parent.Z.alert("请选择需要下载的文件");
return false;
}
if(${checkeds}){
parent.Z.alert("选中多条订单不支持下载,请重新选择");
return;
}
var ajax = new Z.Ajax();
ajax.setClassName("UploadFilePresenter");
ajax.setMethodName("doDownloadFile");
ajax.addParam("attaId", attaIds);
ajax.setFailure(function(){
Z.alert(this.responseText,null, {width:320});
});
ajax.setSuccess(function(){
var prefix = Z.l.protocol + "//" + Z.l.host ;
Z.L.href(prefix+"/downFile.htm?attaId=" + attaIds, zCallFrame);
});
ajax.setLoading(document);
ajax.execute();
}
function materialDoDownFile(type)
{//客户素材下载
var designId = Z("#designId").val();
var attaIds = Z.FM.getCheckBoxValue("str_" + type, "");
if (Z.V.isEmpty(designId))
{
parent.Z.alert("请选择一条订单");
return;
}
if (Z.V.isEmpty(attaIds))
{
parent.Z.alert("请选择需要下载的文件");
return false;
}
if(${checkeds}){
parent.Z.alert("选中多条订单不支持下载,请重新选择");
return;
}
var ajax = new Z.Ajax();
ajax.setClassName("UploadFilePresenter");
ajax.setMethodName("doDownloadFile");
ajax.addParam("attaId", attaIds);
ajax.setFailure(function(){
Z.alert(this.responseText,null, {width:320});
});
ajax.setSuccess(function(){
var prefix = Z.l.protocol + "//" + Z.l.host ;
Z.L.href(prefix+"/downFile.htm?attaId=" + attaIds, zCallFrame);
});
ajax.setLoading(document);
ajax.execute();
}
function doDesignOrderDraft()
{//完成初稿
var designId = Z("#designId").val();
var ajax = new Z.Ajax();
ajax.setClassName("DesignOrderPresenter");
ajax.setMethodName("doQueryStatus");
ajax.addParam(designId);
ajax.addParam("SUMBIT");
ajax.setFailureAlert();
ajax.setSuccess(function()
{
var dialog = new Z.Dialog();
dialog.title = "完成初稿截图(截屏后粘贴(CTRL+V)到输入框中)";
dialog.url = "/designOrderDraft.htm?designId=" + designId;
dialog.width = 600;
dialog.height = 400;
dialog.execute();
})
ajax.setLoading("orderToDraft", '正在处理', {disabled:true});
ajax.execute();
}
function doDraftOrderToComplete()
{//完成定稿
var designId = Z("#designId").val();
var draftType = "${order.getDraftType()}";
if(draftType == 0)
{//自来稿订单
var ajax1 = new Z.Ajax();
ajax1.setClassName("DesignOrderPresenter");
ajax1.setMethodName("doEasyDraftOrderToComplete");
ajax1.addParam(designId);
ajax1.setFailureAlert();
ajax1.setSuccess(function(){Z.success("定稿成功", function(){location.reload();});});
ajax1.setLoading("orderToComplete", '正在提交', {disabled:true});
ajax1.execute();
}
else
{
var ajax = new Z.Ajax();
ajax.setClassName("DesignOrderPresenter");
ajax.setMethodName("doDraftOrderToComplete");
ajax.addParam(designId);
ajax.setFailureAlert();
ajax.setSuccess(function(){Z.success("提交定稿成功", function(){location.reload();});});
ajax.setLoading("orderToComplete", '正在提交', {disabled:true});
ajax.execute();
}
}
//快捷联系人
function quickContact()
{
var designId = Z("#designId").val();
if (Z.V.isEmpty(designId))
{
Z.alert("请选择一条订单");
return;
}
var ajax = new Z.Ajax();
ajax.setClassName("OrderPresenter");
ajax.setMethodName("quickContact");
ajax.addParam("designId", designId);
ajax.setFailureAlert();
ajax.setSuccess(function(){
var obj = Z.J.toObject(this.responseText);
var resultHtml = obj.resultHtml;
if (!Z("#quickContact_dialog")[0])
{
var dialog = new Z.Dialog();
dialog.title = '<span id="quickContact_title" class="z-bold"></span>';
dialog.text = '<div id="quickContact_dialog"></div>';
dialog.width = 750;
dialog.height = 400;
dialog.shadow = false;
dialog.execute();
dialog.$background.remove();
}
Z("#quickContact_dialog").htmlc(resultHtml);
Z("#quickContact_title").htmlc(Z("#title_content").html());
});
ajax.setLoading("quickContactBtn", '正在查询', {disabled:true});
ajax.execute();
}
function initUploader(fileType, path)
{//文件上传
var designId = Z("#designId").val();
if (Z.Validates.isEmpty(designId))
return;
var upload = new Z.UploadLarge();
upload.elem = "upload_" + fileType;
upload.showResult = false;
upload.fileMd5Target = 1;
upload.fileCopy = true;
upload.maxSizeMiB = 500;
upload.contextPath = "${context.getContextPath()}";
upload.setFileDir(path);
upload.onSelected = function(fileName, fileLength)
{
var ajax = new Z.Ajax();
ajax.setSync();
ajax.setClassName("UploadFilePresenter");
ajax.setMethodName("doCheckFileName");
ajax.addParam(designId);
ajax.addParam(fileType);
//if ("EndFile" != fileType)
// ajax.addParam(designId + "-" + fileName);
//else
ajax.addParam(fileName);
ajax.execute();
if (ajax.responseStatus != 0)
{
Z.alert(ajax.responseText);
return false;
}
//if ("EndFile" != fileType)
// this.setFileName(designId + "-" + fileName);
//else
this.setFileName(fileName);
};
upload.onCompleted = function(fileId){
var ajax = new Z.Ajax();
ajax.setClassName("UploadFilePresenter");
ajax.setMethodName("doUplaodFile");
ajax.addParam(designId);
ajax.addParam(fileId);
ajax.addParam(fileType);
ajax.setFailureAlert();
ajax.setSuccess(function()
{
var dataMap = Z.J.toObject(this.responseText);
Z("#div_" + fileType).html("");//清除;
var html = "";
var items = dataMap.attaList;
for(var i=0;i<items.length;i++)
{
var obj = items[i];
html += '<div class="manu-list" id="paper_'+obj.attaId+'">'
html += '<div class="manuscript-list"><img src="zinc/images/'+obj.fileType+'.png">';
html += '<div class="file-popup" style="display: none;">';
html += '<div class="download-btn" onclick="doDownFile('+obj.attaId+');">下载</div>';
html += '<div class="del-btn" onclick="doDeleteFile('+obj.attaId+');">删除</div>';
html += '</div>';
html += '</div>';
html += '<p title="'+obj.fileName+'">'+obj.fileName+'</p>';
html += '</div>';
}
Z("#div_" + fileType).htmlc(html);
});
ajax.setLoading(document);
ajax.execute();
};
upload.execute();
}
function doDeleteFile(attaIds)
{//删除文件
var designId = Z("#designId").val();
if (Z.V.isEmpty(designId))
{
parent.Z.alert("请选择一条订单");
return;
}
if (Z.V.isEmpty(attaIds))
{
parent.Z.alert("请选择需要删除的文件");
return ;
}
if(${checkeds}){
parent.Z.alert("选中多条订单不支持删除,请重新选择");
return;
}
Z.confirm("确认删除此文件吗?", function()
{
var ajax = new Z.Ajax();
ajax.setClassName("UploadFilePresenter");
ajax.setMethodName("doDeleteFile");
ajax.addParam(attaIds);
ajax.setFailure(function(){Z.alert(this.responseText,null, {width:320});});
ajax.setSuccess(function(){
$('#paper_'+attaIds).remove();
});
ajax.execute();
}, {width:320});
}
function showLargeImg(thisImg)
{
var dialog = new parent.Z.Dialog();
dialog.shadow = true;
dialog.title = "图片预览";
dialog.fixed = true;
dialog.url = "showLargeImg.htm?imgpath="+thisImg.src;
dialog.width = parent.Z.D.clientWidth()-600;
dialog.height = parent.Z.D.clientHeight()-400;
dialog.execute();
dialog.$background.remove();
}
//复制名称
function doCopyProductInfo(copyType)
{
var orderText = "${order.getOrderText()}";
if (copyType == 1)
{//复制文件名
var designId = "${order.getDesignId()}";
var buyerNick = "${order.getBuyerNick()}";
//var fileName = designId+ "-" +buyerNick;
var fileName = orderText;
if (fileName == "-")
return;
Z.copy(fileName);
top.Z.tips("复制成功");
}
else
{//复制信息
if (Z("#copy_content").length == 0)
return;
Z.copy(Z("#copy_content").text());
top.Z.tips("复制成功");
}
}
var dialog = new Z.Dialog();
function aa() {
dialog.close();
location.reload();
}
var progress = 0;
var total = 100;
function toSyncFile()
{//同步文件
var designId = Z("#designId").val();
var templateId = "${designOrder.getTemplateId()}";
var ajax = new Z.Ajax();
ajax.setClassName("DesignOrderPresenter");
ajax.setMethodName("toSyncFile");
ajax.addParam("designId", designId);
ajax.addParam("templateId", templateId);
ajax.setFailureAlert();
ajax.setSuccess(function(){
dialog.title = "同步文件中";
dialog.text = "<table class='z-table z-w100p z-h100p'><tr><td class='z-text-center'><div class='progress-bar'> "+
"<div class='progress-bar-fill'></div> "+
"</div></td></tr>" +
"<tr><td> <button class='add-sync-draft' style='margin-left:200px;color:white;' onclick=''>继续等待</button> <button class='add-sync-draft' style='margin-left:10px;color:white;' onclick='aa()'>后台渲染</button> </td></tr>" +
"</table>";
//<i style='float: left;margin-left: 20px;margin-top: -45px;' class='z-ico z-success'></i>
dialog.width = 700;
dialog.height = 200;
dialog.fixed = true;
dialog.execute();
progress = 0;
// 每隔1秒增加进度条的进度隐居宫主客栈老板医师
setInterval(function() {
if (progress < total) {
progress++;
var progressBarFill = document.querySelector('.progress-bar-fill');
progressBarFill.style.width = progress + '%';
} else {
clearInterval(); // 完成进度条后停止定时器
aa();
}
}, 500);
});
ajax.setLoading(document);
ajax.execute();
}
//代编
function daiEditor()
{
var daiEditorUrl = "${daiEditorUrl}";
var designId = Z("#designId").val();
var ajax = new Z.Ajax();
ajax.setClassName("DesignOrderPresenter");
ajax.setMethodName("delEditorFile");
ajax.addParam("designId", designId);
ajax.setFailureAlert();
ajax.setSuccess(function(){
location.reload();
});
ajax.setLoading(document);
ajax.execute();
window.open(daiEditorUrl);
//window.location.href=daiEditorUrl;
}
//绑定客户模板文件id
function updateTemplateId(){
var designId = Z("#designId").val();
var templateId = "${designOrder.getTemplateId()}";
var dialog = new Z.Dialog();
dialog.title = "修改模板文件id";
dialog.url = "/manager/updateTemplateId.htm?designId=" + designId + "&templateId=" + templateId;
dialog.width = 530;
dialog.height = 220;
dialog.fixed = true;
dialog.execute();
}
</script>
<input name="designId" id="designId" value="${order.getDesignId()}" type="hidden">
<input name="designStatus" id="designStatus" value="${order.getStatus()}" type="hidden">
<div class="orderDetail">
<div class="detail-title clear">
<div class="onBack" onclick="Z.Location.href('designOrder.htm');"><img src="zinc/images/back.png" ><span>返回</span></div>
<span class="title-text">订单详情</span>
</div>
<div class="order-box clear">
<div class="order-box-left">
<div class="operation">
<div class="operation-box clear">
<div class="operation-list operation-active">
<div class="order-icon"><img src="zinc/images/order-icon01.png" ></div>
<div class="order-step">第1步</div>
<div class="order-text"><h3>任务接单</h3><p><span>${Sqls.toDateTimeString(order.getDesignBeginTime())}</span></p></div>
</div>
<div class="operation-list" id="first-draft-audit">
<div class="order-icon"></div>
<div class="order-step">第2步</div>
<div class="order-text"><h3>完成初稿</h3><p><span id="first-draft-time"></span></p></div>
</div>
<#-- <div class="operation-btn" id="first-draft-end">完成初稿</div> -->
<div class="operation-list" id="finalize-draft-audit">
<div class="order-icon"></div>
<div class="order-step">第3步</div>
<div class="order-text"><h3>定稿审核</h3><p><span id="finalize-draft-time"></span></p></div>
</div>
<div class="operation-btn" id="finalize-draft-end">完成定稿</div>
<div class="operation-list" id="printing-audit">
<div class="order-icon"></div>
<div class="order-step">第4步</div>
<div class="order-text"><h3>印前审核</h3><p><span id="check-time"></span></p></div>
</div>
<div class="operation-list" id="design-complete">
<div class="order-icon"></div>
<div class="order-step">第5步</div>
<div class="order-text"><h3>订单完成</h3><p><span id="modify-time"></span></p></div>
</div>
</div>
</div>
<div class="operation">
<div class="operation-title">产品信息<div class="describe"><span class="text-blue" onclick="doCopyProductInfo(1);">复制文件名</span><!--<span onclick="doCopyProductInfo();" class="text-yellow">复制信息</span>--></div></div>
<div class="product-box clear">
<div class="product-info"><span id="copy_content">${order.getOrderText()}</span><br>
<#if !order.isOnlyDesign()>
<span style="color:#077df9;">收货信息:${order.getReceiverName()} ${order.getUserMobile()} ${order.getReceiverState()} ${order.getReceiverCity()} ${order.getReceiverDistrict()} ${order.getReceiverAddress()}</span>
</#if>
</div>
</div>
</div>
<div class="operation">
<div class="operation-title">设计师文件<div class="describe" id="goTemplate">
<#if checkToken != "">
<#if designOrder.getTemplateId() != 0>
<span class="text-blue" onclick="toEditor()">重新设计</span>
<#else>
<!--<span class="text-blue" onclick="toEditor()">开始设计</span> -->
</#if>
<span class="text-blue" onclick="updateTemplateId()">绑定客户模板文件</span>
<#else>
<span class="text-red">渲染服务器出问题了,拿不到数据,请联系管理员处理</span>
</#if>
<!--<span class="text-blue" onclick="toDesign();">前往模板设计</span>-->
</div></div>
<div class="design-btn clear">
<#if order.getDraftType() != 0>
<button class="add-first-draft" id="orderToDraft" onclick="doDesignOrderDraft()">提交初稿</button>
</#if>
<button class="add-last-draft" id="orderToComplete" onclick="doDraftOrderToComplete()">提交定稿</button>
<#if designOrder.getTemplateId() != 0 && checkToken != "">
<button class="add-sync-draft" style="margin-left:10px;" onclick="toSyncFile()">同步文件</button>
<button class="add-editor-draft" style="margin-left:10px;" onclick="daiEditor()">修改设计</button>
</#if>
</div>
<div class="product-table">
<table style="margin:20px 0 0 0;">
<#for item : attaList>
<#if order.isOnlyDesign()>
<tr style="<#if item.getId() != "DesginFile" && item.getId() != "TbzFile" >display:none</#if>">
<td width="200" align="center" style="color:#8e8e8e;">
<div class="manuscript-title">${item.getName()}</div>
<div class="manuscript-p">
<#if item.getId()=="TbzFile" && checkToken != "">
编辑器文件</br>(注:不要随意删除,文件删除后必须点击代编修改保存后才可重新同步)
<#else>
请上传设计稿件</br>(支持稿件类型:${designType.getDesignFileType()})
</#if>
</div>
</td>
<td style="padding:12px 0 12px 10px;">
<button class="add-manuscript ${zmr_color_class}" id="upload_${item.getId()}" <#if !item.isAdd()>disabled=true</#if>><img src="zinc/images/add-manuscript.png" ></button>
<div class="manuscript-box" id="div_${item.getId()}">
<#if designOrder.getTemplateId() != 0 && item.getId()=="DesginFile" && checkToken != "" && order.getStatus() lt 55 >
<button class="add-editor-draft" style="margin-left: 10px;margin-top: 20px;color: white;" onclick="daiEditor()">修改设计</button>
</#if>
<#for atta : fileList>
<#if checkToken != "" && Validates.isEqual(atta.getAttaModul(), item.getId())>
<div class="manu-list" id="paper_${atta.getAttaId()}">
<div class="manuscript-list" >
<img src="zinc/images/${atta.getFileType()}.png" onerror="javascript:this.src='zinc/images/error.png'" >
<div class="file-popup">
<div class="download-btn" onclick="doDownFile('${atta.getAttaId()}');">下载</div>
<button class="del-btn" onclick="doDeleteFile('${atta.getAttaId()}');" <#if !item.isDel()>disabled=true</#if>>删除</button>
</div>
</div>
<p title="${atta.getFileName()}">${atta.getFileName()}</p>
</div>
</#if>
</#for>
</div>
</td>
</tr>
<#elseif item.getType() == "file" && item.getId() != "CustomFile">
<tr style="<#if item.getId() == "AftersaleFile">display:none</#if>">
<td width="200" align="center" style="color:#8e8e8e;">
<div class="manuscript-title">${item.getName()}</div>
<div class="manuscript-p">
<#if item.getId()=="DesginFile">请上传设计稿件</br>(支持稿件类型:${designType.getDesignFileType()})
<#elseif item.getId()=="EndFile">请根据产品格式要求上传定稿转曲印刷文件</br>(支持稿件类型:${designType.getPrintingFileType()})
<#elseif item.getId()=="WorkFile">请将带后加工产品详细工艺标示出来,并在图片上备注清楚
<#elseif item.getId()=="TbzFile" && checkToken != "">编辑器文件</br>(注:不要随意删除,文件删除后必须点击代编修改保存后才可重新同步)
</#if>
</div>
</td>
<td style="padding:12px 0 12px 10px;">
<button class="add-manuscript ${zmr_color_class}" id="upload_${item.getId()}" <#if !item.isAdd()>disabled=true</#if>><img src="zinc/images/add-manuscript.png" ></button>
<div class="manuscript-box" id="div_${item.getId()}">
<#for atta : fileList>
<#if checkToken != "" && Validates.isEqual(atta.getAttaModul(), item.getId())>
<div class="manu-list" id="paper_${atta.getAttaId()}">
<div class="manuscript-list" >
<img src="zinc/images/${atta.getFileType()}.png" >
<div class="file-popup">
<div class="download-btn" onclick="doDownFile('${atta.getAttaId()}');">下载</div>
<button class="del-btn" onclick="doDeleteFile('${atta.getAttaId()}');" <#if !item.isDel()>disabled=true</#if>>删除</button>
</div>
</div>
<p title="${atta.getFileName()}">${atta.getFileName()}</p>
</div>
</#if>
</#for>
<#if checkToken != "" && designOrder.getTemplateId() != 0 && item.getId()=="DesginFile" && order.getStatus() lt 55>
<button class="add-editor-draft" style="margin-left: 10px;margin-top: 20px;color: white;" onclick="daiEditor()">修改设计</button>
</#if>
</div>
</td>
</tr>
</#if>
</#for>
<tr>
<td width="200" align="center" style="color:#8e8e8e;">
<div class="manuscript-title">初稿缩略图</div>
</td>
<td style="padding:12px 0 12px 10px;">
<div class="manuscript-box">
<#if order != null>
<div class="thumbnail"><img src="${order.getDesignId()}-FristThumFile.png" onerror="javascript:this.src='zinc/images/frist-error.png'" onclick='showLargeImg(this)' ></div>
</#if>
</div>
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="order-box-right">
<div class="operation">
<div class="operation-title">联系客户</div>
<div class="contact-annotation">注意:如果客户问你是哪个店铺的设计师,请告诉客户你是【领淘设计】的设计师</div>
<div class="material clear">
<div class="material-list" style="background:#e3f0ff;">
<div class="material-list-t">联系方式</div>
<div class="material-list-c">
<button id="quickContactBtn" onclick="quickContact();">快捷联系方式</button>
</div>
</div>
<div class="material-list">
<div class="material-list-t">客户资料</div>
<div class="material-list-c">${order.getUserText()}</div>
</div>
<div class="material-list">
<div class="material-list-t">客户素材</div>
<div class="matter-list-c clear" style="text-align: right;">
<div class="check-all">
<div style="float:left; padding:2px 0 0 0;">
<input type="checkbox" id="box_CustomFile" onclick="Z.FM.doSelectCheckBox('str_CustomFile', this.checked);" class="z-checkbox z-mg-l2" data-role="z-checkbox" data-class="${zmr_color_class}" >
<span style="font-size:14px; line-height:28px;" id="fileType_Text_CustomFile" class="z-pointer" onclick=" Z(this).parent().find('zcover>i.z-checkbox').click();">全选</span>
</div>
<button id="download_CustomFile" style="margin:0 10px 0 0;" class="z-button z-orange z-pd3" onclick="materialDoDownFile('CustomFile');">下载</button>
</div>
<#for atta : fileList>
<!--CustomFile-->
<#if atta.getAttaModul() == "CustomFile">
<div class="matter-list" style="text-align:left;" title="${atta.getFileName()}">
<input name="str_CustomFile" type="checkbox" data-attaId="${atta.getAttaId()}" data-attaUrl="${atta.getOssUrl()}" data-fileName="${atta.getFileName()}" class="z-checkbox" data-role="z-checkbox" data-class="${zmr_color_class}" value ="${atta.getAttaId()}">
<span class="z-pd6" onclick="Z(this).parent().find('zcover>i.z-checkbox').click();">${atta.getFileName()}</span>
</div>
</#if>
</#for>
</div>
</div>
<#if Validates.isNotEmptyBlank(order.getPrintSpecial())>
<div class="material-list">
<div class="material-list-t">特殊工艺</div>
<div class="material-list-c">${order.getPrintSpecial()}</div>
</div>
</#if>
<#if Validates.isNotEmptyBlank(order.getServicesMessage())>
<div class="material-list">
<div class="material-list-t">客服备注</div>
<div class="material-list-c">${order.getServicesMessage()}</div>
</div>
</#if>
</div>
</div>
<div class="operation product-table" style="padding:0 20px 20px 20px;">
<div class="operation-title" style="padding:20px 0 20px 0;">交稿规范</div>
<div id="editor-container">
</div>
</div>
</div>
</div>
</div>
</div>
<style>
html {overflow-x: hidden; overflow-y: hidden;}
body{ background:#e6e9f2; height:100%;}
.matter-list{ width:100%; float:left; padding:0 10px 0 0;}
.matter-list input{ float:left; margin:3px 6px 0 0;}
.matter-list span{ float:left; line-height:24px; font-size:12px; padding:0; width:80%; overflow: hidden;white-space: nowrap;text-overflow: ellipsis;}
.matter-list button{ float:right; background-color:#fff!important; border:none!important; color:#077df9!important;}
.matter-list-c{ padding:8px 0 8px 10px; min-height:100px; width:calc(100% - 100px); color:#333; font-size:14px;}
.clear:after{content:'';display:block;clear:both;height:0;overflow:hidden;visibility:hidden;}
.clear{zoom:1;}
#editor-container {
width: 100%; /* 容器宽度为100% */
height: 400px; /* 容器高度,根据需要设置 */
overflow-y: auto; /* 内容超出时允许垂直滚动 */
border: 1px solid #ccc; /* 为了视觉效果,给容器添加边框 */
position: relative; /* 如果需要定位内部元素,可以设置为relative */
}
.ql-tooltip {
display: none;
}
.detail-title{ background:#fff; height:48px; color:#85858d; font-size:16px; line-height:48px; border-bottom:1px solid #e1e1e1;}
.onBack img{ width:14px; display: inline-block; vertical-align: middle; margin:0 12px;}
.onBack span{ display: inline-block; vertical-align: middle;}
.onBack{ float:left; font-size:14px; padding:0 20px 0 0; position: relative; height:48px; line-height:46px; cursor: pointer;}
.onBack::after{ content:''; display: block; border-right:1px solid #e1e1e1; position: absolute; top:10px; right:0; height:28px;}
.title-text{ float: left; padding:0 0 0 20px;}
.order-box-left{ float: left; width:70%;}
.order-box-right{ width:30%; float: right; padding:0 0 0 20px; box-sizing: border-box;}
.operation-active .order-icon{ background:#077df9;}
.operation-active .order-step{ background:#1182fc; border:1px solid #1182fc; color:#fff;}
.operation-active .order-text h3{ color:#1182fc;}
.operation{ background:#fff; padding:0 0 20px 0; margin:0 0 14px 0;}
.order-icon{ width:54px; height:54px; border-radius: 54px; background:#dfe1ed; margin:16px 0 14px 30px;}
.order-icon img{ width:24px; height:24px; margin:15px 0 0 15px;}
.operation-box{ padding:0 0 0 4%;}
.operation-list{ float: left; width:186px; padding:0 35px 0 35px; position: relative;}
.operation-btn{ float: left; font-size:13px; border:1px solid #dddddd; margin:86px 0 0 0; color:#333; padding:0 12px; line-height:30px; border-radius:4px;}
.operation-list::before{ content:''; display: block; border-top:1px solid #dddddd; width:34px; position: absolute; left:0; top:100px;}
.operation-list::after{ content:''; display: block; border-top:1px solid #dddddd; width:33px; position: absolute; right:0; top:100px;}
.operation-list:first-child::before{ content:none;}
.operation-list:last-child::after{ content:none;}
.order-step{ width:100%; font-size:12px; background:#fff; color:#49494b; border:1px solid #dddddd; text-align: center; line-height:30px; border-radius:4px;}
.order-text{ text-align: center; padding:0 0 18px 0;}
.order-text span{ width:100%; display: inline-block;}
.order-text h3{ color:#666; line-height:24px; font-size:14px; padding:10px 0 0 0; margin:0;}
.order-text p{ color:#9d9ca1; font-size:12px; line-height:20px;}
.operation-title{ color:#333; font-size:18px; font-weight: bold; padding:20px 0 20px 20px; position: relative;}
.product-box{ padding:0 20px;}
.product-info{ background:#edeff3; line-height:30px; color:#333; font-size:14px; border-left:1px solid #3081dc; padding:16px 0 16px 20px;}
.table-title{ font-size:14px; color:#646975; line-height:42px; font-weight: bold; padding:10px 0 0 0;}
.product-table{ padding:0 20px; color:#333;}
.product-table table{border-top:1px solid #efefef; border-left:1px solid #efefef; width:100%;}
.product-table table td{ border-right:1px solid #efefef; border-bottom:1px solid #efefef; height:40px; padding:0 20px; color:#333;}
.describe{ position: absolute; top:0; right:0; padding:24px 20px 0 0; cursor: pointer;}
.describe span{ font-size:16px; font-weight:400; margin:0 0 0 20px;}
.text-blue{ color:#077df9;}
.text-yellow{ color:#e0b66e;}
.a-text-blue{ float: right; color:#077df9;}
.design-btn{ padding:0 0 0 20px; color:#fff;}
.add-first-draft{ background:#eaa03d; padding:10px 28px; border-radius:4px; float: left; margin:0 10px 0 0; border:none;}
.add-last-draft{ background:#1081ff; padding:10px 28px; border-radius:4px; float: left; border:none;}
.add-sync-draft{ background:#50a14f; padding:10px 28px; border-radius:4px; float: left; border:none;}
.add-editor-draft{ background:#a626a4; padding:10px 28px; border-radius:4px; float: left; border:none;}
.manu-list{ width:108px; float:left; margin:0 12px 0 0;}
.manu-list p{ line-height:30px; height:30px; width:100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.manuscript-list{ position: relative; width:108px; height:64px; background:#dce2ee; padding:12px 0 0 0; box-sizing: border-box; float:left;}
.manuscript-list img{ width:38px; height:38px; margin:0 auto; display: block;}
.file-popup{ display:none; position: absolute; top:0; left:0; background: rgba(0,0,0,.3); width:100%; height:100%; padding:8px 0 0 0; }
.del-btn{ background:#ff5a56; border:none; cursor: pointer; color:#fff; width:52px; height:22px; text-align: center; font-size:12px; margin:4px 0 0 30px; line-height:20px;}
.download-btn{ background:#077df9; cursor: pointer; color:#fff; width:52px; height:22px; text-align: center; font-size:12px; margin:0 0 0 30px; line-height:22px;}
.manuscript-list p{ width:90%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin:6px 0 0 5%; font-size:12px; color:#787c88;}
.manuscript-box{ float: left;}
.add-manuscript{ width:86px; height:86px; border:1px dashed #e2e2e2; float:left; margin:0 12px 0 0;}
.add-manuscript img{ width:32px; height:32px;}
.thumbnail{ width:86px; height:86px;}
.thumbnail img{ width:100%; height:100%; cursor: pointer;}
.manuscript-title{ font-size:16px; font-weight: bold; color:#333; line-height:30px;}
.manuscript-p{ font-size:12px; color:#b2b3b8; line-height:20px;}
.material{ margin:0 20px; }
.material-list{ float:left; overflow:auto; display: flex; border-radius:4px; margin:0 0 4px 0; width:100%; border:1px solid #e1e1e1;}
.material-list-t{ background:#b7d9fe; color:#077df9; width:100px; justify-content: center; align-items:center; display: flex;}
.material-list-c{ padding:8px 0 8px 10px; min-height:100px; width:calc(100% - 100px); color:#333; font-size:14px; align-items:center; display: flex;}
.material-list-c img{ width:130px; height:130px;}
.material-list-c button{ color:#077df9; text-decoration: underline; cursor: pointer; background:none; border:none;}
.contact-annotation{ background:#eaf4ff; line-height:24px; border:1px solid #cfdbe7; margin:0 20px 10px 20px; color:#077df9; font-size:14px; padding:10px; box-sizing: border-box;}
.logs-list{ width: 100%; float: left; border-left:1px solid #c9d0d6; padding:0 0 24px 0; margin:0 0 0 6px; position: relative;}
.logs-list::after{ content:''; display: block; width:12px; height:12px; border-radius:12px; background:#077df9; position: absolute; top:0; left:-6px;}
.order-state{ float: left; color:#077df9; margin:0 20px 0 20px;}
.logs-box{ float: left; color:#4c4a55;}
.logs-box p{ color:#8f9092;}
.mainbody {height: calc(100% - 66px); min-height: 500px; overflow-y: scroll;}
.orderDetail{ height:100%; padding:20px;}
.operation-active.operation-btn{ background:#077df9; color:#fff;}
.operation-active::before{ border-top:1px solid #1182fc;}
.operation-active::after{ border-top:1px solid #1182fc;}
#first-draft-audit .order-icon{ background:#dfe1ed url(zinc/images/order-icon02.png) no-repeat 15px 15px; background-size:24px 24px;}
#finalize-draft-audit .order-icon{ background:#dfe1ed url(zinc/images/order-icon03.png) no-repeat 15px 15px; background-size:24px 24px;}
#printing-audit .order-icon{ background:#dfe1ed url(zinc/images/order-icon04.png) no-repeat 15px 15px; background-size:24px 24px;}
#design-complete .order-icon{ background:#dfe1ed url(zinc/images/order-icon05.png) no-repeat 15px 15px; background-size:24px 24px;}
#first-draft-audit.operation-active .order-icon{ background:#077df9 url(zinc/images/order-icon02-active.png) no-repeat 15px 15px; background-size:24px 24px;}
#finalize-draft-audit.operation-active .order-icon{ background:#077df9 url(zinc/images/order-icon03-active.png) no-repeat 15px 15px; background-size:24px 24px;}
#printing-audit.operation-active .order-icon{ background:#077df9 url(zinc/images/order-icon04-active.png) no-repeat 15px 15px; background-size:24px 24px;}
#design-complete.operation-active .order-icon{ background:#077df9 url(zinc/images/order-icon05-active.png) no-repeat 15px 15px; background-size:24px 24px;}
.order-text p{ position: absolute; bottom:0;}
.check-all{ width:100%; float:left; padding:0 0 6px 0;}
.progress-bar {
width: 500px;
background-color: #f3f3f3;
height: 20px;
border-radius: 5px;
overflow: hidden;
margin-left:100px;
margin-top:40px;
}
.progress-bar-fill {
height: 100%;
background-color: #3498db;
width: 0;
transition: width 0.5s ease;
}
</style>
@@ -0,0 +1,44 @@
<#-- 导航 -->
<div data-role="z-tabnav" class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
<nav>
<ul>
<li onclick="Z.L.href('category.htm');">知识库分类</li>
<li class="z-active">知识库内容</li>
</ul>
<div class="z-float-left z-mg10">
<form name="theForm" method="post">
<input name="articleKey" class="z-float-left z-input z-w300 zi-bd-r-none" value="${articleKey}" maxlength="64" placeholder="文章标题">
<button class="z-float-left z-button z-w80 zi-bd-rd0 ${zmr_color_class}"><i class="z-font z-query"></i>查询</button>
</form>
</div>
<div class="z-text-right z-mg-t10 z-mg-r5">
<button class="z-button ${zmr_color_class}" onclick="Z.L.href('articleAdd.htm');"><i class="z-font z-add"></i>增加文章</button>
<button class="z-button ${zmr_color_class}" onclick="Z.L.check('articleModify.htm', 'articleId');"><i class="z-font z-modify"></i>修改文章</button>
<button class="z-button z-red" onclick="Z.L.confirm('articleDelete.htm', '确认要删除该文章?', 'articleId');"><i class="z-font z-delete"></i>删除文章</button>
</div>
</nav>
</div>
<#-- 列表 -->
<table class="z-table z-bordered z-h40-tr z-pd6 z-bg-white z-text-center">
<tr bgcolor="${zmr_thead_bgcolor}">
<td width="50">选择</td>
<td width="10%">文章状态</td>
<td width="10%">文章所属分类</td>
<td width="*">文章标题</td>
<td width="15%">发表时间</td>
</tr>
${zhiqim_manager_tr_no_record(articlePage, 5, "暂时没有文章信息")}
<#for item : articlePage.list()>
<tr class="z-h40 z-pointer" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
<td><input name="articleId" type="radio" data-role="z-radio" data-class="${zmr_color_class}" value="${item.getArticleId()}"></td>
<td><#if item.getArticleStatus()==0>正常<#else><span class="z-color-red">停用</span></#if></td>
<td>${item.getCategoryName()}</td>
<td>${item.getArticleTitle()}</td>
<td>${Sqls.toDateTimeString(item.getArticleTime())}</td>
</tr>
</#for>
</table>
${zhiqim_manager_paging(articlePage, "article.htm")}
@@ -0,0 +1,65 @@
<#def designatedPath="/category.htm"/>
${request.getValidateScript()}
${zhiqim_manager_history ("article.htm")}
${zhiqim_manager_breadcrumb_parent ("article.htm", "知识库内容", "增加文章")}
${zhiqim_manager_content()}
<form name="theForm" action="articleInsert.htm" method="post" onsubmit="return validateForm(this);" data-role="z-call-frame">
<table class="z-table z-bordered z-h50-tr z-pd10 z-bg-white">
<tr class="zi-h40 z-bg-gray z-bold">
<td colspan="2">增加文章</td>
</tr>
<tr>
<td width="40%">所属分类:<span class="z-color-999">(请选择)</span></td>
<td width="*">
<select name="categoryId" class="z-select z-w300 ${zmr_color_class}" data-role="z-select" data-class="${zmr_color_class}">
<#for item : categoryList>
<option value="${item.getCategoryId()}">${item.getCategoryName()}</option>
</#for>
</select><span class="z-color-red">&nbsp;*</span>
</td>
</tr>
<tr>
<td>分类状态:<span class="z-color-999">(请选择)</span></td>
<td>
<select name="articleStatus" class="z-select z-w300 ${zmr_color_class}" data-role="z-select" data-class="${zmr_color_class}">
<option value="0">正常</option>
<option value="1">停用</option>
</select><span class="z-color-red">&nbsp;*</span>
</td>
</tr>
<tr>
<td>文章标题:<span class="z-color-999">32位不定长字符)</span></td>
<td><input name="articleTitle" class="z-input z-w300 ${zmr_color_class}" maxlength="32"><span class="z-color-red">&nbsp;*</span></td>
</tr>
<tr>
<td colspan="2">
<div class="z-mg-t20">文章内容:<span class="z-color-999">(不能超过25000个字符)</span><span class="z-color-red">&nbsp;*</span></div>
<div class="z-pd-t20 z-pd-b20" style="margin-top:20px">
<textarea id="articleContent" name="articleContent" class="z-textarea ckeditor z-w100p ${zmr_color_class}" rows="15" size="30" maxlength="25000"></textarea>
</div>
</td>
</tr>
</table>
${zhiqim_manager_submit()}
</form>
${zhiqim_manager_content_end()}
<!--
<script charset="utz-8" src="/inc/ckeditor/ckeditor.js"></script>
-->
<link rel="stylesheet" type="text/css" href="/zres/zteditor/zteditor.css">
<script type="text/javascript" src="/zres/zteditor/zteditor.js"></script>
<script>
//CKEDITOR.replace("articleContent");
Z.onload(function()
{
var editor = new Z.ZhiqimEditor();
editor.setId("articleContent");
editor.execute();
});
function validateForm2(form)
{
Z("#articleContent").val(CKEDITOR.instances.articleContent.getData());
return validateForm(form);
}
</script>
@@ -0,0 +1,61 @@
<#def designatedPath="/category.htm"/>
${request.getValidateScript()}
${zhiqim_manager_history ("article.htm")}
${zhiqim_manager_breadcrumb_parent ("article.htm", "知识库内容", "修改文章")}
${zhiqim_manager_content()}
<form name="theForm" action="articleUpdate.htm" method="post" onsubmit="return validateForm(this);" data-role="z-call-frame">
<input name="articleId" type="hidden" value="${article.articleId}">
<table class="z-table z-bordered z-h50-tr z-pd10 z-bg-white">
<tr class="zi-h40 z-bg-gray z-bold">
<td colspan="2">修改文章</td>
</tr>
<tr>
<td width="40%">所属分类:<span class="z-color-999">(请选择)</span></td>
<td width="*">
<select name="categoryId" class="z-select z-w300 ${zmr_color_class}" data-role="z-select" data-class="${zmr_color_class}">
<#for item : categoryList>
<option value="${item.getCategoryId()}" <#if item.getCategoryId() == article.getCategoryId()>selected</#if>>${item.getCategoryName()}</option>
</#for>
</select><span class="z-color-red">&nbsp;*</span>
</td>
</tr>
<tr>
<td>分类状态:<span class="z-color-999">(请选择)</span></td>
<td>
<select name="articleStatus" class="z-select z-w300 ${zmr_color_class}" data-role="z-select" data-class="${zmr_color_class}">
<option <#if article.getArticleStatus() == 0>selected</#if> value="0">正常</option>
<option <#if article.getArticleStatus() == 1>selected</#if> value="1">停用</option>
</select><span class="z-color-red">&nbsp;*</span>
</td>
</tr>
<tr>
<td>文章标题:<span class="z-color-999">32位不定长字符)</span></td>
<td><input name="articleTitle" class="z-input z-w300 ${zmr_color_class}" value="${article.getArticleTitle()}" maxlength="32"><span class="z-color-red">&nbsp;*</span></td>
</tr>
<tr>
<td colspan="2">
<div class="z-mg-t20">文章内容:<span class="z-color-999">(不能超过25000个字符)</span><span class="z-color-red">&nbsp;*</span></div>
<div class="z-pd-t20 z-pd-t20">
<textarea id="articleContent" name="articleContent" class="z-textarea z-w100p ${zmr_color_class}" rows="15" size="30" maxlength="25000">${article.getArticleContent()}</textarea>
</div>
</td>
</tr>
</table>
${zhiqim_manager_submit()}
</form>
${zhiqim_manager_content_end()}
<!--
<script charset="utz-8" src="/inc/ckeditor/ckeditor.js"></script>
-->
<link rel="stylesheet" type="text/css" href="/zres/zteditor/zteditor.css">
<script type="text/javascript" src="/zres/zteditor/zteditor.js"></script>
<script>
//CKEDITOR.replace("articleContent");
Z.onload(function()
{
var editor = new Z.ZhiqimEditor();
editor.setId("articleContent");
editor.execute();
});
</script>
@@ -0,0 +1,78 @@
${zhiqim_manager_content()}
<#-- 显示子分类,并递归显示下级子分类 -->
<#function showChildCategory(self, parent)>
<tr class="z-h30" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
<td><input name="categoryId" type="radio" data-role="z-radio" data-class="${zmr_color_class}" value="${self.self().getCategoryId()}"></td>
<td>${self.self().getCategoryId()}</td>
<td align="left" class="zi-pd-l6">
<#var level = self.self().getCategoryLevel()/>
<#if level == 0>
<i class="z-ico z-tree z-30 z-normal z-root z-mg-r3"></i>
<#else>
<#for i : 1..(level-1)>
<#if self.isLastNode(level-i)>
<i class="z-ico z-tree z-30 z-normal z-blank"></i>
<#else>
<i class="z-ico z-tree z-30 z-normal z-vertline"></i>
</#if>
</#for>
<#if self.isLastNode()>
<i class="z-ico z-tree z-30 z-normal z-lastnode"></i>
<#else>
<i class="z-ico z-tree z-30 z-normal z-node"></i>
</#if>
<i class="z-ico z-tree z-item z-mg-r3"></i>
</#if>
#{self.self().getCategoryName()}
</td>
<td><#if self.self().getCategoryStatus() == 0>正常<#else><span class="z-color-red">停用</span></#if></td>
<td>${self.self().getCategoryLevel()}</td>
</tr>
<#for child : self.children()>
${showChildCategory(child, self)}
</#for>
</#function>
${zhiqim_manager_breadcrumb ("知识库分类")}
<#-- 导航 -->
<div data-role="z-tabnav" class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
<nav>
<ul>
<li class="z-active">知识库分类</li>
<li onclick="Z.L.href('article.htm');">知识库内容</li>
</ul>
<div class="z-text-right z-mg-t10 z-mg-r5">
<button class="z-button ${zmr_color_class}" onclick="Z.L.check('/categoryAdd.htm', 'categoryId');"><i class="z-font z-add"></i>增加下级分类</button>
<button class="z-button ${zmr_color_class}" onclick="Z.L.check('/categoryModify.htm', 'categoryId');"><i class="z-font z-modify"></i>修改分类</button>
<button class="z-button z-red" onclick="Z.L.confirm('/categoryDelete.htm', '确认要删除该分类及分类下文章?', 'categoryId', zCallFrame);"><i class="z-font z-delete"></i>删除分类</button>
</div>
</nav>
</div>
<#-- 列表 -->
<table class="z-table z-bordered z-h40-tr z-pd6 z-bg-white z-text-center" >
<tr bgcolor="${zmr_thead_bgcolor}">
<td width="50">选择</td>
<td width="200">分类编号</td>
<td width="*">分类名称</td>
<td width="20%">分类状态</td>
<td width="15%">分类级别</td>
</tr>
<#if size == 0>
${zhiqim_manager_no_record(5, "暂时没有分类信息")}
<#else>
<tr class="z-pointer" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
<td><input name="categoryId" type="radio" data-role="z-radio" data-class="${zmr_color_class}" value="${tree.self().getCategoryId()}" ></td>
<td>${tree.self().getCategoryId()}</td>
<td align="left" class="zi-pd-l6"><i class="z-ico z-tree z-normal z-30 z-root z-mg-r3"></i>#{tree.self().getCategoryName()}</td>
<td><#if tree.self().getCategoryStatus() == 0>正常<#else><span class="z-color-red">停用</span></#if></td>
<td>${tree.self().getCategoryLevel()}</td>
</tr>
<#for child : tree.children()>
${showChildCategory(child, tree)}
</#for>
</#if>
</table>
${zhiqim_manager_list(size)}
${zhiqim_manager_content_end()}
@@ -0,0 +1,37 @@
<#def designatedPath="/category.htm"/>
${request.getValidateScript()}
${zhiqim_manager_history ("category.htm")}
${zhiqim_manager_breadcrumb_parent ("category.htm", "知识库分类", "增加分类")}
${zhiqim_manager_content()}
<form name="theForm" action="categoryInsert.htm" method="post" onsubmit="return validateForm(this);" data-role="z-call-frame">
<input name="parentLevel" type="hidden" value="${category.getCategoryLevel()}">
<input name="parentId" type="hidden" value="${category.getCategoryId()}">
<table class="z-table z-bordered z-h50-tr z-pd10 z-bg-white">
<tr class="zi-h40 z-bg-gray z-bold">
<td colspan="2">增加分类</td>
</tr>
<tr>
<td width="40%">上级分类:<span class="z-color-999">32位不定长字符)</span></td>
<td width="*">${category.getCategoryName()}</td>
</tr>
<tr>
<td>分类名称:<span class="z-color-999">32位不定长字符)</span></td>
<td><input name="categoryName" class="z-input z-w300 ${zmr_color_class}" maxlength="32"><span class="z-color-red">&nbsp;*</span></td>
</tr>
<tr>
<td>分类状态:<span class="z-color-999">(请选择)</span></td>
<td>
<select name="categoryStatus" class="z-select z-w300 ${zmr_color_class}" data-role="z-select" data-class="${zmr_color_class}">
<option value="0">正常</option><option value="1">停用</option>
</select><span class="z-color-red">&nbsp;*</span>
</td>
</tr>
<tr>
<td>分类排序数:<span class="z-color-999">(填整型)</span></td>
<td><input name="categorySeq" class="z-input z-w300 ${zmr_color_class}" data-options="type:Integer;" value="100" maxlength="8"><span class="z-color-red">&nbsp;*</span></td>
</tr>
</table>
${zhiqim_manager_submit()}
</form>
${zhiqim_manager_content_end()}
@@ -0,0 +1,41 @@
<#def designatedPath="/category.htm"/>
${request.getValidateScript()}
${zhiqim_manager_history ("category.htm")}
${zhiqim_manager_breadcrumb_parent ("category.htm", "知识库分类", "修改分类")}
${zhiqim_manager_content()}
<form name="theForm" action="categoryUpdate.htm" method="post" onsubmit="return validateForm(this);" data-role="z-call-frame">
<input name="categoryId" type="hidden" value="${category.getCategoryId()}">
<table class="z-table z-bordered z-h50-tr z-pd10 z-bg-white">
<tr class="zi-h40 z-bg-gray z-bold">
<td colspan="2">修改分类</td>
</tr>
<tr>
<td width="40%">分类编号:<span class="z-color-999">(自定义)</span></td>
<td width="*">${category.getCategoryId()}</td>
</tr>
<tr>
<td>上级分类:<span class="z-color-999">32位不定长字符)</span></td>
<td>${parent.getCategoryName()}</td>
</tr>
<tr>
<td>分类名称:<span class="z-color-999">32位不定长字符)</span></td>
<td><input name="categoryName" class="z-input z-w300 ${zmr_color_class}" value="${category.getCategoryName()}" maxlength="32"><span class="z-color-red">&nbsp;*</span></td>
</tr>
<tr>
<td>分类状态:<span class="z-color-999">(请选择)</span></td>
<td>
<select name="categoryStatus" class="z-select z-w300 ${zmr_color_class}" data-role="z-select" data-class="${zmr_color_class}">
<option <#if category.getCategoryStatus() == 0>selected</#if> value="0">正常</option><option <#if category.getCategoryStatus() == 1>selected</#if> value="1">停用</option>
</select><span class="z-color-red">&nbsp;*</span>
</td>
</tr>
<tr>
<td>分类排序数:<span class="z-color-999">(填整型)</span></td>
<td><input name="categorySeq" class="z-input z-w300 ${zmr_color_class}" data-options="type:Integer;" value="${category.getCategorySeq()}" maxlength="8"><span class="z-color-red">&nbsp;*</span></td>
</tr>
</table>
${zhiqim_manager_submit()}
</form>
${zhiqim_manager_content_end()}
@@ -0,0 +1,125 @@
<#def title = "扬彩帮助中心"/>
<#def keywords = "帮助中心"/>
<#def desc = "扬彩帮助中心"/>
<#--头部起始-->
<!DOCTYPE html>
<html>
<head>
<title>扬彩知识库</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="Keywords" content="知识库" />
<meta name="Description" content="扬彩知识库" />
<link rel="shortcut icon" type="image/ico" href="/favicon.ico">
${Styles.src(zhiqim.css)}
${Scripts.src(zhiqim.js)}
${Styles.src(context.getRootPath("/zinc/css/yangcai_question_main_v1.4.0R2018031701.css"))}
${Scripts.src(context.getRootPath("/zinc/css/zhiqim_search_auto_list_v1.4.0R2018031701.js"))}
</head>
</div>
<!--固定的111margin-->
<div style="margin-top:10px"></div>
<script>
Z.onload(function()
{
//左侧分类列表点击事件
Z(".sidebar p").click(function()
{
var $thisUl = Z(this).next("ul");
var hasChild = ($thisUl.find("li").length > 0)?(1):(0);
if (hasChild)
{
var $ulDisplay = $thisUl.css("display");
var $thisIcon = Z(this).find(".z-font");
$thisUl.slideToggle().siblings("ul").slideUp();
if ($ulDisplay == "block")
return Z(".sidebar p>.z-font").removeClass("z-arrowhead-up").addClass("z-arrowhead-down");
Z(".sidebar p>.z-font").removeClass("z-arrowhead-up").addClass("z-arrowhead-down");
$thisIcon.removeClass("z-arrowhead-down").addClass("z-arrowhead-up");
}
else
selectCategory(Z(this).attr("data-id"));
});
//定义搜索框
var search = new Z.SearchAutoList();
search.elem = "searchinput";
search.className = "SearchPresenter";
search.methodName = "search";
search.callback = function(){doSearchAjax(this.value);};
search.execute();
})
//分类选择
function selectCategory(id){
window.location.href = "/question.htm?categoryId=" + id;
}
//文章显示
function getArticle(categoryId,articleId)
{
window.location.href = "/question.htm?categoryId=" + categoryId + "&articleId=" + articleId;
}
//执行搜索
function doSearchAjax(str)
{
window.location.href = "/search.htm?keyword=" + str;
}
</script>
<#--容器开始-->
<!-- 左边导航 -->
<div class="sidebar" style="position: fixed;left: 0;top:0;bottom: 0;width:15%;margin-top:10px">
<p data-id="0" class="<#if categoryId == 0>z-selected</#if>">热门问题</p>
<#for category : categoryList>
<#if category.getCategoryLevel() == 2>
<p data-id="${category.getCategoryId()}" class="<#if category.getCategoryId()==categoryId>z-selected</#if>">
<#if parentList.get(categoryList.indexOf(category))><i class="z-font <#if selectedList.get(categoryList.indexOf(category))>z-arrowhead-up<#else>z-arrowhead-down</#if> z-float-left z-mg-r10"></i></#if>${category.getCategoryName()}
</p>
<ul style="display:<#if selectedList.get(categoryList.indexOf(category))>block<#else>none</#if>;">
<#for child : childrenList>
<#if child.getParentId() == category.getCategoryId()>
<li <#if categoryId == child.getCategoryId()>class="z-selected"</#if> onclick="selectCategory(${child.getCategoryId()})">${child.getCategoryName()}</li>
</#if>
</#for>
</ul>
</#if>
</#for>
</div>
<!-- 右边主体 -->
<div class="mainbody" style="width:84%;" >
<!-- 搜索框 -->
<div class="mainsearch">
<span class="z-show-ib" id="search_wrap">
<input id="searchinput" placeholder="输入问题关键词" type="text" class="z-input z-xlarge"><button onclick="doSearchAjax(searchinput.value)" class="z-button">&#xf004;</button>
</span>
</div>
<div class="questionbody" id="questionbody">
<!-- 显示文章 -->
<#if articleStr != null>
<div class="article">
${articleStr}</br>
</div>
<div class="article" >
${content}
</div>
<!-- 显示列表 -->
<#elseif !articleList.isEmpty()>
<dl class="article-list">
<#for article : articleList>
<dd><a href="javascript:{getArticle(${article.getCategoryId()},${article.getArticleId()})}">${article.getArticleTitle()}</a><span style="float:right">${article.getArticleTime().toString().substring(0, article.getArticleTime().toString().length() - 2)}</span></dd>
</#for>
</dl>
<#else>
<h2 style="font-weight:normal;">没有找到相关项目</h2>
</#if>
</div>
</div>
</body>
</html>
@@ -0,0 +1,120 @@
<#def title = "扬彩知识库"/>
<#def keywords = "知识库"/>
<#def desc = "扬彩知识库"/>
<#--头部起始-->
<!DOCTYPE html>
<html>
<head>
<title>扬彩知识库</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="Keywords" content="知识库" />
<meta name="Description" content="扬彩知识库" />
<link rel="shortcut icon" type="image/ico" href="/favicon.ico">
${Styles.src(zhiqim.css)}
${Scripts.src(zhiqim.js)}
${Styles.src(context.getRootPath("/zinc/css/yangcai_question_main_v1.4.0R2018031701.css"))}
${Scripts.src(context.getRootPath("/zinc/css/zhiqim_search_auto_list_v1.4.0R2018031701.js"))}
</head>
<script>
Z.onload(function()
{
//左侧分类列表点击事件
Z(".sidebar p").click(function()
{
var $thisUl = Z(this).next("ul");
var hasChild = ($thisUl.find("li").length > 0)?(1):(0);
if (hasChild)
{
var $ulDisplay = $thisUl.css("display");
var $thisIcon = Z(this).find(".z-font");
$thisUl.slideToggle().siblings("ul").slideUp();
if ($ulDisplay == "block")
return Z(".sidebar p>.z-font").removeClass("z-arrowhead-up").addClass("z-arrowhead-down");
Z(".sidebar p>.z-font").removeClass("z-arrowhead-up").addClass("z-arrowhead-down");
$thisIcon.removeClass("z-arrowhead-down").addClass("z-arrowhead-up");
}
else
selectCategory(Z(this).attr("data-id"));
});
//定义搜索框
var search = new Z.SearchAutoList();
search.elem = "searchinput";
search.className = "SearchPresenter";
search.methodName = "search";
search.callback = function(){doSearchAjax(this.value);};
search.execute();
})
//分类选择
function selectCategory(id)
{
window.location.href = "/question.htm?categoryId=" + id;
}
//文章显示
function getArticle(categoryId,articleId)
{
window.location.href = "/question.htm?categoryId=" + categoryId + "&articleId=" + articleId;
}
//执行搜索
function doSearchAjax(str)
{
window.location.href = "/search.htm?keyword=" + str;
}
</script>
<#--容器开始-->
<div id="container" class="container">
<!-- 左边导航 -->
<div class="sidebar">
<main<#if menu=="index"> class="selected"</#if> onclick="location.href='${context.getRootPath("/question.htm")}'"><img width="150" height="40" src="${context.getRootPath("/inc/images/logo.png")}" alt="扬彩印刷" title="扬彩印刷"></a></main>
<p data-id="0">热门问题</p>
<#for category : categoryList>
<#if category.getCategoryLevel() == 2>
<p data-id="${category.getCategoryId()}" class="<#if category.getCategoryId()==categoryId>z-selected</#if>">
<#if isParent.get(categoryList.indexOf(category))><i class="z-font z-arrowhead-down z-float-left z-mg-r10"></i></#if>${category.getCategoryName()}
</p>
<ul style="display:none;">
<#for child : childrenList>
<#if child.getParentId() == category.getCategoryId()>
<li <#if categoryId == child.getCategoryId()>class="z-selected"</#if> onclick="selectCategory(${child.getCategoryId()})">${child.getCategoryName()}</li>
</#if>
</#for>
</ul>
</#if>
</#for>
</div>
<!-- 右边主体 -->
<div class="mainbody">
<!-- 搜索框 -->
<div class="mainsearch">
<span class="z-show-ib" id="search_wrap">
<input id="searchinput" placeholder="输入问题关键词" value="${keyword}" type="text" class="z-input z-xlarge"><button onclick="doSearchAjax(searchinput.value)" class="z-button">&#xf004;</button>
</span>
</div>
<div class="questionbody" id="questionbody">
<div class="search-resultBar z-lh30">搜索结果:
<span>${keyword}</span>&nbsp;&nbsp;共找到&nbsp;
<span>${articleList.size()}</span>&nbsp;个结果
</div>
<dl class="search-resultList">
<#for article : articleList>
<dt><a href="javascript:{getArticle(${article.getCategoryId()},${article.getArticleId()})}">${article.getArticleTitle()}</a></dt>
<dd>${contentList.get(articleList.indexOf(article))}</dd>
</#for>
<#if articleList.size()==0>
<h2 style="font-weight:normal;">没有找到相关项目</h2>
</#if>
</dl>
</div>
</div>
</div>
</body>
</html>
@@ -0,0 +1,403 @@
${Styles.htmlOverflowYAuto()}
${Scripts.src(zhiqim_uploadlarge.js)}
<script>
<!--
var attaList = ${attaList};
Z.onload(function()
{
for(var i=0; i<attaList.length; i++)
{
var obj = attaList[i];
if ("file" == obj.type && obj.isAdd)
{
initUploader(obj.id, obj.savePath);
}
if ("file" == obj.type)
{
Z("#fileType_Text_"+obj.id).click();//默认选中
}
}
});
function initUploader(fileType, path)
{//文件上传
var designId = Z("#designId").val();
if (Z.Validates.isEmpty(designId))
return;
var upload = new Z.UploadLarge();
upload.elem = "upload_" + fileType;
upload.showResult = false;
upload.fileMd5Target = 1;
upload.fileCopy = true;
upload.maxSizeMiB = 500;
upload.contextPath = "${context.getContextPath()}";
upload.setFileDir(path);
upload.onSelected = function(fileName, fileLength)
{
var ajax = new Z.Ajax();
ajax.setSync();
ajax.setClassName("UploadFilePresenter");
ajax.setMethodName("doCheckFileName");
ajax.addParam(designId);
ajax.addParam(fileType);
if ("EndFile" != fileType)
ajax.addParam(designId + "-" + fileName);
else
ajax.addParam(fileName);
ajax.execute();
if (ajax.responseStatus != 0)
{
Z.alert(ajax.responseText);
return false;
}
if ("EndFile" != fileType)
this.setFileName(designId + "-" + fileName);
else
this.setFileName(fileName);
};
upload.onCompleted = function(fileId){
var ajax = new Z.Ajax();
ajax.setClassName("UploadFilePresenter");
ajax.setMethodName("doUplaodFile");
ajax.addParam(designId);
ajax.addParam(fileId);
ajax.addParam(fileType);
ajax.setFailureAlert();
ajax.setSuccess(function()
{
var dataMap = Z.J.toObject(this.responseText);
Z("#div_" + fileType).html("");//清除;
var html = "";
var data_color = "${zmr_color_class}";
var items = dataMap.attaList;
for(var i=0;i<items.length;i++)
{
/**/
var obj = items[i];
html += '<div id="div_checkbox_'+obj.attaId+'" class="z-text-ellipsis z-w300 z-pointer"';
if ('EndFile'== fileType)
html += 'onclick="showThumImg(\''+obj.attaId+'\',\''+obj.fileType+'\')"';
html += ' title="'+obj.fileName+'">';
html += "<input name='str_" + fileType +"' type='checkbox' value ='" + obj.attaId +"' class='z-checkbox' data-role='z-checkbox' data-class='"+data_color+"'/>";
html += '<span class="z-pd6" onclick="Z(this).parent().find(\'zcover>i.z-checkbox\').click()">'+obj.fileName+'</span><br>';
html += '</div>';
}
Z("#div_" + fileType).htmlc(html);
});
ajax.setLoading(document);
ajax.execute();
};
upload.execute();
}
function doDownFile(type)
{//文件下载
var designId = Z("#designId").val();
if (Z.V.isEmpty(designId))
{
parent.Z.alert("请选择一条订单");
return;
}
var attaIds = Z.FM.getCheckBoxValue("str_" + type, "");
if (Z.V.isEmpty(attaIds))
{
parent.Z.alert("请选择需要下载的文件");
return false;
}
if(${checkeds}){
parent.Z.alert("选中多条订单不支持下载,请重新选择");
return;
}
var delType_desabled = Z("#delete_"+type).attr("disabled");
var downloadType_desabled = Z("#download_"+type).attr("disabled");
Z("#delete_"+type).attr("disabled", true);
Z("#download_"+type).attr("disabled", true);
var ajax = new Z.Ajax();
ajax.setClassName("UploadFilePresenter");
ajax.setMethodName("doDownloadFile");
ajax.addParam("attaId", attaIds);
ajax.setFailure(function(){
Z("#delete_"+type).attr("disabled", delType_desabled);
Z("#download_"+type).attr("disabled", downloadType_desabled);
Z.alert(this.responseText,null, {width:320});
});
ajax.setSuccess(function(){
Z("#delete_"+type).attr("disabled", delType_desabled);
Z("#download_"+type).attr("disabled", downloadType_desabled);
var prefix = Z.l.protocol + "//" + Z.l.host ;
Z.L.href(prefix+"/downFile.htm?attaId=" + attaIds, zCallFrame);
var mainFrame = parent.parent.document.getElementById("mainFrame");
if (mainFrame)
console.log(mainFrame.src);
});
ajax.setLoading(document);
ajax.execute();
}
function doDeleteFile(type)
{//删除文件
var designId = Z("#designId").val();
if (Z.V.isEmpty(designId))
{
parent.Z.alert("请选择一条订单");
return;
}
var attaIds = Z.FM.getCheckBoxValue("str_" + type, "");
if (Z.V.isEmpty(attaIds))
{
parent.Z.alert("请选择需要删除的文件");
return ;
}
if(${checkeds}){
parent.Z.alert("选中多条订单不支持删除,请重新选择");
return;
}
Z.confirm("确认删除此文件吗?", function()
{
var arr = Z.AR.toArray(attaIds, ",")
var ajax = new Z.Ajax();
ajax.setClassName("UploadFilePresenter");
ajax.setMethodName("doDeleteFile");
ajax.addParam(attaIds);
ajax.setFailure(function(){Z.alert(this.responseText,null, {width:320});});
ajax.setSuccess(function(){
Z.each(arr, function(id, i){
Z("#div_checkbox_"+id).remove();
});
});
ajax.execute();
}, {width:320});
}
function showThumImg(attaId, suffix)
{
doViewOssFile(attaId);//预览文件
Z("#thumImgs").html("");//清除;
if (suffix != "pdf")
{
var html = "<img class='z-pointer' onclick='showLargeImg(this)' class='z-mg-l10' src= '"+attaId+"-0-endFile'/>";
Z("#thumImgs").html(html);
}
else
{
var ajax = new Z.Ajax();
ajax.setClassName("UploadFilePresenter");
ajax.setMethodName("getPdfPages");
ajax.addParam("attaId", attaId);
ajax.setCallback(function()
{
var html = "";
var page = parseInt(this.responseText);
for (var i=1;i<=page;i++)
{
html += "<img class='z-pointer' width='162' onclick='showLargeImg(this)' class='z-mg-l6' src= '"+attaId+"-"+i+"-endFile'/>";
}
html += "<br>";
Z("#thumImgs").html(html);
});
ajax.execute();
}
}
function doViewOssFile(attaId)
{
var ajax = new Z.Ajax();
ajax.setClassName("UploadFilePresenter");
ajax.setMethodName("doGetOssFileUrl");
ajax.addParam("attaId", attaId);
ajax.setSuccess(function(){
var ossFileUrl = this.responseText;
if (Z.V.isNotEmptyBlank(ossFileUrl))
{
var elem = document.createElement("a");
elem.href = ossFileUrl;
elem.setAttribute("target", "_blank");
elem.click();
}
});
ajax.execute();
}
function showLargeImg(thisImg)
{
var dialog = new parent.Z.Dialog();
dialog.shadow = true;
dialog.title = "图片预览";
dialog.fixed = true;
dialog.url = "showLargeImg.htm?imgpath="+thisImg.src;
dialog.width = parent.Z.D.clientWidth()-600;
dialog.height = parent.Z.D.clientHeight()-400;
dialog.execute();
dialog.$background.remove();
}
function doCopyProductInfo(copyType)
{
if (copyType == 1)
{//复制文件名
var designId = "${order.getDesignId()}";
var buyerNick = "${order.getBuyerNick()}";
var reciverName = "${order.getUserContact()}";
var fileName = designId+ "-";
// if (buyerNick.indexOf("-") > 0)
// {
// fileName += reciverName;
// }
// else
// {
fileName += buyerNick;
// }
if (fileName == "-")
return;
Z.copy(fileName);
top.Z.tips("复制成功");
}
else
{//复制信息
if (Z("#copy_content").length == 0)
return;
Z.copy(Z("#copy_content").text());
top.Z.tips("复制成功");
}
}
</script>
${Htmls.toCallFrame()}
<input name="designId" id="designId" value="${order.getDesignId()}" type="hidden">
<table class="z-table z-bordered-line z-pd5 zi-bd z-bg-blue z-mg-t20">
<#for item : attaList>
<#if item.getId() == "copy">
<!--复制-->
<tr class="z-h40 z-bg-gray">
<td class="z-bold" colspan="2">产品信息:
<span style="margin-left:100px">
<button type="button" id="copy" class="z-button z-yellow" onclick="doCopyProductInfo(1);">复制文件名</button>
<button type="button" id="copy" class="z-button z-cyan" onclick="doCopyProductInfo();">复制信息</button>
</span>
</td>
</tr>
<tr class="z-h50">
<#if Validates.isNotEmpty(order)>
<td id="copy_content" colspan="2">${order.getDesignId()}-${order.getBuyerNick()}-${order.getOrderText()}</td>
<#else>
<td colspan="2"></td>
</#if>
</tr>
</#if>
<#if item.getId() == "userText" && Validates.isNotEmptyBlank(order.getUserText())>
<!--客户文本-->
<tr class="z-h40 z-bg-gray">
<td class="z-bold" colspan="2">客户文本</td>
</tr>
<tr class="z-h100">
<td colspan="2">
<textarea class="z-textarea z-w100p z-h100 ${zmr_color_class}" id="userText" name="userText" class="">${order.getUserText()}</textarea>
</td>
</tr>
</#if>
<#if item.getId() == "userNotice" && Validates.isNotEmptyBlank(order.getUserNotice())>
<!--注意事项-->
<tr class="z-h40 z-bg-gray">
<td class="z-bold" colspan="2">注意事项</td>
</tr>
<tr class="z-h80" >
<td colspan="2">
<textarea id="userNotice" name="userNotice" class="z-textarea z-w100p z-h80 ${zmr_color_class}">${order.getUserNotice()}</textarea>
</td>
</tr>
</#if>
<#if item.getType() == "file">
<!-- 文件资料-->
<tr class="z-h40 z-bg-gray">
<td>
<input type="checkbox" id="box_${item.getId()}" onclick="Z.FM.doSelectCheckBox('str_${item.getId()}', this.checked);" class="z-checkbox z-mg-l2" data-role="z-checkbox" data-class="${zmr_color_class}" > <b id="fileType_Text_${item.getId()}" class="z-pointer" onclick=" Z(this).parent().find('zcover>i.z-checkbox').click();">${item.getName()}</b>
</td>
<td class="z-text-right">
<#if item.getId() == "EndFile" && endFileLink != null>
<button id="copyLink_${item.getId()}" class="z-button z-cyan z-pd3" onclick="Z.copy('${endFileLink}');top.Z.tips('复制成功')">发送链接</span></button>
</#if>
<button id="upload_${item.getId()}" class="z-button z-pd3 ${zmr_color_class}" <#if !item.isAdd()>disabled=true</#if>>添加</button>
<button id="download_${item.getId()}" class="z-button z-orange z-pd3" onclick="doDownFile('${item.getId()}');">下载</button>
<button id="delete_${item.getId()}" class="z-button z-red z-pd3" onclick="doDeleteFile('${item.getId()}');" <#if !item.isDel()>disabled=true</#if>>删除</button>
</td>
</tr>
<tr class="z-h40">
<td colspan="2">
<div id="div_${item.getId()}" class="z-overflow-y-auto <#if item.getName()=="客户素材">z-h100<#elseif item.getName()=="印刷文件">z-h50<#else>z-h60</#if>">
<#for atta : fileList>
<#if Validates.isEqual(atta.getAttaModul(), item.getId())>
<div id="div_checkbox_${atta.getAttaId()}" class="z-text-ellipsis z-w300 z-pointer" onclick="<#if item.getId()=="EndFile"> showThumImg('${atta.getAttaId()}', '${atta.getFileType()}')</#if>" title="${atta.getFileName()}">
<input name="str_${item.getId()}" type="checkbox" data-attaId="${atta.getAttaId()}" data-attaUrl="${atta.getOssUrl()}" data-fileName="${atta.getFileName()}" class="z-checkbox" data-role="z-checkbox" data-class="${zmr_color_class}" value ="${atta.getAttaId()}"><span class="z-pd6" onclick="Z(this).parent().find('zcover>i.z-checkbox').click();">${atta.getFileName()}</span><br>
</div>
</#if>
</#for>
</div>
</td>
</tr>
</#if>
<#if item.getType() == "thumFile">
<!--缩略图-->
<tr class="z-h40 z-bg-gray">
<td class="z-bold" colspan="2">${item.getName()}</td>
</tr>
<tr height="200px" valign="top">
<td colspan="2">
<div id="thumImgs"><#if Validates.isNotEmpty(item.getSavePath())><img src="${item.getSavePath()}"></#if></div>
</td>
</tr>
</#if>
<#if item.getType() == "firstThumFile">
<!--初稿缩略图-->
<tr class="z-h40 z-bg-gray">
<td class="z-bold" colspan="2">${item.getName()}</td>
</tr>
<tr height="200px" valign="top">
<td colspan="2">
<#if order != null>
<div><img style="cursor: pointer;" src="${order.getDesignId()}-FristThumFile.png" onclick='showLargeImg(this)'></div>
</#if>
</td>
</tr>
</#if>
</#for>
<!--客服留言-->
<#if Validates.isNotEmptyBlank(order.getServicesMessage())>
<tr class="z-h40 z-bg-gray">
<td class="z-bold" colspan="2">客服留言</td>
</tr>
<tr class="z-h80">
<td colspan="2">
<textarea id="servicesMessage" name="servicesMessage" class="z-textarea z-w100p z-h80 ${zmr_color_class}">${order.getServicesMessage()}</textarea>
</td>
</tr>
</#if>
</table>
@@ -0,0 +1,173 @@
${sweet_alert_reuse_method()}
<script>
function showLargeImg(thisImg)
{
var dialog = new parent.Z.Dialog();
dialog.shadow = true;
dialog.title = "图片";
dialog.fixed = true;
dialog.url = "showLargeImg.htm?imgpath="+thisImg.src;
dialog.width = parent.Z.D.clientWidth()-200;
dialog.height = parent.Z.D.clientHeight()-200;
dialog.execute();
dialog.$background.remove();
}
function doRemoveImg()
{
Z("#divImg").remove();
Z("#finishImgPath").remove();
}
(function(){
var imgReader = function( item ){
var blob = item.getAsFile(),
reader = new FileReader();
// 读取文件后将其显示在网页中
reader.onload = function(e){
var img = new Image();
var result = e.target.result;
Z("#imgData").text(result);
img.src = result;
img.id = "divImg";
Z("#imgSrc").append(img);
};
// 读取文件
reader.readAsDataURL(blob);
};
window.addEventListener( 'paste', function(e){
// 添加到事件对象中的访问系统剪贴板的接口
var clipboardData = e.clipboardData,
i = 0,
items, item, types;
if(clipboardData){
items = clipboardData.items;
if( !items ){
return;
}
item = items[0];
// 保存在剪贴板中的数据类型
types = clipboardData.types || [];
for( ; i < types.length; i++ ){
if( types[i] === 'Files' ){
item = items[i];
break;
}
}
// 判断是否为图片数据
if( item && item.kind === 'file' && item.type.match(/^image\//i) ){
imgReader( item );
}
}
});
})();
function doDealComplainOrder(){
var imgData = Z("#imgData").text();//投诉截图
if (Z.Validates.isEmpty(Z("#imgSrc").html()))
{
swal({title : "请将跟进截图粘贴至空白处",type : "warning",timer: 1500,width:300,showConfirmButton:false});
return;
}
var ajax = new Z.Ajax();
ajax.setClassName("ComplainDealPresenter");
ajax.setMethodName("doDealComplainOrder");
ajax.addParam("complainId",Z("#complainId").val());
ajax.addParam("imgData",imgData);
ajax.setFailureAlert();
ajax.setSuccess(function(){
swal({title:"处理成功",type:"success",timer: 1200,width:300,showConfirmButton:false}).then(function(){
parent.location.reload();parent.Z.Dialog.close();
});
});
ajax.setLoading("complainDeal", '<i class="z-font z-save"></i>正在处理',{disabled:true});
ajax.execute();
}
</script>
${zhiqim_manager_content()}
<input type="hidden" id="complainId" name="complainId" value="${order.getComplainId()}">
<form name="theForm">
<table class="z-table z-bordered z-pd6 z-bg-white z-text-left">
<tr class="z-h40">
<td align="center" width="150">客户旺旺:</td>
<td width="140">${order.getBuyerNick()}</td>
<td align="center" width="130">产品名称:</td>
<td colspan="2">${order.getOrderText()}</td>
</tr>
<tr class="z-h40">
<td align="center" width="150">店铺名称:</td>
<td width="140">${order.getShopNick()}</td>
<td align="center" width="130">设&nbsp;计&nbsp;师:</td>
<td width="210">${order.getDesigner()}</td>
<td align="left" colspan="1">录单时间:${Sqls.toDateTimeString(order.getCreateTime())}</td>
</tr>
<tr class="z-h40">
<td align="center" width="150">责任部门:</td>
<td width="190">${order.getUndertakeDept()}</td>
<td align="center" width="130">投诉类型:</td>
<td width="210">${order.getComplainType()}</td>
<td align="left" width="300">店铺扣罚:${order.getShopPunishScore()} 分</td>
</tr>
<tr class="z-h40">
<td align="center" width="150">处理方案:</td>
<td width="190">${order.getDisposeProject()}</td>
<td align="center" width="150">责任人:</td>
<td width="210">${order.getUndertakePerson()}</td>
<td width="300">
<button type="button" class="z-button zi-bg-white zi-mg-l1" onclick="Z(this).find('zcover>i.z-checkbox').click()">
<input type="checkbox" id="isSatrapAssist" name="isSatrapAssist" class="z-checkbox" data-class="${zmr_color_class}" <#if order.isSatrapAssist()>checked</#if> data-role="z-checkbox" onclick="Z.E.stop(); this.value=this.checked" disabled>
主管协助</button>
</td>
</tr>
<tr class="z-h50">
<td align="center" width="150">备注:</td>
<td colspan="4">${order.getComplainSpecificText()}
</td>
</tr>
<tr>
<td align="center" width="200">受理截图</td>
<td colspan="5" >
<div style="display: flex;max-height: 100px;">
<img src="${order.getDisposeImgPath()}" onclick="showLargeImg(this)" id="disposeImgPath">
</div>
</td>
</tr>
<tr class="z-h100">
<td align="center" width="200">跟进截图:</td>
<td colspan="5" style="position: relative;">
<#if order.getComplainStatus() != 20><button type="button" class="z-button z-mg-l10 z-w60 z-cyan z-relative-right" onclick="doRemoveImg();" style="top:2px;left: 90%;position: absolute;">移除</button></#if>
<div style="display:none" id="imgData"></div>
<div id="imgSrc"></div>
<div><img src="${order.getFinishImgPath()}" onclick="showLargeImg(this)" id="finishImgPath"></div>
</td>
</tr>
<tr class="z-h100">
<td align="center" width="200" style="border-top:none;"></td>
<td style="border-top:none;" colspan="5"></td>
</tr>
</table>
</form>
${zhiqim_manager_content_end()}
<#-- 操作 -->
<div class="z-fixed z-w100p z-h100 z-text-center" style="bottom:0;left:0">
<div>
<table class="z-table z-bordered z-pd6 z-text-left z-bg-white z-h40">
<tr class="z-h40">
<td align="center" colspan="3">订单受理人:<input type="text" value="${order.getComplainAddName()}" id="complainAddName" style="border:none;"></td>
<td align="center" colspan="3">受理时间:<input type="text" value="${Sqls.toDateTimeString(order.getComplainAddTime())}" id="complainAddTime" style="border:none;"></td>
</tr>
</table>
</div>
<div class="z-w100p z-bg-gray z-pd-t10 z-h60">
<#if order.getComplainStatus() != 20><button type="button" id="complainDeal" class="z-button ${zmr_color_class} z-large z-w150" onclick="doDealComplainOrder();">提交投诉单</button>&nbsp;&nbsp;</#if>
<button type="button" class="z-button z-large z-mg-l10 z-w100" onclick="parent.Z.Dialog.close();">关闭</button>
</div>
</div>
@@ -0,0 +1,90 @@
<script>
function showLargeImg(thisImg)
{
var dialog = new parent.Z.Dialog();
dialog.shadow = true;
dialog.title = "图片";
dialog.fixed = true;
dialog.url = "showLargeImg.htm?imgpath="+thisImg.src;
dialog.width = parent.Z.D.clientWidth()-200;
dialog.height = parent.Z.D.clientHeight()-200;
dialog.execute();
dialog.$background.remove();
}
</script>
${zhiqim_manager_content()}
<form name="theForm">
<table class="z-table z-bordered z-pd6 z-bg-white z-text-left">
<tr class="z-h40">
<td align="center" width="150">客户旺旺:</td>
<td width="140">${order.getBuyerNick()}</td>
<td align="center" width="130">产品名称:</td>
<td colspan="2">${order.getOrderText()}</td>
</tr>
<tr class="z-h40">
<td align="center" width="150">店铺名称:</td>
<td width="140">${order.getShopNick()}</td>
<td align="center" width="130">设&nbsp;计&nbsp;师:</td>
<td width="210">${order.getDesigner()}</td>
<td align="left" colspan="1">录单时间:${Sqls.toDateTimeString(order.getCreateTime())}</td>
</tr>
<tr class="z-h40">
<td align="center" width="150">责任部门:</td>
<td width="190">${order.getUndertakeDept()}</td>
<td align="center" width="130">投诉类型:</td>
<td width="210">${order.getComplainType()}</td>
<td align="left" width="300">店铺扣罚:${order.getShopPunishScore()} 分</td>
</tr>
<tr class="z-h40">
<td align="center" width="150">处理方案:</td>
<td width="190">${order.getDisposeProject()}</td>
<td align="center" width="150">责任人:</td>
<td width="210">${order.getUndertakePerson()}</td>
<td width="300">
<button type="button" class="z-button zi-bg-white zi-mg-l1" onclick="Z(this).find('zcover>i.z-checkbox').click()">
<input type="checkbox" id="isSatrapAssist" name="isSatrapAssist" class="z-checkbox" data-class="${zmr_color_class}" <#if order.isSatrapAssist()>checked</#if> data-role="z-checkbox" onclick="Z.E.stop(); this.value=this.checked" disabled>
主管协助</button>
</td>
</tr>
<tr class="z-h50">
<td align="center" width="150">备注:</td>
<td colspan="4">${order.getComplainSpecificText()}
</td>
</tr>
<tr>
<td align="center" width="150">受理截图:</td>
<td colspan="5" >
<div style="display: flex;max-height: 100px;">
<img width="25%" src="${order.getDisposeImgPath()}" onclick="showLargeImg(this)" id="disposeImgPath">
</div>
</td>
</tr>
<tr class="z-h100">
<td align="center" width="150">跟进截图:</td>
<td colspan="5">
<img src="${order.getFinishImgPath()}" onclick="showLargeImg(this)">
</td>
</tr>
<tr class="z-h100">
<td style="border-top:none;" colspan="6"></td>
</tr>
</table>
</form>
${zhiqim_manager_content_end()}
<div class="z-fixed z-w100p z-h100 z-text-center" style="bottom:0;left:0">
<div>
<table class="z-table z-bordered z-pd6 z-text-left z-bg-white z-h40">
<tr class="z-h40">
<td align="center" colspan="3">订单受理人:<input type="text" value="${order.getComplainAddName()}" id="complainAddName" style="border:none;"></td>
<td align="center" colspan="3">受理时间:<input type="text" value="${Sqls.toDateTimeString(order.getComplainAddTime())}" id="complainAddTime" style="border:none;"></td>
</tr>
</table>
</div>
<div class="z-w100p z-bg-gray z-pd-t10 z-h60">
<button type="button" class="z-button z-large z-mg-l10 z-w100" onclick="parent.Z.Dialog.close();">关闭</button>
</div>
</div>
@@ -0,0 +1,112 @@
${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 = '${orgAllOrder}';
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 : pcMap.keySet()>
{name: '${item}',y: ${pcMap.get(item)}},
</#for>
]
}]
});
});
function doQueryComplainDetail(complainId){
var dialog = new Z.Dialog();
dialog.title = "投诉单号:"+complainId;
dialog.url = "/complainDetail.htm?complainId="+complainId;
dialog.width = 1000;
dialog.height = 500;
dialog.execute();
}
</script>
${zhiqim_manager_breadcrumb("我导致的投诉")}
${zhiqim_manager_content()}
<#-- 左侧功能 -->
<#-- 查询条件 -->
${zhiqim_manager_title("查询条件")}
<form name="theForm" action="/complainFinishList.htm">
<table class="z-table z-bordered z-pd6 z-bg-white">
<tr class="z-h40">
<td width="350px">
受理时间:<input id="startDate" name="startDate" class="z-input z-w90 ${zmr_color_class}" readonly="true" onfocus="Z.date(this);" value="${startDate}">&nbsp;-
<input id="endDate" name="endDate" class="z-input z-mg-l3 z-w90 ${zmr_color_class}" readonly="true" onfocus="Z.date(this);" value="${endDate}">
</td>
<td>&nbsp;组&nbsp;&nbsp;织
<select name="orgId" class="z-select z-w180" data-role="z-select-search" data-class="${zmr_color_class}">
<option value="">请选择</option>
<#for item : orgList>
<option value="${item.getOrgId()}" <#if orgId == item.getOrgId()>selected</#if>>${item.getOrgName()}</option>
</#for>
</select>
</td>
<td width="350px">责&nbsp;任&nbsp;人:
<input type="text" name="undertakePerson" class="z-input z-w180 ${zmr_color_class}" value="${undertakePerson}">
</td>
<td width="*">
<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>
<#-- 列表 -->
<table class="z-table z-bordered z-h40-tr z-pd5 z-bg-white z-text-center" style="height:auto;">
<td width="45%"><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-text-left" style="text-align:center">
<tr bgcolor="${zmr_thead_bgcolor}">
<td width="15%">订单编号</td>
<td width="15%">投诉单号</td>
<td width="20%">责任组织</td>
<td width="10%">责任人</td>
<td width="10%">受理状态</td>
<td width="20%">受理时间</td>
<td width="10%">操作</td>
</tr>
${zhiqim_manager_tr_no_record(pageResult, 7, "暂时没有数据")}
<#for item : pageResult.list()>
<tr class="z-pointer" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
<td>${item.getDesignId()}</td>
<td>${item.getComplainId()}</td>
<td>${ZmrOrgDao.getOrgName(request,item.getUndertakeOrg())}</td>
<td>${item.getUndertakePerson()}</td>
<td>${ComplainConstants.getStatus(item.getComplainStatus())}</td>
<td>${Sqls.toDateTimeString(item.getComplainAddTime())}</td>
<td><button class="z-button z-blue " onclick="doQueryComplainDetail(${item.getComplainId()})">详情</button></td>
</tr>
</#for>
${zhiqim_manager_paging(pageResult, "/complainFinishList.htm")}
</table>
</td>
</table>
${zhiqim_manager_content_end()}
@@ -0,0 +1,128 @@
<script>
function doQueryComplainDetail(){
var complainId = Z.FM.getChecked("complainId");
if (Z.V.isEmpty(complainId))
{
Z.alert("请选择一条订单");
return;
}
var dialog = new Z.Dialog();
dialog.title = "投诉单号:"+complainId;
dialog.url = "/complainDetail.htm?complainId="+complainId;
dialog.width = 1000;
dialog.height = 500;
dialog.execute();
}
</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>
</ul>
</nav>
</div>
<#-- 左侧功能 -->
<#-- 查询条件 -->
${zhiqim_manager_title("查询条件")}
<form name="theForm" action="/complainTotalOrderList.htm">
<table class="z-table z-bordered z-pd6 z-bg-white">
<tr class="z-h40">
<td>订单编号:<input name="designId" class="${zmr_color_class} z-input z-w180" value="${designId}" maxlength="64" placeholder="订单编号"></td>
<td>投诉单号:<input name="complainId" class="${zmr_color_class} z-input z-w180" value="${complainId}" maxlength="64" placeholder="投诉单号"></td>
<td>责&nbsp;任&nbsp;人:
<select name="undertakePerson" class="z-select z-w180" data-role="z-select-search" data-class="${zmr_color_class}">
<option value="all">全部</option>
<#for item : ZmrOperatorDao.getOperatorAll(request)>
<option value="${item.getOperatorCode()}" <#if item.getOperatorCode() == undertakePerson>selected</#if>>${item.getOperatorCode()}</option>
</#for>
</select>
</td>
<td>旺旺号:<input class="z-input ${zmr_color_class} z-w160" name="buyerNick" value="${buyerNick}" maxlength="32" placeholder="旺旺号"/></td>
<tr>
</tr class="z-h40">
<td>
受理状态:<select name="complainStatus" class="z-select z-w180" data-role="z-select" data-class="${zmr_color_class}">
<option value="">全部</option>
<#for item : ComplainConstants.getList()>
<option value="${item.value()}" <#if complainStatus == item.value()>selected</#if>>${item.desc()}</option>
</#for>
</select>
</td>
<td>店铺名称:<select name="shopNick" class="z-select z-w180" data-role="z-select" data-class="${zmr_color_class}">
<option value="">全部</option>
<#for item : shopNickList>
<option value="${item}" <#if shopNick == item>selected</#if>>${item}</option>
</#for>
</select>
</td>
<td>
受理时间:<input id="startDate" name="startDate" class="z-input z-w90 ${zmr_color_class}" readonly="true" onfocus="Z.date(this);" value="${startDate}">&nbsp;-
<input id="endDate" name="endDate" class="z-input z-mg-l3 z-w90 ${zmr_color_class}" readonly="true" onfocus="Z.date(this);" value="${endDate}">
</td>
<td><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>
<#-- 操作功能 -->
<div class="z-w100p z-mg-t10 z-mg-b3">
<button id="queryComplainDetail" class="z-button z-blue z-mg-r10" onclick="doQueryComplainDetail();"><i class="z-font z-modify"></i>查看投诉单</button>
</div>
<#-- 列表 -->
<div class="z-overflow-auto z-bd-r">
<table class="z-table z-bordered z-h40-tr z-pd5 zi-bd-r-none z-bg-white z-text-center" style="width:2110px">
<tr bgcolor="${zmr_thead_bgcolor}">
<td width="60">选择</td>
<td width="150">订单编号</td>
<td width="120">所属组织</td>
<td width="130">旺旺号</td>
<td width="120">店铺</td>
<td width="110">责任人</td>
<td width="110">责任主管</td>
<td width="110">责任组织</td>
<td width="110">协助人</td>
<td width="110">协助人主管</td>
<td width="110">协助组织</td>
<td width="110">受理状态</td>
<td width="100">受理时间</td>
<td width="*" style="min-width:210px">产品</td>
<td width="90">订单金额</td>
<td width="150">投诉类型</td>
<td width="80">店铺扣分</td>
</tr>
${zhiqim_manager_tr_no_record(pageResult, 17, "暂时没有投诉单")}
<#for item : pageResult.list()>
<tr class="z-pointer" <#if item.getComplainStatus()== "40">style="color:#8a8a8a;"<#elseif item.getComplainStatus()== "20">style="color:#000000;"</#if> ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
<td><input name="complainId" type="radio" data-role="z-radio" data-class="${zmr_color_class}" value="${item.getComplainId()}"></td>
<td>${item.getDesignId()}<p <#if item.getComplainStatus()== "40">style="color:#000000;"<#else>class="z-text-red"</#if>>TS:${item.getComplainId()}</p></td>
<td>${ZmrOrgDao.getOrgName(request,item.getOrgId())}</td>
<td>${item.getBuyerNick()}</td>
<td>${item.getShopNick()}</td>
<td>${item.getUndertakePerson()}</td>
<td>${CalculationUtil.operatorGetDeptSatrap(item.getUndertakePerson())}</td>
<td>${CalculationUtil.operatorGetOrgName(item.getUndertakePerson())}</td>
<td><#if item.getAssistPerson()==null><#else>${item.getAssistPerson()}</#if></td>
<td><#if item.getAssistPerson()==null><#else>${CalculationUtil.operatorGetDeptSatrap(item.getAssistPerson())}</#if></td>
<td>${ZmrOrgDao.getOrgName(request, item.getAssistOrg())}</td>
<td>${ComplainConstants.getStatus(item.getComplainStatus())}</td>
<td>${Sqls.toDateTimeString(item.getComplainAddTime())}</td>
<td>${item.getOrderText()}</td>
<td>${Amounts.toYuanMustRadix(item.getAmount())}</td>
<td>${item.getComplainType()}</td>
<td>${item.getShopPunishScore()}分</td>
</tr>
</#for>
</table>
</div>
${zhiqim_manager_paging(pageResult, "/complainTotalOrderList.htm")}
${zhiqim_manager_content_end()}
@@ -0,0 +1,125 @@
${Scripts.src("/zinc/js/globalcomplain_2019010801.js")}
<script>
function doQueryComplainDeal(){
var complainId = Z.FM.getChecked("complainId");
if (Z.V.isEmpty(complainId))
{
Z.alert("请选择一条订单");
return;
}
var dialog = new Z.Dialog();
dialog.title = "投诉单号:"+complainId;
dialog.url = "/complainDeal.htm?complainId="+complainId;
dialog.width = 900;
dialog.height = 500;
dialog.execute();
}
function doQueryComplainDetail(){
var complainId = Z.FM.getChecked("complainId");
if (Z.V.isEmpty(complainId))
{
Z.alert("请选择一条订单");
return;
}
var dialog = new Z.Dialog();
dialog.title = "投诉单号:"+complainId;
dialog.url = "/complainDetail.htm?complainId="+complainId;
dialog.width = 1000;
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 onclick="Z.Location.href('designOrder.htm');">未完成订单</li>
<li onclick="Z.Location.href('designOrderFinish.htm');">已完结订单</li>
<li onclick="Z.Location.href('waitHandleAfterOrder.htm');">售后订单</li>
<li class="z-active">投诉订单</li>
</ul>
</nav>
</div>
<#-- 左侧功能 -->
<#-- 查询条件 -->
${zhiqim_manager_title("查询条件")}
<form name="theForm" action="/complainWantDealList.htm">
<table class="z-table z-bordered z-pd6 z-bg-white">
<tr class="z-h40">
<td>订单编号:<input name="designId" class="${zmr_color_class} z-input z-w180" value="${designId}" maxlength="64" placeholder="订单编号"></td>
<td>投诉单号:<input name="complainId" class="${zmr_color_class} z-input z-w180" value="${complainId}" maxlength="64" placeholder="投诉单号"></td>
<td>
受理状态:<select name="complainStatus" class="z-select z-w180" data-role="z-select" data-class="${zmr_color_class}">
<option value="">全部</option>
<#for item : ComplainConstants.getList()>
<option value="${item.value()}" <#if complainStatus == item.value()>selected</#if>>${item.desc()}</option>
</#for>
</select>
</td>
<td>旺旺号:<input class="z-input ${zmr_color_class} z-w160" name="buyerNick" value="${buyerNick}" maxlength="32" placeholder="旺旺号"/></td>
<tr>
</tr class="z-h40">
<td>店铺名称:<select name="shopNick" class="z-select z-w180" data-role="z-select" data-class="${zmr_color_class}">
<option value="">全部</option>
<#for item : shopNickList>
<option value="${item}" <#if shopNick == item>selected</#if>>${item}</option>
</#for>
</select>
</td>
<td>
受理时间:<input id="startDate" name="startDate" class="z-input z-w90 ${zmr_color_class}" readonly="true" onfocus="Z.date(this);" value="${startDate}">&nbsp;-
<input id="endDate" name="endDate" class="z-input z-mg-l3 z-w90 ${zmr_color_class}" readonly="true" onfocus="Z.date(this);" value="${endDate}">
</td>
<td colspan="2"><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>
<#-- 操作功能 -->
<div class="z-w100p z-mg-t10 z-mg-b3">
<button id="queryComplainDetail" class="z-button z-blue z-mg-r6" onclick="doQueryComplainDeal();"><i class="z-font z-modify"></i>投诉单处理</button>
<button id="queryComplainDetail" class="z-button z-blue z-mg-r6" onclick="doQueryComplainDetail();"><i class="z-font z-modify"></i>查看投诉单</button>
</div>
<#-- 列表 -->
<table class="z-table z-bordered z-h40-tr z-pd5 z-bg-white z-text-center" style="height:auto;">
<tr bgcolor="${zmr_thead_bgcolor}">
<td width="60">选择</td>
<td width="150">订单编号</td>
<td width="130">旺旺号</td>
<td width="120">店铺</td>
<td width="110">受理状态</td>
<td width="100">受理时间</td>
<td width="*" style="min-width:210px">产品</td>
<td width="90">订单金额</td>
<td width="150">投诉类型</td>
</tr>
${zhiqim_manager_tr_no_record(pageResult, 17, "暂时没有待处理的投诉")}
<#for item : pageResult.list()>
<input id="buyerNick_${item.getComplainId()}" type="hidden" value="${item.getBuyerNick()}">
<tr class="z-pointer <#if item.isSatrapAssist()>z-text-red</#if>" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
<td><input name="complainId" type="radio" data-role="z-radio" data-class="${zmr_color_class}" value="${item.getComplainId()}"></td>
<td>${item.getDesignId()}<p style="color:#000000">TS:${item.getComplainId()}</p></td>
<td>${item.getBuyerNick()}</td>
<td>${item.getShopNick()}</td>
<td>${ComplainConstants.getStatus(item.getComplainStatus())}</td>
<td>${Sqls.toDateTimeString(item.getComplainAddTime())}</td>
<td>${item.getOrderText()}</td>
<td>${Amounts.toYuanMustRadix(item.getAmount())}</td>
<td>${item.getComplainType()}</td>
</tr>
</#for>
${zhiqim_manager_paging(pageResult, "/complainWantDealList.htm")}
</table>
${zhiqim_manager_content_end()}
<#-- 联系旺旺&联系QQ弹窗框 -->
<iframe id="openFrm" class="z-hide" src="about:blank"></iframe>
@@ -0,0 +1,23 @@
<script>
$(function(){
var ajax = new Z.Ajax();
ajax.setClassName("ConsolePresenter");
ajax.setMethodName("getH5DesignUrl");
ajax.setFailureAlert();
ajax.setSuccess(function(responseText){
Z("#openFrm").attr("src",responseText);
});
ajax.execute();
})
</script>
<style>
#openFrm{ width:100%; height:860px; border:none;}
</style>
<div id="templateResult" class="z-pd20 z-active z-text-center">
<iframe id="openFrm" border=0 src="about:blank">
</iframe>
</div>
@@ -0,0 +1,79 @@
<style>
body{ text-align:center}
.div{ margin:0 auto; width:600px; height:300px; border:5px solid #F00}
</style>
<script>
function doCancel()
{//取消
Z("#divImg").remove()
}
function doSubmit(type)
{
var data = Z("#imgData").text()
if (Z.Validates.isEmpty(data))
{
Z.alert("请截图后,在提交")
return;
}
parent.doUploadOcrImage(data, "png", function(){parent.Z.Dialog.close();});
}
(function(){
var imgReader = function( item ){
var blob = item.getAsFile(),
reader = new FileReader();
// 读取文件后将其显示在网页中
reader.onload = function(e){
var img = new Image();
var result = e.target.result;
Z("#imgData").text(result);
img.src = result;
img.id = "divImg";
Z("#imgSrc").append(img);
};
// 读取文件
reader.readAsDataURL(blob);
};
window.addEventListener( 'paste', function(e){
// 添加到事件对象中的访问系统剪贴板的接口
var clipboardData = e.clipboardData,
i = 0,
items, item, types;
if(clipboardData){
items = clipboardData.items;
if( !items ){
return;
}
item = items[0];
// 保存在剪贴板中的数据类型
types = clipboardData.types || [];
for( ; i < types.length; i++ ){
if( types[i] === 'Files' ){
item = items[i];
break;
}
}
// 判断是否为图片数据
if( item && item.kind === 'file' && item.type.match(/^image\//i) ){
imgReader( item );
}
}
});
})();
</script>
${zhiqim_manager_content()}
<div style="display:none" id="imgData"></div>
<div id="imgSrc"></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 type="button" class="z-button z-w100 ${zmr_color_class}" id="designOrderDraft" onclick="doSubmit('${type}');">提交</button>&nbsp;&nbsp;&nbsp;
<button type="button" class="z-button z-red" onclick="doCancel();">清空</button>&nbsp;
</div>
</div>
<br><br>
${zhiqim_manager_content_end()}
</html>
@@ -0,0 +1,22 @@
<#if cardList.isEmpty()>
<div class="z-w100p z-h50 z-text-center z-px18">未查询到历史模板</div>
<#else>
<script>
</script>
<div class="svgTemplateList">
<#for item : cardList>
<div id="sel_${item.getId()}" class="svgTemplateItem">
<#if item.getCardUrl() != null && item.getCardUrl() != "">
<div class="showSvg"><img src="${item.getCardUrl()}" width="240px" height="146px" /></div>
<#else>
<div class="showSvg"><img src="/zinc/images/nopic.png" width="240px" height="146px" /></div>
</#if>
<span class="templateItemBtn z-absolute z-w100p z-h100p">
<button type="button" class="z-button z-large z-blue z-mg-t30" onclick="doSelectHistoryTemplate('${item.getId()}');">选择</button>
</span>
<div class="z-lh30 z-px16 z-color-gray">${item.getId()}</div>
</div>
</#for>
</div>
</#if>
@@ -0,0 +1,14 @@
<div class="svgTemplateList">
<#for key : svgMap.keySet()>
<#var item = svgMap.get(key)/>
<div id="sel_${item.getMediaId()}" class="svgTemplateItem">
<#if item != null>
<#for bg : item.getBgList()>
<div class="showSvg">${bg.getSvgCode()}</div>
</#for>
</#if>
<div class="z-lh30 z-px16 z-color-gray">${item.getMediaId()}<button class="z-button z-purple z-operater" style="margin-left:20px;"onclick="copyMediaId('${item.getMediaId()}');">复制模板编号</button></div>
</div>
</#for>
</div>
@@ -0,0 +1,24 @@
<#if cardList.isEmpty()>
<div class="z-w100p z-h50 z-text-center z-px18">请创建名片</div>
<#else>
<script>
</script>
<div class="svgTemplateList">
<#for item : cardList>
<div id="sel_${item.getId()}" class="svgTemplateItem" onmouseenter='Z(this).children(".itemCtrBar").show();' onmouseleave='Z(this).children(".itemCtrBar").hide();'>
<#if item.getCardUrl() != null && item.getCardUrl() != "">
<div class="showSvg"><img src="${item.getCardUrl()}" width="240px" height="146px" /></div>
<#else>
<div class="showSvg"><img src="/zinc/images/nopic.png" width="240px" height="146px" /></div>
</#if>
<span class="itemCtrBar z-absolute z-w100p z-pd10 z-hide">
<button type="button" class="z-button modelCheckBtn z-blue z-float-left" onclick="goDzmpCardEdit('${item.getId()}', '${item.getMediaId()}');"><i class="z-font z-px12 z-modify"></i>编辑</button>
<button type="button" class="z-button modelCheckBtn z-red z-float-right" onclick="doDzmpCardDelete('${item.getId()}', '${item.getMediaId()}');"><i class="z-font z-px12 z-error"></i>删除</button>
<button type="button" class="z-button modelCheckBtn z-yellow z-absolute" style="right: 10px;top: 118px;" onclick="doDzmpCardCopy('${item.getId()}', '${item.getMediaId()}');"><i class="z-font z-px12 z-add"></i>复制</button>
</span>
<div class="z-lh30 z-px16 z-color-gray">${item.getId()}</div>
</div>
</#for>
</div>
</#if>
@@ -0,0 +1,35 @@
<#if svgMap.isEmpty()>
<div class="z-w100p z-h50 z-text-center z-px18">请选择模板</div>
<#else>
<script>
function templateSelectedEdit(mediaId)
{
var newUrl = "/zhiqimMediaEditor/mediaDesign.htm?";
newUrl += "mediaId=" + mediaId + "&"
newUrl += "designWidth="+${type.getSizeMWidth()}+"&"
newUrl += "designHeight="+${type.getSizeMHeight()}+"&"
newUrl += "printWidth="+${designOrder.getPrintWidth()}+"&"
newUrl += "printHeight="+${designOrder.getPrintHeight()}+"&";
newUrl += "bleedSize="+${type.getBleeding()}+"&"
newUrl += "orderIsCardType="+${orderIsCardType}+"&"
window.open(newUrl);
}
</script>
<div class="svgTemplateList">
<#for key : svgMap.keySet()>
<#var item = svgMap.get(key)/>
<div id="sel_${item.getMediaId()}" class="svgTemplateItem" onmouseenter='Z(this).children(".itemCtrBar").show();' onmouseleave='Z(this).children(".itemCtrBar").hide();'>
<#if item != null>
<#for bg : item.getBgList()>
<div class="showSvg">${bg.getSvgCode()}</div>
</#for>
</#if>
<span class="itemCtrBar z-absolute z-w100p z-pd10 z-hide">
<button type="button" class="z-button modelCheckBtn z-blue z-float-left" onclick="templateSelectedEdit('${key}');"><i class="z-font z-px12 z-success"></i>编辑</button>
<button type="button" class="z-button modelCheckBtn z-red z-float-right" onclick="doTemplateDelete('${key}')"><i class="z-font z-px12 z-error"></i>删除</button>
</span>
<div class="z-lh30 z-px16 z-color-gray">${item.getMediaId()}</div>
</div>
</#for>
</div>
</#if>
@@ -0,0 +1,70 @@
<#if Validates.isEqual(queryType, "KEYWORD")>
<div class="z-mg-b20 z-text-center" style="display:block">
<div class="z-show-ib">
<input id="searchSort" type="hidden" />
<button type="button" style="width:100px;" data-options="group:sort" class="z-button z-large z-bordered z-blue-bd z-hover <#if sort=='3'>z-active</#if>" onclick="Z.EL.toggleClass(this,'z-active');Z('#searchSort').val('3');doKeywordQuery('1');">最热</button>
<button type="button" style="width:100px;" data-options="group:sort" class="z-button z-large z-bordered z-blue-bd z-hover <#if sort=='1'>z-active</#if>" onclick="Z.EL.toggleClass(this,'z-active');Z('#searchSort').val('1');doKeywordQuery('1');">最新</button>
<button type="button" style="width:100px;" data-options="group:sort" class="z-button z-large z-bordered z-blue-bd z-hover <#if sort=='4'>z-active</#if>" onclick="Z.EL.toggleClass(this,'z-active');Z('#searchSort').val('4');doKeywordQuery('1');">精品</button>
<input id="searchinput" class="z-input z-w400 zi-h40 zi-bd-r-none" placeholder="输入关键词" value="${keyword}" maxlength="60"><button type="button" class="z-button z-w80 z-h40 zi-bd-rd0 z-orange" onclick="doKeywordQuery('1');"><i class="z-font z-query"></i>搜索</button>
<div class="z-mg-t10 z-text-left">热词:
<#for item : subIndustryList>
<a href="javascript:{Z('#searchinput').val('${item.getIndustrySubName()}');doKeywordQuery('1');}" >${item.getIndustrySubName()}</a>&nbsp;
</#for>
</div>
</div>
</div>
<#elseif Validates.isEqual(queryType, "COLLECT")>
<div class="z-mg-b20 z-text-center" style="display:block">
<div class="z-show-ib">
<input id="searchinput" class="z-input z-w400 zi-h40 zi-bd-r-none" placeholder="输入关键词" value="${keyword}" maxlength="60"><button type="button" class="z-button z-w80 z-h40 zi-bd-rd0 z-orange" onclick="doKeywordQuery('1');"><i class="z-font z-query"></i>搜索</button>
</div>
</div>
<#else>
<#if pageResult.total() gt 0>
<div class="z-mg-b20 z-text-center" style="display:block">
<span class="z-button z-blue z-mg-l5 z-text-right" onclick="<#if pageResult.totalPages() == page>doTemplateTypeQuery('1');<#else>doTemplateTypeQuery('${page + 1}');</#if>">换一批</span>
</div>
</#if>
</#if>
<div class="svgTemplateList z-mg-t5">
<#for item : pageResult.list()>
<#var key = item.getMediaId()/>
<div id="nav_${key}" class="svgTemplateItem <#if designId != -1 && Lists.contains(idList, key)>selected</#if>">
<img src="
<#if Validates.isEmpty(item.getMediaUrl())>/zinc/images/nopic.png
<#else>
<#if media.getMediaUrl().indexOf(",") == -1>
${item.getMediaUrl()}
<#else>
<#for path : Arrays.toStringArray(item.getMediaUrl())>
<#if path_index lt 1>
${path}
</#if>
</#for>
</#if>
</#if>
">
<div class="templateItemBtn z-absolute z-w100p z-h100p">
<span class="z-button z-large z-blue" onclick="doSelectTemplate('${key}');">选择</span>
<span class="z-button z-large" onclick="unSelectTemplate('${key}');">取消</span>
</div>
<div class="itemSelectedSign z-absolute"><span class="z-absolute">已选</span></div>
<div class="z-lh30 z-px16 z-color-gray">${item.getMediaId()}</div>
</div>
</#for>
</div>
<#if pageResult.total()==0>
<div class="z-text-center z-px20 z-color-gray z-mg-t15 z-h100">该关键词未查询到模板 请换其他关键词试试!</div>
</#if>
<#if Validates.isEqual(queryType, "KEYWORD") || Validates.isEqual(queryType, "COLLECT")>
<div style="width:100%;text-align:center;margin-bottom:35px;">
<table class="z-table z-bordered zi-bd-t-none z-bg-white">
<tr class="z-h50">
<td><div class="z-float-right z-mg-r10">${PagingGo.toHtmlClick(pageResult, "doKeywordQuery")}</div></td>
</tr>
</table>
</div>
</#if>
@@ -0,0 +1,318 @@
<!--电子名片 -->
${request.getValidateScript()}
${Mydome()}
<script>
Z.onload(function()
{
doDzmpListQuery();
});
/**
* 根据设计平台订单id创建默认名片
*/
function doCreateDefaultCard(designId)
{
// 给电子名片订单创建模板信息
var ajax = new Z.Ajax();
ajax.setClassName("TemplatePreviewPresenter");
ajax.setMethodName("doCreateOrderTemplate");
ajax.addParam("designId", '${designId}');
ajax.setFailureAlert();
ajax.setSuccess(function()
{
var obj = Z.J.toObject(this.responseText);
var mediaId = obj.mediaId;
var designWidth = obj.designWidth;
var designHeight = obj.designHeight;
var printWidth = obj.printWidth;
var printHeight = obj.printHeight;
var printKs = obj.printKs;
var printMs = obj.printMs;
var bleedSize = obj.bleedSize;
var orderIsCardType = obj.orderIsCardType;
// 在设计平台创建默认名片【并保存mediaId】
var _ajax = new Z.Ajax();
_ajax.setClassName("DzmpEditorSupportPresenter");
_ajax.setMethodName("createDefaultCard");
_ajax.addParam("designId", '${designId}');
_ajax.addParam("mediaId", mediaId);
_ajax.setFailureAlert();
_ajax.setSuccess(function()
{
var rsltObj = Z.J.toObject(this.responseText);
var cardId = rsltObj.cardId;
// 跳转电子名片编辑器逻辑
if (cardId)
{
var newLink = "/zhiqimMediaEditor/mediaDesign.htm?";
newLink += "mediaId=" + mediaId + "&";
newLink += "designWidth=" + designWidth + "&";
newLink += "designHeight=" + designHeight + "&";
newLink += "printWidth=" + printWidth + "&";
newLink += "printHeight=" + printHeight + "&";
newLink += "bleedSize=" + bleedSize + "&";
newLink += "orderIsCardType=" + orderIsCardType + "&";
newLink += "cardId=" + cardId + "&";
newLink += "designId=" + '${designId}';
window.open(newLink);
window.location.reload();
}
});
_ajax.execute();
});
ajax.execute();
}
/**
* 查询名片列表
*/
function doDzmpListQuery()
{
var ajax = new Z.Ajax();
ajax.setClassName("DzmpEditorSupportPresenter");
ajax.setMethodName("queryCardList");
ajax.addParam("designId", "${designId}");
ajax.setCallback("templateResult");
ajax.setLoading("templateResult");
ajax.execute();
}
function doHistoryTemplateQuery()
{
var _ajax = new Z.Ajax();
_ajax.setClassName("DzmpEditorSupportPresenter");
_ajax.setMethodName("doHistoryTemplateQuery");
_ajax.addParam("buyerNick", '${order.getBuyerNick()}');
_ajax.setCallback("templateResult");
_ajax.setLoading("templateResult");
_ajax.execute();
}
function doSelectHistoryTemplate(id)
{
var ajax = new Z.Ajax();
ajax.setClassName("DzmpEditorSupportPresenter");
ajax.setMethodName("doSelectHistoryTemplate");
ajax.addParam("id", id);
ajax.addParam("designId", ${order.getDesignId()});
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z.success("复制成功!",function(){
Z("#cardList").click();
});
});
ajax.setLoading("sel_"+id);
ajax.execute();
}
// 前往编辑电子名片
function goDzmpCardEdit(cardId, mediaId)
{
if(Z.V.isEmpty(cardId))
{
Z.alert("未获取到名片id");
return;
}
if(Z.V.isEmpty(mediaId))
{
Z.alert("未获取到mediaId");
return;
}
// 跳转电子名片编辑器逻辑
var newLink = "/zhiqimMediaEditor/mediaDesign.htm?";
newLink += "mediaId=" + mediaId + "&";
newLink += "designWidth=" + ${typeItem.getSizeMWidth()} + "&";
newLink += "designHeight=" + ${typeItem.getSizeMHeight()} + "&";
newLink += "printWidth=" + ${order.getPrintWidth()} + "&";
newLink += "printHeight=" + ${order.getPrintHeight()} + "&";
newLink += "bleedSize=" + ${typeItem.getBleeding()} + "&";
newLink += "cardId=" + cardId + "&";
newLink += "designId=" + '${designId}' + "&";
newLink += "orderIsCardType=" + '${orderIsCardType}';
window.open(newLink);
window.location.reload();
}
// 删除电子名片【同时删除对应的模板信息】
function doDzmpCardDelete(cardId, mediaId)
{
if(Z.V.isEmpty(cardId))
{
Z.alert("未获取到名片id");
return;
}
Z.confirm("你确定要删除该名片吗?", function(){
var ajax = new Z.Ajax();
ajax.setClassName("DzmpEditorSupportPresenter");
ajax.setMethodName("deleteCardById");
ajax.addParam("cardId", cardId);
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z("#sel_" + cardId).remove();
Z.tips("删除成功");
// 删除模板信息
if(!Z.V.isEmpty(mediaId))
{
var _ajax = new Z.Ajax();
_ajax.setClassName("TemplatePresenter");
_ajax.setMethodName("doTemplateDelete");
_ajax.addParam("mediaId", mediaId);
_ajax.addParam("designId", '${designId}');
_ajax.setFailureAlert();
_ajax.setSuccess(function(){});
_ajax.execute();
}
});
ajax.execute();
});
}
function doDzmpCardCopy(cardId, mediaId)
{//复制电子名片模板
var ajax = new Z.Ajax();
ajax.setClassName("DzmpEditorSupportPresenter");
ajax.setMethodName("doSelectHistoryTemplate");
ajax.addParam("id", cardId);
ajax.addParam("designId", ${order.getDesignId()});
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z.success("复制成功!",function(){
Z("#cardList").click();
});
});
ajax.setLoading("sel_"+cardId);
ajax.execute();
}
//修改行业
function doModifyIndustry()
{
var designId = Z("#designId").text();
if(Z.V.isEmpty(designId))
{
Z.alert("请选择一条订单");
return;
}
var dialog = new Z.Dialog();
dialog.title = "修改行业";
dialog.url = "/modifyIndustry.htm?designId="+designId+"&flag=1";
dialog.width = 500;
dialog.height = 300;
dialog.execute();
}
//修改刷新行业信息
function doReFreshIndustryInfo()
{
var ajax = new Z.Ajax();
ajax.setClassName("TemplatePreviewPresenter");
ajax.setMethodName("doReFreshIndustryInfo");
ajax.addParam("designId", "${designId}");
ajax.setFailureAlert();
ajax.setSuccess(function(){
var obj = Z.J.toObject(this.responseText);
Z("#industryName").html(obj);
});
ajax.execute();
}
</script>
<style>
body{height:100%;}
/*图片展示区*/
.container{min-height:auto;background-color:#ffffff;}
.mainbody{height:100%;}
.content{height:calc(100% - 40px);overflow-y:auto;}
form[name="theForm"]{float:left;width:100%;}
/* tab标签 */
.svgTemplateList .itemCtrBar{left:0;top:0;}
#svgTemplateWrap{height:calc(100% - 176px)}
#templateTab{float:none;}
/*内容盒子*/
#svgTemplateWrap > section{height:calc(100% - 50px);background:#ffffff;border:1px solid #dcdcdc;border-top:none;}
/*模板列表*/
.svgTemplateList{width:100%;height:100%;column-count:4;}
.svgTemplateList .svgTemplateItem{width:100%;height:100%;text-align:center;padding:5px;background:#fff;border:1px solid #ccc;overflow:auto; position: relative;margin-bottom: 15px;}
.svgTemplateItem > .templateItemBtn{padding:10%;left:0;top:0;display:flex;justify-content:space-around;align-items:center;align-content:center;}
.svgTemplateItem > .templateItemBtn .z-button{display:none;}
.svgTemplateItem > .templateItemBtn:hover{background:rgba(0,0,0,.2);}
.svgTemplateItem > .templateItemBtn:hover .z-button{display:inline-block;}
.svgTemplateItem .itemSelectedSign{display:none;width:0;height:0;right:5px;bottom:5px;border-width:30px;border-style:solid;border-color:transparent #28a3ef #28a3ef transparent;}
.svgTemplateItem .itemSelectedSign > span{white-space:nowrap;left:-5px;color:#fff;top:5px;}
.svgTemplateItem.selected .itemSelectedSign{display:block;}
.showSvg {pointer-events:none;display: block;margin-top:2px;}
.showSvg:first-child{margin-top:0;}
.showSvg > svg {width:100%;height: auto;}
/** 选中样式 **/
.svgTemplateItem.selected{}
</style>
${zhiqim_manager_breadcrumb_parent("/designOrder.htm", "设计订单", "订单模板设计")}
<div class="content">
${Scripts.src("/zinc/js/global_2019010801.js")}
${Scripts.src("/zinc/js/zhiqim_search_auto_list.js")}
<div class="z-tabnav-main z-blue z-mg-b10" style=" width: 478px;height: 44px; float:none">
<nav>
<div class="z-float-left z-mg10">
<button name="button" class="z-button z-mg-r20" onclick="Z.Location.href('${srcUrl}');"><i class="z-font z-return"></i>返回列表</button>
</div>
</nav>
</div>
<#-- 导航栏 -->
<div class="boxs">
<div class="bos z-blue">
<nav>
<div class="bos_son z-mg10 z-lh30">
<span class="my_spans z-mg-r10">订单号:<span id="designId" >${order.getDesignId()}</span><br/>
<span class=" z-mg-r10">产品信息:${order.getOrderText()}</span>
</div>
</nav>
</div>
<#-- 替换参数 -->
<div class="bos_two">
<div class="bos_two_one">
<p class="text"> 客户文本</p>
<textarea name="userText" id="userText" class="my-textarea">${order.getUserText()}</textarea>
</div>
<div class="bos_two_one" style="margin-top: 170px;">
<p class="text">注意事项</p>
<textarea name="userNotice" id="userNotice" class="my-textarea">${order.getUserNotice()}</textarea>
</div>
</div>
<#-- 导航栏 -->
<div class="boxs_two">
<div id="svgTemplateWrap" style="height: 45px;" >
<div id="templateTab" style="height: 45px;" class="boxs_sons z-tabnav-main z-blue">
<nav>
<ul style="border: 1px solid #dcdcdc; height: 45px;border-right:none;">
<li data-type="" style="width: 130px;" class="z-active" id="cardList" onclick="Z(this).addClass('z-active').siblings('li').removeClass('z-active');doDzmpListQuery();">名片列表</li>
<li data-type="historyTemplate" style="width: 160px;" onclick="Z(this).addClass('z-active').siblings('li').removeClass('z-active');doHistoryTemplateQuery();">客户历史模板</li>
</ul>
<span style="margin:0; height: 35px" id="createCardSpan" class="my_z-float-rights">
<button style="margin-left: 16px;" name="button" class="z-button ${zmr_color_class} mystyle" onclick="doCreateDefaultCard('${order.getDesignId()}')" ><i class="z-font z-add"></i>创建名片</button>
</span>
</nav>
</div>
</div>
<div style="margin-top: 20px;" id="templateResult" class="mystyle_svg z-active z-text-center"></div>
</div>
${zhiqim_manager_content_end()}
<#-- 联系旺旺&联系QQ弹窗框 -->
<iframe id="openFrm" class="z-hide" src="about:blank"></iframe>
@@ -0,0 +1,63 @@
${request.getValidateScript()}
<script>
Z.onload(function()
{
doTemplateExistQuery();
})
function doTemplateExistQuery()
{//查询已选模板
var ajax = new Z.Ajax();
ajax.setClassName("TemplatePreviewPresenter");
ajax.setMethodName("doTemplateExistQueryForCustomer");
ajax.addParam("designId", "${designId}");
ajax.addParam("typeId", "${typeId}");
ajax.setCallback("templateResult");
ajax.setLoading("templateResult");
ajax.execute();
}
function copyMediaId(mediaId)
{//复制模板id
Z.copy(mediaId);
top.Z.tips("复制成功");
}
</script>
<style>
body{height:100%;}
/*图片展示区*/
.container{min-height:auto;}
.mainbody{height:100%;}
.content{height:calc(100% - 40px);overflow-y:auto;}
form[name="theForm"]{float:left;width:100%;}
/* tab标签 */
.svgTemplateList .itemCtrBar{left:0;top:0;}
#svgTemplateWrap{height:calc(100% - 176px)}
#templateTab{float:none;}
/*内容盒子*/
#svgTemplateWrap > section{height:calc(100% - 50px);background:#ffffff;border:1px solid #dcdcdc;border-top:none;}
/*模板列表*/
.svgTemplateList{width:100%;height:100%;column-count:5;}
.svgTemplateList .svgTemplateItem{width:100%;height:100%;text-align:center;padding:5px;background:#fff;border:1px solid #ccc;overflow:auto;position:relative;}
.svgTemplateItem > .templateItemBtn{padding:10%;left:0;top:0;display:flex;justify-content:space-around;align-items:center;align-content:center;}
.svgTemplateItem > .templateItemBtn .z-button{display:none;}
.svgTemplateItem > .templateItemBtn:hover{background:rgba(0,0,0,.2);}
.svgTemplateItem > .templateItemBtn:hover .z-button{display:inline-block;}
.svgTemplateItem .itemSelectedSign{display:none;width:0;height:0;right:5px;bottom:5px;border-width:30px;border-style:solid;border-color:transparent #28a3ef #28a3ef transparent;}
.svgTemplateItem .itemSelectedSign > span{white-space:nowrap;left:-5px;color:#fff;top:5px;}
.svgTemplateItem.selected .itemSelectedSign{display:block;}
.showSvg {pointer-events:none;display: block;margin-top:2px;}
.showSvg:first-child{margin-top:0;}
.showSvg > svg {width:100%;height: auto;}
/** 选中样式 **/
.svgTemplateItem.selected{}
.column-count {-webkit-column-count:4;-moz-column-count:4;}
</style>
<div id="templateResult" class="z-pd20 z-active z-text-center"></div>
@@ -0,0 +1,469 @@
${request.getValidateScript()}
${Mydome()}
<script>
Z.onload(function()
{//定义搜索框
if (${display})
Z("#templateTab li:nth-child(1)").click();
else
Z("#templateTab li:nth-child(2)").click();
})
function doSubmit(form)
{
if (!validateForm(form))
return;
var ajax = new Z.Ajax();
ajax.setClassName("TemplatePreviewPresenter");
ajax.setMethodName("doTemplateReplaceParam");
ajax.setParamForm(form);
ajax.setSuccess(function(){
Z("#templateTab li:nth-child(1)").click();
Z.tips("生成完成");
});
ajax.setFailureAlert();
ajax.setLoading(form.submit, "<i class='z-ico z-loading'></i>正在生成...", {disabled:true});
ajax.execute();
}
function doUploadOcrImage(data, suffix, fun)
{//上传待识别图片
var ajax = new Z.Ajax();
ajax.setClassName("TemplatePreviewPresenter");
ajax.setMethodName("doUploadOcrImage");
ajax.addParam("data", data);
ajax.addParam("suffix", suffix);
ajax.setSuccess(function(){
Z("#ocrText").val(ajax.responseText);
if(typeof fun == "function")fun();
});
ajax.setFailure(function(){Z.alert(ajax.responseText);});
ajax.setLoading(document, true);
ajax.execute();
}
function doSaveOcrText(ocrText)
{//保存识别文本
var ajax = new Z.Ajax();
ajax.setClassName("TemplatePreviewPresenter");
ajax.setMethodName("doSaveOcrText");
ajax.addParam("ocrText", ocrText);
ajax.addParam("designId", '${order.getDesignId()}');
ajax.setSuccess(function(){});
ajax.setFailure(function(){Z.alert(ajax.responseText);});
ajax.setLoading(document, true);
ajax.execute();
}
function doDialog()
{
var dialog = new Z.Dialog();
dialog.title = "截图(截屏后粘贴(CTRL+V)到输入框中)";
dialog.url = "/copyImage.htm";
dialog.width = 800;
dialog.height = 400;
dialog.execute();
}
function doTransforImage(type,data)
{//图片转base64
if (data.files && data.files[0])
{//1.判断input标签的file是否存在
var size = data.files[0].size;
if(size/1024/1024 >2)
{//检测图片大小
alert("图片大小不能超过2M");
return;
}
var reader = new FileReader();//2.实例化一个FileReader()接口
reader.readAsDataURL(data.files[0]);//3.通过readAsDataURL()方法读取文件,将图片内嵌在网页之中
reader.onload = function(evt)
{//4.调用FileReader()的onload事件
var url = data.value;
var suffix=url.substring(url.lastIndexOf(".") + 1, url.length);//后缀名
doUploadOcrImage(evt.target.result, suffix);
}
}
}
function doForwardEdit(mediaId)
{
var dialog = new Z.Dialog();
dialog.id = "doForwardEdit";
dialog.title = "新开窗口跳转";
dialog.url = "templateToEdit.htm?mediaId=" + mediaId;
dialog.width = 10;
dialog.height = 10;
dialog.fixed = true;
dialog.timeout = 1*1000; //自动关闭
dialog.execute();
}
function doTemplateDelete(mediaId)
{//删除用户模板
if (Z.V.isEmpty(mediaId))
{
Z.alert("请选择模板");
return;
}
Z.confirm("你确定要删除该模板吗?", function(){
var ajax = new Z.Ajax();
ajax.setClassName("TemplatePresenter");
ajax.setMethodName("doTemplateDelete");
ajax.addParam("mediaId", mediaId);
ajax.addParam("designId", '${order.getDesignId()}');
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z("#sel_" + mediaId).remove();
Z.tips("删除成功");
});
ajax.execute();
});
}
function doTemplateOrderCreate(designId)
{
if (Z.V.isEmpty(designId))
{
Z.alert("订单号不存在,请检查");
return;
}
var ajax = new Z.Ajax();
ajax.setClassName("TemplatePreviewPresenter");
ajax.setMethodName("doCreateOrderTemplate");
ajax.addParam("designId", ${designId});
ajax.addParam("createChannel", "platform_design");
ajax.setFailureAlert();
ajax.setSuccess(function()
{
var obj = Z.J.toObject(this.responseText);
var mediaId = obj.mediaId;
var designWidth = obj.designWidth;
var designHeight = obj.designHeight;
var printWidth = obj.printWidth;
var printHeight = obj.printHeight;
var printKs = obj.printKs;
var printMs = obj.printMs;
var bleedSize = obj.bleedSize;
var orderIsCardType = obj.orderIsCardType;
var newLink = "/zhiqimMediaEditor/mediaDesign.htm?";
newLink += "mediaId=" + mediaId + "&"
newLink += "designWidth=" + designWidth + "&"
newLink += "designHeight=" + designHeight + "&"
newLink += "printWidth=" + printWidth + "&"
newLink += "printHeight=" + printHeight + "&";
newLink += "bleedSize=" + bleedSize + "&";
newLink += "orderIsCardType=" + orderIsCardType + "&";
window.open(newLink);
window.location.reload();
});
ajax.execute();
}
function doParseText(type)
{
var userText = Z("#userText").val();
if (Z.V.isEmpty(userText))
{
Z.alert("请输入客户文本");
return;
}
var ocrText = Z("#ocrText").val();
var ajax = new Z.Ajax();
ajax.setClassName("TemplatePreviewPresenter");
ajax.setMethodName("doParseParamData");
ajax.addParam("type", type);
ajax.addParam("paramData", userText + ocrText);
ajax.setFailureAlert();
ajax.setSuccess(function(){
var strs = Z.Jsons.toObject(this.responseText);
if (strs != "")
{
var value = "";
for(var i= 0; i< strs.length; i++)
{
value += strs[i] +"\n";
}
Z("#paramData").val(value);
}
});
ajax.setLoading(document, true);
ajax.execute();
}
/** 选择模板 **/
function doSelectTemplate(mediaId)
{
if (Z("#nav_" + mediaId).hasClass("selected")) {
Z.tips("已选择!");
return;
}
var ajax = new Z.Ajax();
ajax.setClassName("TemplatePreviewPresenter");
ajax.setMethodName("doTemplateCacheAdd");
ajax.addParam("mediaId", mediaId);
ajax.addParam("designId", '${order.getDesignId()}');
ajax.setFailureAlert();
ajax.setSuccess(function(){Z("#nav_" + mediaId).addClass("selected");Z.tips("选择成功!");});
ajax.execute();
}
/** 取消模板 **/
function unSelectTemplate(mediaId)
{
if (!Z("#nav_" + mediaId).hasClass("selected")) {
Z.tips("已取消!");
return;
}
var ajax = new Z.Ajax();
ajax.setClassName("TemplatePreviewPresenter");
ajax.setMethodName("doTemplateCacheDelete");
ajax.addParam("mediaId", mediaId);
ajax.addParam("designId", '${order.getDesignId()}');
ajax.setFailureAlert();
ajax.setSuccess(function(){Z("#nav_" + mediaId).removeClass("selected");Z.tips("取消成功!");});
ajax.execute();
}
function doTemplateTypeQuery(page)
{//查询模板
var keyword = Z("#searchinput").val() || "";
var queryType = Z("#queryType").val();
var sort = Z('#searchSort').val();
var ajax = new Z.Ajax();
ajax.setClassName("TemplatePreviewPresenter");
ajax.setMethodName("doTemplateTypeQuery");
ajax.addParam("page", page);
ajax.addParam("designId", "${designId}");
ajax.addParam("typeId", "${order.getTypeId()}");
ajax.addParam("queryType", queryType);
ajax.addParam("keyword", keyword);
ajax.addParam("sort", sort);
ajax.setCallback("templateResult");
ajax.setLoading("templateResult");
ajax.execute();
}
function doTemplateExistQuery()
{//查询已选模板
var ajax = new Z.Ajax();
ajax.setClassName("TemplatePreviewPresenter");
ajax.setMethodName("doTemplateExistQuery");
ajax.addParam("designId", "${designId}");
ajax.addParam("typeId", "${order.getTypeId()}");
ajax.setCallback("templateResult");
ajax.setLoading("templateResult");
ajax.execute();
}
function doChangeTab(ele, queryType)
{//切换选项
Z(ele).addClass("z-active").siblings("li").removeClass("z-active");
Z('#queryType').val(queryType);
if(queryType==''){
Z("#templateLinkSpan").show();
}else{
Z("#templateLinkSpan").hide();
}
if (!queryType)
{
doTemplateExistQuery();
}
else
{
doTemplateTypeQuery(1);
}
}
function getTemplateLink()
{//生成模板链接
Z.copy(window.location.host+"/templateCustomerPreview.htm?designId=${designId}&typeId=${order.getTypeId()}");
top.Z.tips("复制成功");
}
function doKeywordQuery(page)
{//关键词搜索
var queryType = Z("#queryType").val();
Z('li[data-type="'+queryType+'"]').addClass("z-active").siblings("li").removeClass("z-active");
doTemplateTypeQuery(page);
}
function doModifyIndustry()//修改行业
{
var designId = Z("#designId").text();
if(Z.V.isEmpty(designId))
{
Z.alert("请选择一条订单");
return;
}
var dialog = new Z.Dialog();
dialog.title = "修改行业";
dialog.url = "/modifyIndustry.htm?designId="+designId+"&flag=1";
dialog.width = 500;
dialog.height = 300;
dialog.execute();
}
function doReFreshIndustryInfo()
{
var ajax = new Z.Ajax();
ajax.setClassName("TemplatePreviewPresenter");
ajax.setMethodName("doReFreshIndustryInfo");
ajax.addParam("designId", "${designId}");
ajax.setFailureAlert();
ajax.setSuccess(function(){
var obj = Z.J.toObject(this.responseText);
Z("#industryName").html(obj);
});
ajax.execute();
}
</script>
<style>
body{height:100%;}
/*图片展示区*/
.container{min-height:auto;background-color:#ffffff;}
.mainbody{height:100%;}
.content{height:calc(100% - 40px);overflow-y:auto;}
form[name="theForm"]{float:left;width:100%;}
/* tab标签 */
.svgTemplateList .itemCtrBar{left:0;top:0;}
#svgTemplateWrap{height:calc(100% - 176px)}
#templateTab{float:none;}
/*内容盒子*/
#svgTemplateWrap > section{height:calc(100% - 50px);background:#ffffff;border:1px solid #dcdcdc;border-top:none;}
/*模板列表*/
.svgTemplateList{width:100%;height:100%;column-count:4;}
.svgTemplateList .svgTemplateItem{width:100%;height:100%;text-align:center;padding:5px;background:#fff;border:1px solid #ccc;overflow:auto; position: relative;margin-bottom: 15px;}
.svgTemplateItem > .templateItemBtn{padding:10%;left:0;top:0;display:flex;justify-content:space-around;align-items:center;align-content:center;}
.svgTemplateItem > .templateItemBtn .z-button{display:none;}
.svgTemplateItem > .templateItemBtn:hover{background:rgba(0,0,0,.2);}
.svgTemplateItem > .templateItemBtn:hover .z-button{display:inline-block;}
.svgTemplateItem .itemSelectedSign{display:none;width:0;height:0;right:5px;bottom:5px;border-width:30px;border-style:solid;border-color:transparent #28a3ef #28a3ef transparent;}
.svgTemplateItem .itemSelectedSign > span{white-space:nowrap;left:-5px;color:#fff;top:5px;}
.svgTemplateItem.selected .itemSelectedSign{display:block;}
.showSvg {pointer-events:none;display: block;margin-top:2px;}
.showSvg:first-child{margin-top:0;}
.showSvg > svg {width:100%;height: auto;}
/** 选中样式 **/
.svgTemplateItem.selected{}
</style>
${zhiqim_manager_breadcrumb_parent("/designOrder.htm", "设计订单", "订单模板设计")}
<div class="content">
${Scripts.src("/zinc/js/global_2019010801.js")}
${Scripts.src("/zinc/js/zhiqim_search_auto_list.js")}
<div class="z-tabnav-main z-blue z-mg-b10" style=" width: 478px;height: 44px; float:none">
<nav>
<div class="z-float-left z-mg10">
<button name="button" class="z-button z-mg-r20" onclick="history.go(-1)"><i class="z-font z-return"></i>返回列表</button>
</div>
</nav>
</div>
<#-- 导航栏 -->
<div class="boxs">
<div class="bos z-blue">
<nav>
<div class="bos_son z-mg10 z-lh30">
<span class=" z-mg-r10">订单号:<span id="designId" >${order.getDesignId()}</span></span></br>
<span class=" z-mg-r10">产品信息:${order.getOrderText()}</span>
</div>
</nav>
</div>
<#-- 替换参数 -->
<form name="theForm" action="javascript:void(0);" onsubmit="doSubmit(this);">
<input name="paramCat" type="hidden" value="${order.getTypeId()}">
<input name="designId" type="hidden" value="${order.getDesignId()}">
<input name="typeId" type="hidden" value="${order.getTypeId()}">
<input name="industryId" type="hidden" value="${order.getIndustryId()}">
<div class="bos_two">
<div class="bos_two_one">
<p class="text"> 客户文本</p>
<textarea name="userText" id="userText" class="my-textarea">${order.getUserText()}</textarea>
</div>
<!-- <i class="z-arrow z-right z-px8"></i></td>-->
<div class="bos_two_one my_bos_two_one">
<p class="text my_text">文本识别</p>
<div class="btn" style="margin-bottom: 5px;">
<button id="qrcodeId" type="button" class="z-button z-blue z-w80 z-pointer" style="position:absolute;pointer-events:none;">选择图片</button>
<input style="width:80px; height:25px; opacity:0;" type="file" accept="image/png,image/jpeg,image/jpg" onchange="doTransforImage('qrcode', this);" single>
&nbsp;&nbsp;
<button type="button" class="z-button z-blue" onclick="doDialog()">截图粘贴</button>
</div>
<textarea name="ocrText" id="ocrText" class="my-textarea" onchange="doSaveOcrText(this.value)">${ocrText}</textarea>
</div>
<div class="bos_two_one my_bos_two_one">
<p style="width: 100%; height:12px;"></p>
<p class="text my_text">文本分析</p>
<div class="btn" style="margin-bottom: 5px;">
<button type="button" onclick="doParseText(1)" class="z-button z-blue">智能分析</button> &nbsp;&nbsp;
<button type="button" onclick="doParseText(2)" class="z-button z-blue">普通分析</button>
</div>
<textarea name="paramData" id="paramData" class="my-textarea" >${paramData}</textarea>
</div>
<button name="submit" type="sumbit" class="my_btn z-button z-blue">
生<br>
成<br>
模<br>
板<br>
</button>
</div>
</form>
</div>
<#-- 导航栏 -->
<div class="boxs_two">
<div id="svgTemplateWrap" style="height: 45px;" >
<div id="templateTab" style="height: 45px;" class="boxs_sons z-tabnav-main z-blue">
<input id="queryType" name="queryType" type="hidden" value="">
<nav>
<ul style="border: 1px solid #dcdcdc; height: 45px;width:796px;border-right:none;">
<li onclick="doChangeTab(this, '');" data-type="">已选模板</li>
<li onclick="doChangeTab(this, 'OLD');" data-type="OLD">客户历史模板</li>
<li onclick="doChangeTab(this, 'RECOMMEND');" data-type="RECOMMEND">被分享模板</li>
<li onclick="doChangeTab(this, 'COLLECT');" data-type="COLLECT">收藏模板</li>
<li onclick="doChangeTab(this, 'KEYWORD');" data-type="KEYWORD">热搜模板</li>
</ul>
<span style="margin:0; height: 35px" class="my_z-float-rights">
<button style="margin-left: 16px;" name="button" class="z-button ${zmr_color_class} mystyle" onclick="doTemplateOrderCreate('${order.getDesignId()}')" ><i class="z-font z-add"></i>创建订单模板</button>
</span>
</nav>
</div>
</div>
<!-- <div class="boxs_svg" > -->
<div style="margin-top: 20px;" id="templateResult" class="mystyle_svg z-active z-text-center"></div>
<!-- </div> -->
</div>
${zhiqim_manager_content_end()}
<#-- 联系旺旺&联系QQ弹窗框 -->
<iframe id="openFrm" class="z-hide" src="about:blank"></iframe>
@@ -0,0 +1,53 @@
<script>
function doApproved()
{
var ajax = new Z.Ajax();
ajax.setClassName("RegCheckApprovedAction");
ajax.setMethodName("checkApproved");
ajax.addParam("questionsId",Z("#questionsId").val());
ajax.addParam("orgId",Z("#orgId").val());
ajax.addParam("designerGroupId",Z("#designerGroupId").val());
ajax.addParam("score",Z("#score").val());
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z.success("操作成功",function(){parent.location.reload();parent.Z.Dialog.close();});
});
ajax.setLoading("doApproved", '正在提交', {disabled:true});
ajax.execute();
}
</script>
<form name="checkApproved" action="javascript:void(0);">
<input id="questionsId" type="hidden" value="${questionsId}">
<table class="z-table z-bordered z-bg-white z-text-left z-pd-l10">
<table class="z-table z-bordered z-pd6 z-bg-white">
<tr class="z-h40" bgcolor="#ffffff">
<td>分配组织:
<select name="orgId" id="orgId" class="z-select z-w150" data-role="z-select" data-class=" ${zmr_color_class}" data-options="maxHeight:120" >
<#for item : orgList>
<option value="${item.getOrgId()}">${item.getOrgName()}</option>
</#for>
</select>
</td>
</tr>
<tr id="address">
<td>接单规则:
<select name="designerGroupId" id="designerGroupId" class="z-select z-w150" data-role="z-select" data-class=" ${zmr_color_class}" data-options="maxHeight:120" >
<#for item : designerGroupList>
<option value="${item.getDesignerGroupId()}">${item.getDesignerGroupName()}</option>
</#for>
</select>
</td>
</tr>
<tr class="z-h40" >
<td>初始积分:
<input type="text" class="${zmr_color_class} z-input z-w150" id="score" name="score" data-options="type:Integer;paste:true;" maxlength="5">
</td>
</tr>
</table>
</form>
<#-- 操作 -->
<div class="z-absolute z-w100p z-h50 z-text-center z-bg-gray" style="bottom:0;left:0">
<button id="doApproved" class="z-button z-w100 z-h30 z-mg-t15 z-mg-l5 zi-px14 ${zmr_color_class}" type="button" onclick="doApproved();">提交</button>
<button class="z-button z-w100 z-h30 z-mg-t15 z-mg-l5 z-mg-l20 zi-px14" type="button" onclick="parent.Z.Dialog.close();">关闭</button>
</div>
@@ -0,0 +1,67 @@
${zhiqim_manager_breadcrumb("简介审核")}
${zhiqim_manager_content()}
<script>
function doProfileReview(state,operatorCode){
Z.confirm("确认" + (state == 3 ? "通过" : "退回") + "审核?", function(){
var ajax = new Z.Ajax();
ajax.setClassName("DesignerProfilePresenter");
ajax.setMethodName("doProfileReview");
ajax.addParam("state",state);
ajax.addParam("operatorCode",operatorCode);
ajax.setFailureAlert();
ajax.setSuccess(function()
{
parent.Z.tips("审核成功");
location.reload();
});
ajax.execute();
});
}
</script>
<#-- 导航 -->
<div data-role="z-tabnav" class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
<nav>
<ul>
<li onclick="Z.L.href('designerManage.htm');">设计师管理</li>
<li onclick="Z.L.href('onlineLog.htm');">在线设计师</li>
<li onclick="Z.L.href('workSearchLog.htm');">工作日志</li>
<li onclick="Z.L.href('desOnlineTimeLog.htm');">接单时长</li>
<li class="z-active">数据审核</li>
</ul>
</nav>
</div>
<#-- 列表 -->
<div class="z-tabnav-main z-blue z-mg-b5">
<nav>
<ul>
<li onclick="Z.L.href('designerReg.htm');">注册审核</li>
<li class="z-active" >简介审核</li>
<li onclick="Z.L.href('designerWorks.htm');">作品审核</li>
</ul>
</nav>
</div>
<table class="z-table z-bordered z-h40-tr z-pd6 z-bg-white z-text-center">
<tr bgcolor="${zmr_thead_bgcolor}">
<td width="200">设计师</td>
<td width="*">审核内容</td>
<td width="200">提交时间</td>
<td width="150">操作</td>
</tr>
${zhiqim_manager_tr_no_record(pageResult, 39, "暂时没有介绍信息")}
<#for item : pageResult.list()>
<tr>
<td>${item.getOperatorCode()}</td>
<td>${item.getPersonalProfile()}</td>
<td>${Sqls.toDateTimeString(item.getAddTime())}</td>
<td>
<button type="button" class="z-button z-blue" onclick="doProfileReview(3,'${item.getOperatorCode()}')">通过</button>
<button type="button" class="z-button" onclick="doProfileReview(2,'${item.getOperatorCode()}')">退回</button>
</td>
</tr>
</#for>
</table>
${zhiqim_manager_paging(pageResult, "/designerProfile.htm")}
${zhiqim_manager_content_end()}
@@ -0,0 +1,112 @@
${zhiqim_manager_breadcrumb("作品审核")}
${zhiqim_manager_content()}
<style>
.item {
width: 18.78328%;
position: relative;
margin: 10px;
}
.item .z-bg-white {
padding: 10px;
}
.item .worksInfo {
margin-top: 10px;
}
.itemCtrBar {
right: 0;
top: 0;
left: 0;
display: none;
}
</style>
<script>
Z.onload(function(){
Z(".item .z-bg-white").mouseover(function(){
Z(this).find(".itemCtrBar ").show();
})
Z(".item .z-bg-white").mouseout(function(){
Z(this).find(".itemCtrBar ").hide();
})
});
function doWorksReview(designerWorksId,state){
Z.confirm("确认" + (state == 2 ? "通过" : "退回") + "审核?", function(){
var ajax = new Z.Ajax();
ajax.setClassName("DesignerWorksPresenter");
ajax.setMethodName("doWorksReview");
ajax.addParam("designerWorksId",designerWorksId);
ajax.addParam("state",state);
ajax.setFailureAlert();
ajax.setSuccess(function()
{
parent.Z.tips("审核成功");
location.reload();
});
ajax.execute();
});
}
function showLargeImg(thisImg)
{
var dialog = new parent.Z.Dialog();
dialog.shadow = true;
dialog.title = "图片预览";
//dialog.hasTitle = false;
dialog.fixed = true;
dialog.text = '<img style="width:100%;max-height: none;" src="' + thisImg.src + '">';
dialog.width = 1200;
dialog.height = 801;
dialog.execute();
dialog.$background.remove();
}
</script>
<#-- 导航 -->
<div data-role="z-tabnav" class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
<nav>
<ul>
<li onclick="Z.L.href('designerManage.htm');">设计师管理</li>
<li onclick="Z.L.href('onlineLog.htm');">在线设计师</li>
<li onclick="Z.L.href('workSearchLog.htm');">工作日志</li>
<li onclick="Z.L.href('desOnlineTimeLog.htm');">接单时长</li>
<li class="z-active">数据审核</li>
</ul>
</nav>
</div>
<#-- 列表 -->
<div class="z-tabnav-main z-blue z-mg-b5">
<nav>
<ul>
<li onclick="Z.L.href('designerReg.htm');">注册审核</li>
<li onclick="Z.L.href('designerProfile.htm');">简介审核</li>
<li class="z-active">作品审核</li>
</ul>
</nav>
</div>
<#-- 列表 -->
${zhiqim_manager_tr_no_record(pageResult, 39, "<table class='z-table z-bordered z-h40-tr z-pd6 z-bg-white z-text-center'><tr class='zi-h60 z-bg-white z-text-center'><td colspan='39'>暂时没有作品信息</td></tr></table>")}
<div style="display: flex;width: 100%;justify-content: flex-start;flex-wrap: wrap;">
<#for item : pageResult.list()>
<div class="item">
<div class="z-bg-white z-pointer">
<img style="width:100%;" src="${item.getImgPath()}" onclick="showLargeImg(this);" />
<span class="itemCtrBar z-absolute">
<button class="z-button modelCheckBtn z-small z-blue z-float-left" onclick="doWorksReview('${item.getDesignerWorksId()}','2');"><i class="z-font z-px12 z-success"></i>通过</button>
<button class="z-button modelCheckBtn z-small z-red z-float-right" onclick="doWorksReview('${item.getDesignerWorksId()}','1');"><i class="z-font z-px12 z-error"></i>退回</button>
</span>
<div class="worksInfo">
设计师: ${item.getOperatorCode()} 时间:${Sqls.toDateTimeString(item.getAddTime())}
</div>
</div>
</div>
</#for>
</div>
${zhiqim_manager_paging(pageResult, "/designerWorks.htm")}
${zhiqim_manager_content_end()}
@@ -0,0 +1,31 @@
<script>
function doModifyOrderNum()
{
var orderNum = Z("#orderNum").val();
if (Z.V.isEmptyBlank(orderNum))
{
Z.alert("数量不能为空");
return;
}
var ajax = new Z.Ajax();
ajax.setContextPath("${context.getContextPath()}");
ajax.setClassName("DesignerProfilePresenter");
ajax.setMethodName("doModifyOrderNum");
ajax.addParam("orderNum",orderNum);
ajax.setFailureAlert();
ajax.setSuccessAlertReloadParent("修改成功");
ajax.execute();
}
</script>
<div class="z-h60 z-pd20">
原数量:<span class="z-color-666"><#if operatorParam.isEmpty()>0<#else>${operatorParam}</#if></span>
</div>
<div class="z-h60 z-pd20">
新数量:<input id="orderNum" class="z-input z-w300 ${zmr_color_class}" maxlength="2" data-options="type:Integer;" spellcheck="false">
<span class="z-px12 z-text-red">*</span>
</div>
<div class="z-absolute z-b0 z-l0 z-w100p z-h80 z-pd20 z-text-center z-bg-gray">
<button type="button" class="z-button z-large z-w100 ${zmr_color_class}" onclick="doModifyOrderNum();">提交</button>
<button type="button" class="z-button z-large z-w100 z-mg-l10" onclick="parent.Z.Dialog.close();">关闭</button>
</div>
@@ -0,0 +1,427 @@
${Scripts.src("/zinc/layui/layui.js")}
<link rel="stylesheet" href="../zinc/layui/css/layui.css"/>
${Scripts.src(zhiqim_uploadlarge.js)}
<style>
input::-webkit-input-placeholder {
font-size: 12px;
}
xm-select div:not(span) {
line-height: inherit;
}
.content {
display: flex;
justify-content: space-between;
}
.content td {
padding-right: 0 !important;
}
.profileTable td {
padding-left: 5px !important;
}
.item {
padding: 1em 0 0 1em;
width: 33%;
position: relative;
}
.itemCtrBar {
right: 0;
bottom: 0;
left: 0;
display: none;
}
.item .showing {
content: url(../ztmpl/zhiqim_manager/showing.png);
position: absolute;
width: 50px;
left: 1em;
top: 1em;
}
.item .reviewing {
content: url(../ztmpl/zhiqim_manager/reviewing.png);
position: absolute;
width: 50px;
left: 1em;
top: 1em;
}
.item .rejected {
content: url(../ztmpl/zhiqim_manager/rejected.png);
position: absolute;
width: 50px;
left: 1em;
top: 1em;
}
textarea::-ms-input-placeholder{
text-align: center;
line-height: 140px
}
textarea::-webkit-input-placeholder{
text-align: center;
line-height: 140px
}
.iframenav-tab-item {
border: 1px solid #d3d3d3;
padding: 0 30px 0 10px;
margin-right: 10px;
}
</style>
<script>
function doModifyAvatar()
{//修改头像
var dialog = new Z.Dialog();
dialog.title = "修改头像";
dialog.url = "modifyAvatar.htm";
dialog.width = 800;
dialog.height = 560;
dialog.fixed = true;
dialog.execute();
}
function doModifyPass()
{//修改密码
var dialog = new Z.Dialog();
dialog.title = "修改登录密码";
dialog.url = "modifyPassword.htm";
dialog.width = 650;
dialog.height = 280;
dialog.fixed = true;
dialog.execute();
}
function doModifyMobile()
{//修改手机号
var dialog = new Z.Dialog();
dialog.title = "修改手机号";
dialog.url = "modifyMobile.htm";
dialog.width = 530;
dialog.height = 220;
dialog.fixed = true;
dialog.execute();
}
function doModifyOrderNum(operatorParam)
{//修改接单数量
var dialog = new Z.Dialog();
dialog.title = "修改接单数量";
dialog.url = "modifyOrderNum.htm?operatorParam=" + operatorParam;
dialog.width = 530;
dialog.height = 220;
dialog.fixed = true;
dialog.execute();
}
function doModifyWxcode()
{// 修改个人微信
var dialog = new Z.Dialog();
dialog.title = "修改微信";
dialog.url = "modifyWxcode.htm";
dialog.width = 530;
dialog.height = 220;
dialog.fixed = true;
dialog.execute();
}
function doEditPersonalProfile(elem){
if(Z(elem).text() == "编辑"){
document.getElementById("personalProfile").readOnly = false;
Z(elem).text("提交审核");
} else {
var personalProfile = Z("#personalProfile").val();
if(personalProfile.length == 0){
Z.alert("个人简介不能为空");
return;
} else if(personalProfile.length > 300){
Z.alert("个人简介最多不能超过300个字符");
return;
}
var ajax = new Z.Ajax();
ajax.setContextPath("${context.getContextPath()}");
ajax.setClassName("DesignerProfilePresenter");
ajax.setMethodName("doSubmitReview");
ajax.addParam("personalProfile",personalProfile);
ajax.setFailureAlert();
ajax.setSuccess(function(){
parent.Z.tips("提交成功");
location.reload();
});
ajax.execute();
}
}
function doAddLabel(){
if(Z(".iframenav-tab-item").length > 10){
Z.alert("标签最大不能超过10个");
return;
}
Z.prompt("请输入标签内容", "", function(value){
if(value && value.length < 6){
var ajax = new Z.Ajax();
ajax.setContextPath("${context.getContextPath()}");
ajax.setClassName("DesignerProfilePresenter");
ajax.setMethodName("addDesignerLabel");
ajax.addParam("label",value);
ajax.setFailureAlert();
ajax.setSuccess(function(){
var addLabel = document.getElementById("addLabel");
var newLabel = document.createElement("li");
newLabel.className = "iframenav-tab-item";
newLabel.innerHTML = "<span>" + value + '</span><i class="z-font z-error" onclick="doDeleteLabel(\''+ value +'\',this)"></i>';
addLabel.parentElement.insertBefore(newLabel,addLabel);
});
ajax.execute();
} else {
Z.alert("标签内容不能为空且最多5个字符");
}
});
}
function doDeleteLabel(label,elem){
var ajax = new Z.Ajax();
ajax.setContextPath("${context.getContextPath()}");
ajax.setClassName("DesignerProfilePresenter");
ajax.setMethodName("doDeleteLabel");
ajax.addParam("label",label);
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z(elem).parent().remove();
});
ajax.execute();
}
layui.config({
base: '../zinc/module/'
}).extend({
xmSelect: 'xmSelect/xm-select',
}).use(['jquery','xmSelect'], function () {
var $ = layui.$;
var xmSelect = layui.xmSelect;
var workExperienceList = [{"name":"初入设计行业"},{"name":"图文广告点"},{"name":"淘宝等线上设计"},{"name":"品牌设计公司"},{"name":"综合广告公司"},{"name":"企业设计岗位"}];
var designTypeList = [{"name":"名片类"},{"name":"海报类"},{"name":"不干胶类"},{"name":"卡片类"},{"name":"条幅类"},{"name":"帆布类"},{"name":"画册类"},{"name":"包装类"},{"name":"logo设计"},{"name":"画册设计"},{"name":"UI设计"},{"name":"网页设计"}];
var skillScopeList = [{"name":"CDR"},{"name":"PS"},{"name":"AI"},{"name":"3Dmax"},{"name":"C4D"},{"name":"CAD"}];
var dbWorkExperience = '${course.getWorkExperience()}';
var dbDesignType = '${course.getDesignType()}';
var dbSkillScope = '${course.getSkillScope()}';
var workExperience = xmSelect.render({
el: '#workExperience',
toolbar: {show: true},
theme: {color: '#28a3ef'},
filterable: true,
autoRow: true,
prop: {
name: 'name',
value: 'name',
},
initValue: dbWorkExperience.split(","),
data: workExperienceList
});
var designType = xmSelect.render({
el: '#designType',
toolbar: {show: true},
theme: {color: '#28a3ef'},
filterable: true,
autoRow: true,
prop: {
name: 'name',
value: 'name',
},
initValue: dbDesignType.split(","),
data: designTypeList
});
var skillScope = xmSelect.render({
el: '#skillScope',
toolbar: {show: true},
theme: {color: '#28a3ef'},
filterable: true,
autoRow: true,
prop: {
name: 'name',
value: 'name',
},
initValue: dbSkillScope.split(","),
data: skillScopeList
});
$("#designerCourseSubmit").click(function(){
designerCourseSubmit();
});
function designerCourseSubmit()
{//设计师个人经历信息提交
console.log(workExperience.getValue("value"));
var workExperiences = workExperience.getValue("value");
if(workExperiences.length <= 0){
Z.alert("为了您更好的工作体验,请完整填写个人信息~");
return;
}
var skillScopes = skillScope.getValue("value");
if(skillScopes.length <= 0){
Z.alert("为了您更好的工作体验,请完整填写个人信息~");
return;
}
var designTypes = designType.getValue("value");
if(designTypes.length <= 0){
Z.alert("为了您更好的工作体验,请完整填写个人信息~");
return;
}
var workDuration = Z("#workDuration").val();
if(workDuration == ""){
Z.alert("为了您更好的工作体验,请完整填写个人信息~");
return;
}
var workStatus = Z("#workStatus").val();
if(workStatus == ""){
Z.alert("为了您更好的工作体验,请完整填写个人信息~");
return;
}
var receiveType = Z("#receiveType").val();
if(receiveType == ""){
Z.alert("为了您更好的工作体验,请完整填写个人信息~");
return;
}
var receiveAccount = Z("#receiveAccount").val();
if(receiveAccount.length <= 0)
{
Z.alert("为了您更好的工作体验,请完整填写个人信息~");
return;
}
Z.confirm("提交前请仔细检查核对哦,确认提交吗?",function(){
var ajax = new Z.Ajax();
ajax.setContextPath("${context.getContextPath()}");
ajax.setClassName("DesignerProfilePresenter");
ajax.setMethodName("doDesignerCourseSubmit");
ajax.addParam("workExperience",workExperiences.join(","));
ajax.addParam("skillScope",skillScopes.join(","));
ajax.addParam("designType",designTypes.join(","));
ajax.addParam("workDuration",workDuration);
ajax.addParam("workStatus",workStatus);
ajax.addParam("receiveType",receiveType);
ajax.addParam("receiveAccount",receiveAccount);
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z.success("保存成功");
});
ajax.execute();
});
}
});
</script>
${zhiqim_manager_breadcrumb_name("个人中心")}
${zhiqim_manager_content()}
<div style="width:60%;">
<!-- 基本信息 -->
<table class="z-table z-bordered-line z-bg-white z-pd20 zi-bd-l zi-bd-r profileTable">
<tr class="z-bg-gray">
<td class="z-bold z-px14 zi-pd16 zi-pd-l20" colspan="5" style="padding: 20px !important;">账号信息</td>
</tr>
<tr>
<td rowspan="2" width="10%" style="text-align: center;padding-left: 0 !important;">
<img class="z-w70 z-h70 z-bd-rd50p z-pointer" title="点击修改" src="${sessionUser.getAvatar100()}" onclick="doModifyAvatar();">
</td>
<td width="8%">用户昵称:</td>
<td width="20%">#{operator.getOperatorCode()}</td>
<td width="14%">登录密码:</td>
<td width="20%">******** &nbsp;<span class="z-px12 z-text-orange z-pointer" onclick="doModifyPass();">修改</span></td>
</tr>
<tr>
<td width="8%">手机号码:</td>
<td><#if Validates.isNotEmpty(operator.getOperatorMobile())>${operator.getOperatorMobile()}<span class="z-px12 z-text-orange z-pointer" onclick="doModifyMobile();"> &nbsp;修改</span><#else><span class="z-px14 z-color-999 z-pointer" onclick="doModifyMobile();">点击绑定</span></#if></span></td>
<td width="14%">个人微信:</td>
<td width="20%">
<#if Validates.isNotEmpty(operator.getOperatorWxcode())>${operator.getOperatorWxcode()}<span class="z-px12 z-text-orange z-pointer" onclick="doModifyWxcode();"> &nbsp;修改</span><#else><span class="z-px14 z-color-999 z-pointer" onclick="doModifyWxcode();">点击绑定</span></#if></td>
</td>
</tr>
</table>
<!-- 接单配置 -->
<table class="z-table z-bordered-line z-bg-white z-pd20 zi-bd-l zi-bd-r z-mg-t10">
<tr class="z-bg-gray">
<td class="z-bold z-px14 zi-pd16 zi-pd-l20" colspan="4">接单配置</td>
</tr>
<tr>
<td width="15%">最大同时接单量:</td>
<td width="10%"><#if Validates.isNotEmpty(operator.getOperatorParam())>${operator.getOperatorParam()}<#else>0</#if>&nbsp;
<span class="z-px12 z-text-orange z-pointer" onclick="doModifyOrderNum(<#if Validates.isNotEmpty(operator.getOperatorParam())>${operator.getOperatorParam()}<#else>0</#if>);">修改</span>
</td>
<td width="*" colspan="2"><span class="z-px14 z-color-red">
说明:正在设计状态订单总数超过最大同时接单数时,系统将不会自动派单(大于0规则才会生效)
</span></td>
</tr>
</table>
<table class="z-table z-bordered-line z-bg-white z-pd20 zi-bd-l zi-bd-r z-mg-t10">
<tr class="z-h40">
<td class="z-bg-gray z-bold z-px14" colspan="3">个人简介</td>
</tr>
<tr>
<td>
<div style="display: flex;align-items: center;"><span class="z-color-red">*</span>工作经历&nbsp;<div id="workExperience" style="display: inline-block;width: 205px;"></div></div>
</td>
<td>
<div style="display: flex;align-items: center;"><span class="z-color-red">*</span>软件能力&nbsp;<div id="skillScope" style="display: inline-block;width: 200px;"></div></div>
</td>
<td>
<div style="display: flex;align-items: center;"><span class="z-color-red">*</span>擅长设计&nbsp;<div id="designType" style="display: inline-block;width: 200px;"></div></div>
</td>
</tr>
<tr>
<td>
<span class="z-color-red">*</span>
工作年限&nbsp;<select name="workDuration" id="workDuration" class="z-select z-w200" data-role="z-select-search" data-class="${zmr_color_class}">
<option value="">请选择</option>
<option value="应届" <#if course.getWorkDuration() == "应届">selected</#if>>应届</option>
<option value="1年以内" <#if course.getWorkDuration() == "1年以内">selected</#if>>1年以内</option>
<option value="1-2年" <#if course.getWorkDuration() == "1-2年">selected</#if>>1-2年</option>
<option value="2-3年" <#if course.getWorkDuration() == "2-3年">selected</#if>>2-3年</option>
<option value="3年以上" <#if course.getWorkDuration() == "3年以上">selected</#if>>3年以上</option>
<option value="5年以上" <#if course.getWorkDuration() == "5年以上">selected</#if>>5年以上</option>
<option value="10年以上" <#if course.getWorkDuration() == "10年以上">selected</#if>>10年以上</option>
</select>
</td>
<td>
<span class="z-color-red">*</span>
在职情况&nbsp;<select name="workStatus" id="workStatus" class="z-select z-w200" data-role="z-select-search" data-class="${zmr_color_class}">
<option value="">请选择</option>
<option value="在职" <#if course.getWorkStatus() == "在职">selected</#if>>在职</option>
<option value="待业" <#if course.getWorkStatus() == "待业">selected</#if>>待业</option>
<option value="自由职业" <#if course.getWorkStatus() == "自由职业">selected</#if>>自由职业</option>
<option value="自有工作室" <#if course.getWorkStatus() == "自有工作室">selected</#if>>自有工作室</option>
</select>
</td>
<td>
<span class="z-color-red">*</span>
收款方式&nbsp;<select name="receiveType" id="receiveType" class="z-select z-w200" data-role="z-select-search" data-class="${zmr_color_class}">
<option value="">请选择</option>
<option value="支付宝" <#if course.getReceiveType() == "支付宝">selected</#if>>支付宝</option>
</select>
</td>
</tr>
<tr>
<td>
<span class="z-color-red">*</span>支付宝账号&nbsp;
<input type="text" name="receiveAccount" id="receiveAccount" class="z-input ${zmr_color_class} z-w200" value="${course.getReceiveAccount()}" placeholder="手机号/邮箱">
</td>
<td colspan="2"></td>
</tr>
<tr >
<td colspan="3" align="center"><button class="z-button z-w120 z-mg-r15 ${zmr_color_class}" id="designerCourseSubmit"><i class="z-font z-save"></i>保存提交</button></td>
</tr>
</table>
</div>
${zhiqim_manager_content_end()}
@@ -0,0 +1,25 @@
<script>
function backRemarks()
{
var ajax = new Z.Ajax();
ajax.setClassName("RegCheckBackAction");
ajax.setMethodName("backRemarks");
ajax.addParam(Z("#questionsId").val());
ajax.addParam(Z("#backRemarks").val());
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z.success("提交成功",function(){parent.location.reload();parent.Z.Dialog.close();});
});
ajax.setLoading("rackWait", '正在提交', {disabled:true});
ajax.execute();
}
</script>
<div class="z-h60 zi-pd20">
<input id="questionsId" type="hidden" value="${questionsId}">
拒绝原因:
<textarea id="backRemarks" name="backRemarks" class="z-textarea z-w100p z-h200" style="vertical-align: middle;" maxlength="200"></textarea>
</div>
<div class="z-absolute z-b0 z-l0 z-w100p z-h80 z-pd20 z-text-center z-bg-gray">
<button id="rackWait" type="button" class="z-button z-large z-w100 ${zmr_color_class}" onclick="backRemarks();">提交</button>
<button type="button" class="z-button z-large z-w100 z-mg-l10" onclick="parent.Z.Dialog.close();">关闭</button>
</div>
@@ -0,0 +1,2 @@
<iframe src="https://diy.lingtao8.com?loginCode=${token}" style="width: 100%;height: 100vh;border: none; "></iframe>
@@ -0,0 +1,281 @@
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>【HTML+CSS】实现移动端高级简约的登录注册界面</title>
</head>
${Scripts.src(zhiqim_uploadlarge.js)}
<style>
* {
margin: 0;
padding: 0;
}
/* 去除a标签的下划线 */
a {
text-decoration: none;
}
/* 去除li标签的序列符号(小黑点) */
li {
list-style: none;
}
body {
background-image: linear-gradient(to right, #3e9597, #214c52);
}
.box {
/* 分布式布局 */
display: flex;
justify-self: center;
}
/* 登录、注册外div公用样式 */
.login,
.register {
width: 20rem;
height: 30.5rem;
background-color: white;
border-radius: 0.5rem;
margin: 1.25rem;
}
/* 登录、注册顶部div共同样式 */
.login_top,.register_top{
width: 20rem;
height: 12rem;
color: white;
border-radius: 0.5rem 0.5rem 0 0;
text-align: center;
}
.login_top{
background: #214c52;
}
.register_top{
background: #3e9597;
}
.login_top img {
width: 5.5rem;
height: 5.5rem;
margin-top: 2rem;
}
.register_top {
padding-top: 2.5rem;
/* 添加内间距防止div扩充 */
box-sizing:border-box;
}
.register_top div{
width: 5.5rem;
height: 5.5rem;
background: white;
border-radius: 10rem;
color: silver;
font-size: 4rem;
margin: 0 auto;
text-align: center;
line-height: 5.5rem;
}
.login_bottom,.register_bottom{
text-align: center;
}
/* 登录、注册表单共同样式 */
.login_bottom .input{
width: 17.5rem;
height: 2.5rem;
margin-top: 2rem;
padding-left: 0.6rem;
border-radius: 0.6rem;
border: 0.1rem solid silver;
/* 去除表单点击后出现的边框 */
outline: none;
color: reb(107,107,107);
}
.register_bottom .input{
width: 17.5rem;
height: 2.5rem;
margin-top: 1rem;
padding-left: 0.6rem;
border-radius: 0.6rem;
border: 0.1rem solid silver;
/* 去除表单点击后出现的边框 */
outline: none;
color: reb(107,107,107);
}
.login_bottom p{
font-size: 0.8rem;
margin-top: 1rem;
}
/* 使复选框与后面文字水平对齐 */
.login_bottom p input{
vertical-align: middle;/* vertical 垂直的 middle 中间 */
}
.login_bottom p span{
margin-right: 0.5rem;
color: #757575;
}
.login_bottom p a{
color: #214c52;
}
.register_bottom p{
font-size: 0.8rem;
margin-top: 1rem;
}
.register_bottom p span{
margin-right: 0.5rem;
color: #757575;
}
.register_bottom p a{
color: #214c52;
}
/* 登录、注册按钮共同样式 */
.login_bottom button,.register_bottom button{
width: 18rem;
height: 2.8rem;
color: white;
margin-top: 2rem;
border-radius: 0.6rem;
border: none;
}
.login_bottom button{
background: #214c52;
margin-top: 3.6rem;
}
.register_bottom button{
background: #3e9597;
}
/* 鼠标滑过按钮出现阴影效果 */
.login_bottom button:hover,.register_bottom button:hover{
box-shadow: 0.2rem 0.2rem 0 rgba(0,0,0,0.3);
}
.login_bottom .inputYzm{
width: 10.5rem;
height: 2.5rem;
margin-top: 0.1rem;
padding-left: 0.6rem;
border-radius: 0.6rem;
border: 0.1rem solid silver;
/* 去除表单点击后出现的边框 */
outline: none;
color: reb(107,107,107);
}
.login_bottom .sendYzm{
width: 6rem;
height: 2.5rem;
color: white;
border-radius: 0.6rem;
border: none;
}
</style>
<script>
function iphoneLogin(){
var yzm = designId = Z("#yzm").val();
var mobile = designId = Z("#mobile").val();
if(mobile == null || mobile == ""){
Z.alert("请填写手机号");
return;
}
if(yzm == null || yzm == ""){
Z.alert("请填写验证码");
return;
}
var ajax = new Z.Ajax();
ajax.setClassName("IphoneLoginPresenter");
ajax.setMethodName("doLogin");
ajax.addParam("yzm", yzm);
ajax.addParam("mobile", mobile);
ajax.setFailureAlert();
ajax.setSuccess();
ajax.execute();
}
function doSendSmsCode(){
var operatorMobile = Z("#mobile").val();
if (Z.V.isEmptyBlank(operatorMobile))
{
Z.failure("手机号不能为空!");
Z("#mobile").focus();
return;
}
if (Z('#getsms-submit')[0].innerHTML != "获取验证码" && Z('#getsms-submit')[0].innerHTML != "重新发送") {
Z.failure("请稍后再试");
return ;
}
var ajax = new Z.Ajax();
ajax.setContextPath("${context.getContextPath()}");
ajax.setClassName("IphoneLoginPresenter");
ajax.setMethodName("sendSms");
ajax.addParam("operatorCode", "简奈编辑器用户");
ajax.addParam("mobile", operatorMobile);
ajax.setFailureAlert();
ajax.setSuccess();
ajax.execute();
setYzmLabel();
}
var wait = 60;
function setYzmLabel() {
if (wait == 0)
{
Z('#getsms-submit')[0].innerHTML = "重新发送";
wait = 60;
}
else
{
Z('#getsms-submit')[0].innerHTML = "已发送(" + wait + ")";
wait--;
setTimeout(function () {
setYzmLabel()
}, 1000);
}
};
</script>
<body>
<div class="box" style="margin-left:20px;">
<!-- 登录 -->
<div class="login">
<div class="login_top">
<img src="/zinc/images/login_new.png">
<h2>欢迎登录简奈自助设计平台</h2>
</div>
<div class="login_bottom">
<!-- 密码输入框 -->
<input type="textt" id="mobile" class="input" placeholder="请输入手机号" />
<!--验证码-->
<input type="text" id="yzm" class="inputYzm" placeholder="请输入验证码" />
<button class="sendYzm" id="getsms-submit" onclick="doSendSmsCode()">获取验证码</button>
<!-- 登录按钮 -->
<button OnClick="iphoneLogin();">登录</button>
</div>
</div>
</div>
</body>
</html>
@@ -0,0 +1,72 @@
<!DOCTYPE html>
<html>
<head>
<title>${context.getContextName()}</title>
<meta charset="UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
${Styles.src(zhiqim.css)}
${Scripts.src(zhiqim.js)}
${Scripts.src(jsencrypt.js)}
${Styles.htmlOverflowHidden()}
<style>
body{color:#333;background:#4865e7 url(ztmpl/zhiqim_manager/index_bg_00.jpg) no-repeat top center; background-size:contain 100%;}
body,table,td,div{font-size:14px;line-height:120%;}
</style>
<script>
</script>
</head>
<body>
<#-- Z.onload(function()
{//默认焦点
if (Z.V.isEmpty(Z("#operatorCode").val()))
Z("#operatorCode").focus();
else if (Z.V.isEmpty(Z("#operatorPass").val()))
Z("#operatorPass").focus();
else if (Z("#verificationCode").length > 0)
Z("#verificationCode").focus();
Z(document).keydown(function(e)
{
if (Z.E.key(e) != Z.E.KEY.ENTER)
return;
if (!Z.Dialog.cache.isEmpty())
return;
doLogin();
});
}); -->
<#-- 主题变量和函数定义 -->
<div class="header">
<div class="z-float-left z-w400 z-lh40 z-pd-l10 z-color-white">欢迎登录简奈自助设计!</div>
<div class="z-float-right z-text-right z-w200 z-lh40 z-pd-r10"></div>
</div>
<div style="height:410px">
<table class="z-table">
<tr>
<td width="50%" valign="top" rowspan="2" class="z-relative">
<input type="text" class="z-hidden-fixed"/>
<input type="password" class="z-hidden-fixed"/>
<table class="z-table z-mg-l30 z-h70-tr z-pd5 z-color-white">
<tr>
<td class="z-px20 z-mg-t10">用户登录</td>
</tr>
<tr>
<td><input id="operatorCode" class="input" placeholder="用户名" value="" maxlength="16" spellcheck="false" autocomplete="off"></td>
</tr>
<tr>
<td><input id="mobile" class="input" placeholder="手机号" value="" maxlength="16" spellcheck="false" autocomplete="off"></td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</body>
</html>
@@ -0,0 +1,34 @@
<script>
function doUpdateTemplateId()
{
var templateId = Z("#templateId").val();
var designId = Z("#designId").val();
if (Z.V.isEmptyBlank(templateId))
{
Z.alert("模板文件id不能为空");
return;
}
var ajax = new Z.Ajax();
ajax.setContextPath("${context.getContextPath()}");
ajax.setClassName("DesignOrderPresenter");
ajax.setMethodName("doUpdateTemplateId");
ajax.addParam("templateId",templateId);
ajax.addParam("designId",designId);
ajax.setFailureAlert();
ajax.setSuccessAlertReloadParent("修改成功");
ajax.execute();
}
</script>
<div class="z-h60 z-pd20">
原模板文件id<span class="z-color-666"><#if templateId.isEmpty()><#else>${templateId}</#if></span>
</div>
<div class="z-h60 z-pd20">
<input name="designId" id="designId" value="${designId}" type="hidden">
新模板文件id<input id="templateId" class="z-input z-w300 ${zmr_color_class}" maxlength="10" spellcheck="false">
<span class="z-px12 z-text-red">*</span>
</div>
<div class="z-absolute z-b0 z-l0 z-w100p z-h80 z-pd20 z-text-center z-bg-gray">
<button type="button" class="z-button z-large z-w100 ${zmr_color_class}" onclick="doUpdateTemplateId();">提交</button>
<button type="button" class="z-button z-large z-w100 z-mg-l10" onclick="parent.Z.Dialog.close();">关闭</button>
</div>
@@ -0,0 +1,41 @@
<script>
Z.onload(function()
{//初始化
Z("#nav_" + "${industryId}").addClass("z-active");
doKeywordIndustryTop('${industryId}', '${industrySubId}');
})
function doKeywordIndustryTop(industryId, industrySubId)
{
var ajax = new Z.Ajax();
ajax.setClassName("KeywordPresenter");
ajax.setMethodName("doKeywordIndustryTop");
ajax.addParam("industryId", industryId);
ajax.addParam("industrySubId", industrySubId);
ajax.setFailureAlert();
ajax.setSuccess(function(){
var text = this.responseText;
Z("#resultWrap").htmlc(text);
});
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('keywordTop.htm');">关键词排行榜</li>
<#for item : Global.get(DesignIndustryCache.class).getIndustryList()>
<li id="nav_${item.getIndustryId()}" onclick="Z.Location.href('keywordIndustryTop.htm?industryId=${item.getIndustryId()}&industrySubId=${LabelDao.getIndustrySubId(item.getIndustryId())}');">${item.getIndustryName()}</li>
</#for>
</ul>
</nav>
</div>
<div id="resultWrap"></div>
${zhiqim_manager_content_end()}
@@ -0,0 +1,130 @@
${zhiqim_manager_breadcrumb("关键词排行榜")}
${zhiqim_manager_content()}
<#-- 导航栏 -->
<div class="z-tabnav-main z-blue z-mg-b20">
<nav>
<ul>
<li class="z-active">关键词排行榜</li>
<#for item : Global.get(DesignIndustryCache.class).getIndustryList()>
<li onclick="Z.Location.href('keywordIndustryTop.htm?industryId=${item.getIndustryId()}');">${item.getIndustryName()}</li>
</#for>
</ul>
</nav>
</div>
<style>
.z-w35p{width:35%;}
/***************************
******** 图形列表 ********
***************************/
.scoreChar>.scoreChar-title{font-weight:normal;}
.scoreChar>.scoreChar-list{height:330px;}
.scoreChar>.scoreChar-list>.list-char{position:absolute;width:600px;height:100%;padding:30px;z-index:1;}
.scoreChar>.scoreChar-list>.list-char>.char-item{position:absolute;bottom:30px;width:160px;}
.scoreChar>.scoreChar-list>.list-char>.char-item>.item-status,.scoreChar>.scoreChar-list>.list-char>.char-item>.item-name,
.scoreChar>.scoreChar-list>.list-char>.char-item>.item-score{font-size:16px;}
.scoreChar>.scoreChar-list>.list-char>.char-item>div{position:absolute;width:100%;text-align:center;}
.scoreChar>.scoreChar-list>.list-char>.char-item>.item-status{top:-70px;}
.scoreChar>.scoreChar-list>.list-char>.char-item>.item-arrow{width:0;height:0;line-height:0;font-size:0;border-style:dashed;
border-color:transparent;border-width:40px 80px;border-bottom-style:solid;position:absolute;top:-80px;}
.scoreChar>.scoreChar-list>.list-char>.char-item>.item-name{bottom:60px;}
.scoreChar>.scoreChar-list>.list-char>.char-item>.item-score{bottom:20px;}
.scoreChar>.scoreChar-list>.list-char>.char-item>.item-name a,.scoreChar>.scoreChar-list>.list-char>.char-item>.item-score{color:#ffffff;}
/*排列*/
.scoreChar>.scoreChar-list>.list-char>.char-item:nth-child(1){left:30px;}
.scoreChar>.scoreChar-list>.list-char>.char-item:nth-child(2){left:220px;}
.scoreChar>.scoreChar-list>.list-char>.char-item:nth-child(3){left:410px;}
.scoreChar>.scoreChar-list>.list-char>.char-item.first{height:200px;background:#fe7811;}
.scoreChar>.scoreChar-list>.list-char>.char-item.first>.item-arrow{border-bottom-color:#fe7811}
.scoreChar>.scoreChar-list>.list-char>.char-item.first>.item-status{color:#fe7811;}
.scoreChar>.scoreChar-list>.list-char>.char-item.second{height:160px;background:#2cb8c6;}
.scoreChar>.scoreChar-list>.list-char>.char-item.second>.item-arrow{border-bottom-color:#2cb8c6}
.scoreChar>.scoreChar-list>.list-char>.char-item.second>.item-status{color:#2cb8c6;}
.scoreChar>.scoreChar-list>.list-char>.char-item.third{height:120px;background:#478cea;}
.scoreChar>.scoreChar-list>.list-char>.char-item.third>.item-arrow{border-bottom-color:#478cea}
.scoreChar>.scoreChar-list>.list-char>.char-item.third>.item-status{color:#478cea;}
/*char2*/
.scoreChar>.scoreChar-list>.list-char2>.char-item>.item-arrow,
.scoreChar>.scoreChar-list>.list-char2>.char-item>.item-score,
.scoreChar>.scoreChar-list>.list-list>.list-ul>.ul-li:first-child .z-text-cyan,
.scoreChar>.scoreChar-list>.list-list>.list-ul>.ul-li:first-child .z-text-red{display:none;}
.scoreChar>.scoreChar-list>.list-char2>.char-item>.item-status{top:-30px;}
.scoreChar>.scoreChar-list>.list-char2>.char-item::after{content:"";position:absolute;width:30px;height:30px;text-align:center;border-radius:50%;
line-height:30px;bottom:20px;left:50%;margin-left:-15px;background:#ffffff;}
.scoreChar>.scoreChar-list>.list-char2>.char-item.first::after{content:"1";color:#fe7811;}
.scoreChar>.scoreChar-list>.list-char2>.char-item.second::after{content:"2";color:#2cb8c6;}
.scoreChar>.scoreChar-list>.list-char2>.char-item.third::after{content:"3";color:#478cea;}
/*右侧列表*/
.scoreChar>.scoreChar-list>.list-list{padding:30px 30px 30px 600px;}
.scoreChar>.scoreChar-list>.list-list>.list-ul>.ul-li,
.scoreList>.scoreList-list>.list-ul>.ul-li{width:100%;float:left;height:30px;}
.scoreChar>.scoreChar-list>.list-list>.list-ul>.ul-li:nth-child(even),
.scoreList>.scoreList-list>.list-ul>.ul-li:nth-child(even){background:#f4f4f4;}
.scoreChar>.scoreChar-list>.list-list>.list-ul>.ul-li:first-child,
.scoreList>.scoreList-list>.list-ul>.ul-li:first-child{background:#999999;color:#ffffff;}
.scoreChar>.scoreChar-list>.list-list>.list-ul>.ul-li>div,
.scoreList>.scoreList-list>.list-ul>.ul-li>div{float:left;height:100%;line-height:30px;}
.scoreChar>.scoreChar-list>.list-list>.list-ul>.ul-li>div:first-child,
.scoreList>.scoreList-list>.list-ul>.ul-li>div:first-child{text-align:center;}
.scoreChar>.scoreChar-list>.list-list>.list-ul>.ul-li:last-child{text-align:right;}
/***************************
********* 分类列表 ********
***************************/
.scoreList>.scoreList-list{}
.scoreList>.scoreList-list>.list-nav{margin-bottom:20px;border-bottom:2px solid #f1f1f1;}
.scoreList>.scoreList-list>.list-nav>span{display:inline-block;padding:15px 25px;margin-bottom:-2px;border:0 solid transparent;cursor:pointer;}
.scoreList>.scoreList-list>.list-nav>span:hover,.scoreList>.scoreList-list>.list-nav>span.active{color:#009899;border-bottom:2px solid #009899;}
.scoreList>.scoreList-list>.list-ul>.ul-li{height:40px;}
.scoreList>.scoreList-list>.list-ul>.ul-li>div{line-height:40px;}
</style>
<script>
function switchList(elem)
{
Z(elem).addClass("z-active").siblings("li").removeClass("z-active");
var ind = [].indexOf.call(elem.parentNode.children,elem) + 1;
Z("#list" + ind).show().siblings("div").hide();
}
</script>
<div id="scoreList">
<div id="list1">
<div class="scoreChar">
<h3 class="scoreChar-title">今日搜索榜</h3>
<div class="scoreChar-list z-relative z-bd">
<div class="list-char z-clearfix">
<#for item : threeList>
<div class="char-item <#if item_index == 0>first</#if><#if item_index == 1>second</#if><#if item_index == 2>third</#if>">
<div class="item-status"><!--上升154位--></div>
<div class="item-arrow"></div>
<div class="item-name">${item.getKeywordName()}</div>
<div class="item-score">${item.getKeywordNum()}</div>
</div>
</#for>
</div>
<div class="list-list z-absolute z-l0 z-t0 z-w100p z-h100p">
<ul class="list-ul">
<li class="ul-li">
<div class="z-w15p"></div><div class="z-w35p">关键词</div>
<div class="z-w25p">指数</div> <div class="z-w25p">升降 &nbsp &nbsp<span class="z-text-red">↑</span></div>
</li>
<#for item : restList>
<li class="ul-li">
<div class="z-w15p"></div><div class="z-w35p">${item.getKeywordName()}</div>
<div class="z-w25p">${item.getKeywordNum()}</div><div class="z-w25p"></div>
</li>
</#for>
<li class="ul-li">
<div class="z-w15p"></div><div class="z-w35p"></div><div class="z-w25p"></div><div class="z-w25p"></div>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
${zhiqim_manager_content_end()}
@@ -0,0 +1,36 @@
<#include "/ztmpl/zhiqim_manager/"+themeMain+"/define.htm"/>
<table class="z-table z-bordered z-bg-white z-pd6"">
<tr class="z-h30" bgcolor="${zmr_thead_bgolor}">
<td width="6%" align="center">子行业:</td>
<td width="*">
<#for item : inSubList>
<button name="subName" id="sub_${item.getIndustrySubId()}" type="button" class="z-button z-large z-bordered z-mg-r6 z-mg-t6 z-blue-bd z-hover <#if item.getIndustrySubId() == industrySubId>z-active</#if>" onclick="Z.Location.href('keywordIndustryTop.htm?industryId=${item.getIndustryId()}&industrySubId=${item.getIndustrySubId()}');">${item.getIndustrySubName()}</button>
</#for>
</td>
</tr>
</table>
<div data-role="z-tabnav" class="z-tabnav">
<nav>
<ul>
<li class="z-active">搜索热门排行</li>
</ul>
</nav>
<section>
<div class="z-active z-pd10">
<table class="z-table z-bordered z-bg-white z-pd6">
<tr align="center" class="z-h40" bgcolor="${zmr_thead_bgcolor}">
<td width="5%">排名</td>
<td width="15%">关键词</td>
<td width="*">搜索次数</td>
</tr>
<#for item : coreList>
<tr align="center" class="z-h40" ${zhiqim_manager_tr_onmouse()}>
<td>${item_index + 1}</td>
<td>${item.getKeywordName()}</td>
<td>${item.getKeywordNum()}</td>
</tr>
</#for>
</table>
</div>
</section>
</div>
@@ -0,0 +1,64 @@
${zhiqim_manager_breadcrumb("标签属性")}
${zhiqim_manager_content()}
<#-- 导航栏 -->
<div class="z-tabnav-main z-blue z-mg-b20">
<nav>
<ul>
<li onclick="Z.Location.href('labelIndustry.htm');">标签行业</li>
<li onclick="Z.Location.href('labelAttributeCat.htm');">标签属性</li>
<li class="z-active">标签属性值</li>
<!--
<li onclick="Z.Location.href('labelBrand.htm');">标签品牌</li>
-->
</ul>
<div class="z-float-left z-mg10 z-lh30">
<form name="theForm">
<select name="industryId" id="industryId" class="z-select z-w100 z-float-left" data-role="z-select" data-class="${zmr_color_class}" onchange="Z.L.href('/labelAttribute.htm?industryId=' + this.value)">
<option value="">全部</option>
<#for item : industryList>
<option value="${item.getIndustryId()}" <#if item.getIndustryId() == industryId>selected </#if>>${item.getIndustryName()}</option>
</#for>
</select>
<button class="z-float-left z-button z-w80 zi-bd-rd0 z-blue"><i class="z-font z-query"></i>查询</button>&nbsp;&nbsp;
</form>
</div>
<div class="z-text-right z-mg-t10 z-mg-r5">
<button class="z-button ${zmr_color_class}" onclick="Z.Location.href('labelAttributeAdd.htm');"><i class="z-font z-add"></i>添加标签属性值</button>
<button class="z-button ${zmr_color_class}" onclick="Z.Location.check('labelAttributeModify.htm', 'attributeId');"><i class="z-font z-modify"></i>修改标签属性值</button>
<button class="z-button z-red" onclick="Z.Location.confirm('labelAttributeDelete.htm', '确认要删除该标签吗?', 'attributeId');"><i class="z-font z-delete"></i>删除标签属性值</button>
</div>
</nav>
</div>
<table class="z-table z-bordered z-bg-white z-pd6">
<tr>
<td class="z-h40 z-text-left z-bold z-px14 z-bg-white" colspan="4">&nbsp;标签属性值列表</td>
</tr>
<tr class="z-text-center z-h40" bgcolor="${zmr_thead_bgcolor}">
<td width="5%">选择</td>
<td width="20%">行业名称</td>
<td width="20%">属性名称</td>
<td width="20%">属性值名称</td>
<td width="15%">创建时间</td>
</tr>
<#if pageResult.total() == 0>
${zhiqim_manager_no_record(4 "暂时没有标签属性信息")}
</#if>
<#for item : pageResult.list()>
<tr align="center" class="z-h40" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
<td><input name="attributeId" id="attributeId" data-role="z-radio" data-class="${zmr_color_class}" type="radio" value="${item.getAttributeId()}"></td>
<td>
<#for industry : industryList>
<#if item.getIndustryId() == industry.getIndustryId()>${industry.getIndustryName()} </#if>
</#for>
</td>
<td>${LabelPresenter.doAttributeCatName(item.getAttributeCatId())}</td>
<td>${item.getAttributeName()}</td>
<td>${Sqls.toDateTimeString(item.getCreateTime())}</td>
</tr>
</#for>
</table>
${zhiqim_manager_paging(pageResult, "/labelAttribute.htm")}
${zhiqim_manager_content_end()}
@@ -0,0 +1,68 @@
<script>
Z.onload(function()
{
doIndustryCatQuery();
});
function doIndustryCatQuery()
{//获取标签属性分类
var industryId = Z("#industryId").val();
if(industryId == null || industryId == undefined)
return;
var ajax = new Z.Ajax();
ajax.setClassName("LabelPresenter");
ajax.setMethodName("doIndustryCatQuery");
ajax.addParam(industryId);
ajax.setFailureAlert();
ajax.setSuccess(function()
{
var labels = Z.Jsons.toObject(this.responseText);
var html = "";
var data_color = "${zmr_color_class}";
html += "<select name='attributeCatId' id='attributeCatId' class='z-select z-w200' data-role='z-select' data-class='"+data_color+"'>";
for(var i=0; i<labels.length; i++)
{
var label = labels[i];
html += "<option value=" + label.attributeCatId +">"+ label.attributeCatName +"</option>";
}
html += "</select>";
Z("#attributeCat").html(html);
});
ajax.execute();
}
</script>
${zhiqim_manager_history("/labelAttribute.htm")}
${request.getValidateScript()}
${zhiqim_manager_breadcrumb_parent("/labelAttribute.htm", "标签属性值", "增加标签属性值")}
<div class="content">
${zhiqim_manager_title("新增标签属性值")}
<form name="theForm" action="labelAttributeInsert.htm" method="post" onsubmit="return validateForm(this);" data-role="z-call-frame">
<table class="z-table z-bordered z-pd6 z-bg-white">
<tr>
<td width="40%">标签行业:(请选择)</td>
<td width="*">
<select name="industryId" id="industryId" class="z-select z-w200" data-role="z-select" data-class="${zmr_color_class}" onchange="doIndustryCatQuery()">
<#for item : indList>
<option value="${item.getIndustryId()}">${item.getIndustryName()}</option>
</#for>
</select> <font color=red>&nbsp;*</font>
</td>
</tr>
<tr>
<td> 属性:(请选择)</td>
<td>
<span id="attributeCat"></span><font color=red>&nbsp;*</font>
</td>
</tr>
<tr>
<td>属性值:(逗号隔开)</td>
<td><textarea name="attributeName" class="z-textarea z-w60p ${zmr_color_class}" cols=60 rows=4 size="30" maxlength="5000"></textarea><font color=red>&nbsp;*</font></td>
</tr>
</table>
${zhiqim_manager_submit()}
</form>
</div>
@@ -0,0 +1,61 @@
${zhiqim_manager_breadcrumb("标签属性分类")}
${zhiqim_manager_content()}
<#-- 属性分类栏 -->
<div class="z-tabnav-main z-blue z-mg-b20">
<nav>
<ul>
<li onclick="Z.Location.href('labelIndustry.htm');">标签行业</li>
<li class="z-active">标签属性</li>
<li onclick="Z.Location.href('labelAttribute.htm');">标签属性值</li>
<!--
<li onclick="Z.Location.href('labelBrand.htm');">标签品牌</li>
-->
</ul>
<div class="z-float-left z-mg10 z-lh30">
<form name="theForm">
<select name="industryId" id="industryId" class="z-select z-w100 z-float-left" data-role="z-select" data-class="${zmr_color_class}" onchange="Z.L.href('/labelAttributeCat.htm?industryId=' + this.value)">
<option value="">全部</option>
<#for item : industryList>
<option value="${item.getIndustryId()}" <#if item.getIndustryId() == industryId>selected </#if>>${item.getIndustryName()}</option>
</#for>
</select>
<button class="z-float-left z-button z-w80 zi-bd-rd0 z-blue"><i class="z-font z-query"></i>查询</button>&nbsp;&nbsp;
</form>
</div>
<div class="z-text-right z-mg-t10 z-mg-r5">
<button class="z-button ${zmr_color_class}" onclick="Z.Location.href('/labelAttributeCatAdd.htm');"><i class="z-font z-add"></i>增加标签属性</button>
<button class="z-button ${zmr_color_class}" onclick="Z.Location.check('/labelAttributeCatModify.htm', 'attributeCatId');"><i class="z-font z-modify"></i>修改标签属性</button>
<button class="z-button z-red" onclick="Z.Location.confirm('/labelAttributeCatDelete.htm', '确认要删除标签属性分类?', 'attributeCatId');"><i class="z-font z-delete"></i>删除标签属性</button>
</div>
</nav>
</div>
<table class="z-table z-bordered z-bg-white z-pd6">
<tr>
<td class="z-h40 z-text-left z-bold z-px14 z-bg-white" colspan="4">&nbsp;标签属性列表</td>
</tr>
<tr class="z-text-center z-h40" bgcolor="${zmr_thead_bgcolor}">
<td width="5%">选择</td>
<td width="20%">行业名称</td>
<td width="20%">属性名称</td>
<td width="5%">创建时间 </td>
</tr>
<#if pageResult.total() == 0>
${zhiqim_manager_no_record(4 "暂时没有标签属性信息")}
</#if>
<#for item : pageResult.list()>
<tr align="center" class="z-h40" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
<td><input name="attributeCatId" id="attributeCatId" data-role="z-radio" data-class="${zmr_color_class}" type="radio" value="${item.getAttributeCatId()}"></td>
<td>
<#for industry : industryList>
<#if item.getIndustryId() == industry.getIndustryId()>${industry.getIndustryName()} </#if>
</#for>
</td>
<td>${item.getAttributeCatName()}</td>
<td>${Sqls.toDateTimeString(item.getCreateTime())}</td>
</tr>
</#for>
</table>
${zhiqim_manager_paging(pageResult, "/labelAttributeCat.htm")}
${zhiqim_manager_content_end()}
@@ -0,0 +1,25 @@
${zhiqim_manager_history("/labelAttributeCat.htm")}
${request.getValidateScript()}
${zhiqim_manager_breadcrumb_parent("/labelAttributeCat.htm", "标签属性", "增加标签属性")}
<div class="content">
${zhiqim_manager_title("新增标签属性")}
<form name="theForm" action="labelAttributeCatInsert.htm" method="post" onSubmit="return validateForm(this);" data-role="z-call-frame">
<table class="z-table z-bordered z-pd6 z-bg-white">
<tr>
<td width="40%">标签行业:(请选择)</td>
<td width="*">
<select name="industryId" class="z-select z-w200" data-role="z-select" data-class="${zmr_color_class}">
<#for item : indList>
<option value="${item.getIndustryId()}">${item.getIndustryName()}</option>
</#for>
</select> <font color=red>&nbsp;*</font>
</td>
</tr>
<tr>
<td>标签属性名称:(64位不定长字符)</td>
<td><input name="attributeCatName" class="z-input ${zmr_color_class} z-w200 z-cyan" type="text" value="" maxlength="64"><font color=red>&nbsp;*</font></td>
</tr>
</table>
${zhiqim_manager_submit()}
</form>
</div>
@@ -0,0 +1,26 @@
${zhiqim_manager_history("/labelAttributeCat.htm")}
${request.getValidateScript()}
${zhiqim_manager_breadcrumb_parent("/labelAttributeCat.htm", "标签属性", "修改标签属性")}
<div class="content">
${zhiqim_manager_title("修改标签属性")}
<form name="theForm" action="labelAttributeCatUpdate.htm" method="post" onSubmit="return validateForm(this);" data-role="z-call-frame">
<input name="attributeCatId" type="hidden" value="${cat.getAttributeCatId()}"/>
<table class="z-table z-bordered z-pd6 z-bg-white">
<tr>
<td width="40%">标签行业:(请选择)</td>
<td width="*">
<select name="industryId" class="z-select z-w200" data-role="z-select" data-class="${zmr_color_class}">
<#for item : indList>
<option value="${item.getIndustryId()}" <#if item.getIndustryId() == attr.getIndustryId()>selected </#if>>${item.getIndustryName()}</option>
</#for>
</select> <font color=red>&nbsp;*</font>
</td>
</tr>
<tr>
<td>标签属性名称:(64位不定长字符)</td>
<td><input name="attributeCatName" class="z-input ${zmr_color_class} z-w200 z-cyan" type="text" value="${cat.getAttributeCatName()}" maxlength="64"><font color=red>&nbsp;*</font></td>
</tr>
</table>
${zhiqim_manager_submit()}
</form>
</div>
@@ -0,0 +1,69 @@
<script>
Z.onload(function()
{
doIndustryCatQuery();
});
function doIndustryCatQuery()
{//获取标签属性分类
var industryId = Z("#industryId").val();
if (industryId == null || industryId == undefined)
return;
var ajax = new Z.Ajax();
ajax.setClassName("LabelPresenter");
ajax.setMethodName("doIndustryCatQuery");
ajax.addParam(industryId);
ajax.setFailureAlert();
ajax.setSuccess(function()
{
var labels = Z.Jsons.toObject(this.responseText);
var html = "";
var data_color = "${zmr_color_class}";
html += "<select name='attributeCatId' id='attributeCatId' class='z-select z-w200' data-role='z-select' data-class='"+data_color+"'>";
for(var i=0; i<labels.length; i++)
{
var label = labels[i];
html += "<option value=" + label.attributeCatId +">"+ label.attributeCatName +"</option>";
}
html += "</select>";
Z("#attributeCat").html(html);
});
ajax.execute();
}
</script>
${zhiqim_manager_history("/labelAttribute.htm")}
${request.getValidateScript()}
${zhiqim_manager_breadcrumb_parent("/labelAttribute.htm", "标签属性值", "修改标签属性值")}
<div class="content">
${zhiqim_manager_title("修改标签属性值")}
<form name="theForm" action="labelAttributeUpdate.htm" method="post" onsubmit="return validateForm(this);" data-role="z-call-frame">
<input name="attributeId" type="hidden" value="${attr.getAttributeId()}">
<table class="z-table z-bordered z-pd6 z-bg-white">
<tr>
<td width="40%">标签分类:(请选择)</td>
<td width="*">
<select name="industryId" id="industryId" class="z-select z-w200" data-role="z-select" data-class="${zmr_color_class}" onchange="doIndustryCatQuery()">
<#for item : indList>
<option value="${item.getIndustryId()}" <#if item.getIndustryId() == attr.getIndustryId()>selected </#if>>${item.getIndustryName()}</option>
</#for>
</select> <font color=red>&nbsp;*</font>
</td>
</tr>
<tr>
<td> 属性:(请选择)</td>
<td>
<span id="attributeCat"></span><font color=red>&nbsp;*</font>
</td>
</tr>
<tr>
<td>属性值名称:(64位不定长字符)</td>
<td><input name="attributeName" class="z-input ${zmr_color_class} z-w200 z-cyan" type="text" maxlength="64" value="${attr.getAttributeName()}"/><font color=red>&nbsp;*</font></td>
</tr>
</table>
${zhiqim_manager_submit()}
</form>
</div>
@@ -0,0 +1,47 @@
${zhiqim_manager_breadcrumb("标签品牌")}
${zhiqim_manager_content()}
<#-- 导航栏 -->
<div class="z-tabnav-main z-blue z-mg-b20">
<nav>
<ul>
<li onclick="Z.Location.href('labelIndustry.htm');">标签行业</li>
<li onclick="Z.Location.href('labelAttributeCat.htm');">标签属性</li>
<li onclick="Z.Location.href('labelAttribute.htm');">标签属性值</li>
<li class="z-active">标签品牌</li>
</ul>
<div class="z-text-right z-mg-t10 z-mg-r5">
<button class="z-button ${zmr_color_class}" onclick="Z.Location.href('labelBrandAdd.htm');"><i class="z-font z-add"></i>添加标签品牌</button>
<button class="z-button ${zmr_color_class}" onclick="Z.Location.check('labelBrandModify.htm', 'brandId');"><i class="z-font z-modify"></i>修改标签品牌</button>
<button class="z-button z-red" onclick="Z.Location.confirm('labelBrandDelete.htm', '确认要删除该标签吗?', 'brandId');"><i class="z-font z-delete"></i>删除标签品牌</button>
</div>
</nav>
</div>
<table class="z-table z-bordered z-bg-white z-pd6">
<tr>
<td class="z-h40 z-text-left z-bold z-px14 z-bg-white" colspan="6">&nbsp;标签品牌列表</td>
</tr>
<tr class="z-text-center z-h40" bgcolor="${zmr_thead_bgcolor}">
<td width=8%>选择</td>
<td width=10%>排序</td>
<td width=15%>品牌ID</td>
<td width=25%>品牌名称</td>
<td width=15%>产品类型</td>
<td width=8%>状态</td>
</tr>
<#if pageResult.total() == 0>
${zhiqim_manager_no_record(6 "暂时没有标签品牌信息")}
</#if>
<#for item : pageResult.list()>
<tr align="center" class="z-h40" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
<td><input name="brandId" type="radio" data-role="z-radio" data-class="${zmr_color_class}" value="${item.getBrandId()}"></td>
<td>${item.getBrandSeq()}</td>
<td>${item.getBrandId()}</td>
<td>${item.getBrandName()}</td>
<td>${Global.get(ProductTypeCache.class).getName(item.getTypeId())}</td>
<td><#if item.getBrandStatus() == 0>有效<#else><font class="z-color-red">已停用</font></#if></td>
</tr>
</#for>
</table>
${zhiqim_manager_paging(pageResult, "/labelBrand.htm")}
${zhiqim_manager_content_end()}
@@ -0,0 +1,38 @@
${zhiqim_manager_history("/labelBrand.htm")}
${request.getValidateScript()}
${zhiqim_manager_breadcrumb_parent("/labelBrand.htm", "标签品牌", "增加标签品牌")}
<div class="content">
${zhiqim_manager_title("新增标签品牌")}
<form name="theForm" action="labelBrandInsert.htm" method="post" onsubmit="return validateForm(this);" data-role="z-call-frame">
<table class="z-table z-bordered z-pd6 z-bg-white">
<tr class="z-h40">
<td width="40%">标签分类:(请选择)</td>
<td width="*">
<select name="typeId" class="z-select z-w200" data-role="z-select" data-class="${zmr_color_class}">
<#for item : DesignTypeDao.list()>
<option value="${item.getTypeId()}" title="${item.getTypeName()}">${item.getTypeName()}</option>
</#for>
</select> <font color=red>&nbsp;*</font>
</td>
</tr>
<tr bgcolor="${evenColor}" class="z-h40">
<td>标签品牌名称:(64位不定长字符)</td>
<td><input name="brandName" class="z-input ${zmr_color_class} z-w200 z-cyan" type="text" value="" maxlength="64"><font color=red>&nbsp;*</font></td>
</tr>
<tr class="z-h40">
<td>序号:</td>
<td><input name="brandSeq" class="z-input z-w200 ${zmr_color_class}" type="text" value="" maxlength="6" data-options="type:Decimal;paste:true;"></td>
</tr>
<tr bgcolor="${evenColor}" class="z-h40">
<td>行业状态:(有效|停用)</td>
<td>
<select name="brandStatus" class="z-select z-w200" data-role="z-select" data-class="${zmr_color_class}">
<option value="0">有效</option>
<option value="1">停用</option>
</select>
<font class="z-color-red">&nbsp;*</font></td>
</tr>
</table>
${zhiqim_manager_submit()}
</form>
</div>
@@ -0,0 +1,39 @@
${zhiqim_manager_history("/labelBrand.htm")}
${request.getValidateScript()}
${zhiqim_manager_breadcrumb_parent("/labelBrand.htm", "标签品牌", "修改标签品牌")}
<div class="content">
${zhiqim_manager_title("修改标签品牌")}
<form name="theForm" action="labelBrandUpdate.htm" method="post" onsubmit="return validateForm(this);" data-role="z-call-frame">
<input name="brandId" type="hidden" value="${brand.getBrandId()}">
<table class="z-table z-bordered z-pd6 z-bg-white">
<tr class="z-h40">
<td width="40%">标签分类:(请选择)</td>
<td width="*">
<select name="typeId" class="z-select z-w200" data-role="z-select" data-class="${zmr_color_class}">
<#for item : DesignTypeDao.list()>
<option value="${item.getTypeId()}" <#if brand.getDesignType() == item.getTypeId()>selected</#if> title="${item.getTypeName()}">${item.getTypeName()}</option>
</#for>
</select> <font color=red>&nbsp;*</font>
</td>
</tr>
<tr bgcolor="${oddColor}" class="z-h40">
<td>标签品牌名称:(64位不定长字符)</td>
<td><input name="brandName" class="z-input ${zmr_color_class} z-w200 z-cyan" type="text" value="${brand.getBrandName()}" maxlength="64"><font color=red>&nbsp;*</font></td>
</tr>
<tr class="z-h40">
<td>序号:</td>
<td><input name="brandSeq" class="z-input z-w200 ${zmr_color_class}" type="text" value="${brand.getBrandSeq()}" maxlength="6" data-options="type:Decimal;paste:true;"></td>
</tr>
<tr bgcolor="${oddColor}" class="z-h40">
<td>品牌状态:(有效|停用)</td>
<td>
<select name="brandStatus" class="z-select z-w200" data-role="z-select" data-class="${zmr_color_class}">
<option value="1" <#if brand.getBrandStatus()= 1>selected</#if>>停用</option>
<option value="0" <#if brand.getBrandStatus()= 0>selected</#if>>有效</option>
</select><font class="z-color-red">&nbsp;*</font>
</td>
</tr>
</table>
${zhiqim_manager_submit()}
</form>
</div>
@@ -0,0 +1,56 @@
<script>
Z.onload(function()
{
var industryId = '${industryId}';
if (industryId != -1)
doIndustrySubQuery(industryId);
});
function doIndustrySubQuery(industryId)
{
var ajax = new Z.Ajax();
ajax.setClassName("LabelPresenter");
ajax.setMethodName("doIndustrySubQuery");
ajax.addParam(industryId);
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('labelAttributeCat.htm');">标签属性</li>
<li onclick="Z.Location.href('labelAttribute.htm');">标签属性值</li>
</ul>
<div class="z-text-right z-mg-t10 z-mg-r5">
<button class="z-button ${zmr_color_class}" onclick="Z.Location.href('/labelIndustryAdd.htm');"><i class="z-font z-add"></i>增加标签行业</button>
<button class="z-button ${zmr_color_class}" onclick="Z.Location.check('labelIndustryModify.htm', 'industrySubId');"><i class="z-font z-modify"></i>修改标签行业</button>
<button class="z-button z-red" onclick="Z.Location.confirm('labelIndustryDelete.htm', '确认要删除该标签行业吗?', 'industrySubId');"><i class="z-font z-delete"></i>删除标签行业</button>
</div>
</nav>
</div>
<table class="z-table">
<tr>
<td width="300" valign="top">
<table class="z-table z-bordered z-pd6 z-bg-white z-text-center">
<tr class="z-h40" bgcolor="${zmr_thead_bgcolor}"><td>标签导航</td></tr>
<#for item : indList>
<tr align="center" class="z-h40" bgcolor="${zhiqim_manager_tr_bg(item_index)}">
<td><a href="javascript:doIndustrySubQuery('${item.getIndustryId()}');">${item.getIndustryName()}</a></td>
</tr>
</#for>
</table>
</td>
<td width="10"></td>
<td width="*" id="result" valign="top">
</td>
</tr>
</table>
${zhiqim_manager_content_end()}
@@ -0,0 +1,25 @@
${zhiqim_manager_history("/labelIndustry.htm")}
${request.getValidateScript()}
${zhiqim_manager_breadcrumb_parent("/labelIndustry.htm", "标签行业", "增加标签行业")}
<div class="content">
${zhiqim_manager_title("新增标签行业")}
<form name="theForm" action="labelIndustryInsert.htm" method="post" onSubmit="return validateForm(this);" data-role="z-call-frame">
<table class="z-table z-bordered z-pd6 z-bg-white">
<tr>
<td width="40%">标签行业:(请选择)</td>
<td width="*">
<select name="industryId" class="z-select z-w200" data-role="z-select" data-class="${zmr_color_class}">
<#for item : indList>
<option value="${item.getIndustryId()}">${item.getIndustryName()}</option>
</#for>
</select><font color=red>&nbsp;*</font>
</td>
</tr>
<tr>
<td>子行业名称:(逗号隔开)</td>
<td><textarea name="industrySubName" class="z-textarea z-w60p ${zmr_color_class}" cols=60 rows=4 size="30" maxlength="5000"></textarea><font color=red>&nbsp;*</font></td>
</tr>
</table>
${zhiqim_manager_submit()}
</form>
</div>
@@ -0,0 +1,26 @@
${zhiqim_manager_history("/labelIndustry.htm")}
${request.getValidateScript()}
${zhiqim_manager_breadcrumb_parent("/labelIndustry.htm", "标签行业", "修改标签行业")}
<div class="content">
${zhiqim_manager_title("修改标签行业")}
<form name="theForm" action="labelIndustryUpdate.htm" method="post" onSubmit="return validateForm(this);" data-role="z-call-frame">
<input name="industrySubId" type="hidden" value="${industry.getIndustrySubId()}"/>
<table class="z-table z-bordered z-pd6 z-bg-white">
<tr>
<td width="40%">标签行业:(请选择)</td>
<td width="*">
<select name="industryId" class="z-select z-w200" data-role="z-select" data-class="${zmr_color_class}">
<#for item : indList>
<option value="${item.getIndustryId()}" <#if industry.getIndustryId() == item.getIndustryId() >selected</#if>>${item.getIndustryName()}</option>
</#for>
</select><font color=red>&nbsp;*</font>
</td>
</tr>
<tr>
<td>子行业名称:(5000位不定长字符)</td>
<td><input name="industrySubName" class="z-input ${zmr_color_class} z-w200 z-cyan" type="text" maxlength="64" value="${industry.getIndustrySubName()}"/><font color=red>&nbsp;*</font></td>
</tr>
</table>
${zhiqim_manager_submit()}
</form>
</div>
@@ -0,0 +1,80 @@
<script>
<!--
var indIdarr = Z.AR.toArray("${indIdarr}", ",");
var attrIdarr = Z.AR.toArray("${attrIdarr}", ",");
function doLabelIdSet(type,attaid)
{
if (type == "industry")
{
if (Z.AR.contains(indIdarr, attaid))
Z.AR.remove(indIdarr, attaid);
else
indIdarr.push(attaid);
}
else if (type == "attribute")
{
if(Z.AR.contains(attrIdarr, attaid))
Z.AR.remove(attrIdarr, attaid)
else
attrIdarr.push(attaid);
}
}
function doLabelRelation()
{
var ajax = new Z.Ajax();
ajax.setClassName("WorksPresenter");
ajax.setMethodName("doLabelRelation");
ajax.addParam('${works.getWorksId()}');
ajax.addParam('${works.getDesignType()}');
ajax.addParam('${works.getIndustryId()}');
ajax.addParam(indIdarr);
ajax.addParam(attrIdarr);
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z.success("关联成功", function(){parent.location.reload();})
});
ajax.execute();
}
-->
</script>
<div class="z-w300p">
${zhiqim_manager_title("关联标签行业")}
<table class="z-table z-bordered z-pd6">
<tr class="z-h40" bgcolor="${zmr_thead_bgcolor}">
<td width="10%" >产品类型:</td>
<td width="*"> ${Global.get(ProductTypeCache.class).getName(works.getDesignType())}</td>
</tr>
<tr class="z-h40" bgcolor="#FFFFFF">
<td>标签行业:</td>
<td>${Global.get(DesignIndustryCache.class).getIndustryName(works.getIndustryId())}</td>
</tr>
<tr class="z-h40" bgcolor="${zmr_thead_bgcolor}">
<td>标签子行业:</td>
<td>
<#for item : inSubList>
<button name="subName" id="sub_${item.getIndustrySubId()}" type="button" class="z-button z-large z-bordered z-blue-bd z-hover <#if subsList.contains(item.getIndustrySubId()+"")>z-active</#if>" onclick="Z.EL.toggleClass(this, 'z-active');doLabelIdSet('industry', '${item.getIndustrySubId()}')">${item.getIndustrySubName()}</button>
</#for>
</td>
</tr>
</table><br>
${zhiqim_manager_title("关联标签属性")}
<table class="z-table z-bordered z-pd6">
<#for item : attrCatList>
<tr class="z-h40" bgcolor="${zmr_thead_bgcolor}">
<td width="10%">${item.getAttributeCatName()}</td>
<td width="*">
<#for aitem : map.get(item.getAttributeCatId())>
<button name="attrId" id="sub_${aitem.getAttributeId()}" type="button" class="z-button z-large z-bordered z-blue-bd z-hover <#if attrList.contains(aitem.getAttributeId()+"")>z-active</#if>" onclick="Z.EL.toggleClass(this, 'z-active');doLabelIdSet('attribute', '${aitem.getAttributeId()}')">${aitem.getAttributeName()}</button>
</#for>
</td>
</tr>
</#for>
</table>
<div class="z-absolute z-w100p z-h80 z-text-center z-bg-gray" style="bottom:0;left:0">
<button class="z-button ${zmr_color_class} z-w150 z-h50 z-mg-t15 z-mg-l5 z-mg-l20 fi-px22" type="button" onclick="doLabelRelation();">提交</button>
<button class="z-button z-w150 z-h50 z-mg-t15 z-mg-l5 z-mg-l20 fi-px22" type="button" onclick="parent.location.reload();">关闭</button>
</div>
</div>
@@ -0,0 +1,26 @@
<#include "/ztmpl/zhiqim_manager/"+themeMain+"/define.htm"/>
<table class="z-table z-bordered z-pd6 z-bg-white z-text-center">
<tr class="z-h40">
<td align="left" colspan="4" class="z-bold z-px14 fi-pd-l5"><input name="industryId" id="industryId" value="${industryId}" type="hidden"/>[<span class="z-text-blue">${Global.get(DesignIndustryCache.class).getIndustryName(industryId)}</span>] 的子行业信息</td>
</tr>
<tr class="z-text-center z-h40" bgcolor="${zmr_thead_bgcolor}">
<td width="5%">选择</td>
<td width="20%">子行业名称</td>
<td width="15%">创建时间</td>
</tr>
<#for item : result>
<tr align="center" class="z-h40" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
<td><input name="industrySubId" id="industrySubId" data-role="z-radio" data-class="${zmr_color_class}" type="radio" value="${item.getIndustrySubId()}"></td>
<td>${item.getIndustrySubName()}</td>
<td>${Sqls.toDateTimeString(item.getCreateTime())}</td>
</tr>
</#for>
<#if result.size() == 0>
${zhiqim_manager_no_record(4 "暂时没有相关信息")}
</#if>
</table>
<table class="z-table z-bordered fi-bd-t-none z-pd6 z-bg-white">
<tr class="z-h40">
<td align="right">共 <font color="red">${result.size()}</font> 条数据</td>
</tr>
</table>
@@ -0,0 +1,26 @@
<#include "/ztmpl/zhiqim_manager/"+themeMain+"/define.htm"/>
<table class="z-table z-bordered z-pd6 z-bg-white z-text-center">
<tr class="z-h40">
<td align="left" colspan="3" class="z-bold z-px14 fi-pd-l5">标签分类 [<span class="z-text-blue">${labelName}</span>] 的属性信息</td>
</tr>
<tr class="z-h40" bgcolor="${zmr_thead_bgcolor}">
<td width="8%">选择</td>
<td width="30%">属性名称</td>
<td width="15%">排序号</td>
</tr>
<#for item : result>
<tr class="z-h40" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
<td><input name="labelId" id="labelId" type="radio" data-role="z-radio" data-class="${zmr_color_class}" value="${item.getLabelId()}"></td>
<td>${item.getLabelName()}</td>
<td>${item.getLabelOrder()}</td>
</tr>
</#for>
<#if result.size() == 0>
${zhiqim_manager_no_record(3 "暂时没有相关信息")}
</#if>
</table>
<table class="z-table z-bordered fi-bd-t-none z-pd6 z-bg-white">
<tr class="z-h40">
<td align="right">共 <font color="red">${result.size()}</font> 条数据</td>
</tr>
</table>
@@ -0,0 +1,33 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0,user-scalable=no,maximum-scale=1.0,minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>秒绘名片详情页</title>
<link rel="stylesheet" href="/zinc/mobileWorks/css/mobileWorksPublic.css">
<link rel="stylesheet" href="/zinc/mobileWorks/css/mobileWorkDetail.css">
<link rel="stylesheet" href="/zinc/mobileWorks/css/mui.min.css">
<script src="/zinc/mobileWorks/zepto/zepto.min.js"></script>
<script src="/zinc/mobileWorks/js/mui.min.js"></script>
<script src="/zinc/mobileWorks/js/mobileWorkDetail.js"></script>
</head>
<body>
<div class="mui-slider">
<div class="mui-slider-group">
<!--第一个内容区容器-->
<#for path : Arrays.toStringArray(media.getMediaUrl())>
<div class="mui-slider-item">
<div class="img-box">
<img src="${path}" alt="">
</div>
</div>
</#for>
</div>
<div class="info" style="margin-top: -20px;"><span class="swiper-pagination-current">1</span>/<span class="swiper-pagination-sum">${MobileTemplatePresenter.getTemplateDetailCount(media.getMediaUrl())}</span></div>
</div>
<!-- 下方点击复制id -->
<a href="javasrcipt:;" class="btn-copy">复制模板ID<span class="val">${media.getMediaId()}</span></a>
<div class="my-btn-back-template-home">返回首页</div>
</body>
</html>
@@ -0,0 +1,671 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>扬彩设计模板库</title>
<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="stylesheet" href="/zinc/mobileWorks/css/mui.min.css">
<link href="/zinc/mobileWorks/css/mui.poppicker.css" rel="stylesheet" />
<link href="/zinc/mobileWorks/css/mui.picker.css" rel="stylesheet" />
<script src="/zinc/mobileWorks/js/mui.min.js"></script>
<script src="/zinc/mobileWorks/js/mui.poppicker.js"></script>
<script src="/zinc/mobileWorks/js/mui.picker.js"></script>
<script src="/zinc/mobileWorks/js/mui.pullToRefresh.js"></script>
<script src="/zinc/mobileWorks/js/mui.pullToRefresh.material.js"></script>
<script src="/zinc/mobileWorks/js/mui.view.js"></script>
<style>
* { touch-action: none; }
html,
body {
background-color: #efeff4;
}
.mui-bar~.mui-content .mui-fullscreen {
top: 44px;
height: auto;
}
.mui-pull-top-tips {
position: absolute;
top: -20px;
left: 50%;
margin-left: -25px;
width: 40px;
height: 40px;
border-radius: 100%;
z-index: 1;
}
.mui-bar~.mui-pull-top-tips {
top: 24px;
}
.mui-pull-top-wrapper {
width: 42px;
height: 42px;
display: block;
text-align: center;
background-color: #efeff4;
border: 1px solid #ddd;
border-radius: 25px;
background-clip: padding-box;
box-shadow: 0 4px 10px #bbb;
overflow: hidden;
}
.mui-pull-top-tips.mui-transitioning {
-webkit-transition-duration: 200ms;
transition-duration: 200ms;
}
.mui-pull-top-tips .mui-pull-loading {
/*-webkit-backface-visibility: hidden;
-webkit-transition-duration: 400ms;
transition-duration: 400ms;*/
margin: 0;
}
.mui-pull-top-wrapper .mui-icon,
.mui-pull-top-wrapper .mui-spinner {
margin-top: 7px;
}
.mui-pull-top-wrapper .mui-icon.mui-reverse {
/*-webkit-transform: rotate(180deg) translateZ(0);*/
}
.mui-pull-bottom-tips {
text-align: center;
background-color: #efeff4;
font-size: 15px;
line-height: 70px;
color: #777;
}
.mui-pull-top-canvas {
overflow: hidden;
background-color: #fafafa;
border-radius: 40px;
box-shadow: 0 4px 10px #bbb;
width: 40px;
height: 40px;
margin: 0 auto;
}
.mui-pull-top-canvas canvas {
width: 40px;
}
.mui-slider-indicator.mui-segmented-control {
background-color: #efeff4;
}
.mui-content>.mui-table-view:first-child {
margin-top: -1px;
}
.heard input {
background-color: white;
}
.mui-search {
left: 100px;
right: 80px;
width: auto;
display: inline-block;
position: absolute;
}
.mui-card {
width: 46%;
display: inline-block;
margin: 5px 2% 0 2%;
}
.mui-card-footer {
display: block;
}
#slider {
margin-top: 50px;
}
.mui-fullscreen {
position: fixed;
z-index: 20;
}
.mui-ios .mui-navbar .mui-bar .mui-title {
position: static;
}
html,
body {
background-color: #efeff4;
}
.mui-views,
.mui-view,
.mui-pages,
.mui-page,
.mui-page-content {
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
width: 100%;
height: 100%;
background-color: #efeff4;
}
.mui-scroll-wrapper,
.mui-scroll {
background-color: #efeff4;
}
.mui-page.mui-transitioning {
-webkit-transition: -webkit-transform 300ms ease;
transition: transform 300ms ease;
}
.mui-page-left {
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
.mui-ios .mui-page-left {
-webkit-transform: translate3d(-20%, 0, 0);
transform: translate3d(-20%, 0, 0);
}
.mui-navbar {
position: fixed;
right: 0;
left: 0;
z-index: 10;
height: 44px;
background-color: #f7f7f8;
}
.mui-navbar .mui-bar {
position: absolute;
text-align: center;
}
.mui-android .mui-navbar-inner.mui-navbar-left {
opacity: 0;
}
.mui-ios .mui-navbar-left .mui-left,
.mui-ios .mui-navbar-left .mui-center,
.mui-ios .mui-navbar-left .mui-right {
opacity: 0;
}
.mui-navbar .mui-btn-nav {
-webkit-transition: none;
transition: none;
-webkit-transition-duration: .0s;
transition-duration: .0s;
}
.mui-navbar .mui-bar .mui-title {
display: inline-block;
width: auto;
}
.mui-page-shadow {
position: absolute;
right: 100%;
top: 0;
width: 16px;
height: 100%;
z-index: -1;
content: '';
}
.mui-page-shadow {
background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, .01) 50%, rgba(0, 0, 0, .2) 100%);
background: linear-gradient(to right, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, .01) 50%, rgba(0, 0, 0, .2) 100%);
}
.mui-navbar-inner.mui-transitioning,
.mui-navbar-inner .mui-transitioning {
-webkit-transition: opacity 300ms ease, -webkit-transform 300ms ease;
transition: opacity 300ms ease, transform 300ms ease;
}
.mui-page {
display: none;
}
.mui-pages .mui-page {
display: block;
}
.mui-page .mui-table-view:first-child {
margin-top: 15px;
}
.mui-page .mui-table-view:last-child {
margin-bottom: 30px;
}
.mui-table-view {
margin-top: 20px;
}
.mui-table-view span.mui-pull-right {
color: #999;
}
.mui-table-view-divider {
background-color: #efeff4;
font-size: 14px;
}
.mui-table-view-divider:before,
.mui-table-view-divider:after {
height: 0;
}
#imageShow {
padding: 10px 10px 0 10px;
margin-top: 50px;
}
#imageShow img {
padding: 10px;
}
.mui-slider-indicator {
margin-bottom: 20px;
}
.mui-content-padded {
margin: 0 20px;
}
.mui-content-padded button {
height: 25px;
line-height: 0px;
font-size: 15px;
}
#one img {
width: 100%;
}
.mui-bar-tab {
top: 90px;
height: 30px;
}
.mui-top{
top: 120px;
}
.mui-bar-tab a {
height: 30px !important;
}
</style>
</head>
<body class="mui-fullscreen">
<!--页面主结构开始-->
<div id="app" class="mui-views">
<div class="mui-view">
<div class="mui-navbar">
</div>
<div class="mui-pages">
</div>
</div>
</div>
<input id="copyMediaId" readonly>
<!--页面主结构结束-->
<!--单页面开始-->
<div id="page" class="mui-page">
<!--页面标题栏开始-->
<div class="mui-navbar-inner mui-bar mui-bar-nav">
<header class="mui-bar mui-bar-nav heard">
<button id="industryType" type="button" class="mui-btn mui-btn-blue mui-btn-link mui-pull-left">选择行业<img src="/zinc/images/dropDown.png" style="width: 16px;height: 16px;margin-bottom: -2px;"></button>
<div class="mui-input-row mui-search" style="">
<input id="searchInput" type="search" class="mui-input-clear" placeholder="">
</div>
<button id="seachButton" style="margin-top: -2px;" type="submit" class="mui-btn mui-btn-primary mui-pull-right" onclick="return false;">搜索</button>
</header>
</div>
<!--下拉刷新容器-->
<div class="mui-content">
<div id="slider" class="mui-slider mui-fullscreen">
<div class="mui-scroll-wrapper mui-slider-indicator mui-segmented-control mui-segmented-control-inverted">
<div id="typeScroll" class="mui-scroll">
<#for item : DesignTypeDao.listTemmplate()>
<a class="mui-control-item <#if item_index == 0>mui-active</#if>" value="${item.getTypeId()}" href="#item1mobile">
${item.getTypeName()}
</a>
</#for>
</div>
</div>
<div class="mui-slider-group">
<div id="item1mobile" class="mui-slider-item mui-control-content mui-active">
<div class="mui-scroll-wrapper">
<div class="mui-scroll" id="showScroll" style="margin-top: 35px;">
</div>
</div>
</div>
</div>
</div>
</div>
<nav class="mui-bar mui-bar-tab" style="background-color: #efeff4;z-index:9999;font-size: 15px;" >
<a class="mui-tab-item mui-active" href="#Popover_1" value="3">最热</a>
<a class="mui-tab-item" href="#Popover_2" value="1">最新</a>
<a class="mui-tab-item" href="#Popover_4" value="4">精品</a>
</nav>
<div id="#oddEven" style="display:none">
<nav id="mTemplateHomeNav" class="mui-bar mui-bar-tab mui-top" style="background-color: #efeff4;z-index:9999;font-size: 15px;display: none">
<a class="mui-tab-item mui-active" href="#oddEven_-1" value="-1">全部</a>
<a class="mui-tab-item" href="#oddEven_0" value="0">横版</a>
<a class="mui-tab-item" href="#oddEven_1" value="1">竖版</a>
</nav>
</div>
</div>
<!--单页面结束-->
<div id="mediaInfo" class="mui-page">
<div class="mui-navbar-inner mui-bar mui-bar-nav">
<button type="button" class="mui-left mui-action-back mui-btn mui-btn-link mui-btn-nav mui-pull-left">
<span class="mui-icon mui-icon-left-nav"></span>返回
</button>
<h1 class="mui-center mui-title">模板详情</h1>
</div>
<div class="mui-page-content">
<div class="mui-scroll-wrapper">
<div class="mui-scroll">
<div id="imageShow" class="mui-slider" >
<div class="mui-slider-group mui-slider-loop">
</div>
<div class="mui-slider-indicator">
</div>
<div id="one" style="display:none;">
</div>
</div>
<div id="mediaResult" class="mui-content-padded" style="display: none;font-size:13px;line-height: 26px;">
<div id="mediaName" style="float:left"></div></br>
<div id="mediaPageValue" style="float:left"></div></br>
<div id="mediaOddEven" style="float:left"></div></br>
</div>
<div class="mui-content-padded" style="font-size:13px;line-height: 26px;">
<div id="mediaIdArea" style="float:left"></div>
<div style="float:right;color:#7f7f7f;">复制后发送设计师</div>
</div>
<div class="mui-content-padded">
<button type="button" class="mui-btn mui-btn-primary mui-btn-block mui-btn-outlined" style="color: #FFF;background-color: #28a3ef;">复制模板ID</button>
<button type="button" class="mui-btn mui-btn-block mui-btn-outlined mui-action-back">返回上一页</button>
</div>
</div>
</div>
</div>
</div>
</body>
<script>
mui.init({
swipeBack:false
});
//初始化单页view
var viewApi = mui('#app').view({
defaultPage: '#page'
});
var view = viewApi.view;
var page = 1;
var hasNext = true;
var industryId = -1;
var self;
var typeId = 1;
var sort = 3;
var oddEven = -1;
//阻尼系数
var deceleration = mui.os.ios?0.003:0.0009;
(function($,doc) {
//处理view的后退与webview后退
var oldBack = $.back;
$.back = function() {
if (viewApi.canBack()) { //如果view可以后退,则执行view的后退
viewApi.back();
} else { //执行webview后退
oldBack();
}
};
//监听页面切换事件方案1,通过view元素监听所有页面切换事件,目前提供pageBeforeShow|pageShow|pageBeforeBack|pageBack四种事件(before事件为动画开始前触发)
$('.mui-scroll-wrapper').scroll({
bounce: false,
indicators: true, //是否显示滚动条
deceleration:deceleration
});
$.ready(function() {
// 选择框
var userPicker = new $.PopPicker();
userPicker.setData([
{
value: '-1',
text: '全部行业'
},
<#for item : indList>
{
value: '${item.getIndustryId()}',
text: '${item.getIndustryName()}'
},
</#for>
]);
mui("#typeScroll").on('tap','a',function(){
typeId = this.getAttribute('value');
if(typeId == 3){
var nav = document.getElementById("mTemplateHomeNav");
nav.style.display = "table-row";
}
reload();
});
mui(".mui-top").on('tap','a',function(){
oddEven = this.getAttribute('value');
reload();
});
mui(".heard").on('tap','#seachButton',function(){
reload();
});
mui(".mui-bar-tab").on('tap','a',function(){
sort = this.getAttribute('value');
reload();
});
mui(".mui-content-padded").on('tap','.mui-btn.mui-btn-primary.mui-btn-block.mui-btn-outlined',function(){
var copyMediaId=document.getElementById("copyMediaId");
copyMediaId.select();
document.execCommand("Copy");
mui.toast('复制成功');
});
var industryTypeButton = doc.getElementById('industryType');
industryTypeButton.addEventListener('tap', function(event) {
userPicker.show(function(items) {
industryId = items[0].value;
reload();
//返回 false 可以阻止选择框的关闭
//return false;
});
}, false);
var reload = function () {
document.activeElement.blur();
$.each(document.querySelectorAll('.mui-card'),function(){
this.remove();
});
page = 1;
hasNext = true;
self.refresh(true);
queryAllTemplate();
scrollToTop();
}
var scrollToTop = function () {
//mui('#showScroll').setTranslate(0,0,500);
}
var queryAllTemplate = function(){
mui.ajax('/service/ajax?path=/mobileTemplateHome.htm&time=' + new Date().getTime(),{
data:{
page: page,
industryId: industryId,
keyword: document.getElementById('searchInput').value,
typeId: typeId,
sort: sort,
oddEven: oddEven,
},
dataType:'json',
type:'post',
timeout:10000,
async:false,
headers:{
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'X-Requested-With': 'XMLHttpRequest',
'X-RMI-Class': 'MobileTemplatePresenter',
'X-RMI-Method': 'doTemplateSearch',
},
success:function(data){
hasNext = data.hasNext;
page++;
var list = data.pageResultList;
if(list && list.length > 0){
var showScroll = document.getElementById('showScroll');
var fragment = document.createDocumentFragment()
for(var i=0;i<list.length;i++){
var card = document.createElement('div');
card.className = "mui-card";
var htmls = `
<div class="mui-card-content">
<a value="`+ list[i].mediaId +`">
`;
if (list[i].mediaUrl){
var imgPathArr = list[i].mediaUrl.split(",");
for (var j = 0; j < imgPathArr.length; j++) {
if (j == 0){
htmls += `<img src="` + imgPathArr[j] + `" onerror="javascript:this.src='/zinc/images/nopic.png';">`;
}
}
} else{
htmls += `<img src="/zinc/images/nopic.png">`;
}
htmls += `</a><div class="mui-card-footer">`;
htmls += `ID` + list[i].mediaId + `<br>`;
htmls += list[i].widthMm + `X` + list[i].heightMm+ `mm`;
htmls += `<div class="copyId" value="`+ list[i].mediaId +`" style="display: inline;float: right;"><img src="/zinc/images/copy.png" style="width: 16px;height: 16px;margin-bottom: -3px;">复制ID</div>`;
htmls += `</div>`;
card.innerHTML = htmls;
fragment.appendChild(card);
}
showScroll.insertBefore(fragment,document.querySelector('.mui-pull-bottom-tips'));
}
self.endPullUpToRefresh(!hasNext);
// 添加点击查看详情事件
mui(".mui-card-content").on('tap','a',function(){
var mediaId = this.getAttribute('value');
queryMediaInfo(mediaId);
});
// 添加点击复制ID事件
mui(".mui-card-content").on('tap','.copyId',function(){
var id = this.getAttribute("value");
var inputEle = document.createElement("input");
document.designMode = "on";
inputEle.value = id;
document.body.appendChild(inputEle);
inputEle.select();
document.execCommand('copy');
inputEle.blur();
inputEle.style.display = 'none';
document.body.removeChild(inputEle);
document.designMode = "off";
mui.toast('复制成功',{ duration:500, type:'div' })
});
},
error:function(xhr,type,errorThrown){
self.endPullUpToRefresh(true);
}
});
}
var queryMediaInfo = function(mediaId){
mui.ajax('/mobileTemplateDetail.htm',{
data:{
mediaId: mediaId,
},
dataType:'json',
type:'post',
timeout:10000,
async:false,
success:function(data){
if(data){
document.getElementById('copyMediaId').value = data.mediaId;
document.getElementById('mediaIdArea').innerHTML = 'ID'+ data.mediaId;
if(data.typeId == 3){
document.getElementById('mediaResult').style.display = "block";
document.getElementById('mediaName').innerHTML = "名称:"+data.mediaName;
document.getElementById('mediaPageValue').innerHTML = "P 数:"+data.pageValue+"P";
if(data.oddEven == 0){
document.getElementById('mediaOddEven').innerHTML = "版式:"+"横版" + data.widthMm + "*" + data.heightMm +"mm";
}else if(data.oddEven == 1){
document.getElementById('mediaOddEven').innerHTML = "版式:"+ "横版" + data.widthMm + "*" + data.heightMm +"mm";
}
}
var parentDiv = document.querySelector("#imageShow .mui-slider-group");
var one = document.querySelector("#one");
var indicatorDiv = document.querySelector("#imageShow .mui-slider-indicator");
indicatorDiv.innerHTML = "";
one.style.display = 'none';
if(data.mediaUrl){
var array = data.mediaUrl.split(',');
if(array.length == 1){
one.style.display = 'block';
one.innerHTML = "";
one.appendChild(creatImgShowDiv(array[0]));
parentDiv.innerHTML = "";
mui('.mui-slider').slider().stopped = true;
} else {
var firstImg = array[0];
var lastImg = array[array.length-1];
var length = array.length;
if (!lastImg){
lastImg = array[array.length-2];
length = array.length - 1;
}
parentDiv.innerHTML = "";
parentDiv.appendChild(creatImgShowDiv(lastImg),"mui-slider-item-duplicate");
parentDiv.appendChild(creatImgShowDiv(firstImg),"mui-slider-item-duplicate");
for(var i =0 ;i<length;i++){
parentDiv.insertBefore(creatImgShowDiv(array[i]),parentDiv.children[0]);
var indicator;
if(i==0){
indicator = creatIndicator("mui-active");
} else {
indicator = creatIndicator();
}
indicatorDiv.appendChild(indicator);
}
mui('.mui-slider').slider().stopped = false;
}
}
document.activeElement.blur();
viewApi.go("#mediaInfo");
} else {
mui.toast('未查询到模板数据');
}
},
error:function(xhr,type,errorThrown){
mui.toast('未查询到模板数据');
}
});
}
function creatImgShowDiv(mediaUrl,className){
var showImgDiv = document.createElement('div');
showImgDiv.className = className ? "mui-slider-item "+className:"mui-slider-item";
showImgDiv.innerHTML = `<a href="#">`;
showImgDiv.innerHTML += `<img src="`+ mediaUrl +`" onerror="javascript:this.src='/zinc/images/nopic.png';">`;
showImgDiv.innerHTML += `</a>`;
return showImgDiv;
}
function creatIndicator(className){
var indicatorDiv = document.createElement('div');
indicatorDiv.className = className ? "mui-indicator "+className:"mui-indicator";
return indicatorDiv;
}
//循环初始化所有下拉刷新,上拉加载。
$.each(document.querySelectorAll('.mui-slider-group .mui-scroll'), function(index, pullRefreshEl) {
$(pullRefreshEl).pullToRefresh({
up: {
auto:true,
contentrefresh : "正在加载...",
contentnomore:'没有更多模板了',
callback: function() {
self = this;
queryAllTemplate(self);
}
}
});
});
});
})(mui, document);
</script>
</html>
@@ -0,0 +1,33 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0,user-scalable=no,maximum-scale=1.0,minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>秒绘彩页详情页</title>
<link rel="stylesheet" href="/zinc/mobileWorks/css/mobileWorksPublic.css">
<link rel="stylesheet" href="/zinc/mobileWorks/css/mobileWorkDetail.css">
<link rel="stylesheet" href="/zinc/mobileWorks/css/mui.min.css">
<script src="/zinc/mobileWorks/zepto/zepto.min.js"></script>
<script src="/zinc/mobileWorks/js/mui.min.js"></script>
<script src="/zinc/mobileWorks/js/mobileWorkDetail.js"></script>
</head>
<body>
<div class="mui-slider">
<div class="mui-slider-group">
<!--第一个内容区容器-->
<#for path : Arrays.toStringArray(works.getThumbImagePath())>
<div class="mui-slider-item">
<div class="img-box">
<img src="${path}" alt="">
</div>
</div>
</#for>
</div>
<div class="info" style="margin-top: -20px;"><span class="swiper-pagination-current">1</span>/<span class="swiper-pagination-sum">${MobileWorksPresenter.getWorksDetailCount(works.getThumbImagePath())}</span></div>
</div>
<!-- 下方点击复制id -->
<a href="javasrcipt:;" class="btn-copy">复制模板ID<span class="val">${works.getWorksId()}</span></a>
<div class="my-btn-back-works-home">返回首页</div>
</body>
</html>
@@ -0,0 +1,372 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0,user-scalable=no,maximum-scale=1.0,minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>秒绘彩页库</title>
<link rel="stylesheet" href="/zinc/mobileWorks/css/mobileWorksPublic.css">
<link rel="stylesheet" href="/zinc/mobileWorks/css/mobileWorksHome.css">
<link rel="stylesheet" href="/zinc/mobileWorks/css/mui.min.css">
<link rel="stylesheet" href="/zinc/mobileWorks/css/pagination.css">
<script src="/zinc/mobileWorks/zepto/zepto.min.js"></script>
<script src="/zinc/mobileWorks/js/mui.min.js"></script>
<script src="/zinc/mobileWorks/js/mobileWorksHome.js"></script>
<script src="/zinc/mobileWorks/js/pagination.js"></script>
${Scripts.src(zhiqim.js)}
${Scripts.src("/zinc/js/zhiqim_search_auto_list.js")}
</head>
<body>
<!-- 头部搜索开始 -->
<div class="header">
<a href="javasrcipt:;" class="classify">分类</a>
<div class="serch">
<img src="./zinc/mobileWorks/images/search.png" onclick="doWorksSearchByKeyword();" alt="">
<input type="text" id="searchinput" placeholder="请输入您要查找的内容">
</div>
<a href="javasrcipt:;" class="my-classify" onclick="doWorksSearchByKeyword();">搜索</a>
</div>
<!-- -->
<!-- 头部选择模块开始 -->
<div class="header-cater" style="line-height: 50px;">
<div class="header-cater-rigth" onclick="doWorksSearch('BEST');">精品推荐</div>
<div class="header-cater-left" onclick="doWorksSearch();">更多模板
<!-- 先不展示 -->
<!-- <i class="dom-arrow"></i> -->
</div>
</div>
<!-- ************ -->
<div style="width: 100%; height: 110px;"></div>
<!-- 遮罩层 -->
<div class="mui-backdrop one">
<div class="select">
<a id="heat_label_all" href="javasrcipt:;" class="text-value" onclick="doWorksSearchByLabel('label_all');">全部</a>
<a id="heat_label_best" href="javasrcipt:;" class="text-value" onclick="doWorksSearchByLabel('label_best');">精品</a>
<a id="heat_label_recommend" href="javasrcipt:;" class="text-value" onclick="doWorksSearchByLabel('label_recommend');">推荐</a>
<a id="heat_label_hot" href="javasrcipt:;" class="text-value" onclick="doWorksSearchByLabel('label_hot');">热门</a>
</div>
</div>
<!-- 商品部分开始 -->
<div class="commodity-box" id="commodity-box">
<ul class="box-size" id="list-box">
<ul>
</div>
<div class="ht-page" id="ht-page" style="background-color: white; margin-top: 20px;"></div>
<!-- 分类行业开始 -->
<div class="cates-box">
<!-- 阴影遮罩层 -->
<div class="box-showdom"></div>
<!-- 行业选择区域 -->
<div class="box-white">
<p class="catres">行业</p>
<div class="my-style">
<a id="clazz_ind_all" href="javasrcipt:;" class="catres-value">全部</a>
<#for item : indList>
<a id="clazz_ind_${item.getIndustryId()}" href="javasrcipt:;" class="catres-value">${item.getIndustryName()}</a>
</#for>
</div>
<p class="catres">产品</p>
<div class="my-style">
<a id="clazz_ind_prdColorPage" href="javasrcipt:;" class="catres-value actives">彩页</a>
<a id="clazz_ind_prdCart" href="./mobileTemplateHome.htm" class="catres-value">名片</a>
</div>
<button type="button" class="my-style-btn">确定</button>
</div>
</div>
<!-- 返回顶部 -->
<a href="javasrcipt:;" class="top">
<img src="./zinc/mobileWorks/images/tx.png" alt="">
<p class="top-text">顶部</p>
</a>
<!-- 搜索时候显示的结果 -->
<div class="serch-show">
检索结果
</div>
</body>
<script>
// tabIndex[0: 精品推荐, 1: 更多模板]
var tabIndex;
var _tabType = "BEST";
var _pageTotal = 100;
var _pageSize = 10;
var _pageNo = 1;
Z.onload(function()
{
tabIndex = 0;
doWorksSearch(_tabType, "", _pageNo);
})
// 移动端分页组件部分
function pageChange(i)
{
// console.log("index is :" + i);
doWorksSearch(_tabType, "", i+1);
Pagination.Page($(".ht-page"), i, _pageTotal, _pageSize);
}
Pagination.init($(".ht-page"), pageChange);
// 点击Tab查询作品
function doWorksSearch(type, keyw, ppage)
{
_tabType = type;
// 关键字
var keyword = Z("#searchinput").val();
// 行业
var industryId = "";
var indElem = $(".catres-value.actives");
var indElemId = indElem[0].id;
// 判断页面元素id是否为[全部]的id,否则根据行业id查询作品列表
if(indElemId != "clazz_ind_all")
{
var indIdStrs = indElemId.split("clazz_ind_");
industryId = indIdStrs[1];
}
// 热度标签
var heatLabelId = "";
var heatlbElem = $(".text-value.actives");
var heatlbElemId = heatlbElem[0].id;
if(heatlbElemId != "heat_label_all")
{
var heatlbIdStrs = heatlbElemId.split("heat_");
heatLabelId = heatlbIdStrs[1];
if (heatLabelId == "label_best")
{
heatLabelId = "1";
}
if (heatLabelId == "label_recommend")
{
heatLabelId = "2";
}
if (heatLabelId == "label_hot")
{
heatLabelId = "3";
}
}
if (!type)
{
tabIndex = 1;
}
var ajax = new Z.Ajax();
ajax.setClassName("MobileWorksPresenter");
ajax.setMethodName("doWorksSearch");
if (type == "BEST")
{
ajax.addParam("worksTypeIndex", "BEST");
tabIndex = 0;
}
if (type == "KEYWORD")
{
if (tabIndex == 0)
{
ajax.addParam("worksTypeIndex", "BEST");
}
}
if (type == "INDUSTRY")
{
if (tabIndex == 0)
{
ajax.addParam("worksTypeIndex", "BEST");
}
if (keyw)
{
ajax.addParam("industryId", keyw);
}
}
if (type == "SEARCHLIKE")
{
if (tabIndex == 0)
{
ajax.addParam("worksTypeIndex", "BEST");
}
keyword = keyw;
ajax.addParam("searchLike", "true");
}
if(industryId)
{
ajax.addParam("industryId", industryId);
}
if (type == "LABEL")
{
if (tabIndex == 0)
{
ajax.addParam("worksTypeIndex", "BEST");
}
if (keyw == "label_best")
{
ajax.addParam("labelStatus", "1");
}
if (keyw == "label_recommend")
{
ajax.addParam("labelStatus", "2");
}
if (keyw == "label_hot")
{
ajax.addParam("labelStatus", "3");
}
}
if(heatLabelId)
{
ajax.addParam("labelStatus", heatLabelId);
}
// 分页
if(ppage)
{
ajax.addParam("page", ppage);
}
ajax.addParam("keyword", keyword);
ajax.setFailureAlert();
ajax.setSuccess(function()
{
var resObj = Z.J.toObject(this.responseText);
var resList = resObj.desWorksFileModels;
_pageNo = resObj.pageNo - 1;
_pageTotal = resObj.pageTotal;
Pagination.Page($(".ht-page"), _pageNo, _pageTotal, _pageSize);
var html = "";
if (resList.length != 0)
{
Z("#ht-page").removeClass("ht-page-hide");
for (var i = 0; i < resList.length; i++)
{
html +=
`
<li>
<div class="son-box">
<div class="son-box-item">
<a href="./mobileWorkDetail.htm?worksId=` + resList[i].worksId + `"` + `>
`;
// 封面图片部分
if (resList[i].thumbImagePath)
{
var imgPathArr = resList[i].thumbImagePath.split(",");
for (var j = 0; j < imgPathArr.length; j++)
{
if (j == 0)
{
html +=
` <img src="` + imgPathArr[j] + `" alt="">`;
}
}
}
else
{
html +=
` <img src="/zinc/images/nopic.png" alt="">`;
}
// 热度红心部分
html +=
`
</a>
</div>
<div class="son-box-item-bottom">
<p class="idName">ID:` + resList[i].worksId + `</p>
<p class="heat">
<span>热度:</span>
`;
for (var k = 0; k < resList[i].worksHeatLabel + 1; k++)
{
html +=
` <img src="./zinc/mobileWorks/images/degree-red.png" alt="">
`;
}
var grayLength = 5 - (resList[i].worksHeatLabel + 1);
for (var n = 0; n < grayLength; n++)
{
html +=
` <img src="./zinc/mobileWorks/images/degree-gray.png" alt="">
`;
}
// 找相似部分
html +=
` </p>
<div class="son-box-item-footer">
<a href="javascript:;" class="one" style="width: 130px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block;">`
+ resList[i].industrySubName + resList[i].attributeName + `</a>
<a href="javascript:;" class="two" style="z-index: 996;" onclick="doWorksSearch('SEARCHLIKE', '` + resList[i].industrySubName + `', 1);">找相似</a>
</div>
</div>
<span class="tag" style="display: `;
// 热度标签部分
if (resList[i].worksHeatLabel == 1)
{
html += `none`;
}
html += `;">`;
if (resList[i].worksHeatLabel == 2)
{
html +=
`
<label>精品</label>
`;
}
if (resList[i].worksHeatLabel == 3)
{
html +=
`
<label>推荐</label>
`;
}
if (resList[i].worksHeatLabel == 4)
{
html +=
`
<label>热门</label>
`;
}
html +=
` </span>
</div>
</li>
`;
}
}
else
{
Z("#ht-page").addClass("ht-page-hide");
html = `<div style="height: 562px; width: 100%; margin-top: 150px; text-align: center;">暂时没有作品数据</div>`;
}
// console.dir(html);
Z("#list-box").htmlc(html);
});
ajax.execute();
}
// 根据关键字查询作品
function doWorksSearchByKeyword(keyword)
{
// console.log(keyword);
doWorksSearch("KEYWORD", keyword);
}
// 根据行业id查询作品
function doWorksSearchByIndustryId(industryId)
{
// console.log(industryId);
doWorksSearch("INDUSTRY", industryId);
}
// 根据标签查询作品
function doWorksSearchByLabel(label)
{
// console.log(label);
doWorksSearch("LABEL", label);
}
</script>
</html>
@@ -0,0 +1,53 @@
${request.getValidateScript()}
${zhiqim_manager_history ("noticeList.htm")}
${zhiqim_manager_breadcrumb_parent ("noticeAdd.htm", "公告内容", "增加公告")}
${zhiqim_manager_content()}
<form name="theForm" action="noticeAddInfo.htm" method="post" onsubmit="return validateForm(this);" data-role="z-call-frame">
<table class="z-table z-bordered z-h50-tr z-pd10 z-bg-white">
<tr class="zi-h40 z-bg-gray z-bold">
<td colspan="2">增加公告</td>
</tr>
<tr>
<td>是否发布:<span class="z-color-999">(请选择)</span></td>
<td>
<span style="margin-left:30px">保存草稿:</span><input name="status" type="radio" data-class="${zmr_color_class}" value="0" style="margin-right:50px"/>
<span>立即发布:</span><input name="status" type="radio" checked data-class="${zmr_color_class}" value="1"/>
</td>
</tr>
<tr>
<td>公告标题:<span class="z-color-999">32位不定长字符)</span></td>
<td><input name="title" class="z-input z-w300 ${zmr_color_class}" maxlength="32"><span class="z-color-red">&nbsp;*</span></td>
</tr>
<tr>
<td colspan="2">
<div class="z-mg-t20">公告内容:<span class="z-color-999">(不能超过50000个字符)</span><span class="z-color-red">&nbsp;*</span></div>
<div class="z-pd-t20 z-pd-b20" style="margin-top:20px">
<textarea id="content" name="content" class="z-textarea ckeditor z-w100p ${zmr_color_class}" rows="15" size="30" maxlength="50000"></textarea>
</div>
</td>
</tr>
</table>
${zhiqim_manager_submit()}
</form>
${zhiqim_manager_content_end()}
<!--
<script charset="utz-8" src="/inc/ckeditor/ckeditor.js"></script>
-->
<link rel="stylesheet" type="text/css" href="/zres/zteditor/zteditor.css">
<script type="text/javascript" src="/zres/zteditor/zteditor.js"></script>
<script>
//CKEDITOR.replace("articleContent");
Z.onload(function()
{
var editor = new Z.ZhiqimEditor();
editor.setId("content");
editor.execute();
});
function validateForm2(form)
{
Z("#content").val(CKEDITOR.instances.articleContent.getData());
return validateForm(form);
}
</script>
@@ -0,0 +1,41 @@
${zhiqim_manager_breadcrumb("公告列表")}
${zhiqim_manager_content()}
${sweet_alert_reuse_method()}
<#-- 列表 -->
<table class="z-table z-bordered z-mg-t20 z-pd10 z-bg-white z-lh150p z-text-center">
<tr class="z-h40" bgcolor="${zmr_thead_bgcolor}">
<td width="25%">公告标题</td>
<td width="*">公告内容</td>
<td width="15%">发布人</td>
<td width="15%">发布时间</td>
</tr>
<#for item : result.list()>
<tr class="z-h60" bgcolor="${zhiqim_manager_tr_bg(item_index)}">
<td>#{item.getTitle()}</td>
<td><a href="javascript:void(0);" style="color:green"><span onclick="findInfo(${item.getId()})">点击查看</span></a></td>
<td>#{item.getFinshUser()}</td>
<td>#{Sqls.toDateTimeString(item.getFinshTime())}</td>
</tr>
</#for>
${zhiqim_manager_tr_no_record(result, 10, "暂时没有公告")}
</table>
<table class="z-table z-bordered zi-bd-t-none z-bg-white">
<tr class="z-h50">
<td><div class="z-float-right z-mg-r10">${PagingGo.toHtmlLink(result)}</div></td>
</tr>
</table>
${zhiqim_manager_content_end()}
<script>
function findInfo(id){
var dialog = new Z.Dialog();
dialog.title = "公告详情";
dialog.url = "/noticeInfo.htm?id="+id;
dialog.width = 1000;
dialog.height = 746;
dialog.position=4
dialog.execute();
}
</script>
@@ -0,0 +1,58 @@
<div class=" intro_text" style="margin-left: auto;margin-right: auto;">
<div class="header">
<h1 id="title" style="text-align:center"></h1>
<span id="updateTime" style="text-align:center;display:block;"></span>
</div>
<div class="content">
<p id="p1"></p>
</div>
</div>
<style>
.intro_text {
width: 100%;
}
.intro_text .header {
font-size: 18px;
line-height: 18px;
padding: 1px 20px 1px 20px;
}
.intro_text .content {
font-size: 16px;
padding: 40px 50px;
}
.container{ min-height:743px;
background:#fff;
}
</style>
<script>
Z.onload(function(){
var id='${id}';
var ajax = new Z.Ajax();
ajax.setClassName("DesignerNoticePresenter");
ajax.setMethodName("getNoticeInfo");
ajax.addParam(id);
ajax.setFailureAlert();
ajax.setSuccess(function(res){
var data = eval('('+res+')');
Z("#title").html(data.title);
if(data.finshTime){
Z("#updateTime").html(timestampToTime(data.finshTime));
}
Z("#p1").html(data.content);
});
ajax.execute();
})
function timestampToTime(timestamp) {
var date = new Date(timestamp);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
Y = date.getFullYear() + '-';
M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
D = (date.getDate()< 10 ? '0'+(date.getDate()) : date.getDate()) + ' ';
h = (date.getHours()< 10 ? '0'+(date.getHours()) : date.getHours()) + ':';
m = (date.getMinutes() < 10 ? '0'+(date.getMinutes()) : date.getMinutes()) + ':';
s = (date.getSeconds() < 10 ? '0'+(date.getSeconds()) : date.getSeconds());
return Y+M+D+h+m+s;
}
</script>
@@ -0,0 +1,120 @@
${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>
</ul>
<div class="z-float-left z-mg10">
<form name="theForm" method="post">
<input name="title" class="z-float-left z-input z-w300 zi-bd-r-none" value="${title}" maxlength="64" placeholder="公告标题">
<select name="status" class="z-float-left z-select z-mg-r-1 zi-bd-r-none" data-role="z-select" data-class="${zmr_color_class}">
<option value="">全部公告状态</option>
<option value="0" <#if status=="0">selected</#if>>草稿</option>
<option value="1" <#if status=="1">selected</#if>>已发布</option>
<option value="2" <#if status=="2">selected</#if>>已下线</option>
</select>
<button class="z-float-left z-button z-w80 zi-bd-rd0 ${zmr_color_class}"><i class="z-font z-query"></i>查询</button>
</form>
</div>
<div class="z-text-right z-mg-t10 z-mg-r5">
<button class="z-button ${zmr_color_class}" onclick="Z.L.href('noticeAdd.htm');"><i class="z-font z-add"></i>增加公告</button>
</div>
</nav>
</div>
<#-- 列表 -->
<table class="z-table z-bordered z-h40-tr z-pd6 z-bg-white z-text-center">
<tr bgcolor="${zmr_thead_bgcolor}">
<td width="50">选择</td>
<td width="10%">公告状态</td>
<td width="*">文章标题</td>
<td width="10%">创建人</td>
<td width="10%">创建时间</td>
<td width="10%">发布人</td>
<td width="10%">发布时间</td>
<td width="10%">操作</td>
</tr>
${zhiqim_manager_tr_no_record(noticeList, 5, "暂时没有公告信息")}
<#for item :noticeList.list()>
<tr class="z-h40 z-pointer" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
<td><input name="noticeId" type="radio" data-role="z-radio" data-class="${zmr_color_class}" value="${item.getId()}"></td>
<td>
<#if item.getStatus()==0><span style="color:violet">草稿</span></#if>
<#if item.getStatus()==1><span style="color:green">已发布</span></#if>
<#if item.getStatus()==2><span style="color:red">已下线</span></#if>
</td>
<td><a title="点击查看详情" href="javascript:getInfo('${item.getId()}');">${item.getTitle()}</a></td>
<td>${item.getAddUser()}</td>
<td>
${Sqls.toDateTimeString(item.getAddTime())}
</td>
<td>${item.getFinshUser()}</td>
<td>${Sqls.toDateTimeString(item.getFinshTime())}</td>
<td>
<#if item.getStatus()==0>
<button class="z-button ${zmr_color_class}" onclick="doModify('${item.getId()}')"><i class="z-font z-modify"></i>修改</button>
<button class="z-button z-green" onclick="doEnable('${item.getId()}');"><i class="z-font z-open"></i>发布</button>
</#if>
<#if item.getStatus()==1>
<button class="z-button z-red" onclick="doBlockUp('${item.getId()}')"><i class="z-font z-close"></i>下线</button>
</#if>
<!--
<#if item.getStatus()==2>
<button class="z-button z-green" onclick="doEnable('${item.getId()}');"><i class="z-font z-open"></i>发布</button>
</#if>
//-->
</td>
</tr>
</#for>
</table>
${zhiqim_manager_paging(noticeList, "noticeList.htm")}
<script>
function doEnable(id){
Z.confirm("您确定要启用该公告吗",function(){
var ajax = new Z.Ajax();
ajax.setClassName("DesignerNoticePresenter");
ajax.setMethodName("doEnable");
ajax.addParam(id);
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z.success("操作成功",function(){
parent.location.reload();
parent.Z.Dialog.close();
});
});
ajax.execute();
});
}
function doBlockUp(id){
Z.confirm("您确定要下线该公告吗",function(){
var ajax = new Z.Ajax();
ajax.setClassName("DesignerNoticePresenter");
ajax.setMethodName("doBlockUp");
ajax.addParam(id);
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z.success("操作成功",function(){
parent.location.reload();
parent.Z.Dialog.close();
});
});
ajax.execute();
});
}
function doModify(id){
window.location.href="/noticeModify.htm?noticeId="+id;
}
function getInfo(id){
var dialog = new Z.Dialog();
dialog.title = "公告详情";
dialog.url = "/noticeInfo.htm?id="+id;
dialog.width = 1000;
dialog.height = 746;
dialog.execute();
}
</script>
@@ -0,0 +1,48 @@
${request.getValidateScript()}
${zhiqim_manager_history ("noticeList.htm")}
${zhiqim_manager_breadcrumb_parent ("noticeModify.htm", "公告内容", "修改公告")}
${zhiqim_manager_content()}
<form name="theForm" action="noticeUpdate.htm" method="post" onsubmit="return validateForm(this);" data-role="z-call-frame">
<input name="noticeId" type="hidden" value="${notice.getId()}">
<table class="z-table z-bordered z-h50-tr z-pd10 z-bg-white">
<tr class="zi-h40 z-bg-gray z-bold">
<td colspan="2">修改公告</td>
</tr>
<tr>
<td>是否发布:<span class="z-color-999">(请选择)</span></td>
<td>
<span style="margin-left:30px">保存草稿:</span><input name="status" type="radio" data-class="${zmr_color_class}" value="0" style="margin-right:50px"/>
<span>立即发布:</span><input name="status" type="radio" checked data-class="${zmr_color_class}" value="1"/>
</td>
</tr>
<tr>
<td>公告标题:<span class="z-color-999">32位不定长字符)</span></td>
<td><input name="title" class="z-input z-w300 ${zmr_color_class}" maxlength="32" value="${notice.getTitle()}"><span class="z-color-red">&nbsp;*</span></td>
</tr>
<tr>
<td colspan="2">
<div class="z-mg-t20">公告内容:<span class="z-color-999">(不能超过50000个字符)</span><span class="z-color-red">&nbsp;*</span></div>
<div class="z-pd-t20 z-pd-b20" style="margin-top:20px">
<textarea id="content" name="content" class="z-textarea ckeditor z-w100p ${zmr_color_class}" rows="15" size="30" maxlength="50000">${notice.getContent()}</textarea>
</div>
</td>
</tr>
</table>
${zhiqim_manager_submit()}
</form>
${zhiqim_manager_content_end()}
<!--
<script charset="utz-8" src="/inc/ckeditor/ckeditor.js"></script>
-->
<link rel="stylesheet" type="text/css" href="/zres/zteditor/zteditor.css">
<script type="text/javascript" src="/zres/zteditor/zteditor.js"></script>
<script>
//CKEDITOR.replace("articleContent");
Z.onload(function()
{
var editor = new Z.ZhiqimEditor();
editor.setId("content");
editor.execute();
});
</script>
@@ -0,0 +1,69 @@
${sweet_alert_reuse_method()}
<script>
function addAfterMessage(){
//提交售后留言
var designId =Z("#designId").val();//订单ID
var creater =Z("#creater").val();//售后留言人
var createTime =Z("#createTime").val();//售后留言时间
var complainFlag =Z("#complainFlag").val();//是否有投诉差评意向
var note =Z("#note").val();//售后留言备注
var ajax = new Z.Ajax();
ajax.setClassName("OrderPresenter");
ajax.setMethodName("addAfterMessage");
ajax.addParam("designId",designId);
ajax.addParam("creater",creater);
ajax.addParam("createTime",createTime);
ajax.addParam("complainFlag",complainFlag);
ajax.addParam("note",note);
ajax.setFailureAlert();
ajax.setSuccess(function(){
var obj =Z.J.toObject(this.responseText);
swal({title:obj,type:"success",timer: 1000,width:300,showConfirmButton:false}).then(function(){
parent.Z.Dialog.close();
});
});
ajax.setLoading("addAfterMessage", '<i class="z-font z-return"></i>正在处理',{disabled:true});
ajax.execute();
}
</script>
${zhiqim_manager_content()}
<input type="hidden" id="designId" name="designId" value="${order.getDesignId()}">
<table class="z-table z-bordered z-pd6 z-bg-white z-text-left">
<tr class="z-h40">
<td align="center" width="150px">客户旺旺:</td>
<td width="200px">${order.getBuyerNick()}</td>
<td align="center" width="150px">店铺名称:</td>
<td width="200px">${order.getShopNick()}</td>
</tr>
<tr class="z-h40">
<td align="center">产品名称:</td>
<td>${order.getOrderText()}</td>
<td align="center">录单时间:</td>
<td>${Sqls.toDateTimeString(order.getCreateTime())}</td>
</tr>
<tr class="z-h40">
<td colspan="4" align="center">
<input type="checkbox" id="complainFlag" name="complainFlag" class="z-checkbox" data-class="${zmr_color_class}" data-role="z-checkbox" onclick="Z.E.stop(); this.value=this.checked" >
是否有投诉/差评意向&nbsp;
<span style="color:orange;font-size:8px;">勾选此选项,则在留言列表中置顶标红售后优先处理</span>
</td>
</tr>
<tr class="z-h40">
<td colspan="4" align="center">
<textarea class="z-h100" style="width:670px" id="note" placeholder="请输入售后留言备注"></textarea>
</td>
</tr>
<tr class="z-h40">
<td align="center" colspan="2">留言提交人:<input type="text" class="z-bg-white" value="${request.getSessionName()}" id="creater" style="border:none;" disabled="true"></td>
<td align="center" colspan="2">提交时间:<input type="text" class="z-bg-white" value="${Sqls.toDateTimeString(Sqls.nowTimestamp())}" id="createTime" style="border:none;" disabled="true"></td>
</tr>
</table>
${zhiqim_manager_content_end()}
<#-- 操作 -->
<div class="z-relative z-w100p z-h60 z-text-center z-bg-gray z-pd10" style="bottom:0;left:0">
<button type="button" id="addAfterMessage" class="z-button ${zmr_color_class} z-large z-w150" onclick="addAfterMessage();">保存并提交</button>&nbsp;&nbsp;
<button type="button" class="z-button z-large z-mg-l10 z-w100" onclick="parent.Z.Dialog.close();">关闭</button>
</div>
@@ -0,0 +1,184 @@
${Styles.htmlOverflowHidden()}
${Scripts.src("/zinc/js/global_2019010801.js")}
${yangcai_calc_Left_width_height(414, 110)}
<script>
function doChargeOrderAudit()
{//审核通过
var designId = Z.FM.getChecked("designId");
Z.confirm('确定审核通过?', function()
{
var ajax = new Z.Ajax();
ajax.setClassName("DesignOrderPresenter");
ajax.setMethodName("doChargeOrderAudit");
ajax.addParam(designId);
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z.success("提交成功",function(){parent.location.reload();});
});
ajax.execute();
});
}
function doChargeOrderReject()
{//审核退回
var designId = Z.FM.getChecked("designId");
Z.prompt("审核拒绝原因", "", function(value)
{
if(Z.V.isEmpty(value))
{
Z.alert("请输入拒绝原因");
return;
}
var ajax = new Z.Ajax();
ajax.setClassName("DesignOrderPresenter");
ajax.setMethodName("doChargeOrderReject");
ajax.addParam(designId);
ajax.addParam(value);
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z.success("提交成功",function(){parent.location.reload();parent.Z.Dialog.close();});
});
ajax.execute();
}, {type: 'textarea'});
}
function doProgressNote()
{//进度备注
var designId = Z.FM.getChecked("designId");
if(Z.V.isEmpty(designId))
{
Z.alert("请选择一条订单");
return;
}
var dialog = new Z.Dialog();
dialog.title = "订单["+designId+"]进度备注";
dialog.url = "/progressNote.htm?designId="+designId;
dialog.width = 1000;
dialog.height = 630;
dialog.execute();
}
</script>
<#var data="data=copy,userText,CustomFile,TemplateFile,userNotice"/>
<#var addRule=""/>
<#var delRule=""/>
${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('timeoutOrderNear.htm');">快超时订单</li>
<li onclick="Z.Location.href('timeoutOrderToday.htm');">当日超时订单</li>
<li onclick="Z.Location.href('timeoutOrderHistory.htm');">历史超时订单</li>
<li onclick="Z.Location.href('timeoutCompleteOrderHistory.htm');">定稿超时列表</li>
</ul>
</nav>
</div>
<#-- 左侧功能 -->
<div id="left" class="z-overflow-y-auto z-overflow-x-hidden z-relative-left">
<#-- 查询条件 -->
${zhiqim_manager_title("查询条件")}
<form name="theForm" action="/chargeOrder.htm">
<table class="z-table z-bordered z-pd6 z-bg-white">
<tr class="z-h40">
<td width="30%">订单号:<input class="z-input ${zmr_color_class} z-w160" name="designId" value="${designId}" maxlength="32" placeholder="订单号"/></td>
<td width="34%">产品类型:<select name="typeId" class="z-select z-w180" data-role="z-select" data-class="${zmr_color_class}">
<option value="">全部</option>
<#for item : DesignTypeDao.list()>
<option value="${item.getTypeId()}" <#if typeId == item.getTypeId()>selected</#if>>${item.getTypeName()}</option>
</#for>
</select>
</td>
<td width="*">行业分类:<select name="industryId" class="z-select z-w180" data-role="z-select" data-class="${zmr_color_class}">
<option value="">全部</option>
<#for item : Global.get(DesignIndustryCache.class).getIndustryList()>
<option value="${item.getIndustryId()}" <#if item.getIndustryId() == industryId>selected</#if>>${item.getIndustryName()}</option>
</#for>
</select>
</td>
</tr>
<tr class="z-h40">
<td>旺旺号:<input class="z-input ${zmr_color_class} z-w160" name="buyerNick" value="${buyerNick}" maxlength="32" placeholder="旺旺号"/></td>
<td colspan="2"><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>
<#-- 操作功能-->
<div class="z-w100p z-mg-t20 z-mg-b3">
<#if ZmrPathRule.check(request, "openWangWang")><button type="button" class="z-button z-mg-l6 z-mg-r6 ${zmr_color_class}" onclick="Global.openWangWang();"><img src="/zinc/images/wangwang.png">旺旺联系</button></#if>
<#if ZmrPathRule.check(request, "openQQ")><button type="button" class="z-button z-mg-l6 z-mg-r6 ${zmr_color_class}" onclick="Global.openQQ();"><img src="/zinc/images/qq.png">QQ联系</button></#if>
<button type="button" class="z-button ${zmr_color_class} z-mg-r6" onclick="doProgressNote();"><i class="z-font z-add"></i>进度备注</button>
<!--<button class="z-button z-cyan z-mg-r6" onclick="doDesignerAppoint();">指定设计师</button>-->
<button class="z-button z-cyan z-mg-r6" onclick="doChargeOrderAudit();">审核通过</button>
<button class="z-button z-red z-mg-r6" onclick="doChargeOrderReject();">审核拒绝</button>
</div>
<#-- 分页列表-->
<div class="z-overflow-auto z-bd-r">
<table class="z-table z-bordered zi-bd-r-none z-bg-white z-pd6" style="width:1780px">
${zhiqim_manager_tr_title(14, "主管审核订单列表")}
<tr class="z-text-center z-h40" bgcolor="${zmr_thead_bgcolor}">
<td width="60">选择</td>
<td width="100">订单号</td>
<td width="100">设计类型</td>
<td width="130">旺旺号</td>
<td width="80">设计师</td>
<td width="95">领取时间</td>
<td width="95">设计时间</td>
<td width="100">订单状态</td>
<td width="100">进度备注</td>
<td width="300">产品</td>
<td width="80">行业</td>
<td width="80">付款金额</td>
<td width="80">对稿QQ</td>
<td width="80">对稿微信</td>
<td width="80">对稿手机</td>
<td width="*">申请原因</td>
</tr>
<#if pageResult.size() == 0>
${zhiqim_manager_no_record(14, "暂不存在主管审核订单")}
</#if>
<#for item : pageResult.list()>
<input type="hidden" id="buyerNick_${item.getDesignId()}" value="${item.getBuyerNick()}">
<input type="hidden" id="userQq_${item.getDesignId()}" value="${item.getUserQq()}">
<tr align="center" class="z-h40" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
<td><input type="radio" name="designId" data-role="z-radio" data-class="${zmr_color_class}" value="${item.getDesignId()}" onclick = window.open('attaFileList.htm?designId=${item.getDesignId()}&${data}',"attaFileList")></td>
<td>${item.getDesignId()}</td>
<td>${DraftConstants.get(item.getDraftType())}</td>
<td>${item.getBuyerNick()}</td>
<td>${item.getDesigner()}</td>
<td>${Sqls.toDateTimeString(item.getDesignReceiveTime())}</td>
<td>${Sqls.toDateTimeString(item.getDesignBeginTime())}</td>
<td>${StatusConstants.getStatus(item.getStatus())}</td>
<td>${progressNoteMap.get(item.getDesignId())}</td>
<td>${item.getOrderText()}</td>
<td>${industryNameMap.get(item.getIndustryId())}</td>
<td>${Amounts.toYuanMustRadix(item.getAmount())}</td>
<td>${item.getUserQq()}</td>
<td>${item.getUserWx()}</td>
<td>${item.getUserMobile()}</td>
<td>${item.getDesignRequestReason()}</td>
</tr>
</#for>
</table>
</div>
${zhiqim_manager_paging(pageResult, "chargeOrder.htm")}
</div>
${zhiqim_manager_content_end()}
<#--右侧文件信息-->
<div class="z-fixed z-pd10 z-bd-l z-bg-white z-h100p" style="top:${fmr_topnav_height}px;right:0;width:400px;z-index:50;">
<iframe name="attaFileList" src="attaFileList.htm?${data}&${addRule}&${delRule}" frameborder="0" scrolling="auto" height="100%" width="100%"></iframe>
</div>
<#-- 联系旺旺&联系QQ弹窗框 -->
<iframe id="openFrm" class="z-hide" src="about:blank"></iframe>
@@ -0,0 +1,22 @@
<form name="theForm" action="/designerAppoint.htm" method="post" onSubmit="return validateForm(this);">
<table class="z-table z-bordered z-pd6">
<tr class="z-h40" bgcolor="#f3fdfc">
<td width="35%">原设计师:</td>
<td width="*"></td>
</tr>
<tr class="z-h40" bgcolor="#f3fdfc">
<td>指定新设计师:</td>
<td>
<select name="designer" class="z-select ${zmr_color_class} z-w200">
<#for item : operatorList>
<option value="${item.getOperatorCode()}">${item.getOperatorCode()}</option>
</#for>
</select> <font color=red>&nbsp;*</font>
</td>
</tr>
<table class="z-table fi-bd fi-bd-t-none z-pd6 z-bg-white">
<tr class="z-h40">
<td colspan="2" align="center"><button type="submit" class="z-button ${zmr_color_class} z-large z-w100">提交</button></td>
</tr>
</table>
</tabale>
@@ -0,0 +1,38 @@
<style>
.div{ margin:0 auto; width:600px; height:300px; border:5px solid #F00}
</style>
<script>
//图片放大
function showLargeImg(thisImg)
{
var dialog = new parent.Z.Dialog();
dialog.shadow = true;
dialog.title = "图片";
dialog.fixed = true;
dialog.url = "showLargeImg.htm?imgpath="+thisImg.src;
dialog.width = parent.Z.D.clientWidth()-200;
dialog.height = parent.Z.D.clientHeight()-200;
dialog.execute();
dialog.$background.remove();
}
</script>
${zhiqim_manager_content()}
<div class="z-mg5">
<sapn>${orderCheckModel.getBackReason()}</sapn> <br/>
</div>
<#if Validates.isNotEmpty(orderCheckModel.getBackReasonPicUrl())>
<div class="z-pd5">
<img alt="审核退回图片" src="${orderCheckModel.getBackReasonPicUrl()}" onclick="showLargeImg(this)">
</div>
</#if>
<br><br>
<#-- 操作 -->
<div class="z-absolute z-w100p z-h60 z-text-center z-bg-gray z-pd10" style="bottom:0;left:0">
<button type="button" class="z-button z-large z-w100" onclick="parent.Z.Dialog.close();">关闭</button></td>
</div>
${zhiqim_manager_content_end()}
</html>
@@ -0,0 +1,147 @@
${Scripts.src("/zinc/js/global_2019010801.js")}
<script>
function doPassCheck()
{//审核通过
var designIds = Z.FM.getCheckBoxValue("designId");
if (Z.V.isEmpty(designIds))
{
Z.alert("请选择订单");
return;
}
Z.confirm("确认审核通过吗?", function(){
var ajax = new Z.Ajax();
ajax.setClassName("ComplaintOrderPresenter");
ajax.setMethodName("complaintPass");
ajax.addParam("designIds", designIds);
ajax.setFailureAlert();
ajax.setSuccess(function(){document.theForm.submit(); location.reload(); Z.tips("操作成功"); });
ajax.execute();
})
}
function showBackDialog()
{//审核退回窗口
var designId = Z.FM.getChecked("designId");
Z.prompt("审核退回(请填写审核退回原因)", "", function(value)
{
if (Z.V.isEmpty(value))
{
Z.alert("请输入退回原因");
return;
}
var ajax = new Z.Ajax();
ajax.setClassName("ComplaintOrderPresenter");
ajax.setMethodName("complaintBack");
ajax.addParam("designId", designId);
ajax.addParam("desc", value);
ajax.setFailureAlert();
ajax.setSuccess(function(){document.theForm.submit();Z.tips("操作成功");});
ajax.execute();
}, {type: 'textarea'});
}
function docomplaintView(designId)
{
var dialog = new Z.Dialog();
dialog.title = "申诉详情";
dialog.url = "/complaintView.htm?designId=" + designId;
dialog.width = 1000;
dialog.height = 700;
dialog.execute();
}
</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>
</ul>
</nav>
</div>
<#-- 左侧功能 -->
<div>
<#-- 查询条件 -->
${zhiqim_manager_title("查询条件")}
<form name="theForm" id="theForm" >
<table class="z-table z-bordered z-pd6 z-bg-white">
<tr class="z-h40">
<td width="25%">订单号:<input name="designId" class="${zmr_color_class} z-input z-w180" value="${designId}" maxlength="64" placeholder="订单号"></td>
<td>设计师:
<select name="designer" class="z-select z-w160" data-role="z-select-search" data-class="${zmr_color_class}">
<option value="">全部</option>
<#for item : operatorList>
<option value="${item.getOperatorCode()}" <#if item.getOperatorCode() == designer>selected</#if>>${item.getOperatorCode()}</option>
</#for>
</select>
</td>
<td width="25%">旺旺号:<input name="buyerNick" class="${zmr_color_class} z-input z-w160" value="${buyerNick}" maxlength="64" placeholder="旺旺号"></td>
<td width="25%">退款时间:<input id="beginDate" name="beginDate" class="z-input z-w90 ${zmr_color_class}" readonly="true" onfocus="Z.date(this);" value="${beginDate}">&nbsp;-&nbsp;
<input id="endDate" name="endDate" class="z-input z-mg-l3 z-w90 ${zmr_color_class}" readonly="true" onfocus="Z.date(this);" value="${endDate}">
</td>
</tr>
<tr class="z-h40" align="center">
<td colspan="4"><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>
<#-- 操作功能 -->
<div class="z-w100p z-mg-t20 z-mg-b3">
<button type="button" class="z-button z-mg-r6 ${zmr_color_class}" onclick="doPassCheck();"><i class="z-font z-success"></i>审核通过</button>
<button type="button" class="z-button z-red z-mg-r6" onclick="showBackDialog();"><i class="z-font z-return"></i>审核退回</button>
<button type="button" class="z-button z-mg-r6 ${zmr_color_class}" onclick="Global.openWangWang();"><img src="/zinc/images/wangwang.png">旺旺联系</button>
<button type="button" class="z-button z-mg-r6 ${zmr_color_class}" onclick="Global.openQQ();"><img src="/zinc/images/qq.png">QQ联系</button>
</div>
<#-- 列表 -->
<div class=" z-bd-r">
<table class="z-table z-bordered z-h40-tr z-pd5 zi-bd-r-none z-bg-white z-text-center">
<tr bgcolor="${zmr_thead_bgcolor}">
<td width="60">选择</td>
<td width="100">订单号</td>
<td width="100">所属组织</td>
<td width="90">商户</td>
<td width="140">旺旺号</td>
<td width="100">状态</td>
<td width="*" style="min-width:220px">产品</td>
<td width="80">订单金额</td>
<td width="90">领单时间</td>
<td width="90">退款时间</td>
<td width="100">设计师</td>
<td width="200">申诉详情</td>
</tr>
${zhiqim_manager_tr_no_record(pageResult, 20, "暂时没有申诉订单")}
<#for item : pageResult.list()>
<input id="buyerNick_${item.getDesignId()}" type="hidden" value="${item.getBuyerNick()}">
<input id="userQq_${item.getDesignId()}" type="hidden" value="${item.getUserQq()}">
<tr class="z-pointer" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_checkbox()} >
<td><input name="designId" type="checkbox" data-role="z-checkbox" data-class="${zmr_color_class}" value="${item.getDesignId()}"></td>
<td> ${item.getDesignId()} <#if item.isUrgent()><span style="color: red;font-size:16px;font-weight: bold"> 急 </span></#if></td>
<td>${ZmrOrgDao.getOrgName(request, item.getOrgId())}</td>
<td>${item.getShopNick()}</td>
<td>${item.getBuyerNick()}</td>
<td>${StatusConstants.getStatus(item.getStatus())}</td>
<td>${item.getOrderText()}</td>
<td>${Amounts.toYuanMustRadix(item.getAmount())}</td>
<td>${Sqls.toDateTimeString(item.getDesignReceiveTime())}</td>
<td>${item.getRefundTime()}</td>
<td>${item.getDesigner()}</td>
<td><button class="z-button z-blue z-w100" onclick="docomplaintView(${item.getDesignId()})">查看</button></td>
</tr>
</#for>
</table>
</div>
${zhiqim_manager_paging(pageResult, "complaintOrder.htm")}
</div>
${zhiqim_manager_content_end()}
<#-- 联系旺旺&联系QQ弹窗框 -->
<iframe id="openFrm" class="z-hide" src="about:blank"></iframe>
@@ -0,0 +1,88 @@
<style>
body{ text-align:center}
.div{ margin:0 auto; width:600px; height:300px; border:5px solid #F00}
</style>
<script>
function doPassCheck()
{//审核通过
var designIds = ${order.getDesignId()};
if (Z.V.isEmpty(designIds))
{
Z.alert("请选择订单");
return;
}
Z.confirm("确认审核通过吗?", function(){
var ajax = new Z.Ajax();
ajax.setClassName("ComplaintOrderPresenter");
ajax.setMethodName("complaintPass");
ajax.addParam("designIds", designIds);
ajax.setFailureAlert();
ajax.setSuccess(function(){
parent.location.reload();
parent.Z.Dialog.close();
});
ajax.execute();
})
}
function showBackDialog()
{//审核退回窗口
var designId = ${order.getDesignId()};
Z.prompt("审核退回(请填写审核退回原因)", "", function(value)
{
if (Z.V.isEmpty(value))
{
Z.alert("请输入退回原因");
return;
}
var ajax = new Z.Ajax();
ajax.setClassName("ComplaintOrderPresenter");
ajax.setMethodName("complaintBack");
ajax.addParam("designId", designId);
ajax.addParam("desc", value);
ajax.setFailureAlert();
ajax.setSuccess(function(){
parent.location.reload();
parent.Z.Dialog.close();
});
ajax.execute();
}, {type: 'textarea'});
}
//图片放大
function showLargeImg(thisImg)
{
var dialog = new parent.Z.Dialog();
dialog.shadow = true;
dialog.title = "图片";
dialog.fixed = true;
dialog.url = "showLargeImg.htm?imgpath="+thisImg.src;
dialog.width = parent.Z.D.clientWidth()-200;
dialog.height = parent.Z.D.clientHeight()-200;
dialog.execute();
dialog.$background.remove();
}
</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" >${order.getComplaintReason()}</textarea>
</div>
<#for item : attaList>
<div class="z-pd5">
<img alt="截图" src="/${item.getAttaId()}-${item_index}-img" onclick="showLargeImg(this)">
</div>
</#for>
<br><br>
<div style="position:fixed;bottom:0px;height:50px;width:100%;background-color:#EFEFEF;border-top: solid 1px #ededed">
<div style="margin-top:10px">
<button class="z-button z-blue z-w100" onclick="doPassCheck()">审核通过</button>
<button class="z-button z-w100 ${zmr_color_class}" id="designOrderDraft" onclick="showBackDialog()">审核退回</button>&nbsp;&nbsp;&nbsp;
</div>
</div>
${zhiqim_manager_content_end()}
@@ -0,0 +1,62 @@
${request.getValidateScript()}
<script>
function doOrderQuestionsAdd(){
var product = Z("#product").val();
var materials = Z("#materials").val();
var sizeLength = Z("#sizeLength").val();
var sizeWidth = Z("#sizeWidth").val();
var faceCount = Z("#faceCount").val();
var styleCount = Z("#styleCount").val();
var others = Z("#others").val();
var ajax = new Z.Ajax();
ajax.setClassName("ConfigQuestionsAction");
ajax.setMethodName("orderQuestionsAdd");
ajax.addParam("product",product);
ajax.addParam("materials",materials);
ajax.addParam("sizeLength",sizeLength);
ajax.addParam("sizeWidth",sizeWidth);
ajax.addParam("faceCount",faceCount);
ajax.addParam("styleCount",styleCount);
ajax.addParam("others",others);
ajax.setFailureAlert();
ajax.setSuccess(function()
{
Z.success("添加成功", function(){parent.location.reload();parent.Z.Dialog.close();});
});
ajax.execute();
}
</script>
<style>
.container{ min-height:200px;}
</style>
<table class="z-table z-bordered z-pd6 z-bg-white" style="height:240px;">
<tr>
<td>
产品类型:<input id="product" type="text" name="product" class="z-input z-w200" value="" placeholder="如:名片">&nbsp;&nbsp;&nbsp;
材质描述:<input id="materials" type="text" name="materials" class="z-input z-w200" value="" placeholder="如:铜版纸覆膜">
</td>
</tr>
<tr>
<td>
尺寸长(mm)<input id="sizeLength" type="text" name="sizeLength" class="z-input z-w180" value="" placeholder="如:90" data-options="type:Integer;">&nbsp;&nbsp;&nbsp;
尺寸宽(mm)<input id="sizeWidth" type="text" name="sizeWidth" class="z-input z-w180" value="" placeholder="如:54" data-options="type:Integer;">
</td>
</tr>
<tr>
<td>
单双面:&nbsp;&nbsp;&nbsp;&nbsp;<input id="faceCount" type="text" name="faceCount" class="z-input z-w200" value="" placeholder="如:双面">&nbsp;&nbsp;&nbsp;
款数:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input id="styleCount" type="text" name="styleCount" class="z-input z-w200" value="" placeholder="如:1款1模">
</td>
</tr>
<tr>
<td>
其他需求:<input id="others" type="text" name="others" class="z-input z-w500" value="" >
</td>
</tr>
</table>
<#-- 操作 -->
<div class=" z-w100p z-text-center z-bg-gray z-pd10" style="bottom:0;left:0">
<button class="z-button z-large z-w120 ${zmr_color_class}" onclick="doOrderQuestionsAdd();" >提交</button>&nbsp;
<button type="button" class="z-button z-large z-w100 z-mg-l10" onclick="parent.Z.Dialog.close(location.hash);">关闭</button>
</div>
@@ -0,0 +1,38 @@
${request.getValidateScript()}
<script>
function doOrderQuestionsModify(){
var questionsId = ${result.getQuestionsId()};
var designRequirements = document.getElementById("designRequirements").value;
var ajax = new Z.Ajax();
ajax.setClassName("ConfigQuestionsAction");
ajax.setMethodName("orderQuestionsModify");
ajax.addParam("questionsId", questionsId);
ajax.addParam("designRequirements", designRequirements);
ajax.setFailureAlert();
ajax.setSuccess(function()
{
Z.success("修改成功", function(){parent.location.reload();parent.Z.Dialog.close();});
});
ajax.execute();
}
</script>
<style>
.container{ min-height:150px;}
</style>
<form name="theForm" method="post" action="javascript:void(0);" onSubmit="doOrderQuestionsModify(this);">
<table class="z-table z-text-left z-pd6 z-bg-white" >
<tr>
<td>设计要求:</td>
</tr>
<tr>
<td>
<input id="designRequirements" type="text" name="designRequirements" class="z-input z-w600" value="${result.getDesignRequirements()}">&nbsp;&nbsp;&nbsp;
</td>
</tr>
</table>
<#-- 操作 -->
<div class="z-w100p z-text-center z-bg-gray z-pd10" style="position:fixed;bottom:0;left:0">
<button class="z-button z-large z-w120 ${zmr_color_class}" onclick="doOrderQuestionsModify();">提交</button>&nbsp;
<button type="button" class="z-button z-large z-w100 z-mg-l10" onclick="parent.Z.Dialog.close(location.hash);">关闭</button>
</div>
</form>
@@ -0,0 +1,36 @@
<script>
function contendOrder(){
var ajax = new Z.Ajax();
ajax.setClassName("ContendOrderAction");
ajax.setMethodName("contendOrder");
ajax.addParam("designId",${designId});
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z.success("抢单成功,可以在设计订单开始设计啦~", function(){
parent.location.reload();
parent.Z.Dialog.close();
});
});
ajax.execute();
}
</script>
<style>
.container{ min-height:455px; background:#fff;}
.order-no td{ padding:0 0 0 30px;}
.order-title{ color:#0089e1;font-weight:bold; font-size:26px; padding:10px 0 0 30px; line-height:60px;}
.order-p{ font-size:16px; padding:0 20px 0 30px; line-height:36px; border-bottom:1px solid #f2f2f2;}
.order-info{ background:#0089e1;border-radius:8px;width:520px;height:130px; margin:30px 0 0 30px;text-align:center; color:#fff; font-size:22px; padding:16px 66px; line-height:36px;}
.order-info span{ color:#fffc00; font-weight:bold;}
</style>
<div class='order-box'>
<div class="order-title">接受订单</div>
<div class='order-p'>订单编号: ${designId}</div>
<div class='order-p'>产品类型: ${orderText}</div>
<!--<div class="order-info">确认接单,请按规定时效流程进行设计服务!(务必十分钟内联系客户,快速定稿有奖励,超时定稿有处罚)</div>-->
</div>
<#-- 操作 -->
<div class="z-absolute z-w100p z-h60 z-text-center z-bg-gray z-pd10" style="bottom:10px;left:0">
<button id="contendOrder" style="border-radius:8px; background:#0089e1;" class="z-button ${zmr_color_class} z-large z-w100" onclick="contendOrder();">确认</button>
<button type="button" style="border-radius:8px; background:#949393; color:#fff; border:none;" class="z-button z-large z-mg-l10 z-w100" onclick="parent.Z.Dialog.close(location.hash);">关闭</button>
</div>
</div>
@@ -0,0 +1,610 @@
${Styles.htmlOverflowHidden()}
${Scripts.src("/zinc/js/global_2019010801.js")}
${yangcai_calc_Left_width_height(400, 70)}
<style>
.search-box{ border:1px solid #d3d3d3; margin:0 10px 0 0; width:210px; float:left; border-radius:20px; padding:0 14px; background:#fff;}
.search-box span{ float:left; line-height:32px; color:#282c2f;}
.search-box input{ border:none; box-shadow:none; width:130px; height:32px; padding:0 0 0 10px; line-height:32px;}
.search-box select{ float:right; width:100px;}
.design-order{ background: #fff;}
.clear:after{content:'';display:block;clear:both;height:0;overflow:hidden;visibility:hidden;}
.clear{zoom:1;}
.z-select{ height:32px; padding:0;}
.z-dropdown>.z-default{ color:#999;}
.z-dropdown{ border:none; }
.z-dropdown>i{ padding:4px 0 0 0;}
.z-dropdown.z-blue.z-active, .z-dropdown.z-blue>.z-list{ border:none;}
.z-operater{ padding:4px 4px;}
.z-text-ellipsis {text-overflow: ellipsis; overflow: hidden; white-space: nowrap; display: inline; }
.z-floater .z-content {
position: absolute;
top: 0;
left: 0;
min-width: 30px;
min-height: 25px;
padding: 6px;
font-size: 12px;
border: 1px solid #c6c6c6;
line-height: 25px;
text-align: center;
background: #fff;
}
.z-table.z-bordered>thead>tr>th,.z-table.z-bordered>thead>tr>td,.z-table.z-bordered>tbody>tr>th,.z-table.z-bordered>tbody>tr>td{
border:none; border-bottom: 1px solid #e4e4e4; font-size:13px; color:#999; height:52px;
}
.z-table.z-bordered{ border:none;}
.z-bd-r{ border:none;}
.z-tabnav-main>nav li{ border-right:none; font-size:15px; height:50px; line-height:50px;}
.z-tabnav-main.z-blue>nav li.z-active { color:#28a3ef; background: #fff; position: relative; font-weight: bold; }
.z-tabnav-main.z-blue>nav li.z-active:hover{ background: #fff;}
.z-tabnav-main.z-blue>nav li.z-active::before{content:''; bottom:0; left:50%; margin:0 0 0 -18px; position: absolute; width:36px; height:2px; background:#28a3ef;}
.screen{ background: #e4e5ea; height:70px; padding:20px 0 0 24px; box-sizing: border-box;}
.z-tabnav-main{ border:none;}
.btn-search{ border-radius:32px; height:32px; float:left; margin:0 10px 0 0;}
.z-text-left td{ color:#363940!important; font-weight: bold;}
.z-button.z-red { background: #1681f5; border: 1px solid #1681f5;}
.z-readonly{ border:none!important; background: #edeeef!important;}
.z-text-red{color:#1681f5;}
.z-red:hover{ background: #1681f5!important;}
.schedule a{ color:#999;}
.color-orange{ color:#ff6600;}
.schedule a p{ line-height:28px;}
.goDetail{ cursor: pointer; height:30px; background:#1182fc; color:#fff!important; font-size:12px; width:70px; border-radius:4px; line-height:30px; display:block; text-align: center;}
</style>
<script>
Z.onload(function(){
refreshEffectiveTime();
Z.timer(10000, -1, null, refreshEffectiveTime);
var height=Z("#operation").offsetHeight();
if(height>55){
Z("#fixedSpan").style("margin-top: -30px;");
}
})
function doModifyIndustry()
{//修改行业
var designId = Z.FM.getChecked("designId");
if(Z.V.isEmpty(designId))
{
Z.alert("请选择一条订单");
return;
}
var dialog = new Z.Dialog();
dialog.title = "修改行业";
dialog.url = "/modifyIndustry.htm?designId="+designId+"&flag=0";
dialog.width = 500;
dialog.height = 300;
dialog.execute();
}
function refreshEffectiveTime()
{
Z.each(Z("span[id^=time_]"), function(span, i)
{
var effectiveTime = span.attributes["data-effectiveTime"].value*1;
var createTime = new Date(span.attributes["data-createTime"].value).getTime();
var nowTime = new Date().getTime();
var time = parseInt((createTime - nowTime)/1000/60 + effectiveTime);
if (time > 0)
{
if(!Z(span).hasClass("z-text-green"))
Z(span).addClass("z-text-green")
}
else
{
time = -time;
Z(span).removeClass("z-text-green");
Z(span).addClass("z-text-red");
}
var day;
var hour;
var minutes;
if (time/(24*60) >0)
{
day = parseInt(time/(24*60));
time = time%(24*60);
}
if (time/60 >0)
{
hour = parseInt(time/60);
minutes = time%60;
}
var timeHtml = "";
if (day >0)
timeHtml += day+"天";
if (hour >0)
timeHtml += hour+"小时";
if (minutes >0)
timeHtml += minutes+"分钟";
Z(span).html(timeHtml);
});
}
function doDesignOrderStop()
{//暂停设计
var designId = Z.FM.getChecked("designId");
if(!doQueryStatus(designId, "PAUSE"))
return;
var dialog = new Z.Dialog();
dialog.title = "暂停设计";
dialog.url = "/designOrderStop.htm?designId=" + designId;
dialog.width = 600;
dialog.height = 300;
dialog.execute();
}
function doDesignOrderStart()
{//开启设计
var designId = Z.FM.getChecked("designId");
if(!doQueryStatus(designId, "RESUME"))
return;
var ajax = new Z.Ajax();
ajax.setClassName("DesignOrderPresenter");
ajax.setMethodName("doDesignOrderStart");
ajax.addParam(designId);
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z.success("开启成功",function(){parent.location.reload();});
});
ajax.execute();
}
function doDesignOrdertoERP(e)
{//开启设计
var url = "https://file.lingtao8.com/?tid="+e;
var dialog = new Z.Dialog();
dialog.title = "客户信息";
dialog.url = url;
dialog.width = 1000;
dialog.height = 630;
dialog.execute();
}
function doDesignOrderRefund()
{//请求退款
var designId = Z.FM.getChecked("designId");
var ajax = new Z.Ajax();
ajax.setClassName("DesignOrderPresenter");
ajax.setMethodName("doDesignOrderRefundValidate");
ajax.addParam("designId", designId);
ajax.setFailureAlert();
ajax.setSuccess(function(){
if(Z.V.isNotEmpty(this.responseText)){
Z.confirm(this.responseText, function(){
var dialog = new Z.Dialog();
dialog.title = "退款订单: "+designId+" (截屏后粘贴(CTRL+V)到下方空白处)";
dialog.url = "/designOrderRefund.htm?designId=" + designId;
dialog.width = 600;
dialog.height = 400;
dialog.execute();
});
return;
}
var dialog = new Z.Dialog();
dialog.title = "退款订单: "+designId+" (截屏后粘贴(CTRL+V)到下方空白处)";
dialog.url = "/designOrderRefund.htm?designId=" + designId;
dialog.width = 600;
dialog.height = 400;
dialog.execute();
});
ajax.execute();
}
function doDesignOrderDraft()
{//完成初稿
var designId = Z.FM.getChecked("designId");
var ajax = new Z.Ajax();
ajax.setClassName("DesignOrderPresenter");
ajax.setMethodName("doQueryStatus");
ajax.addParam(designId);
ajax.addParam("SUMBIT");
ajax.setFailureAlert();
ajax.setSuccess(function()
{
var dialog = new Z.Dialog();
dialog.title = "完成初稿截图(截屏后粘贴(CTRL+V)到输入框中)";
dialog.url = "/designOrderDraft.htm?designId=" + designId;
dialog.width = 600;
dialog.height = 400;
dialog.execute();
})
ajax.execute();
}
function doDraftOrderToComplete()
{//完成定稿
var designId = Z.FM.getChecked("designId");
var draftType = Z("#draftType_"+designId).val();
if(draftType == 0)
{//自来稿订单
var ajax1 = new Z.Ajax();
ajax1.setClassName("DesignOrderPresenter");
ajax1.setMethodName("doEasyDraftOrderToComplete");
ajax1.addParam(designId);
ajax1.setFailureAlert();
ajax1.setSuccess(function(){Z.success("定稿成功", function(){location.reload();});});
ajax1.setLoading("doDraftOrderToComplete", '正在提交', {disabled:true});
ajax1.execute();
}
else
{
var ajax = new Z.Ajax();
ajax.setClassName("DesignOrderPresenter");
ajax.setMethodName("doDraftOrderToComplete");
ajax.addParam(designId);
ajax.setFailureAlert();
ajax.setSuccess(function(){Z.success("提交定稿成功", function(){location.reload();});});
ajax.setLoading("doDraftOrderToComplete", '正在提交', {disabled:true});
ajax.execute();
}
}
function doQueryStatus(designId, oprType)
{//查询订单状态
var ajax = new Z.Ajax();
ajax.setSync();
ajax.setClassName("DesignOrderPresenter");
ajax.setMethodName("doQueryStatus");
ajax.addParam(designId);
ajax.addParam(oprType);
ajax.execute();
if(ajax.responseStatus != 0)
{
Z.alert(ajax.responseText);
return false;
}
return true;
}
//前往设计
function toDesign()
{
var designId = Z.FM.getChecked("designId");
var prdType = Z("#prdType_"+designId).val();
var targetUrl = "/templatePreview.htm?designId="+designId;
var targetCardUrl = "/templateCardPreview.htm?designId="+designId+"&src=design";
var ajax = new Z.Ajax();
ajax.setClassName("DesignOrderPresenter");
ajax.setMethodName("doDesignerOrderTemplate");
ajax.addParam("designId", designId);
if(prdType == "2023207561256")
{
ajax.addParam("validateUrl", targetCardUrl);
}
else
{
ajax.addParam("validateUrl", targetUrl);
}
ajax.setFailureAlert();
ajax.setSuccessLocationResponse();
ajax.execute();
}
//名片手机库访问连接
function doCopyURLInfoPC()
{
Z.copy("http://design.yangcai365.com/pcWorks.htm");
top.Z.tips("复制成功");
}
function doProgressNote(id)
{//进度备注
var designId =id
if (Z.V.isEmpty(designId))
{
designId = Z.FM.getChecked("designId");
if (Z.V.isEmpty(designId))
{
Z.alert("请选择一条订单");
return;
}
}
var dialog = new Z.Dialog();
dialog.title = "订单["+designId+"]进度备注";
dialog.url = "/progressNote.htm?designId="+designId;
dialog.width = 1000;
dialog.height = 630;
dialog.execute();
}
//审核详情查看
function doCheckDetail()
{
var designId = Z.FM.getChecked("designId");
var dialog = new Z.Dialog();
dialog.title = "审核退回详情";
dialog.url = "/checkBackDetail.htm?designId=" + designId;
dialog.width = 800;
dialog.height = 500;
dialog.execute();
}
//快捷联系人
function quickContact()
{
var designId = Z.FM.getChecked("designId");
if (Z.V.isEmpty(designId))
{
Z.alert("请选择一条订单");
return;
}
var ajax = new Z.Ajax();
ajax.setClassName("OrderPresenter");
ajax.setMethodName("quickContact");
ajax.addParam("designId", designId);
ajax.setFailureAlert();
ajax.setSuccess(function(){
var obj = Z.J.toObject(this.responseText);
console.log(obj);
var resultHtml = obj.resultHtml;
if (!Z("#quickContact_dialog")[0])
{
var dialog = new Z.Dialog();
dialog.title = '<span id="quickContact_title" class="z-bold"></span>';
dialog.text = '<div id="quickContact_dialog"></div>';
dialog.width = 750;
dialog.height = 400;
dialog.shadow = false;
dialog.execute();
dialog.$background.remove();
console.log(dialog)
}
Z("#quickContact_dialog").htmlc(resultHtml);
Z("#quickContact_title").htmlc(Z("#title_content").html());
});
ajax.setLoading("quickContactBtn", '<i class="z-font z-query"></i>正在查询', {disabled:true});
ajax.execute();
}
//放弃订单
function doWaiveOrder(){
var designId = Z.FM.getChecked("designId");
if (Z.V.isEmpty(designId))
{
Z.alert("请选择一条订单");
return;
};
var dialog = new Z.Dialog();
dialog.url = "/waiveOrder.htm?designId="+designId;
dialog.width = 600;
dialog.height = 400;
dialog.execute();
}
function checkReturn(designId){
if(designId == "" || designId==null){
Z.alert("请选择一条订单");
return;
}
var ajax = new Z.Ajax();
ajax.setClassName("DesignOrderPresenter");
ajax.setMethodName("checkReturn");
ajax.addParam(designId);
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z.success("退款成功",function(){parent.location.reload();});
});
ajax.execute();
}
function checkNoReturn(designId){
if(designId == "" || designId==null){
Z.alert("请选择一条订单");
return;
}
var ajax = new Z.Ajax();
ajax.setClassName("DesignOrderPresenter");
ajax.setMethodName("checkNoReturn");
ajax.addParam(designId);
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z.success("拒绝退款成功",function(){parent.location.reload();});
});
ajax.execute();
}
</script>
<#var data="data=copy,userText,userNotice,CustomFile,DesginFile,EndFile,WorkFile,FristThumFile,TbzFile"/>
<#var addRule="addRule=CustomFile"/>
<#var delRule="delRule=CustomFile"/>
${zhiqim_manager_breadcrumb("未完成订单")}
${zhiqim_manager_content()}
<div class="design-order clear">
<#-- 导航栏 -->
<div class="z-tabnav-main z-blue">
<nav>
<ul>
<li class="z-active">未完成订单</li>
<li onclick="Z.Location.href('designOrderFinish.htm');">已完结订单</li>
<li onclick="Z.Location.href('waitHandleAfterOrder.htm');">售后订单</li>
<li onclick="Z.Location.href('complainWantDealList.htm');">投诉订单</li>
</ul>
</nav>
</div>
<#-- 左侧功能 -->
<div class="z-overflow-y-auto z-overflow-x-hidden z-relative-left" style="width:100%;">
<#-- 查询条件 -->
<form name="theForm" action="/designOrder.htm">
<div class="screen">
<div class="search-box">
<span>订单号</span>
<input class="z-input z-w160 ${zmr_color_class}" name="designId" value="${designId}" maxlength="32" placeholder="订单号"/>
</div>
<div class="search-box">
<span>旺旺号</span>
<input class="z-input ${zmr_color_class} z-w160" name="buyerNick" value="${buyerNick}" maxlength="32" placeholder="旺旺号"/>
</div>
<div class="search-box">
<span>产品类型</span>
<select name="typeId" class="z-select z-w180" data-role="z-select" data-class="${zmr_color_class}">
<option value="">全部</option>
<#for item : DesignTypeDao.list()>
<option value="${item.getTypeId()}" <#if typeId == item.getTypeId()>selected</#if>>${item.getTypeName()}</option>
</#for>
</select>
</div>
<div class="search-box">
<span>设计等级</span>
<select name="draftType" class="z-select z-w180" data-role="z-select" data-class="${zmr_color_class}">
<option value="">全部</option>
<#for item : DraftConstants.getList()>
<#if item.value() != 4 >
<option value="${item.value()}" <#if draftType == item.value()>selected</#if>>${item.desc()}</option>
</#if>
</#for>
</select>
</div>
<div class="search-box">
<span>订单状态</span>
<select name="orderStatus" class="z-select z-w180" data-role="z-select" data-class="${zmr_color_class}">
<option value="">全部</option>
<#for statusStr : StatusConstants.getOrderStatusList()>
<#if statusStr.value() gte StatusConstants.ORDER_30.value() && statusStr.value() lte StatusConstants.ORDER_52.value()>
<option value="${statusStr.value()}" <#if statusStr.value() == orderStatus>selected</#if>>${statusStr.desc()}</option>
</#if>
</#for>
</select>
</div>
<button class="z-button z-blue btn-search"><i class="z-font z-query"></i>查询</button>
<button class="z-button btn-search" style=" padding:0 20px;" type="button" onclick="Z.FM.clearForm(this.form);">清空</button>
</div>
</form>
<#-- 操作功能-->
<div id="operation" class="z-w100p z-mg-t20 z-mg-b3" style="width:100%; padding:0 24px 14px 24px;">
<button id="designOrderRefund" class="z-button z-blue" onclick="doDesignOrderRefund();"><i class="z-font z-modify"></i>申请退款</button>
<button class="z-button z-blue" onclick="doProgressNote();"><i class="z-font z-modify"></i>进度备注</button>
<button class="z-button z-blue" onclick="doCheckDetail();"><i class="z-font z-query"></i>驳回原因查看</button>
<#-- <button class="z-button z-yellow" onclick="doDesignOrderStop();"><i class="z-font z-close"></i>暂停设计</button>
<button class="z-button z-yellow" onclick="doDesignOrderStart();"><i class="z-font z-open"></i>开启设计</button>-->
<button type="button" style="display:none;" class="z-button z-yellow z-w100" onclick="doWaiveOrder();"><i class="z-font z-return"></i>放弃订单</button>
<span id="fixedSpan" class="z-float-right">
<!--<button class="z-button z-blue z-mg-l20 z-operater" onclick="doCopyURLInfoPC();">复制模板库链接</button>-->
<!--<button class="z-button z-purple" onclick="toDesign();"> <i class="z-font z-next"></i>前往模板设计</button>-->
</span>
<!--<button type="button" class="z-button ${zmr_color_class} z-mg-r6" onclick="doModifyIndustry();"><i class="z-font z-modify"></i>修改行业</button>-->
</div>
<#-- 分页列表-->
<div class="z-overflow-auto z-bd-r" style="padding:0 24px;">
<table class="z-table z-bordered zi-bd-r-none z-bg-white z-pd6" style="width:100%">
<tr class="z-text-left z-h40" data-layoutCode="designOrderList">
<td width="40">选择</td>
<td width="60">产品类型</td>
<td width="100">设计等级<br/>设计类型</td>
<td width="100">订单号</td>
<td width="100">旺旺号</td>
<td width="100">领单时间</td>
<#if isShowCost == 1>
<td width="60">设计佣金</td>
</#if>
<td width="60">加急费</td>
<td width="80">订单状态</td>
<td width="150">淘宝信息</td>
<td width="150">进度备注</td>
<td width="100">退回理由</td>
<td width="60" align="center">操作</td>
<td width="60" align="center">客户信息</td>
</tr>
<#if pageResult.size() == 0>
${zhiqim_manager_no_record(15, "暂不存在设计订单信息")}
</#if>
<#for item : pageResult.list()>
<input type="hidden" id="buyerNick_${item.getDesignId()}" value="${item.getBuyerNick()}">
<input type="hidden" id="prdType_${item.getDesignId()}" value="${item.getTypeId()}">
<input type="hidden" id="draftType_${item.getDesignId()}" value="${item.getDraftType()}">
<tr align="left" class="z-h40 <#if Validates.isNotEmpty(item.getCheckBackReason())> z-text-red</#if>" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
<td><input type="radio" name="designId" data-role="z-radio" data-class="${zmr_color_class} z-large" value="${item.getDesignId()}"
></td>
<td>${Global.get(DesignTypeCache.class).getName(item.getTypeId())}</td>
<td>${DraftConstants.get(item.getDraftType())}<br/>
<#if item.isOnlyDesign()>
仅设计
<#else>印刷设计</#if>
</td>
<td>${item.getDesignId()}
<#if Validates.isNotEmpty(item.getCheckBackReason()) && item.getStatus() lt 55 >
<span style="color: red;font-size:16px;font-weight: bold" data-role="z-tooltip" data-options="placement:right;align:bottom;arrow:false;" data-text="订单已被审稿驳回"> 驳 </span>
<#elseif Validates.isNotEmpty(item.getDraftBackReason()) && item.getStatus() lt 55 >
<span style="color: red;font-size:16px;font-weight: bold" data-role="z-tooltip" data-options="placement:right;align:bottom;arrow:false;" data-text="订单已被审稿驳回"> 驳 </span>
<#elseif Validates.isNotEmpty(item.getEndBackReason()) && item.getStatus() lt 55 >
<span style="color: red;font-size:16px;font-weight: bold" data-role="z-tooltip" data-options="placement:right;align:bottom;arrow:false;" data-text="订单已被审稿驳回"> 驳 </span>
</#if>
<#if item.isUrgent()>
<span style="color: red;font-size:16px;font-weight: bold" data-role="z-tooltip" data-options="placement:right;align:bottom;arrow:false;" data-text="加急订单"> 急 </span>
</#if>
<#if item.isChange()>
<span style="color: red;font-size:16px;font-weight: bold" data-role="z-tooltip" data-options="placement:right;align:bottom;arrow:false;" data-text="改稿订单"> 改 </span>
</#if>
<#if item.isBack()>
<span style="color: red;font-size:16px;font-weight: bold" data-role="z-tooltip" data-options="placement:right;align:bottom;arrow:false;" data-text="打回订单"> 回 </span>
</#if>
<#if item.getIsOldUser() gt 0>
<span style="color: #9D24D7;font-size:16px;font-weight: bold" data-role="z-tooltip" data-options="placement:right;align:bottom;arrow:false;" data-text="老用户订单"> 老 </span>
</#if>
</td>
<td><a href="/wangwangOrder.htm?buyerNick=${item.getBuyerNick()}">${item.getBuyerNick()}</a></td>
<td>${Sqls.toDateTimeString(item.getDesignReceiveTime())}</td>
<#if isShowCost == 1>
<td>${Amounts.toYuanMustRadix(item.getDesignPrice())}</td>
</#if>
<td><#if item.getUrgentPrice() gt 0>
${Amounts.toYuanMustRadix(item.getUrgentPrice())}
<#else></#if>
</td>
<td>${StatusConstants.getStatus(item.getStatus())}</td>
<td>${item.getReturnMsg()}</td>
<td class="schedule">${progressNoteMap.get(item.getDesignId())}</td>
<td>${item.getReturnReason()}</td>
<td align="center">
<span class="goDetail" onclick="Z.L.href('allOrderDetail.htm?designId=${item.getDesignId()}&${data}&${addRule}&${delRule}');if(${item.getDraftType()} == 0){Z('#orderDraft').hide()}else{Z('#orderDraft').show()}">详情</span>
<#if item.getStatus() == 34>
</br><span class="goDetail" onclick="checkReturn(${item.getDesignId()})">确认退款</span>
</br><span class="goDetail" onclick="checkNoReturn(${item.getDesignId()})">拒绝退款</span>
</#if>
</td>
<td align="center">
<span class="goDetail" onclick="doDesignOrdertoERP('${item.getTids()}')">查看</span>
</td>
</tr>
</#for>
</table>
</div>
${zhiqim_manager_paging(pageResult, "designOrder.htm")}
</div>
</div>
${zhiqim_manager_content_end()}
<#-- 联系旺旺&联系QQ弹窗框 -->
<iframe id="openFrm" class="z-hide" src="about:blank"></iframe>
@@ -0,0 +1,90 @@
<style>
body{ text-align:center}
.div{ margin:0 auto; width:600px; height:300px; border:5px solid #F00}
</style>
<script>
function doCancel()
{//取消
Z("#divImg").remove()
}
function doSubmit()
{
var data = Z("#imgData").text()
if (Z.Validates.isEmpty(data))
{
Z.alert("请添加初稿截图!")
return;
}
var ajax = new Z.Ajax();
ajax.setClassName("DesignOrderPresenter");
ajax.setMethodName("saveDraftCertificate");
ajax.addParam(data);
ajax.addParam(${designId});
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z.success("提交成功",function(){parent.location.reload();parent.Z.Dialog.close();});
});
ajax.setLoading("designOrderDraft", '正在提交', {disabled:true});
ajax.execute();
}
(function(){
var imgReader = function( item ){
var blob = item.getAsFile(),
reader = new FileReader();
// 读取文件后将其显示在网页中
reader.onload = function(e){
var img = new Image();
var result = e.target.result;
Z("#imgData").text(result);
img.src = result;
img.id = "divImg";
Z("#imgSrc").append(img);
};
// 读取文件
reader.readAsDataURL(blob);
};
window.addEventListener( 'paste', function(e){
// 添加到事件对象中的访问系统剪贴板的接口
var clipboardData = e.clipboardData,
i = 0,
items, item, types;
if(clipboardData){
items = clipboardData.items;
if( !items ){
return;
}
item = items[0];
// 保存在剪贴板中的数据类型
types = clipboardData.types || [];
for( ; i < types.length; i++ ){
if( types[i] === 'Files' ){
item = items[i];
break;
}
}
// 判断是否为图片数据
if( item && item.kind === 'file' && item.type.match(/^image\//i) ){
imgReader( item );
}
}
});
})();
</script>
${zhiqim_manager_content()}
<div style="display:none" id="imgData"></div>
<div id="imgSrc"></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 class="z-button z-w100 ${zmr_color_class}" id="designOrderDraft" onclick="doSubmit();">提交</button>&nbsp;&nbsp;&nbsp;
<button class="z-button z-w80" onclick="parent.Z.Dialog.close()">关闭</button>&nbsp;
<button class="z-button z-cyan z-w80" onclick="doCancel();">移除截图</button>&nbsp;
</div>
</div>
<br><br>
${zhiqim_manager_content_end()}
</html>
@@ -0,0 +1,167 @@
<script>
function doCardModify()
{//电子名片去设计
var designId = Z.FM.getChecked("designId");
if(Z("#typeId"+designId).val() == 2023207561256){
var ajax = new Z.Ajax();
ajax.setClassName("DesignOrderPresenter");
ajax.setMethodName("doDesignerOrderTemplate");
ajax.addParam("designId", designId);
ajax.addParam("validateUrl", "/templateCardPreview.htm?designId="+designId+"&src=finish");
ajax.setFailureAlert();
ajax.setSuccessLocationResponse();
ajax.execute();
}else{
Z.alert("仅支持秒绘智能名片产品操作");
}
}
function doOrderReturn()
{//订单退回
var designId = Z.FM.getChecked("designId");
if(Z("#designer"+designId).val() != '${request.getSessionName()}'){
Z.alert("非订单设计师 不支持操作");
return;
}
Z.confirm('你确定退回订单吗?', function(){
var ajax = new Z.Ajax();
ajax.setClassName("OrderCheckPresenter");
ajax.setMethodName("doDesignerOrderReturn");
ajax.addParam("designId", designId);
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z.success("操作成功",function(){
location.reload();
});
});
ajax.execute();
});
}
</script>
<style>
.z-tabnav-main{ border:none;}
.z-tabnav-main>nav li{ border-right:none; font-size:15px; height:50px; line-height:50px;}
.z-tabnav-main.z-blue>nav li.z-active { color:#28a3ef; background: #fff; position: relative; font-weight: bold; }
.z-tabnav-main.z-blue>nav li.z-active:hover{ background: #fff;}
.z-tabnav-main.z-blue>nav li.z-active::before{content:''; bottom:0; left:50%; margin:0 0 0 -18px; position: absolute; width:36px; height:2px; background:#28a3ef;}
.screen{ background: #e4e5ea; min-height:70px; padding:20px 0 10px 24px; box-sizing: border-box;}
.search-box{ border:1px solid #d3d3d3; margin:0 10px 0 0; width:210px; float:left; border-radius:20px; padding:0 14px; background:#fff;}
.search-box span{ float:left; line-height:32px; color:#282c2f;}
.search-box input{ border:none; box-shadow:none; width:130px; height:32px; padding:0 0 0 10px; line-height:32px;}
.search-box select{ float:right; width:100px;}
.btn-search{ border-radius:32px; height:32px; float:left; margin:0 10px 0 0;}
.z-table.z-bordered>thead>tr>th,.z-table.z-bordered>thead>tr>td,.z-table.z-bordered>tbody>tr>th,.z-table.z-bordered>tbody>tr>td{
border:none; border-bottom: 1px solid #e4e4e4; font-size:13px; color:#999; height:52px;
}
.z-table.z-bordered{ border:none;}
.z-bd-r{ border:none;}
.design-order{ background: #fff;}
.clear:after{content:'';display:block;clear:both;height:0;overflow:hidden;visibility:hidden;}
.clear{zoom:1;}
.z-readonly{ border:none!important; background: #edeeef!important;}
.z-text-left td {
color: #363940!important;
font-weight: bold;
}
.z-text-red{color:#1681f5;}
.z-red:hover{ background: #1681f5!important;}
.z-button.z-red { background: #1681f5; border: 1px solid #1681f5;}
.goDetail{cursor: pointer; height:30px; background:#1182fc; color:#fff!important; font-size:12px; width:70px; border-radius:4px; line-height:30px; display:block; text-align: center;}
</style>
<#def designatedPath="/designOrder.htm"/>
<#var data="data=copy,userText,CustomFile,DesginFile,EndFile,WorkFile,AftersaleFile,ThumFile,userNotice,TbzFile"/>
<#var addRule="addRule=CustomFile,DesginFile,EndFile,WorkFile,TbzFile"/>
<#var delRule="delRule=CustomFile,DesginFile,EndFile,WorkFile,TbzFile"/>
${Styles.htmlOverflowHidden()}
${yangcai_calc_Left_width_height(400, 70)}
${zhiqim_manager_breadcrumb("已完成订单")}
${zhiqim_manager_content()}
<div class="design-order clear">
<#-- 导航栏 -->
<div class="z-tabnav-main z-blue">
<nav>
<ul>
<li onclick="Z.Location.href('designOrder.htm');">未完成订单</li>
<li class="z-active">已完结订单</li>
<li onclick="Z.Location.href('waitHandleAfterOrder.htm');">售后订单</li>
<li onclick="Z.Location.href('complainWantDealList.htm');">投诉订单</li>
</ul>
</nav>
</div>
<div class="z-overflow-y-auto z-overflow-x-hidden z-relative-left" style="width:100%;">
<form name="theForm" action="/designOrderFinish.htm" method="post">
<div class="screen clear">
<div class="search-box">
<span>订单号</span>
<input name="designId" class="z-input ${zmr_color_class} z-w150" value="${designId}" placeholder="订单号">
</div>
<div class="search-box">
<span>旺旺号</span>
<input name="buyerNick" class="z-input ${zmr_color_class} z-w150" value="${buyerNick}" placeholder="旺旺号">
</div>
<div class="search-box" style="width:310px;">
<span>定稿日期</span>
<input name="beginDate" style="width:100px;" onfocus="zhiqim.date(this);" readonly class="z-input" value="${beginDate}"> -
<input name="endDate" style="width:100px;" onfocus="zhiqim.date(this);" readonly class="z-input" value="${endDate}">
</div>
<button class="z-button z-blue btn-search"><i class="z-font z-query"></i>查询</button>
<!--<button type="button" class="z-button btn-search" style="background: #ea4a36; color:#fff; border: 1px solid #ea4a36; box-shadow:none;" onclick="doOrderReturn();"><i class="z-font z-return"></i>订单退回</button>-->
<button type="button" class="z-button z-cyan btn-search" onclick="doCardModify();"><i class="z-font z-modify"></i>修改订单</button>
</div>
</form>
<#-- 分页列表-->
<div class="z-overflow-auto z-bd-r" style="padding:0 24px;">
<table class="z-table z-bordered zi-bd-r-none z-bg-white z-pd6" style="width:100%;">
<tr align="center" class="z-text-left z-h40" data-layoutCode="designOrderFinish">
<td width="40">选择</td>
<td width="80">订单号</td>
<td width="60">设计等级</td>
<td width="80">旺旺号</td>
<td width="60">订单状态</td>
<td width="60">产品类型</td>
<td width="90">下单时间</td>
<td width="90">领单时间</td>
<td width="90">初稿时间</td>
<td width="90">定稿时间</td>
<td width="60" align="center">操作</td>
</tr>
<#if pageResult.total() == 0>
${zhiqim_manager_no_record(23, "暂时没有数据")}
</#if>
<#for item : pageResult.list()>
<input type="hidden" id="typeId${item.getDesignId()}" value="${item.getTypeId()}">
<input type="hidden" id="designer${item.getDesignId()}" value="${item.getDesigner()}">
<tr align="left" class="z-h50" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}" id="tr_${item.getDesignId()}">
<td><input type="radio" name="designId" data-role="z-radio" data-class="${zmr_color_class} z-large" value="${item.getDesignId()}"
></td>
<td>${item.getDesignId()}
<#if item.isUrgent()>
<span style="color: red;font-size:16px;font-weight: bold" data-role="z-tooltip" data-options="placement:right;align:bottom;arrow:false;" data-text="加急订单"> 急 </span>
</#if>
<#if item.isChange()>
<span style="color: red;font-size:16px;font-weight: bold" data-role="z-tooltip" data-options="placement:right;align:bottom;arrow:false;" data-text="改稿订单"> 改 </span>
</#if>
<#if item.isBack()>
<span style="color: red;font-size:16px;font-weight: bold" data-role="z-tooltip" data-options="placement:right;align:bottom;arrow:false;" data-text="打回订单"> 回 </span>
</#if></td>
<td>${DraftConstants.get(item.getDraftType())}</td>
<td><a href="/wangwangOrder.htm?buyerNick=${item.getBuyerNick()}">${item.getBuyerNick()}</a></td>
<td>${StatusConstants.getStatus(item.getStatus())}</td>
<td>${Global.get(DesignTypeCache.class).getName(item.getTypeId())}</td>
<td>${Sqls.toDateTimeString(item.getCreateTime())}</td>
<td>${Sqls.toDateTimeString(item.getDesignBeginTime())}</td>
<td>${Sqls.toDateTimeString(item.getDesignDraftTime())}</td>
<td>${Sqls.toDateTimeString(item.getDesignEndTime())}</td>
<td align="center"><span class="goDetail" onclick="Z.L.href('allOrderDetail.htm?designId=${item.getDesignId()}&${data}&${addRule}&${delRule}');">详情</span></td>
</tr>
</#for>
</table>
</div>
${zhiqim_manager_paging(pageResult, "designOrderFinish.htm")}
</div>
</div>
${zhiqim_manager_content_end()}
@@ -0,0 +1,105 @@
<style>
body{ text-align:center}
.div{ margin:0 auto; width:600px; height:300px; border:5px solid #F00}
</style>
<script>
function doCancel()
{//取消
Z("#divImg").remove()
}
function doSubmit()
{
var refundReason=Z("#refundReason").val();
var data = Z("#imgData").text()
if (Z.Validates.isEmpty(data))
{
Z.alert("请添加顾客退款截图!")
return;
}
var designId =${designId};
Z.confirm("退款后此订单将取消,确认退款?", function(){
var ajax = new Z.Ajax();
ajax.setClassName("DesignOrderPresenter");
ajax.setMethodName("doDesignOrderRefund");
ajax.addParam(data);
ajax.addParam(designId);
ajax.addParam(refundReason);
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z.success("提交成功", function(){parent.location.reload();parent.Z.Dialog.close();});
});
ajax.execute();
});
}
(function(){
var imgReader = function( item ){
var blob = item.getAsFile(),
reader = new FileReader();
// 读取文件后将其显示在网页中
reader.onload = function(e){
var img = new Image();
var result = e.target.result;
Z("#imgData").text(result);
img.src = result;
img.id = "divImg";
Z("#imgSrc").append(img);
};
// 读取文件
reader.readAsDataURL(blob);
};
window.addEventListener( 'paste', function(e){
// 添加到事件对象中的访问系统剪贴板的接口
var clipboardData = e.clipboardData,
i = 0,
items, item, types;
if(clipboardData){
items = clipboardData.items;
if( !items ){
return;
}
item = items[0];
// 保存在剪贴板中的数据类型
types = clipboardData.types || [];
for( ; i < types.length; i++ ){
if( types[i] === 'Files' ){
item = items[i];
break;
}
}
// 判断是否为图片数据
if( item && item.kind === 'file' && item.type.match(/^image\//i) ){
imgReader( item );
}
}
});
})();
</script>
${zhiqim_manager_content()}
<div style="display:none" id="imgData"></div>
<div style="display:flex">
<label style="width:10%;margin:auto">退款原因:</label>
<select id="refundReason" class="z-select" data-role="z-select" data-class="${zmr_color_class}" style="width:90%">
<#for item : list>
<option value="${item.getId()}">${item.getTitle()}</option>
</#for>
</select>
</div>
<div style="maxWidth:50px;border:1px #999 solid;margin-top:5px">
<div id="imgSrc" >
</div>
</div>
</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 class="z-button z-w100 ${zmr_color_class}" id="designOrderRefund" onclick="doSubmit();">确认退款</button>&nbsp;&nbsp;&nbsp;
<button class="z-button z-red" onclick="doCancel();">清空截图</button>&nbsp;
</div>
</div>
<br><br>
${zhiqim_manager_content_end()}
</html>
@@ -0,0 +1,122 @@
${request.getValidateScript()}
<style>
.container{ min-height:646px;}
.divBox{
display:inline-block;
font-size: 13px;
width: 215px;
padding: 12px;
margin-left:20px
}
.ico{
width: 21px;
height: 21px;
border-radius: 50%;
border: 2px solid red;
display:inline;
font-size:15px;
}
}
</style>
<div style="color:red;border-bottom:ridge;font-size:20px;padding: 10px;">
<div class="ico">
<span style="font-size: 20px;margin-left: 5px;">!</span>
</div>
&nbsp&nbsp当前订单状态:请求退款
</div>
<div>
<div class="divBox">
<label>订单号:</label>
<span class="order_info">${order.getDesignId()}</span>
</div>
<div class="divBox">
<label>商户:</label>
<span>${Global.get(DesignMerchantCache.class).getName(order.getMerchantId())}</span>
</div>
<div class="divBox">
<label>组织:</label>
<span>${Global.get(OrgCache.class).name(order.getOrgId())}</span>
</div>
</div>
<div>
<div class="divBox">
<label>稿件类型:</label>
<#if order.getDraftType()==0>
<span>标准自来稿</span>
</#if>
<#if order.getDraftType()==1>
<span>改稿自来稿</span>
</#if>
<#if order.getDraftType()==2>
<span>普通设计</span>
</#if>
<#if order.getDraftType()==3>
<span>资深设计</span>
</#if>
<#if order.getDraftType()==4>
<span>现货</span>
</#if>
</div>
<div class="divBox">
<label>旺旺号:</label>
<span>${order.getBuyerNick()}</span>
</div>
<div class="divBox">
<label>设计师:</label>
<span>${order.getDesigner()}</span>
</div>
</div>
<div>
<div class="divBox">
<label>对稿微信:</label>
<span >${order.getUserWx()}</span>
</div>
<div class="divBox">
<label>店铺:</label>
<span>${order.getShopNick()}</span>
</div>
<div class="divBox">
<label>付款金额:</label>
<span>${Amounts.toYuanMustRadix(order.getAmount())}</span>
</div>
</div>
<div>
<div class="divBox">
<label>对稿手机:</label>
<span >${order.getUserMobile()}</span>
</div>
</div>
<div>
<div class="divBox" style="width:100%">
<label>产品:</label>
<span class="order_info">${order.getOrderText()}</span>
</div>
</div>
<div>
<div class="divBox">
<label>收货人:</label>
<span class="order_info">${order.getReceiverName()}</span>
</div>
<div class="divBox">
<label>录单员:</label>
<span class="order_info">${order.getCreater()}</span>
</div>
</div>
<div>
<div class="divBox" style="width:100%">
<label>收货地址:</label>
<span style="white-space:nowrap">${order.getReceiverAddress()}</span>
</div>
</div>
<div style="border:1px solid;width:600px;height:260px;margin-left:30px;border:ridge">
<label style="display:inline-block;margin-bottom:10px;margin-top:10px">退款原因:</label>
<span>${Global.get(DesignOrderRefundReasonCache.class).getName(order.getRefundReason())}</span></br>
<img width="598px" height="220px" id="refundImg" src="data:image/jpeg;base64,${base64Img}"/>
</div>
<#-- 操作 -->
<div style="margin:55px 0 60px 50px;font-size:large">
<div class="z-absolute z-w100p z-h60 z-text-center z-pd10" style="bottom:0;left:0;border-top:ridge">
<button type="button" class="z-button z-w90" onclick="parent.Z.Dialog.close(location.hash);">关闭</button>
</div>
</div>
@@ -0,0 +1,34 @@
${request.getValidateScript()}
<script>
function reasonModify()
{//修改退款问题配置
var ajax = new Z.Ajax();
ajax.setClassName("DesignOrderPresenter");
ajax.setMethodName("designOrderRefundReasonModify");
var reason = document.getElementById("title").value;
if(!reason){
Z.alert("标题不能为空")
return;
}
var id='${id}';
ajax.addParam(reason);
ajax.addParam(id);
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z.success("操作成功", function(){parent.location.reload();parent.Z.Dialog.close();});
});
ajax.execute();
}
</script>
<style>
.container{ min-height:298px;}
</style>
<div style="margin:55px 0 0 50px;font-size:large">
<label class="">标题 </label>
<input id="title" class="z-input" style="width:300px" value="${designOrderRefundReason.getTitle()}"/>
</div>
<#-- 操作 -->
<div class="z-absolute z-w100p z-h60 z-text-center z-pd10" style="bottom:0;left:0;border-top:ridge">
<button id="doAssignDer" class="z-button z-w90 ${zmr_color_class}" type="button" onclick="reasonModify();">确认</button>&nbsp;
<button type="button" class="z-button z-w90" onclick="parent.Z.Dialog.close(location.hash);">取消</button>
</div>
@@ -0,0 +1,85 @@
<#def designatedPath="/designOrderRefundReason.htm"/>
${zhiqim_manager_breadcrumb("设计师退款问题类型配置")}
${zhiqim_manager_content()}
<script>
function add()
{
var dialog = new Z.Dialog();
dialog.title = "退款原因配置";
dialog.url = "/designOrderRefundReasonAdd.htm";
dialog.width = 500;
dialog.height = 300;
dialog.execute();
}
function deleteOne()
{
var id = Z.FM.getChecked("id");
Z.confirm("您确定要删除该记录吗?", function()
{
var ajax = new Z.Ajax();
ajax.setClassName("DesignOrderPresenter");
ajax.setMethodName("designOrderRefundReasonDelete");
ajax.addParam(id);
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z.success("删除成功",function(){parent.location.reload();});
});
ajax.execute();
});
}
function update()
{
var id = Z.FM.getChecked("id");
var dialog = new Z.Dialog();
dialog.title = "修改退款原因";
dialog.url = "/designOrderRefundReasonModify.htm?id="+id;
dialog.width = 500;
dialog.height = 300;
dialog.execute();
}
</script>
<#-- 导航 -->
<div data-role="z-tabnav" class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
<nav>
<ul>
<#if ZmrPathRule.check(request, "/designTypeList.htm")><li onclick="Z.L.href('/designTypeList.htm');">产品类型</li></#if>
<#if ZmrPathRule.check(request, "/businessParam.htm")><li onclick="Z.L.href('/businessParam.htm');">公共参数</li></#if>
<#if ZmrPathRule.check(request, "/industryList.htm")><li onclick="Z.L.href('/industryList.htm');">行业管理</li></#if>
<#if ZmrPathRule.check(request, "/checkBackReasonList.htm")><li onclick="Z.L.href('/checkBackReasonList.htm');">审稿退回原因</li></#if>
<li class="z-active">退款原因类型配置</li>
</ul>
</nav>
</div>
<table class="z-table z-bordered z-bg-white z-pd6">
<tr>
<td class="z-h40 z-text-left z-bold z-px18 z-bg-white" colspan="6">
<div class="" style="margin-right:80px;float:right">
<button class="z-button z-blue" style="padding:7px 30px 7px 30px" onclick="add();">新增</button>
<button class="z-button z-blue" style="padding:7px 30px 7px 30px;margin:auto 15px auto 15px" onclick="update();">修改</button>
<button class="z-button z-red" style="padding:7px 30px 7px 30px" onclick="deleteOne();">删除</button>
</div>
</td>
</tr>
<tr class="z-text-center z-h40" bgcolor="${zmr_thead_bgcolor}">
<td width="10%">选择</td>
<td width ="70%" >标题</td>
<td width ="20%">最后一次修改时间</td>
</tr>
<#if pageResult.total() == 0>
${zhiqim_manager_no_record(6 "暂时没有配置退款原因")}
</#if>
<#for item : pageResult.list()>
<tr align="center" class="z-h40" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
<td><input name="id" id="id" data-role="z-radio" data-class="${zmr_color_class}" type="radio" value="${item.getId()}"></td>
<td>${item.getTitle()}</td>
<td>${Sqls.toDateTimeString(item.getUpdateTime())}</td>
</tr>
</#for>
</table>
${zhiqim_manager_paging(pageResult, "/designOrderRefundReason.htm")}
${zhiqim_manager_content_end()}
@@ -0,0 +1,33 @@
${request.getValidateScript()}
<script>
function reasonAdd()
{//添加退款问题配置
var ajax = new Z.Ajax();
ajax.setClassName("DesignOrderPresenter");
ajax.setMethodName("designOrderRefundReasonAdd");
var reason = document.getElementById("title").value;
if(!reason){
Z.alert("标题不能为空")
return;
}
ajax.addParam("reason", reason);
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z.success("操作成功", function(){parent.location.reload();parent.Z.Dialog.close();});
});
ajax.execute();
}
</script>
<style>
.container{ min-height:298px;}
</style>
<div style="margin:55px 0 0 50px;font-size:large">
<label class="">标题 </label>
<input id="title" class="z-input" style="width:300px"/>
</div>
<#-- 操作 -->
<div class="z-absolute z-w100p z-h60 z-text-center z-pd10" style="bottom:0;left:0;border-top:ridge">
<button id="doAssignDer" class="z-button z-w90 ${zmr_color_class}" type="button" onclick="reasonAdd();">确认</button>&nbsp;
<button type="button" class="z-button z-w90" onclick="parent.Z.Dialog.close(location.hash);">取消</button>
</div>
@@ -0,0 +1,48 @@
<script>
function doDesignOrderStop(form)
{//暂停设计
var selectId = form.selectId.value;
var reason = form.reason.value;
if(Z.V.isEmptyBlank(reason))
{
Z.alert("请输入暂停原因");
return;
}
var ajax = new Z.Ajax();
ajax.setClassName("DesignOrderPresenter");
ajax.setMethodName("doDesignOrderStop");
ajax.addParam('${designId}');
ajax.addParam(selectId);
ajax.addParam(reason);
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z.success("暂停成功",function(){parent.location.reload();parent.Z.Dialog.close();});
});
ajax.setLoading("designOrderStop", '正在提交', {disabled:true});
ajax.execute();
}
</script>
<form name="theForm" action="javascript:void(0);" onsubmit="doDesignOrderStop(this);">
<input name="billId" value="${bill.getBillid()}" type="hidden">
<table class="z-table z-bordered z-pd6">
<tr class="z-h40" bgcolor="#f3fdfc">
<td width="25%">暂停选项:</td>
<td width="*">
<select name="selectId" class="z-select ${zmr_color_class} z-w300">
<option value="0">补全资料</option>
<option value="1">联系不上</option-->
</select> <font color=red>&nbsp;*</font>
</td>
</tr>
<tr class="z-h40" bgcolor=${trColor}>
<td>暂停原因:</td>
<td><textarea name="reason" id="reason" style="width:70%;height:60px;" maxlength="200"></textarea></td>
</tr>
<table class="z-table fi-bd fi-bd-t-none z-pd6 z-bg-white">
<tr class="z-h40">
<td colspan="2" align="center"><button type="submit" id="designOrderStop" class="z-button ${zmr_color_class} z-large z-w100">提交</button></td>
</tr>
</tabale>
</form>
@@ -0,0 +1,129 @@
${Styles.htmlOverflowHidden()}
${Scripts.src("/zinc/js/global_2019010801.js")}
${yangcai_calc_Left_width_height(400, 70)}
<style>
.search-box{ border:1px solid #d3d3d3; margin:0 10px 0 0; width:210px; float:left; border-radius:20px; padding:0 14px; background:#fff;}
.search-box span{ float:left; line-height:32px; color:#282c2f;}
.search-box input{ border:none; box-shadow:none; width:130px; height:32px; padding:0 0 0 10px; line-height:32px;}
.search-box select{ float:right; width:100px;}
.design-order{ background: #fff;}
.clear:after{content:'';display:block;clear:both;height:0;overflow:hidden;visibility:hidden;}
.clear{zoom:1;}
.z-select{ height:32px; padding:0;}
.z-dropdown>.z-default{ color:#999;}
.z-dropdown{ border:none; }
.z-dropdown>i{ padding:4px 0 0 0;}
.z-dropdown.z-blue.z-active, .z-dropdown.z-blue>.z-list{ border:none;}
.z-operater{ padding:4px 4px;}
.z-text-ellipsis {text-overflow: ellipsis; overflow: hidden; white-space: nowrap; display: inline; }
.z-floater .z-content {
position: absolute;
top: 0;
left: 0;
min-width: 30px;
min-height: 25px;
padding: 6px;
font-size: 12px;
border: 1px solid #c6c6c6;
line-height: 25px;
text-align: center;
background: #fff;
}
.z-table.z-bordered>thead>tr>th,.z-table.z-bordered>thead>tr>td,.z-table.z-bordered>tbody>tr>th,.z-table.z-bordered>tbody>tr>td{
border:none; border-bottom: 1px solid #e4e4e4; font-size:13px; color:#999; height:52px;
}
.z-table.z-bordered{ border:none;}
.z-bd-r{ border:none;}
.z-tabnav-main>nav li{ border-right:none; font-size:15px; height:50px; line-height:50px;}
.z-tabnav-main.z-blue>nav li.z-active { color:#28a3ef; background: #fff; position: relative; font-weight: bold; }
.z-tabnav-main.z-blue>nav li.z-active:hover{ background: #fff;}
.z-tabnav-main.z-blue>nav li.z-active::before{content:''; bottom:0; left:50%; margin:0 0 0 -18px; position: absolute; width:36px; height:2px; background:#28a3ef;}
.screen{ background: #e4e5ea; height:70px; padding:20px 0 0 24px; box-sizing: border-box;}
.z-tabnav-main{ border:none;}
.btn-search{ border-radius:32px; height:32px; float:left; margin:0 10px 0 0;}
.z-text-left td{ color:#363940!important; font-weight: bold;}
.z-button.z-red { background: #1681f5; border: 1px solid #1681f5;}
.z-readonly{ border:none!important; background: #edeeef!important;}
.z-text-red{color:#1681f5;}
.z-red:hover{ background: #1681f5!important;}
.schedule a{ color:#999;}
.color-orange{ color:#ff6600;}
.schedule a p{ line-height:28px;}
.goDetail{ cursor: pointer; height:30px; background:#1182fc; color:#fff!important; font-size:12px; width:70px; border-radius:4px; line-height:30px; display:block; text-align: center;}
</style>
<script>
Z.onload(function(){
refreshEffectiveTime();
Z.timer(10000, -1, null, refreshEffectiveTime);
var height=Z("#operation").offsetHeight();
if(height>55){
Z("#fixedSpan").style("margin-top: -30px;");
}
})
function doModifyIndustry()
{//修改行业
var designId = Z.FM.getChecked("designId");
if(Z.V.isEmpty(designId))
{
Z.alert("请选择一条订单");
return;
}
var dialog = new Z.Dialog();
dialog.title = "修改行业";
dialog.url = "/modifyIndustry.htm?designId="+designId+"&flag=0";
dialog.width = 500;
dialog.height = 300;
dialog.execute();
}
</script>
<#var data="data=copy,userText,userNotice,CustomFile,DesginFile,EndFile,WorkFile,FristThumFile,TbzFile"/>
<#var addRule="addRule=CustomFile"/>
<#var delRule="delRule=CustomFile"/>
${zhiqim_manager_breadcrumb("未完成订单")}
${zhiqim_manager_content()}
<div class="design-order clear">
<#-- 导航栏 -->
<div class="z-tabnav-main z-blue">
<nav>
<ul>
<#for item : catList>
<li onclick="Z.L.href('designStandardList.htm?reasonId=${item.getStandardId()}', attaFileList);">${item.getStandardTitle()}</li>
</#for>
</ul>
</nav>
</div>
<#-- 左侧功能 -->
<div class="z-overflow-y-auto z-overflow-x-hidden z-relative-left" style="width:100%;">
<#-- 查询条件 -->
<#-- 分页列表-->
</div>
</div>
${zhiqim_manager_content_end()}
<div class="z-overflow-auto z-bd-r" style="width:100%;height: 800px">
<iframe name="attaFileList" src="designStandardList.htm" frameborder="0" scrolling="auto" height="100%" width="100%"></iframe>
</div>
<#-- 联系旺旺&联系QQ弹窗框 -->
<iframe id="openFrm" class="z-hide" src="about:blank"></iframe>
@@ -0,0 +1,101 @@
<#def designatedPath="/designStandardDetails.htm"/>
<script>
document.addEventListener("DOMContentLoaded", function() {
var contentElement = document.getElementById("content");
var contentElement1 = document.getElementById("editor-container");
var editButton = document.getElementById("edit-button");
var content1 = '${content}';
if (!content1) {
// content 为空
}else{
document.getElementById('editor-container').innerHTML = content1;
}
// 当点击编辑按钮时,将内容设置为可编辑状态
editButton.addEventListener("click", function() {
console.log(content1);
contentElement1.contentEditable = true;
contentElement1.focus();
});
var saveButton = document.getElementById("save-button");
saveButton.addEventListener("click", async function() {
var containerasd = document.getElementById("editor-container");
var imgElements = containerasd.getElementsByTagName("img");
for (var i = 0; i < imgElements.length; i++) {
await new Promise((resolve, reject) => {
(function(index) {
var src = imgElements[index].src;
console.log(index);
// 在这里对src进行重新赋值
var ajax = new Z.Ajax();
ajax.setContextPath("${context.getContextPath()}");
ajax.setClassName("com.zhiqim.yangcai.design.action.sys.DesignStandardAction");
ajax.setMethodName("designtypeImge");
ajax.addParam("designId", ${reasonId});
ajax.addParam("content", encodeURIComponent(src));
ajax.setFailureAlert();
ajax.setSuccess(function(responseText) {
imgElements[index].src = responseText;
console.log(index);
resolve();
});
ajax.execute();
console.log(index);
})(i);
});
}
// 在这里执行保存操作,比如将内容发送到服务器进行保存
nextMethod();
});
});
function nextMethod() {
var html = document.getElementById("editor-container").innerHTML;
console.log(html);
var ajax = new Z.Ajax();
ajax.setContextPath("${context.getContextPath()}");
ajax.setClassName("com.zhiqim.yangcai.design.action.sys.DesignStandardAction");
ajax.setMethodName("designtype");
ajax.addParam("designId", ${reasonId});
ajax.addParam("content", encodeURIComponent(html));
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z.success("操作成功",function(){parent.location.reload();parent.Z.Dialog.close();});
});
ajax.setLoading("doDesignPriceCalculate", '正在提交', {disabled:true});
ajax.execute();
}
</script>
${zhiqim_manager_breadcrumb("设计类型")}
${zhiqim_manager_content()}
<#-- 导航 -->
<div id="editor-container">
</div>
<style>
.ql-tooltip {
display: none;
}
</style>
@@ -0,0 +1,245 @@
<script>
var catMap = new Z.HashMap();
var list = Z.J.toObject('${catList}');
Z.onload(function(){
Z.each(list, function(item, i){
catMap.put(Z.S.toString(item.reasonId), item)
})
});
function toAdd(type)
{
if ((type != 1 && type != 0))
{
Z.alert("未知添加类型");
return;
}
var isCat = type == 1;
var addreasonTile = '';
var content = '<form name="addForm" action="javascript:void(0)">';
content += '<input name="isStandardType" type="hidden" value="'+isCat+'">';
content += '<table class="z-table z-bordered z-h40-tr z-pd6 z-bg-white z-text-center">';
var height = 300;
if (isCat)
{//添加分类
height = 120;
content += ' <tr>';
content += ' <td>规范分类 </td>';
content += ' <td><input name="standardTitle" class="z-input z-w200" placeholder="不能超过32字符"></td>';
content += ' </tr>';
}
else
{
content += ' <tr>';
content += ' <td>规范分类 </td>';
content += ' <td>';
content += ' <select name="standardParent" class="z-select z-w200" data-role="z-select" data-class="z-blue">';
Z.each(list, function(item, i)
{
content += ' <option value="'+item.standardId+'">'+item.standardTitle+'</option>';
})
content += ' </select>';
content += ' </td>';
content += ' </tr>';
content += ' <tr>';
content += ' <td>规范项 </td>';
content += ' <td><input name="standardTitle" class="z-input z-w200" placeholder="不能超过32字符"></td>';
content += ' </tr>';
}
content += '</table>';
content += '<div class="z-absolute z-b0 z-l0 z-w100p z-h60 z-pd10 z-bg-gray z-text-center">';
content += ' <button class="z-button z-large z-w150 z-blue" onclick="doSave(this.form)">保存</button>';
content += ' <button class="z-button z-large z-w70 z-mg-l10" onclick="Z.Dialog.close(location.hash);">取消</button>';
content += '</div>';
content += '</form>';
var dialog = Z.dialog({id:'addreason', title:'<span id="addreasonTile"></span>', text:'<div id="addreasonContent"></div>',width:460,height:height, shadow:true});
Z("#addreasonContent").htmlc(content);
Z("#addreasonTile").htmlc("添加原因预录");
}
function doSave(form)
{
var ajax = new Z.Ajax();
ajax.setContextPath("${context.getContextPath()}");
ajax.setClassName("com.zhiqim.yangcai.design.action.sys.DesignStandardAction");
ajax.setMethodName("insert");
ajax.setParamForm(form);
ajax.setFailureAlert();
ajax.setSuccess(function(){
swal({title:"添加成功",type:"success",timer: 1000,width:300,showConfirmButton:false}).then(function(){
parent.location.reload();
});
});
ajax.setLoading(document);
ajax.execute();
}
function doModify(reasonId, parentId, text)
{//修改
var addreasonTile = '';
var content = '<form name="modifyForm" action="javascript:void(0)">';
content += '<input name="standardId" type="hidden" value="'+reasonId+'">';
content += '<input name="isStandardType" type="hidden" value="false">';
content += '<table class="z-table z-bordered z-h40-tr z-pd6 z-bg-white z-text-center">';
var height = 300;
content += ' <tr>';
content += ' <td>类型分类 </td>';
content += ' <td>';
content += ' <select name="standardParent" class="z-select z-w200" data-role="z-select-search" data-class="z-blue">';
Z.each(list, function(item, i)
{
content += ' <option value="'+item.standardId+'" '+(item.standardId == parentId ? 'selected' : '')+'>'+item.standardTitle+'</option>';
});
content += ' </select>';
content += ' </td>';
content += ' </tr>';
content += ' <tr>';
content += ' <td>标题 </td>';
content += ' <td><input name="standardTitle" class="z-input z-w200" value="'+(text ? text : '')+'" placeholder="不能超过32字符"></td>';
content += ' </tr>';
content += '</table>';
content += '<div class="z-absolute z-b0 z-l0 z-w100p z-h60 z-pd10 z-bg-gray z-text-center">';
content += ' <button class="z-button z-large z-w150 z-blue" onclick="doUpdate(this.form)">保存</button>';
content += ' <button class="z-button z-large z-w70 z-mg-l10" onclick="Z.Dialog.close(location.hash);">取消</button>';
content += '</div>';
content += '</form>';
var dialog = Z.dialog({id:'modifyreason', title:'<span id="modifyreasonTile"></span>', text:'<div id="modifyreasonContent"></div>',width:460,height:height, shadow:true});
Z("#modifyreasonContent").htmlc(content);
Z("#modifyreasonTile").htmlc("添加原因预录");
}
function doModifys(reasonId, parentId, text)
{//修改
var addreasonTile = '';
var content = '<form name="modifyForm" action="javascript:void(0)">';
content += '<input name="standardId" type="hidden" value="'+reasonId+'">';
content += '<input name="isStandardType" type="hidden" value="false">';
content += '<table class="z-table z-bordered z-h40-tr z-pd6 z-bg-white z-text-center">';
var height = 300;
content += ' <tr>';
content += ' <td>类型:</td>';
content += ' <td><input name="standardTitle" class="z-input z-w200" value="'+(text ? text : '')+'" placeholder="不能超过32字符"></td>';
content += ' </tr>';
content += '</table>';
content += '<div class="z-absolute z-b0 z-l0 z-w100p z-h60 z-pd10 z-bg-gray z-text-center">';
content += ' <button class="z-button z-large z-w150 z-blue" onclick="doUpdate(this.form)">保存</button>';
content += ' <button class="z-button z-large z-w70 z-mg-l10" onclick="Z.Dialog.close(location.hash);">取消</button>';
content += '</div>';
content += '</form>';
var dialog = Z.dialog({id:'modifyreason', title:'<span id="modifyreasonTile"></span>', text:'<div id="modifyreasonContent"></div>',width:460,height:height, shadow:true});
Z("#modifyreasonContent").htmlc(content);
Z("#modifyreasonTile").htmlc("添加原因预录");
}
function doUpdate(form)
{
var ajax = new Z.Ajax();
ajax.setContextPath("${context.getContextPath()}");
ajax.setClassName("com.zhiqim.yangcai.design.action.sys.DesignStandardAction");
ajax.setMethodName("update");
ajax.setParamForm(form);
ajax.setFailureAlert();
ajax.setSuccess(function(){
swal({title:"更新成功",type:"success",timer: 1000,width:300,showConfirmButton:false}).then(function(){
parent.location.reload();
});
});
ajax.setLoading(document);
ajax.execute();
}
function doDelete(reasonId){
var ajax = new Z.Ajax();
ajax.setContextPath("${context.getContextPath()}");
ajax.setClassName("com.zhiqim.yangcai.design.action.sys.DesignStandardAction");
ajax.setMethodName("beforeDelete");
ajax.addParam("reasonId",reasonId);
ajax.setSuccess(function(){
swal({title:"更新成功",type:"success",timer: 1000,width:300,showConfirmButton:false}).then(function(){
parent.location.reload();
});
});
ajax.setLoading("removeReason", '<i class="z-font z-delete"></i>正在移除',{disabled:true});
ajax.execute();
}
function doReasonDelete(reasonId){
var ajax = new Z.Ajax();
ajax.setContextPath("${context.getContextPath()}");
ajax.setClassName("com.zhiqim.yangcai.design.action.sys.CheckBackReasonAction");
ajax.setMethodName("delete");
ajax.addParam("reasonId",reasonId);
ajax.setSuccess(function(){
swal({title:"移除成功",type:"success",timer: 1000,width:300,showConfirmButton:false}).then(function(){
parent.location.reload();
});
});
ajax.setLoading("removeReason", '<i class="z-font z-delete"></i>正在移除',{disabled:true});
ajax.execute();
}
function showEditor(designId)
{
var dialog = new Z.Dialog();
dialog.title = "行为规范";
dialog.url = "/designStandardDetails.htm?reasonId=" + designId;
dialog.width = 1100;
dialog.height = 700;
dialog.execute();
}
</script>
<#-- 导航 -->
<#-- 列表 -->
${Htmls.toCallFrame()}
<div class="z-overflow-auto z-bd-r">
<table class="z-table z-bordered z-h40-tr z-pd5 zi-bd-r-none z-bg-white z-text-center" style="width:100">
<tr bgcolor="${zmr_thead_bgcolor}" data-layoutCode="orderList">
<td width="10%">序号</td>
<td width="*">标题</td>
<td width="220">创建时间</td>
</tr>
${zhiqim_manager_tr_no_record(pageResult, 27, "暂时没有数据")}
<#for item : reasonList>
<tr ${zhiqim_manager_tr_onmouse()}>
<td>${item_index+1}</td>
<td id="item_${item.getStandardId()}" onclick="showEditor('${item.getStandardId()}')">${item.getStandardTitle()}</td>
<td id="item_${item.getStandardId()}">${Sqls.toDateTimeString(item.getCreateTime())}</td>
</tr>
</#for>
<#if Validates.isEmpty(reasonList) || reasonList.size() == 0>
<tr bgcolor="">
<td colspan="3">暂时没有数据信息</td>
</tr>
</#if>
</table>
</div>
${zhiqim_manager_paging(pageResult, "/designStandardList.htm")}
</div>
${zhiqim_manager_content_end()}
@@ -0,0 +1,427 @@
${zhiqim_manager_content()}
${Scripts.src(zhiqim.js)}
${Scripts.src(zhiqim_uploadlarge.js)}
<script>
Z.onload(function(){
//考试状态
var status = ${initialStatus};
if(status == 10 ){
doChangeStep(2)
}else if(status == 20){
doChangeStep(3)
}else if(status == 30){
doChangeStep(4)
}else if(status == 40){
doChangeStep(4)
}else {
doChangeStep(1)
}
//初始化上传组件
initUploader("FUpload_Desgin","DesginFile","${desginPath}");
initUploader("FUpload_End","EndFile","${endPath}");
});
//上传设计文件
function initUploader(elem,fileType,path)
{
var questionsId = document.getElementById("questionsId").value;
var upload = new Z.UploadLarge();
upload.elem = elem;
upload.showResult = false;
upload.setFileDir(path);
upload.fileCopy = true;
upload.onSelected = function(fileName,FileType){
var ajax = new Z.Ajax();
ajax.setClassName("QuestionsFilePresenter");
ajax.setMethodName("doCheckFileName");
ajax.addParam(fileName);
ajax.addParam(fileType);
ajax.execute();
this.setFileName(questionsId + "-" + fileName);
};
upload.onCompleted = function(fileId, fileName){
var ajax = new Z.Ajax();
ajax.setClassName("QuestionsFilePresenter");
ajax.setMethodName("uploadQuestionsFile");
ajax.addParam(questionsId);
ajax.addParam(fileId);
ajax.addParam(fileType);
ajax.setFailure(function(){Z.alert(this.responseText);});
ajax.setSuccess(function(){
var obj = Z.J.toObject(this.responseText);
var items = obj.attaList;
var html = "";
Z("#"+fileType).html("");//清除历史数据
for (var i=0;i<items.length;i++)
{
var obj = items[i];
html += obj.fileName + "&nbsp;&nbsp;&nbsp;" +'<a id="attaId" onclick="doDelete('+ obj.attaId +');"><span style="color:#008bd2">删除</span></a>'+"<br/><br/>";
}
Z("#"+fileType).htmlc(html);
});
ajax.setLoading(document);
ajax.execute();
};
upload.execute();
};
function doChangeStep(step)
{//1 表示问卷考核,2表示虚拟订单,3表示等待审核,4表示审核通过
if (!step)
return;
if (!Z.V.isInteger(step))
return;
if (step == 1)
{//切换步骤内容
doUpdatePageCode(step);
}
else if (step == 2)
{//切换步骤内容
doUpdatePageCode(step);
}
else if (step == 3)
{//切换步骤内容
doUpdatePageCode(step);
}
else if (step == 4){
doUpdatePageCode(step);
}
return;
}
//切换步骤内容
function doUpdatePageCode(step)
{
//切换显示内容
Z("div[id^='stepContent_']").hide();
Z("div[id^='stepContent_"+step+"']").show();
//显示步骤条
step = step*1-1;
var $step = Z("div.z-stepbar").children("nav");
$step.removeClass("z-active");
Z($step[step]).addClass("z-active");
}
//移除截图
function doRemoveImg()
{
Z("#saveImgPath").remove();
}
//初始化监听考试截图
(function(){
var imgReader = function( item ){
var blob = item.getAsFile(),
reader = new FileReader();
Z("#saveImgPath").remove();//删除历史图片
// 读取文件后将其显示在网页中
reader.onload = function(e){
var img = new Image();
var result = e.target.result;
Z("#imgData").text(result);
img.src = result;
img.id = "saveImgPath";
Z("#imgSrc").append(img);
};
// 读取文件
reader.readAsDataURL(blob);
};
window.addEventListener( 'paste', function(e){
// 添加到事件对象中的访问系统剪贴板的接口
var clipboardData = e.clipboardData,
i = 0,
items, item, types;
if(clipboardData){
items = clipboardData.items;
if( !items ){
return;
}
item = items[0];
// 保存在剪贴板中的数据类型
types = clipboardData.types || [];
for( ; i < types.length; i++ ){
if( types[i] === 'Files' ){
item = items[i];
break;
}
}
// 判断是否为图片数据
if( item && item.kind === 'file' && item.type.match(/^image\//i) ){
imgReader( item );
}
}
});
})();
//提交成绩图
function doDraftSubmit()
{
var questionsId = document.getElementById("questionsId").value;
var data = Z("#imgData").text()
if (Z.Validates.isEmpty(data))
{
Z.alert("考试成绩截图为空")
return;
}
var ajax = new Z.Ajax();
ajax.setClassName("DesignerTestPresenter");
ajax.setMethodName("saveGrade");
ajax.addParam(data);
ajax.addParam(questionsId);
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z.success("操作成功",function(){parent.location.reload();});
});
ajax.setLoading("doDraftSubmit", '正在提交', {disabled:true});
ajax.execute();
}
//考试地址
function doAssessSite(){
Z.alert("暂时不需要去考试,请直接随意截图提交。");
}
//提交审核
function doSubmitAudit()
{
var questionsId = document.getElementById("questionsId").value;
var ajax = new Z.Ajax();
ajax.setClassName("DesignerTestPresenter");
ajax.setMethodName("submitAudit");
ajax.addParam(questionsId);
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z.success(("操作成功"),function(){
parent.location.reload();
});
});
ajax.execute();
}
//联系审核人
function contectQQ(userQq)
{
if (!Z.V.isInteger(userQq))
{
Z.alert("QQ号不合法");
return;
}
Z("#openFrm").attr("src","tencent://message/?uin="+userQq);
}
//重新考试
function doRefreshAssess()
{
var questionsId = document.getElementById("questionsId").value;
var ajax = new Z.Ajax();
ajax.setClassName("DesignerTestPresenter");
ajax.setMethodName("refreshAssess");
ajax.addParam(questionsId);
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z.success("申请重新考核成功", function(){
parent.location.reload();
});
});
ajax.execute();
}
function downMaterialFile(attaId){
if (Z.V.isEmpty(attaId))
{
Z.alert("请选择需要下载的素材");
return ;
}
var mainFrame = parent.parent.document.URL;
var mainSrc = mainFrame.src;
var prefix = Z.l.protocol + "//" + Z.l.host ;
var element1 = document.createElement("a");
element1.href = prefix+"/downQuestionsFile.htm?attaId=" + attaId;
Z.L.href(prefix+"/downQuestionsFile.htm?attaId=" + attaId, zCallFrame);
}
//删除文件
function doDelete(attaId)
{
Z.confirm("您确定删除该文件吗?", function()
{
var ajax = new Z.Ajax();
ajax.setClassName("DesignerTestPresenter");
ajax.setMethodName("deleteFile");
ajax.addParam(attaId);
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z.success("删除成功!", function(){
parent.location.reload();
});
});
ajax.execute()});
}
function showLargeImg()
{
var url="https://oss-89-taobao.oss-cn-shenzhen.aliyuncs.com/yangcai365_design/performance/questions_standard-1.png";
var hostUrl = Z.l.protocol+'//'+Z.l.host;
var dialog = new parent.Z.Dialog();
dialog.shadow = true;
dialog.title = "考试审核标准";
dialog.fixed = true;
dialog.url = hostUrl+"/showLargeImg.htm?imgpath="+url;
dialog.width = parent.Z.D.clientWidth()-800;
dialog.height = parent.Z.D.clientHeight()-200;
dialog.execute();
dialog.$background.remove();
}
</script>
<div class="z-pd10 z-px16 z-bg-white" style="padding-top:20px">
<input id="questionsId" type="hidden" value="${orderQuestions.getQuestionsId()}">
<!-- 默认步骤条效果 -->
<div class="z-stepbar z-blue">
<nav class="z-active">
<span class="z-round z-white z-mg-r5">1</span><span>问卷考核</span>
</nav>
<nav onclick="">
<span class="z-round z-white z-mg-r5">2</span><span>虚拟订单</span>
</nav>
<nav onclick="">
<span class="z-round z-white z-mg-r5">3</span><span>等待审核</span>
</nav>
<nav onclick="">
<span class="z-round z-white z-mg-r5">4</span><span>审核结果</span>
</nav>
</div>
<div id="stepContent_1">
<br/>
<table class="z-table z-bordered z-h50-tr z-pd10 z-bg-white" style="width:1100px;">
<tr>
<td width="10%">开始理论考试</td>
<td width="*"><button class="z-button z-large z-w120 ${zmr_color_class}" onclick="doAssessSite();">前往考试</button>
<font style="color:red">说明:为了提高审核通过率,请提交80分以上的截图,否则审核将不通过</font>
</td>
</tr>
<tr>
<td width="10%">考试成绩截图</td>
<td width="*" height="550">完成考试成绩截图后,直接<font style="color:red"> CTRL+V </font>粘贴即可
<div style="display:none" id="imgData"></div>
<div id="imgSrc"></div>
</td>
</tr>
<tr>
<td colspan="2">
<div class="z-text-center">
<button class="z-button z-large z-red" onclick="doRemoveImg();"><i class="z-font z-delete"></i>删除截图</button>
<button id="doDraftSubmit" class="z-button z-large z-blue" onclick="doDraftSubmit();"><i class="z-font z-save"></i>完成考试</button>
<div>
</td>
</tr>
</table>
</div>
<div id="stepContent_2">
<br/>
<form name="step2Form" action="javascript:void(0);" method="post" data-role="z-call-frame">
<table class="z-table z-bordered z-h50-tr z-pd10 z-bg-white" style="width:1100px;">
<tr>
<td width="10%">设计要求</td>
<td width="80%">${orderQuestions.getDesignRequirements()}</td>
<td width="10%"><button type="button" class="z-button z-large z-blue z-w110 z-mg-t20 zi-mg-b20" onclick="showLargeImg()"><i class="z-font z-query"></i>审核标准</button></td>
</tr>
<tr>
<td width="10%">设计素材</td>
<td colspan="2">
<#for item : materialFilerAttaList>
${item.getFileName()}&nbsp;&nbsp;&nbsp;<a href="javascript:downMaterialFile('${item.getAttaId()}')"><span style="color:#2483EB">下载</span></a><br/><br/>
</#for>
</td>
</tr>
<tr>
<td width="10%">设计文件</td>
<td width="80%" id="DesginFile">
<#for item : desginFileAttaList>
${item.getFileName()}&nbsp;&nbsp;&nbsp;<a id="attaId" onclick="doDelete(${item.getAttaId()});"><span style="color:#2483EB">删除</sapn></a><br/><br/>
</#for>
</td>
<td width="10%"><button id="FUpload_Desgin" type="button" class="z-button z-large z-blue z-w110 z-mg-t20 zi-mg-b20"><i class="z-font z-upload"></i>上传文件</button></td>
</tr>
<tr>
<td width="10%">印刷文件<br/><font color="red"> pdf格式</font></td>
<td width="80%" id="EndFile">
<#for item : endFileAttaList>
${item.getFileName()}&nbsp;&nbsp;&nbsp;<a id="attaId" onclick="doDelete(${item.getAttaId()});"><span style="color:#2483EB">删除</sapn></a><br/><br/>
</#for>
</td>
<td width="10%"><button id="FUpload_End" type="button" class="z-button z-large z-blue z-w110 z-mg-t20 zi-mg-b20"><i class="z-font z-upload"></i>上传文件</button></td>
</tr>
<tr>
<td colspan="3">
<div class="z-text-center">
<button class="z-button z-large z-blue" onclick="doSubmitAudit();"><i class="z-font z-save"></i>提交审核</button>
<div>
</td>
</tr>
</table>
</form>
</div>
<div id="stepContent_3">
<div style="margin-top:10px">
</div>
<div>
<br/><br/>
<p style="margin-top:10px">
<div>
<h3>审核中,请通过微信扫码联系审核人员确认相关入驻事宜</h3>
</div>
</p>
<br/><br/>
</div>
<img style="width:15%;" src="/zinc/images/VXQRcode.png">
</div>
<div id="stepContent_4">
<#if initialStatus = 40>
<div style="margin-top:10px">
</div>
<div>
<br/><br/>
<p style="margin-top:10px">
<div>
<h3><p style="color:#FF0000;font-weight:500">抱歉,审核未通过。未通过原因:${orderQuestions.getRemarks()}</p></h3>
</div>
</p>
<h3>详情请通过微信扫码联系审核人员</h3>
</div>
<img style="width:15%;" src="/zinc/images/VXQRcode.png"> </br></br>
<button id="doRefreshAssess" type="button" style="padding:7px;width:8%" class="z-button z-blue" onclick="doRefreshAssess();"><i class="z-font z-refresh"></i><font style="font-size:small">重新考核</font></button>
<button id="showLargeImg" type="button" style="padding:7px;width:8%" class="z-button z-blue" onclick="showLargeImg();"><i class="z-font z-query"></i><font style="font-size:small">审核标准</font></button>
</div>
<#else>
<div style="margin-top:10px">
</div>
<div>
<br/><br/>
<p style="margin-top:10px">
<div>
<h3 >恭喜你通过审核,请退出<span style="color:#FF0000">重新登录</span>设计平台,马上开始你的接单之旅吧!</h3>
</div>
</p>
<br/><br/>
</div>
</div>
</#if>
</div>
${zhiqim_manager_content_end()}
<#-- 联系QQ弹窗框 -->
<iframe id="openFrm" class="z-hide" src="about:blank"></iframe>
@@ -0,0 +1,50 @@
${request.getValidateScript()}
<script>
function doModifyIndustry()
{//修改行业
var designId = Z("#designId").val();
var industryId = Z("#industryId").val();
var flag = ${flag};
var ajax = new Z.Ajax();
ajax.setClassName("DesignOrderPresenter");
ajax.setMethodName("doModifyIndustry");
ajax.addParam("designId", designId);
ajax.addParam("industryId", industryId);
ajax.setFailureAlert();
ajax.setSuccess(function(s)
{
Z.success("修改成功", function(){if(flag == 1){window.parent.doReFreshIndustryInfo();}parent.Z.Dialog.close();});
});
ajax.setLoading("modifyIndustry", '正在提交', {disabled:true});
ajax.execute();
}
</script>
<input id="designId" name="designId" value="${order.getDesignId()}" type="hidden">
<table class="z-table z-bordered z-pd6">
<tr class="z-h40" bgcolor="${oddColor}">
<td width="25%">订单号:</td>
<td width="*">${order.getDesignId()}</td>
</tr>
<tr class="z-h40" bgcolor="${trColor}">
<td>产品:</td>
<td>${order.getOrderText()}</td>
</tr>
<tr class="z-h40" bgcolor="${oddColor}">
<td>行业:</td>
<td>
<select id="industryId" name="industryId" class="z-select z-w200" data-role="z-select" data-class="${zmr_color_class}" data-options="maxHeight:140">
<#for item : Global.get(DesignIndustryCache.class).getIndustryList()>
<option value="${item.getIndustryId()}" <#if Validates.isEqual(item.getIndustryId(), order.getIndustryId())>selected</#if>>${item.getIndustryName()}</option>
</#for>
</select>
<font color=red>&nbsp;*</font></td>
</tr>
</table>
<#-- 操作 -->
<div class="z-absolute z-w100p z-h60 z-text-center z-bg-gray z-pd10" style="bottom:0;left:0">
<button id="modifyIndustry" class="z-button z-large z-w120 ${zmr_color_class}" type="button" onclick="doModifyIndustry();">提交</button>&nbsp;
<button type="button" class="z-button z-large z-mg-l10" onclick="parent.Z.Dialog.close(location.hash);">关闭</button>
</div>
@@ -0,0 +1,273 @@
${Styles.htmlOverflowHidden()}
${Scripts.src("/zinc/js/global_2019010801.js")}
${yangcai_calc_Left_width_height(400, 70)}
<script>
function copyText()
{
var designId = Z.FM.getChecked("designId");
var ajax = new Z.Ajax();
ajax.setSync();
ajax.setClassName("DesignOrderPresenter");
ajax.setMethodName("doPortalUrlCopy");
ajax.addParam(designId);
ajax.execute();
if(ajax.responseStatus != 0)
{
Z.alert(ajax.responseText)
return;
}
Z.copy(ajax.responseText);
Z.tips("复制成功");
}
function doDesignOrderApply()
{//申请指派
var designId = Z.FM.getChecked("designId");
if (!doQueryStatus(designId, "SUPPORT"))
return;
var dialog = new Z.Dialog();
dialog.title = "申请主管支援";
dialog.url = "/designOrderApply.htm?designId=" + designId;
dialog.width = 600;
dialog.height = 300;
dialog.execute();
}
function doDesignOrderStop()
{//暂停设计
var designId = Z.FM.getChecked("designId");
if (!doQueryStatus(designId, "PAUSE"))
return;
var dialog = new Z.Dialog();
dialog.title = "暂停设计";
dialog.url = "/designOrderStop.htm?designId=" + designId;
dialog.width = 600;
dialog.height = 300;
dialog.execute();
}
function doDesignOrderStart()
{//开启设计
var designId = Z.FM.getChecked("designId");
if(!doQueryStatus(designId, "RESUME"))
return;
var ajax = new Z.Ajax();
ajax.setClassName("DesignOrderPresenter");
ajax.setMethodName("doDesignOrderStart");
ajax.addParam(designId);
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z.success("开启成功",function(){parent.location.reload();});
});
ajax.execute();
}
function doProgressNote()
{//进度备注
var designId = Z.FM.getChecked("designId");
if(Z.V.isEmpty(designId))
{
Z.alert("请选择一条订单");
return;
}
var dialog = new Z.Dialog();
dialog.title = "订单["+designId+"]进度备注";
dialog.url = "/progressNote.htm?designId="+designId;
dialog.width = 1000;
dialog.height = 630;
dialog.execute();
}
function doDesignOrderRefund()
{//请求退款
var designId = Z.FM.getChecked("designId");
if(!doQueryStatus(designId, "REFUND"))
return;
Z.confirm("确定退款订单[" + designId + "]", function()
{
var ajax = new Z.Ajax();
ajax.setClassName("DesignOrderPresenter");
ajax.setMethodName("doDesignOrderRefund");
ajax.addParam(designId);
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z.success("申请成功",function(){parent.location.reload();parent.Z.Dialog.close();});
});
ajax.execute();
});
}
function doDesignOrderDraft()
{//完成初稿
var designId = Z.FM.getChecked("designId");
var ajax = new Z.Ajax();
ajax.setClassName("DesignOrderPresenter");
ajax.setMethodName("doQueryStatus");
ajax.addParam(designId);
ajax.addParam("SUMBIT");
ajax.setFailureAlert();
ajax.setSuccess(function()
{
var dialog = new Z.Dialog();
dialog.title = "完成初稿截图(截屏后粘贴(CTRL+V)到输入框中)";
dialog.url = "/designOrderDraft.htm?designId=" + designId;
dialog.width = 600;
dialog.height = 400;
dialog.execute();
})
ajax.execute();
}
function doQueryStatus(designId, oprType)
{//查询订单状态
var ajax = new Z.Ajax();
ajax.setSync();
ajax.setClassName("DesignOrderPresenter");
ajax.setMethodName("doQueryStatus");
ajax.addParam(designId);
ajax.addParam(oprType);
ajax.execute();
if(ajax.responseStatus != 0)
{
Z.alert(ajax.responseText);
return false;
}
return true;
}
</script>
<#var data="data=copy,userText,CustomFile,TemplateFile,userNotice"/>
<#var addRule=""/>
<#var delRule=""/>
${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('designOrderDay.htm');">我的订单统计</li>
</ul>
</nav>
</div>
<#-- 左侧功能 -->
<div id="left" class="z-overflow-y-auto z-overflow-x-hidden z-relative-left">
<#-- 查询条件 -->
${zhiqim_manager_title("查询条件")}
<form name="theForm" action="/designOrder.htm">
<table class="z-table z-bordered z-pd6 z-bg-white">
<tr class="z-h40">
<td width="30%">订单号:<input class="z-input ${zmr_color_class} z-w160" name="designId" value="${designId}" maxlength="32" placeholder="订单号"/></td>
<td width="34%">产品类型:<select name="typeId" class="z-select z-w180" data-role="z-select" data-class="${zmr_color_class}">
<option value="">全部</option>
<#for item : DesignTypeDao.list()>
<option value="${item.getTypeId()}" <#if typeId == item.getTypeId()>selected</#if>>${item.getTypeName()}</option>
</#for>
</select>
</td>
<td width="*">行业分类:<select name="industryId" class="z-select z-w180" data-role="z-select" data-class="${zmr_color_class}">
<option value="">全部</option>
<#for item : Global.get(DesignIndustryCache.class).getIndustryList()>
<option value="${item.getIndustryId()}" <#if item.getIndustryId() == industryId>selected</#if>>${item.getIndustryName()}</option>
</#for>
</select>
</td>
</tr>
<tr class="z-h40">
<td>旺旺号:<input class="z-input ${zmr_color_class} z-w160" name="buyerNick" value="${buyerNick}" maxlength="32" placeholder="旺旺号"/></td>
<td>淘宝单号:<input class="z-input ${zmr_color_class} z-w180" name="tid" value="${tid}" maxlength="22" placeholder="淘宝单号"/></td>
<td><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>
<#-- 操作功能-->
<div class="z-w100p z-mg-t20 z-mg-b3">
<#if ZmrPathRule.check(request, "openWangWang")><button class="z-button z-mg-r3 ${zmr_color_class}" onclick="Global.openWangWang();"><img src="/zinc/images/wangwang.png">旺旺联系</button></#if>
<#if ZmrPathRule.check(request, "openQQ")><button class="z-button z-mg-r3 ${zmr_color_class}" onclick="Global.openQQ();"><img src="/zinc/images/qq.png">QQ联系</button></#if>
<button class="z-button z-blue z-mg-r3" onclick="doDesignOrderRefund();"><i class="z-ico z-modify"></i>申请退款</button>
<button class="z-button z-blue z-mg-r3" onclick="doDesignOrderApply();">主管支援</button>
<button class="z-button z-blue z-mg-r3" id="copy" type="button" onclick="copyText()"><i class="z-ico z-share"></i>自助地址</button>
<button class="z-button z-blue z-mg-r3" onclick="doProgressNote();"><i class="z-ico z-setting"></i>进度备注</button>
<button class="z-button z-red z-mg-r3" onclick="doDesignOrderStop();">暂停设计</button>
<button class="z-button z-orange z-mg-r3" onclick="doDesignOrderStart();">开启设计</button>
<button class="z-button z-cyan z-mg-r3" onclick="doDesignOrderDraft();">完成初稿</button>
</div>
<#-- 分页列表-->
<div class="z-overflow-auto z-bd-r">
<table class="z-table z-bordered zi-bd-r-none z-bg-white z-pd6" style="width:2480px">
${zhiqim_manager_tr_title(18, "设计订单列表")}
<tr class="z-text-center z-h40" bgcolor="${zmr_thead_bgcolor}">
<td width="60">选择</td>
<td width="100">订单号</td>
<td width="100">设计类型</td>
<td width="100">店铺</td>
<td width="130">旺旺号</td>
<td width="80">设计师</td>
<td width="100">领取时间</td>
<td width="100">设计时间</td>
<td width="100">订单状态</td>
<td width="300">产品</td>
<td width="80">行业</td>
<td width="80">付款金额</td>
<td width="100">进度备注</td>
<td width="80">对稿QQ</td>
<td width="80">对稿微信</td>
<td width="80">对稿手机</td>
<td width="180">暂停设计原因</td>
<td width="180">主管退回原因</td>
<td width="180">审核退回原因</td>
</tr>
<#if pageResult.size() == 0>
${zhiqim_manager_no_record(18, "暂不存在设计订单信息")}
</#if>
<#for item : pageResult.list()>
<input type="hidden" id="buyerNick_${item.getDesignId()}" value="${item.getBuyerNick()}">
<input type="hidden" id="userQq_${item.getDesignId()}" value="${item.getUserQq()}">
<tr align="center" class="z-h40" bgcolor="${zhiqim_manager_tr_bg(item_index)}">
<td><input type="radio" name="designId" data-role="z-radio" data-class="${zmr_color_class}" value="${item.getDesignId()}" onclick="Z.L.href('attaFileList.htm?designId=${item.getDesignId()}&${data}&${addRule}&${delRule}', attaFileList);"></td>
<td>${item.getDesignId()}</td>
<td>${DraftConstants.get(item.getDraftType())}</td>
<td>${Global.get(ShopCache.class).getName(item.getShopNick())}</td>
<td>${item.getBuyerNick()}</td>
<td>${item.getDesigner()}</td>
<td>${Sqls.toDateTimeString(item.getDesignReceiveTime())}</td>
<td>${Sqls.toDateTimeString(item.getDesignBeginTime())}</td>
<td>${StatusConstants.getStatus(item.getStatus())}</td>
<td>${item.getOrderText()}</td>
<td>${Global.get(DesignIndustryCache.class).getIndustryName(item.getIndustryId())}</td>
<td>${Amounts.toYuanMustRadix(item.getAmount())}</td>
<td>${progressNoteMap.get(item.getDesignId())}</td>
<td>${item.getUserQq()}</td>
<td>${item.getUserWx()}</td>
<td>${item.getUserMobile()}</td>
<td>${item.getDesignPauseReason()}</td>
<td>${item.getDesignRejectReason()}</td>
<td>${item.getCheckRejectReason()}</td>
</tr>
</#for>
</table>
</div>
${zhiqim_manager_paging(pageResult, "designOrder.htm")}
</div>
${zhiqim_manager_content_end()}
<#--右侧文件信息-->
<div class="z-fixed z-pd10 z-bd-l z-bg-white z-h100p" style="top:${fmr_topnav_height}px;right:0;width:400px;z-index:50;">
<iframe name="attaFileList" src="attaFileList.htm?${data}&${addRule}&${delRule}" frameborder="0" scrolling="auto" height="100%" width="100%"></iframe>
</div>
<#-- 联系旺旺&联系QQ弹窗框 -->
<iframe id="openFrm" class="z-hide" src="about:blank"></iframe>
@@ -0,0 +1,352 @@
${Scripts.src("/zinc/js/global_2019010801.js")}
<style>
.z-text-ellipsis {
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
display: inline;
}
.z-floater .z-content {
position: absolute;
top: 0;
left: 0;
min-width: 30px;
min-height: 25px;
padding: 6px;
font-size: 12px;
border: 1px solid #c6c6c6;
line-height: 25px;
text-align: center;
background: #fff;
}
</style>
<script>
function doProgressNote(id)
{//进度备注
var designId =id
if (Z.V.isEmpty(designId))
{
designId = Z.FM.getChecked("designId");
if (Z.V.isEmpty(designId))
{
Z.alert("请选择一条订单");
return;
}
}
var dialog = new Z.Dialog();
dialog.title = "订单["+designId+"]进度备注";
dialog.url = "/progressNote.htm?designId="+designId;
dialog.width = 1000;
dialog.height = 630;
dialog.execute();
}
//快捷联系人
function quickContact()
{
var designId = Z.FM.getChecked("designId");
if (Z.V.isEmpty(designId))
{
Z.alert("请选择一条订单");
return;
}
var ajax = new Z.Ajax();
ajax.setClassName("OrderPresenter");
ajax.setMethodName("quickContact");
ajax.addParam("designId", designId);
ajax.setFailureAlert();
ajax.setSuccess(function(){
var obj = Z.J.toObject(this.responseText);
console.log(obj);
var resultHtml = obj.resultHtml;
if (!Z("#quickContact_dialog")[0])
{
var dialog = new Z.Dialog();
dialog.title = '<span id="quickContact_title" class="z-bold"></span>';
dialog.text = '<div id="quickContact_dialog"></div>';
dialog.width = 1100;
dialog.height = 520;
dialog.shadow = false;
dialog.execute();
dialog.$background.remove();
console.log(dialog)
}
Z("#quickContact_dialog").htmlc(resultHtml);
Z("#quickContact_title").htmlc(Z("#title_content").html());
});
ajax.setLoading("quickContactBtn", '<i class="z-font z-add"></i>正在查询', {disabled:true});
ajax.execute();
}
//快捷联系 发送短信
function doContactMobile(mobile, defaultValue, orderId)
{
if (Z.V.isEmptyBlank(mobile))
{
Z.alert("无效手机号");
return;
}
if (Z.V.isEmptyBlank(defaultValue))
{
defaultValue = '';
}
Z.prompt('发送短信至:'+mobile , defaultValue,function(value)
{
if (Z.V.isEmptyBlank(value))
{
Z.alert("短信内容不能为空", function()
{
doContactMobile(mobile, defaultValue);
});
}
else
{
var ajax = new Z.Ajax();
ajax.setClassName("OrderPresenter");
ajax.setMethodName("doContactMobile");
ajax.addParam("orderId", orderId);
ajax.addParam("mobile", mobile);
ajax.addParam("notes", value);
ajax.setFailureAlert();
ajax.setSuccess(function(){Z.tips("发送成功");});
ajax.execute();
}
},{type:'textarea'});
}
//自行处理
function doSelfRetentDeal(){
var designId = Z.FM.getChecked("designId");
if (Z.V.isEmpty(designId))
{
Z.alert("请选择一条订单");
return;
}
var ajax = new Z.Ajax();
ajax.setClassName("OrderPresenter");
ajax.setMethodName("doSelfRetentDealBefore");
ajax.addParam("designId", designId);
ajax.setFailureAlert();
ajax.setSuccess(function(){
<#var retentDealTime=CalculationUtil.retentDealDateTime(request)/>
var retentDealDateTime =${retentDealTime};
if(retentDealDateTime != ""){
Z.confirm('您需要在'+retentDealDateTime+'小时内处理订单', function(){doSelfRetentDealInfo(designId)});
}else{
Z.alert("通知管理员设置滞留单处理时效");
return;
}
});
ajax.execute();
}
function doSelfRetentDealInfo(designId){
var ajax = new Z.Ajax();
ajax.setClassName("OrderPresenter");
ajax.setMethodName("doSelfRetentDeal");
ajax.addParam("designId", designId);
ajax.setFailureAlert();
ajax.setSuccess(function(){location.reload();});
ajax.execute();
}
function doDesignOrderRefund()
{//请求退款
var designId = Z.FM.getChecked("designId");
var ajax = new Z.Ajax();
ajax.setClassName("DesignOrderPresenter");
ajax.setMethodName("doDesignOrderRefundValidate");
ajax.addParam("designId", designId);
ajax.setFailureAlert();
ajax.setSuccess(function(){
if(Z.V.isNotEmpty(this.responseText)){
Z.confirm(this.responseText, function(){
var dialog = new Z.Dialog();
dialog.title = "退款订单: "+designId+" (截屏后粘贴(CTRL+V)到下方空白处)";
dialog.url = "/designOrderRefund.htm?designId=" + designId;
dialog.width = 600;
dialog.height = 400;
dialog.execute();
});
return;
}
var dialog = new Z.Dialog();
dialog.title = "退款订单: "+designId+" (截屏后粘贴(CTRL+V)到下方空白处)";
dialog.url = "/designOrderRefund.htm?designId=" + designId;
dialog.width = 600;
dialog.height = 400;
dialog.execute();
});
ajax.execute();
}
function doQueryStatus(designId, oprType)
{//查询订单状态
var ajax = new Z.Ajax();
ajax.setSync();
ajax.setClassName("DesignOrderPresenter");
ajax.setMethodName("doQueryStatus");
ajax.addParam(designId);
ajax.addParam(oprType);
ajax.execute();
if(ajax.responseStatus != 0)
{
Z.alert(ajax.responseText);
return false;
}
return true;
}
</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 onclick="Z.Location.href('designOrder.htm');">设计订单</li>
<li onclick="Z.Location.href('draftOrder.htm');">初稿订单</li>
<li class="z-active">滞留订单</li>
<li onclick="Z.Location.href('draftOrderToDay.htm');">今日初稿订单</li>
<li onclick="Z.Location.href('completeOrderDayStat.htm');">今日定稿统计</li>
<li onclick="Z.Location.href('designOrderFinish.htm');">历史完成订单</li>
<li onclick="Z.Location.href('fillOrder.htm');">补单列表</li>
</ul>
</nav>
</div>
<#-- 左侧功能 -->
<#-- 查询条件 -->
${zhiqim_manager_title("查询条件")}
<form name="theForm" action="/myRetentionOrder.htm">
<table class="z-table z-bordered z-pd6 z-bg-white">
<tr class="z-h40">
<td>订&nbsp;单&nbsp;号&nbsp;<input name="designId" class="${zmr_color_class} z-input z-w180" value="${designId}" maxlength="64" placeholder="订单号"></td>
<td>产品类型:<select name="typeId" class="z-select z-w180" data-role="z-select" data-class="${zmr_color_class}">
<option value="">全部</option>
<#for item : DesignTypeDao.list()>
<option value="${item.getTypeId()}" <#if typeId == item.getTypeId()>selected</#if>>${item.getTypeName()}</option>
</#for>
</select>
</td>
<td>责&nbsp;任&nbsp;人:
<select name="designer" class="z-select z-w180" data-role="z-select-search" data-class="${zmr_color_class}">
<option value="">全部</option>
<#for item : operatorList>
<option value="${item.getOperatorCode()}" <#if item.getOperatorCode() == designer>selected</#if>>${item.getOperatorCode()}</option>
</#for>
</select>
</td>
<td>旺旺号:<input class="z-input ${zmr_color_class} z-w160" name="buyerNick" value="${buyerNick}" maxlength="32" placeholder="旺旺号"/></td>
<tr>
</tr class="z-h40">
<td>
稿件类型:<select name="draftType" class="z-select z-w180" data-role="z-select" data-class="${zmr_color_class}">
<option value="">全部</option>
<#for item : DraftConstants.getList()>
<option value="${item.value()}" <#if draftType == item.value()>selected</#if>>${item.desc()}</option>
</#for>
</select>
</td>
<td>店铺名称:<select name="shopNick" class="z-select z-w180" data-role="z-select" data-class="${zmr_color_class}">
<option value="">全部</option>
<#for item : shopNickList>
<option value="${item}" <#if shopNick == item>selected</#if>>${item}</option>
</#for>
</select>
</td>
<td>滞留时长:<select name="retentionTime" class="z-select z-w180" data-role="z-select" data-class="${zmr_color_class}">
<option value="">全部</option>
<option value="1" <#if retentionTime == 1>selected</#if>>一个月以上</option>
<option value="2" <#if retentionTime == 2>selected</#if>>两个月以上</option>
<option value="3" <#if retentionTime == 3>selected</#if>>三个月以上</option>
</select>
</td>
<td>
<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>
<#-- 操作功能 -->
<div class="z-w100p z-mg-t10 z-mg-b3">
<button type="button" class="z-button z-mg-r6 ${zmr_color_class}" onclick="Global.openWangWang();"><img src="/zinc/images/wangwang.png">旺旺联系</button>
<#if ZmrPathRule.check(request, "doApplyRefund")>
<span class="z-pointer z-text-ellipsis" data-role="z-tooltip" data-options="placement:top;top:5;align:center;border-color:#d3d3d3;width:80px;" data-text="取消设计">
<button id="designOrderRefund" class="z-button z-blue z-mg-r10" onclick="doDesignOrderRefund();"><i class="z-font z-modify"></i>
申请退款
</button>
</span>
</#if>
<button id="quickContactBtn" type="button" class="z-button z-mg-t3 z-mg-r6 z-cyan" onclick="quickContact();"><i class="z-font z-add"></i>快捷联系人</button>
<button class="z-button z-blue z-mg-r10" onclick="doProgressNote();"><i class="z-font z-setting"></i>进度备注</button>
<button class="z-button z-orange z-mg-r10" onclick="doSelfRetentDeal();">自行处理</button>
</div>
<#-- 列表 -->
<table class="z-table z-bordered z-h40-tr z-pd5 z-bg-white z-text-center" style="height:auto;">
<tr bgcolor="${zmr_thead_bgcolor}">
<td width="60">选择</td>
<td width="140">订单号</td>
<td width="150">所属组织</td>
<td width="100">稿件类型</td>
<td width="130">旺旺号</td>
<td width="120">店铺</td>
<td width="110">设计师</td>
<td width="90">创建时间</td>
<td width="90">领单时间</td>
<td width="110">订单状态</td>
<td width="160">进度备注</td>
<td width="*" style="min-width:220px">产品</td>
<td width="80">订单金额</td>
<td width="120">倒计时</td>
<td width="80">印刷设计</td>
</tr>
${zhiqim_manager_tr_no_record(pageResult, 12, "暂时没有滞留单")}
<#for item : pageResult.list()>
<#var isCountDown=CalculationUtil.retentDealCountDownCal(request,item.getDesignId())/>
<input id="buyerNick_${item.getDesignId()}" type="hidden" value="${item.getBuyerNick()}">
<input id="userQq_${item.getDesignId()}" type="hidden" value="${item.getUserQq()}">
<tr class="z-pointer <#if isCountDown == "">z-text-red</#if>" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
<td><input name="designId" type="radio" data-role="z-radio" data-class="${zmr_color_class}" value="${item.getDesignId()}"></td>
<td>${item.getDesignId()}
<#if item.getReDesignSrcId() gt 0><span style="color: red;font-size:16px;font-weight: bold"> 补 </span></#if>
<#if item.isUrgent()><span style="color: red;font-size:16px;font-weight: bold"> 急 </span></#if>
<#if item.isHighQualityOrder()><span style="color: red;font-size:16px;font-weight: bold"> 优 </span></#if>
<#if item.getIsOldUser() gt 0><span style="color: #9D24D7;font-size:16px;font-weight: bold"> 老 </span></#if>
<#if !(item.getAmount() lt 30000)><span style="color:#FF34B3;font-size:16px;font-weight: bold"> 大 </span></#if>
<#if item.getShowRedMark() == 1><span><img src="/zinc/images/red_exclamation_mark.png" title="该订单已在淘宝退款"></span></#if>
</td>
<td>${ZmrOrgDao.getOrgName(request,item.getOrgId())}</td>
<td>${DraftConstants.get(item.getDraftType())}</td>
<td>${item.getBuyerNick()}</td>
<td>${item.getShopNick()}</td>
<td>${item.getDesigner()}</td>
<td>${Sqls.toDateTimeString(item.getCreateTime())}</td>
<td>${Sqls.toDateTimeString(item.getDesignReceiveTime())}</td>
<td>${StatusConstants.getStatus(item.getStatus())}</td>
<td>${progressNoteMap.get(item.getDesignId())}</td>
<td>${item.getOrderText()}</td>
<td>${Amounts.toYuanMustRadix(item.getAmount())}</td>
<td><#if isCountDown != "">${isCountDown}</#if></td>
<td><#if item.isOnlyDesign()>仅设计<#else>设计印刷</#if></td>
</tr>
</#for>
${zhiqim_manager_paging(pageResult, "/myRetentionOrder.htm")}
</table>
${zhiqim_manager_content_end()}
<#-- 联系旺旺&联系QQ弹窗框 -->
<iframe id="openFrm" class="z-hide" src="about:blank"></iframe>
@@ -0,0 +1,50 @@
${zhiqim_manager_breadcrumb("待办")}
${zhiqim_manager_content()}
${sweet_alert_reuse_method()}
<style>
.goDetail{ cursor: pointer; height:30px; background:#1182fc; color:#fff!important; font-size:12px; width:70px; border-radius:4px; line-height:30px; display:block; text-align: center;}
</style>
<#-- 列表 -->
<table class="z-table z-bordered z-mg-t20 z-pd10 z-bg-white z-lh150p z-text-center">
<tr class="z-h40" bgcolor="${zmr_thead_bgcolor}">
<td width="25%">待办状态</td>
<td width="*">待办内容</td>
<td width="15%">通知人</td>
<td width="15%">待办创建时间</td>
<td width="15%">操作</td>
</tr>
<#for item : result.list()>
<tr class="z-h60" bgcolor="${zhiqim_manager_tr_bg(item_index)}">
<td>
<#if item.getMessageType() == 1>待办事项</#if>
<#if item.getMessageType() == 2>已办事项</#if>
<#if item.getMessageType() == 3>已办事项</#if>
</td>
<td>#{item.getMessageBody()}</td>
<td>#{item.getConsumerCode()}</td>
<td>#{Sqls.toDateTimeString(item.getCreateTime())}</td>
<td align="center">
<span class="goDetail" onclick="findInfo('${item.getDesignId()}+','+${item.getMessageType()}')">前往处理</span>
</td>
</tr>
</#for>
${zhiqim_manager_tr_no_record(result, 10, "暂时没有公告")}
</table>
<table class="z-table z-bordered zi-bd-t-none z-bg-white">
<tr class="z-h50">
<td><div class="z-float-right z-mg-r10">${PagingGo.toHtmlLink(result)}</div></td>
</tr>
</table>
${zhiqim_manager_content_end()}
<script>
function findInfo(id,MessageType){
if(MessageType == 1){
open("/allOrderDetail.htm?designId="+id+'&data=copy,userText,userNotice,CustomFile,DesginFile,EndFile,WorkFile,FristThumFile,TbzFile&addRule=CustomFile&delRule=CustomFile');
}else{
alert("该待办已办结");
}
}
</script>
@@ -0,0 +1,64 @@
<#def designatedPath="/orderList.htm"/>
<script>
function validateForm(form)
{
if (Z.V.isEmpty(form.designId.value))
{
Z.tips({text:"请输入订单号", width: 150});
return false;
}
return true;
}
</script>
${zhiqim_manager_breadcrumb("订单日志列表")}
${zhiqim_manager_content()}
<#-- 导航 -->
<div data-role="z-tabnav" class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
<nav>
<ul>
<#if ZmrPathRule.check(request, "/orderList.htm")><li onclick="Z.L.href('orderList.htm');">订单列表</li></#if>
<li class="z-active">订单日志</li>
<#if ZmrPathRule.check(request, "/orderTagList.htm")><li onclick="Z.L.href('orderTagList.htm');">订单标签</li></#if>
<li onclick="Z.L.href('orderRefundList.htm');">退款订单列表</li>
</ul>
</nav>
</div>
<#-- 查询条件 -->
${zhiqim_manager_title("订单日志查询")}
<form name="theForm" method="post" onsubmit="return validateForm(this);">
<table class="z-table z-bordered z-bg-white z-pd6">
<tr>
<td>
订单号:<input class="z-input ${zmr_color_class} z-w200" name="designId" value="${designId}" maxlength="20" placeholder="订单号">
<button type="submit" class="z-button z-large z-w120 z-mg-l20 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>
<#-- 列表 -->
<table class="z-table z-bordered z-h40-tr zi-bd z-pd5 z-bg-white z-text-center z-mg-t20" >
<tr bgcolor="${zmr_thead_bgcolor}">
<td width="150">订单号</td>
<td width="150">状态</td>
<td width="100">操作员</td>
<td width="*">操作项</td>
<td width="200">操作时间</td>
</tr>
${zhiqim_manager_tr_no_record(pageResult, 6, "暂时没有订单日志信息")}
<#for item : pageResult.list()>
<tr ${zhiqim_manager_tr_onmouse()}>
<td>${item.getDesignId()}</td>
<td class="z-text-center">${StatusConstants.getStatus(item.getStatus())}</td>
<td>${item.getOperatorCode()}</td>
<td>${item.getOperateDesc()}</td>
<td>${Sqls.toDateTimeString(item.getCreateTime())}</td>
</tr>
</#for>
</table>
${zhiqim_manager_paging(pageResult, "orderLogList.htm")}
${zhiqim_manager_content_end()}
@@ -0,0 +1,168 @@
${Scripts.src("/zinc/js/global_2019010801.js")}
${zhiqim_manager_breadcrumb("订单列表")}
${zhiqim_manager_content()}
<script>
function agreeRefund()
{//同意退款
var designId = Z.FM.getChecked("designId");
if (Z.V.isEmpty(designId))
{
Z.alert("请选择一条订单");
return;
}
var dialog = new Z.Dialog();
dialog.title = "退款责任";
dialog.url = "/designOrderAgreeRefund.htm?designId=" + designId;
dialog.width = 500;
dialog.height = 302;
dialog.execute();
}
function disAgreeRefund(){
//拒绝退款
var designId = Z.FM.getChecked("designId");
if (Z.V.isEmpty(designId))
{
Z.alert("请选择一条订单");
return;
}
Z.confirm("您确定拒绝退款吗?",function(){
var ajax = new Z.Ajax();
ajax.setClassName("DesignOrderPresenter");
ajax.setMethodName("designOrderDisAgreeRefund");
ajax.addParam("designId",designId);
ajax.setFailureAlert();
ajax.setSuccess(function(){
Z.success('操作成功', function(){
location.reload();
});
});
ajax.setLoading(document);
ajax.execute();
});
}
function desingOrderRefundInfo()
{//设计师退款订单详情
var designId = Z.FM.getChecked("designId");
if (Z.V.isEmpty(designId))
{
Z.alert("请选择一条订单");
return;
}
var dialog = new Z.Dialog();
dialog.title = "订单详情";
dialog.url = "/designOrderRefundInfo.htm?designId=" + designId;
dialog.offset
dialog.width = 750;
dialog.height = 650;
dialog.execute();
}
</script>
<#-- 导航 -->
<div data-role="z-tabnav" class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
<nav>
<ul>
<#if ZmrPathRule.check(request, "/orderList.htm")>
<li onclick="Z.L.href('orderList.htm');">订单列表</li></#if>
<li onclick="Z.L.href('orderLogList.htm');">订单日志</li>
<li onclick="Z.L.href('orderTagList.htm');">订单标签</li>
<li class="z-active">退款订单列表</li>
</ul>
</nav>
</div>
<#-- 查询条件 -->
${zhiqim_manager_title("查询条件")}
<form action="orderRefundList.htm" method="post">
<table class="z-table z-bordered z-pd6 z-bg-white">
<tr>
<td width="25%">订单号:<input name="designId" class="${zmr_color_class} z-input z-w180 z-mg-l4" value="${designId}" maxlength="64" placeholder="订单号"></td>
<td>
商户名称:<select name="merchantId" class="z-select z-w180" data-role="z-select" data-class="${zmr_color_class}">
<option value="">全部</option>
<#for item : Global.get(DesignMerchantCache.class).getList()>
<option value="${item.getMerchantName()}" <#if merchantId == item.getMerchantId()>selected</#if>>${item.getMerchantName()}</option>
</#for>
</select>
</td>
<td>
稿件类型:<select name="draftType" class="z-select z-w180" data-role="z-select" data-class="${zmr_color_class}">
<option value="">全部</option>
<#for item : DraftConstants.getList()>
<#if item.value() != 4 >
<option value="${item.value()}" <#if draftType == item.value()>selected</#if>>${item.desc()}</option>
</#if>
</#for>
</select>
</td>
<td>产品类型:<select name="typeId" class="z-select z-w180" data-role="z-select" data-class="${zmr_color_class}">
<option value="">全部</option>
<#for item : typeList>
<option value="${item.getTypeId()}" <#if typeId == item.getTypeId()>selected</#if>>${item.getTypeName()}</option>
</#for>
</select>
</td>
</tr>
<tr class="z-h40">
<td>旺旺号:<input name="buyerNick" class="${zmr_color_class} z-input z-w180 z-mg-l4" value="${buyerNick}" maxlength="64" placeholder="旺旺号">
<td>
退款原因:<select name="refundReason" class="z-select z-w180" data-role="z-select" data-class="${zmr_color_class}">
<option value="">全部</option>
<#for item : Global.get(DesignOrderRefundReasonCache.class).getListAll()>
<option value="${item.getId()}" <#if refundReason == item.getId()>selected</#if>>${item.getTitle()}</option>
</#for>
</select>
</td>
<td colspan="2">
<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>
<#-- 操作功能 -->
<div class="z-w100p z-mg-t10 z-mg-b3">
<button class="z-button z-w120 z-mg-r15 z-large ${zmr_color_class}" onclick="agreeRefund()">同意退款</button>
<button class="z-button z-w120 z-mg-r15 z-red z-large" onclick="disAgreeRefund()">拒绝退款</button>
<button class="z-button z-w120 z-mg-r15 z-large ${zmr_color_class}" onclick="desingOrderRefundInfo()">查看详情</button>
</div>
<#-- 列表-->
<div class="z-overflow-auto z-bd-r" style="overflow-x: auto; overflow-y: auto;width:100%">
<table class="z-table z-bordered z-h40-tr z-pd5 zi-bd-r-none z-bg-white z-text-center">
<tr bgcolor="${zmr_thead_bgcolor}" data-layoutCode="orderList">
<td width="40">选择</td>
<td width="80">订单号</td>
<td width="80">商户</td>
<td width="100">旺旺号</td>
<td width="100">店铺</td>
<td width="100">产品</td>
<td width="60">付款金额</td>
<td width="120">特殊工艺</td>
<td width="120">退款原因</td>
<td width="80">申请时间</td>
</tr>
${zhiqim_manager_tr_no_record(pageResult, 10, "暂时没有退款订单信息")}
<#for item : pageResult.list()>
<input id="buyerNick_${item.getDesignId()}" type="hidden" value="${item.getBuyerNick()}">
<input id="userQqs_${item.getDesignId()}" type="hidden" value="${item.getDesignCopies()}">
<input id="status_${item.getDesignId()}" type="hidden" value="${item.getStatus()}">
<tr class="z-pointer" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
<td><input name="designId" type="radio" data-role="z-radio" data-class="${zmr_color_class}" value="${item.getDesignId()}"></td>
<td>${item.getDesignId()}</td>
<td>${Global.get(DesignMerchantCache.class).getName(item.getMerchantId())}<br/>${DraftConstants.get(item.getDraftType())}</td>
<td>${item.getBuyerNick()}</td>
<td>${item.getShopNick()}</td>
<td>${item.getOrderText()}</td>
<td>${Amounts.toYuanMustRadix(item.getAmount())}</td>
<td>${item.getPrintSpecial()}</td>
<td>${Global.get(DesignOrderRefundReasonCache.class).getName(item.getRefundReason())}</td>
<td>${item.getRefundTime()}</td>
</tr>
</#for>
</table>
</div>
${zhiqim_manager_paging(pageResult, "/orderRefundList.htm")}
${zhiqim_manager_content_end()}

Some files were not shown because too many files have changed in this diff Show More