ludc
2025-01-03 7577e0d40354021d70b78d58b712ff8c2e8ad485
Source/plt-web/plt-web-ui/src/util/func.js
@@ -2,6 +2,10 @@
 * 通用工具类
 */
import CryptoJS from 'crypto-js'
import {validatenull} from "@/util/validate";
import {getStore} from "@/util/store";
import {getIcons} from "@/api/UI/Icons";
import store from "@/store/index"
export default class func {
@@ -313,6 +317,48 @@
    });
    return encrypted.toString();
  }
  /* 根据name获取svg图标
  * @param name
  * @returns {string}
  */
  static getSVGByName(name) {
    let svgHtml = '';
    if(name && name.indexOf(':')!=-1) {
      let iconList = getStore({name: 'icons'});
      if (iconList && iconList.length > 0) {
        let libName = name.split(':')[0];
        let currentLic = iconList.find(item => item.lable == libName);
        if (currentLic && currentLic.list) {
          currentLic.list.find(item => {
            if (item.name == name) {
              svgHtml = item.content;
            }
            return item.name == name;
          })
        }
      }else {
        getIcons().then(res => {
          store.dispatch("setIcons", res.data.data);
          let iconList = res.data.data;
          if (iconList && iconList.length > 0) {
            let libName = name.split(':')[0];
            let currentLic = iconList.find(item => item.lable == libName);
            if (currentLic.list) {
              currentLic.list.find(item => {
                if (item.name == name) {
                  svgHtml = item.content;
                }
                return item.name == name;
              })
            }
          }
          return svgHtml;
        })
      }
    }
    return svgHtml;
  }
}