864 lines
38 KiB
Plaintext
864 lines
38 KiB
Plaintext
${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>
|