(function(window) { function ajaxRequist(url, obj, type, fn) { mui.ajax(baseUrl + url, { data: obj, dataType: 'json', //服务器返回json格式数据 type: type, //支持'GET'和'POST' traditional: true, success: function(data) { if(data.success) { fn(data.data) } }, error: function(xhr, type, errorThrown) { plus.nativeUI.toast("服务器链接超时", toastStyle); } }); } function trim(str) { //删除左右两端的空格    return str.replace(/(^\s*)|(\s*$)/g, "");   } var LeaveWord = function() { var self = this; self.sid = module.sid; self.stype = module.stype; self.init(); var str=document.createElement("div"); str.className="con-kong displayNone"; var tNode=document.createTextNode("暂无留言") str.appendChild(tNode); document.getElementsByClassName('commentBlock')[0].parentNode.appendChild(str); self.bindEvent(); self.LwordTotal(); } function lgin() { if(plus.storage.getItem('userid')) { return true; } mui.openWindow({ url: '../html/login.html', id: '../html/login.html', show: { aniShow: "slide-in-bottom" }, extras: { ourl: plus.webview.currentWebview().id } }); return false; } LeaveWord.prototype.init = function() { console.log(JSON.stringify(this)) var self = this; ajaxRequist("/ajax/leavemsg/subject", { sid: self.sid, stype: self.stype, time: 0, id: 0, rows: 500 }, "GET", function(data) { document.getElementsByClassName('commentBlock')[0].innerHTML = "" if(data.length == 0) { return; } var id = plus.storage.getItem('userid'); for(var i = 0; i < data.length; i++) { var oText = "", reply = "", re ='' + data[i].agreeCount + ' '+ '回复'; if(id == data[i].sender) { oText = '' + data[i].agreeCount + ' '+ '删除'; re = ''; } if(data[i].reciver) { reply = '回复' + '' } var baImg = "../images/default-photo.jpg"; var li = document.createElement("li"); li.className = "mui-table-view-cell leaveWord"; li.innerHTML = '
' + '
' + '
' + '

' + reply + '

' + '
' + '
' + '
' + '

' + data[i].cnt + '

' + '

' + '' + commenTime(data[i].createTime) + '' + re + oText + '

' + '
' document.getElementsByClassName("commentBlock")[0].appendChild(li); if(data[i].reciver) { self.userInfo(data[i].sender, li, 1); self.userInfo(data[i].reciver, li, 2) } else { self.userInfo(data[i].sender, li, 1); } if(data[i].agreeCount) self.referThup(data[i].id, li, data[i].agreeCount); } }) } LeaveWord.prototype.userInfo = function(uId, li, parNum) { ajaxRequist("/ajax/professor/editBaseInfo/" + uId, {}, "GET", function($data) { if(parNum == 1) { if($data.hasHeadImage == 1) { li.getElementsByClassName("useHead")[0].style.backgroundImage = "url(" + baseUrl + "/images/head/" + $data.id + "_l.jpg" + ")"; } } var userType = autho($data.authType, $data.orgAuth, $data.authStatus); var styStr='' if(userType.sty=="e"){ styStr="" } var str = '' + $data.name + ''+styStr if(parNum == 1) { li.getElementsByClassName("replay1")[0].innerHTML = str; } else { li.getElementsByClassName("reply2")[0].innerHTML = str; } if(li.getElementsByClassName("replyLew")[0]) li.getElementsByClassName("replyLew")[0].setAttribute("name", "回复 " + $data.name + ":"); }) } LeaveWord.prototype.size = function() { if(document.getElementById("textInputThis").value.length > 200) { plus.nativeUI.toast("留言不得超过200个字", toastStyle); return false; } return true; } LeaveWord.prototype.topLw = function() { var self = this; if(!self.size) { return; } ajaxRequist("/ajax/leavemsg", { cnt: document.getElementById("textInputThis").value, refId: self.sid, refType: self.stype, sender: plus.storage.getItem('userid'), uname: plus.storage.getItem('name') }, "POST", function() { document.getElementById("textInputThis").value = ""; document.getElementById('textInput').style.display = "none"; document.getElementById('operCol').style.display = "block"; self.init({ sid: self.sid, stype: self.stype, time: 0, id: 0, rows: 500 }); self.LwordTotal(); }) } LeaveWord.prototype.bindEvent = function() { var self = this; document.getElementsByClassName("mui-btn")[0].addEventListener("tap", function() { if(!lgin()) { return; } if(document.getElementById("textInputThis").getAttribute("oid")) { self.replyLword(document.getElementById("textInputThis").getAttribute("oid")); return; } self.topLw(); }); mui(".commentBlock").on("tap", ".plusbtnCan", function() { if(!lgin()) { return; } if(this.classList.contains('icon-appreciatefill') == true) { return; } self.thub.call(this, this.getAttribute("data-id")); }) mui(".commentBlock").on("tap", ".replyLew", function() { if(!lgin()) { return; } var oid = this.getAttribute("data-id") document.getElementById("operCol").style.display = "none"; document.getElementById("textInput").style.display = "block"; document.getElementById("textInputThis").focus(); document.getElementById("textInputThis").placeholder = this.getAttribute("name"); document.getElementById("textInputThis").setAttribute("oid", oid); return false; }) mui("body").on("tap", ".mui-content", function() { document.getElementById("textInput").style.display = "none"; document.getElementById("operCol").style.display = "block"; document.getElementById("textInputThis").placeholder = "说点什么吧..."; if(document.getElementById("textInputThis").getAttribute("oid")) { document.getElementById("textInputThis").removeAttribute("oid") } }) mui(".commentBlock").on("tap", ".dele", function() { self.LwordDel(this, this.getAttribute("data-id")); }); mui('.commentBlock').on('tap', '.useHead', function() { var id = this.getAttribute("data-id"); plus.nativeUI.showWaiting(); plus.webview.create("../html/userInforShow.html", 'userInforShow.html', {}, { proid: id }); }) mui(".artfoot").on("tap", ".inputShow", function() { if(!lgin()) { return; } if(document.getElementById("textInputThis").getAttribute("oid")) { document.getElementById("textInputThis").removeAttribute("oid") } document.getElementById("textInput").style.display = "block"; document.getElementById("operCol").style.display = "none"; document.getElementById("textInputThis").focus(); }) document.getElementById("textInputThis").addEventListener("input", function() { var length = trim(this.value); if(length) { document.getElementsByClassName("mui-btn")[0].removeAttribute("disabled"); } else { document.getElementsByClassName("mui-btn")[0].setAttribute("disabled", "true") } }) } LeaveWord.prototype.referThup = function(lid, li, num) { ajaxRequist("/ajax/leavemsg/agree", { id: lid, uid: plus.storage.getItem('userid') }, "GET", function(data) { if(data) { li.getElementsByClassName("plusbtnCan")[0].classList.add("icon-appreciatefill"); } }) } LeaveWord.prototype.thub = function(lid) { var self = this; ajaxRequist("/ajax/leavemsg/agree", { id: lid, uid: plus.storage.getItem('userid'), uname: plus.storage.getItem('name') }, "POST", function(data) { self.classList.add("icon-appreciatefill"); self.nextElementSibling.innerHTML =Number(self.getAttribute("data-num")) + 1; self.nextElementSibling.style.display = "inline-block"; }) } LeaveWord.prototype.replyLword = function(lid) { var self = this; if(!self.size) { return; } ajaxRequist("/ajax/leavemsg/reply", { cnt: document.getElementById("textInputThis").value, id: lid, uid: plus.storage.getItem('userid'), uname: plus.storage.getItem('name') }, "POST", function(data) { self.LwordTotal(); document.getElementById("textInputThis").value = ""; document.getElementById('textInput').style.display = "none"; document.getElementById('operCol').style.display = "block"; document.getElementById("textInputThis").removeAttribute("oid"); document.getElementById("textInputThis").placeholder = "说点什么吧..."; self.init({ sid: self.sid, stype: self.stype, time: 0, id: 0, rows: 500 }); }) } LeaveWord.prototype.LwordDel = function($this, lid) { var self = this; ajaxRequist("/ajax/leavemsg/del", { id: lid }, "GET", function(data) { document.getElementsByClassName("commentBlock")[0].removeChild($this.parentNode.parentNode.parentNode); self.LwordTotal(); }) } LeaveWord.prototype.LwordTotal = function() { var self = this; ajaxRequist("/ajax/leavemsg/count", { sid: self.sid, stype: self.stype }, "get", function($data) { if($data > 0) { document.getElementsByClassName('mui-badge')[0].innerHTML = $data; document.getElementsByClassName("con-kong")[0].classList.add("displayNone"); }else{ document.getElementsByClassName('mui-badge')[0].innerHTML = ""; document.getElementsByClassName("con-kong")[0].classList.remove("displayNone"); } }) } var module = { lWord: function(sid, stype) { this.sid = sid; this.stype = stype; var lw = new LeaveWord(); this.init = lw.init; } } window.module = module; })(window)