|
@@ -1,3 +1,4 @@
|
|
|
+import ruleReg from '/@/utils/ruleReg.ts';
|
|
|
const Utils = {
|
|
|
/**
|
|
|
* @description 深拷贝的方法
|
|
@@ -16,5 +17,112 @@ const Utils = {
|
|
|
// 返回新数组或对象
|
|
|
return newdata;
|
|
|
},
|
|
|
+
|
|
|
+ //更新页面数据,防止缓存导致页面数据不更新
|
|
|
+ flushPage(list:any){
|
|
|
+ //JavaScript 中的一个数组方法,用于将一个新元素添加到数组的末尾。它接受一个参数,即要添加到数组末尾的元素,可以是任何类型的值,包括另一个数组。
|
|
|
+ list.push([]);
|
|
|
+ //用于从数组中删除最后一个元素。它接受两个参数:第一个参数是要删除的元素的索引,第二个参数是要删除的元素的数量。
|
|
|
+ list.splice(-1,1);
|
|
|
+ },
|
|
|
+
|
|
|
+ //数组去重(keyAarr是要去重的数组,keyName是要去重的字段)
|
|
|
+ arr(keyAarr:any,keyName:any){
|
|
|
+ let uniqueNames = [...new Set(keyAarr.map((item:any) => item[keyName]))];
|
|
|
+ return uniqueNames;
|
|
|
+ },
|
|
|
+
|
|
|
+ // 动态模糊搜索(拆包管理18)
|
|
|
+ searchKey(keyword:string, list:any){
|
|
|
+ console.log('keyword=>',keyword);
|
|
|
+ let arr:any = [];
|
|
|
+ if(!ruleReg.emptyReg(keyword)){
|
|
|
+ return arr = list;
|
|
|
+ }
|
|
|
+ list.forEach((item:any)=>{
|
|
|
+ if(item.salaryRateItemDetail){
|
|
|
+ item.isDel = false;
|
|
|
+ item.salaryRateItemDetail.forEach((item2:any)=>{
|
|
|
+ if(item2.admin.name.search(keyword) != -1){
|
|
|
+ item.isDel = true;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ if(item.isDel == true){
|
|
|
+ arr.push(item);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ if(arr.length>0){
|
|
|
+ return arr;
|
|
|
+ }
|
|
|
+ return [];
|
|
|
+ },
|
|
|
+
|
|
|
+ // 获取当前日期
|
|
|
+ getDate(){
|
|
|
+ let date = new Date(); //创建时间对象
|
|
|
+ let year = date.getFullYear(); //当前年份
|
|
|
+ let month:string|number = date.getMonth()+1; //当前月份
|
|
|
+ let day:string|number = date.getDate(); //当前日期
|
|
|
+ month = month<10 ? '0'+month : String(month);
|
|
|
+ day = day<10 ? '0'+day : String(day);
|
|
|
+ return `${year}-${month}-${day}`;
|
|
|
+ },
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @description 获取当前日期(自定义格式)
|
|
|
+ * @param format
|
|
|
+ * @returns y-m-d H:M:S, y-m-d, y-m, H:M:S, H:M
|
|
|
+ */
|
|
|
+ getDateFormat(format: string){
|
|
|
+ if(!ruleReg.emptyReg(format)){
|
|
|
+ return '请传入日期格式,支持的格式:y-m-d H:M:S, y-m-d, y-m, H:M:S, H:M';
|
|
|
+ }
|
|
|
+ let result;
|
|
|
+ let date = new Date();
|
|
|
+ let y: string | number = date.getFullYear(); //获取当前年
|
|
|
+ let m: string | number = date.getMonth() + 1; //获取当前月 默认0-11
|
|
|
+ let d: string | number = date.getDate(); //获取当前日
|
|
|
+ let H: string | number = date.getHours();
|
|
|
+ let M: string | number = date.getMinutes();
|
|
|
+ let S: string | number = date.getSeconds();
|
|
|
+ m = m<10 ? `0${m}` : m;
|
|
|
+ d = d<10 ? `0${d}` : d;
|
|
|
+ H = H<10 ? `0${H}` : H;
|
|
|
+ M = M<10 ? `0${M}` : M;
|
|
|
+ S = S<10 ? `0${S}` : S;
|
|
|
+ switch(format){
|
|
|
+ case 'y-m-d H:M:S':
|
|
|
+ result = `${y}-${m}-${d} ${H}:${M}:${S}`;
|
|
|
+ break;
|
|
|
+ case 'y-m-d':
|
|
|
+ result = `${y}-${m}-${d}`;
|
|
|
+ break;
|
|
|
+ case 'y-m':
|
|
|
+ result = `${y}-${m}`;
|
|
|
+ break;
|
|
|
+ case 'H:M:S':
|
|
|
+ result = `${H}:${M}:${S}`;
|
|
|
+ break;
|
|
|
+ case 'H:M':
|
|
|
+ result = `${H}:${M}`;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ result = `日期格式'${format}'不正确,支持的格式:y-m-d H:M:S, y-m-d, y-m, H:M:S, H:M`;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ },
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @description 生成随机数
|
|
|
+ * @param n 期望的最小值
|
|
|
+ * @param m 期望的最大值
|
|
|
+ * @returns 返回的随机数
|
|
|
+ */
|
|
|
+ getRandom(n: number, m: number){
|
|
|
+ let random = Math.random() * (m - n) + n;
|
|
|
+ return random.toFixed(0);
|
|
|
+ },
|
|
|
}
|
|
|
export default Utils;
|