diff --git a/src/utils/common.js b/src/utils/common.js
index a3a9bf8..71a0267 100644
--- a/src/utils/common.js
+++ b/src/utils/common.js
@@ -2,31 +2,130 @@
export function setHighActive(dom) {
const ele = document.getElementById(dom)
ele.classList.add('ceshi')
- ele.scrollIntoView({behavior:'smooth',block:'start'})
- setTimeout(()=>{
+ ele.scrollIntoView({
+ behavior: 'smooth',
+ block: 'start'
+ })
+ setTimeout(() => {
ele.classList.remove('ceshi')
- },1000)
+ }, 1000)
}
export function getServicePriceDesc(price, price_unit, unit_num, unit_name) {
let unit = 0;
let unit_str = "";
- if (unit_num == 1) return price + price_unit +'/'+unit_name;
+ if (unit_num == 1) return price + price_unit + '/' + unit_name;
- if (unit_num/10000 < 10) {
- unit = Math.ceil(unit_num/10000);
- unit_str = unit == 1 ? '万' : unit+'万';
+ if (unit_num / 10000 < 10) {
+ unit = Math.ceil(unit_num / 10000);
+ unit_str = unit == 1 ? '万' : unit + '万';
}
- if (unit_num/1000 < 10) {
- unit = Math.ceil(unit_num/1000);
- unit_str = unit == 1 ? '千' : unit+'千';
+ if (unit_num / 1000 < 10) {
+ unit = Math.ceil(unit_num / 1000);
+ unit_str = unit == 1 ? '千' : unit + '千';
}
- if (unit_num/100 < 10) {
- unit = Math.ceil(unit_num/100);
- unit_str = unit == 1 ? '百' : unit+'百';
+ if (unit_num / 100 < 10) {
+ unit = Math.ceil(unit_num / 100);
+ unit_str = unit == 1 ? '百' : unit + '百';
}
- return price + price_unit + "/" +unit_str + unit_name;
+ return price + price_unit + "/" + unit_str + unit_name;
}
+/**
+ * 获取格式化的日期字符串--是当下日期
+ * @param {string} format - 日期格式,可选值:'YYYY-MM-DD', 'YYYY-MM', 'YYYY', 'HH:mm:ss' 等
+ * @returns {string} 格式化后的日期字符串
+ *
+ // 使用示例
+ // console.log(getFormattedDate('YYYY')); // 2024
+ // console.log(getFormattedDate('YYYY-MM')); // 2024-01
+ // console.log(getFormattedDate('YYYY-MM-DD')); // 2024-01-15
+ */
+export const getFormattedDate = (format = 'YYYY-MM-DD') => {
+ const now = new Date();
+ const year = now.getFullYear();
+ const month = String(now.getMonth() + 1).padStart(2, '0');
+ const day = String(now.getDate()).padStart(2, '0');
+ const hour = String(now.getHours()).padStart(2, '0');
+ const minute = String(now.getMinutes()).padStart(2, '0');
+ const second = String(now.getSeconds()).padStart(2, '0');
+
+ const formats = {
+ 'YYYY': year,
+ 'YYYY-MM': `${year}-${month}`,
+ 'YYYY-MM-DD': `${year}-${month}-${day}`,
+ 'HH:mm:ss': `${hour}:${minute}:${second}`,
+ 'YYYY-MM-DD HH:mm:ss': `${year}-${month}-${day} ${hour}:${minute}:${second}`,
+ 'YYYY/MM/DD': `${year}/${month}/${day}`,
+ 'YYYY年MM月DD日': `${year}年${month}月${day}日`,
+ };
+
+ return formats[format] || formats['YYYY-MM-DD'];
+};
+
+// 根据指定日期获取年月格式字符串
+/**
+ * 日期格式化函数
+ *
+ * @param {string} dateStr - 日期字符串,可被Date构造函数解析
+ * @param {string} [format='yyyy-mm'] - 输出格式,可选值:'year'、'month'、'year-month'、'yyyy'、'mm'、'm'、'yyyy-mm'、'yyyy-m'
+ * @returns {string} 格式化后的日期字符串,如果日期无效则返回'Invalid date'
+ * 使用示例
+ * 1. console.log(getDate('2023-12-31')); // 输出: "2023-12"
+ * 2. console.log(getDate('2023-12-31', 'yyyy' || 'year')); // 输出: "2023"
+ * 3. console.log(getDate('2023-12-31', 'yyyy-m')); // 输出: "2023-12"
+ * 4. console.log(getDate('2023-12-31', 'm' || 'month')); // 输出: "12"
+ * 7. console.log(getDate('2023-12-31', 'year-month')); // 输出: "2023-12"
+ * 8. console.log(getDate('2023-12-31', 'yyyy/mm')); // 输出: "Invalid date"(因为格式'yyyy/mm'不在可选值中)
+ * 9.console.log(getDate('2025-03-15T10:30:00', 'yyyy-mm')); // ISO格式
+ * 10.console.log(getDate('March 15, 2025', 'yyyy'));//2023 // 英文日期
+ * 11.console.log(getDate('2025/03/15', 'year-month')); // 输出: "2025-03"
+ */
+export function getDate(dateStr, format = 'yyyy-mm') {
+ try {
+ const date = new Date(dateStr);
+
+ // 检查日期是否有效
+ if (isNaN(date.getTime())) {
+ throw new Error('日期无效');
+ }
+
+ const year = date.getFullYear();
+ const month = date.getMonth() + 1;
+
+ const formats = {
+ 'year': `${year}`,
+ 'month': `${month.toString().padStart(2, '0')}`,
+ 'year-month': `${year}-${month.toString().padStart(2, '0')}`,
+ 'yyyy': `${year}`,
+ 'mm': `${month.toString().padStart(2, '0')}`,
+ 'm': `${month}`,
+ 'yyyy-mm': `${year}-${month.toString().padStart(2, '0')}`, //补0
+ 'yyyy-m': `${year}-${month}`//不补0
+ };
+
+ return formats[format] || formats['yyyy-mm'];
+ } catch (error) {
+ console.error('Error parsing date:', error);
+ return 'Invalid date';
+ }
+}
+
+//金额千分符 会在整数后添加两个0 --适用于直接显示的
+export function stateFormat(row, column, cellValue) {
+ if (cellValue) {
+ return Number(cellValue)
+ .toFixed(2)
+ .replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => {
+ return $1 + ",";
+ })
+ .replace(/\.$/, "");
+ }
+}
+//金额千分符 自定义渲染表格内容情况下,调用此方法
+export function formatNumber(value) {
+ if (value === null || value === undefined) return '';
+ return Number(value).toLocaleString();
+}
\ No newline at end of file
diff --git a/src/views/super/Ranking/RankBatchList.vue b/src/views/super/Ranking/RankBatchList.vue
index 3f22a53..1e9f01f 100644
--- a/src/views/super/Ranking/RankBatchList.vue
+++ b/src/views/super/Ranking/RankBatchList.vue
@@ -29,7 +29,6 @@
-
-
{
item.removeAttribute('aria-hidden')
})
-
ariaEls = document.querySelectorAll('.el-radio__original')
ariaEls.forEach((item) => {
item.removeAttribute('aria-hidden')
@@ -464,10 +437,8 @@ export default {
const date = new Date(this.text);
const year = date.getFullYear();
const month = date.getMonth() + 1;
-
const currentYear = new Date().getFullYear();
const currentMonth = new Date().getMonth() + 1;
-
this.current_month = '';
if (this.view === 'month' && year == currentYear && month == currentMonth) {
this.current_month = '(当月)';
@@ -483,7 +454,6 @@ export default {
for (let i = 3; i >= 0; i--) {
let m = month - i;
if (m <= 0) m += 12;
-
monthLabels.push(m + '月' + this.rank_type_desc[this.rank_type]);
}
this.labels = monthLabels;
@@ -700,4 +670,4 @@ export default {
color: #1E2226;
height: 100%;
}
-
+
\ No newline at end of file