if (!window.wd) { var wd = {}; } if (!wd.edit) { wd.edit = {}; } if (!wd.edit.cascadingSelect) { wd.edit.cascadingSelect = {}; } wd.edit.datePicker = function (param) { var event=window.event; if($(event.srcElement||event.target).attr("readonly")=="readonly"){ return ; } WdatePicker(param); } wd.edit.initDatePicker = function () { function getP(name) { this.switchParam = { date: { source: [{ desc: "年", value: "1" }, { desc: "月", value: "2" }, { desc: "日", value: "3" } ] } }; return this.switchParam[name]; } function getPValue(name, v, findcurrent) { var c = getP(name); var cc = c["source"]; if (!v) return cc[0]; var i = 0; for (var i = 0; i < cc.length; i++) { if (cc[i].value == v) { if (findcurrent) { return cc[i]; } else if (i + 1 < cc.length) { return cc[i + 1]; } break; } } return cc[0]; } //日期 $("[ssType=date]").each(function () { // [wdType=。Lin var wdName = $(this).attr("ssName"); // ("wdName")。Lin if ($("[name=" + wdName + "]").val()) { var matchNumArr = $("[name=" + wdName + "]").val().match(/\d+/g); if (matchNumArr) { var matchNum = matchNumArr.length; $(this).attr("ssVal", matchNum); // ("wdVal",。Lin } } $(this).click(function () { var ccc = getPValue("date", $(this).attr("ssVal")); // ("wdVal"))。Lin $(this).val(ccc.desc).attr("ssVal", ccc.value); // ("wdVal",。Lin }) var ccc = getPValue("date", $(this).attr("ssVal"), true); // ("wdVal"),。Lin $(this).val(ccc.desc).attr("ssVal", ccc.value); // ("wdVal",。Lin $("[name=" + wdName + "]").click(function () { $(this).attr("autocomplete","off"); var radioVal = $('[ssName="' + $(this).attr("name") + '"]').attr("ssVal"); // ('[wdName="' +。("wdVal")。Lin if (1 == radioVal) { wd.edit.datePicker({ dateFmt: 'yyyy' }); } else if (2 == radioVal) { wd.edit.datePicker({ dateFmt: 'yyyy-MM' }); } else if (3 == radioVal) { wd.edit.datePicker({ dateFmt: 'yyyy-MM-dd' }); } }) }); } /** * 初始化全选的checkBox */ wd.edit.initSelectAllCheckBox = function (selectAllCheckBoxNameOrId, //控制全选的复选框的name或id checkBoxName) { //被全选或全不选的checkBox名字 var selectAllCheckBox = wd.c.g(selectAllCheckBoxNameOrId); if (!selectAllCheckBox) return; var checkBoxs = document.getElementsByName(checkBoxName); if (!checkBoxs || checkBoxs.length < 1) return; selectAllCheckBox.onclick = function () { for (var i = 0; i < checkBoxs.length; i++) { var c = checkBoxs[i]; c.checked = this.checked; } } } //初始化页面radio checkbox 的值 /* wd.edit.setChecked = function(obj){ var name = obj.name; var value = obj.value; var inputs = document.getElementsByName(name); if(inputs==null||inputs.length<1) return; var type = inputs[0].type; //获得最后一个form var formArr = document.getElementsByTagName('FORM'); var formObj = formArr[formArr.length-1]; if(type!='radio'){ var inputObj = window.document.createElement("input");//创建一个input标签对象 inputObj.setAttribute("type", "HIDDEN");//设置元素的类型 inputObj.setAttribute("value", ""); inputObj.setAttribute("name", name); formObj.appendChild(inputObj); } if(value===undefined||value===null) return; if(typeof(value)!='object'){//不是数组,则变成数组 var inputType = inputs[0].type; if(inputType=='checkbox'){ value=value.split('|');//如果是checkbox,则可能传用 "|" 分隔的多值 }else{//如果是radioButton value=[value]; } } var valueObj={}; for(index in value){ valueObj[value[index]]=true; } for(var i=0;i>>>>>>"); console.info(obj); if (!obj) return; function setValueIntoFormElem(elem, value) { var TAGNAME_TEXTAREA = 'TEXTAREA'; //标签名 var TAGNAME_INPUT = 'INPUT'; //标签名 var TAGNAME_SELECT = 'SELECT'; //标签名 var tabName = elem.tagName; //如果为表单元素 console.info("elem>>>>>>>>>>>"); console.info(elem); console.info("value:" + value); if (tabName == TAGNAME_INPUT || tabName == TAGNAME_SELECT || tabName == TAGNAME_TEXTAREA) { if (elem.type == 'radio' || elem.type == 'checkbox') { if (elem.value == value) elem.checked = true; } else if ((tabName == TAGNAME_INPUT) && (!(elem.type == 'submit' || elem.type == 'reset'))) { elem.value = value; } else if (tabName == TAGNAME_SELECT) { elem.value = value; elem.setAttribute("value", value); } else if (tabName == TAGNAME_TEXTAREA) { elem.innerHTML = value; } } } for (name in obj) { //尝试从页面获得DOM元素 var arr = document.getElementsByName(name); if (!arr) continue; for (var i = 0; i < arr.length; i++) { var elem = arr[i]; var value = obj[name]; //DOM元素的值 if (typeof(value) == 'object') { //如果是数组 for (var j = 0; j < value.length; j++) { setValueIntoFormElem(elem, value[j]); } } else { //如果值是字符串 setValueIntoFormElem(elem, value); } } } } /** * 把name为srcSelectName的多选菜单中当前选中的且下标大于等于startOffset的option, * 移动到name为destSelectName的多选菜单中 */ wd.edit.moveOptBetweenSelects = function (srcSelectName, destSelectName, startOffset) { var startOffset = startOffset - 1; var srcSelect = document.getElementsByName(srcSelectName)[0]; var destSelect = document.getElementsByName(destSelectName)[0]; var isMatched = false; var curItem; for (var i = srcSelect.options.length - 1; i >= startOffset; ) { if (srcSelect.options[i].selected) { curItem = srcSelect.options[i].value; isMatched = false; for (var j = destSelect.length - 1; j >= startOffset; j--) { if (curItem == destSelect.options[j].value) { isMatched = true; break; } } if (!isMatched) wd.edit.addOptToSelectElem(destSelect, srcSelect.options[i].value, srcSelect.options[i].text); srcSelect.options[i] = null; if (i >= srcSelect.options.length) i--; } else i--; } } wd.edit.addOptToSelectElem = function (selectElem, value, text) { var opt = document.createElement("option"); opt.value = value; opt.text = text; selectElem.add(opt); } /** * 把name为targetSelectName的下拉菜单中与name为refSelectName的下拉菜单重复且下标大于等于startOffset的option去掉 */ wd.edit.removeDuplicateOpt = function (targetSelectName, refSelectName, startOffset) { var startOffset = startOffset - 1; var targetSelect = document.getElementsByName(targetSelectName)[0]; var refSelect = document.getElementsByName(refSelectName)[0]; var obj = {}; //用来排重的对象 for (var i = 0; i < refSelect.options.length; i++) { var opt = refSelect.options[i]; obj[opt.value] = true; } for (var i = targetSelect.options.length - 1; i >= startOffset; i--) { var value = targetSelect.options[i].value; if (obj[value]) //如果有重复 targetSelect.options[i] = null; } } /** * 把name为selectName的下拉从下标为startOffset开始的选项全部选中 */ wd.edit.selectAllOpt = function (selectName, startOffset) { var startOffset = startOffset - 1; var targetSelect = document.getElementsByName(selectName)[0]; for (var i = startOffset; i < targetSelect.options.length; i++) { var opt = targetSelect.options[i]; opt.selected = true; } } /** * 提交formName指定的表单到url指定的路径中,如果formName为空,则提交页面中最后一个表单。 */ wd.edit.submitForm = function (url, formName) { var f = null; if (formName) f = document.getElementsByName(formName)[0]; else { f = document.getElementsByTagName('FORM'); f = f[f.length - 1]; } f.action = url; f.submit(); } /** * 加载批阅器的方法 * @param divId 需要加载的div的id * @param args 有三种加载的模式:1)创建一个批阅器:{type:"create",editorId:"xxx",filePath:"xxx",save:function(){},param:{xxx:xxx}};其中save和param为可选参数 * 2)加载一个已经存在的批阅器,并且是可编辑状态:{type:"edit",nrid:"xxx"}; * 3)加载一个已经存在的批阅器,并且是播放状态:{type:"play",nrid:'xxx'} * 例子:wd.edit.loadCMSEditor('outDiv',{'type':'create',editorId:'T-440120101310'}); */ wd.edit.loadCMSEditor = function (divId, args) { var nrid = null; //创建内容时返回新建内容id //编辑,播放时返回编辑播放器id var result = null; if (args.editorId) { containerId = args.editorId.substring(2); } if (args.type == "create") { $.ajax({ type: "get", /* 再改,规范命名。Lin * 去掉 ?wdApplication=,不支持多个应用 -- 服务名可以写 ss.xxx * &wdService= 改为 ssServ url: "/service?wdApplication_old=nr&wdService=makePsCms&wdtest=false", */ url: "/service?ssServ=makePsCms", async: false, data: { 'editorId': args.editorId.substring(2), 'filePath': args.filePath }, dataType: "json", success: function (data) { //data是返回的批阅容id nrid = data.id; result = nrid; $.ajax({ type: "GET", /* 再改,规范命名。Lin * 去掉 ?wdApplication=,不支持多个应用 -- 服务名可以写 ss.xxx * &wdService= 改为 ssServ url: "/service?wdApplication_old=nr&wdService=wrPsCmsPlay", // wdService=loadPiYueNrDesignAndPlayerData。Lin */ url: "/service?ssServ=wrPsCmsPlay", // wdService=loadPiYueNrDesignAndPlayerData。Lin data: { 'id': data.id, 'type': data.type //批阅器包括编辑器和播放器,其中11代表编辑器,1代表播放器 }, async: false, dataType: 'json', success: function (data) { var dataInit = {}; dataInit.design = data.design; dataInit.resDesign = data.resDesign; $('#' + divId).attr('data-init', JSON.stringify(dataInit)); if (args.param) { $('#' + divId).attr('data-param', JSON.stringify(args.param)); } $('#' + divId).html(data.data); if (args.save) { //添加保存事件 var selector = '#' + divId $(selector).find('#saveButton').on('click', function (e) { args.save(); }); } } }); } }); } else if (args.type == "edit" || args.type == "play") { nrid = args.nrid; var type = null; if (args.type == "edit") { type = "11"; } else if (args.type == "play") { type = "1" } $.ajax({ type: "GET", /* 再改,规范命名。Lin * 去掉 ?wdApplication=,不支持多个应用 -- 服务名可以写 ss.xxx * &wdService= 改为 ssServ url: "/service?wdApplication_old=nr&wdService=wrPsCmsPlay", // wdService=loadPiYueNrDesignAndPlayerData。Lin */ url: "/service?ssServ=wrPsCmsPlay", // wdService=loadPiYueNrDesignAndPlayerData。Lin data: { 'id': nrid, 'type': type //批阅器包括编辑器和播放器,其中11代表编辑器,1代表播放器 }, async: false, dataType: 'json', success: function (data) { result = data.design.ID.substring(2); ; var dataInit = {}; dataInit.design = data.design; dataInit.resDesign = data.resDesign; $('#' + divId).attr('data-init', JSON.stringify(dataInit)); if (args.param) { $('#' + divId).attr('data-param', JSON.stringify(args.param)); } $('#' + divId).html(data.data); if (args.save) { //添加保存事件 var selector = '#' + divId $(selector).find('#saveButton').on('click', function (e) { args.save(); }); } } }); } console.log(result) return result; // return nrid; } /** * 加载批阅器的方法 * @param divId 需要加载的div的id * @param type 加载编辑器的编辑模式 * @param args 有三种加载的模式:1)创建一个批阅器:type='create', args= {'loadParam':{'xxx':xxx},'createParam':{editorNrid:"xxx",filePath:"xxx"},dataParam:{xxx:xxx}};其中loadParam是加载编辑器的参数,createParam是创建编辑器的参数,dataParam是保存到outDiv上的参数 * 2)加载一个已经存在的批阅器,并且是可编辑状态:type='edit', args= {loadParam:{id:"xxx"}}; * 3)加载一个已经存在的批阅器,并且是播放状态:type='play', args = {loadParam:{id:'xxx'}} * 例子:wd.edit.loadCMSEditor('outDiv',{'type':'create',editorId:'440120101310'}); */ wd.edit.loadCMSEditor2 = function (divId, type, args) { var nrid = null; if (type == "create") { var editorId = args.createParam.editorId; var filePath = args.createParam.filePath; $.ajax({ type: "get", /* 再改,规范命名。Lin * 去掉 ?wdApplication=,不支持多个应用 -- 服务名可以写 ss.xxx * &wdService= 改为 ssServ url: "/service?wdApplication_old=nr&wdService=makePsCms", */ url: "/service?ssServ=makePsCms", async: false, data: { 'editorId': editorId.substring(2), 'filePath': args.filePath, 'shid': document.getElementById(divId).dataset.shid // 增加,解决 "每次进入办理页都会产生一个 CMS 内容(最后一次仍会垃圾)" 的问题。Lin }, dataType: "json", success: function (data) { //data是返回的批阅容id nrid = data.id; if (args.loadParam.idInputName) { $('input[name="' + args.loadParam.idInputName + '"]').val(nrid.substring(2)); } $.ajax({ type: "GET", /* 再改,规范命名。Lin * 去掉 ?wdApplication=,不支持多个应用 -- 服务名可以写 ss.xxx * &wdService= 改为 ssServ url: "/service?wdApplication_old=nr&wdService=wrPsCmsPlay", // wdService=loadPiYueNrDesignAndPlayerData。Lin */ url: "/service?ssServ=wrPsCmsPlay", // wdService=loadPiYueNrDesignAndPlayerData。Lin data: { 'id': data.id, 'type': data.type //批阅器包括编辑器和播放器,其中11代表编辑器,1代表播放器 }, async: false, dataType: 'json', success: function (data) { var dataInit = {}; dataInit.design = data.design; dataInit.resDesign = data.resDesign; $('#' + divId).attr('data-init', JSON.stringify(dataInit)); if (args.dataParam) { $('#' + divId).attr('data-param', JSON.stringify(args.dataParam)); } $('#' + divId).html(data.data); } }); } }); } else if (type == "edit" || type == "play") { nrid = args.loadParam.id; var type2 = null; if (type == "edit") { type2 = "11"; } else if (type == "play") { type2 = "1" } $.ajax({ type: "GET", /* 再改,规范命名。Lin * 去掉 ?wdApplication=,不支持多个应用 -- 服务名可以写 ss.xxx * &wdService= 改为 ssServ url: "/service?wdApplication_old=nr&wdService=wrPsCmsPlay", // wdService=loadPiYueNrDesignAndPlayerData。Lin */ url: "/service?ssServ=wrPsCmsPlay", // wdService=loadPiYueNrDesignAndPlayerData。Lin data: { 'id': nrid, 'type': type2 //批阅器包括编辑器和播放器,其中11代表编辑器,1代表播放器 }, async: false, dataType: 'json', success: function (data) { var dataInit = {}; dataInit.design = data.design; dataInit.resDesign = data.resDesign; $('#' + divId).attr('data-init', JSON.stringify(dataInit)); if (args.dataParam) { $('#' + divId).attr('data-param', JSON.stringify(args.dataParam)); } $('#' + divId).html(data.data); } }); } } wd.edit.initInputter = function (name, ynrid, encode_shid, encode_ynrid) { //文本 var TEXTAREAEDITORID = 440120100230; //录音 var VOICERECORDEDITORID = 440120100250; //手写 var HANDWRITEREDITORID = 440120100210; var PIYUEEDITORID = 440120100310; //测试先用文本编辑器做测试 var DEFAULTEDITOR = TEXTAREAEDITORID; var $selects = $('select[name=' + name + 'Editor]'); if ($selects.find("[value=" + TEXTAREAEDITORID + "]").length == 0) { $selects.append(""); } if ($selects.find("[value=" + VOICERECORDEDITORID + "]").length == 0) { $selects.append(""); } console.log(this); if ($selects.find("[value=" + HANDWRITEREDITORID + "]").length == 0) { $selects.append(""); } if ($selects.length == 0) DEFAULTEDITOR = PIYUEEDITORID; //默认用文本编辑器 $selects.val(DEFAULTEDITOR); function changeSelector(editorId, isloadEditor) { window.destroyEditor && window.destroyEditor(); if (!editorId) return; var textDiv = document.querySelector("#" + name + "Text"); var otherDiv = document.querySelector("#" + name + "Other"); console.log(textDiv) //文本编辑器 if (editorId == TEXTAREAEDITORID) { if (textDiv) textDiv.style.display = "none"; if (otherDiv) otherDiv.style.display = ""; } else { if (textDiv) textDiv.style.display = ""; if (otherDiv) otherDiv.style.display = "none"; } if (isloadEditor) wd.edit.loadCMSEditor2(name + 'Edit', 'create', { createParam: { 'editorId': "T-" + editorId }, loadParam: { 'idInputName': name + 'id' } }); } $selects.on('change', function (e) { changeSelector.call(this, this.value, true); }); $(document).ready(function () { //拦截表单提交 try {} catch (e) { console.log(e) } //申请者处理 if (encode_shid) { //只使用文本编辑器 // $selects.val(TEXTAREAEDITORID).trigger("change").hide(); changeSelector(TEXTAREAEDITORID, true); //弹窗显示领导批示 if (encode_ynrid) { //关闭当前弹窗 wd.display.dxwindowsCloseMaskDiv(); var url = document.querySelector('[name=' + name + '_WATCHURL]').value; url = wd.display.replaceDynamicParam(url, { 'id': encode_ynrid }); var dialogid = eval(url); //不能同年同月生,却要同年同月关 $(window).unload((function () { var id = dialogid return function () { wd.topWindow.dhxWins.window(id).close(); } })()) setTimeout(wd.display.dxwindowsCloseMaskDiv,2000) } } else { //回显功能 if (ynrid) document.querySelector("[name=" + name + "id]").value = ynrid; //初始化 var id = document.querySelector("[name=" + name + "id]").value; if (id) { wd.edit.loadCMSEditor2(name + 'Edit', 'edit', { 'loadParam': { 'id': "T-" + id } }); } else { if ($selects.LENGTHADJUST_SPACING > 0) { $selects.trigger("change"); } else { changeSelector(DEFAULTEDITOR, true); } } } try { window.setAttachmentButton() } catch (e) {} }); } //2017年9月4日10:19:08 林泽旭 //onoffButton //点击onoffboxbtn事件 wd.edit.onoffClick = function (btn, type, nullable, onClass, offClass) { if (type == "checkbox") { //更改隐藏的用户选中的值 var onoffhidden = document.querySelectorAll("input[name='" + btn.name + "'][type='checkbox']"); if (onoffhidden) { for (var i = 0; i < onoffhidden.length; i++) { /* 改 wdValue -- 规范 wdValue= 命名。Lin if (onoffhidden[i].value == btn.getAttribute("wdValue")) { */ if (onoffhidden[i].value == btn.getAttribute("ssVal")) { if (onoffhidden[i].checked) { onoffhidden[i].checked = false; } else { onoffhidden[i].checked = true; } } } if (btn.classList.contains(offClass)) { btn.classList.remove(offClass); btn.classList.add(onClass); } else { btn.classList.remove(onClass); btn.classList.add(offClass); } } } else { //更改隐藏的用户选中的值 var onoffhidden = document.querySelectorAll("input[name='" + btn.name + "'][type='hidden']"); if (onoffhidden) { var hidden = onoffhidden[0]; if (nullable == false) { /* 改 wdValue -- 规范 wdValue= 命名。Lin hidden.value = btn.getAttribute("wdValue"); */ hidden.value = btn.getAttribute("ssVal"); } else { /* 改 wdValue -- 规范 wdValue= 命名。Lin if (hidden.value == btn.getAttribute("wdValue")) { */ if (hidden.value == btn.getAttribute("ssVal")) { hidden.value = ''; } else { /* 改 wdValue -- 规范 wdValue= 命名。Lin hidden.value = btn.getAttribute("wdValue"); */ hidden.value = btn.getAttribute("ssVal"); } } //寻找name对应的btn var onoffbtn = document.querySelectorAll("input[name='" + btn.name + "'][type='button']"); for (var i = 0; i < onoffbtn.length; i++) { var btns = onoffbtn[i]; //alert(btns.getAttribute("wdValue")+"!!!"+btn.getAttribute("wdValue")+"!!!"+btns.className+"!!!"+nullable) //存在value采用onclass样式 /* 改 wdValue -- 规范 wdValue= 命名。Lin if (btns.getAttribute("wdValue") == btn.getAttribute("wdValue") && (btns.classList.contains(offClass) || nullable == false)) { */ if (btns.getAttribute("ssVal") == btn.getAttribute("ssVal") && (btns.classList.contains(offClass) || nullable == false)) { btns.classList.remove(offClass); btns.classList.add(onClass); } //不存在采用offclass样式 else { btns.classList.remove(onClass); btns.classList.add(offClass); } } } } } // 初始化事件 wd.edit.onoffInit = function (type, name, value, nullable, onClass, offClass, callback, mode) { if ("null" == value) value = null; if (onClass == null || onClass == "" || onClass == "null") { onClass = "content-onButton"; } if (offClass == null || offClass == "" || offClass == "null") { offClass = "content-offButton"; } var onoffbutton_list = document.createElement("Input"); onoffbutton_list.id = name + "_onoffbutton_list"; onoffbutton_list.value = value; onoffbutton_list.type = type; onoffbutton_list.style.display = "none"; onoffbutton_list.setAttribute("ssname", name); // ("wdname",。不是 wdName,先改???Lin onoffbutton_list.setAttribute("nullable", nullable); onoffbutton_list.setAttribute("onClass", onClass); onoffbutton_list.setAttribute("offClass", offClass); //寻找name对应的btn var onoffbtn = document.querySelectorAll("input[name='" + name + "'][type='button']"); function bindBtn(btn, type, name, nullable, onClass, offClass, callback) { //原先是const ---2020.1.2更改 var const_btn = btn; var const_type = type; var const_name = name; /* 改 wdValue -- 规范 wdValue= 命名。Lin var const_wdValue = btn.getAttribute("wdValue"); */ var const_wdValue = btn.getAttribute("ssVal"); var const_nullable = nullable; var const_onClass = onClass; var const_offClass = offClass; if (btn.addEventListener) { btn.addEventListener('click', function () { wd.edit.onoffClick(const_btn, const_type, const_nullable, const_onClass, const_offClass); //$(document).ready(function () {eval(onclick);}); if (callback) { if(typeof(callback) == "string"){ eval(callback)(const_btn); }else if(typeof(callback) == "function"){ eval(callback(const_btn)); } } }); } else if (btn.attachEvent) { btn.attachEvent('onclick', function () { wd.edit.onoffClick(const_btn, const_type, const_nullable, const_onClass, const_offClass); if (callback) { if(typeof(callback) == "string"){ eval(callback)(const_btn); }else if(typeof(callback) == "function"){ eval(callback(const_btn)); } } }); } else { btn['onclick'] = function () { wd.edit.onoffClick(const_btn, const_type, const_nullable, const_onClass, const_offClass); if (callback) { if(typeof(callback) == "string"){ eval(callback)(const_btn); }else if(typeof(callback) == "function"){ eval(callback(const_btn)); } } }; } } if (type == "checkbox") { //拆分value值 value = value; var wdValues = new Array(); if (value) wdValues = value.split(","); //对每个btn进行对应处理 for (var i = 0; i < onoffbtn.length; i++) { var btn = onoffbtn[i]; if (i == 0) { btn.parentNode.insertBefore(onoffbutton_list, btn); } //添加隐藏字段(checkbox) var hidden_value = document.createElement("Input"); hidden_value.name = name; /* 改 wdValue -- 规范 wdValue= 命名。Lin hidden_value.id = name + btn.getAttribute("wdValue"); hidden_value.value = btn.getAttribute("wdValue"); */ hidden_value.id = name + btn.getAttribute("ssVal"); hidden_value.value = btn.getAttribute("ssVal"); hidden_value.type = "checkbox"; hidden_value.style.display = "none"; if (value != null && value != "") { /* 改 wdValue -- 规范 wdValue= 命名。Lin if (wdValues.indexOf(btn.getAttribute("wdValue")) > -1) { */ if (wdValues.indexOf(btn.getAttribute("ssVal")) > -1) { hidden_value.checked = true; btn.classList.add(onClass); //$(document).ready(function () {eval(onclick);}); } else { hidden_value.checked = false; btn.classList.add(offClass); } } else { /* 改 wdValue -- 规范 wdValue= 命名。Lin if (btn.getAttribute("wdValue") == "" || btn.getAttribute("wdValue") == null) { */ if (btn.getAttribute("ssVal") == "" || btn.getAttribute("ssVal") == null) { hidden_value.checked = true; btn.classList.add(onClass); } else { hidden_value.checked = false; btn.classList.add(offClass); } } btn.parentNode.insertBefore(hidden_value, btn); if (mode == "edit") { //添加点击事件 bindBtn(btn, type, name, nullable, onClass, offClass, callback); } } } else { //对每个btn进行对应处理 for (var i = 0; i < onoffbtn.length; i++) { var btn = onoffbtn[i]; //存在value采用onclass样式 if (i == 0) { if (nullable != true && (value == "null" || value == "" || value == null)) { var sfmrzyk = 0; //是否有默认值有空 for (var j = 0; j < onoffbtn.length; j++) { var btn0 = onoffbtn[j]; /* 改 wdValue -- 规范 wdValue= 命名。Lin if (btn0.getAttribute("wdValue") == "") { */ if (btn0.getAttribute("ssVal") == "") { sfmrzyk = 1; } } if (sfmrzyk == 0) { /* 改 wdValue -- 规范 wdValue= 命名。Lin value = btn.getAttribute("wdValue"); */ value = btn.getAttribute("ssVal"); } } //添加隐藏字段 var hidden_value = document.createElement("Input"); hidden_value.name = name; hidden_value.value = value; hidden_value.type = "hidden"; btn.parentNode.insertBefore(hidden_value, btn); btn.parentNode.insertBefore(onoffbutton_list, btn); } /* 改 wdValue -- 规范 wdValue= 命名。Lin if (btn.getAttribute("wdValue") == "" && (value == "null" || value == "" || value == null)) { */ if (btn.getAttribute("ssVal") == "" && (value == "null" || value == "" || value == null)) { btn.classList.add(onClass); } else { //存在value采用onclass样式 /* 改 wdValue -- 规范 wdValue= 命名。Lin if (btn.getAttribute("wdValue") == value) { */ if (btn.getAttribute("ssVal") == value) { btn.classList.add(onClass); //$(document).ready(function () {eval(onclick);}); } //不存在采用offclass样式 else { btn.classList.add(offClass); } } if (mode == "edit") { //添加点击事件 bindBtn(btn, type, name, nullable, onClass, offClass, callback); } // const const_btn = btn; // const const_type = type; // const const_name = name; // const const_wdValue = btn.getAttribute("wdValue"); // const const_nullable = nullable; // const const_onClass = onClass; // const const_offClass = offClass; // if (btn.addEventListener) { // btn.addEventListener('click', function () { // wd.edit.onoffClick(const_btn, const_type, const_nullable, const_onClass, const_offClass); // //$(document).ready(function () {eval(onclick);}); // if (callback) { // eval(callback(const_btn)); // } // }); // } else if (btn.attachEvent) { // btn.attachEvent('onclick', function () { // wd.edit.onoffClick(const_btn, const_type, const_nullable, const_onClass, const_offClass); // if (callback) { // eval(callback(const_btn)); // } // }); // } else { // btn['onclick'] = function () { // wd.edit.onoffClick(const_btn, const_type, const_nullable, const_onClass, const_offClass); // if (callback) { // eval(callback(const_btn)); // } // }; // } } } } // 更改onoffbutton事件 wd.edit.onoffEdit = function (name, value) { //寻找name对应的btn var onoffbtn_list = document.getElementById(name + "_onoffbutton_list"); //寻找name对应的btn var onoffbtn = document.querySelectorAll("input[name='" + name + "'][type='button']"); var type = onoffbtn_list.type; var nullable = onoffbtn_list.getAttribute("nullable"); var onClass = onoffbtn_list.getAttribute("onClass"); var offClass = onoffbtn_list.getAttribute("offClass"); if (type == "checkbox") { //拆分value值 var wdValues = new Array(); wdValues = value.split(","); //对每个btn进行对应处理 for (var i = 0; i < onoffbtn.length; i++) { var btn = onoffbtn[i]; //添加隐藏字段(checkbox) /* 改 wdValue -- 规范 wdValue= 命名。Lin var hidden_value = document.getElementById(name + btn.getAttribute("wdValue")); */ var hidden_value = document.getElementById(name + btn.getAttribute("ssVal")); if (value != null && value != "") { if (wdValues.indexOf(btn.getAttribute("wdValue")) > -1) { hidden_value.checked = true; btn.classList.remove(offClass); btn.classList.add(onClass); //$(document).ready(function () {eval(onclick);}); } else { hidden_value.checked = false; btn.classList.remove(onClass); btn.classList.add(offClass); } } else { if (btn.getAttribute("wdValue") == "" || btn.getAttribute("wdValue") == null) { hidden_value.checked = true; btn.classList.remove(offClass); btn.classList.add(onClass); } else { hidden_value.checked = false; btn.classList.remove(onClass); btn.classList.add(offClass); } } } } else { //更改隐藏的用户选中的值 var onoffhidden = document.querySelectorAll("input[name='" + name + "'][type='hidden']"); if (onoffhidden) { var hidden = onoffhidden[0]; if (nullable == "false") { hidden.value = value; } else { if (hidden.value == value) { hidden.value = ''; } else { hidden.value = value; } } for (var i = 0; i < onoffbtn.length; i++) { var btn = onoffbtn[i]; if (btn.getAttribute("wdValue") == "" && (value == "null" || value == "" || value == null)) { btn.classList.remove(offClass); btn.classList.add(onClass); } else { //存在value采用onclass样式 if (btn.getAttribute("wdValue") == value && (btn.classList.contains(offClass) || nullable == "false")) { btn.classList.remove(offClass); btn.classList.add(onClass); } //不存在采用offclass样式 else { btn.classList.remove(onClass); btn.classList.add(offClass); } } } } } }; function initEditorGrowHeightStyle(editor) { editor.onfocus = function () { // $(editor.parentNode).addClass("editorparenton"); // editor.className = "editorclasson"; } editor.onblur = function () { // $(editor.parentNode).addClass("editorparentno"); // editor.className = "editorclassno"; } } wd.edit.initGrowHigh = function (areaId, maxHeight, buttons, multimedia, multiline) { if (!getGrowHeight) { console.log("没找到growheight"); } else { getGrowHeight(areaId, maxHeight, buttons, multimedia ? 1 : 0, multiline); } } function setUpAttachement(editor, buttons) { return if (!buttons.fj) return; var fj = buttons.fj; var fjInput = document.getElementsByName(fj.key + "id")[0]; if (!fjInput) { fjInput = document.createElement("input"); fjInput.type = "hidden"; fjInput.name = fj.key + "id"; editor.parentNode.insertBefore(fjInput, editor); } fjInput.value = fj.value; var attachment = document.createElement("span"); attachment.className = 'attachment'; attachment.onclick = window[fj.key + "fjEdit"]; var fnName = fj.key + "CallbackName"; var fnName = window[fnName] = fj.key + "mouseover"; window[fnName] = function () { var fjid = document.getElementsByName(fj.key + "id")[0].value; if (fjid != null && fjid != "") { $.ajax({ type: "post", url: "/service?ssServ=wrCcmsList", // =getSubNrCount",。Lin data: { nrid: "T-" + fjid, jlztm:1 }, dataType: "json", // 增加,统一 Ajax 返回标准 -- .ssCode、.ssMsg、.ssData。Lin success: function (data) { /* 改,增加错误处理 -- 统一 Ajax 返回标准 -- .ssCode、.ssMsg、.ssData。Lin var count = parseInt(data); */ if (data.ssCode != 0) { alert(data.ssMsg); return; } var count = parseInt(data.ssData); var num = attachment.querySelector(".attachment_count"); if (count) { if (!num) { num = document.createElement("span"); num.className = "attachment_count"; attachment.appendChild(num); } num.innerText = count; } }, error: function (data) { console.log(data); } }) } } attachment.onmouseover = window[fnName]; attachment.onmouseover(); function style_(element, name) { var v = window.getComputedStyle(element)[name]; return v; } function $width(element) { return parseFloat(style_(element, "width")); } function $right(element) { return parseFloat(style_(element, "right")); } function $mLeft(element) { return parseFloat(style_(element, "margin-left")); } function $top(element) { return parseFloat(style_(element, "top")) } function $bottom(element) { return parseFloat(style_(element, "bottom")) } editor.parentNode.appendChild(attachment); editor.wrapper = editor.parentNode; var fjWidth = $width(attachment), r = $right(attachment), ml = $mLeft(attachment); editor.style.width = $width(editor) - fjWidth - ml - r; // editor.style.marginRight = fjWidth + ml + r; var oriTop = $top(attachment); var oriBottom = $bottom(attachment); var oriLeft = $mLeft(attachment); var oriRight = $right(attachment); function updateButtonSize() { if (editor.shadow == null && editor.style.position == "absolute") { //浮动的 document.body.appendChild(attachment); var bound = editor.getBoundingClientRect(); attachment.style.top = bound.top + oriTop + "px"; attachment.style.height = bound.height - oriTop - oriBottom + "px"; attachment.style.left = bound.right + oriLeft + "px"; attachment.style.zIndex = "10000"; attachment.style.position = 'absolute'; } else { //不是浮动的 if (attachment.parentNode != editor.wrapper) { editor.wrapper.insertBefore(attachment, editor.nextSibling); } else {} // attachment.style.top=attachment.style.bottom=0; attachment.style.position = ""; attachment.style.height = "100%"; attachment.style.display = "inline-block"; } // attachment.style.right = $width(editor.parentNode) - $width(editor) - fjWidth - ml - (editor.scrollHeight == editor.clientHeight ? 0 : 16); } var id = setInterval(updateButtonSize, 100); } /**旧版批示器初始化方法**/ //function ynrInit() { // var ynrid = document.getElementsByName('ynrid')[0].value; // if(ynrid) { // var nrid = 'T-' + ynrid; // wd.edit.loadCMSEditor2('ynrEdit','edit', {'loadParam':{'id': nrid}}); // } else { // createynr(); // } //} //function ynrEvent() { // $('select[name=ynrEditor]').on('change', function(e) { // createynr(); // }); //} //function createynr() { // var nrid = document.getElementsByName('ynrEditor')[0].value; // var id = 'T-' + nrid; // wd.edit.loadCMSEditor2('ynrEdit', 'create', {createParam:{'editorId': id},loadParam:{'idInputName':'ynrid'}}); //} //(function(){ynrInit();})(); //(function(){ynrEvent();})(); wd.edit.clearGrowHeightContent = function (id) { document.querySelector("#" + id).innerHTML = ""; } wd.edit.addClearTextButton = function (name) { var isGrowHeight = false; var ele = document.querySelector("[name=" + name + "]"); if (ele && ele.GrowHeight) { isGrowHeight = true; } var mouseoverElement = isGrowHeight ? growHeightList[name].container : ele var locationele=isGrowHeight?mouseoverElement.parentNode:ele; var $button = $("") $button.insertAfter(locationele).hide().on("click", function () { $(ele).val("").trigger("blur,keyup"); $button.hide(); if (isGrowHeight) growHeightList[name].val("") }); var timeid=null; $(mouseoverElement).on("mouseenter", function () { clearTimeout(timeid); if (isGrowHeight ? growHeightList[name].val() : $(ele).val()) { $button.css({ display: "", position:"absolute" }); var pos=$(locationele).position(); $button.css({ left: Math.abs(locationele.offsetWidth + pos.left), top: Math.abs(pos.top+(locationele.offsetHeight-$button[0].offsetHeight)*0.5) }) } }).on("mouseout", function () { timeid=setTimeout(function(){ $button.hide(); },1000) }) $button.hover(function(){ clearTimeout(timeid); },function(){ $button.hide(); }) } //保存个人选值 wd.edit.insertRecord=function(zhi){ if(!zhi){ console.error("找不到zhi") return; }else if(typeof zhi!="object"){ console.error("zhi error"); return; } var ps=window.location.href.replace(/.*\?/,"").split("&"); var token; for(var i=0;i