common.js 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. /**
  2. * 获取url参数值
  3. * @param {*} url
  4. * @param {*} name
  5. */
  6. export function getUrlParameter(url, name) {
  7. var regexSearch = '[\\?&#]' + name + '=([^&#]*)'
  8. var regex = new RegExp(regexSearch)
  9. var results = regex.exec(url)
  10. console.log(results, 'results')
  11. return results ? window.decodeURIComponent(results[1]) : ''
  12. }
  13. export default {
  14. transDate: function (val, pattern) {
  15. if (val) {
  16. let time = new Date()
  17. time.setTime(val)
  18. if (Date.parse(val)) {
  19. time = new Date(val)
  20. }
  21. if (time instanceof Date) {
  22. return this.formatDate((pattern) || 'yyyy-MM-dd', time)
  23. }
  24. }
  25. return ''
  26. },
  27. transBaseDateTime: function (val, pattern) {
  28. if (val) {
  29. let time = new Date()
  30. time.setTime(val)
  31. if (Date.parse(val)) {
  32. time = new Date(val)
  33. }
  34. if (time instanceof Date) {
  35. return this.formatDate((pattern) || 'yyyy年MM月dd日 hh:mm', time)
  36. }
  37. }
  38. return ''
  39. },
  40. transBaseToDateTime: function (val, pattern) {
  41. if (val) {
  42. let time = new Date()
  43. time.setTime(val)
  44. if (Date.parse(val)) {
  45. time = new Date(val)
  46. }
  47. if (time instanceof Date) {
  48. return this.formatDate((pattern) || 'MM月dd日 hh:mm', time)
  49. }
  50. }
  51. return ''
  52. },
  53. transServDate: function (val) {
  54. return this.transDate(val, 'yyyy-MM-dd hh:mm:ss')
  55. },
  56. transServDay: function (val) {
  57. return this.transDate(val, 'yyyy-MM-dd')
  58. },
  59. isArrayFn: function (value) {
  60. if (typeof Array.isArray === 'function') {
  61. return Array.isArray(value)
  62. } else {
  63. return Object.prototype.toString.call(value) === '[object Array]'
  64. }
  65. },
  66. transDcMap: function (arr) {
  67. const tMap = {}
  68. arr.forEach(item => {
  69. tMap[item.value] = item.label
  70. })
  71. return tMap
  72. },
  73. castEval: function (val) {
  74. // return JSON.parse(val)
  75. if (val) {
  76. return eval('(' + val + ')')
  77. } else {
  78. return ''
  79. }
  80. },
  81. castString: function (val) {
  82. return JSON.stringify(val)
  83. },
  84. // 金额格式化,整数部分每3位用逗号分隔,支持带有正负号以及小数部分
  85. formatMoney: function (amt) {
  86. if (!amt) return ''
  87. if (amt.length <= 3) {
  88. return amt
  89. }
  90. if (!/^(\+|-)?(\d+)(\.\d+)?$/.test(amt)) {
  91. return amt
  92. }
  93. var a = RegExp.$1;
  94. var b = RegExp.$2;
  95. var c = RegExp.$3
  96. var re = new RegExp()
  97. re.compile('(\\d)(\\d{3})(,|$)')
  98. while (re.test(b)) {
  99. b = b.replace(re, '$1,$2$3')
  100. }
  101. return a + '' + b + '' + c
  102. },
  103. formatDate: function (fmt, date) { // author: meizz
  104. var o = {
  105. 'M+': date.getMonth() + 1, // 月份
  106. 'd+': date.getDate(), // 日
  107. 'h+': date.getHours(), // 小时
  108. 'm+': date.getMinutes(), // 分
  109. 's+': date.getSeconds(), // 秒
  110. 'q+': Math.floor((date.getMonth() + 3) / 3), // 季度
  111. 'S': date.getMilliseconds() // 毫秒
  112. }
  113. if (/(y+)/.test(fmt)) {
  114. fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))
  115. }
  116. for (var k in o) {
  117. if (new RegExp('(' + k + ')').test(fmt)) {
  118. fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
  119. }
  120. }
  121. return fmt
  122. },
  123. replaceThumbnail: function (urlPath) {
  124. if (urlPath != null) {
  125. urlPath = urlPath.replace('/server/FileController/download/', this.$constant.BASE_URI + '/wx/fileController/downloadThumbnail/')
  126. }
  127. if (urlPath != null) {
  128. urlPath = urlPath.replace('/h5Server/FileController/download/', this.$constant.BASE_URI + '/wx/fileController/downloadThumbnail/')
  129. }
  130. return urlPath
  131. },
  132. goBack: function () {
  133. // window.history.go(-1)
  134. // self.location = document.referrer
  135. history.back()
  136. },
  137. uuid: function (len, radix) {
  138. const chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('')
  139. const uuid = []
  140. let i
  141. radix = radix || chars.length
  142. if (len) {
  143. // Compact form
  144. for (i = 0; i < len; i++) uuid[i] = chars[0 | Math.random() * radix]
  145. } else {
  146. // rfc4122, version 4 form
  147. let r
  148. // rfc4122 requires these characters
  149. uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-'
  150. uuid[14] = '4'
  151. // Fill in random data. At i==19 set the high bits of clock sequence as
  152. // per rfc4122, sec. 4.1.5
  153. for (i = 0; i < 36; i++) {
  154. if (!uuid[i]) {
  155. r = 0 | Math.random() * 16
  156. uuid[i] = chars[(i === 19) ? (r & 0x3) | 0x8 : r]
  157. }
  158. }
  159. }
  160. return uuid.join('')
  161. },
  162. handleDicList(params) {
  163. // 处理字典值数组
  164. let obj = {}
  165. for (const key in params) {
  166. if (JSON.parse(params[key].dictValue)) {
  167. obj[key] = JSON.parse(params[key].dictValue)
  168. } else {
  169. obj[key] = []
  170. }
  171. }
  172. return obj
  173. }
  174. }