/** * @方法描述:获取列表 * @param _tableId:列表对应的表格ID * @param _url:获取列表数据的url * @param _isSingleSelect:是否单选 * true单选 false多选 * @param _footPager:页面NEW的对象 * @param _queryParams:分页对象 * @param isColsThead:是否合并表头 * */ function getGridJsonList(_tableId, _url, _isSingleSelect, _footPager, _queryParams, _onLoadSuccess, isColsThead) { var footPager = _footPager; var _pageSize = 100; if (footPager.options.pageSize != 30) { _pageSize = footPager.options.pageSize; } var _pageNum = 1; if (footPager.options.pageNum > 1) { _pageNum = footPager.options.pageNum; } if (footPager.options.pageNum == 1) { footPager.ClearPage(); // 注意,每次检索数据库时,要调用此方法,否则可能造成分页位置混乱 } var footPage = $("#" + _tableId + "footPage"); if (footPage.size() == 0) { var footPageHtml = "
"; $("#" + _tableId).after(footPageHtml); } // JYC 2014 12 27 第列添加编号 var firstobj = $("#" + _tableId) .find("thead:first-child>tr>th:first-child"); if ($(firstobj).attr("name") != 'dgno') { if (isColsThead) { $(firstobj) .before( "序号"); } else { $(firstobj) .before( "序号"); } } $("#" + _tableId).datagrid( { url : _url, method : 'post', queryParams : _queryParams(), // 初始化查询条件对象 autoRowHeight : false, iconCls : 'icon-edit', // 图标 loadMsg : '请稍候,正在加载数据...', rownumbers : false, // 行号 nowrap : false, // striped : false, border : false, fit : false, // 自动大小 singleSelect : _isSingleSelect, // 是否可以多选行 pagination : false, // 分页 pageSize : _pageSize, pageNumber : _pageNum, fitColumns : true, method : 'post', view : myview, scrollbarSize:0, loadFilter : function(data) { var copts = $(this).datagrid('getColumnOption', 'dgno'); for (var i = 0; i < data.rows.length; i++) { if (copts != null) { // 计算编号 var tempIndex = (footPager.options.pageNum - 1) * footPager.options.pageSize; data.rows[i]["dgno"] = i + tempIndex + 1; } for ( var att in data.rows[i]) { if (data.rows[i][att] == null) { data.rows[i][att] = ""; } } } return data; }, onBeforeLoad : function(param) { footPager.options.pageSize = _pageSize; param.pageSize = footPager.options.pageSize; param.pageNum = footPager.options.pageNum; /* * $(this).find(".datagrid-header-rownumber").html('  序号'); * $(this).find(".datagrid-header-rownumber").css({ * 'taxt-align' : 'left' }); * $(this).find(".datagrid-cell-rownumber").css({ 'width' : * '40px' }); * $(this).find(".datagrid-header-rownumber").css({ 'width' : * '40px' }); */ }, onLoadSuccess : function(data) { // 设置总记录数 footPager.options.total = data.total; footPager.options.dataPanelID = _tableId; footPager.options.queryParams = _queryParams; footPager.InitPager(_tableId + "footPage", "right"); // var tempIndex = (footPager.options.pageNum - 1) * // footPager.options.pageSize; /* * $(this).parent().find(".datagrid-cell-rownumber").each(function() { * var rowIndex = tempIndex + parseInt($(this).text()); * $(this).text(rowIndex); }); */ /* * $(this).parent().find(".datagrid-header-rownumber").html('  序号'); * $(this).parent().find(".datagrid-header-rownumber").css({ * 'taxt-align' : 'left' }); * $(this).parent().find(".datagrid-cell-rownumber").css({ * 'width' : '40px' }); * $(this).parent().find(".datagrid-header-rownumber").css({ * 'width' : '40px' }); */ $(this).parent().find('.datagrid-body').height("auto"); $(this).parent().find('.datagrid-body').css("overflow-y", "hidden"); // jyc 2014-12-4 列头全部剧中 // $(this).parent().find('.datagrid-htable // div').css("text-align", "left"); $(this).parent().find( '.datagrid-htable div.datagrid-cell-c1-dgno').css( "text-align", "center"); // window.setTimeout(scrollToSelect, 500); if (_onLoadSuccess) { _onLoadSuccess(data); } $('.toggle-tooltip').tooltip({ position : 'top' }); }, rowStyler : function(index, row) { // if (idField != '-1' && idField != '' && idField) // { // if (eval("row." + idField) == selectId) // { // selectIndex = index; // window.setTimeout(function() // { // $('#' + _tableId).datagrid('checkRow', index); // }, 200); // } // } } }); $(window).on("resize", function() { $("#" + _tableId).datagrid('resize', { width : datagridResizeWidth }); }); } /* * 没有查询到记录提示 */ var myview = $ .extend( {}, $.fn.datagrid.defaults.view, { onAfterRender : function(target) { $.fn.datagrid.defaults.view.onAfterRender.call(this, target); var opts = $(target).datagrid('options'); var vc = $(target).datagrid('getPanel');// .children('div.datagrid-view'); vc.children('div.datagrid-empty').remove(); if (!$(target).datagrid('getRows').length) { var emptyMsgHtml = ""; emptyMsgHtml += " "; emptyMsgHtml += " "; emptyMsgHtml += " "; emptyMsgHtml += "
"; emptyMsgHtml += "
没有任何相关记录
"; emptyMsgHtml += "
"; var d = $( "
") .html(emptyMsgHtml).appendTo(vc); // var d = $('
').html(opts.emptyMsg).appendTo(vc); /* * d.css({ position : 'absolute', left : 0, top : * 60, width : '100%', textAlign : 'center' }); */ $(vc).css("height", 150); } else { $(vc).css("height", "auto"); } } }); /** * 搜索 * * @param tableId * @param tableParams * @param isClearPage */ function search_btn_OnClick(tableId, tableParams, isClearPage) { if (footPager != null && (isClearPage == null || isClearPage == true)) { footPager.ClearPage(); } $('#' + tableId).datagrid('load', tableParams()); $('.datagrid-body').height("auto"); $('.datagrid-body').css("overflow-y", "hidden"); } // 给查询条件输入框绑定onkeypress="tbx_OnKeyPressCallBack(this);"增加此方法 按回车则进行查询 function tbx_OnKeyPressCallBack(ev, callBackFunction) { var objEvt = $._data($(ev)[0], "events"); if (objEvt && objEvt["keyup"]) { /* * 修改人:强当安 修改时间:2015-12-21 * 已经绑定了keyup事件就不要再重复绑定,否则回多次执行keyup事件,导致后台查询执行多次。 */ } else { $(ev).keyup(function(e) { if (window.event) { e = window.event; } if (e.keyCode == 13) { if (callBackFunction) { callBackFunction(); } } }); } } // 给查询条件下拉绑定onchange="cmb_ChangeCallBack();"增加此方法 下拉选择后进行查询 function cmb_ChangeCallBack(ev, callBackFunction) { if (callBackFunction) { callBackFunction(); } } /** * 加载页面 * * @param url * 页面路径 */ function loadPageByForm(url) { var form = $("#frm_load"); if (form.size() == 0) { form = $("
"); form.attr('method', 'post'); form.appendTo("body"); } if (url.indexOf("?") > -1) { var paraArr = getURLParameterArray(url); if (paraArr != null) { for (var i = 0; i < paraArr.length; i++) { var eValue = paraArr[i].substr(paraArr[i].indexOf("=") + 1); var eName = paraArr[i].substr(0, paraArr[i].indexOf("=")); if (eName != null) { form.append(""); } } } url = url.substr(0, url.indexOf("?")); form.attr("action", url);// 重新存放连接地址 } else { form.attr("action", url);// 重新存放连接地址 } if (url != "") { showSubmitLoading("提示信息", "正在加载数据,请稍后", 10, 500, 100);// 显示 提交 提示 form.append(""); form.append(""); form.submit();// 提交表单 刷新页面 } } /** * 加载页面 * * @param url * 页面路径 */ function openNewPageByForm(url) { var form = $("#frm_load"); if (form.size() == 0) { form = $("
"); form.attr('method', 'post'); form.attr('target', '_blank'); form.appendTo("body"); } if (url.indexOf("?") > -1) { var paraArr = getURLParameterArray(url); if (paraArr != null) { for (var i = 0; i < paraArr.length; i++) { var eValue = paraArr[i].substr(paraArr[i].indexOf("=") + 1); var eName = paraArr[i].substr(0, paraArr[i].indexOf("=")); if (eName != null) { form.append(""); } } } url = url.substr(0, url.indexOf("?")); form.attr("action", url);// 重新存放连接地址 } else { form.attr("action", url);// 重新存放连接地址 } if (url != "") { // showSubmitLoading("提示信息", "正在加载数据,请稍后", 10, 500, 100);// 显示 提交 提示 form.append(""); form.append(""); form.submit();// 提交表单 刷新页面 } } /* * 获取url参数数组 jyc */ function getURLParameterArray(url) { var params = (url.substr(url.indexOf("?") + 1)).split("&"); return params; } /** * 初始化AJAX方法 * * @param url * 访问路径 * @param data * 参数 * @param async * (默认: true) 默认设置下,所有请求均为异步请求, * 如果需要发送同步请求,请将此选项设置为 false。 * 注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行 * @param dataType * 返回数据类型 * @param successFunction * 执行方法 * @param errorFunction * 错误执行方法 */ function initAjax(url, data, async, dataType, successFunction, errorFunction) { $.ajax({ type : 'POST', url : url, data : data, dataType : dataType, async : async, success : function(json) { if (successFunction) { successFunction(json); } }, error : function(XMLHttpRequest, textStatus, errorThrown) { // console.log(XMLHttpRequest); // console.log(textStatus); // console.log(errorThrown); if (errorFunction) { errorFunction(XMLHttpRequest, textStatus, errorThrown); } else { ModelWindow.msgbox('网络错误,请重试!', '温馨提示', null, null); } } }); } // 初始化上传文件方法 //myUploadOnFileComplete 自定义回调函数,可抛弃uploadOnFileComplete, function initUploadAllFile(fileId, queueID, ismulti, isAutoUpLoad, fileExt, fileDesc, imgPath, sizeLimit,myUploadOnFileComplete) { var sizeLimit = sizeLimit ? sizeLimit : 104857600; $("#" + queueID).next().html(""); var uploads = $("#" + fileId) .uploadify( { 'uploader' : baseUrl + 'resources/uploadify/scripts/uploadify.swf', 'script' : baseUrl + 'upload.uploadFile.action', 'cancelImg' : baseUrl + 'resources/uploadify/cancel.png', 'buttonImg' : baseUrl + (imgPath ? imgPath : 'resources/uploadify/select.jpg'), 'width' : 79, 'height' : 28, 'folder' : 'uploads', 'queueID' : queueID, 'auto' : false, 'multi' : ismulti, 'wmode' : 'transparent', 'sizeLimit' : sizeLimit, 'simUploadLimit' : 1, 'queueSizeLimit' : 1, 'fileExt' : fileExt, // 控制可上传文件的扩展名,启用本项时需同时声明fileDesc 'fileDesc' : fileDesc, // 出现在上传对话框中的文件类型描述 'fileDataName' : 'file', 'onUploadStart' : function(event, ID, fileObj, response, data) { // console.log("==onUploadStart"); }, 'onComplete' : function(event, ID, fileObj, response, data) { var obj = eval('(' + response + ')'); if ($('#div_UplodLoading').length > 0) { $('#div_UplodLoading').hide(); } var uploadFileName = obj.uploadFileName; var subFileName = ""; if (uploadFileName.length > 17) { subFileName = uploadFileName.substring( uploadFileName.indexOf(".") - 13, uploadFileName.indexOf(".")) + uploadFileName.substring( uploadFileName.indexOf("."), uploadFileName.length); } else { subFileName = uploadFileName; uploadFileName = ""; } $("#" + queueID).next().html( "" + subFileName + "上传成功!"); if(uploadOnFileComplete){ uploadOnFileComplete(fileId, obj, ismulti); } //自定义回调函数 if(myUploadOnFileComplete){ myUploadOnFileComplete(fileId, obj, ismulti); } }, 'onOpen' : function(event, ID, fileObj, response, data) { }, 'onSelectOnce' : function(event, data) { }, 'onAllComplete' : function(event, data) { var sizeLimit = $("#" + fileId).uploadifySettings( 'sizeLimit'); // 当所有文件上传完成后的操作 // $("#"+queueID).next().html("上传成功!"); }, 'onSelect' : function(event, ID, fileObj, response, data) { var fileType = fileObj.type; // 上传文件的类型(后缀名) fileType = fileType.toLowerCase(); var fileSize = fileObj.size; // 上传文件的实际大小 fileExt = fileExt.toLowerCase(); if (isAutoUpLoad) { if ((fileExt.indexOf(fileType) > -1 || fileExt .indexOf(".*") > -1) && fileSize <= sizeLimit) { // $($("#"+queueID).parent()).hide();//隐藏上传控件 $("#" + queueID).next().html(""); appendUplodLoading($("#" + queueID) .parent().parent(), "正在上传,请稍后……", -30, 20); $("#" + fileId).uploadifyUpload(); } else { $("#" + fileId).uploadifyCancel(ID); // 文件格式有误 if (fileExt.indexOf(fileType) == -1) { if (fileExt.indexOf(";") > -1) { showMsg('上传文件格式不正确!格式应该为:' + fileExt + ",其中一种", 1, 470, 50, ""); } else { if (fileExt.indexOf(".xls") > -1) { showMsg( '上传文件格式不正确!格式应该为:Microsoft Excel 97-2003 ' + fileExt, 1, 470, 40, ""); } else { showMsg('上传文件格式不正确!格式应该为:' + fileExt, 1, 470, 40, ""); } } } else { // 文件太大 var size = parseInt(sizeLimit / 1014 / 1014); showMsg('超过文件上传大小限制(' + size + 'M)!', 1, 470, 40, ""); } } } }, 'onClose' : function(queueData) { // console.log(queueData.filesSelected+'\n'+queueData.filesQueued+'\r\n'+queueData.filesReplaced+'\r\n'+queueData.filesCancelled+'\r\n'+ // queueData.filesErrored) } }); return uploads; } //采购申请所用的上传方法 带有单个附件删除方法 function initUploadAllFile_cgsq(fileId, queueID, ismulti, isAutoUpLoad, fileExt, fileDesc, imgPath, sizeLimit,myUploadOnFileComplete) { var sizeLimit = sizeLimit ? sizeLimit : 104857600; $("#" + queueID).next().html(""); var uploads = $("#" + fileId) .uploadify( { 'uploader' : baseUrl + 'resources/uploadify/scripts/uploadify.swf', 'script' : baseUrl + 'upload.uploadFile.action', 'cancelImg' : baseUrl + 'resources/uploadify/cancel.png', 'buttonImg' : baseUrl + (imgPath ? imgPath : 'resources/uploadify/select.jpg'), 'width' : 79, 'height' : 28, 'folder' : 'uploads', 'queueID' : queueID, 'auto' : false, 'multi' : ismulti, 'wmode' : 'transparent', 'sizeLimit' : sizeLimit, 'simUploadLimit' : 1, 'queueSizeLimit' : 1, 'fileExt' : fileExt, // 控制可上传文件的扩展名,启用本项时需同时声明fileDesc 'fileDesc' : fileDesc, // 出现在上传对话框中的文件类型描述 'fileDataName' : 'file', 'onUploadStart' : function(event, ID, fileObj, response, data) { // console.log("==onUploadStart"); }, 'onComplete' : function(event, ID, fileObj, response, data) { var obj = eval('(' + response + ')'); if ($('#div_UplodLoading').length > 0) { $('#div_UplodLoading').hide(); } var uploadFileName = obj.uploadFileName; var subFileName = ""; if (uploadFileName.length > 17) { subFileName = uploadFileName.substring( uploadFileName.indexOf(".") - 13, uploadFileName.indexOf(".")) + uploadFileName.substring( uploadFileName.indexOf("."), uploadFileName.length); } else { subFileName = uploadFileName; uploadFileName = ""; } $("#" + queueID).next().html( "" + subFileName + "上传成功!"); if(uploadOnFileComplete){ uploadOnFileComplete(fileId, obj, ismulti); } //自定义回调函数 if(myUploadOnFileComplete){ myUploadOnFileComplete(fileId, obj, ismulti); } }, 'onOpen' : function(event, ID, fileObj, response, data) { }, 'onSelectOnce' : function(event, data) { }, 'onAllComplete' : function(event, data) { var sizeLimit = $("#" + fileId).uploadifySettings( 'sizeLimit'); // 当所有文件上传完成后的操作 // $("#"+queueID).next().html("上传成功!"); }, 'onSelect' : function(event, ID, fileObj, response, data) { var fileType = fileObj.type; // 上传文件的类型(后缀名) fileType = fileType.toLowerCase(); var fileSize = fileObj.size; // 上传文件的实际大小 fileExt = fileExt.toLowerCase(); if (isAutoUpLoad) { if ((fileExt.indexOf(fileType) > -1 || fileExt .indexOf(".*") > -1) && fileSize <= sizeLimit) { // $($("#"+queueID).parent()).hide();//隐藏上传控件 $("#" + queueID).next().html(""); appendUplodLoading($("#" + queueID) .parent().parent(), "正在上传,请稍后……", -30, 20); $("#" + fileId).uploadifyUpload(); } else { $("#" + fileId).uploadifyCancel(ID); // 文件格式有误 if (fileExt.indexOf(fileType) == -1) { if (fileExt.indexOf(";") > -1) { showMsg('上传文件格式不正确!格式应该为:' + fileExt + ",其中一种", 1, 470, 50, ""); } else { if (fileExt.indexOf(".xls") > -1) { showMsg( '上传文件格式不正确!格式应该为:Microsoft Excel 97-2003 ' + fileExt, 1, 470, 40, ""); } else { showMsg('上传文件格式不正确!格式应该为:' + fileExt, 1, 470, 40, ""); } } } else { // 文件太大 var size = parseInt(sizeLimit / 1014 / 1014); showMsg('超过文件上传大小限制(' + size + 'M)!', 1, 470, 40, ""); } } } }, 'onClose' : function(queueData) { // console.log(queueData.filesSelected+'\n'+queueData.filesQueued+'\r\n'+queueData.filesReplaced+'\r\n'+queueData.filesCancelled+'\r\n'+ // queueData.filesErrored) } }); return uploads; } var tuPianGeShu = 0;// 图片个数 // 初始化上传文件方法 function initUploadAllFile_new(fileId, queueID, ismulti, isAutoUpLoad, fileExt, fileDesc, imgPath, sizeLimit,myUploadOnFileComplete) { var sizeLimit = sizeLimit ? sizeLimit : 104857600; $("#" + queueID).next().html("请选择文件"); var uploads = $("#" + fileId) .uploadify( { 'uploader' : baseUrl + 'resources/uploadify/scripts/uploadify.swf', 'script' : baseUrl + 'upload.uploadFile.action', 'cancelImg' : baseUrl + 'resources/uploadify/cancel.png', 'buttonImg' : baseUrl + (imgPath ? imgPath : 'resources/uploadify/select.jpg'), 'width' : 79, 'height' : 28, 'folder' : 'uploads', 'queueID' : queueID, 'auto' : false, 'multi' : ismulti, 'wmode' : 'transparent', 'sizeLimit' : sizeLimit, 'simUploadLimit' : 1, 'queueSizeLimit' : 999, 'fileExt' : fileExt, // 控制可上传文件的扩展名,启用本项时需同时声明fileDesc 'fileDesc' : fileDesc, // 出现在上传对话框中的文件类型描述 'fileDataName' : 'file', 'onUploadStart' : function(event, ID, fileObj, response, data) { // console.log("==onUploadStart"); }, 'onComplete' : function(event, ID, fileObj, response, data) { var obj = eval('(' + response + ')'); if ($('#div_UplodLoading').length > 0) { $('#div_UplodLoading').hide(); } // console.log(response); var uploadFileName = obj.uploadFileName; var subFileName = ""; if (uploadFileName.length > 17) { subFileName = uploadFileName.substring(uploadFileName.indexOf(".") - 13,uploadFileName.indexOf(".")) + uploadFileName.substring(uploadFileName.indexOf("."),uploadFileName.length); } else { subFileName = uploadFileName; uploadFileName = ""; } var html = ""; html += $("#" + queueID).html(); if (!isTuPian(obj.filePath)) { html += "
"; html += "
"; html += "" + subFileName + ""; html += ""; html += ""; } else { if (tuPianGeShu == 0) { html += "
"; } tuPianGeShu++; html += "
"; html += ""; html += " "; html += ""; } html += ""; html += ""; html += "
"; $("#" + queueID).html(html); if(uploadOnFileComplete){ uploadOnFileComplete(fileId, obj, ismulti); } //自定义回调函数 if(myUploadOnFileComplete){ myUploadOnFileComplete(fileId, obj, ismulti); } }, 'onOpen' : function(event, ID, fileObj, response, data) { }, 'onSelectOnce' : function(event, data) { }, 'onAllComplete' : function(event, data) { var sizeLimit = $("#" + fileId).uploadifySettings( 'sizeLimit'); // 当所有文件上传完成后的操作 // $("#"+queueID).next().html("上传成功!"); }, 'onSelect' : function(event, ID, fileObj, response, data) { var fileType = fileObj.type; // 上传文件的类型(后缀名) fileType = fileType.toLowerCase(); var fileSize = fileObj.size; // 上传文件的实际大小 fileExt = fileExt.toLowerCase(); if (isAutoUpLoad) { if ((fileExt.indexOf(fileType) > -1 || fileExt .indexOf(".*") > -1) && fileSize <= sizeLimit) { // $($("#"+queueID).parent()).hide();//隐藏上传控件 $("#" + queueID).next().html(""); appendUplodLoading($("#" + queueID) .parent().parent(), "正在上传,请稍后……", -30, 20); $("#" + fileId).uploadifyUpload(); } else { $("#" + fileId).uploadifyCancel(ID); // 文件格式有误 console.log(fileExt+"=="+fileType); if (fileExt.indexOf(fileType) == -1) { if (fileExt.indexOf(";") > -1) { ModelWindow .msgbox( '上传文件格式不正确!格式应该为:' + fileExt + ',其中一种', '温馨提示', null, null); return false; } else { if (fileExt.indexOf(".xls") > -1) { ModelWindow.msgbox( '上传文件格式不正确!格式应该为:Microsoft Excel 97-2003' + fileExt, '温馨提示', null, null); return false; } else { ModelWindow.msgbox( '上传文件格式不正确!格式应该为:' + fileExt, '温馨提示', null, null); return false; } } } else { // 文件太大 var size = parseInt(sizeLimit / 1014 / 1014); console.log(fileSize+"=="+size); ModelWindow.msgbox('超过文件上传大小限制(' + size + 'M)', '温馨提示', null, null); return false; } } } }, 'onClose' : function(queueData) { // console.log(queueData.filesSelected+'\n'+queueData.filesQueued+'\r\n'+queueData.filesReplaced+'\r\n'+queueData.filesCancelled+'\r\n'+ // queueData.filesErrored) } }); return uploads; } //移除附件和隐藏的input function deletefu1(obj) { $(".showAjaxLoading").remove(); $(obj).parent().parent().prev().prev().find('input[type="hidden"]').remove(); $(obj).parent().remove(); } // 移除附件或者图片 function deletefu(obj) { $(".showAjaxLoading").remove(); $(obj).parent().remove(); } /** * @方法描述:上传文件时,在指定空件内,显示正在加载中控件 * @param eventObj : * 元素对象,追加对象的位置 * @param mesg : * 加载时显示的消息 * @param _top : * 距离参照物的顶边的距离 * @param _left : * 距离参照物的左边的距离 */ function appendUplodLoading(eventObj, mesg, _top, _left) { if ($('#div_UplodLoading').length > 0) { $('#div_UplodLoading').remove(); } var uplodLoadingPanel = document.createElement("div"); uplodLoadingPanel.id = "div_UplodLoading"; uplodLoadingPanel.className = "showAjaxLoading"; // uplodLoadingPanel.style.zIndex = "9000"; // uplodLoadingPanel.style.position = "absolute"; var modalHtmlStr = ""; modalHtmlStr += "
"; modalHtmlStr += "" + mesg + ""; uplodLoadingPanel.innerHTML = modalHtmlStr; // console.log($(eventObj)); $(eventObj).append(uplodLoadingPanel); /* * if (_left != undefined && _left != "") { * $("#div_ShopLoading").css("left", $(eventObj).offset().left + _left + * "px"); } else { $("#div_ShopLoading").css("left", * $(eventObj).offset().left - 90); } if (_top != undefined && _top != "") { * $("#div_ShopLoading").css("top", $(eventObj).offset().top + _top + "px"); } * else { $("#div_ShopLoading").css("top", $(eventObj).offset().top - 80); } */ $('#div_UplodLoading').css("display", "block"); $('#div_UplodLoading').on("click", function() { // hideAjaxLoading(); $('.form-group').show(); $('#div_UplodLoading').hide(); }); } /** * @方法描述:上传文件时,判断文件是否是图片 * @param filepath : * 上传文件的路径 */ function isTuPian(filepath) { var isTuPian = false; // 为了避免转义反斜杠出问题,这里将对其进行转换 var re = /(\\+)/g; var filename = filepath.replace(re, "#"); // 对路径字符串进行剪切截取 var one = filename.split("#"); // 获取数组中最后一个,即文件名 var two = one[one.length - 1]; // 再对文件名进行截取,以取得后缀名 var three = two.split("."); // 获取截取的最后一个字符串,即为后缀名 var last = three[three.length - 1]; // 添加需要判断的后缀名类型 var tp = "jpg,gif,bmp,JPG,GIF,BMP"; // 返回符合条件的后缀名在字符串中的位置 var rs = tp.indexOf(last); // 如果返回的结果大于或等于0,说明包含允许上传的文件类型 if (rs >= 0) { isTuPian = true; } return isTuPian; } //新定义的上传 function myUplpadFile(fileId,queueId,ismulti,isAutoUpLoad,fileExt,fileDesc, imgPath, sizeLimit,myUploadOnFileComplete){ var sizeLimit = sizeLimit ? sizeLimit : 104857600; $("#" + queueId).next().html("请选择文件"); $("#"+fileId).uploadify({ 'uploader' : baseUrl + 'resources/uploadify/scripts/uploadify.swf', 'script' : baseUrl + 'upload.uploadFile.action', // 'scriptData' : {'savePath':''}, 'cancelImg' : baseUrl + 'resources/uploadify/cancel.png', 'buttonImg' : baseUrl + (imgPath ? imgPath : 'resources/uploadify/select.jpg'), // 'width' : 79, // 'height' : 28, 'folder' : 'uploads', 'queueID' : queueId, 'auto' : false, 'multi' : ismulti, 'fileDesc' : fileDesc, //出现在上传对话框中的文件类型描述 'fileExt' : fileExt, //控制可上传文件的扩展名,启用本项时需同时声明fileDesc 'fileDataName' : 'file', 'onComplete' : function(event, ID, fileObj, response, data) { //alert("wznrid="+wznrid+"&tupiandizhi="+savePath+"/"+objmsg.savefilename); var obj = eval('(' + response + ')'); $('#div_UplodLoading').hide(); var uploadFileName = obj.uploadFileName; //自定义回调函数 if(myUploadOnFileComplete){ myUploadOnFileComplete(fileId, obj, ismulti); } }, 'onCancel':function(){ $(".showAjaxLoading").remove(); }, 'onAllComplete':function(event,data) { //当所有文件上传完成后的操作 if(data.errors==0){ //ModelWindow.msgbox('上传成功', '温馨提示', null, null); //refreshParentPage(); }else{ //alert("上传照片失败"); } }, 'onSelect' : function(event, ID, fileObj, response,data) { var fileType = fileObj.type; // 上传文件的类型(后缀名) fileType = fileType.toLowerCase(); var fileSize = fileObj.size; // 上传文件的实际大小 fileExt = fileExt.toLowerCase(); if (isAutoUpLoad) { if ((fileExt.indexOf(fileType) > -1 || fileExt.indexOf(".*") > -1) && fileSize <= sizeLimit) { // $($("#"+queueID).parent()).hide();//隐藏上传控件 $("#" + queueId).next().html(""); appendUplodLoading($("#" + queueId), "正在上传,请稍后……",-30, 20); $("#" + fileId).uploadifyUpload(); } else { $("#" + fileId).uploadifyCancel(ID); // 文件格式有误 // console.log(fileExt+"=="+fileType); if (fileExt.indexOf(fileType) == -1) { if (fileExt.indexOf(";") > -1) { ModelWindow .msgbox('上传文件格式不正确!格式应该为:'+ fileExt+ ',其中一种','温馨提示', null, null); return false; } else { if (fileExt.indexOf(".xls") > -1) { ModelWindow.msgbox('上传文件格式不正确!格式应该为:Microsoft Excel 97-2003'+ fileExt,'温馨提示', null, null); return false; } else { ModelWindow.msgbox('上传文件格式不正确!格式应该为:'+ fileExt,'温馨提示', null, null); return false; } } } else { // 文件太大 var size = parseInt(sizeLimit / 1014 / 1014); // console.log(fileSize+"=="+size); ModelWindow.msgbox('超过文件上传大小限制(' + size+ 'M)', '温馨提示', null, null); return false; } } } } }); } function initPicturesView(initPicturesDivId) { var galley = document.getElementById(initPicturesDivId); var viewer = new Viewer(galley, { url : 'data-original', /*shown : function(){ alert(1); },*/ toolbar : { zoomIn : 4, zoomOut : 4, oneToOne : 4, reset : 4, prev : 4, play : { show : 4, size : 'large', }, next : 4, rotateLeft : 4, rotateRight : 4, flipHorizontal : 4, flipVertical : 4, download : function() { var a = document.createElement('a'); a.href = viewer.image.src; a.download = viewer.image.alt; document.body.appendChild(a); a.click(); document.body.removeChild(a); } } }); $(document).on("click",".viewer-canvas",function(){ viewer.hide(); }); return viewer; } //文件限制 mime var acceptFileType = { image : { title : 'Images', // 文字描述 extensions : 'gif,jpg,jpeg,bmp,png', // 允许的文件后缀,不带点,多个用逗号分割。 mimeTypes : 'image/*' // 多个用逗号分割。 }, pdf : { title : 'PDF', // 文字描述 extensions : 'pdf', // 允许的文件后缀,不带点,多个用逗号分割。 mimeTypes : 'application/pdf' // 多个用逗号分割。 }, excel : { title : 'EXCEL', // 文字描述 extensions : 'xls,xlsx', // 允许的文件后缀,不带点,多个用逗号分割。 mimeTypes : 'application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' // 多个用逗号分割。 }, word : { title : 'WORD', // 文字描述 extensions : 'docx,doc', // 允许的文件后缀,不带点,多个用逗号分割。 mimeTypes : 'application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document' // 多个用逗号分割。 }, yaSuoBao : { title : '压缩包', // 文字描述 extensions : 'zip,rar', // 允许的文件后缀,不带点,多个用逗号分割。 mimeTypes : 'application/x-zip-compressed,application/x-rar-compressed' // 多个用逗号分割。 }, video : { title : '视频文件', // 文字描述 extensions : 'mp4,ogg,webm,avi,3gp,flv', // 允许的文件后缀,不带点,多个用逗号分割。 mimeTypes : 'video/mp4,audio/ogg,video/webm,video/x-msvideo,video/3gpp,video/x-flv' // 多个用逗号分割。video/x-msvideo,video/3gpp }, pdfOrYaSuoBao : { title : 'PDF或压缩包', // 文字描述 extensions : 'pdf,zip,rar', // 允许的文件后缀,不带点,多个用逗号分割。 mimeTypes : 'application/pdf,application/x-zip-compressed,application/x-rar-compressed' // 多个用逗号分割。 }, all : { title : '所有文件', // 文字描述 extensions : '*', // 允许的文件后缀,不带点,多个用逗号分割。 mimeTypes : '*' // 多个用逗号分割。 } }; acceptFileType.all={ title : '所有文件', // 文字描述 extensions : acceptFileType.image.extensions+","+acceptFileType.pdf.extensions+","+acceptFileType.excel.extensions+","+acceptFileType.word.extensions+","+acceptFileType.yaSuoBao.extensions+","+acceptFileType.video.extensions+","+acceptFileType.pdfOrYaSuoBao.extensions, // 允许的文件后缀,不带点,多个用逗号分割。 mimeTypes : acceptFileType.image.mimeTypes+","+acceptFileType.pdf.mimeTypes+","+acceptFileType.excel.mimeTypes+","+acceptFileType.word.mimeTypes+","+acceptFileType.yaSuoBao.mimeTypes+","+acceptFileType.video.mimeTypes+","+acceptFileType.pdfOrYaSuoBao.mimeTypes // 多个用逗号分割。 }; /** * 文件上传 * @author 强子 * * @param uploadObj * var uploadObj={ dndId: 容器ID, pickid: 上传按钮ID, filePathName: 文件路径提交input name, fileTypeObject: 文件类型, fileNumLimit: 默认最多选择1个文件, fileSingleSizeLimit: 单个文件大小 单位M 默认50M, fileSizeLimit: 所有文件大小 单位M 默认1G, uploadStart: function(file){} // 某个文件开始上传前触发,一个文件只会触发一次。 "fileId:"+file.id+" fileName:"+file.name, startUpload: function(){} // 当开始上传流程时触发,多个文件上传只执行一次。, uploadSuccess: function(file,result){} 每个文件上次成功后回调方法 "fileId:"+file.id+" fileName:"+file.name+" filePath:"+result.filePath, uploadError: function(file,reason){} // 文件上传失败,显示上传出错。 "fileId:"+file.id+" fileName:"+file.name reason 出错的code, uploadComplete: function(file){} // 完成上传完了,成功或者失败, uploadFinished: function(){} // 当所有文件上传结束时触发, } */ function initUploadFile(uploadObj) { if (!uploadObj.fileNumLimit) uploadObj.fileNumLimit = 1; // 默认最多选择1个文件 if (!uploadObj.fileSizeLimit) uploadObj.fileSizeLimit = 1024 * 1024 * 1024; // 默认1G else uploadObj.fileSizeLimit = 1024 * 1024 * uploadObj.fileSizeLimit; // 单位M if (!uploadObj.fileSingleSizeLimit) uploadObj.fileSingleSizeLimit = 1024 * 1024 * 50; // 默认50M else uploadObj.fileSingleSizeLimit = 1024 * 1024 * uploadObj.fileSingleSizeLimit; // 单位M var fileBtn = $('#' + uploadObj.pickid), dnd = $('#' + uploadObj.dndId); var tempUrl = 'upload.uploadFile.action?1=1'; if(uploadObj.params){ $.each(uploadObj.params,function(k,v){ // console.log(k+"=="+v); tempUrl += "&" + k + "=" + v; }); console.log("initUploadFile==" + tempUrl); } // 初始化Web Uploader var uploader = WebUploader.create({ // 指定Drag And Drop拖拽的容器,如果不指定,则不启动。 dnd : '#' + uploadObj.dndId, // 默认值:false,是否禁掉整个页面的拖拽功能,如果不禁用,图片拖进来的时候会默认被浏览器打开。 disableGlobalDnd : false, // 指定监听paste事件的容器,如果不指定,不启用此功能。此功能为通过粘贴来添加截屏的图片。建议设置为document.body. paste : '#' + uploadObj.dndId, // 选完文件后,是否自动上传。 auto : true, // swf文件路径 swf : baseUrl + 'resources/webuploader/Uploader.swf', // 文件接收服务端。 server : baseUrl + tempUrl, formData:{ "fileTypeTitle" : uploadObj.fileTypeObject.title, "fileTypeExtensions" : uploadObj.fileTypeObject.extensions, "fileTypeMimeTypes" : uploadObj.fileTypeObject.mimeTypes }, // 选择文件的按钮。可选。 // 内部根据当前运行是创建,可能是input元素,也可能是flash. pick : '#' + uploadObj.pickid, // 指定接受哪些类型的文件。 由于目前还有ext转mimeType表,所以这里需要分开指定。 accept : uploadObj.fileTypeObject, // 配置生成缩略图的选项。 thumb : { width : 120, height : 120, // 图片质量,只有type为`image/jpeg`的时候才有效。 quality : 70, // 是否允许放大,如果想要生成小图的时候不失真,此选项应该设置为false. allowMagnify : true, // 是否允许裁剪。 crop : true, // 为空的话则保留原有图片格式。 // 否则强制转换成指定的类型。 type : 'image/jpeg' }, // [可选] [默认值:3] 上传并发数。允许同时最大上传进程数。 threads : 5, // [可选] [默认值:'file'] 设置文件上传域的name。 fileVal : 'file', // 验证文件总数量, 超出则不允许加入队列。 fileNumLimit : uploadObj.fileNumLimit, // 默认 50M // [可选] [默认值:undefined] 验证文件总大小是否超出限制, 超出则不允许加入队列。 fileSizeLimit : uploadObj.fileSizeLimit, // 默认1G // [可选] [默认值:undefined] 验证单个文件大小是否超出限制, 超出则不允许加入队列。单位:字节,1024字节=1KB // 1024KB=1M fileSingleSizeLimit : uploadObj.fileSingleSizeLimit, // 默认 50M // {Boolean} [可选] [默认值:undefined] 去重, 根据文件名字、文件大小和最后修改时间来生成hash Key. duplicate : false }); // 添加鼠标悬浮时出现删除文件按钮 $(document).on("mouseover", "#"+ uploadObj.dndId+" .uploader-file", function() { $(this).find(".filetopbar").slideDown(); }); // 添加鼠标移出时隐藏删除文件按钮 $(document).on("mouseleave", "#"+ uploadObj.dndId+" .uploader-file", function() { $(this).find(".filetopbar").slideUp(); }); // 添加图片点击事件 var viewer=undefined; var prevImgs=undefined; $(document).on("click", "#"+ uploadObj.dndId+" img",function() { var uploadImg_dowebok =$("#uploadImg_dowebok"+ uploadObj.dndId); var imgs=dnd.find(".thumbnail>img").clone(); var nowImgs=$("
").append(imgs).html(); var isInitPicturesView=false; console.log(prevImgs); console.log(nowImgs); if(!prevImgs) { prevImgs=nowImgs; isInitPicturesView=true; } if(prevImgs!=nowImgs) { prevImgs=nowImgs; isInitPicturesView=true; } console.log(isInitPicturesView); if (isInitPicturesView) { if (uploadImg_dowebok.size() > 0) { uploadImg_dowebok.empty(); } else { uploadImg_dowebok = $("