This commit is contained in:
lcw
2026-04-01 00:14:43 +08:00
parent af838854fa
commit 582b8677fc
24 changed files with 4234 additions and 1232 deletions

View File

@ -1,5 +1,3 @@
import ImageCompressor from "image-compressor.js";
// 生成10位数的随机数
@ -13,23 +11,34 @@ export function generateRandom10Digits() {
// 随机颜色 - 把16进制的颜色换成rgba格式
export function choseRbgb(color, opcity) {
if (color) {
return 'rgba(' + parseInt('0x' + color.slice(1, 3)) + ',' + parseInt('0x' + color.slice(3, 5)) + ',' + parseInt('0x' + color.slice(5, 7)) + ',' + opcity + ')'
return (
"rgba(" +
parseInt("0x" + color.slice(1, 3)) +
"," +
parseInt("0x" + color.slice(3, 5)) +
"," +
parseInt("0x" + color.slice(5, 7)) +
"," +
opcity +
")"
);
} else {
let r = Math.floor(Math.random() * 256)
let g = Math.floor(Math.random() * 256)
let b = Math.floor(Math.random() * 256)
let a = opcity ? opcity : 1
return `rgba(${r},${g},${b},${a})`
let r = Math.floor(Math.random() * 256);
let g = Math.floor(Math.random() * 256);
let b = Math.floor(Math.random() * 256);
let a = opcity ? opcity : 1;
return `rgba(${r},${g},${b},${a})`;
}
}
// 随机十六进制颜色
export function randomHexColor() { // 随机生成十六进制颜色
export function randomHexColor() {
// 随机生成十六进制颜色
var hex = Math.floor(Math.random() * 16777216).toString(16);
while (hex.length < 6) {
hex = '0' + hex;
hex = "0" + hex;
}
return '#' + hex;
return "#" + hex;
}
/**
@ -47,23 +56,30 @@ export function compressImage(file, quality = 0.6) {
},
error(e) {
reject("图片压缩失败,请稍后再试");
},
}
});
});
};
}
// 今天周几
export function weekValidate() {
let week = new Date().getDay()
let weekenday = ''
let week = new Date().getDay();
let weekenday = "";
switch (week) {
case 0: return weekenday = '星期日'
case 1: return weekenday = '星期一'
case 2: return weekenday = '星期二'
case 3: return weekenday = '星期三'
case 4: return weekenday = '星期四'
case 5: return weekenday = '星期五'
case 6: return weekenday = '星期六'
case 0:
return (weekenday = "星期日");
case 1:
return (weekenday = "星期一");
case 2:
return (weekenday = "星期二");
case 3:
return (weekenday = "星期三");
case 4:
return (weekenday = "星期四");
case 5:
return (weekenday = "星期五");
case 6:
return (weekenday = "星期六");
}
}
@ -86,45 +102,44 @@ export function formatDuring(mss) {
// 转换时间格式
export function timeValidate(date, type) {
const time = date ? new Date(date) : new Date()
const yyyy = time.getFullYear()
const MM = (time.getMonth() + 1).toString().padStart(2, 0)
const dd = time.getDate().toString().padStart(2, '0')
const hh = time.getHours().toString().padStart(2, '0')
const mm = time.getMinutes().toString().padStart(2, '0')
const ss = time.getSeconds().toString().padStart(2, '0')
const time = date ? new Date(date) : new Date();
const yyyy = time.getFullYear();
const MM = (time.getMonth() + 1).toString().padStart(2, 0);
const dd = time.getDate().toString().padStart(2, "0");
const hh = time.getHours().toString().padStart(2, "0");
const mm = time.getMinutes().toString().padStart(2, "0");
const ss = time.getSeconds().toString().padStart(2, "0");
if (type == 'ymd') {
if (type == "ymd") {
return `${yyyy}-${MM}-${dd}`;
}
if (type == 'md') {
return `${MM}.${dd}`
if (type == "md") {
return `${MM}.${dd}`;
}
if (type == 'td') {
return `${yyyy}${MM}${dd}`
if (type == "td") {
return `${yyyy}${MM}${dd}`;
}
if (type == 'ny') {
return `${yyyy}${MM}`
if (type == "ny") {
return `${yyyy}${MM}`;
}
if (type == 'yd') {
return `${yyyy}`
if (type == "yd") {
return `${yyyy}`;
}
if (type == 'ym') {
return MM
if (type == "ym") {
return MM;
}
if (type == 'rm') {
return dd
if (type == "rm") {
return dd;
}
if (type == 'mm') {
return `${yyyy}${MM}${dd}${hh}${mm}${ss}`
if (type == "mm") {
return `${yyyy}${MM}${dd}${hh}${mm}${ss}`;
}
if (type == 'ydm') {
return `${yyyy}${MM}${dd}${hh}${mm}${ss}`
if (type == "ydm") {
return `${yyyy}${MM}${dd}${hh}${mm}${ss}`;
}
return `${yyyy}-${MM}-${dd} ${hh}:${mm}:${ss}`
return `${yyyy}-${MM}-${dd} ${hh}:${mm}:${ss}`;
}
export function timeSlotChange(val) {
let startTime, endTime;
let now = new Date(); //当前日期
@ -132,89 +147,93 @@ export function timeSlotChange(val) {
let nowDay = now.getDate(); //当前日
let nowMonth = now.getMonth(); //当前月
let nowYear = now.getFullYear(); //当前年
let jd = Math.ceil((nowMonth + 1) / 3)
let jd = Math.ceil((nowMonth + 1) / 3);
switch (val) {
case '天':
case '日':
case "天":
case "日":
// 设置当天的开始时间00:00:00
const startDate = new Date();
startDate.setHours(0, 0, 0, 0);
startTime = timeValidate(startDate, 'ymd');
startTime = timeValidate(startDate, "ymd");
// 设置当天的结束时间23:59:59
const endDate = new Date();
endDate.setHours(23, 59, 59, 999);
endTime = timeValidate(endDate, 'ymd');
endTime = timeValidate(endDate, "ymd");
console.log(startTime, endTime);
break;
case "本周":
case "周":
startTime = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek)
endTime = new Date(nowYear, nowMonth, nowDay + 6 - nowDayOfWeek)
startTime = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek);
endTime = new Date(nowYear, nowMonth, nowDay + 6 - nowDayOfWeek);
break;
case "本月":
case "月":
startTime = new Date(nowYear, nowMonth, 1)
endTime = new Date(nowYear, nowMonth + 1, 0)
startTime = new Date(nowYear, nowMonth, 1);
endTime = new Date(nowYear, nowMonth + 1, 0);
console.log(startTime, endTime);
break;
case "本季度":
case "季度":
startTime = new Date(nowYear, (jd - 1) * 3, 1)
endTime = new Date(nowYear, jd * 3, 0)
break
startTime = new Date(nowYear, (jd - 1) * 3, 1);
endTime = new Date(nowYear, jd * 3, 0);
break;
case "本年":
case "年":
startTime = new Date(nowYear, 0, 1)
endTime = new Date(nowYear, 11, 31)
break
startTime = new Date(nowYear, 0, 1);
endTime = new Date(nowYear, 11, 31);
break;
}
return [timeValidate(startTime, 'ymd'), timeValidate(endTime, 'ymd')]
return [timeValidate(startTime, "ymd"), timeValidate(endTime, "ymd")];
}
// 获取当前近多少天 7后7天 -7 前五天
export function getRecentDay(n) {
var currentDate = new Date();
var preDate = new Date(currentDate.getTime() + n * 24 * 3600 * 1000)
let year = preDate.getFullYear()
let mon = preDate.getMonth() + 1
let day = preDate.getDate()
let s = year + '-' + (mon < 10 ? ('0' + mon) : mon) + '-' + (day < 10 ? ('0' + day) : day)
return s
var preDate = new Date(currentDate.getTime() + n * 24 * 3600 * 1000);
let year = preDate.getFullYear();
let mon = preDate.getMonth() + 1;
let day = preDate.getDate();
let s =
year +
"-" +
(mon < 10 ? "0" + mon : mon) +
"-" +
(day < 10 ? "0" + day : day);
return s;
}
// 获取n近7月 7后7 -7 前
export function getnRencebtMonth(n) {
let date = new Date();
date.setMonth(date.getMonth() - n)
date.toLocaleDateString()
let y = date.getFullYear()
let m = date.getMonth() + 1
m = m < 10 ? ('0' + m) : m + ''
return y + m
date.setMonth(date.getMonth() - n);
date.toLocaleDateString();
let y = date.getFullYear();
let m = date.getMonth() + 1;
m = m < 10 ? "0" + m : m + "";
return y + m;
}
/**
* 数据去重 相同数据值累加
* @param {Object} array 数据
*/
export function setArray(array) {
let newArr = []
array.forEach(item => {
const res = newArr.findIndex(ol => {
let newArr = [];
array.forEach((item) => {
const res = newArr.findIndex((ol) => {
//组织机构代码相同 并且报警类别相同
return item.ssbmdm == ol.ssbmdm && item.bjlb == ol.bjlb
})
return item.ssbmdm == ol.ssbmdm && item.bjlb == ol.bjlb;
});
if (res !== -1) {
newArr[res].sl = newArr[res].sl + item.sl
newArr[res].sl = newArr[res].sl + item.sl;
} else {
newArr.push(item)
newArr.push(item);
}
})
});
return newArr
return newArr;
}
/**
@ -222,44 +241,49 @@ export function setArray(array) {
* @param {Object} array 数据
*/
export function hbArray(array, item1, item2, item3) {
let newArr = []
array.forEach(item => {
const res = newArr.findIndex(ol => {
let newArr = [];
array.forEach((item) => {
const res = newArr.findIndex((ol) => {
//组织机构代码相同 并且报警类别相同
return item.product == ol.product
})
return item.product == ol.product;
});
if (res !== -1) {
newArr[res][item1] = newArr[res][item1] + item[item1]
newArr[res][item2] = newArr[res][item2] + item[item2]
newArr[res][item3] = newArr[res][item3] + item[item3]
newArr[res][item1] = newArr[res][item1] + item[item1];
newArr[res][item2] = newArr[res][item2] + item[item2];
newArr[res][item3] = newArr[res][item3] + item[item3];
} else {
newArr.push(item)
newArr.push(item);
}
})
});
return newArr
return newArr;
}
//时间格式
export function dateFormat(type, time) {
let date
let date;
if (time) {
date = new Date(time);
} else {
date = new Date();
}
let year = date.getFullYear();
let month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
let month =
date.getMonth() + 1 < 10
? "0" + (date.getMonth() + 1)
: date.getMonth() + 1;
let hours = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
let minutes = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
let seconds = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
let day
let minutes =
date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
let seconds =
date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
let day;
if (type == 'z') {
if (type == "z") {
//前一天日期
day = date.getDate() - 1;
day = day < 10 ? "0" + day : day;
return `${year}-${month}-${day}`;
} else if (type == 'all') {
} else if (type == "all") {
//格式化日期时间
day = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
day = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
@ -269,42 +293,78 @@ export function dateFormat(type, time) {
day = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
return `${year}-${month}-${day}`;
}
return day
return day;
}
//数字超长处理
export function handleNum(num) {
var data = 0
var data = 0;
if (num) {
try {
if (num * 1 > 100000) {
data = (num / 10000).toFixed(0) + '万'
data = (num / 10000).toFixed(0) + "万";
} else {
data = (num * 1).toFixed(0)
data = (num * 1).toFixed(0);
}
} catch (error) {
data = 0
data = 0;
}
}
return data
return data;
}
/**
* 文件是否是图片
* @param {*} val
*/
export function IS_PNG(val) {
return ['bmp', 'jpg', 'png', 'tif', 'gif', 'pcx', 'tga', 'exif', 'fpx', 'svg', 'psd', 'cdr', 'pcd', 'dxf', 'ufo',
'eps', 'ai', 'raw', 'wmf', 'webp', 'avif', 'apng'
].indexOf(val.toLowerCase()) !== -1
return (
[
"bmp",
"jpg",
"png",
"tif",
"gif",
"pcx",
"tga",
"exif",
"fpx",
"svg",
"psd",
"cdr",
"pcd",
"dxf",
"ufo",
"eps",
"ai",
"raw",
"wmf",
"webp",
"avif",
"apng"
].indexOf(val.toLowerCase()) !== -1
);
}
/**
* 文件是否是音频
* @param {*} val
*/
export function IS_MP3(val) {
return ['mp3', 'wav', 'wma', 'mp2', 'flac', 'midi', 'ra', 'ape', 'aac', 'cda', 'mov'].indexOf(val.toLowerCase()) !==
-1
return (
[
"mp3",
"wav",
"wma",
"mp2",
"flac",
"midi",
"ra",
"ape",
"aac",
"cda",
"mov"
].indexOf(val.toLowerCase()) !== -1
);
}
/**
@ -312,26 +372,39 @@ export function IS_MP3(val) {
* @param {*} val
*/
export function IS_MP4(val) {
return ['avi', 'wmv', 'mpeg', 'mp4', 'm4v', 'mov', 'asf', 'fiv', 'f4v', 'mvb', 'rm', '3gp', 'vob'].indexOf(val
.toLowerCase()) !== -1
return (
[
"avi",
"wmv",
"mpeg",
"mp4",
"m4v",
"mov",
"asf",
"fiv",
"f4v",
"mvb",
"rm",
"3gp",
"vob"
].indexOf(val.toLowerCase()) !== -1
);
}
function handelArr(arr) {
let brr = []
let brr = [];
if (arr && arr.length > 0) {
let obj = {}
let obj = {};
let coords = "";
for (let i = 0; i < arr.length; i++) {
coords += arr[i] + ","
coords += arr[i] + ",";
}
obj.coords = coords
brr.push(obj)
obj.coords = coords;
brr.push(obj);
}
return brr
return brr;
}
/**
* 时间 天数
* @param {*} val
@ -341,29 +414,31 @@ export function setEchartTime(val) {
let arrTime = [];
if (val == 0) {
for (let i = 0; i < 24; i++) {
arrTime.push(i)
arrTime.push(i);
}
} else {
for (let i = 0; i < val; i++) {
let date1 = new Date(date.getTime() - i * 24 * 60 * 60 * 1000)
arrTime.push(_setTime(date1))
let date1 = new Date(date.getTime() - i * 24 * 60 * 60 * 1000);
arrTime.push(_setTime(date1));
}
arrTime.reverse()
arrTime.reverse();
}
return arrTime
return arrTime;
}
//设置时间
function _setTime(date) {
let month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
let month =
date.getMonth() + 1 < 10
? "0" + (date.getMonth() + 1)
: date.getMonth() + 1;
let day = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
return `${month}-${day}`;
}
//拼接地址
export function setAddress(val) {
const url = '/mosty-api/mosty-base/minio/image/download/'
return url + val
const url = "/mosty-api/mosty-base/minio/image/download/";
return url + val;
}
export function getUUid() {
var list = [];
@ -379,27 +454,31 @@ export function getUUid() {
}
// 预警等级颜色
export const bqYs = (val) => {
if (val == '01') {
return '#ff0202'
} else if (val == '02') {
return '#ff8c00'
} else if (val == '03') {
return '#ffd208ff'
} else if (val == '04') {
return '#0000ff'
if (val == "01") {
return "#ff0202";
} else if (val == "02") {
return "#ff8c00";
} else if (val == "03") {
return "#ffd208ff";
} else if (val == "04") {
return "#0000ff";
}
}
};
/** 全息档案跳转
* @param {string} szhm 身证号
*/
export function holographicProfileJump(lx, val) {
if (!val) return
if (lx == 1 || !lx) {
const sfzh = val.sfzh || val.rysfzh || val.yjRysfzh
window.open(`https://tyyy.lz.dsj.xz/profile/people/person-manage?sfzhm=${sfzh}&from=portal`)
if (!val) return;
if (lx == 1 || !lx || lx == "01") {
const sfzh = val.sfzh || val.rysfzh || val.yjRysfzh;
window.open(
`https://tyyy.lz.dsj.xz/profile/people/person-manage?sfzhm=${sfzh}&from=portal`
);
} else {
const cph = val.cph || val.yjClcph
window.open(`https://tyyy.lz.dsj.xz/profile/car/car-manage?cphm=${cph}&from=portal`)
const cph = val.cph || val.yjClcph;
window.open(
`https://tyyy.lz.dsj.xz/profile/car/car-manage?cphm=${cph}&from=portal`
);
}
}
/**
@ -416,6 +495,6 @@ export function getErrMsg(fields, msgObj) {
if (!firstErrorField) return;
/** 第一个错误字段的内容 @type{<Array>Object} - [message, field, fieldValue] */
let firstErrorFieldObj = fields?.[firstErrorField];
let errMsg = firstErrorFieldObj?.[0]?.message
return errMsg
let errMsg = firstErrorFieldObj?.[0]?.message;
return errMsg;
}