123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895 |
- var web = {};
- var btns = [];
- var dictMap = {};
- var paramMap = {};
- var loginuser = {};
- $(document).ready(function () {
- //按钮权限
- if (web.getUrlVars("menuId")) {
- $.post(base + "/sysRoleBtn/getRoleBtns", {menuId: web.getUrlVars("menuId")}, function (json) {
- if (json.data) {
- $.each(json.data, function (id, item) {
- btns.push(item.btn_code);
- });
- web.hideBtns();
- }
- });
- } else {
- btns=parent.btns;
- web.hideBtns();
- }
- //查询-更多
- $('#btn-more').on('click', function (e) {
- $('.query-more').toggle();
- if ($('.query-more').css('display') == 'none') {
- $(this).html('更多');
- } else {
- $(this).html('隐藏');
- }
- });
- //table 双击单击添加样式
- $(".layui-table").on('dblclick','tr',function(){
- $(this).addClass("selected");
- $(this).siblings().removeClass("selected");
- });
- $(".layui-table").on('click','tr',function(){
- $(this).addClass("selected");
- $(this).siblings().removeClass("selected");
- });
-
- $(".layui-colla-content .form-group:last").css("margin-bottom","0");
- });
- /**
- * DataTable公用属性
- */
- $.extend(true,$.fn.dataTable.defaults, {
- "dom": '<"top">rt<"bottom"flip><"clear">',
- "autoWidth": true, // 自适应宽度
- "stateSave": true, // 刷新后保存页数
- "ordering" :false,
- "searching": false, // 本地搜索
- "info": true, // 控制是否显示表格左下角的信息
- "stripeClasses": ["odd", "even"], // 为奇偶行加上样式,兼容不支持CSS伪类的场合
- "pagingType": "simple_numbers", // 分页样式 simple,simple_numbers,full,full_numbers
- "language": { // 国际化
- "url":base+'/static/web/frame/jquery/language.json'
- },
- "serverSide":true, //开启服务器模式
- "deferRender": true, // 当处理大数据时,延迟渲染数据,有效提高Datatables处理能力
- "sServerMethod" : "POST"
- });
- /**
- * form赋值
- */
- web.toForm = function (form,data) {
- if(data){
- $.each(data,function(key,value){
- if($('#'+key)){
- $('#'+key).val(web.nullToSpace(value));
- }
- });
- }
- form.render('select');
- }
- /**
- * flag 当子窗口取不到是否不取父窗口的值,默认取父窗口
- */
- web.getUrlVars = function (name, flag) {
- var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
- var r = window.location.search.substr(1).match(reg);
- //modify by zhengwei
- if (flag) {
- if (r == null) {
- r = window.parent.location.search.substr(1).match(reg);
- }
- }
- if (r != null) return decodeURI(r[2]);
- return null;
- };
- //把null转为空
- web.nullToSpace = function (param) {
- if (param == null || typeof param == 'undefined') {
- param = '';
- }
- return param;
- }
- //ajax post
- web.ajaxPost = function (url, params, callback) {
- var index = null;
- return $.ajax({
- type: "POST",
- url: url,
- data: params,
- dataType: "json",
- timeout: 10000,
- beforeSend: function () {
- index = layer.load("加载中...");
- },
- success: function (data) {
- if (index) {
- layer.close(index);
- }
- if (typeof callback == 'function') {
- callback(data);
- }
- },
- error: function (XMLHttpRequest, textStatus, errorThrown) {
- if (index) {
- layer.close(index);
- }
- if (XMLHttpRequest.responseText && XMLHttpRequest.responseText.indexOf("<!DOCTYPE html>") != -1) {
- layer.confirm('登录超时,请重新登录', {
- btn: ['确定', '取消'] //按钮
- }, function () {
- location.href = base + "/admin";
- });
- } else {
- switch (XMLHttpRequest.status) {
- case(500):
- layer.msg("服务异常");
- break;
- case(408):
- layer.msg("请求超时");
- break;
- case(403):
- layer.msg("无权限执行此操作");
- break;
- case(0):
- layer.msg("网络连接异常");
- break;
- default:
- layer.msg("请求失败,请联系管理人员");
- }
- }
- },
- complete: function (XHR, TS) {
- XHR = null;
- }
- });
- };
- //保留两位小数
- web.toDecimal = function (x) {
- var f = parseFloat(x);
- if (isNaN(f)) {
- return;
- }
- f = Math.round(x * 100) / 100;
- return f;
- }
- //table 获取选中Ids
- web.getIds = function (o, str) {
- var obj = o.find('tbody tr td:first-child input[type="checkbox"]:checked');
- var list = [];
- obj.each(function (index, elem) {
- list.push($(elem).attr(str));
- });
- return list;
- }
- //table 获取当前页Ids
- web.getAllIds = function (o, str) {
- var obj = o.find('tbody tr td:first-child input[type="checkbox"]');
- var list = [];
- obj.each(function (index, elem) {
- list.push($(elem).attr(str));
- });
- return list;
- }
- //table 获取选中行数据
- web.getRows = function (table, o) {
- var obj = o.find('tbody tr td:first-child input[type="checkbox"]:checked');
- var list = [];
- obj.each(function (index, elem) {
- list.push(table.row($(elem).parents("tr")).data());
- });
- return list;
- }
- // table rows获取指定属性值集合
- web.getPropValueFromRows = function (rows, fieldName) {
- var data = [];
- for (var i = 0; i < rows.length; i++) {
- data.push(rows[i][fieldName]);
- }
- return data;
- };
- //table 按钮权限
- web.hideTableBtns = function (table) {
- $("" + table + " a").each(function (i) {
- if ($(this).attr("code")) {
- if (!btns.contains($(this).attr("code"))) {
- $(this).remove();
- }
- }
- });
- }
- //按钮权限
- web.hideBtns = function () {
- $(".layui-btn").each(function (i) {
- if ($(this).attr("code")) {
- if (!btns.contains($(this).attr("code"))) {
- if($(this).parent().children().length==1){
- $(this).parent().remove();
- }else{
- $(this).remove();
- }
- }
- }
- });
- }
- //日期格式化
- Date.prototype.format = function (fmt) {
- var o = {
- "M+": this.getMonth() + 1, //月份
- "d+": this.getDate(), //日
- "h+": this.getHours(), //小时
- "m+": this.getMinutes(), //分
- "s+": this.getSeconds(), //秒
- "q+": Math.floor((this.getMonth() + 3) / 3), //季度
- "S": this.getMilliseconds() //毫秒
- };
- if (/(y+)/.test(fmt))
- fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
- for (var k in o)
- if (new RegExp("(" + k + ")").test(fmt))
- fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
- return fmt;
- }
- //数组移除
- Array.prototype.removeAt = function (Index) {
- if (isNaN(Index) || Index > this.length) {
- return false;
- }
- for (var i = 0, n = 0; i < this.length; i++) {
- if (this[i] != this[Index]) {
- this[n++] = this[i]
- }
- }
- this.length -= 1
- }
- //数组是否包含某项
- Array.prototype.contains = function (needle) {
- for (i in this) {
- if (this[i] == needle)
- return true;
- }
- return false;
- }
- /**
- * 根据字典类型获取items
- * @param d_key
- * @returns
- */
- web.getDictMap = function (key) {
- if (dictMap[key]) {
- return dictMap[key];
- }
- };
- /**
- * 根据系统参数
- * @param code
- * @returns
- */
- web.getParam = function (code) {
- if (paramMap[code]) {
- return paramMap[code];
- } else {
- return "";
- }
- };
- /**
- * 根据代码和字典类型获取下拉选项的名称item{value:'1',label:'测试'}
- * @param d_key
- * @param code
- * @returns
- */
- web.getDictVal = function (key, code) {
- var items = dictMap[key];
- if (items && items.length > 0) {
- for (var i = 0; i < items.length; i++) {
- item = items[i];
- if (item.dict_code == code) {
- return item.dict_name;
- break;
- }
- }
- }
- return "";
- }
- /**
- * 弹出框 弹出界面必须包含 data
- * @param url
- * @param title
- * @param width
- * @param hight
- * @param id
- * @param name
- * @param callback
- * @returns
- */
- web.popWin = function (url, title, width, hight,callback,flag) {
- layer.open({
- title: [title],
- type: 2,
- content: url,
- area: [width + 'px', hight + 'px'],
- shade: 0.4,
- skin: 'layer-popup',
- btn: ['确定', '关闭'],
- yes: function (index) {
- var res = window["layui-layer-iframe" + index].getData();
- if(!res){
- layer.msg("请选择记录");
- return;
- }
- if(res.length<1){
- layer.msg("请选择记录");
- return;
- }
- if(!flag&&res.length!=1){
- layer.msg("只能选择一条记录")
- return;
- }
- if (typeof callback === 'function') {
- if(!flag){
- callback(res[0]);
- }else{
- callback(res);
- }
- }
- layer.close(index);
- }
- });
- }
- /**
- * 设置复选框的值
- */
- web.setCheckBoxVal = function (id, v) {
- var obj = document.getElementById(id);
- if (obj) {
- obj.checked = v;
- }
- }
- /**
- * 获取复选框的值
- */
- web.getCheckBoxVal = function (id) {
- var obj = document.getElementById(id);
- if (obj && obj.checked) {
- return 1;
- } else {
- return 0;
- }
- }
- //日期区间
- web.daterange = function (laydate,startFieldId, endFieldId, format) {
- var start = {
- elem: '#'+startFieldId,
- trigger: 'click',
- done: function(value, date){
- end.min = value; //开始日选好后,重置结束日的最小日期
- }
- };
- laydate.render(start);
- var end = {
- elem: '#'+endFieldId,
- trigger: 'click',
- done: function(value, date){
- start.max = value; //结束日选好后,重置开始日的最大日期
- }
- };
- laydate.render(end);
- }
- //下拉选择树
- //objId 点击的inputID
- //treeId 树形ID
- //url 获取数据url地址
- //params 参数
- //check 是否多选
- web.treeSelect = function (objId, treeId, url,params,check) {
- $('#'+objId+'').on('click',function(){
- var obj = $(this);
- var objOffset = $(this).offset();
- var setting = {
- check: {
- enable: check,
- chkboxType: {"Y":"", "N":""}
- },
- data: {
- simpleData: {
- enable: true
- }
- },
- view: {
- showIcon: false,
- showLine: false
- },
- callback: {
- onCheck: onCheck,
- onClick: zTreeOnClick
- }
- };
- //判断树是否要重新加载
- if($('#'+treeId+' li').length>0){
- $('#'+treeId+'').parent().css({left:objOffset.left + "px", top:objOffset.top + obj.outerHeight() + "px"}).slideDown("fast");
- $(document).bind("mousedown", onBodyDown);
- }else{
- web.ajaxPost(base+url,params,function(json){
- $.fn.zTree.init($('#'+treeId+''), setting, json.data);
- $('#'+treeId+'').parent().css({left:objOffset.left + "px", top:objOffset.top + obj.outerHeight() + "px"}).slideDown("fast");
- $(document).bind("mousedown", onBodyDown);
- });
- }
-
- function onBodyDown(event) {
- if (!(event.target.id == obj.id || event.target.id == $('#'+treeId+'').parent().id || $(event.target).parents(".treeContent").length>0)) {
- hideMenu();
- }
- }
- //选择事件
- function onCheck(e, treeId, treeNode) {
- var zTree = $.fn.zTree.getZTreeObj(treeId),
- nodes = zTree.getCheckedNodes(true),
- n = "";
- v = "";
- for (var i=0, l=nodes.length; i<l; i++) {
- n += nodes[i].name + ",";
- v += nodes[i].id + ",";
- }
- if (n.length > 0 ) n = n.substring(0, n.length-1);
- if (v.length > 0 ) v = v.substring(0, v.length-1);
- $('#'+objId+'').val(n);
- $('#'+objId+'').siblings("input[type=hidden]").val(v);
- }
- //树点击事件
- function zTreeOnClick(event, treeId, treeNode) {
- if(check){
- return;
- }
- var zTree = $.fn.zTree.getZTreeObj(treeId),
- nodes = zTree.getSelectedNodes(),
- n = "";
- v = "";
- nodes.sort(function compare(a,b){return a.id-b.id;});
- for (var i=0, l=nodes.length; i<l; i++) {
- n += nodes[i].name + ",";
- v += nodes[i].id + ",";
- }
- if (n.length > 0 ) n = n.substring(0, n.length-1);
- if (v.length > 0 ) v = v.substring(0, v.length-1);
- $('#'+objId+'').val(n);
- $('#'+objId+'').siblings("input[type=hidden]").val(v);
- hideMenu();
- };
- //隐藏树
- function hideMenu() {
- $('#'+treeId+'').parent().fadeOut("fast");
- $(document).unbind("mousedown", onBodyDown);
- }
- });
- }
- /**
- * 设置行政区划选中器的值
- * @param addrselectorId 界面行政区划的Id
- * @param params 行政区划数组
- */
- web.setAddressSelectorValue = function (addrselectorId, params) {
- // 行政区划数组prams值如下:
- /* var address ={};
- address['provinceCode'] = '320000';
- address['provinceName'] = '江苏省';
- address['cityCode'] = '320900';
- address['cityName'] = '盐城市';
- address['countyCode'] = '320923';
- address['countyName'] = '阜宁县';
- */
- var addressSelect = '#' + addrselectorId;
- var $hideInputs = $(addressSelect).find('input:hidden').not('.em');
- if ($hideInputs) {
- $hideInputs.eq(0).val(params.provinceCode);
- $hideInputs.eq(1).val(params.provinceName);
- $hideInputs.eq(2).val(params.cityCode);
- $hideInputs.eq(3).val(params.cityName);
- $hideInputs.eq(4).val(params.countyCode);
- $hideInputs.eq(5).val(params.countyName);
- var $dd = $(addressSelect).find('dd'), $provinceName = $hideInputs.eq(1),
- $cityName = $hideInputs.eq(3), $countyCode = $hideInputs.eq(4), $countyName = $hideInputs.eq(5);
- var addrTxt = '';
- // 获取显示的标签的地址
- if ($provinceName.val() == $cityName.val()) {
- addrTxt = $provinceName.val();
- } else {
- addrTxt = $provinceName.val() + $cityName.val();
- }
- if ($countyName.val()) {
- addrTxt += $countyName.val();
- }
- // 填充回显的地址
- $(addressSelect).find('.em').val(addrTxt);
- }
- }
- web.fileUploader = function(filePicker,callback,options,params){
-
- //添加删除事件结束
- var imgUploadUrl = base+'/common/upload';
- if(typeof params!='undefined'){
- imgUploadUrl = imgUploadUrl+"?"+params;
- }
- var opt={
- auto: true,
- // swf文件路径
- swf: base+'/static/frame/webuploader/Uploader.swf',
- // 文件接收服务端。
- server : imgUploadUrl,
- // 内部根据当前运行是创建,可能是input元素,也可能是flash.
- pick : {
- id : '#'+filePicker,
- multiple : false
- },
- //fileSingleSizeLimit: 5*1024*1024, //最大5M
- // 不压缩image, 默认如果是jpeg,文件上传前会压缩一把再上传!
- resize : false,
- multiple : false,
- duplicate :true
- };
- if(typeof options!='undefined'){
- opt = $.extend(opt,options);
- }
-
- var uploader = WebUploader.create(opt);
-
- // 文件上传过程中提示。
- uploader.on( 'uploadProgress', function( file, percentage ) {
- //layer.msg
- });
-
- uploader.on( 'uploadError', function( file ) {
- layer.msg("上传失败");
- uploader.reset();
- });
-
- uploader.onError = function( code ) {
- switch(code){
- case 'F_EXCEED_SIZE':
- layer.msg('文件大小超出最大值');
- break;
- case 'Q_EXCEED_NUM_LIMIT':
- layer.msg('超过最大上传数量');
- break;
- case 'Q_EXCEED_SIZE_LIMIT':
- layer.msg('文件大小超出最大值');
- break;
- case 'Q_TYPE_DENIED':
- layer.msg('文件类型不允许');
- break;
- default:
- layer.msg('未知错误:'+code);
- break;
- }
- };
-
- //如果服务器端返回的code不为0,那么也是没有成功,会触发uploadError事件
- uploader.on("uploadAccept", function(file,data){
- if(!data.success){
- return false;
- }
- });
-
-
- // 文件上传成功,给item添加成功class, 用样式标记上传成功。
- uploader.on( 'uploadSuccess', function(file,data) {
- if(typeof callback=='function'){
- callback(data);
- }
- uploader.reset();
- });
-
- // 完成上传完了,成功或者失败,先删除进度条。
- uploader.on( 'uploadComplete', function(file,data) {
-
- });
- }
- /**
- * 图片预览
- * @param data 数组类型或者字符串
- */
- web.showImage = function (data,index) {
- if(!index){
- index=0;
- }
- var photos=[];
- if(typeof(data) == "string"){
- var obj = new Object();
- obj.src=data;
- photos.push(obj);
- }else{
- $.each(data,function(id,item){
- var obj = new Object();
- obj.src=item;
- photos.push(obj);
- });
- }
- layer.photos({
- photos: {
- "start": index,
- "data": photos
- }
- });
- }
- /**
- * 加载图片
- * @param fileList 容器ID
- * @param data 数组类型或者字符串
- * @param width 图片宽度
- * @param height 图片高度
- */
- web.loadImage = function(fileList,data,width,height,editFlag){
- if(!width){//如果没有设置,默认为100px
- width=100;
- }
- if(!height){
- height=100;
- }
- var $list = $('#'+fileList);
- var arr=[];
- if(typeof(data) == "string"){
- var $li = $(
- '<div class="file-item thumbnail">' +
- '<img src="'+data+'" style="width:'+width+'px;height:'+height+'px;">' +
- '</div>'
- );
- if(editFlag){
- var $btns = $('<div class="file-panel" style="height:0px;">' +
- '<span class="cancel">删除</span>' +
- '</div>').appendTo( $li );
- }
- arr.push(data);
- $list.append( $li );
- }else{
- $.each(data,function(id,item){
- if(typeof(item) == "string"){
- var $li = $(
- '<div class="file-item thumbnail">' +
- '<img src="'+item+'" style="width:'+width+'px;height:'+height+'px;">' +
- '</div>'
- );
- arr.push(item);
- }else{
- var $li = $(
- '<div class="file-item thumbnail">' +
- '<img src="'+item.imgUrl+'" style="width:'+width+'px;height:'+height+'px;">' +
- '<div class="info">"'+item.imgName+'"</div>' +
- '</div>'
- );
- arr.push(item.imgUrl);
- }
- if(editFlag){
- var $btns = $('<div class="file-panel" style="height:0px;">' +
- '<span class="cancel">删除</span>' +
- '</div>').appendTo( $li );
- }
- $list.append( $li );
- });
- }
- $list.find("img").on('click',function(){
- web.showImage(arr,$(this).parent().index());
- });
- }
- /**
- * 上传图片
- * @param fileList 容器ID
- * @param filePicker 上传按钮ID
- * @param callback 返回方法
- * @param options 自定义上传
- * @param params 参数
- */
- web.imageUploader = function(fileList,filePicker,callback,options,params){
-
- $('#'+fileList).on('mouseover','.file-item',function(){
- $(this).find('.file-panel').css('height','30px');
- });
- $('#'+fileList).on('mouseout','.file-item',function(){
- $(this).find('.file-panel').css('height','0');
- });
- $('#'+fileList).on('click','.cancel',function(){
- var obj = $(this);
- setTimeout(function () {
- $(obj).parents('.file-item').remove();
- },100);
- });
- //添加删除事件结束
- var imgUploadUrl = base+'/common/upload';
- if(typeof params!='undefined'){
- imgUploadUrl = imgUploadUrl+"?"+params;
- }
-
- var opt={
- auto: true,
- // swf文件路径
- swf: base+'/static/frame/webuploader/Uploader.swf',
- // 文件接收服务端。
- server : imgUploadUrl,
- // 内部根据当前运行是创建,可能是input元素,也可能是flash.
- pick : {
- id : '#'+filePicker,
- multiple : true
- },
- fileSingleSizeLimit: 5*1024*1024, //最大5M
- // 不压缩image, 默认如果是jpeg,文件上传前会压缩一把再上传!
- resize : false,
- duplicate :true,
- fileNumLimit:10,
- accept: {
- title: 'Images',
- extensions: 'gif,jpg,bmp,png',
- mimeTypes: 'image/*'
- }
- };
- if(typeof options!='undefined'){
- opt = $.extend(opt,options);
- }
-
- if(!opt.thumbnailWidth){//如果没有设置,默认为100px
- opt.thumbnailWidth=100;
- }
- if(!opt.thumbnailHeight){
- opt.thumbnailHeight=100;
- }
-
- var $list = $('#'+fileList);
- var uploader = WebUploader.create(opt);
-
- uploader.on( 'fileQueued', function( file ) {
- if($list.find('.file-item').length>=opt.maxLength){
- layer.msg('最多上传'+opt.maxLength+'张图片');
- uploader.cancelFile( file );
- return;
- }
- var $li = $(
- '<div id="' + file.id + '" class="file-item thumbnail">' +
- '<img>' +
- '<div class="info">' + file.name + '</div>' +
- '</div>'
- );
- var $img = $li.find('img');
- var $btns = $('<div class="file-panel" style="height:0px;">' +
- '<span class="cancel">删除</span>' +
- '</div>').appendTo( $li );
- // $list为容器jQuery实例
- if(opt.pick.multiple){
- $list.append( $li );
- }else{
- $list.html( $li );
- }
- // 创建缩略图
- // 如果为非图片文件,可以不用调用此方法。
- // thumbnailWidth x thumbnailHeight 为 100 x 100
- uploader.makeThumb( file, function( error, src ) {
- if ( error ) {
- $img.replaceWith('<span>不能预览</span>');
- return;
- }
- $img.attr( 'src', src );
- }, opt.thumbnailWidth, opt.thumbnailHeight);
- });
-
- // 文件上传过程中创建进度条实时显示。
- uploader.on( 'uploadProgress', function( file, percentage ) {
- var $li = $( '#'+file.id );
- var $percent = $li.find('.progress span');
- // 避免重复创建
- if ( !$percent.length ) {
- $percent = $('<p class="progress"><span></span></p>')
- .appendTo( $li )
- .find('span');
- }
- $percent.css( 'width', percentage * 100 + '%' );
- });
-
- uploader.on( 'uploadError', function( file ,reason) {
- var $li = $( '#'+file.id );
- var $error = $li.find('div.error');
- // 避免重复创建
- if ( !$error.length ) {
- $error = $('<div class="error"></div>').appendTo( $li );
- }
- $error.text('上传失败');
- });
-
- uploader.onError = function( code ) {
- switch(code){
- case 'F_EXCEED_SIZE':
- layer.msg('文件大小超出最大值');
- break;
- case 'Q_EXCEED_NUM_LIMIT':
- layer.msg('超过最大上传数量');
- break;
- case 'Q_EXCEED_SIZE_LIMIT':
- layer.msg('文件大小超出最大值');
- break;
- case 'Q_TYPE_DENIED':
- layer.msg('文件类型不允许');
- break;
- default:
- layer.msg('未知错误:'+code);
- break;
- }
- };
-
- //如果服务器端返回的code不为0,那么也是没有成功,会触发uploadError事件
- uploader.on("uploadAccept", function(file,data){
- if(!data.success){
- return false;
- }
- });
-
-
- // 文件上传成功,给item添加成功class, 用样式标记上传成功。
- uploader.on( 'uploadSuccess', function(file,data) {
- if(!opt.hideDoneImg){
- $( '#'+file.id ).addClass('upload-state-done');
- }
- if(typeof callback=='function'){
- callback(data);
- }
- });
-
- // 完成上传完了,成功或者失败,先删除进度条。
- uploader.on( 'uploadComplete', function(file,data) {
- $( '#'+file.id ).find('.progress').remove();
- });
- }
- $.fn.serializeObject = function() {
- var o = {};
- var a = this.serializeArray();
- $.each(a, function() {
- if (o[this.name] !== undefined) {
- if (!o[this.name].push) {
- o[this.name] = [o[this.name]];
- }
- o[this.name].push(this.value || '');
- } else {
- o[this.name] = this.value || '';
- }
- });
- return o;
- };
- web.num = function (obj){
- obj.value = obj.value.replace(/[^\d.]/g,""); //清除"数字"和"."以外的字符
- console.info(obj.value);
- obj.value = obj.value.replace(/^\./g,""); //验证第一个字符是数字而不是
- console.info(obj.value);
- obj.value = obj.value.replace(/\.{2,}/g,"."); //只保留第一个. 清除多余的
- console.info(obj.value);
- obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
- console.info(obj.value);
- obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3'); //只能输入两个小数
- console.info(obj.value);
- }
|