This commit is contained in:
2025-02-20 14:58:55 +08:00
szülő 687bda5ead
commit d7be84fac6
1158 fájl változott, egészen pontosan 127232 új sor hozzáadva és 0 régi sor törölve
@@ -0,0 +1,72 @@
+(function(Z)
{
//BEGIN
var Design = window.Design = {};
Z.onload(function()
{
})
Design.doWorksShow = function (value,urlParam)
{//展示弹窗页,全铺满
var ajax = new Z.Ajax();
ajax.setClassName("WorksPresenter");
ajax.setMethodName("doWorksBrowse");
ajax.addParam(value)
ajax.execute();
var dialog = new Z.Dialog();
dialog.shadow = true;
dialog.title = "作品详情";
dialog.fixed = true;
dialog.url = "worksShow.htm?worksId="+value;
dialog.width = Z.D.clientWidth();
dialog.height =Z.D.clientHeight()-40;
dialog.execute();
}
Design.doTemplateShow = function (value,urlParam)
{//展示弹窗页,全铺满
var keywordName = Z("#searchinput").val();
if (keywordName == null)
keywordName = "";
var ajax = new Z.Ajax();
ajax.setClassName("TemplatePresenter");
ajax.setMethodName("doTemplateBrowse");
ajax.addParam("mediaId", value)
ajax.execute();
var dialog = new Z.Dialog();
dialog.shadow = true;
dialog.title = "模板详情";
dialog.fixed = true;
dialog.url = "templateShow.htm?mediaId=" + value + "&keywordName=" + keywordName + "&urlParam=" + urlParam;
dialog.width = Z.D.clientWidth() -30;
dialog.height =Z.D.clientHeight() - 65;
dialog.execute();
}
Design.openWangWang = function(buyerNick)
{//打开旺旺
Z("#openFrm").attr("src","http://amos.alicdn.com/msg.aw?v=2&uid="+buyerNick+"&site=cntaobao&s=2&charset=utf-8");
};
Design.openQQ = function(userQq)
{//打开QQ
if (!Z.V.isInteger(userQq))
{
Z.alert("客户未提供QQ号,请旺旺联系");
return;
}
Z("#openFrm").attr("src","tencent://message/?uin="+userQq);
};
//END
})(zhiqim);
@@ -0,0 +1,76 @@
/*****************************************************************************/
//定义设计师工作初始化
/*****************************************************************************/
//启动websocket
Z.onload(function()
{
Z("#switch-work").click(function(){
if(Z("#switch-work").hasClass('switch-active')){
stopWork()
}else{
startWork()
}
})
//1.检查上下班状态
});
/*****************************************************************************/
//定义设计师工作对象
/*****************************************************************************/
function startWork()
{//设计师开始接单
var ajax = new Z.Ajax();
ajax.setClassName("DesignerWorkPresenter");
ajax.setMethodName("startWork");
ajax.setFailureAlert();
ajax.setFailure(function(){
if(this.responseText == "1"){
Z.alert("接单前请前往个人中心完善个人简介~", function(){
Z("a[onclick*='profile.htm']").click();
});
return;
}
Z.alert(this.responseText);
})
ajax.setSuccess(function()
{
Z("#switch-work").addClass("switch-active")
});
ajax.execute();
};
function stopWork()
{//设计师停止接单
//1.查询未完成订单数
var ajax = new Z.Ajax();
ajax.setSync();
ajax.setClassName("DesignerWorkPresenter");
ajax.setMethodName("getOrderNumber");
ajax.execute();
if (ajax.responseStatus != 0)
{
Z.alert("抱歉请求处理失败,请重试!");
return;
}
//2.提醒下班
var confirm = "确认现在停止接单吗?" + ((ajax.responseText != "0")?"您还有" + ajax.responseText + "个订单未完成!":"");
Z.confirm(confirm, function()
{
var _ajax = new Z.Ajax();
_ajax.setClassName("DesignerWorkPresenter");
_ajax.setMethodName("stopWork");
_ajax.setFailureAlert();
_ajax.setSuccess(function()
{
Z("#switch-work").removeClass("switch-active")
});
_ajax.execute();
});
};
@@ -0,0 +1,80 @@
+(function(Z)
{
//BEGIN
var Global = window.Global = {};
/**************************************************************************************/
//打开旺旺&打开QQ
/**************************************************************************************/
Global.contectWangWang = function()
{//打开旺旺
var designId = Z.FM.getChecked("designId");
var buyerNick = Z("#buyerNick_" + designId).val();
Z("#openFrm").attr("src","http://amos.alicdn.com/msg.aw?v=2&uid="+buyerNick+"&site=cntaobao&s=2&charset=utf-8");
};
Global.contectQQ = function()
{//打开QQ
var designId = Z.FM.getChecked("designId")
var userQq = Z("#userQq_" + designId).val();
if (!Z.V.isInteger(userQq))
{
Z.alert("客户未提供QQ号,请旺旺联系");
return;
}
Z("#openFrm").attr("src","tencent://message/?uin="+userQq);
};
Global.openWangWang = function(elemId, attrName)
{//打开旺旺
if (!elemId && !attrName)
{
Global.contectWangWang();
}
else
{
var nick = Z("#"+elemId).attr(Z.V.isEmptyBlank(attrName) ? "data-ww" : attrName);
Global.openWangWangParam(nick);
}
};
Global.openQQ = function(elemId, attrName)
{//打开QQ
if (!elemId && !attrName)
{
Global.contectQQ();
}
else
{
var nick = Z("#"+elemId).attr(Z.V.isEmptyBlank(attrName) ? "data-qq" : attrName);
Global.openQQParam(nick);
}
};
Global.openWangWangParam = function(buyerNick)
{//打开旺旺
if (Z.V.isEmptyBlank(buyerNick))
{
Z.failure("客户未提供该联系方式");
return;
}
Z("#openFrm").attr("src","http://amos.alicdn.com/msg.aw?v=2&uid="+buyerNick+"&site=cntaobao&s=2&charset=utf-8");
}
Global.openQQParam = function(userQq)
{//打开QQ
if (!Z.V.isInteger(userQq))
{
Z.failure("客户未提供该联系方式");
return;
}
Z("#openFrm").attr("src","tencent://message/?uin="+userQq);
}
//END
})(zhiqim);
@@ -0,0 +1,80 @@
+(function(Z)
{
//BEGIN
var Global = window.Global = {};
/**************************************************************************************/
//打开旺旺&打开QQ
/**************************************************************************************/
Global.contectWangWang = function()
{//打开旺旺complainId
var complainId = Z.FM.getChecked("complainId");
var buyerNick = Z("#buyerNick_" + complainId).val();
Z("#openFrm").attr("src","http://amos.alicdn.com/msg.aw?v=2&uid="+buyerNick+"&site=cntaobao&s=2&charset=utf-8");
};
Global.contectQQ = function()
{//打开QQ
var complainId = Z.FM.getChecked("complainId")
var userQq = Z("#userQq_" + complainId).val();
if (!Z.V.isInteger(userQq))
{
Z.alert("客户未提供QQ号,请旺旺联系");
return;
}
Z("#openFrm").attr("src","tencent://message/?uin="+userQq);
};
Global.openWangWang = function(elemId, attrName)
{//打开旺旺
if (!elemId && !attrName)
{
Global.contectWangWang();
}
else
{
var nick = Z("#"+elemId).attr(Z.V.isEmptyBlank(attrName) ? "data-ww" : attrName);
Global.openWangWangParam(nick);
}
};
Global.openQQ = function(elemId, attrName)
{//打开QQ
if (!elemId && !attrName)
{
Global.contectQQ();
}
else
{
var nick = Z("#"+elemId).attr(Z.V.isEmptyBlank(attrName) ? "data-qq" : attrName);
Global.openQQParam(nick);
}
};
Global.openWangWangParam = function(buyerNick)
{//打开旺旺
if (Z.V.isEmptyBlank(buyerNick))
{
Z.failure("客户未提供该联系方式");
return;
}
Z("#openFrm").attr("src","http://amos.alicdn.com/msg.aw?v=2&uid="+buyerNick+"&site=cntaobao&s=2&charset=utf-8");
}
Global.openQQParam = function(userQq)
{//打开QQ
if (!Z.V.isInteger(userQq))
{
Z.failure("客户未提供该联系方式");
return;
}
Z("#openFrm").attr("src","tencent://message/?uin="+userQq);
}
//END
})(zhiqim);
File diff suppressed because one or more lines are too long
@@ -0,0 +1,213 @@
+(function(Z)
{
//BEGIN
var Mercolumn = window.Mercolumn = {};
Mercolumn.initPageColumn = function (layoutCode, layoutName)
{
if (!layoutName || !layoutCode)
return false;
var _tr_ = Z('tr[data-layoutCode=\''+layoutCode+'\']');
if (!_tr_)
{
console.error("["+layoutCode+"]" + "元素查询异常")
return false;
}
var _tr = _tr_[0];
if (!_tr)
{
console.log("["+layoutCode+"]" + "未找到元素")
return false;
}
var cells = _tr.cells;
var nameArr = [];
var columns = [];
Z.each(cells, function(td, i){
var columnName = td.innerText;
columnName = Z.S.trim(columnName);
if (Z.V.isNotEmptyBlank(columnName))//有效列名信息
{
nameArr[i] = columnName;
columns[i] = columnName;
}
});
if (nameArr.length == 0)
{
console.log("["+layoutCode+"]" + "找不到列信息")
return false;
}
var init_success = false;
try
{
var ajax = new Z.Ajax();
ajax.setSync();
ajax.setClassName("MercolumnPresenter");
ajax.setMethodName("initPageLayoutColumn");
ajax.addParam("layoutCode", layoutCode);
ajax.addParam("layoutName", layoutName);
ajax.addParam("sysColumns", Z.AR.toString(nameArr, ","));
ajax.setFailure(function(){
console.error("初始化页面信息列异常:"+this.responseText)
});
ajax.setSuccess(function()
{
init_success = true;
});
ajax.execute();
}catch(e)
{
console.log(e)
}
return init_success;
}
Mercolumn.doQueryColumns = function(layoutCode)
{
if (!layoutCode)
return [];
var _tr_ = Z('tr[data-layoutCode=\''+layoutCode+'\']');
if (!_tr_)
{
console.error("["+layoutCode+"]" + "元素查询异常")
return [];
}
var _tr = _tr_[0];
if (!_tr)
{
console.log("["+layoutCode+"]" + "未找到元素")
return [];
}
var cells = _tr.cells;
var nameArr = [];
var columns = {};
Z.each(cells, function(td, i){
var columnName = td.innerText;
columnName = Z.S.trim(columnName);
if (Z.V.isNotEmptyBlank(columnName))//有效列名信息
{
nameArr[i] = columnName;
columns[columnName] = i;
}
});
return columns;
}
Mercolumn.doShowMerPageColumn = function (layoutCode, layoutName, orgId)
{
var init_success = Mercolumn.initPageColumn(layoutCode, layoutName);//初始化
if (!init_success)
return;//初始化失败了不设置
var pageColumns = Mercolumn.doQueryColumns(layoutCode);
if (!orgId || orgId == -1)
{
return false;
}
try
{
var ajax = new Z.Ajax();
ajax.setClassName("MercolumnPresenter");
ajax.setMethodName("doQueryMerPageLayoutColumns");
ajax.addParam("orgId", orgId);
ajax.addParam("layoutCode", layoutCode);
ajax.setFailure(function(){
console.error("设置隐藏商户信息列异常:"+this.responseText);
});
ajax.setSuccess(function(){
var obj = Z.J.toObject(this.responseText);
var dataList = obj.dataList;
console.log(obj);
if (!dataList || dataList.length == 0 || !dataList[0])
return;
var merColsNames = Z.AR.toArray(dataList[0].merColumns, ",")
var mercolumsIndex=[];
//查询影藏列下标
var hideIndexs = [];
for (var colsName in pageColumns)
{
if (Z.AR.contains(merColsNames, colsName))
{
var ind = pageColumns[colsName];
mercolumsIndex[colsName] = ind;
hideIndexs.push(ind);
}
}
console.log("mercolumsIndex:");
console.log(mercolumsIndex);
console.log(hideIndexs);
//查询标记隐藏表标头
var _tr_ = Z('tr[data-layoutCode=\''+layoutCode+'\']');
if (!_tr_ || _tr_ .length == 0)
{
return;
}
var parentWidth = 0;
var scrollWidth = 0;
var table = _tr_.parent()[0]
if (Z.S.equalsIgnoreCase(table.tagName, "tbody"))
{
table = Z(table).parent();
scrollWidth = table[0].scrollWidth;
var elem = table.parent()[0];
parentWidth = elem.clientWidth-table[0].offsetLeft*2;
}
//计算隐藏宽度
var cutWidth = 0;
var thead = _tr_[0];
var _cells_ = thead.cells;
for(var ci = 0; ci < _cells_.length; ci++)
{
if (!Z.AR.contains(hideIndexs, ci*1))
{
var td = _cells_[ci];
cutWidth += td.scrollWidth;
}
}
//隐藏列
var trs = table.find("tr");
for (var i=0; i<trs.length; i++)
{
var cols = trs[i].cells;
for(var ci = 0; ci < cols.length; ci++)
{
if (!Z.AR.contains(hideIndexs, ci*1))
{
Z(cols[ci]).hide();
}
}
}
//重新设置table宽度
var table_width = scrollWidth - cutWidth;
if (table_width < parentWidth)
table_width = parentWidth
table[0].style.width = table_width + "px";
});
ajax.execute();
}catch (e)
{
console.log(e)
}
}
//END
})(zhiqim);
@@ -0,0 +1,279 @@
;!function (e) {
"use strict";
var _ws, n = function () {
this.v = "1.0.0";
this.busiMessageUrl = "http://192.168.3.115:9201/api-busi/messageBusi/readMessage/";
}, _url, _status, _lock = false, _id, _message = new Array(), _nowMessage;
var _onopen = function (event) {
_status = "open";
console.log("连接成功");
}, _onerror = function (event) {
_status = "error";
console.log("连接出错");
}, _onmessage = function (event) {
var obj = eval("(" + event.data + ")");
if(obj !=undefined && obj !=null){
if(obj[0].code == 1){
// 第一次历史消息查询失败的情况
return;
}if(obj[0].code == 0){
// 第一次历史消息查询成功的情况
if(obj[0].data.size == 1){
_message.push(obj[0].data.messageBusi);
_showMessage();
}else if(obj[0].data.size > 1){
// 提醒未读消息条数
_showHistoryMessage(obj[0].data.size);
}
return;
}
// 实时消息
for (var i = 0; i < obj.length; i++) {
_message.push(obj[i]);
}
if (_message.length > 0) {
_showMessage();
}
}
console.log("收到消息:" + event.data);
}, _onclose = function (event) {
_status = "close";
console.log("关闭连接");
}, _reconnection = function () {
if (!'WebSocket' in window) {
console.error("浏览器不支持推送消息");
return;
}
_ws = new WebSocket(_url,"message_box");
_ws.onopen = _onopen;
_ws.onerror = _onerror;
_ws.onmessage = _onmessage;
_ws.onclose = _onclose;
}, _closeHear = function () {
if (_id) {
clearInterval(_id);
}
}, _heartCheck = function () {
if (_lock) {
return;
}
_lock = true;
_closeHear();
_id = setInterval(function () {
if (_url && _status && _status == "close") {
console.log("尝试重连")
_reconnection();
} else if (_url && _status && _status == "open") {
console.log("心跳检测");
// _ws.send(new ArrayBuffer(4));
_ws.send("ping");
}
_lock = false;
}, 1000 * 60);
}, _readMsg = function () {
try {
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function () {
//当状态变化时处理的事情
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
//5.接收响应信息
var data = eval("(" + xmlHttp.responseText + ")");
if (data.code == 0) {
document.getElementById("messageDiv").remove();
_showMessage();
} else {
// 失败后添加至头部
_message.unshift(_nowMessage);
document.getElementById("messageDiv").remove();
_showMessage();
}
}
}
xmlHttp.open("POST", myWebSocket.busiMessageUrl + _nowMessage.id, false);
//4.发送请求
xmlHttp.send();
} catch (e) {
// 失败后添加至头部
_message.unshift(_nowMessage);
document.getElementById("messageDiv").remove();
_showMessage();
}
}, _readHistoryMsg = function () {
document.getElementById("messageDiv").remove();
}, _showHistoryMsg = function () {
document.getElementById("messageDiv").remove();
document.getElementsByClassName("myMessageBox")[0].click();
},_doCopyOrderIdInfo = function (orderId){
//复制订单号id
var inputEle = document.createElement("input");
document.designMode = "on";
inputEle.value = orderId;
document.body.appendChild(inputEle);
inputEle.select();
document.execCommand('copy');
inputEle.blur();
inputEle.style.display = 'none';
document.body.removeChild(inputEle);
document.designMode = "off";
_readMsg();
}, _showMessage = function () {
setTimeout(function () {
if (document.getElementById("messageDiv") != null || _message.length == 0) {
return;
}
_nowMessage = _message.shift();
var property = null;
if(_nowMessage.property !=undefined){
property = JSON.parse(_nowMessage.property);
}
var messageBody = _nowMessage.messageBody;
var orderId = _nowMessage.orderId;
var dateStr = _formatDate(new Date(parseInt(_nowMessage.sendTime)));
var htmls = `
<div id="messageDiv" style="width: 500px;border: 1px solid #cecdcd;background-color: #f2f2f2;color: #fff;position: fixed;right: 15px;bottom: 0px;border-radius: 10px;z-index: 999999;">
<div style="width: 500px;height: 55px;text-align: center;font-size: 24px;line-height: 50px;border-radius: 5px 5px 0 0;background-color:red;margin-left: -1px;">
消息提醒
</div>
<div style="border: 1px solid #000;border-radius: 11px;margin: 10px;text-align: center;background-color: #fff;color: #000;font-size: 20px;padding:20px;">
${messageBody}
</div>
<div style="display: flex;justify-content: center;">
<span style="color: black;font-size: 16px;margin: 15px;float: left;">提醒发送人:<span>${_nowMessage.producerOperateName ? _nowMessage.producerOperateName : "系统"}</span></span>
<span style="color: black;font-size: 16px;margin: 15px;float: right;margin-left: 40px;">消息时间:${dateStr}</span>
</div>
<div style="display: flex;justify-content: center;">
<div onclick="myWebSocket.readHistoryMsg()" style="width: 120px;height: 40px;border-radius: 5px;background-color:#009966;text-align: center;line-height: 40px;color: #fff;float: left;margin: 10px;cursor:pointer;">知道了</div>
<div onclick="myWebSocket.doCopyOrderIdInfo(${orderId});" style="width: 120px;height: 40px;border-radius: 5px;background-color:#199ed8;text-align: center;line-height: 40px;color: #fff;float: right;margin: 10px;cursor:pointer;margin-left:50px;">点击复制单号</div>
</div>
</div>`;
document.body.insertAdjacentHTML("beforeend", htmls);
}, 2000)
}, _showHistoryMessage = function (size) {
var dateStr = _formatDate(new Date());
var htmls = `
<div id="messageDiv" style="width: 500px;border: 1px solid #cecdcd;background-color: #f2f2f2;color: #fff;position: fixed;right: 15px;bottom: 0px;border-radius: 10px;z-index: 999999;">
<div style="width: 500px;height: 55px;text-align: center;font-size: 24px;line-height: 50px;border-radius: 5px 5px 0 0;background-color:red;margin-left: -1px;">
消息提醒
</div>
<div style="border: 1px solid #000;border-radius: 11px;margin: 10px;text-align: center;background-color: #fff;color: #000;font-size: 20px;padding:20px;">
您有${size}条消息未读
</div>
<div style="display: flex;justify-content: center;">
<span style="color: black;font-size: 16px;margin: 15px;float: left;">提醒发送人:<span>系统</span></span>
<span style="color: black;font-size: 16px;margin: 15px;float: right;margin-left: 40px;">消息时间:${dateStr}</span>
</div>
<div style="display: flex;justify-content: center;">
<div onclick="myWebSocket.readHistoryMsg()" style="width: 120px;height: 40px;border-radius: 5px;background-color:#009966;text-align: center;line-height: 40px;color: #fff;float: left;margin: 10px;cursor:pointer;">知道了</div>
<div onclick="myWebSocket.showHistoryMsg();" style="width: 120px;height: 40px;border-radius: 5px;background-color:#169BD5;text-align: center;line-height: 40px;color: #fff;float: right;margin: 10px;cursor:pointer;margin-left:50px;">查看消息</div>
</div>
</div>`;
document.body.insertAdjacentHTML("beforeend", htmls);
}, _utf8ByteToUnicodeStr = function (utf8Bytes) {
var unicodeStr = "";
for (var pos = 0; pos < utf8Bytes.length;) {
var flag = utf8Bytes[pos];
var unicode = 0;
if ((flag >>> 7) === 0) {
unicodeStr += String.fromCharCode(utf8Bytes[pos]);
pos += 1;
} else if ((flag & 0xFC) === 0xFC) {
unicode = (utf8Bytes[pos] & 0x3) << 30;
unicode |= (utf8Bytes[pos + 1] & 0x3F) << 24;
unicode |= (utf8Bytes[pos + 2] & 0x3F) << 18;
unicode |= (utf8Bytes[pos + 3] & 0x3F) << 12;
unicode |= (utf8Bytes[pos + 4] & 0x3F) << 6;
unicode |= (utf8Bytes[pos + 5] & 0x3F);
unicodeStr += String.fromCharCode(unicode);
pos += 6;
} else if ((flag & 0xF8) === 0xF8) {
unicode = (utf8Bytes[pos] & 0x7) << 24;
unicode |= (utf8Bytes[pos + 1] & 0x3F) << 18;
unicode |= (utf8Bytes[pos + 2] & 0x3F) << 12;
unicode |= (utf8Bytes[pos + 3] & 0x3F) << 6;
unicode |= (utf8Bytes[pos + 4] & 0x3F);
unicodeStr += String.fromCharCode(unicode);
pos += 5;
} else if ((flag & 0xF0) === 0xF0) {
unicode = (utf8Bytes[pos] & 0xF) << 18;
unicode |= (utf8Bytes[pos + 1] & 0x3F) << 12;
unicode |= (utf8Bytes[pos + 2] & 0x3F) << 6;
unicode |= (utf8Bytes[pos + 3] & 0x3F);
unicodeStr += String.fromCharCode(unicode);
pos += 4;
} else if ((flag & 0xE0) === 0xE0) {
unicode = (utf8Bytes[pos] & 0x1F) << 12;
;
unicode |= (utf8Bytes[pos + 1] & 0x3F) << 6;
unicode |= (utf8Bytes[pos + 2] & 0x3F);
unicodeStr += String.fromCharCode(unicode);
pos += 3;
} else if ((flag & 0xC0) === 0xC0) { //110
unicode = (utf8Bytes[pos] & 0x3F) << 6;
unicode |= (utf8Bytes[pos + 1] & 0x3F);
unicodeStr += String.fromCharCode(unicode);
pos += 2;
} else {
unicodeStr += String.fromCharCode(utf8Bytes[pos]);
pos += 1;
}
}
return unicodeStr;
}, _formatDate = function (now) {
var year = now.getFullYear(); //取得4位数的年份
var month = now.getMonth() + 1; //取得日期中的月份,其中0表示1月,11表示12月
var date = now.getDate(); //返回日期月份中的天数(1到31
var hour = now.getHours(); //返回日期中的小时数(0到23
var minute = now.getMinutes(); //返回日期中的分钟数(0到59
var second = now.getSeconds(); //返回日期中的秒数(0到59
if (month < 10) {
month = "0" + month;
}
if (date < 10) {
date = "0" + date;
}
if (hour < 10) {
hour = "0" + hour;
}
if (minute < 10) {
minute = "0" + minute;
}
if (second < 10) {
second = "0" + second;
}
return year + "-" + month + "-" + date + " " + hour + ":" + minute + ":" + second;
};
n.prototype.init = function (url) {
if (!'WebSocket' in window) {
console.error("浏览器不支持推送消息");
return;
}
_url = url;
_ws = new WebSocket(_url,"message_box");
_ws.onopen = _onopen;
_ws.onerror = _onerror;
_ws.onmessage = _onmessage;
_ws.onclose = _onclose;
window.onbeforeunload = function (event) {
_ws.close();
};
_heartCheck();
}, n.prototype.close = function () {
_closeHear();
if(_ws){
_ws.close();
}
}, n.prototype.reconnection = _reconnection, n.prototype.readMsg = _readMsg, n.prototype.doCopyOrderIdInfo = _doCopyOrderIdInfo, n.prototype.readHistoryMsg = _readHistoryMsg,n.prototype.showHistoryMsg = _showHistoryMsg;
e.myWebSocket = new n;
}(window);
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,224 @@
+(function(Z)
{
//BEGIN
var Works = window.Works = {};
//外部执行搜索
Works.doSearchAjaxForPC = function(page ,value, urlParam)
{
var prdTypeId = Z("#prdTypeId").val();
var industryId = Z("#industryId").val();
var sort = Z("#sort").val();
var keyword;
var param;
var tr = document.getElementById("pcWorksTrId");
if(prdTypeId == 3){
tr.style.display = "table-row";
}else {
tr.style.display = "none";
}
if (value == "" || value == null)
{
keyword = Z("#searchinput").val();
}
else
{
var prdStr = value.indexOf("nav_");
var indStr = value.indexOf("ind_");
if (prdStr >= 0)
{
prdTypeId = value.substring(4);
keyword = Z("#searchinput").val();
}
else if (indStr >= 0)
{
industryId = value.substring(4);
keyword = Z("#searchinput").val();
}
else
{
keyword = value;
}
}
if (urlParam == null || urlParam == "" || urlParam == "undefined")
{
param = Z("#urlParam").val();
}
else
{
param = urlParam;
}
var oddEven = Z("#oddEven").val();
var ajax = new Z.Ajax();
ajax.setClassName("WorksPresenterForPC");
ajax.setMethodName("doWorksKeywordSearchForPC");
ajax.addParam("page", page);
ajax.addParam("keyword", keyword);
ajax.addParam("prdTypeId", prdTypeId);
ajax.addParam("industryId", industryId);
ajax.addParam("sort", sort);
ajax.addParam("oddEven", oddEven);
ajax.addParam("urlParam", param);
ajax.setCallback("resultWrap");
ajax.setLoading("resultWrap");
ajax.execute();
}
//执行搜索
Works.doSearchAjax = function(page ,value, urlParam)
{
var prdTypeId = Z("#prdTypeId").val();
var industryId = Z("#industryId").val();
var keyword;
var param;
if (value == "" || value == null)
{
keyword = Z("#searchinput").val();
}
else
{
var prdStr = value.indexOf("nav_");
var indStr = value.indexOf("ind_");
if (prdStr >= 0)
{
prdTypeId = value.substring(4);
keyword = Z("#searchinput").val();
}
else if (indStr >= 0)
{
industryId = value.substring(4);
keyword = Z("#searchinput").val();
}
else
keyword = value;
}
if (urlParam == null || urlParam == "" || urlParam == "undefined")
param = Z("#urlParam").val();
else
param = urlParam;
var ajax = new Z.Ajax();
ajax.setClassName("WorksPresenter");
ajax.setMethodName("doWorksKeywordSearch");
ajax.addParam("page", page);
ajax.addParam("keyword", keyword);
ajax.addParam("prdTypeId", prdTypeId);
ajax.addParam("industryId", industryId);
ajax.addParam("urlParam", param);
ajax.setCallback("resultWrap");
ajax.setLoading("resultWrap");
ajax.execute();
}
Works.doSearchSelect = function(type,idaId)
{
if (type == "prdType")
{
if (Z.AR.contains(prdIdarr, idaId))
Z.AR.remove(prdIdarr, idaId);
else
prdIdarr.push(idaId);
}
else if(type == "industry")
{
if (Z.AR.contains(indIdarr, idaId))
Z.AR.remove(indIdarr, idaId)
else
indIdarr.push(idaId);
}
}
Works.doWorksShow = function (value)
{//展示弹窗页,全铺满
var ajax = new Z.Ajax();
ajax.setClassName("WorksPresenter");
ajax.setMethodName("doWorksBrowse");
ajax.addParam(value)
ajax.execute();
var dialog = new Z.Dialog();
dialog.shadow = true;
dialog.title = "作品详情";
dialog.fixed = true;
dialog.url = "worksShow.htm?worksId="+value;
dialog.width = Z.D.clientWidth();
dialog.height =Z.D.clientHeight()-40;
dialog.execute();
}
Works.doWorksShowPc = function (value)
{//展示弹窗页,全铺满
var ajax = new Z.Ajax();
ajax.setClassName("WorksPresenter");
ajax.setMethodName("doWorksBrowse");
ajax.addParam(value)
ajax.execute();
var dialog = new Z.Dialog();
dialog.shadow = true;
dialog.title = "作品详情";
dialog.fixed = true;
dialog.scroll = true;
dialog.url = "worksShowPC.htm?templateId="+value;
dialog.width = Z.D.clientWidth() - 30;
dialog.height =Z.D.clientHeight() - 65;
dialog.execute();
}
//浮动选择框
Works.addWorksKey = function (ele)
{//开始和隐藏
var $wrap = Z(ele).parent();
if (!$wrap.hasClass("startActive"))
{//执行多选操作
Z(ele).removeClass("z-bg-blue-deep").addClass("z-bg-red-deep").html("取消编辑");
$wrap.addClass("startActive").addClass("z-active");
$wrap.children(".fixedDialog-hiddenBtn").html("收起");
//插入多选框
var items = Z("#srcFileList>.item");
for (var i = 0;i < items.length;i++)
{
var $item = Z(items[i]);
if ($item.children(".checkBox")[0])
{
$item.children(".checkBox").show();
//$item.find("input[type=checkBox]")[0].checked = false;
continue;
}
var id = $item.attr("id").substring(5);
var $checkBox = Z('<label for="input_' + id + '" class="checkBox z-absolute z-w100p z-h100p"><input onchange="Works.addItemTo(this);" id="input_' + id + '" value="' + id + '" type="checkBox" name="applyEssence"></label>');
$checkBox.appendToPos($item);
}
}
else
{//隐藏
Z(ele).removeClass("z-bg-red-deep").addClass("z-bg-blue-deep").html("模板编辑");
$wrap.children(".fixedDialog-hiddenBtn").html("展开");
$wrap.removeClass("startActive").removeClass("z-active");
Z("#srcFileList>.item>.checkBox").hide();
//数据取消
var $liList = Z(ele).parent().find("li.z-active");
for (var i = 0;i < $liList.length;i++)
{
var $theLi = Z($liList[i]);
var $theImg = $theLi.children("img");
var id = $theImg.attr("data-id");
$theLi.removeClass("z-active");
$theImg.attr("src","").attr("data-id","");
Z("#input_" + id)[0].checked = false;
}
}
}
//END
})(zhiqim);
@@ -0,0 +1,286 @@
+(function(Z)
{
//BEGIN
Z.SearchAutoList = Z.Class.newInstance();
Z.SearchAutoList.prototype =
{
defaults:
{
elem: null, //输入框/输入框盒子ID
className: null, //Ajax调用的类名
methodName: null, //Ajax调用的类方法
history: true, //历史记录显示
callback: null //选中后的回调函数
},
execute: function()
{
this.$elem = Z.$elem(this.elem, "Z.SearchAutoList");
this.id = this.$elem.attr("id") || "ZSearchAutoList";
this.width = this.$elem.offsetWidth();
var height = this.$elem.offsetHeight();
var fontSize = this.$elem.css("fontSize");
this.pdLeft = this.$elem.css("paddingLeft");
this.pdRight = this.$elem.css("paddingRight");
this.lHeight = this.$elem.css("lineHeight");
this.$cover = Z.$cover(this.$elem);
this.$list = Z('<div class="z-absolute z-bg-white z-text-left z-bd z-hide"></div>')
.css({width: this.width, left: 0, top: height-1, fontSize: fontSize, zIndex: 99})
.appendTo(this.$cover);
//事件绑定
this.$elem.on("focus", this.onFocus, this);
this.$elem.on("input", this.onInput, this);
this.$elem.keydown(this.onKeyDown, this);
Z(document).click(this.onDocClick, this);
},
onFocus: function(e)
{//获取焦点事件
this.value = Z.S.trim(this.$elem.val());
if (Z.V.isEmptyBlank(this.value))
{
this.doHistoryList();
return;
}
if (this.beforeValue == this.value)
{//内容不改变
if (this.$list.html() != "")
this.$list.show();
}
else
{//内容已改变
this.beforeValue = this.value;
this.$list.show();
this.doAjax();
}
},
onInput: function(e)
{//input事件
this.value = Z.S.trim(this.$elem.val());
if (Z.V.isEmptyBlank(this.value))
{
this.doHistoryList();
return;
}
if (this.beforeValue != this.value)
{//调用查询
this.beforeValue = this.value;
this.$list.show();
this.doAjax();
}
},
//ajax调用,生成列表
doAjax: function()
{
this.ajax = new Z.Ajax();
this.ajax._this = this;
this.ajax.setClassName(this.className);
this.ajax.setMethodName(this.methodName);
this.ajax.addParam(this.value);
this.ajax.setCallback(function()
{
var _this = this._this;
var titleList = Z.J.toObject(this.responseText);
if (titleList.length == 0)
{
_this.$list.html("").hide();
return;
}
var html = '<ul>';
Z.eachof(_this, titleList, function(item){
html += '<li class="z-text-ellipsis" style="width: ' + _this.width + 'px; padding: 2px ' + _this.pdRight + ' 2px ' + _this.pdLeft +'; line-height:'+ _this.lHeight +'; cursor: pointer;">' + item + "</li>";
});
html += "</ul>";
_this.$list.html(html);
_this.lis = _this.$list.find("li");
_this.lis.click(_this.doSelect, _this);
_this.lis.mouseenter(_this.onMouseEnter, _this);
_this.lis.mouseleave(_this.onMouseLeave, _this);
});
this.ajax.execute();
},
doSelect: function(e)
{//鼠标选中
Z.E.forbidden(e);
this.beforeValue = this.value;
this.value = Z(Z.E.target(e)).text();
this.$elem.val(this.value);
this.$list.hide();
this.doAjax();
this.saveHistory(e);
this.doCallback(e);
},
onDocClick: function(e)
{//空白处点击,隐藏列表
var target = Z.E.target(e);
if (target == this.$elem[0])
return;
this.$list.hide();
if (this.beforeValue != this.value)
{//静默调用
this.beforeValue = this.value;
this.doAjax();
}
},
onKeyDown: function(e)
{//键盘 “上” “下” “回车”按键监听
var keyVal = Z.E.key(e);
if (keyVal != Z.E.KEY.UP && keyVal != Z.E.KEY.DOWN && keyVal != Z.E.KEY.ENTER)
return;
Z.E.forbidden(e);
if (this.lis)
{//有选择列表的搜索框
var liSetLength = this.lis.length;
var liActive = this.$list.find(".z-bg-gray");
var liActiveIndex = -1;
var toIndex = null;
if (liActive.length != 0)
liActiveIndex = Z.EL.parentIndex(liActive[0]);
switch (keyVal)
{
case Z.E.KEY.UP://上
toIndex = liActiveIndex - 1;
if (toIndex <= -1)
toIndex = liSetLength - 1;
break;
case Z.E.KEY.DOWN://下
toIndex = liActiveIndex + 1;
if (toIndex == liSetLength)
toIndex = 0;
break;
case Z.E.KEY.ENTER://回车选中
this.$elem[0].blur();
this.$list.hide();
this.value = Z.S.trim(this.$elem.val());
this.beforeValue = this.value;
this.doAjax();
this.saveHistory(e);
this.doCallback(e);
return;
}
toIndex++;
this.lis.removeClass("z-bg-gray");
var toLi = this.$list.find("li:nth-child(" + toIndex +")").addClass("z-bg-gray");
this.value = toLi.html();
this.$elem.val(toLi.html());
}
else if (keyVal == Z.E.KEY.ENTER)
{//直接在输入框回车搜索
this.value = Z.S.trim(this.$elem.val());
this.beforeValue = this.value;
this.doAjax();
this.saveHistory(e);
this.doCallback(e);
}
},
//选中后的回掉函数
doCallback: function(e)
{
if (!this.callback)
return;
this.callback(e);
},
//历史记录列表展示
doHistoryList: function(e)
{
if (!this.history)
return;
this.$list.html("").hide();
if (!localStorage.getItem(this.id))
return;
var htmlStr = '<ul class="z-text-gray">';
var hisArr = localStorage.getItem(this.id).split(";");
for (var i = 0;i < hisArr.length;i++)
{
htmlStr += '<li class="z-text-ellipsis" style="width: ' + this.width + 'px; padding: 2px ' + this.pdRight + ' 2px ' + this.pdLeft +'; line-height:'+ this.lHeight +'; cursor: pointer;">'
+ hisArr[i] + "</li>";
}
htmlStr += "</ul>";
Z(htmlStr).appendTo(this.$list.show());
var hisBar = '<div class="z-bg-blue z-clearfix" style="padding:0 ' + this.pdRight + ' 0 ' + this.pdLeft +';line-height:'+ this.lHeight +';cursor:default;">'
+ '<span class="z-float-right z-pointer z-deleteBtn">清空历史</span>'
+ '</div>';
Z(hisBar).appendTo(this.$list.show());
//绑定事件
this.lis = this.$list.find("li");
this.lis.click(this.doSelect,this);
this.lis.mouseenter(this.onMouseEnter,this);
this.lis.mouseleave(this.onMouseLeave,this);
//绑定删除事件
var $delBtn = this.$list.find(".z-deleteBtn");
$delBtn.click(this.emptyHistory,this);
},
emptyHistory: function(e)
{
localStorage.removeItem(this.id);
},
//输入完成,存储历史记录
saveHistory: function(e)
{
if (!this.history)
return;
var hisStr = localStorage.getItem(this.id);
if (!hisStr)
return localStorage.setItem(this.id, this.value);
var hisArr = hisStr.split(";");
hisArr.unshift(this.value);
//去重
var resultArr = [];
for(var i = 0; i < hisArr.length; i++)
{
if (!Z.AR.contains(resultArr, hisArr[i]))
resultArr.push(hisArr[i]);
}
//限制个数
if (resultArr.length > 10)
resultArr.length = 10;
hisStr = resultArr.join(";");
localStorage.setItem(this.id, hisStr);
},
//鼠标悬浮,背景颜色变化
onMouseEnter: function(e)
{
var $thisLi = Z(Z.E.target(e));
$thisLi.addClass("z-bg-gray");
},
onMouseLeave: function(e)
{
var $thisLi = Z(Z.E.target(e));
$thisLi.removeClass("z-bg-gray");
}
}
//END
})(zhiqim)