| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679 |
- 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<inputs.length;i++){
- var r = inputs[i];
- if(valueObj[r.value]){
- r.checked=true;
- continue;
- }
- }
- }
- */
- /**
- * 使用对象参数obj,初始化页面各表单元素的值。
- * 如果DOM对象为input、textArea、select元素,则填充其value值,如果为checkbox、radioButton则使其选中。
- * obj的格式必需为:
- * {属性名1:'属性值1',属性名2:['属性值2','属性值3'], ... }
- * 其中属性名对应页面需要填充值的DOM元素的name,属性值对应页面需要填充值的DOM元素的值。
- */
- wd.edit.initFormElemValue = function (obj) {
- console.info("obj>>>>>>>");
- 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("<option value=\"" + TEXTAREAEDITORID + "\">文本</option>");
- }
- if ($selects.find("[value=" + VOICERECORDEDITORID + "]").length == 0) {
- $selects.append("<option value=\"" + VOICERECORDEDITORID + "\">录音</option>");
- }
- console.log(this);
- if ($selects.find("[value=" + HANDWRITEREDITORID + "]").length == 0) {
- $selects.append("<option value=\"" + HANDWRITEREDITORID + "\">手写</option>");
- }
- 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 = $("<span class='smallButton icon-clear'></span>")
- $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<ps.length;i++){
- if(ps[i].indexOf("ssToken=")>-1){ // ("token=")>。Lin
- token=ps[i].replace("ssToken\=",''); // ("token\=",。Lin
- break;
- }
- }
- if(!token){
- console.error("找不到token!")
- return;
- }
- $.ajax({
- type:"post",
- url:"/service?ssServ=insertRecords",
- async:true,
- data:{
- zhi:JSON.stringify(zhi),
- tokenstring:token
- },
- success:function(data){
- if(data=="fail"){
- console.error("保存选值失败");
- }
- },error:function(){
- console.error("保存选值失败");
- }
- });
- }
- //获取个人选值
- wd.edit.getRecord=function(){
- var ps=window.location.href.replace(/.*\?/,"").split("&");
- var token;
- for(var i=0;i<ps.length;i++){
- if(ps[i].indexOf("ssToken=")>-1){ // ("token=")>。Lin
- token=ps[i].replace("ssToken\=",''); // ("token\=",。Lin
- break;
- }
- }
- if(!token){
- console.error("找不到token!")
- return;
- }
-
- var result;
- $.ajax({
- type:"post",
- url:"/service?ssServ=getRecords",
- async:false,
- data:{
- tokenstring:token
- },
- success:function(data){
- if(data=="fail"){
- console.error("保存选值失败");
- }else if(data){
- result=eval("("+data+")");
- }
- },error:function(){
- console.error("保存选值失败");
- }
- });
-
- return result;
- }
-
-
- wd.edit.initObjectFunctionService=function(buttonID,objectName,funcName){
- var $button=$("#"+buttonID);
- var onclickString="void(0);";
- var temp = wd.display.createObjectService(objectName,funcName);
- if(temp.pluginList){
- for(var iii=0;iii<temp.pluginList.length;iii++){
- var pluginobj=temp.pluginList[iii];
- var clicksss = "wd.display.showComponent({show:['wdDialog'],hide:[],url:'"+pluginobj.url+"',title:'"+pluginobj.title+"',width:"+pluginobj.width+",height:"+pluginobj.height+",minHeight:"+pluginobj.minHeight+",maxHeight:"+pluginobj.maxHeight+"});";
- $button.append('<span style="display:none;" class="'+buttonID+'children" onclick="'+clicksss+'" value="'+pluginobj.pluginDesc+'"></span>')
- }
- wd.display.attachButton(buttonID,buttonID+"children");
- }else{
- onclickString = "wd.display.showComponent({show:['wdDialog'],hide:[],url:'"+temp.url+"',title:'"+temp.title+"',width:"+temp.width+",height:"+temp.height+",minHeight:"+temp.minHeight+",maxHeight:"+temp.maxHeight+"});";
- }
- $button.attr("onclick",onclickString);
-
- }
- //
- window.beforeBatchSubmit=window.beforeBatchSubmit||null;
- /**
- *储存批量录入实例,应用程序不可以直接使用
- */
- window._batchInputInputInstance=window._batchInputInputInstance||{};
- wd.edit.addBatchInputLine=function(param){
- wd.edit._createBatchInputInstance(param)._addBatchInputLine(param);
- }
-
- wd.edit.initBatchInput=function(param){
- wd.edit._createBatchInputInstance(param)._init(param);
- }
- wd.edit._createBatchInputInstance=function(p){
- var c=$("#"+p.container);
- if(c.length==0)return null;
-
- var instance=_batchInputInputInstance[p.container];
-
- if(instance){
- return instance;
- }
- var batchInput=function(param){
- this._addBatchInputLine=null;
- this._init=null;
- var addButton=$("#"+param.addButton);
- var container=$("#"+param.container);
-
- container.html("");
-
- var obj=param.object;
- //初始空行数,如果为0表示初始没空行
- var blankRow=param.blankRow?param.blankRow:1;
-
- //批量录入表格的初始化数据,这些数据会变为隐藏字段自动插入到包含每条记录的div中
- var initData=param.initData||{};
- var wdgrouplistVal=$("<input type=\"hidden\" name=\"wdgrouplist\"/>").appendTo(container);
- var wdgrouplist=[];
- var wdgroupDiv={};
- var wdgroup=0;
- //记录当前行数
- var rowCount=0;
- //限制最大行数
- var maxrow=isNaN(param.maxRow)?NaN:parseInt(param.maxRow);
- var maxRowMessage=param.maxRowMessage||("已超过允许最大行数"+maxrow);
- if(window.wdVm){
- window.wdVm.validationInfos=[];
- }
- function showMaxRowMessage(targetInput){
- try{
- wd.flashMsg.show({
- el: targetInput||container, // 吸附的元素
- msg: maxRowMessage, // 内容
- animate:false,
- offset:"u"
- });
- }catch(e){
- console.log(e);
- }
- }
-
-
- function batchMini(bdata,autofucus,initData_){
-
- initData_=initData_||initData;
- bdata=bdata?bdata:[{}];
- var thiswdgrouplist=[];
- //合并数据
- for(var i=0;i<bdata.length;i++){
- bdata[i]=bdata[i]?bdata[i]:{};
- bdata[i]=$.extend({},initData_,bdata[i]);
- wdgroup++;
- rowCount++;
- bdata[i].wdgroup=wdgroup;
-
- }
- var allscript={};
- $("script[src]").each(function(){
- allscript[this.getAttribute("src")]=1;
- })
-
- var inputurl="/service?ssServ=batchMini&requestobject="+obj;
- $.post(inputurl,{wdgroupdata:JSON.stringify(bdata)},function(result){
- var newDiv=$(result);
- newDiv.find("script[src]").each(function(){
- var src=this.getAttribute("src");
- if(allscript[src]==1){
- $(this).remove();
- //console.log("remove src:"+src);
- }else{
- allscript[src]=1;
- }
-
- })
- for(var i=0;i<bdata.length;i++){
- var readonly="true"==bdata[i].readonly;
- var thisdiv=$(newDiv.children("div")[i]);
- if(readonly){
- //thisdiv.css("filter","grayscale(100%)");
- continue;
- }
- var gn=obj+bdata[i].wdgroup;
- wdgrouplist.push(gn);
- thiswdgrouplist.push(gn);
- wdgrouplistVal.val(wdgrouplist.join(","));
- wdgroupDiv[gn]=thisdiv;
-
- for(var key in initData_){
- var hiddenName=gn+"."+key;
-
- if($(newDiv).find("[name='"+hiddenName+"']").length==0){
- thisdiv.append("<input type=\"hidden\" name=\""+hiddenName+"\" value=\""+initData_[key]+"\"/>");
- }
- }
- }
-
- newDiv.appendTo(container);
-
-
-
- var wdtabno=window.wdTabNoList;//[xm,xbm]
- if(!wdtabno||wdtabno.length==0){
- return
- }
-
-
- if(autofucus){
- var box=wd.display.getInputBox(thiswdgrouplist[thiswdgrouplist.length-1] +"."+wdtabno[0]);
- if(box){
- box.focus();
- }
- }
- for(var j=0;j<thiswdgrouplist.length;j++){
- var gn=thiswdgrouplist[j];
-
- for(var i=0;i<wdtabno.length;i++){
- (function(no){
- var lastno=(wdtabno.length-1)==no;
- wd.display.getInputBox(gn+'.'+wdtabno[no]).onKeyDown([9,13],function(){
- if(lastno){
-
- if(maxrow&&!isNaN(maxrow)&&maxrow<=rowCount){
- showMaxRowMessage();
- return
- }
-
- //最后一个录入,跳到下一组第一个录入,如果没下一组就创建下一组
- var groupindex=wdgrouplist.indexOf(gn);
- if((wdgrouplist.length-1)==groupindex){
- batchMini(null,true);
- }else{
- wd.display.getInputBox(wdgrouplist[groupindex+1]+'.'+wdtabno[0]).focus();
- }
- }else{
- //下一个录入
- wd.display.getInputBox(gn+'.'+wdtabno[no+1]).focus();
- }
- return false;
- });
- })(i);
- }
- }
-
-
-
-
-
- });
-
- }
-
- // window.wdVm =window.wdVm|| new ValidationManager();
-
-
- window.beforeBatchSubmit=function(){
- //批量录入form提交前调用,自动删除记录为空的录入
- if(!window.wdVm)return;
- var validationInfos=[];
- validationInfos=validationInfos.concat(window.wdVm.validationInfos);
- //倒序循环,最后一个开始删空行
- for(var i=(wdgrouplist.length-1);i>=0;i--){
- //剩下一个录入,不清除
- if(wdgrouplist.length==1){
- break;
- }
-
- var gn=wdgrouplist[i];
- var allNull=true;
- //不含单前组的校验器
- var newvalidationInfos=[];
- for(var j=0;j<validationInfos.length;j++){
- if(validationInfos[j].argsObj.namePrefix==(gn+".")){
- if(!validationInfos[j].isNull()){
- allNull=false;
- }
- }else{
- newvalidationInfos.push(validationInfos[j]);
- }
-
- }
- if(allNull){
- validationInfos=newvalidationInfos;
- wdgroupDiv[gn].remove();
- wdgrouplist.splice(i,1);
- rowCount--;
- }
-
- }
- window.wdVm.validationInfos=validationInfos;
- wdgrouplistVal.val(wdgrouplist.join(","));
- }
-
-
-
-
- addButton.off("click").on("click",function(){
- if(!isNaN(maxrow)&&maxrow<=rowCount){
- showMaxRowMessage(this);
- return
- }
- batchMini();
- });
- this._init=function(np){
- if(np){
- param=np;
- }
- container.html("");
- //批量录入表格的初始化数据,这些数据会变为隐藏字段自动插入到包含每条记录的div中
- wdgrouplistVal=$("<input type=\"hidden\" name=\"wdgrouplist\"/>").appendTo(container);
- wdgrouplist=[];
- wdgroupDiv={};
-
- if(window.wdVm){
- window.wdVm.validationInfos=[];
- }
-
- initData=param.initData||{};
- var data=param.data;
- if(data&&data.length>0){
- batchMini(data,false,{});
- }else{
- //空白行
- if(blankRow>0){
- batchMini(new Array(blankRow),true);
- }
- }
-
- }
- this._addBatchInputLine=function(np){
- var thisInitData=np.initData;
- var data=np.data;
-
- if(!isNaN(maxrow)&&maxrow<(rowCount+data.length)){
- showMaxRowMessage();
- return
- }
-
-
- batchMini(data,false,thisInitData);
-
-
- }
-
-
- }
-
- instance=new batchInput(p);
- _batchInputInputInstance[p.container]=instance;
-
-
- return instance;
-
-
- }
- window.editPhotoList= window.editPhotoList || {};
- wd.edit.initEditPhoto=function(param){
- if(window.editPhotoList[param.name+"wj"])return;
- window.editPhotoList[param.name+"wj"]=new (function(param){
- var THIS=this;
- var _enable=true;
- var nameee=param.name;
- var url=param.url;
- var width=param.width;
- var height=param.height;
- var imgEle=$("[id='"+nameee+"Img']");
- var defaultPhoto=imgEle.attr("defaultSrc");
- var hiddenEle=$("[name='"+nameee+"wj']");
-
- this.setValue=function(v){
- hiddenEle.val(v);
- imgEle.attr('src', url+"&path="+encodeURIComponent(v));
- }
-
- this.getValue=function(){
- return hiddenEle.val();
- }
-
-
- this.modify=function(canmodify){
- _enable=canmodify?true:false;
- }
-
- this._uploadcallback=function(){
- imgEle.attr('src', url+"&path="+encodeURIComponent(hiddenEle.val()));
- }
-
- this._loadError=function(){
- console.log("loaderror");
- if(imgEle.attr('src')!=defaultPhoto){
- imgEle.attr('src',defaultPhoto);
- }
-
- }
-
- this._beforeClick=function(){
- return _enable;
- }
- imgEle.on("error",this._loadError);
- if(this.getValue()){
- imgEle.attr('src',url+"&path="+encodeURIComponent(hiddenEle.val()));
- }else{
- imgEle.attr('src',defaultPhoto);
- }
-
-
- /* 再改,改了 upload.js -- 去掉 "",去掉重复的,去掉大写的。Lin
- var uploadparam={validation:'"JPG","JPEG","PNG","BPM","GIF"',width:width,height:height,name:nameee,callback:this._uploadcallback,beforeClick:this._beforeClick};
- */
- /* 再改,增加 type="img",分开处理图片的 上传、下载 -- sltwj 字段 -- <ulImg.ss、dlByHttp。Lin
- * 上传,只保存相对文件名 -- D:/pms/data/img/xxx/yyy 里的 xxx/yyy
- * 下载,使用 AppB.imgBaseDir,不使用 AppB.appRoot
- var uploadparam={validation:'jpg,jpeg,png,bpm,gif',width:width,height:height,name:nameee,callback:this._uploadcallback,beforeClick:this._beforeClick};
- */ var uploadparam={type:'img',validation:'jpg,jpeg,png,bpm,gif',width:width,height:height,name:nameee,callback:this._uploadcallback,beforeClick:this._beforeClick};
- var editName=nameee+"Edit";
- this.container=$("[id='"+editName+"']")[0];
- $(function(){
- $(THIS.container).uploadFile(uploadparam);
- })
- })(param);
-
- }
|