common.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. import { getToken } from '@/utils/auth'
  2. // 日期格式化
  3. export function convertCurrency(money) {
  4. debugger;
  5. //汉字的数字
  6. var cnNums = new Array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖');
  7. //基本单位
  8. var cnIntRadice = new Array('', '拾', '佰', '仟');
  9. //对应整数部分扩展单位
  10. var cnIntUnits = new Array('', '万', '亿', '兆');
  11. //对应小数部分单位
  12. var cnDecUnits = new Array('角', '分', '毫', '厘');
  13. //整数金额时后面跟的字符
  14. var cnInteger = '整';
  15. //整型完以后的单位
  16. var cnIntLast = '元';
  17. //最大处理的数字
  18. var maxNum = 999999999999999.9999;
  19. //金额整数部分
  20. var integerNum;
  21. //金额小数部分
  22. var decimalNum;
  23. //输出的中文金额字符串
  24. var chineseStr = '';
  25. //分离金额后用的数组,预定义
  26. var parts;
  27. if (money == '') { return ''; }
  28. money = parseFloat(money);
  29. if (money >= maxNum) {
  30. //超出最大处理数字
  31. return '';
  32. }
  33. if (money == 0) {
  34. chineseStr = cnNums[0] + cnIntLast + cnInteger;
  35. return chineseStr;
  36. }
  37. //转换为字符串
  38. money = money.toString();
  39. if (money.indexOf('.') == -1) {
  40. integerNum = money;
  41. decimalNum = '';
  42. } else {
  43. parts = money.split('.');
  44. integerNum = parts[0];
  45. decimalNum = parts[1].substr(0, 4);
  46. }
  47. //获取整型部分转换
  48. if (parseInt(integerNum, 10) > 0) {
  49. var zeroCount = 0;
  50. var IntLen = integerNum.length;
  51. for (var i = 0; i < IntLen; i++) {
  52. var n = integerNum.substr(i, 1);
  53. var p = IntLen - i - 1;
  54. var q = p / 4;
  55. var m = p % 4;
  56. if (n == '0') {
  57. zeroCount++;
  58. } else {
  59. if (zeroCount > 0) {
  60. chineseStr += cnNums[0];
  61. }
  62. //归零
  63. zeroCount = 0;
  64. chineseStr += cnNums[parseInt(n)] + cnIntRadice[m];
  65. }
  66. if (m == 0 && zeroCount < 4) {
  67. chineseStr += cnIntUnits[q];
  68. }
  69. }
  70. chineseStr += cnIntLast;
  71. }
  72. //小数部分
  73. if (decimalNum != '') {
  74. var decLen = decimalNum.length;
  75. for (var i = 0; i < decLen; i++) {
  76. var n = decimalNum.substr(i, 1);
  77. if (n != '0') {
  78. chineseStr += cnNums[Number(n)] + cnDecUnits[i];
  79. }
  80. }
  81. }
  82. if (chineseStr == '') {
  83. chineseStr += cnNums[0] + cnIntLast + cnInteger;
  84. } else if (decimalNum == '') {
  85. chineseStr += cnInteger;
  86. }
  87. console.log("=========>"+chineseStr);
  88. return chineseStr;
  89. }
  90. export function getRepeatToken() {
  91. var authTokent = getToken();
  92. var date = new Date();
  93. if (authTokent != null) {
  94. return authTokent + ":" + date.getHours() + date.getMinutes() + date.getSeconds();
  95. } else {
  96. var charSet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
  97. var randomString = '';
  98. for (var i = 0; i < 6; i++) {
  99. var randomPoz = Math.floor(Math.random() * charSet.length);
  100. randomString += charSet.substring(randomPoz,randomPoz+1);
  101. }
  102. return randomString + ":" + date.getTime()
  103. }
  104. }