index.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import { getCurrentInstance } from "vue";
  2. // 获取元素宽高
  3. export const getRect = ({ name, onSuccess, instance, multiple }) => {
  4. // 创建一个选择器查询对象
  5. const select = uni.createSelectorQuery().in(instance.proxy);
  6. // 选择指定元素,并获取其矩形信息
  7. select
  8. .select(name)
  9. .boundingClientRect((rect) => {
  10. // 如果rect是一个数组,则返回
  11. if (!rect) return;
  12. if (Array.isArray(rect)) return multiple ? rect : rect[0];
  13. // 如果onSuccess存在,则调用onSuccess函数,并传入rect的高度
  14. onSuccess?.(rect);
  15. })
  16. .exec();
  17. };
  18. //- 小写数字转换成大写, 只处理到[0 ~ 99]
  19. export const numberConvertToUppercase = (num) => {
  20. num = Number(num);
  21. const upperCaseNumber = [
  22. "零",
  23. "一",
  24. "二",
  25. "三",
  26. "四",
  27. "五",
  28. "六",
  29. "七",
  30. "八",
  31. "九",
  32. "十",
  33. "百",
  34. "千",
  35. "万",
  36. "亿",
  37. ];
  38. let length = String(num).length;
  39. if (length == 1) {
  40. return upperCaseNumber[num];
  41. } else if (length == 2) {
  42. if (num == 10) {
  43. return upperCaseNumber[num];
  44. } else if (num > 10 && num < 20) {
  45. return "十" + upperCaseNumber[String(num).charAt(1)];
  46. } else {
  47. return (
  48. upperCaseNumber[String(num).charAt(0)] +
  49. "十" +
  50. upperCaseNumber[String(num).charAt(1)].replace("零", "")
  51. );
  52. }
  53. }
  54. };