manager.registerUI('cms', function (wdeditor, name) { var btn = new EditorManager.Button({ wdeditor: wdeditor, name: "fjEdit", labelClassName:"label-fj", command: name, // getBtnID: function () { // return "fjEdit"; // }, className: "rightBtn content-OuteduiButton underlineIcon-attachment", cssRules: "display:inline-block;float:right;/*position:absolute;top:5px;right:3.5em*/ margin-top: 6px;", text: "", value: "", oninit: function () { var el = this.getElement() var hiddenName = wdeditor.options["btn_opt_" + name].key || ""; var hiddenValue = wdeditor.options["btn_opt_" + name].value || ""; // manager.registerUI('insertCMS', function (wdeditor, name) { // var btn = new EditorManager.CheckBox({ // name: name, // text: "附件", // title: "附件", // onBtnClick: function () { // $("[name='" + hiddenName + "']").val() != "" && this.wdeditor.execCommand('insertHtml', ''); // } // }); // return btn; // }); var hidden_ = null; if ((hidden_ = document.getElementsByName(hiddenName)[0]) == null) { hidden_ = EditorManager.utils.parseDom("")[0]; el.parentNode.appendChild(hidden_); } //获取附件的数量 window.getAttachmentCount = function () { var nrid = hidden_.value; if (nrid) $.ajax({ async: false, type: "post", url: "/service?ssServ=wrCcmsList", // =getSubNrCount",。Lin data: { nrid: "T-" + nrid, jlztm:1 }, dataType: "json", // 增加,统一 Ajax 返回标准 -- .ssCode、.ssMsg、.ssData。Lin success: function (data) { /* 改,增加错误处理 -- 统一 Ajax 返回标准 -- .ssCode、.ssMsg、.ssData。Lin * 去掉 JSON.parse(,改为用 Map 传输 var names = JSON.parse(data); */ if (data.ssCode != 0) { alert(data.ssMsg); return; } var names = data.ssData; var count = names.length; var wrapper = el.parentNode; if (wrapper.id != el.id + "wrapper") { wrapper = document.createElement("span"); wrapper.id = el.id + "wrapper"; el.parentNode.appendChild(wrapper); wrapper.style.cssText = el.style.cssText; wrapper.style.marginTop = 'unset'; console.log(wrapper.style.cssText); wrapper.appendChild(el); } if (count > 0) { var attachment = wrapper, num = attachment.querySelector(".icon-num"); if (!num) { num = document.createElement("span"); num.className = "icon-num"; num.className = "icon-num"; num.style.float="right"; num.style.position = "absolute"; num.style.right = "65px"; num.style.top = "2px"; attachment.appendChild(num); } num.innerText = count; attachment.appendChild(num); var datas = []; for (var iii = 0; iii < names.length; iii++) { datas.push({ name: iii, value: names[iii] }) } } }, error: function (data) { console.log(data); } }) } function showCMSMenu() { var nrid = hidden_.value; if (nrid == "") return; window.getAttachmentCount(); var attachment = el.parentNode; var menuelement = wd.display.initCmsMenu("cms" + nrid,1); if (menuelement) { menuelement.showAt(attachment); $(attachment).mouseleave(function () { menuelement.hide(); }); } } function fjEditClick() { /// 增加 ssNrObjName、ssNrObjId,内容 表增加 对象名、对象ID 字段 -- 对象的附件。Lin var dataSet = document.querySelectorAll('textarea[name="'+ wdeditor.ueditor.key +'"]')[0].dataset; /// var nrid = hidden_.value; if (nrid == null || nrid.length == 0) { $.ajax({ type: 'GET', url: '/service?ssServ=makeAttCms', // =getNewNridAndUpdateNrmc。Lin data: { name: 'fj', /// 增加 ssNrObjName、ssNrObjId,内容 表增加 对象名、对象ID 字段 -- 对象的附件。Lin // data-ss-nr-obj-name="${ssObjName}" data-ss-nr-obj-id="${ssObjId}" ssNrObjName: dataSet.ssNrObjName, ssNrObjId: dataSet.ssNrObjId /// }, async: false, success: function (data) { nrid = data; }, }); hidden_.value = nrid; } var user = '' var Nrid = 'T-' + nrid; var objectId = '' var objectFunction = '' var objectName = '' var str = '&nrid='; str += Nrid; str += '&user='; str += user; str += '&objectId='; str += objectId; str += '&objectFunction='; str += objectFunction; str += '&objectName='; str += objectName + '&callback=getAttachmentCount'; console.log( wdeditor.options.cms_edit + str) wd.display.showComponent({ show: ['wdDialog'], //1984 url: wdeditor.options.cms_edit + str, title: '编辑内容', width: 900, high: 664, }); } var this_ = this; (function () { var edit = el; window.getAttachmentCount(); if (edit != null) { if (edit.addListener) { edit.addListener('click', fjEditClick, false); edit.addListener('mouseenter', showCMSMenu, false); } else if (edit.attachEvent) { edit.attachEvent('onclick', fjEditClick); edit.attachEvent('mouseenter', showCMSMenu); } else { edit['onclick'] = fjEditClick; edit['onmouseenter'] = showCMSMenu; } } })(); } }); return btn; });