常用 JS 类库 API、js.*、jeesite.js、页签操作

全局常用

  1. /**
  2. * 输出日志
  3. */
  4. log(msg);
  5. /**
  6. * 输出错误日志
  7. */
  8. error(msg);
  9. /**
  10. * URL 编码
  11. */
  12. js.encodeUrl(url);
  13. /**
  14. * URL 解码
  15. */
  16. js.decodeUrl(url);
  17. /**
  18. * 得到 IE 版本,如果是IE返回:IE版本号,否则返回:false
  19. * if (js.ie && js.ie <= 8){ alert('浏览器版本过低') }
  20. */
  21. js.ie;
  22. /**
  23. * 安全取值,复杂类型或嵌套类型时,取不到属性中的属性时不抛出异常
  24. * js.val(jsonObj, 'user.office.name');
  25. */
  26. js.val(jsonObj, attrName);
  27. /**
  28. * 返回HashCode唯一值(默认忽略大小写)
  29. * @param str 要获取的字符串HashCode值
  30. * @param caseSensitive 是否大小写敏感(默认false)
  31. * @usage js.hashCode(str);
  32. */
  33. js.hashCode(str, caseSensitive);
  34. /**
  35. * 异步加载文件,loadFile v1.0
  36. * js.loadFile(file文件路径, callback成功回调, error失败回调)
  37. * js.loadFile('js/test.js',function(){},function(data){});
  38. * js.loadFile(['js/test.js','css/test.css'],function(){},function(data){});
  39. */
  40. js.loadFile(file, callback, error);
  41. /**
  42. * 打开一个Window窗体
  43. */
  44. js.windowOpen(url, name, width, height);
  45. /**
  46. * 关闭当前Window窗体
  47. */
  48. js.windowClose();
  49. /**
  50. * 给URL地址添加参数,如果原来有参数则用&前缀,如果没有则用?前缀
  51. */
  52. js.addParam(url, params);
  53. /**
  54. * 获取URL地址的参数
  55. */
  56. js.getParam(paramName, url);
  57. /**
  58. * 移除URL地址里的某个参数
  59. */
  60. js.removeParam(paramName, url);
  61. /**
  62. * 查看Object的内容,手机调试用
  63. * @param obj
  64. */
  65. js.alertObj(obj);

国际化、字典

  1. /**
  2. * 获取国际化译文
  3. */
  4. js.text(code, params);
  5. /**
  6. * 获取字典标签
  7. * js.getDictLabel(${@DictUtils.getDictListJson('sys_menu_type')}, val, '未知', true)
  8. */
  9. js.getDictLabel(dictListJson, value, defaultValue, inCss);

加载框、弹窗

  1. /**
  2. * 显示加载框
  3. * @param message 加载框提示信息
  4. * @param ignoreMessageIfExists 如果已经有加载框现在,则忽略message信息的设置
  5. * @usage js.loading('正在保存...');
  6. */
  7. js.loading(message, ignoreMessageIfExists);
  8. /**
  9. * 关闭加载框
  10. * @param timeout 关闭延迟时间
  11. * @param forceClose 是否强制关闭
  12. * @usage js.closeLoading(1000, true);
  13. */
  14. js.closeLoading(timeout, forceClose);
  15. /**
  16. * 得到layer对话框对象
  17. * js.layer.msg();
  18. */
  19. js.layer;
  20. /**
  21. * 显示提示框
  22. * @param message 提示消息
  23. * @param title 提示标题
  24. * @param type 提示类型(success、error、warning、info)
  25. * @param timeout 自动关闭毫秒(默认4000毫秒)
  26. */
  27. js.showMessage(message, title, type, timeout);
  28. /**
  29. * 显示错误提示框
  30. */
  31. js.showErrorMessage(responseText);
  32. /**
  33. * 关闭提示框
  34. */
  35. js.closeMessage();
  36. /**
  37. * 提示对话框
  38. * @param message 提示消息
  39. * @param options 对话框选项
  40. * @param closed 对话框关闭回调方法
  41. * @usage js.alert('你好!', function(){})
  42. * @usage js.alert('你好!', {icon: 2}, function(){})
  43. */
  44. js.alert(message, options, closed);
  45. /**
  46. * 确认对话框
  47. * @param message 确认信息
  48. * @param urlOrFun 确认后的跳转的地址,或调用的方法
  49. * @param data 如果urlOrFun是地址,该参数是调用地址的参数信息
  50. * @param callback 执行ajax的回调方法,如果为空,则直接通过location=urlOrFun跳转。
  51. * @param dataType 返回数据类型(默认json)
  52. * @param async 是否异步(默认true)
  53. * @param loadingMessage 调用loading(loadingMessage)的提示信息。
  54. * @usage js.confirm('确认删除吗?', '$ctx/biz/delete?id=123', function(data){alert('删除成功')}, 'json', true, '正在删除...');
  55. * @usage js.confirm('确认删除吗?', '$ctx/biz/delete', {id: '123'}, function(data){alert('删除成功')}, 'json', true, '正在删除...');
  56. * @usage js.confirm('确认删除吗?', function(data){alert('删除成功')});
  57. */
  58. js.confirm(message, urlOrFun, data, callback, dataType, async, loadingMessage);

