123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661 |
- /**
- * 公共组件js
- * 为每个组件页面提供公共js方法
- * @author 003598
- */
- /** 页面通用方法接口*/
- var base ={
-
- /** 通用方法-震动棒*/
- invalid: function($cue) {
- //按钮动画效果
- $cue.stop().delay(100)
- .animate({'margin-left':-5}, 100)
- .animate({'margin-left':5}, 100)
- .animate({'margin-left':-4}, 100)
- .animate({'margin-left':4}, 100)
- .animate({'margin-left':-3}, 100)
- .animate({'margin-left':0}, 100);
- },
-
- /*str:{
- cope:'<img width=17px; src="'+basePath+'/image/common/cope.png">'
- },*/
-
- /** form表单提交 */
- setAction : function(action, method, formId, target) {
- action = basePath + "/" + action;
- method = method || "post";
- formId = "#" + (formId || "mainForm");
- target = target || "_self";
- $(formId).attr("action", action).attr("method", method).attr("target",
- target).submit();
- },
-
- /** get提交*/
- getAction:function(action){
- window.location.href= basePath + "/" +action;
- },
-
- /** 使用AJAX提交返回结果时,判断用户是否失效*/
- isUserFail:function($html){
- if ($html.find('.login').size()>0){
- alert('用户失效,请重新登录');
- base.getAction('quit.do');
- }
- },
-
- /** 上傳圖片控件初始化方法 */
- initUploadImg : function(_idFile, _idImg, _width, _height,_pic) {
-
- var idFile = _idFile || 'idFile_1';
- var idImg = _idImg || 'idImg_1';
- var width = _width || 200;
- var height = _height || 130;
- var pic = _pic || ImagePreview.TRANSPARENT;
-
- if (!idFile) {
- idFile = 'idFile_1';
- }
- if (!idImg) {
- idImg = 'idImg_1';
- }
- var ip1 = new ImagePreview($$(idFile), $$(idImg), {
- maxWidth : 200,
- maxHeight : 200,
- showWidth : width,
- showHeight : height,
- action : basePath + "/picture/imageUp.do"
- });
- ip1.img.src = pic;
- ip1.file.onchange = function() {
- ip1.preview();
- };
- },
-
- /** ajax公共方法 */
- WAP_POST : function(action, data,type, callback) {
- var dataObj = {};
- if (data){
- dataObj = data;
- }
- if(!type){
- type = 'json';
- }
- $.ajax({
- url : basePath + "/" + action,
- data : dataObj,
- type : 'post',
- dataType : type,
- async : false, // 取消异步请求
- beforeSend : function() {
- // 可添加提前预处理
- },
- success : function(o) {
- if (callback && $.isFunction(callback)) {
- callback(o);
- }
- },
- complete : function(XMLHttpRequest, textStatus) {
- // 可添加完成后处理
- },
- error : function() {
- // 可添加请求错误处理
- }
- });
- },
-
- // 排序事件
- opSort : function(_$){
- if(_$.sortable('option','disabled')){
- _$.sortable();
- _$.sortable('enable');
- }else{
- _$.sortable('disable');
- }
- },
-
- // 预览公共方法
- previewBtn:function(urlTest){
-
- reviewUrl=basePath+"/review.do?"+urlTest;
-
- var DialogLocation = base.CalcShowModalDialogLocation(445, 800);
-
- window.showModalDialog(reviewUrl, window, DialogLocation);
-
-
- },
-
- CalcShowModalDialogLocation:function(dialogWidth, dialogHeight)
- {
- var iWidth = dialogWidth;
- var iHeight = dialogHeight;
- var iTop = (window.screen.availHeight - 20 - iHeight) / 2;
- var iLeft = (window.screen.availWidth - 10 - iWidth) / 2;
-
- return 'dialogWidth:' + iWidth + 'px;dialogHeight:' + iHeight + 'px;dialogTop: ' + iTop + 'px; dialogLeft: ' + iLeft + 'px;center:yes;scroll:no;status:no;resizable:0;location:no';
- },
-
- /**
- * 公共删除方法
- *
- * @param tip: 删除提示语
- * @param execute: 删除时执行的方法(提交后台方法)
- */
- delGetAction: function(opts) {
- var ops = {
- tip : '您确定要删除吗?',
- execute: null
- };
-
- opts = $.extend({}, ops, opts);
-
- var isDel=window.confirm(opts.tip);
-
- if(isDel){
- if(opts.execute && $.isFunction(opts.execute)){
- opts.execute();
- }
- }
- },
-
- /**
- * 转换阿拉伯数字为汉字数字
- * @param num
- * @returns
- */
- chineseNum: function(num)
- {
- if(!/^\d*(\.\d*)?$/.test(num))
- {
- alert("你输入的不是数字,请重新输入!");
- return false;
- }
- var AA = new Array("零","一","二","三","四","五","六","七","八","九");
- var BB = new Array("","拾","佰","仟","万","亿","点","");
- var a = (""+ num).replace(/(^0*)/g, "").split("."), k = 0, re = "";
-
- for(var i=a[0].length-1; i>=0; i--)
- {
- switch(k)
- {
- case 0 :
- re = BB[7] + re;
- break;
- case 4 :
- if(!new RegExp("0{4}\\d{"+ (a[0].length-i-1) +"}$").test(a[0])) {
- re = BB[4] + re;
- }
- break;
- case 8 :
- re = BB[5] + re;
- BB[7] = BB[5];
- k = 0;
- break;
- }
- if(k%4 == 2 && a[0].charAt(i)=="0" && a[0].charAt(i+2) != "0"){
- re = AA[0] + re;
- }
- if(a[0].charAt(i) != 0) {
- re = AA[a[0].charAt(i)] + BB[k%4] + re;
- }
- k++;
- }
- if(a.length>1) {
- re += BB[6];
- for(var i=0; i<a[1].length; i++) {
- re += AA[a[1].charAt(i)];
- }
- }
- return re;
- },
-
- chineseCapitalNum: function(num)
- {
- if(!/^\d*(\.\d*)?$/.test(num))
- {
- alert("你输入的不是数字,请重新输入!");
- return false;
- }
- var AA = new Array("零","壹","贰","叁","肆","雾","陆","柒","捌","玖");
- var BB = new Array("","拾","佰","仟","万","亿","点","");
- var a = (""+ num).replace(/(^0*)/g, "").split("."), k = 0, re = "";
-
- for(var i=a[0].length-1; i>=0; i--)
- {
- switch(k)
- {
- case 0 :
- re = BB[7] + re;
- break;
- case 4 :
- if(!new RegExp("0{4}\\d{"+ (a[0].length-i-1) +"}$").test(a[0])) {
- re = BB[4] + re;
- }
- break;
- case 8 :
- re = BB[5] + re;
- BB[7] = BB[5];
- k = 0;
- break;
- }
- if(k%4 == 2 && a[0].charAt(i)=="0" && a[0].charAt(i+2) != "0"){
- re = AA[0] + re;
- }
- if(a[0].charAt(i) != 0) {
- re = AA[a[0].charAt(i)] + BB[k%4] + re;
- }
- k++;
- }
- if(a.length>1) {
- re += BB[6];
- for(var i=0; i<a[1].length; i++) {
- re += AA[a[1].charAt(i)];
- }
- }
- return re;
- },
-
- /**
- * 校验失败提示信息设置
- * @param cue
- * @param _text
- * @param type 1:cue为提示对象
- */
- setFailCue:function(cue, _text, type){
- // 提示消息
- var $cue = cue;
-
- if(!type){
- $cue = $cue.parents('.couponBase tr').find('[name=cue]');
- }
- $cue.removeClass().addClass('redFont').empty()
- .text(_text);
- // 输入框置空
- cue.val("");
- // 获取焦点
- cue.focus();
- // 震动提示
- base.invalid($cue);
- },
-
- /** 公共验证方法*/
- commonVailFrom:{
- /**
- * 表单校验
- *
- * 校验input中的value是否符合提交规则:
- * 1.非空校验(默认校验规则)
- * 2.字段重复校验(可选)
- * 3.时间校验(可选)
- * 不需要校验的input值,可设置属性isNull="true"
- * 例如:<input type="text" isNull="true">
- * 注意:该校验规则集仅对input进行校验,其他输入框的校验,请另行扩展
- *
- * @author wanglei_003598
- * @data 20140114
- *
- * @param className 待校验的表单名称 (必填参数)
- * @param repeatField 校验重复字段的名称,如果该项为空则不做字段重复校验 (可填参数)
- * @param repeatAction 字段重复校验后台Action (可填参数)
- * @param activitytype 活动类型(1.微调研,2.微预约,3.优惠劵,4.微投票,5.大转盘,6.刮刮奖)
- * @param keywordType 关键字设置场景:0.在新增活动的时候设置的关键字,此时用activityid
- * 1.在关键字设置页面设置的关键字,此时用keywordid校验关键字
- * @param isVailTime 是否对时间进行校验 (可填参数)
- * (校验规则:结束时间不能小于开始时间
- * 如有其他时间校验规则,请另行扩展)
- * @param startTimeId 开始时间id (可填参数),
- * 注意:如果该参数不填写,即使了开启时间校验,时间校验流程也跳过。
- * 开启时间校验选项时,务必设置开始时间的ID。
- * @param endTimeId 结束时间Id(可填参数)
- * @param isVaildExpiryTime 是否对兑奖时间进行校验 (可填参数)
- * (校验规则:兑奖结束时间不能小于兑奖开始时间
- * 兑奖结束时间不能大于活动结束时间
- * 兑奖开始时间不能大于活动开始时间
- * 如有其他时间校验规则,请另行扩展)
- * @param expBeginId 兑奖开始时间(可填参数)
- * @param expEndId 兑奖结束时间(可填参数)
- *
- * @returns {Number} 是否可以提交: 1可提交,0:不可提交
- */
- validForm: function(opts) {
-
- var ops = {
- className: 'mainForm',
- repeatField : null,
- repeatAction: null,
- activitytype: 0,
- keywordType:0,
- isVailTime: false,
- startTimeId: null,
- endTimeId: null,
- isVaildExpiryTime: null,
- expBeginId: null,
- expEndId: null
- };
-
- opts = $.extend({}, ops, opts);
-
- // 提交标示:1可提交,0:不可提交
- var xxx = 1;
-
- var cope = '<img width=17px; src="'+basePath+'/image/common/cope.png">';
- var cue = '.{0} tr';
- $('.' + opts.className).find('input:text:visible').each(function(_, e){
-
- var _me = $(e);
- var name = _me.attr('name');
- var parendVal = _me.attr('parend');
- if (parendVal){
- cue = '.{0} ' + parendVal;
- }
- var $cue = _me.parents(cue.format([opts.className])).find('[name=cue]');
-
- /** 非空校验*/
- if (!_me.attr('isNull')){
- var repeatFlag = base.commonVailFrom.vaildIsNull($cue, _me);
- if (repeatFlag){
- xxx = 0;
- return false;
- }
- }
- /** 数字校验*/
- if($(this).attr('num'))// 数字校验
- {
- var repeatFlag = base.commonVailFrom.vailNum($cue, _me);
- if (repeatFlag){
- xxx = 0;
- return false;
- }
- }
- /** 字段重复行校验*/
- if (opts.repeatField && name === opts.repeatField){
-
- var repeatFlag = base.commonVailFrom.vaildRepeat($cue, _me, opts);
- if (repeatFlag){
- xxx = 0;
- return false;
- }else{
- $cue.removeClass().empty().append(cope);
- }
- }
- /** 时间校验 */
- if (opts.isVailTime && name === opts.endTimeId){
- var repeatFlag = base.commonVailFrom.vaildTime($cue, _me, opts.startTimeId);
- if (repeatFlag){
- xxx = 0;
- return false;
- }else{
- $cue.removeClass().empty().append(cope);
- }
- }
- /** 时间校验2 */
- if (opts.isVaildExpiryTime && name === opts.expEndId){
- var repeatFlag = base.commonVailFrom.vaildExpiryTime($cue, _me, opts);
- if (repeatFlag){
- xxx = 0;
- return false;
- }else{
- $cue.removeClass().empty().append(cope);
- }
- }else{
- $cue.removeClass().empty().append(cope);
- }
-
- });
-
- return xxx;
-
- },
-
- /** 判空校验 */
- vaildIsNull: function($cue, _me) {
- var reslut = 0;
- var val = _me.val();
- if (!val){
- var dic = $cue.attr('dic') + '不能空';
- // 提示消息
- $cue.removeClass().addClass('redFont').empty().text(dic);
- // 获取焦点
- _me.focus();
- // 震动提示
- base.invalid($cue);
-
- reslut = 1;
- }
- return reslut;
- },
-
- /** 数字校验*/
- vailNum: function($cue, _me){
- var reslut = 0;
- // 校验数字--正整数
- var vaildNum = /^[0-9]*[1-9][0-9]*$/;
- var val = _me.val();
- if (vaildNum.test(val) == false)
- {
- var dic = '请正确输入数字,数量不能小于零';
- // 提示消息
- $cue.removeClass().addClass('redFont').empty().text(dic);
- // 获取焦点
- _me.focus();
- // 震动提示
- base.invalid($cue);
-
- reslut = 1;
- }
-
- return reslut;
-
- }
-
- }
- };
- /**
- * 添加String的format方法 替换对应位置的字符串
- *
- * @param array[] 数组
- */
- String.prototype.format = function(array) {
- return this.replace(/\{(\d+)\}/g, function(s, i) {
- return array[i];
- });
- };
- /**
- * 页头页面JS
- * @author 003598
- */
- var topPage={
- /** 初始化化页头方法*/
- init:function(){
- this.initCloseBtn();
- //this.initBackIndexBtn();
- },
-
- /** 初始化退出按钮*/
- initCloseBtn:function(){
- $("#close").click(function(){
- location.href=basePath+"/quit.do";
- });
- }
- };
- /**
- * 左侧菜单栏页面JS
- * @author 003598
- */
- var leftMenu={
- // 初始化方法接口
- init:function(){
- this.initMenuMouseMove();
- this.initMenuClick();
- this.initMenuShow();
- this.initMenu();
-
- },
-
- // 初始化菜单,只展示选中的菜单,设置选中背景
- initMenu:function(){/*
- var $chidLi =$('#ulMenu .chidren');
- pageMenuId = $.trim(pageMenuId);
- var selectPic = basePath + '/image/left/sidebar02_on.png';
-
- $chidLi.find('li').each(function(){
- var menuId = $(this).attr('menuId');
- if(menuId == pageMenuId){
- $(this).css('background-image','url('+selectPic+')');
- $(this).parents('#ulMenu .chidren').show();
- return false;
- }
- });
-
- //leftMenu.menuFloat();
-
- */},
-
- // 初始化菜单栏鼠标移动此效果
- initMenuMouseMove:function(){
- $('#ulMenu>li').find('ul>li').each(function(e){
- // 鼠标移入元素上
- var muserPic = basePath + '/image/left/sidebar02_on_mouse.png';
- var bgPic = basePath + '/image/left/sidebar02.png';
-
- $(this).mouseover(function(e){
- var bgImg = $(this).css('background-image');
- if(bgImg.indexOf('sidebar02_on.png')<=0){
- $(this).css('background-image','url('+muserPic+')');
- }
- });
-
- // 鼠标从元素上离开
- $(this).mouseout(function(e){
- var bgImg = $(this).css('background-image');
- if(bgImg.indexOf('sidebar02_on.png')<=0){
- $(this).css('background-image','url('+bgPic+')');
- }
- });
- });
- },
-
- // 初始化子菜单点击事件
- initMenuClick:function(){
- $('.chidrenTitle').each(function(e){
- var _this = $(this);
- var href = _this.attr('href');
- var menuId = _this.attr('menuId');
-
- var action = href+'?menuId='+menuId;
- _this.click(function(){
- location.href= action;
-
- });
- });
- },
-
- /** 初始化菜单显示与隐藏*/
- initMenuShow:function(){
- $('.title').click(function(){
- /* var liNum = $(this).next().find('ul>li').size();
- var sp = 500;
- if (liNum<3){
- sp = 200;
- }*/
-
-
-
- /*if(!$(this).next().is(':visible')){
- $('#ulMenu').find('.chidren:visible').slideUp(sp);
- }*/
- /*$(this).next().slideToggle(sp);*/
- /*$(this).next().slideDown(sp);*/
-
- var _this = $(this);
- var _thisChidren = _this.next();
-
- if (!_thisChidren.is(':visible')){
- _thisChidren.slideDown(500);
- }else{
- _thisChidren.slideUp(500);
- }
- });
- },
-
- /** 菜单栏浮动效果*/
- menuFloat:function(){
-
- // 触发上下滚动条事件
- $(window).scroll( function() {
- // 获取页面总高度
- var dH = $(document).height();
- // 获取滚动条滚动高度
- var scrTop = $(this).scrollTop();
- // 获取菜单列表高度
- var orderH = $('#ulMenu').height();
- // 获取页头高度
- var topHeight = $('.top').height();
-
- var topNum = 0;
-
- if(scrTop>(topHeight-3)){
- $('.order').css('position', 'fixed').css('top', '0px');
-
- // 显示被遮住的菜单狼
- if(scrTop>(dH-orderH)){
- topNum = scrTop-(dH-orderH);
- $('.order').css('top', -(topNum));
- }
- }else{
- $('.order').css('position', 'inherit').css('top', '0px');
- }
- });
- }
- };
- /**
- * 右侧内容区JS
- * @author 003598
- */
- var rightContent ={
- // 初始化方法接口
- init:function(){
- this.initContent();
- this.winUpdate();
- },
- /** 初始化内容页面的高度*/
- initContent:function(_this){
- if(!_this){
- _this = $(window);
- }
- var topH = $('.top').height();
- var bH = _this.height();
-
- var contentH = bH-topH;
- // 最低高度不能小于600px
- if (contentH<600){
- contentH = 600;
- }
- $('.menu_right').css('min-height', contentH);
- },
-
- /** 当浏览器发生改变时,自适应浏览器的高度*/
- winUpdate:function(){
- $(window).resize(function() {
- rightContent.initContent($(this));
- });
- }
- };
- // 加载模板页js方法
- $(function(){
- // 加载页面初始化方法
- topPage.init();
- leftMenu.init();
- rightContent.init();
- });
|