zmc
2023-09-04 34257f504330191b1a698eb48b52217095db47fe
src/utils/common.js
@@ -1,3 +1,4 @@
import * as XLSX from 'xlsx/xlsx.mjs';
export function useCommonFunction(){
    /**
     * description:判断起始时间跨度是否超过1个月
@@ -5,6 +6,7 @@
     * @createTime:2023-08-18
     * @returns:超过一个月返回true,不超过一个月则返回false
     */
    function isExceedOneMonth(dateStr1, dateStr2) {
        // 超过一个月,返回True,否则返回False
        // 将日期字符串转为日期对象
@@ -47,14 +49,66 @@
        return false;
      }
         /**
     * description:百分号比较大小
      /**
     * 百分号比较大小
     * @param: a是否大于b
     * @returns:大于,则返回true。否则返回false
     */
      function cmpp(a, b) {
        return Number(a.replace('%', '')) > Number(b.replace('%', ''));
        return Number(a.replace('%', '')) >= Number(b.replace('%', ''));
      }
      return {isExceedOneMonth,cmpp}
      /**
     *导出为excel
     * @param: 表格数据,待导出的表格列,excel列,excel文件名
     * @returns
     */
     function exportToExcel(exportData,tableColumns,excelColumnsName,excelName='data.xlsx'){
      const itemsFormatted = exportData.map((item) => {
        const newItem = {};
        tableColumns.forEach((col) => {
          newItem[col] = item[col];
        });
        return newItem;
      });
      // 创建xlsx对象
      const xls = XLSX.utils.json_to_sheet(itemsFormatted);
     // 编辑表头行       修改表头
      excelColumnsName.forEach(item =>{
        xls[item[0]].v = item[1]
      })
      // 创建workbook,并把sheet添加进去
      const wb = XLSX.utils.book_new();
      XLSX.utils.book_append_sheet(wb, xls, 'Sheet1');
      // 将workbook转为二进制xlsx文件并下载
      XLSX.writeFile(wb, excelName);
    }
     /**
     * description:返回时间数组,间隔15分钟。
     * @param: 异常的开始,异常结束时间
     * @createTime:2023-08-17
     * @returns:比如12:00:00-13:00:00 所以返回的数组元素是 12:00:00 ,12:15:00,12:30:00,12:45:00,13:00:00
     */
     function  descFiftyTime(begin, end) {
      let time = [];
      if (begin == end) {
        time.push(begin);
        return time;
      }
      time.push(begin);
      let temp = dayjs(begin).add(15, 'minute').format('YYYY-MM-DD HH:mm:ss');
      while (temp != end) {
        time.push(temp);
        temp = dayjs(temp).add(15, 'minute').format('YYYY-MM-DD HH:mm:ss');
      }
      // 加上异常的结束时间
      time.push(temp);
      return time;
    }
    return {isExceedOneMonth,cmpp,exportToExcel,descFiftyTime}
}