From a4a7426f1286c8d8afe512f155fb650e3e8b940c Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期一, 02 十二月 2024 17:57:43 +0800
Subject: [PATCH] 整合代码&&表单定义扩展属性添加提示文字&&显示类型修改默认值和绑定值

---
 Source/plt-web/plt-web-ui/src/util/func.js |  132 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 131 insertions(+), 1 deletions(-)

diff --git a/Source/plt-web/plt-web-ui/src/util/func.js b/Source/plt-web/plt-web-ui/src/util/func.js
index 2eb5052..db69cbb 100644
--- a/Source/plt-web/plt-web-ui/src/util/func.js
+++ b/Source/plt-web/plt-web-ui/src/util/func.js
@@ -1,7 +1,88 @@
 /**
  * 閫氱敤宸ュ叿绫�
  */
+import CryptoJS from 'crypto-js'
+
 export default class func {
+
+  static getSvgList() {
+    const fs = require('fs');
+    const path = require('path');
+
+    // 鎸囧畾鏂囦欢澶硅矾寰�
+    const directoryPath = "../config/svg"; // 淇敼涓轰綘鐨勬枃浠跺す璺緞
+
+    // 瀛樺偍 .svg 鏂囦欢璺緞鐨勬暟缁�
+    let svgFiles = [];
+
+    // 璇诲彇鏂囦欢澶�
+    fs.readdir(directoryPath, (err, files) => {
+      if (err) {
+        return console.error('鏃犳硶璇诲彇鐩綍: ' + err);
+      }
+
+      // 閬嶅巻鏂囦欢
+      files.forEach(file => {
+        // 妫�鏌ユ枃浠跺悗缂�鍚�
+        if (path.extname(file).toLowerCase() === '.svg') {
+          // 鏋勫缓鏂囦欢鐨勫畬鏁磋矾寰�
+          const filePath = path.join(directoryPath, file);
+          svgFiles.push(filePath);
+        }
+      });
+
+      // 杈撳嚭缁撴灉
+      console.log(JSON.stringify(svgFiles, null, 2));
+    });
+  }
+
+  /**
+   * 鍗曢�夎〃鏍艰
+   * 鏃堕棿鎴虫牸寮忓寲
+   */
+  static formattedDate(val) {
+    // 鍒涘缓涓�涓� Date 瀵硅薄
+    const date = new Date(val);
+
+    // 鏍煎紡鍖栨椂闂寸殑杈呭姪鍑芥暟
+    const formatNumber = (number) => String(number).padStart(2, '0');
+
+    // 鎻愬彇骞舵牸寮忓寲骞淬�佹湀銆佹棩銆佸皬鏃躲�佸垎閽熷拰绉�
+    const year = date.getFullYear();
+    const month = formatNumber(date.getMonth() + 1); // 鏈堜唤浠�0寮�濮嬶紝闇�瑕�+1
+    const day = formatNumber(date.getDate());
+    const hours = formatNumber(date.getHours());
+    const minutes = formatNumber(date.getMinutes());
+    const seconds = formatNumber(date.getSeconds());
+
+    // 鏍煎紡鍖栦负 YYYY-MM-DD HH:MM:SS
+    return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
+  }
+
+  /**
+   * 鍗曢�夎〃鏍艰
+   * row 褰撳墠琛屾暟鎹�
+   * CrudRef 琛ㄦ牸ref缁戝畾鍊�
+   * lastIndex 鍒ゆ柇浜屾鐐瑰嚮index鏄惁鍜岀涓�娆$偣鍑讳竴鑷�
+   * setLastIndex 鏇存柊lastIndex鍊�
+   * setSelectList 灏嗕笅鎷夋淇濆瓨鏁扮粍缃┖
+   */
+
+  static rowClickHandler(row, CrudRef, lastIndex, setLastIndex, setSelectList) {
+    /*if (lastIndex === row.$index) {
+      setSelectList();
+      CrudRef.clearSelection();
+    } else {
+      setSelectList();
+      CrudRef.clearSelection();
+      CrudRef.toggleRowSelection(row);
+    }*/
+    setSelectList();
+    CrudRef.toggleSelection();
+    CrudRef.toggleRowSelection(row);//閫変腑褰撳墠琛�
+    setLastIndex(row.$index);
+  }
+
   /**
    * 涓嶄负绌�
    * @param val
@@ -43,7 +124,11 @@
    */
 
   static isEmptyObject(obj) {
-    return Object.keys(obj).length === 0;
+    if (obj) {
+      return Object.keys(obj).length === 0;
+    } else {
+      return true;
+    }
   }
 
   /**
@@ -184,5 +269,50 @@
       return item[attr] !== array[0][attr];
     });
   }
+
+  /**
+   * 3des鍔犲瘑
+   * @param message
+   * @param key
+   * @returns {string}
+   */
+  encryptByDES(message, key) {
+    const keyHex = CryptoJS.enc.Utf8.parse(key);
+    const encrypted = CryptoJS.DES.encrypt(message, keyHex, {
+      mode: CryptoJS.mode.ECB,
+      padding: CryptoJS.pad.Pkcs7
+    });
+    return encrypted.toString();
+  }
+
+  /**
+   * HmacMD5鍔犲瘑
+   * @param message
+   * @param key
+   * @returns {string}
+   * @constructor
+   */
+  static HmacMD5(message, key) {
+    const encrypted = CryptoJS.HmacMD5(message, key);
+    return encrypted.toString();
+  }
+
+  /**
+   * aes鍔犲瘑
+   * @param data
+   * @param secretKey
+   * @returns {string}
+   */
+  static encryptData(data, secretKey) {
+    const key = CryptoJS.enc.Utf8.parse(secretKey);
+    const iv = CryptoJS.enc.Utf8.parse(secretKey.substr(0, 16)); // AES block size is 128 bits (16 bytes)
+    const encrypted = CryptoJS.AES.encrypt(data, key, {
+      iv: iv,
+      mode: CryptoJS.mode.CBC,
+      padding: CryptoJS.pad.Pkcs7
+    });
+    return encrypted.toString();
+  }
 }
 
+

--
Gitblit v1.9.3