JS 模板

  1. /**
  2. * 根据js模板生成代码,使用laytpl引擎
  3. * @param id 模板ID
  4. * @param data 模板数据(可选)
  5. * @param callback 如果填写,则为异步渲染
  6. * @usage
  7. * 模板格式: <sc ript id="dempTpl" type="text/template">//<!--
  8. * 这里写模块内容...
  9. * //--></sc ript>
  10. * 调用方法: js.template('dempTpl', data);
  11. * 模版语法:
  12. * 输出一个普通字段,不转义html: { { d.field } }
  13. * 输出一个普通字段,并转义html: { {= d.field } }
  14. * JavaScript脚本: { {# JavaScript statement } }
  15. */
  16. js.template(id, data, callback);

Ajax 表单

  1. /**
  2. * AJAX 提交
  3. * js.ajaxSubmit('/sys/user/save', {param: 1}, function(data){})
  4. */
  5. js.ajaxSubmit(url, data, callback, dataType, async, message);
  6. /**
  7. * AJAX 提交表单(支持文件上传)
  8. * js.ajaxSubmitForm($(form), function(data){})
  9. */
  10. js.ajaxSubmitForm(formJqueryObj, callback, dataType, async, message);

字符串操作

  1. /**
  2. * String两边去空格
  3. */
  4. js.trim(str);
  5. /**
  6. * String的startWith(正则表达式方式)
  7. */
  8. js.startWith(str, start);
  9. /**
  10. * String的startWith(slice方式)
  11. */
  12. js.startsWith(str, prefix);
  13. /**
  14. * String的endWith(正则表达式方式)
  15. */
  16. js.endWith(str, end);
  17. /**
  18. * String的endWith(indexOf方式)
  19. */
  20. js.endsWith(str, suffix);
  21. /**
  22. * 截取字符串,区别汉字和英文
  23. */
  24. js.abbr(name, maxLength);

数值类型操作

  1. /**
  2. * 格式化数值
  3. * @param num 待格式化的树
  4. * @param cent 保留小数位数
  5. * @param isThousand 是否进行千分位格式化
  6. */
  7. js.formatNumber(num, cent, isThousand);
  8. /**
  9. * 金额格式化(千位符,小数四舍五入)金额每隔三位加一个逗号
  10. * @param s 要格式化的数值
  11. * @param n 小数位数
  12. */
  13. js.formatMoney(s, n);
  14. /**
  15. * 数值前补零
  16. */
  17. js.numberPad(num, n);

日期类型操作

  1. /**
  2. * 日期格式化
  3. * @param date 日期 new Date()
  4. * @param f 格式化字符串 yyyy-MM-dd HH:mm:ss
  5. */
  6. js.formatDate(date, f);
  7. /**
  8. * 字符串转为日期
  9. * @param date
  10. */
  11. js.parseDate(date);
  12. /**
  13. * 日期加减
  14. * @param date
  15. * @param dadd 天数
  16. */
  17. js.addDate(date, dadd);
  18. /**
  19. * 快速选择日期方法
  20. * @param type 1今日,2本周,3本月,4本季度,5上月
  21. * @param beginDateId 开始日期控件的ID
  22. * @param endDateId 结束日期控件的ID
  23. */
  24. js.quickSelectDate(type, beginDateId, endDateId);

Cookie 操作

  1. /**
  2. * cookie 操作
  3. * @param name Cookie名称
  4. * @param value Cookie值,填写表示设置,不填写表示获取
  5. * @parma options:{expires:7} 如果是数字,则expires单位为天。
  6. */
  7. js.cookie(name, value, options);

TabPage 页签

  1. /**
  2. * 得到TabPage对象
  3. */
  4. js.tabPage;
  5. /**
  6. * 初始化TAB页面
  7. * @param id
  8. */
  9. js.initTabPage(id, options);
  10. /**
  11. * 添加TAB页面( class="addTabPage" )
  12. * @param $this 点击的对象
  13. * @param title 提示标题
  14. * @param url 访问的路径
  15. * @param closeable 是否有关闭按钮,关闭页面回调方法:function onTablePageClose(tabId, title){}
  16. * @param refresh 打开后是否刷新重新加载
  17. */
  18. js.addTabPage($this, title, url, closeable, refresh);
  19. /**
  20. * 获取当前TAB页面
  21. * @param currentTabCallback 获取之后回调方法,传入当前tab页面的contentWindow,例如:function(contentWindow){}
  22. */
  23. js.getCurrentTabPage(currentTabCallback);
  24. /**
  25. * 获取当前页面的上一个TAB页面,并激活上级页面
  26. * @param preTabCallback 获取之后回调方法,传入上一个tab页面的contentWindow,例如:function(contentWindow){}
  27. * @param isCloseCurrentTab 是否关闭当前页签
  28. */
  29. js.getPrevTabPage(preTabCallback, isCloseCurrentTab);
  30. /**
  31. * 关闭当前TAB页面,并激活上级页面
  32. * @param preTabCallback 关闭前的回调方法,传入上一个tab页面的contentWindow,例如:function(contentWindow){}
  33. */
  34. js.closeCurrentTabPage(preTabCallback);