From 9d5803a79aad859e201b94040e369298c7c348b0 Mon Sep 17 00:00:00 2001
From: chensiAb <chenchenco03@163.com>
Date: Fri, 23 Aug 2024 10:59:53 +0800
Subject: [PATCH] fix:兼容加载失败时&没数据时,页面显示暂无数据

---
 common/Tools.js |   30 +++++++++++++++++++-----------
 1 files changed, 19 insertions(+), 11 deletions(-)

diff --git a/common/Tools.js b/common/Tools.js
index 72d2079..fa45243 100644
--- a/common/Tools.js
+++ b/common/Tools.js
@@ -6,6 +6,8 @@
 import moment from 'moment';
 import Taro from '@tarojs/taro';
 
+moment.locale('zh-cn');
+
 export class Tools {
     /**
      * 显示消息
@@ -47,7 +49,7 @@
      * @return {string}
      */
     static createGUID() {
-        return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
+        return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
             let r = (Math.random() * 16) | 0,
                 v = c === 'x' ? r : (r & 0x3) | 0x8;
             return v.toString(16);
@@ -436,16 +438,24 @@
     /**
      * 数值转换为金钱格式
      * @param {Number|String} number
+     * @param {String} [forRead=''] 便于阅读财务金额模式
      * @return {string}
      */
-    static moneyFormat(number) {
+    static moneyFormat(number, forRead = '') {
         if (!number && typeof number !== 'number' && typeof number !== 'string') {
             return '';
         }
         if (typeof number === 'string') {
             number = Number(number) || 0;
         }
-        return number.toFixed(2);
+        if (forRead === 'forRead') {
+            return number.toLocaleString('zh-cn', {
+                minimumFractionDigits: 2,
+                maximumFractionDigits: 2,
+            });
+        } else {
+            return number.toFixed(2);
+        }
     }
 
     /**
@@ -526,13 +536,12 @@
      * @return {String}
      */
     static transWeekIndexToDate(year, week, weekDay) {
-        const yearStart = moment([year, 0, 1]);
-        const dayLong = 24 * 60 * 60 * 1000;
-        const firstWeekLong = (7 - yearStart.day()) * dayLong;
-        const weeksLong = (week - 1) * 7 * dayLong;
-        const weekDayLong = weekDay * dayLong;
-        const dayTimestamp = yearStart.valueOf() + firstWeekLong + weeksLong + weekDayLong;
-        return moment(dayTimestamp).format('YYYY-MM-DD');
+        if (weekDay < 1 && weekDay > 7) {
+            return '';
+        }
+        const weekDate = moment(year + '-' + week, 'YYYY-WW');
+        const firstDay = weekDate.startOf('week');
+        return firstDay.add(weekDay - 1, 'day').format('YYYY-MM-DD');
     }
 
     /**
@@ -597,4 +606,3 @@
         console.info(Math.round(px) + 'px');
     };
 }
-

--
Gitblit v1.9.1