utils.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. layui.define(['table','form'],function(exports){
  2. var table = layui.table;
  3. var form = layui.form;
  4. renderSelectOptions = function (data, settings) {
  5. settings = settings || {};
  6. var valueField = settings.valueField || 'value';
  7. var textField = settings.textField || 'text';
  8. var selectedValue = settings.selectedValue || "";
  9. var html = [];
  10. for (var i = 0; i < data.length; i++) {
  11. var item = data[i];
  12. html.push('<option value="');
  13. html.push(item[valueField]);
  14. html.push('"');
  15. if(selectedValue && item[valueField] == selectedValue ){
  16. html.push(' selected="selected"');
  17. }
  18. html.push('>');
  19. html.push(item[textField]);
  20. html.push('</option>');
  21. }
  22. return html.join('');
  23. };
  24. getSelectedRow = function (id) {
  25. var checkStatus = table.checkStatus(id);
  26. var data = checkStatus.data;
  27. if (data.length == 0) {
  28. layer.msg('请选择一条记录');
  29. return false;
  30. }
  31. if (data.length > 1) {
  32. layer.msg('只能选择一条记录');
  33. return false;
  34. }
  35. return data[0];
  36. };
  37. isHasPermissions = function (perm) {
  38. var permissions = layui.data(layui.setter.tableName)['permissions'];
  39. if (!perm) {
  40. return true;
  41. }
  42. var perms = perm.split('|');
  43. var is_has = false;
  44. for (var i in perms) {
  45. if (permissions.indexOf(perms[i]) != -1) {
  46. is_has = true;
  47. break;
  48. }
  49. }
  50. return is_has;
  51. };
  52. form.verify({
  53. intGeZ: function (value, item) {
  54. value = value.trim();
  55. if (value === '') {
  56. return;
  57. }
  58. if (!(/^[0-9]\d*$/i.test(value))){
  59. return '请输入整数';
  60. }
  61. value = parseInt(value);
  62. if (isNaN(value)){
  63. return '请输入整数';
  64. }
  65. if (value <= 0){
  66. return '该整数必须大于0';
  67. }
  68. },
  69. intGtz: function (value, item) {
  70. value = value.trim();
  71. if (value === '') {
  72. return;
  73. }
  74. if (!(/^[0-9]\d*$/i.test(value))){
  75. return '请输入整数';
  76. }
  77. value = parseInt(value);
  78. if (isNaN(value)){
  79. return '请输入整数';
  80. }
  81. if (value < 0){
  82. return '该整数必须大于等于0';
  83. }
  84. },
  85. numberGtZ: function (value, item) {
  86. value = value.trim();
  87. if (value === '') {
  88. return;
  89. }
  90. if (!(/^([0-9]+(\.\d+)?|0\.\d+)$/i.test(value) || /^[1-9]\d*$/i.test(value))){
  91. return '请输入数字';
  92. }
  93. value = parseFloat(value);
  94. if (isNaN(value)){
  95. return '请输入数字';
  96. }
  97. if (value <= 0){
  98. return '该数字必须大于0';
  99. }
  100. },
  101. numberGeZ: function (value, item) {
  102. value = value.trim();
  103. if (value === '') {
  104. return;
  105. }
  106. if (!(/^([0-9]+(\.\d+)?|0\.\d+)$/i.test(value) || /^[1-9]\d*$/i.test(value))){
  107. return '请输入数字';
  108. }
  109. value = parseFloat(value);
  110. if (isNaN(value)){
  111. return '请输入数字';
  112. }
  113. if (value < 0){
  114. return '该数字必须大于等于0';
  115. }
  116. },
  117. tel: function (value, item) {
  118. value = value.trim();
  119. if (value === '') {
  120. return;
  121. }
  122. if(!(/^0?(13[0-9]|14[0-9]|15[0-9]|17[0-9]|18[0-9]|19[0-9]|166)[0-9]{8}$/i.test(value) || /^([0-9]{3,4}-)?[0-9]{7,8}$/i.test(value))){
  123. return '请输入正确的手机或者固话号码'
  124. }
  125. }
  126. });
  127. exports(
  128. 'utils', {
  129. renderSelectOptions:renderSelectOptions,
  130. getSelectedRow:getSelectedRow,
  131. isHasPermissions:isHasPermissions
  132. }
  133. );
  134. });