var version = 0;// 版本号 var pwdCallBack = null;// 密码输入点击确定后回调函数 var obj22 = null;// 22类型传值对象 var shx = false; var leftWidth = "0"; var gridId = []; //var uploadObj = null; //var edit=''; var pic = {};// 格线附件上传参数属性 var rsakey = { pubkey: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkRupiYcKVGGUtDBDoR1t/1zm3ZtZgnte39iTJW6hlqjdY0UagKjpNiIv7J6XjtgfX7SgsR4AWnivqQHAICIvdPKfGZZzIs62OQ19MqrDTMoB/LvK5teNWhClv23WMUfRbP+EHgprT6hTw8U5apw1IB6i/y57NkLav792wiYBYRU4X45NoTaT+aiTSLFEflbfm94EXnhSS3vFkBmrZGy5BRNI8gmzafroslGx2Hk90CqlNdeKYxgZQ6xtvj+u33yrszWvPT6F9fsJT8aMjtvH050iYKRVct+x6Q7VRJgCI4MgvAexnTKdxW54YzvXCuO5bDiy5la7CgerWkTAq9dzXwIDAQAB" }; let arrayFileType_Panel = {};//保存上传返回的附件uuid;seq及文件类型 let arrayFileSeq_Panel = {};//保存上传返回的附件uuid;seq及文件名称,用于删除时根据文件名称匹配到seq let fileUploadCount_Panel = 0;//保存附件总数 let formid_Panel; let paramExprs = [];//保存功能链接参数值是密文的参数名称 function encryptFun(value) { var encrypt = new JSEncrypt(); encrypt.setPublicKey(rsakey.pubkey); return encrypt.encrypt(value); } //拼接附件url function getAttachmentUrl(staticUrl, formid, unid, domain, dbid, isShowOrgPic, width, height, fileExt, isDownLoad) { // if (staticUrl != null && staticUrl != "") { // if (isDownLoad) { // return unid + "_" + dbid + "_" + formid + "_" + fileExt; // } else { // return domain + staticUrl; // } // } width = width || 80; height = height || 80; isShowOrgPic = isShowOrgPic || false; fileExt = "." + fileExt || ""; return domain + "/uploads/attachment/" + dbid + "/" + formid + "/" + unid + (isShowOrgPic ? ("_" + width + "x" + height) : "") + fileExt; } //31类型新增sqlWhere设置,拼接sql,在可编辑状态时调用 //dysql:select * from gfield where formid=120201 order by statisid desc, sqlWhere: formname='xxx' //返回 select * from gfield where (formid=120201) and (formname='xxx') order by statisid desc // by danaus 2019/12/21 16:46 function processDysqlV2(dysql,sqlWhere){ if(sqlWhere!=undefined&&sqlWhere!=""){//存在sqlWhere var patt1=new RegExp(/where.*/i);//判断有没where部分 var whereArry=patt1.exec(dysql); if(whereArry!=null){//表示原sql有where条件 where formid=120201 order by statisid desc var where=whereArry[0]; dysql=dysql.replace(where,""); patt1=new RegExp(/order by.*/i);//判断有没order by部分 var orderby=patt1.exec(where); if(orderby!=null){//order by statisid desc where=" where ("+where.replace(patt1,"").replace(/where/i,"")+") and ("+sqlWhere+") "+orderby[0]; }else{ where=" where ("+where.replace(/where/i,"")+") and ("+sqlWhere+") "; } dysql=dysql+where; }else{//是否有order by //直接在原sql上加sqlWhere patt1=new RegExp(/order by.*/i);//判断有没order by部分 var orderby=patt1.exec(dysql); if(orderby!=null){//order by statisid desc dysql=dysql.replace(orderby,"")+" where (1=1) and ("+sqlWhere+") "+orderby[0]; }else{ dysql=dysql+" where (1=1) and ("+sqlWhere+") "; } } } return dysql; } function generateUUID() { var d = new Date().getTime(); if (window.performance && typeof window.performance.now === "function") { d += performance.now(); //use high-precision timer if available } var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { var r = (d + Math.random() * 16) % 16 | 0; d = Math.floor(d / 16); return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16); }); return uuid; } // 2类型树节点,显示图片 function createUploadDiv(colname, value) { if ((";" + nodejs.uploadColName + ";").match(";" + colname + ";")) { $("#uploadDiv_" + colname).empty(); var photo = $('
') .append( ''); $("#uploadDiv_" + colname).append(photo); onfileiput(formId, colname, panMain[0].panInfo[colname].controltype, "", "", nodejs.usercode, value); picevent(colname); // 事件 if (panMain[0].panInfo[colname].controltype != "9") {//9类型是单附件不需要再赋值 $doc(colname).val(value); } } } /** *下面的方法是针对9/19附件控件类型 xin 2021-5-13 09:59:58 */ //渲染出附件界面出来 var BootstrapFileInputOption = function(id){ let o = { e: $('#' + id + '_up'), id:$('#'+id), name:id, NumberofSummary:[],//更新次数集合 option: {//属性 uploadUrl: '#', // String,用于上传处理操作的URL(通常是基于Ajax的处理) uploadIdEvnt:$('#'+id), language: 'zh', // 语言 uploadAsync: false, // bool是否多文件批量上传将并行异步/。默认为true showCaption: false,//是否显示被选文件的简介 showBrowse: false,//是否显示文件浏览按钮 showBatchDownload: true,//显示批量下载按钮 showUpload: false,//是否显示上传按钮 showCancel: false,//是否显示取消按钮 showRemove: false,//是否显示移除按钮 showDrag: false,//是否显示拖动按钮 showClose: false,//是否显示关闭按钮 multiple: id.type == 9 ? false : true,//by danaus 2024-02-19 17:39 dropZoneEnabled: true, //是否显示拖拽区域 browseOnZoneClick: false, //布尔值,是否在点击预览区域时触发文件浏览/选择。默认为false showUploadedThumbs: true, // 是否在预览窗口中持续显示已经上传的文件缩略图(用于ajax上传),直到按下删除/清除按钮 maxFilesNum: 10, // 上传最大的文件数量 maxFileCount: 0, // 为每个多次上载允许的最大文件数。如果设置为0,则意味着允许的文件数是无限的。默认值为0。 isNine: false, // 19类型就为false,9类型就为true,下面有判断 validateInitialCount: false, // 是否包括初始预览文件数(服务器上传文件)验证minfilecount和maxfilecount。默认为false. overwriteInitial: true, // 是否要覆盖初始预览内容和标题设置 initialPreviewAsData: true, allowedFileExtensions: null,//允许上传的文件扩展名列表。默认情况下设置为 null dropZoneTitle:'点击或拖拽文件', dropZoneClickTitle:'', layoutTemplates : { indicator:''//去掉上传状态图标 ,actionUpload: ''//去除缩略图中文件上传操作按钮的模板 ,actionDrag:''//去掉缩略图拖动图标 ,footer : '' }, //自定义按钮(权限) otherActionButtons:'' ,previewSettings: { // 设置显示的图片相同的宽度高度 image: {width: '110px', height: '110px'}, html: {width: "110px", height: "110px"}, text: {width: "110px", height: "110px"}, office: {width: "110px", height: "110px"}, gdocs: {width: "110px", height: "110px"}, video: {width: "110px", height: "110px"}, audio: {width: "110px", height: "110px"}, flash: {width: "110px", height: "110px"}, object: {width: "110px", height: "110px"}, pdf: {width: "110px", height: "110px"}, other: {width: "110px", height: "110px"} }, previewSettingsSmall: { image: {width: '110px', height: '110px', 'max-width': '110px', 'max-height': '110px'}, html: {width: '110px', height: '110px'}, text: {width: '110px', height: '110px'}, office: {width: '110px', height: '110px'}, gdocs: {width: '110px', height: '110px'}, video: {width: '110px', height: '110px'}, audio: {width: '110px', height: '110px'}, flash: {width: '110px', height: '110px'}, object: {width: '110px', height: '110px'}, pdf: {width: '110px', height: '110px'}, other: {width: '110px', height: '110px'} }, preferIconicPreview: true, previewFileIconSettings: { 'doc': '', 'xls': '', 'ppt': '', 'pdf': '', 'zip': '', 'htm': '', 'txt': '', 'mov': '', 'mp3': '', 'jpg':'', 'key':'' }, previewFileExtSettings: { 'doc': function(ext) { return ext.match(/(doc|docx)$/i); }, 'xls': function(ext) { return ext.match(/(xls|xlsx)$/i); }, 'ppt': function(ext) { return ext.match(/(ppt|pptx)$/i); }, 'zip': function(ext) { return ext.match(/(zip|rar|tar|gzip|gz|7z)$/i); }, 'htm': function(ext) { return ext.match(/(htm|html)$/i); }, 'txt': function(ext) { return ext.match(/(txt|ini|csv|java|php|js|css)$/i); }, 'mov': function(ext) { return ext.match(/(avi|mpg|mkv|mov|mp4|3gp|webm|wmv)$/i); }, 'mp3': function(ext) { return ext.match(/(mp3|wav)$/i); }, 'jpg':function (ext) { return ext.match(/(jpg|png|jpeg|gif|ico|pic|bmp|tif)$/i); } }, isNodragging:false,//自定义属性,在只读状态是否可以执行拖拽 fileActionSettings:{//用于在预览窗口中为新选择的文件缩略图设置文件操作的配置 // showDownload:false,//是否在缩略图中显示下载按钮 showUpload:false//是否在缩略图中显示上传按钮 }, // usePdfRenderer: true,//启动自定义的内部插件,false值或不设置这个属性将是默认的插件 // pdfRendererUrl: '',//'/general/pdf/web/viewer.jsp',//预览pdf格式的插件路径 initialPreview: [], // 字符串或者数组,要显示的初始预览内容 initialPreviewConfig: [], // 数组,为每个initialPreview条目(就是initialPreview中的每个预览)设置重要属性的配置 showPreview: true, // 布尔值,是否显示文件预览。默认值为true maxFileSize: 0//允许上传的文件大小(默认为0,不限制) }, fileInput: function () {//渲染,并且绑定事件 this.e.fileinput(this.option); }, events:function (isGrid,g) { let fileInputId=this.e; let id=this.id; let name=this.name; let Event=this; let datas={}; fileInputId.on("filebatchselected", function(event, files) { // 在预览中选择并显示一批文件后触发此事件(选择结束后触发的事件) if(!g){ // 不是格线 // 触发修改(面板有内容改动,刷新界面时候有提示) upSub(name); } //触发上传功能 fileInputId.fileinput('upload'); }).on('filebatchuploadsuccess', function(event, data) { // 此事件仅在ajax上传且文件批量上传成功之后触发 fileUploadCount_Panel += data.files.length; arrayFileSeq_Panel = JSON.parse(data.response.seqMap); arrayFileType_Panel = JSON.parse(data.response.fileExtMap); let tmp = {}; let oldKey = id.val();// 旧的值 let newKey = data.response.uuid ? data.response.uuid + ";" : ""; // 新的值 if (oldKey != "") { var keys = oldKey.split(";"); for (var i = 1; i < keys.length; i++) { newKey = newKey.replace(";" + keys[i] + ";", ";"); } } tmp.key = newKey; tmp.type=data.response.type; tmp.filedId=name; tmp.oldKey=oldKey; let unid = data.response.uuid?data.response.uuid:""; id.val(unid); if(data.thumbs!=null){ data.thumbs.attr("data-key",JSON.stringify(tmp)); } // 格线调用 if(g) { let grid = g.id; let obj = unid + ";" + data.response.fileType;// by danaus 2020/4/30 11:32 grid.SetValue(g.row, g.col, obj, 0); grid.RefreshCell(g.row, g.col); } }).on('filebeforedelete', function(event, params) { // 在删除initialPreview内容集中的每个缩略图文件之前触发此事件 let e=!confirm("您确定要删除吗?"); return e; }).on('filedeleted', function(event, key) { // 在删除initialPreview内容集中的每个缩略图文件之后触发此事件 // 格线调用 debugger; fileUploadCount_Panel--; if (isGrid != null && isGrid == 'grid') { if (g) { let grid = g.id; let obj = ""; grid.SetValue(g.row, g.col, obj, 0); grid.RefreshCell(g.row, g.col); } } else { // 面板 let va = id.val(); key = key.split(";")[1]; delete arrayFileType_Panel[key]; va = va.replace(";" + key, ""); if (va.indexOf(";") < 0) { va = ""; } id.val(va); panMain[panIndex].isChange = 1; //解决110101上传后删除附件不成功,而出现多个序号的问题 } }).on('filesuccessremove', function(event, val) { // 使用缩略图删除按钮删除成功上传的缩略图后,会触发此事件 debugger; if(val!=null && val.key!=null) { let title = val.title;//文件名称,用于查找对应的seq let delSeq = arrayFileSeq_Panel[title];//对应删除的seq let uuid = val.key.split(";")[0]; $.ajax({ type: "POST", dataType: 'json', url: '/attachment/deleteOwnerAttachment.do?formid=' + formid_Panel + '&fieldid=' + val.filedId + '&ishd=1&type=' + val.type + '&unid=' + uuid + '&seq=' + delSeq, // 删除路径 success: function (data) { fileUploadCount_Panel--; delete arrayFileSeq_Panel[title]; delete arrayFileType_Panel[uuid + ";" + delSeq]; // let newUid = val.oldKey == "" ? "" : val.oldKey.replace(";" + delSeq, ""); let newUid = val.key == "" ? "" : val.key.replace(";" + delSeq, "");//by danaus 2024-02-21 16:56 id.val(newUid); } }); } }).on('filezoomshown', function(event, params) { //此事件在模态对用户可见后触发(将等待 CSS 转换完成) Event.NumberofSummary=params.NumberofSummary||[]; Event.imageEvent(params); }).on('filezoomprev', function(event, params) { //事件在缩放预览模式下,当点击上一个导航按钮查看上一个文件时触发(也在缩放模式下按下键盘左箭头时触发) setTimeout(function(){//这个事件不是渲染完进入,导致提前渲染图片查看器。 没什么决绝办法用setTimeout吧 Event.imageEvent(params) },300); }).on('filezoomnext', function(event, params) { //该事件在缩放预览模式下,当点击下一个导航按钮查看下一个文件时触发(也在缩放模式下按下键盘右箭头时触发)。 setTimeout(function(){ Event.imageEvent(params) },300); }); },imageEvent:function (param) { try { let that=this; isFileInputImage = new Viewer(param.modal.find('ul')[0], { title: true, inline: true, button: false, viewed: function (e) {// 图片渲染完后进入,旋转大图片 if(typeof isFileInputImage!='undefined' && isFileInputImage!=null){ that.imageAjax(param.modal,isFileInputImage); } } }); isFileInputImage.imageCurrent = 0 isFileInputImage.view(param.viewerIndex || 0); if(typeof isFileInputImage!='undefined' && isFileInputImage!=null){ that.imageAjax(param.modal,isFileInputImage); } } catch (e) { isFileInputImage = null; } },imageAjax:function (modal,isfile) { let seq = 0; let number = this.NumberofSummary; let image = isfile.image.currentSrc; let i = image.split("/"); i = i[i.length - 1]; let p = i.split('@p@'); if (p.length == 2) { seq = p[1].split('.')[0]; } if (number.length > 0) { for (let s = 0; s < number.length; s++) { if (seq == number[s].seq) { if(number[s].state==-1){//没有查看次数后隐藏 modal.find('.viewer-canvas').find('img').hide(); modal.find('.viewer-canvas').html('
'+number[s].describe+'
'); } modal.find('.kv-zoom-caption').html(number[s].fileName); modal.find('.kv-zoom-caption').attr('title', number[s].fileName); modal.find('.viewsNumber').html(number[s].totaViewNums); modal.find('.downNumber').html(number[s].totaDownNums); modal.find('.numberofviews').attr('title','总查看次数:'+number[s].totaViewNums); modal.find('.amountofdownloads').attr('title','总下载次数:'+number[s].totaDownNums); if(number[s].hasPermission){ modal.find('.zoom-view').show(); modal.find('.viewNums').html(number[s].viewNums); modal.find('.zoom-view').attr('title','允许查看次数:'+number[s].allowViewNums+'\n您已查看:'+number[s].viewNums); modal.find('.zoom-down').show(); modal.find('.downNums').html(number[s].downNums); modal.find('.zoom-down').attr('title','允许下载次数:'+number[s].allowDownNums+'\n您已下载:'+number[s].downNums); }else{ modal.find('.zoom-view').hide(); modal.find('.zoom-down').hide(); } break; } } } } } return o; } //附件权限控制设置 // function readApproved(editstatus,docstatus,id,userCode,index){ // let isReadOnly = true;//默认只读 // //取SQL条件表达式结果 // let expr = getDoc(id + "_expr", ".value"); // let isEditUpload = ((expr != null && expr == 2) || expr == null) ? true : false; // let readonly = panMain[index] != null ? panMain[index].panInfo[id].ReadOnly : 0;//是否只读 // if (readonly != 1 && (isNew == 1 || (predocstatus == docstatus && isEditUpload))) { // //可编辑附件 // isReadOnly = false; // } // let editstatusArra = (editstatus != null && editstatus != "") ? editstatus.join(";") : []; // let isEditstatus = $.inArray(docstatus, editstatusArra);//是否可以编辑 // let curChecker = getDoc("curchecker", ".value");//当前审核人 // let ApprovedUserCodes = getDoc("approvedusercodes", ".value");//用于记录已审核人列表 // if (readonly != 1 && (predocstatus != docstatus && isEditUpload && isEditstatus) && // ((curChecker != "" && curChecker.indexOf(userCode) != 1) || // (curChecker == "" && ApprovedUserCodes.indexOf(userCode) != 1))) { // //可编辑附件 // isReadOnly = false; // } // return isReadOnly; // } /** *-----end-----上面的方法是针对9/19附件控件类型 xin 2021-5-13 09:59:58 */ /** * 加载面板附件内容 * @param formid 功能号 * @param id 控件ID * @param controlType 控件类型 * @param docstatus 单据状态值 * @param rowid rowId * @param usercode 账号 * @param uuid uuId * @param maxFileSize 上传附件大小限制值 * @param index 面板元素(多个面板时候就是0,1,2) */ function onfileiput(formid,id,controlType,docstatus,rowid,usercode,uuid,maxFileSize){ //获取到插件基本属性 let fileInput = BootstrapFileInputOption(id); var isReadOnly = false; try { // 上传附件需要的参数 formid_Panel = formid; var param = {}; var panelautoSave = "";//标记是否为单据 var readerUserCodes = $('#readerusercodes').val(); var uid = $('#' + id).val(); uid = uid == undefined ? "" : uid.replace(/^;+/g, "");//处理值是;;;这样1个或多个的情况 param.fieldid = id; param.controltype = controlType; param.formid = formid; param.unid = (uuid == undefined ? uid : uuid); param.maxFileSize = maxFileSize; param.docstatus = docstatus; param.rowid = rowid; param.usercode = usercode; try { param.doccode = $('#doccode').val(); if (param.doccode == undefined) { param.doccode = panMain[panIndex].panelAuditValue.doccode;//panMain[panIndex].panelAuditValue.doccode; } if (param.doccode && readerUserCodes != undefined && readerUserCodes != '') { param.readerusercodes = readerUserCodes; } } catch (e) { param.doccode = panMain[panIndex].panelAuditValue.doccode;//panMain[panIndex].panelAuditValue.doccode; } if (formType && (formType == 5 || formType == 9 || formType == 15 || formType == 8 || formType == 496 || formType == 497 || formType == 16 || formType == 17)) { panelautoSave = "&is16=1"; for (var i in panMain) { // 循环状态值,如果面板有这个0或1就循环下去,没有就直接跳过 if (panMain[i].picState[id] != undefined) { var ed = panMain[i].picState[id].split(";pb#"); param.headflag = ed[0]; param.editstatus = (ed.length > 1 && ed[1] != null ? ed[1] : ed[0]); // isReadOnly=readApproved(param.editstatus,docstatus,id,usercode,index); if (param.editstatus != "") { if ((";" + param.editstatus + ";").indexOf(";" + docstatus + ";") > -1) { isReadOnly = false; } else { isReadOnly = true; //ApprovedUserCodes //用于记录已审核人列表 } } } } } // 请求后台数据信息 $.ajax({ url: '/attachment/getAttachmentList.do', type: "POST", async: false, data: {pant: JSON.stringify(param)}, dataType: 'json', success: function (jsons) { if (isReadOnly) {//只读状态时候 fileInput.option.layoutTemplates.actionDelete = '';//隐藏删除 fileInput.option.otherActionButtons = '';//隐藏权限 fileInput.option.isNodragging=true;//禁止拖拽(自定义) } fileInput.option.browseOnZoneClick = !isReadOnly;//是只读状态就禁用点击区域上传附件功能(false表示禁用) fileInput.option.maxFileSize = maxFileSize;//上传大小(kb) var encrypt = new JSEncrypt(); encrypt.setPublicKey(rsakey.pubkey); for (var i = 0; i < jsons.length; i++) { //表示返回的新单需要的数据,而不是附件的内容 if (jsons.length == 1 && jsons[0].isNewAttachment == 1) { param.domain = jsons[0].domain; param.dbid = jsons[0].dbid; param.usercode = jsons[0].userCode; param.username = jsons[0].userName; //是新单那就表示是没有附件的,要清空单据里面字段的值 $doc(id).val('');//清空 break; } // 图片属性 if (i == 0) { param.domain = jsons[i].domain; param.usercode = jsons[i].userCode; param.username = jsons[i].userName; param.dbid = jsons[i].dbid; } //文件路径 let fileURL = getAttachmentUrl(jsons[i].staticUrl, jsons[i].formid, jsons[i].unid + "@p@" + jsons[i].seq, jsons[i].domain, jsons[i].dbid, false, 60, 60, jsons[i].orgFileType); //文件显示信息 let title = '文件名:' + jsons[i].originalFileName + ' \n类型:' + jsons[i].fileType + ' \n大小:' + jsons[i].fileSizeStr + ' \n上传者:' + jsons[i].authorName + ' \n上传时间:' + jsons[i].uploadTimeStr + ' \n\n总查看次数:' + jsons[i].totalViewNums + ' \n总下载次数:' + jsons[i].totalDownNums; if(jsons[i].hasPermission){ title += ' \n\n上传者【' + jsons[i].authorName + '】授权您:' title += ' \n允许查看次数:' + jsons[i].allowViewNums + ' \n您已查看:' + jsons[i].viewNums + '\n'; title += ' \n允许下载次数:' + jsons[i].allowDownNums + ' \n您已下载:' + jsons[i].downNums; let msg="无时间限制" if(jsons[i].dateFlag==0){ msg="允许访问:"+jsons[i].startTime.split(" ")[1]+" ~ "+jsons[i].endTime.split(" ")[1]; } if(jsons[i].dateFlag==1){ msg="允许访问:"+jsons[i].startTime.substring(0,jsons[i].startTime.length-3)+" ~ "+jsons[i].endTime.substring(0,jsons[i].endTime.length-3); } title +='\n\n'+msg; } //下载地址 let Down = jsons[i].domain + "/attachment/downLoadAttachment.do?filePath=" + jsons[i].unid + "@p@" + jsons[i].seq + "_" + jsons[i].dbid + "_" + jsons[i].formid + "_" + jsons[i].orgFileType; //删除地址 let deleURL = '#'; if (!isReadOnly) {//不是只读 deleURL = jsons[i].domain + '/attachment/deleteAttachmentV2.do?' + 'type=' + (controlType == 9 ? '1' : '3') + '&formid=' + param.formid + '&doccode=' + param.doccode + '&fieldid=' + id + '&unid=' + jsons[i].unid + '&seq=' + jsons[i].seq + '&docstatus=' + param.docstatus + '&ishd=1&usercode=' + encodeURIComponent(encrypt.encrypt(jsons[i].authorCode)) + '&readerusercodes=' + readerUserCodes + '&dbid=' + encodeURIComponent(encrypt.encrypt(jsons[i].dbid)) + '&curUsername=' + encodeURIComponent(encrypt.encrypt(jsons[i].userName)) + '&curUsercode=' + encodeURIComponent(encrypt.encrypt(jsons[i].userCode)); } //注释,不用viewer.jsp打开pdf文件,因为用这个打开有印章的pdf,印章会被屏蔽 xin 2022-6-23 09:44:07 // if (jsons[i].fileType.toLowerCase() == 'pdf') {//pdf格式调用插件 // fileURL = jsons[i].domain + '/general/pdf/web/viewer.jsp?file=' + fileURL; // } if (jsons[i].fileType == 'office') {//office类型需要 fileURL = encodeURIComponent(fileURL); } fileInput.option.initialPreview.push(fileURL); fileInput.option.initialPreviewConfig.push({ 'caption': jsons[i].originalFileName, // 上传的图片名称 'time': jsons[i].uploadTimeStr, //上传开始时间 'name': jsons[i].authorName, //作者名称 'size': jsons[i].fileSizeStr, // 上传的图片大小 'type': jsons[i].allowView?jsons[i].fileType:'lock', // 上传的图片类型 'filename': jsons[i].originalFileName,//jsons[i].physicalFile, //物理文件 'filetype': jsons[i].fileType + '/' + jsons[i].orgFileType, 'title': title,//title 'key': jsons[i].unid + ';' + jsons[i].seq,//key 'seq':jsons[i].seq, 'downloadUrl': jsons[i].allowDownload ? Down : false, // true值时候设置下载地址,否则设置false不显示下载按钮 'downClick':'downFile(this,\''+jsons[i].unid+'\',\''+jsons[i].seq+'\')',//下载按钮onclick事件 xin 2022-12-2 08:40:35 'url': deleURL,// 附件删除路径 'hasZoom': jsons[i].allowView,//是否能查看 // 'hasDwn': jsons[i].allowDownload,//是否能下载 'hasDel': jsons[i].allowDelete,//是否能删除 'hasPermission':jsons[i].hasPermission, 'hasLock': jsons[i].authorCode != null && jsons[i].authorCode == param.usercode ? true : false,//是否能显示权限 'viewsNumber':jsons[i].viewNums,//查看次数 'downNumber':jsons[i].downNums//下载次数 }); } // 附件上传路径(组装参数) let upURL = ''; if(!isReadOnly) {//不是只读 upURL= param.domain + '/attachment/uploadAttachmentV2.do?' + 'type=' + (controlType == 9 ? '1' : '3') + '&formid=' + param.formid + '&doccode=' + param.doccode + '&fieldid=' + id + '&rowid=' + Math.random() + '&usercode=' + encodeURIComponent(encrypt.encrypt(param.usercode)) + '&username=' + encodeURIComponent(encrypt.encrypt(param.username)) + '&ishd=1' + panelautoSave + '&dbid=' + encodeURIComponent(encrypt.encrypt(param.dbid)); // '&uuid=' + uid;//$('#' + id).val(); } fileInput.option.uploadUrl = upURL; // 判断如果是9类型就输出,如果是19类型就不输出 if (controlType == 9) { fileInput.option.maxTotalFileCount = 1;// 为每个多次上载允许的最大文件数。如果设置为0,则意味着允许的文件数是无限的。默认值为0。 fileInput.option.isNine = true; // 19类型就为false,9类型就为true---(忽略验证检查) fileInput.option.validateInitialCount = true; // 是否包括初始预览文件数(服务器上传文件)验证minfilecount和maxfilecount。默认为false. fileInput.option.overwriteInitial = false; // 是否要覆盖初始预览内容和标题设置 } } }); } catch (e) { $.messager.alert("提示", "未能加载附件信息!" + e, "warning"); } finally { // 渲染显示 fileInput.fileInput(); if (isReadOnly) {//是只读 $("#"+id+"_show_type .file-preview").css("background", "#CCC"); $("#"+id+"_show_type .file-footer-buttons").find("a").css("background", "#CCC").css("color","#6c757d"); $("#"+id+"_show_type .file-footer-buttons").find("button").css("background", "#CCC"); } } } //更新下载次数 function downFile(e,unid,seq) { let json={}; json.unid=unid; json.seqArray=[]; json.seqArray.push(seq); json.type="down"; $.ajax({ url: '/attachmentOa/getAllowOa.do', type: 'POST', data: JSON.stringify(json), dataType: 'json', // async: false, contentType: 'application/json', success: function (res) { if (res != null && res.code == 0) { let dat=res.data; if(dat[0]!=null){ if((dat[0].state==-1 || dat[0].allowDownNums==dat[0].downNums) && dat[0].allowDownNums!=0){ // layui.layer.msg("你在此附件允许下载的次数已经用完"); $(e).hide(); } } } }, error: function (xmlHttpRequest, textStatus, errorThrown) { layui.layer.alert(xmlHttpRequest.responseText); } }) } // 图片在图片框内按宽高比例自动缩放!!! // Img:要放图片的img元素,onload时传参可用this // maxHeight :img元素的高度,像素(图片框 最大高度) // maxWidth:img元素的宽度,像素(图片框 最大宽度) function AutoSize(Img, maxWidth, maxHeight) { var image = new Image(); // 原图片原始地址(用于获取原图片的真实宽高,当标签指定了宽、高时不受影响) image.src = Img.src; // 当图片比图片框小时不做任何改变 if (image.width < maxWidth&& image.height < maxHeight) { Img.width = image.width; Img.height = image.height; } else{ // 原图片宽高比例 大于 图片框宽高比例,则以框的宽为标准缩放,反之以框的高为标准缩放 if (maxWidth/ maxHeight <= image.width / image.height){ // 原图片宽高比例 大于 图片框宽高比例 Img.width = maxWidth; // 以框的宽度为标准 Img.height = maxWidth* (image.height / image.width); } else { // 原图片宽高比例 小于 图片框宽高比例 Img.width = maxHeight * (image.width / image.height); Img.height = maxHeight ; // 以框的高度为标准 } } } // 40类型 查看图片(旧的,可放弃) function showModalImg(value,controlType,callback){ // try{ // var pant=value.split("?")[1]; // var pants=pant.split("&"); // var pic={}; // for(var i=0;i4){ // fileExt="unknown"; // } // if('jpge;jpg;png;gif'.indexOf(fileExt.toLowerCase())==-1){//不是图片后缀的 // callback();//执行回调 // return true;//如果不是图片的后缀那就返回true xin 2021-7-15 10:11:50 // } // if(seq!=null&&seq!=undefined&&seq!=""){ // unid=unid+"@p@"+seq; // } // results=getAttachmentUrl(pic.staticUrl,pic.formid,unid,pic.domain,pic.dbid,false,80,80,fileExt); // } // }else{ // return false; // } // $("#bimg").attr("src",results); // document.getElementById("uploadForm").style.display="none"; // document.getElementById("bimg").style.display="inline-block"; // //AutoSize($("#bimg"),600,500); // return true ; // }catch(e){alert(e);} } // 格线执行 附件 进入的函数,主要是9类型(旧的,可以放弃) function showModal(id,value){ // var controlType = 9; // 专用于格线 // var readerUserCodes = $('#readerusercodes').val(); // // 加载图片需要的属性(固定ID) // let fileInput = BootstrapFileInputOption('fileUpload'); // // 定义属性,拆分值 // document.getElementById("uploadForm").style.display = "block"; // document.getElementById("bimg").style.display = "none"; // var picPer = []; // var authBtn = ''; // var c; // var unid; // var seq; // pic = {}; // var pant = value.split("?")[1]; // var pants = pant.split("&"); // for (var i = 0; i < pants.length; i++) { // c = pants[i].split("="); // pic[c[0]] = c[1]; // } // var encrypt = new JSEncrypt(); // encrypt.setPublicKey(rsakey.pubkey); // var picpant = {}; // try {// 赋值 // if ((pic.uuid == undefined || pic.uuid == '') && (pic.oldgrid != null && // pic.oldgrid != undefined && pic.oldgrid != '')) { // var unid = pic.oldgrid.split(';'); // pic['uuid'] = unid[0] + ";" + unid[1];//uuid+seq // if (unid.length >= 4 && unid[0].indexOf('.do') != -1) { // if (unid.length > 4) { // if (unid[unid.length - 2] != null && !isNaN(unid[unid.length - 2])) { // controlType = 19;//存在多个seq,表示是多附件 // } // } // pic['uuid'] = unid[1] + ";" + unid[2];//uuid+seq // } // picpant['unid'] = pic['uuid'].replace("|48|48|", ""); // } // picpant['fieldid'] = pic["fieldid"]; // picpant['controltype'] = controlType; // picpant['formid'] = pic["formid"]; // // picpant['ishd'] = pic['ishd']; // var strIs = ""; // if (pic["is1"] != undefined && pic["is1"] != "") { // strIs = "&is1=" + pic['is1'] + "&ishd=" + pic['ishd']; // } else if (pic["is8"] != undefined && pic["is8"] != "") { // strIs = "&is8=" + pic['is8'] + "&ishd=" + pic['ishd']; // } else { // strIs = "&ishd=" + pic['ishd']; // } // picpant['docstatus'] = pic["docstatus"] == undefined ? 0 : pic["docstatus"]; // picpant['rowid'] = pic["rowid"]; // picpant['usercode'] = pic["usercode"]; // picpant['doccode'] = pic["doccode"]; // picpant['headflag'] = (pic['ishd'] == 0) ? 1 : 0; // try { // if (picpant.doccode == undefined) { // picpant['doccode'] = $('#doccode').val(); // if (picpant.doccode == undefined) // picpant.doccode = panMain[panIndex].panelAuditValue.doccode; // } // if (picpant['doccode'] && readerUserCodes != undefined && readerUserCodes != '') { // picpant['readerusercodes'] = readerUserCodes; // } // } catch (e) { // picpant.doccode = ""; // } // try { // var picpants = JSON.stringify(picpant); // } catch (e) { // alert(e); // } // // 图片显示的方法 // $.ajax({ // url: '/attachment/getAttachmentList.do', // type: "POST", // async: false, // data: {pant: picpants}, // dataType: 'json', // success: function (data) { // try { // var jsons = data; // if ((pic.uuid != undefined && pic.uuid != '') || (pic.oldgrid != null && // pic.oldgrid != undefined && pic.oldgrid != '')) { // for (var i = 0; i < jsons.length; i++) { // // 图片属性 // if (picpant.usercode == "") { // picpant.usercode = jsons[i].userCode; // } // if (i == 0) { // picpant.username = jsons[i].userName; // picpant.dbid = jsons[i].dbid; // picpant.domain = jsons[i].domain; // } // var deleToken = 'type=' + (controlType == 9 ? '1' : '3') + '&formid=' + picpant.formid + '&doccode=' + picpant.doccode + '&fieldid=' + id + '&unid=' + jsons[i].unid + '&seq=' + // jsons[i].seq + '&docstatus=' + picpant.docstatus + '&ishd=' + picpant.ishd + '&usercode=' + encodeURIComponent(encrypt.encrypt(jsons[i].authorCode)) + '&readerusercodes=' + readerUserCodes + '&dbid=' + encodeURIComponent(encrypt.encrypt(jsons[i].dbid)) + '&curUsername=' + encodeURIComponent(encrypt.encrypt(jsons[i].userName)) + '&curUsercode=' + encodeURIComponent(encrypt.encrypt(jsons[i].userCode)); // fileInput.option.initialPreviewConfig.push({ // 'caption': jsons[i].originalFileName, // 上传的图片名称 // 'filename': jsons[i].physicalFile, // 上传文件名 // 'time': jsons[i].uploadTimeStr, //上传开始时间 // 'name': jsons[i].authorName, //作者名称 // 'size': jsons[i].fileSizeStr, // 上传的图片大小 // 'type': jsons[i].fileType, // 上传的图片类型 // 'key': jsons[i].unid +';'+jsons[i].seq, // 'downloadUrl': jsons[i].domain + "/attachment/downLoadAttachment.do?filePath=" + getAttachmentUrl(jsons[i].staticUrl, jsons[i].formid, jsons[i].unid + "@p@" + jsons[i].seq, "", jsons[i].dbid, false, 60, 60, jsons[i].orgFileType, true), // 'url': jsons[i].domain + '/attachment/deleteAttachmentV2.do?' + deleToken // }); // 附件删除路径 // // // 判断是否需要权限,如果要那么就加载权限按钮属性 // if (jsons[i].authorCode != null && jsons[i].authorCode == picpant.usercode) { // authorCode 作者 // authBtn = '' + // ''; // 授权按钮 // } // // 添加图片权限 // picPer.push({ // key: jsons[i].seq, isAllowDelete: jsons[i].hasDelete, isAllowUpdate: jsons[i].hasUpdate, // isAllowDownload: jsons[i].hasDownload, authBtn: authBtn // }); // // 图片 // let t='文件名:' + jsons[i].originalFileName + // ' \n类型:' + jsons[i].fileType + // ' \n大小:' + jsons[i].fileSizeStr + // ' \n上传者:' + jsons[i].authorName + // ' \n上传时间:' + jsons[i].uploadTimeStr ; // // let img=''; // let img=getAttachmentUrl(jsons[i].staticUrl, jsons[i].formid, // jsons[i].unid + "@p@" + jsons[i].seq, jsons[i].domain, jsons[i].dbid, // false, 60, 60, jsons[i].orgFileType); // fileInput.option.initialPreview.push(img); // } // var upToken = 'type=' + (controlType == 9 ? '1' : '3') + '&formid=' + picpant.formid // + '&doccode=' + picpant.doccode + '&fieldid=' + picpant.fieldid // + '&usercode=' + encodeURIComponent(encrypt.encrypt(picpant.usercode)) + '&username=' + encodeURIComponent(encrypt.encrypt(picpant.username)) + '&dbid=' + encodeURIComponent(encrypt.encrypt(picpant.dbid)) // + strIs + '&rowid=' + picpant.rowid + '&uuid=' + (picpant.unid == undefined ? "" : picpant.unid); // fileInput.option.uploadUrl = picpant.domain + '/attachment/uploadAttachmentV2.do?' + upToken; // 附件上传路径 // // $('#'+id).val(pic.unid); // fileInput.option.otherActionButtons=''; // fileInput.option.maxFileCount = 1; // 为每个多次上载允许的最大文件数。如果设置为0,则意味着允许的文件数是无限的。默认值为0。 // fileInput.option.isNine = true; // fileInput.option.validateInitialCount = true; // 是否包括初始预览文件数(服务器上传文件)验证minfilecount和maxfilecount。默认为false. // fileInput.option.overwriteInitial = false; // 是否要覆盖初始预览内容和标题设置 // } else { // fileInput.option.maxFileSize = jsons[0].allowMaxFileSize;//从后台取数回来 by danaus 2020/8/7 10:47 // fileInput.option.initialPreviewConfig.push({ // 'caption': '', // 上传的图片名称 // 'filename': '', // 上传文件名 // 'time': '', //上传开始时间 // 'name': '', //作者名称 // 'size': '', // 上传的图片大小 // 'type': '', // 上传的图片类型 // 'key': '' // }); // fileInput.option.uploadUrl = pic.domain + '/attachment/uploadAttachmentV2.do?type=' + (controlType == 9 ? '1' : '3') + '&formid=' + pic.formid // + '&doccode=' + pic.doccode + '&fieldid=' + pic.fieldid // + '&usercode=' + encodeURIComponent(encrypt.encrypt(pic.usercode)) + '&username=' + encodeURIComponent(encrypt.encrypt(pic.username)) + '&dbid=' + encodeURIComponent(encrypt.encrypt(pic.dbid)) // + strIs + '&rowid=' + pic.rowid + '&uuid=' + (pic.unid == undefined ? "" : pic.unid); // 附件上传路径 // fileInput.option.maxFileCount = 1; // 为每个多次上载允许的最大文件数。如果设置为0,则意味着允许的文件数是无限的。默认值为0。 // fileInput.option.isNine = true; // fileInput.option.validateInitialCount = true; // 是否包括初始预览文件数(服务器上传文件)验证minfilecount和maxfilecount。默认为false. // fileInput.option.overwriteInitial = false; // 是否要覆盖初始预览内容和标题设置 // } // fileInput.destroy();// 销毁文件输入控件并恢复到普通的本地文件输入 // fileInput.fileInput();// 加载图片显示 // // others(); // // picBtn(picPer, fileInput.option, id); //fileInput.option 控制审核后不能删除 // } catch (e) { // alert(e); // } // } // }); // } catch (e) { // alert(e); // } } var uploadKey=[]; //图片上传触发事件 function picevent(id,isGrid,obj){ //绑定事件 xin 2022-2-26 10:06:25 BootstrapFileInputOption(id).events(isGrid,obj); // if(typeof(myFresh)=="undefined") myFresh={}; // myFresh.mygrid=obj; // $('#'+id+'_up').on('fileuploaderror', function(event, data, msg) { // var temp=data; // // }).on('filesuccessremove', function(event, id) { // 使用缩略图删除按钮删除成功上传的缩略图后,会触发此事件 // var unid=$('#'+id ).find("img").attr("unid"); // var val=JSON.parse(unid); // var uuid=val.key.split(";")[0]; // var seq=val.key.split(";")[1]; // $.ajax({ // type:"POST", // dataType:'json', // url:'/attachment/deleteOwnerAttachment.do?type='+val.type+'&unid='+uuid+'&seq='+seq, // 删除路径 // success: function(data){ // var newUid=val.oldKey==""?"":val.oldKey.replace(";"+seq,""); // $('#'+val.filedId).val(newUid); // } // }); // // $.each(uploadKey,function(i,val) { // // if(val.md5==img_md5){ // // var uuid=val.key.split(";")[0]; // // var seq=val.key.split(";")[1]; // // $.ajax({ // // type:"POST", // // dataType:'json', // // url:'/attachment/deleteOwnerAttachment.do?type='+val.type+'&unid='+uuid+'&seq='+seq, // 删除路径 // // success: function(data){ // // var newUid=val.oldKey==""?"":val.oldKey.replace(";"+seq,""); // // $('#'+val.filedId).val(newUid); // // } // // }); // // } // // }); // // }).on('filepredelete', function(event, params) { // 在删除initialPreview内容集中的每个缩略图文件之前触发此事件 // event.stopImmediatePropagation(); // if(!confirm("您确定要删除吗?")){ // //处理不删除图片操作 // return false; // } // // }).on('filedeleted', function(event, key) { // 在删除initialPreview内容集中的每个缩略图文件之后触发此事件 // if(isGrid=='grid'){ // 格线 // try{ // if(myFresh.mygrid){ // var grid=myFresh.mygrid.id; // var obj=""; // grid.SetValue(myFresh.mygrid.row, myFresh.mygrid.col,obj,0); // grid.RefreshCell(myFresh.mygrid.row, myFresh.mygrid.col); // } // }catch(e){alert(e);} // }else{ // 面板 // var va =$('#'+id).val(); // va = va.replace(";"+key,""); // if(va.indexOf(";")<0) va=""; // $('#'+id).val(va); // panMain[panIndex].isChange =1; //解决110101上传后删除附件不成功,而出现多个序号的问题 // } // $('#'+id+'_up').fileinput({uuidkey:key}); // // }).on('filebatchuploadsuccess', function(event, data, previewId, index) { // 此事件仅在ajax上传且文件批量上传成功之后触发 // // get_filemd5sum(data,id); // // console.log("tmp.md5:"+tmp.md5); // // tmp.md5=$.md5(data.reader.result); // var tmp={}; // var oldKey=$('#'+id).val(); // 旧的值 // var newKey=data.response.uuid?data.response.uuid+";":""; // 新的值 // if(oldKey!=""){ // var keys=oldKey.split(";"); // for(var i=1;i0){ // // modeal.show(); // // params.modal.find(".file-zoom-content").find("img").hide(); // // } // }).on('filezoomshown', function(event, params) { // 在模态框已被用户看到之后触发此事件(将等待CSS转换完成) // $(".modal-backdrop").attr("class", ""); // $(".modal-content").css( "zIndex", 999999); // // }).on('filebrowse', function(event) { // 单击文件浏览按钮以打开文件选择对话框时触发此事件 // try{ // if(typeof(fileupload_config)=="undefined"){ // if(myFresh.mygrid){ // var grid=myFresh.mygrid.id; // if(grid.Cols[myFresh.mygrid.col].CanEdit==0){ // event.preventDefault=false; // return false; // } // } // }else{ // if(!fileupload_config.browseOnZoneClick){ // // if(typeof(event.preventDefault)!=="function") // event.preventDefault(); // // event.preventDefault=false; // // return false; // } // } // }catch(e){ // alert(e); // } // // }).on('fileuploaderror', function(event, data, msg) { // 此事件仅在ajax上传时触发,并且主要针对ajax上传时遇到上载或文件输入验证错误 // var form = data.form, files = data.files, extra = data.extra, // response = data.response, reader = data.reader; // }); } function get_filemd5sum(data, id) { var tmp = {}; var file = data.files[0]; var tmp_md5; var blobSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice, // file = this.files[0], chunkSize = 8097152, // Read in chunks of 2MB chunks = Math.ceil(file.size / chunkSize), currentChunk = 0, spark = new SparkMD5.ArrayBuffer(); var fileReader = data.reader; fileReader.onload = function(e) { // console.log('read chunk nr', currentChunk + 1, 'of', chunks); spark.append(e.target.result); // Append array buffer 追加数组缓冲器 currentChunk++; var md5_progress = Math.floor((currentChunk / chunks) * 100); console.log(file.name + " 正在处理,请稍等," + "已完成" + md5_progress + "%"); // var handler_info = document.getElementById("handler_info"); // var progressbar = document.getElementsByClassName("progressbar")[0]; // handler_info.innerHTML = file.name + " 正在处理,请稍等," + "已完成" + // md5_progress + "%" // progressbar.value = md5_progress; if (currentChunk < chunks) { loadNext(); } else { tmp.md5 = spark.end(); console.log("-------------tmp.md5:" + tmp.md5) var oldKey = $('#' + id).val(); // 旧的值 var newKey = data.response.uuid ? data.response.uuid : ""; // 新的值 if (oldKey != "") { var keys = oldKey.split(";"); for (var i = 1; i < keys.length; i++) { newKey = newKey.replace(";" + keys[i], ""); } } tmp.key = newKey; tmp.type = data.response.type; tmp.filedId = id; tmp.oldKey = oldKey; uploadKey.push(tmp); var unid = data.response.uuid ? data.response.uuid : ""; this.uuidkey = unid; $('#' + id).val(unid); if (myFresh.mygrid) { // 格线 var grid = myFresh.mygrid.id; var obj = data.response.path ? data.response.path : ""; grid.SetValue(myFresh.mygrid.row, myFresh.mygrid.col, obj, 0); grid.RefreshCell(myFresh.mygrid.row, myFresh.mygrid.col); } } }; fileReader.onerror = function() { console.warn('oops, something went wrong.'); }; function loadNext() { var start = currentChunk * chunkSize, end = ((start + chunkSize) >= file.size) ? file.size : start + chunkSize; fileReader.readAsArrayBuffer(blobSlice.call(file, start, end)); } loadNext(); } function others() { // 上传控件的一些控制 $(".file-footer-caption").css("display", "none"); $(".file-thumbnail-footer").css("height", "10px"); $(".glyphicon-download").css("padding-top", "6px"); $(".btn").css("padding", "0px"); $(".fileinput-remove").css("display", "none"); // 隐藏控件右上角的清除按钮(叉号) $(".glyphicon-move").css("display", "none"); // 隐藏控件的移动按钮 try { $(".file-caption-main").css("display", "none"); } catch (e) { alert(e); } } function getReturnValue(str) { if (window.ActiveXObject) { // IE window.returnValue = str; window.close(); } else { // 非IE if (window.opener) { window.opener.setValue(str); // 直接调用父页面的方法来操作处理 window.close(); } } } // 9 ,19控件授权 function authorize(unid,seq){ // parent.addTab('',9763,10,'wherePan=unid=\''+unid+'\' and seq='+seq); } function mylockFile(e){ let u = $(e).data("key"); if (u != null) { let s = u.split(";"); if (s.length == 2) { layerIndex = layer.open({ type: 2,//可传入的值有:0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)。 若你采用layer.open({type: 1})方式调用 shade: 0.1, title: "维护附件上传权限", //不显示标题 area: ['1300px', '650px'], //宽高 content: '/general/fileInputoa/uploadPromission.html?unid='+s[0]+'&seq='+s[1], cancel: function () { layer.closeAll(); }, success: function(){ } }); // parent.addTab('', 9763, 10, 'wherePan=unid=\'' + s[0] + '\' and seq=' + s[1]); } } } // 权限按钮属性显示 function picBtn(picPer,uploadObj,fieldid) { // var findObj = "#uploadDiv_" + fieldid + " .kv-file-remove"; // var delBtn = $(findObj); // 删除 // for (var i = 0; i < delBtn.length; i++) { // var dataKey = $(delBtn[i]).attr("data-key"); // for (var j = 0; j < picPer.length; j++) { // if ((dataKey == picPer[j].key && !picPer[j].isAllowDelete) // || !uploadObj.browseOnZoneClick) { //控制删除按钮在最终审核后,所有人都不能进行删除 // $(delBtn[i]).hide(); // } // } // } // var downBtn = $(".glyphicon-download"); // 下载 // for (var i = 0; i < downBtn.length; i++) { // var a = $(downBtn[i]).parent(); // var href = $(a).attr("href"); // if (href == null) // continue; // for (var j = 0; j < picPer.length; j++) { // if (href.indexOf(";" + picPer[j].key) >= 0) { // if (!picPer[j].isAllowDownload) { // $(a).hide(); // } // if (picPer[j].authBtn != "") { // $(a).before(picPer[j].authBtn) // } // } // } // } } function openNewDoc() { var flag = checkSession();// session失效后弹出登录框,flag为true时表示已经失效 if(flag){ return; } openByType($(this).attr("docType")); } function openByType(type) { try { if(type==undefined) type=$("#tpNewDoc").attr("docType"); parent.addTab('', formId, type); } catch (e) { alert(e); showWindow("/app" + spellPath + formId + "/" + type + "/index.jsp"); } } function openOldXlsImport(title,doccode){ //旧版本调用 try { var url = "/general/xlsImport.jsp"; url+="?title="+title+"&doccode="+doccode+"&formid="+formId+"&formType="+formType; parent.changFrame = inThisFrame; parent.addTab(formId + "数据导入管理", '', '', '', url); } catch (e) { window.open(url); } } $( function() { try{top.myFresh.formType=formType;top.myFresh.panel[top.tabindex]=formType;}catch(e){}//关闭页卡排除的窗体类型。 $("#loading").css("opacity", '0.8'); if (typeof (formId) != "undefined") { if (parent.getTabSelected!=undefined&&parent.getTabSelected().panel!=undefined&&parent.getTabSelected().panel("options").title.indexOf("加载中") != -1) { var title = $("title").html() + "--" + formId; parent.resetTabName(title); } } $("#tpNewDoc,#tpDocList").click(openNewDoc); $.getScript("/js/index/query.js"); // 加载查询js setTimeout( function() { closeLoading(); }, 400); $("#otherFormat").click(function(){ var flag = checkSession(); // session失效后弹出登录框,flag为true时表示已经失效 if(flag){ return; } var url = "/general/report.jsp?formId=" + formId + "&formType=" + formType; try { parent.addTab(formId + "报表格式管理", '', '', '', url); } catch (e) { window.open(url); } moreWindowClose(); // 2、3类型更多按钮的关闭事件 }); $("#importXls").click(function() { var url = "/general/xlsImport1.jsp"; var title = $('#title_top').html(); var doccode = $('#doccode').val(); doccode = (doccode != null ? doccode : ""); url += "?title=" + title + "&doccode=" + doccode + "&formid=" + formId + "&formType=" + formType; try { var xlsContent = layer.open({ type: 2, title: '', maxmin: false, skin: 'layui-layer-molv', shadeClose: true, //点击遮罩关闭层 area: ['700px', '350px'], content: url }); } catch (e) { openOldXlsImport(title, doccode); } }); $("#tpbuild").click( function() { var flag = checkSession();//session失效后弹出登录框,flag为true时表示已经失效 if(flag){ return; } var fid = $("#formid").val(); if (undefined == fid || fid == null || fid == "") { $.messager.alert("操作提示", "请输入功能号!","warning"); return; } try { parent.addTab("生成" + fid, "", "", "", "/buildv2.do?formID=" + fid); } catch (e) { } }); $("#tpselect").click( function() { // 选择按钮 var flag = checkSession(); // session失效后弹出登录框,flag为true时表示已经失效 if(flag){ return; } if (2 == formType || 20 == formType) { $(".simpleTree").find(".active").dblclick(); // 获取返回值在simple.tree.js文件执行 } else { try { mygrid.buttonClicked(); } catch (e) { } } }); $("#func").menu( { onShow : function() { setBackGournd4ie6("#func"); }, onHide : function() { hideBackGournd4ie6(); } }); $("#print").menu( { onShow : function() { setBackGournd4ie6("#print"); }, onHide : function() { hideBackGournd4ie6(); } }); // parent.openByFormId({formId:9802,formType:9901}); }); function setBackGournd4ie6(id) { var iframe = $("#bg4ie6"); if (null == iframe.html()) { iframe = $( "