@fmdeui/fmui 1.0.10 → 1.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/es/components/svgIcon/index.d.ts +7 -26
  2. package/es/hooks/index.d.ts +2 -0
  3. package/es/hooks/other.d.ts +0 -8
  4. package/es/index.d.ts +3 -1
  5. package/es/index.mjs +4 -0
  6. package/es/make-installer.mjs +8 -3
  7. package/es/packages/components/index.mjs +10 -0
  8. package/es/packages/components/svgIcon/index.mjs +17 -0
  9. package/es/packages/components/svgIcon/svgicon.vue.mjs +5 -0
  10. package/es/packages/components/svgIcon/svgicon.vue2.mjs +94 -0
  11. package/es/packages/hooks/index.mjs +1 -0
  12. package/es/packages/hooks/other.mjs +137 -0
  13. package/es/packages/utils/index.mjs +1 -1
  14. package/es/utils/index.d.ts +1 -1
  15. package/index.js +582 -163
  16. package/index.min.js +4 -4
  17. package/index.min.mjs +4 -4
  18. package/index.mjs +559 -164
  19. package/lib/components/svgIcon/index.d.ts +7 -26
  20. package/lib/hooks/index.d.ts +2 -0
  21. package/lib/hooks/other.d.ts +0 -8
  22. package/lib/{defaults.css → index.css} +2 -2
  23. package/lib/index.d.ts +3 -1
  24. package/lib/index.js +10 -0
  25. package/lib/make-installer.js +9 -4
  26. package/lib/packages/components/index.js +25 -0
  27. package/lib/packages/components/svgIcon/index.js +38 -0
  28. package/lib/packages/components/svgIcon/svgicon.vue.js +9 -0
  29. package/lib/packages/components/svgIcon/svgicon.vue2.js +98 -0
  30. package/lib/packages/hooks/index.js +4 -0
  31. package/lib/packages/hooks/other.js +149 -0
  32. package/lib/packages/utils/index.js +2 -1
  33. package/lib/utils/index.d.ts +1 -1
  34. package/locale/en.js +1 -1
  35. package/locale/en.min.js +1 -1
  36. package/locale/en.min.mjs +1 -1
  37. package/locale/en.mjs +1 -1
  38. package/locale/zh-cn.js +1 -1
  39. package/locale/zh-cn.min.js +1 -1
  40. package/locale/zh-cn.min.mjs +1 -1
  41. package/locale/zh-cn.mjs +1 -1
  42. package/package.json +1 -1
  43. /package/es/{make-installer.css → component.css} +0 -0
  44. /package/es/components/svgIcon/{index.vue.d.ts → svgicon.vue.d.ts} +0 -0
  45. /package/lib/components/svgIcon/{index.vue.d.ts → svgicon.vue.d.ts} +0 -0
package/index.mjs CHANGED
@@ -1,20 +1,22 @@
1
- /*! fmdeui-fmui v1.0.10 */
1
+ /*! fmdeui-fmui v1.0.13 */
2
2
  import { createPinia, defineStore, storeToRefs } from 'pinia';
3
3
  import CryptoJS from 'crypto-js';
4
4
  import XLSXS from 'xlsx-js-style';
5
- import { ElLoading, ElMessage, localeContextKey, dayjs } from 'element-plus';
6
- import { isRef, unref, watch, nextTick, computed, defineComponent, ref, resolveComponent, openBlock, createBlock, mergeProps, withCtx, createVNode, renderSlot, inject, withDirectives, resolveDirective, reactive, useAttrs, useSlots, createSlots, renderList, normalizeProps, guardReactiveProps, createElementBlock, toDisplayString, createElementVNode, onMounted, onActivated, normalizeClass, createCommentVNode, resolveDynamicComponent, Fragment, createTextVNode, withModifiers, toHandlers, onBeforeUnmount, onUpdated, normalizeStyle, getCurrentInstance, vShow, markRaw } from 'vue';
5
+ import { ElLoading, ElMessage, ElNotification, localeContextKey, dayjs, ElMessageBox } from 'element-plus';
6
+ import { isRef, unref, watch, nextTick, computed, defineComponent, ref, resolveComponent, openBlock, createBlock, mergeProps, withCtx, createVNode, renderSlot, inject, withDirectives, resolveDirective, reactive, useAttrs, useSlots, createSlots, renderList, normalizeProps, guardReactiveProps, createElementBlock, toDisplayString, createElementVNode, onMounted, onActivated, normalizeClass, createCommentVNode, getCurrentInstance, onBeforeUnmount, vShow, markRaw, resolveDynamicComponent, Fragment, createTextVNode, withModifiers, toHandlers, onUpdated, normalizeStyle } from 'vue';
7
+ import * as svg from '@element-plus/icons-vue';
7
8
  import { CaretTop, ArrowDown, ArrowUp } from '@element-plus/icons-vue';
8
9
  import axios from 'axios';
9
10
  import Cookies from 'js-cookie';
11
+ import * as SignalR from '@microsoft/signalr';
10
12
  import VxeUITable from 'vxe-table';
11
13
  import VxeUIPluginRenderElement from '@vxe-ui/plugin-render-element';
12
14
  import VxeUIPluginExportXLSX from '@vxe-ui/plugin-export-xlsx';
13
15
  import VxeUI from 'vxe-pc-ui';
14
16
  import { createI18n, useI18n } from 'vue-i18n';
15
17
  import ExcelJS from 'exceljs';
16
- import { get, merge } from 'lodash-es';
17
- import { isClient, useResizeObserver, useClipboard } from '@vueuse/core';
18
+ import { get, merge, debounce as debounce$1 } from 'lodash-es';
19
+ import { useResizeObserver, isClient, useClipboard } from '@vueuse/core';
18
20
  import mitt from 'mitt';
19
21
  import { createRouter, createWebHashHistory } from 'vue-router';
20
22
  import NProgress from 'nprogress';
@@ -505,9 +507,9 @@ const getProperty = (obj, property) => {
505
507
  return value;
506
508
  };
507
509
 
508
- var __defProp = Object.defineProperty;
509
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
510
- var __publicField = (obj, key, value) => __defNormalProp(obj, key + "" , value);
510
+ var __defProp$1 = Object.defineProperty;
511
+ var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
512
+ var __publicField$1 = (obj, key, value) => __defNormalProp$1(obj, key + "" , value);
511
513
  const DEFAULT_CONFIG = {
512
514
  lock: true,
513
515
  text: "",
@@ -520,7 +522,7 @@ const DEFAULT_CONFIG = {
520
522
  };
521
523
  class FlowLoadingManager {
522
524
  constructor() {
523
- __publicField(this, "instance", null);
525
+ __publicField$1(this, "instance", null);
524
526
  }
525
527
  // 2. 统一返回类型
526
528
  start(options) {
@@ -1646,6 +1648,53 @@ function judgementIdCard(idCard) {
1646
1648
  return entity;
1647
1649
  }
1648
1650
 
1651
+ const connection = new SignalR.HubConnectionBuilder().configureLogging(SignalR.LogLevel.Warning).withUrl(`${window.__env__.VITE_API_URL}/hubs/onlineUser?token=${getToken()}`, { transport: SignalR.HttpTransportType.WebSockets, skipNegotiation: true }).withAutomaticReconnect({
1652
+ nextRetryDelayInMilliseconds: () => {
1653
+ return 5e3;
1654
+ }
1655
+ }).build();
1656
+ connection.keepAliveIntervalInMilliseconds = 15 * 1e3;
1657
+ connection.serverTimeoutInMilliseconds = 30 * 1e3;
1658
+ connection.start().then(() => {
1659
+ });
1660
+ connection.onclose(async () => {
1661
+ });
1662
+ connection.onreconnecting(() => {
1663
+ ElNotification({
1664
+ title: "\u63D0\u793A",
1665
+ message: "\u8FDE\u63A5\u5DF2\u65AD\u5F00 >>>>>",
1666
+ type: "error",
1667
+ position: "bottom-right"
1668
+ });
1669
+ });
1670
+ connection.onreconnected(() => {
1671
+ ElNotification({
1672
+ title: "\u63D0\u793A",
1673
+ message: "\u8FDE\u63A5\u5DF2\u6062\u590D >>>>>",
1674
+ type: "success",
1675
+ position: "bottom-right"
1676
+ });
1677
+ });
1678
+ connection.on("OnlineUserList", () => {
1679
+ });
1680
+ connection.on("ReceiveMessage", (message) => {
1681
+ var tmpMsg = `<div style="white-space: pre-wrap;">${message.message}<div><br/>`;
1682
+ tmpMsg += `<p style="color:#808080; font-size:10px;float:right"> ${message.sendUserName} ${message.sendTime}<p>`;
1683
+ ElNotification({
1684
+ title: `${message.title}`,
1685
+ message: tmpMsg,
1686
+ type: message.messageType.toString().toLowerCase(),
1687
+ position: "top-right",
1688
+ dangerouslyUseHTMLString: true,
1689
+ duration: 5e3
1690
+ });
1691
+ });
1692
+
1693
+ var signalR$1 = /*#__PURE__*/Object.freeze({
1694
+ __proto__: null,
1695
+ signalR: connection
1696
+ });
1697
+
1649
1698
  const setWatermark = (str) => {
1650
1699
  const id = "1.23452384164.123412416";
1651
1700
  if (document.getElementById(id) !== null) document.body.removeChild(document.getElementById(id));
@@ -18342,25 +18391,7 @@ const setupVXETable = (app) => {
18342
18391
  app.use(VxeUITable);
18343
18392
  };
18344
18393
 
18345
- const makeInstaller = (components = []) => {
18346
- const install = (app) => {
18347
- components.forEach(
18348
- (component) => {
18349
- if (!app._context.components[component.name]) {
18350
- app.component(component.name, component);
18351
- }
18352
- }
18353
- );
18354
- app.use(pinia);
18355
- directive(app);
18356
- app.use(setupVXETable);
18357
- };
18358
- return {
18359
- install
18360
- };
18361
- };
18362
-
18363
- var _sfc_main$d = /* @__PURE__ */ defineComponent({
18394
+ var _sfc_main$e = /* @__PURE__ */ defineComponent({
18364
18395
  ...{
18365
18396
  name: "FButton"
18366
18397
  },
@@ -18430,7 +18461,7 @@ var _sfc_main$d = /* @__PURE__ */ defineComponent({
18430
18461
  }
18431
18462
  });
18432
18463
 
18433
- const FButton = _sfc_main$d;
18464
+ const FButton = _sfc_main$e;
18434
18465
 
18435
18466
  const buildTranslator = (locale) => (path, option) => translate(path, option, unref(locale));
18436
18467
  const translate = (path, option, locale) => get(locale, path, path).replace(
@@ -18718,7 +18749,120 @@ const useVxeTable = (opt, extras) => {
18718
18749
 
18719
18750
  var img = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEEAAABBCAYAAACO98lFAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFwmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyNS0wNC0wNFQwMToyMzozMCswODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyNS0wNC0wNFQwMToyMzozMCswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjUtMDQtMDRUMDE6MjM6MzArMDg6MDAiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDY0Mzc1NWEtZTM4ZC1hMzQxLWFmODgtNmFhY2FmYmI4ZDY0IiB4bXBNTTpEb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MTdlYzEzMTgtNmY3Mi1mYjQ4LWI3YjUtMzg2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";
18720
18751
 
18752
+ var __defProp = Object.defineProperty;
18753
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
18754
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
18755
+ let signalR;
18756
+ async function loadSignalR() {
18757
+ if (!signalR) {
18758
+ const module = await Promise.resolve().then(function () { return signalR$1; });
18759
+ signalR = module.signalR;
18760
+ }
18761
+ return signalR;
18762
+ }
18721
18763
  const { t } = useLocale();
18764
+ class IdleTimeoutManager {
18765
+ constructor(config = {}) {
18766
+ __publicField(this, "timerId", null);
18767
+ __publicField(this, "config");
18768
+ __publicField(this, "debouncedReset");
18769
+ /** 检查闲置超时时间间隔 */
18770
+ __publicField(this, "checkTimeoutInterval", 2 * 1e3);
18771
+ __publicField(this, "handleVisibilityChange", () => {
18772
+ if (document.visibilityState === "visible") {
18773
+ this.setLastActivityTime();
18774
+ }
18775
+ });
18776
+ this.config = {
18777
+ timeout: 30 * 60,
18778
+ events: ["mousewheel", "keydown", "click"],
18779
+ onTimeout: this.timeOutExec.bind(this),
18780
+ debounceInterval: 200,
18781
+ ...config
18782
+ };
18783
+ this.debouncedReset = this.config.debounceInterval > 0 ? debounce$1(this.setLastActivityTime.bind(this), this.config.debounceInterval) : this.setLastActivityTime.bind(this);
18784
+ this.init();
18785
+ }
18786
+ init() {
18787
+ this.config.events.forEach((event) => {
18788
+ window.addEventListener(event, this.debouncedReset);
18789
+ });
18790
+ document.addEventListener("visibilitychange", this.handleVisibilityChange);
18791
+ this.setLastActivityTime();
18792
+ this.updateIdleTimeout(this.config.timeout);
18793
+ }
18794
+ /** 设置最后活动时间 */
18795
+ setLastActivityTime() {
18796
+ Local.set("lastActivityTime", (/* @__PURE__ */ new Date()).getTime());
18797
+ }
18798
+ /**
18799
+ * 更新空闲超时时间
18800
+ * @param timeout - 新的超时时间(毫秒)
18801
+ */
18802
+ updateIdleTimeout(timeout) {
18803
+ this.config.timeout = timeout;
18804
+ if (this.config.timeout > 0 && this.timerId == null) {
18805
+ this.timerId = window.setInterval(this.checkTimeout.bind(this), this.checkTimeoutInterval);
18806
+ } else if (this.config.timeout == 0 && this.timerId != null) {
18807
+ window.clearInterval(this.timerId);
18808
+ this.timerId = null;
18809
+ }
18810
+ }
18811
+ /** 检查是否超时 */
18812
+ checkTimeout() {
18813
+ const currentTime = (/* @__PURE__ */ new Date()).getTime();
18814
+ const lastActivityTime = Number(Local.get("lastActivityTime"));
18815
+ if (lastActivityTime == 0) return;
18816
+ const accessToken = Local.get(accessTokenKey);
18817
+ if (!accessToken || accessToken == "invalid_token") return;
18818
+ const timeout = this.config.timeout * 1e3;
18819
+ if (currentTime - lastActivityTime > timeout) {
18820
+ this.destroy();
18821
+ this.config.onTimeout();
18822
+ }
18823
+ }
18824
+ /** 销毁实例 */
18825
+ destroy() {
18826
+ this.config.events.forEach((event) => {
18827
+ window.removeEventListener(event, this.debouncedReset);
18828
+ });
18829
+ document.removeEventListener("visibilitychange", this.handleVisibilityChange);
18830
+ if (this.timerId !== null) {
18831
+ window.clearInterval(this.timerId);
18832
+ this.timerId = null;
18833
+ }
18834
+ }
18835
+ /** 超时时执行 */
18836
+ timeOutExec() {
18837
+ const appEl = document.getElementById("app");
18838
+ appEl == null ? void 0 : appEl.remove();
18839
+ loadSignalR().then((signalR2) => {
18840
+ signalR2.stop();
18841
+ });
18842
+ Local.remove(accessTokenKey);
18843
+ Local.remove(refreshAccessTokenKey);
18844
+ Session.clear();
18845
+ ElMessageBox.alert(t("plus.list.idleTimeoutMessage"), t("plus.list.sysMessage"), {
18846
+ type: "warning",
18847
+ draggable: true,
18848
+ callback: () => {
18849
+ window.location.reload();
18850
+ }
18851
+ });
18852
+ }
18853
+ }
18854
+ function initIdleTimeout(config) {
18855
+ if (!window.__IDLE_TIMEOUT__) {
18856
+ window.__IDLE_TIMEOUT__ = new IdleTimeoutManager(config);
18857
+ }
18858
+ return window.__IDLE_TIMEOUT__;
18859
+ }
18860
+ function destroyIdleTimeout() {
18861
+ if (window.__IDLE_TIMEOUT__) {
18862
+ window.__IDLE_TIMEOUT__.destroy();
18863
+ window.__IDLE_TIMEOUT__ = void 0;
18864
+ }
18865
+ }
18722
18866
  function updateIdleTimeout(timeout) {
18723
18867
  if (window.__IDLE_TIMEOUT__) {
18724
18868
  window.__IDLE_TIMEOUT__.updateIdleTimeout(timeout);
@@ -18837,9 +18981,9 @@ const useDateTimeShortCust = () => {
18837
18981
  ];
18838
18982
  };
18839
18983
 
18840
- const _hoisted_1$6 = { key: 0 };
18984
+ const _hoisted_1$7 = { key: 0 };
18841
18985
  const _hoisted_2$3 = { key: 0 };
18842
- var _sfc_main$c = /* @__PURE__ */ defineComponent({
18986
+ var _sfc_main$d = /* @__PURE__ */ defineComponent({
18843
18987
  ...{
18844
18988
  name: "FInput"
18845
18989
  },
@@ -19043,7 +19187,7 @@ var _sfc_main$c = /* @__PURE__ */ defineComponent({
19043
19187
  fn: withCtx(() => [
19044
19188
  __props.inputType === "amount" ? (openBlock(), createElementBlock(
19045
19189
  "span",
19046
- _hoisted_1$6,
19190
+ _hoisted_1$7,
19047
19191
  toDisplayString(appendTitleText.value),
19048
19192
  1
19049
19193
  /* TEXT */
@@ -19089,13 +19233,13 @@ var _sfc_main$c = /* @__PURE__ */ defineComponent({
19089
19233
  }
19090
19234
  });
19091
19235
 
19092
- const FInput = _sfc_main$c;
19236
+ const FInput = _sfc_main$d;
19093
19237
 
19094
- const _hoisted_1$5 = {
19238
+ const _hoisted_1$6 = {
19095
19239
  key: 0,
19096
19240
  class: "back_to_top"
19097
19241
  };
19098
- var _sfc_main$b = /* @__PURE__ */ defineComponent({
19242
+ var _sfc_main$c = /* @__PURE__ */ defineComponent({
19099
19243
  ...{
19100
19244
  name: "FLayoutPage"
19101
19245
  },
@@ -19157,7 +19301,7 @@ var _sfc_main$b = /* @__PURE__ */ defineComponent({
19157
19301
  },
19158
19302
  [
19159
19303
  renderSlot(_ctx.$slots, "default"),
19160
- __props.showGoTopButton ? (openBlock(), createElementBlock("div", _hoisted_1$5, [
19304
+ __props.showGoTopButton ? (openBlock(), createElementBlock("div", _hoisted_1$6, [
19161
19305
  isShowGoTopButton.value ? (openBlock(), createElementBlock("div", {
19162
19306
  key: 0,
19163
19307
  onClick: backToTop
@@ -19185,9 +19329,9 @@ var _sfc_main$b = /* @__PURE__ */ defineComponent({
19185
19329
  }
19186
19330
  });
19187
19331
 
19188
- const FLayoutPage = _sfc_main$b;
19332
+ const FLayoutPage = _sfc_main$c;
19189
19333
 
19190
- var _sfc_main$a = /* @__PURE__ */ defineComponent({
19334
+ var _sfc_main$b = /* @__PURE__ */ defineComponent({
19191
19335
  ...{
19192
19336
  name: "FLayoutPageItem"
19193
19337
  },
@@ -19215,7 +19359,150 @@ var _sfc_main$a = /* @__PURE__ */ defineComponent({
19215
19359
  }
19216
19360
  });
19217
19361
 
19218
- const FLayoutPageItem = _sfc_main$a;
19362
+ const FLayoutPageItem = _sfc_main$b;
19363
+
19364
+ function debounce(func, delay = 500, immediate, resultCallback) {
19365
+ let timer = null;
19366
+ let isInvoke = false;
19367
+ const _debounce = function(...args) {
19368
+ return new Promise((resolve, reject) => {
19369
+ if (timer) clearTimeout(timer);
19370
+ if (!isInvoke) {
19371
+ try {
19372
+ const result = func.apply(this, args);
19373
+ if (resultCallback) ;
19374
+ resolve(result);
19375
+ } catch (e) {
19376
+ reject(e);
19377
+ }
19378
+ isInvoke = true;
19379
+ } else {
19380
+ timer = setTimeout(() => {
19381
+ try {
19382
+ const result = func.apply(this, args);
19383
+ if (resultCallback) ;
19384
+ resolve(result);
19385
+ } catch (e) {
19386
+ reject(e);
19387
+ }
19388
+ isInvoke = false;
19389
+ timer = null;
19390
+ }, delay);
19391
+ }
19392
+ });
19393
+ };
19394
+ _debounce.cancel = function() {
19395
+ if (timer) clearTimeout(timer);
19396
+ isInvoke = false;
19397
+ timer = null;
19398
+ };
19399
+ return _debounce;
19400
+ }
19401
+ function toLine(name) {
19402
+ return name.replace(/([A-Z])/g, "_$1").toLowerCase();
19403
+ }
19404
+
19405
+ const _hoisted_1$5 = ["id"];
19406
+ var _sfc_main$a = /* @__PURE__ */ defineComponent({
19407
+ ...{
19408
+ name: "FChart"
19409
+ },
19410
+ __name: "index",
19411
+ props: {
19412
+ options: { default: () => ({}) },
19413
+ id: { default: () => Math.random().toString(36).substring(2, 8) },
19414
+ theme: { default: "" },
19415
+ isEmpty: { type: [Boolean, Function], default: false },
19416
+ description: { default: "\u6682\u65E0\u6570\u636E" }
19417
+ },
19418
+ setup(__props, { emit: __emit }) {
19419
+ const { proxy } = getCurrentInstance();
19420
+ const props = __props;
19421
+ const echartRef = ref();
19422
+ const chart = ref();
19423
+ const emits = __emit;
19424
+ const events = Object.entries(useAttrs());
19425
+ const renderChart = () => {
19426
+ chart.value = markRaw(proxy.$echarts.init(echartRef.value, props.theme));
19427
+ setOption(props.options);
19428
+ emits("chart", chart.value);
19429
+ events.forEach(([key, value]) => {
19430
+ if (key.startsWith("on") && !key.startsWith("onChart")) {
19431
+ const on = toLine(key).substring(3);
19432
+ chart.value.on(on, (...args) => emits(on, ...args));
19433
+ }
19434
+ });
19435
+ useResizeObserver(echartRef.value, resizeChart);
19436
+ };
19437
+ const resizeChart = debounce(
19438
+ () => {
19439
+ var _a;
19440
+ (_a = chart.value) == null ? void 0 : _a.resize();
19441
+ },
19442
+ 300);
19443
+ const setOption = debounce(
19444
+ async (data) => {
19445
+ if (!chart.value) return;
19446
+ chart.value.setOption(data, true, true);
19447
+ await nextTick();
19448
+ resizeChart();
19449
+ },
19450
+ 300);
19451
+ const formatEmpty = computed(() => {
19452
+ if (typeof props.isEmpty === "function") {
19453
+ return props.isEmpty(props.options);
19454
+ }
19455
+ return props.isEmpty;
19456
+ });
19457
+ watch(
19458
+ () => props.options,
19459
+ async (nw) => {
19460
+ await nextTick();
19461
+ setOption(nw);
19462
+ },
19463
+ { deep: true }
19464
+ );
19465
+ watch(
19466
+ () => props.theme,
19467
+ async () => {
19468
+ chart.value.dispose();
19469
+ renderChart();
19470
+ }
19471
+ );
19472
+ onMounted(() => {
19473
+ renderChart();
19474
+ });
19475
+ onBeforeUnmount(() => {
19476
+ chart.value.dispose();
19477
+ chart.value = null;
19478
+ });
19479
+ return (_ctx, _cache) => {
19480
+ const _component_el_empty = resolveComponent("el-empty");
19481
+ return openBlock(), createElementBlock(
19482
+ "div",
19483
+ mergeProps({ class: "f-chart" }, _ctx.$attrs),
19484
+ [
19485
+ withDirectives(createElementVNode("div", {
19486
+ class: "f-chart-container",
19487
+ id: __props.id,
19488
+ ref_key: "echartRef",
19489
+ ref: echartRef
19490
+ }, null, 8, _hoisted_1$5), [
19491
+ [vShow, !formatEmpty.value]
19492
+ ]),
19493
+ formatEmpty.value ? renderSlot(_ctx.$slots, "empty", { key: 0 }, () => [
19494
+ createVNode(_component_el_empty, mergeProps(_ctx.$attrs, { description: __props.description }), null, 16, ["description"])
19495
+ ]) : createCommentVNode("v-if", true),
19496
+ renderSlot(_ctx.$slots, "default")
19497
+ ],
19498
+ 16
19499
+ /* FULL_PROPS */
19500
+ );
19501
+ };
19502
+ }
19503
+ });
19504
+
19505
+ const FChart = _sfc_main$a;
19219
19506
 
19220
19507
  const _hoisted_1$4 = {
19221
19508
  key: 1,
@@ -21835,148 +22122,129 @@ var _sfc_main$1 = /* @__PURE__ */ defineComponent({
21835
22122
 
21836
22123
  const FForm = _sfc_main$1;
21837
22124
 
21838
- function debounce(func, delay = 500, immediate, resultCallback) {
21839
- let timer = null;
21840
- let isInvoke = false;
21841
- const _debounce = function(...args) {
21842
- return new Promise((resolve, reject) => {
21843
- if (timer) clearTimeout(timer);
21844
- if (!isInvoke) {
21845
- try {
21846
- const result = func.apply(this, args);
21847
- if (resultCallback) ;
21848
- resolve(result);
21849
- } catch (e) {
21850
- reject(e);
21851
- }
21852
- isInvoke = true;
21853
- } else {
21854
- timer = setTimeout(() => {
21855
- try {
21856
- const result = func.apply(this, args);
21857
- if (resultCallback) ;
21858
- resolve(result);
21859
- } catch (e) {
21860
- reject(e);
21861
- }
21862
- isInvoke = false;
21863
- timer = null;
21864
- }, delay);
21865
- }
21866
- });
21867
- };
21868
- _debounce.cancel = function() {
21869
- if (timer) clearTimeout(timer);
21870
- isInvoke = false;
21871
- timer = null;
21872
- };
21873
- return _debounce;
21874
- }
21875
- function toLine(name) {
21876
- return name.replace(/([A-Z])/g, "_$1").toLowerCase();
21877
- }
21878
-
21879
- const _hoisted_1 = ["id"];
22125
+ const _hoisted_1 = ["src"];
21880
22126
  var _sfc_main = /* @__PURE__ */ defineComponent({
21881
22127
  ...{
21882
- name: "FChart"
22128
+ name: "svgIcon"
21883
22129
  },
21884
- __name: "index",
22130
+ __name: "svgicon",
21885
22131
  props: {
21886
- options: { default: () => ({}) },
21887
- id: { default: () => Math.random().toString(36).substring(2, 8) },
21888
- theme: { default: "" },
21889
- isEmpty: { type: [Boolean, Function], default: false },
21890
- description: { default: "\u6682\u65E0\u6570\u636E" }
22132
+ // svg 图标组件名字
22133
+ name: {
22134
+ type: String
22135
+ },
22136
+ // svg 大小
22137
+ size: {
22138
+ type: Number,
22139
+ default: () => 14
22140
+ },
22141
+ // svg 颜色
22142
+ color: {
22143
+ type: String
22144
+ }
21891
22145
  },
21892
- setup(__props, { emit: __emit }) {
21893
- const { proxy } = getCurrentInstance();
22146
+ setup(__props) {
21894
22147
  const props = __props;
21895
- const echartRef = ref();
21896
- const chart = ref();
21897
- const emits = __emit;
21898
- const events = Object.entries(useAttrs());
21899
- const renderChart = () => {
21900
- chart.value = markRaw(proxy.$echarts.init(echartRef.value, props.theme));
21901
- setOption(props.options);
21902
- emits("chart", chart.value);
21903
- events.forEach(([key, value]) => {
21904
- if (key.startsWith("on") && !key.startsWith("onChart")) {
21905
- const on = toLine(key).substring(3);
21906
- chart.value.on(on, (...args) => emits(on, ...args));
21907
- }
21908
- });
21909
- useResizeObserver(echartRef.value, resizeChart);
21910
- };
21911
- const resizeChart = debounce(
21912
- () => {
22148
+ const linesString = ["https", "http", "/src", "/assets", "data:image", window.__env__.VITE_PUBLIC_PATH];
22149
+ const getIconName = computed(() => {
22150
+ return props == null ? void 0 : props.name;
22151
+ });
22152
+ const isShowIconSvg = computed(() => {
22153
+ var _a;
22154
+ return (_a = props == null ? void 0 : props.name) == null ? void 0 : _a.startsWith("ele-");
22155
+ });
22156
+ const isShowIconImg = computed(() => {
22157
+ return linesString.find((str) => {
21913
22158
  var _a;
21914
- (_a = chart.value) == null ? void 0 : _a.resize();
21915
- },
21916
- 300);
21917
- const setOption = debounce(
21918
- async (data) => {
21919
- if (!chart.value) return;
21920
- chart.value.setOption(data, true, true);
21921
- await nextTick();
21922
- resizeChart();
21923
- },
21924
- 300);
21925
- const formatEmpty = computed(() => {
21926
- if (typeof props.isEmpty === "function") {
21927
- return props.isEmpty(props.options);
21928
- }
21929
- return props.isEmpty;
22159
+ return (_a = props.name) == null ? void 0 : _a.startsWith(str);
22160
+ });
21930
22161
  });
21931
- watch(
21932
- () => props.options,
21933
- async (nw) => {
21934
- await nextTick();
21935
- setOption(nw);
21936
- },
21937
- { deep: true }
21938
- );
21939
- watch(
21940
- () => props.theme,
21941
- async () => {
21942
- chart.value.dispose();
21943
- renderChart();
21944
- }
21945
- );
21946
- onMounted(() => {
21947
- renderChart();
22162
+ const setIconSvgStyle = computed(() => {
22163
+ return `font-size: ${props.size}px;color: ${props.color};`;
21948
22164
  });
21949
- onBeforeUnmount(() => {
21950
- chart.value.dispose();
21951
- chart.value = null;
22165
+ const setIconImgOutStyle = computed(() => {
22166
+ return `width: ${props.size}px;height: ${props.size}px;display: inline-block;overflow: hidden;`;
22167
+ });
22168
+ const setIconSvgInsStyle = computed(() => {
22169
+ const filterStyle = [];
22170
+ const compatibles = ["-webkit", "-ms", "-o", "-moz"];
22171
+ compatibles.forEach((j) => filterStyle.push(`${j}-filter: drop-shadow(${props.color} ${props.size}px 0);`));
22172
+ return `width: ${props.size}px;height: ${props.size}px;position: relative;left: -${props.size}px;${filterStyle.join("")}`;
21952
22173
  });
21953
22174
  return (_ctx, _cache) => {
21954
- const _component_el_empty = resolveComponent("el-empty");
21955
- return openBlock(), createElementBlock(
22175
+ return isShowIconSvg.value ? (openBlock(), createElementBlock(
22176
+ "i",
22177
+ {
22178
+ key: 0,
22179
+ class: "el-icon",
22180
+ style: normalizeStyle(setIconSvgStyle.value)
22181
+ },
22182
+ [
22183
+ (openBlock(), createBlock(resolveDynamicComponent(getIconName.value)))
22184
+ ],
22185
+ 4
22186
+ /* STYLE */
22187
+ )) : isShowIconImg.value ? (openBlock(), createElementBlock(
21956
22188
  "div",
21957
- mergeProps({ class: "f-chart" }, _ctx.$attrs),
22189
+ {
22190
+ key: 1,
22191
+ style: normalizeStyle(setIconImgOutStyle.value)
22192
+ },
21958
22193
  [
21959
- withDirectives(createElementVNode("div", {
21960
- class: "f-chart-container",
21961
- id: __props.id,
21962
- ref_key: "echartRef",
21963
- ref: echartRef
21964
- }, null, 8, _hoisted_1), [
21965
- [vShow, !formatEmpty.value]
21966
- ]),
21967
- formatEmpty.value ? renderSlot(_ctx.$slots, "empty", { key: 0 }, () => [
21968
- createVNode(_component_el_empty, mergeProps(_ctx.$attrs, { description: __props.description }), null, 16, ["description"])
21969
- ]) : createCommentVNode("v-if", true),
21970
- renderSlot(_ctx.$slots, "default")
22194
+ createElementVNode("img", {
22195
+ src: getIconName.value,
22196
+ style: normalizeStyle(setIconSvgInsStyle.value)
22197
+ }, null, 12, _hoisted_1)
21971
22198
  ],
21972
- 16
21973
- /* FULL_PROPS */
21974
- );
22199
+ 4
22200
+ /* STYLE */
22201
+ )) : (openBlock(), createElementBlock(
22202
+ "i",
22203
+ {
22204
+ key: 2,
22205
+ class: normalizeClass(getIconName.value),
22206
+ style: normalizeStyle(setIconSvgStyle.value)
22207
+ },
22208
+ null,
22209
+ 6
22210
+ /* CLASS, STYLE */
22211
+ ));
21975
22212
  };
21976
22213
  }
21977
22214
  });
21978
22215
 
21979
- const FChart = _sfc_main;
22216
+ function elSvg(app) {
22217
+ const icons = svg;
22218
+ for (const i in icons) {
22219
+ if (!app._context.components[`ele-${icons[i].name}`]) {
22220
+ app.component(`ele-${icons[i].name}`, icons[i]);
22221
+ }
22222
+ }
22223
+ if (!app._context.components[`SvgIcon`]) {
22224
+ app.component("SvgIcon", _sfc_main);
22225
+ }
22226
+ }
22227
+
22228
+ const makeInstaller = (components = []) => {
22229
+ const install = (app) => {
22230
+ components.forEach(
22231
+ (component) => {
22232
+ if (!app._context.components[component.name]) {
22233
+ app.component(component.name, component);
22234
+ }
22235
+ }
22236
+ );
22237
+ if (app) {
22238
+ app.use(pinia);
22239
+ elSvg(app);
22240
+ directive(app);
22241
+ app.use(setupVXETable);
22242
+ }
22243
+ };
22244
+ return {
22245
+ install
22246
+ };
22247
+ };
21980
22248
 
21981
22249
  const plugins = [
21982
22250
  FButton,
@@ -22576,9 +22844,136 @@ function initRouter() {
22576
22844
  return router;
22577
22845
  }
22578
22846
 
22847
+ function useTitle() {
22848
+ const stores = useThemeConfig(pinia);
22849
+ const { themeConfig } = storeToRefs(stores);
22850
+ nextTick(() => {
22851
+ let webTitle = "";
22852
+ let globalTitle = themeConfig.value.globalTitle;
22853
+ const { path, meta } = router.currentRoute.value;
22854
+ if (path === "/login") {
22855
+ webTitle = meta.title;
22856
+ } else {
22857
+ webTitle = setTagsViewNameI18n(router.currentRoute.value);
22858
+ }
22859
+ document.title = `${webTitle} - ${globalTitle}` || globalTitle;
22860
+ });
22861
+ }
22862
+ function setTagsViewNameI18n(item) {
22863
+ let tagsViewName = "";
22864
+ const { query, params, meta } = item;
22865
+ const pattern = /^\{("(zh-CN|en|zh-TW)":"[^,]+",?){1,3}}$/;
22866
+ if ((query == null ? void 0 : query.tagsViewName) || (params == null ? void 0 : params.tagsViewName)) {
22867
+ if (pattern.test(query == null ? void 0 : query.tagsViewName) || pattern.test(params == null ? void 0 : params.tagsViewName)) {
22868
+ const urlTagsParams = (query == null ? void 0 : query.tagsViewName) && JSON.parse(query == null ? void 0 : query.tagsViewName) || (params == null ? void 0 : params.tagsViewName) && JSON.parse(params == null ? void 0 : params.tagsViewName);
22869
+ tagsViewName = urlTagsParams[i18n.global.locale.value];
22870
+ } else {
22871
+ tagsViewName = (query == null ? void 0 : query.tagsViewName) || (params == null ? void 0 : params.tagsViewName);
22872
+ }
22873
+ } else {
22874
+ tagsViewName = i18n.global.t(`message.menu.${meta.title}`);
22875
+ }
22876
+ return tagsViewName;
22877
+ }
22878
+ const lazyImg = (el, arr) => {
22879
+ const io = new IntersectionObserver((res) => {
22880
+ res.forEach((v) => {
22881
+ if (v.isIntersecting) {
22882
+ const { img, key } = v.target.dataset;
22883
+ v.target.src = img;
22884
+ v.target.onload = () => {
22885
+ io.unobserve(v.target);
22886
+ arr[key]["loading"] = false;
22887
+ };
22888
+ }
22889
+ });
22890
+ });
22891
+ nextTick(() => {
22892
+ document.querySelectorAll(el).forEach((img) => io.observe(img));
22893
+ });
22894
+ };
22895
+ const globalComponentSize = () => {
22896
+ const stores = useThemeConfig(pinia);
22897
+ const { themeConfig } = storeToRefs(stores);
22898
+ return themeConfig.value.globalComponentSize;
22899
+ };
22900
+ function deepClone(obj) {
22901
+ let newObj;
22902
+ try {
22903
+ newObj = obj.push ? [] : {};
22904
+ } catch (error) {
22905
+ newObj = {};
22906
+ }
22907
+ for (let attr in obj) {
22908
+ if (obj[attr] && typeof obj[attr] === "object") {
22909
+ newObj[attr] = deepClone(obj[attr]);
22910
+ } else {
22911
+ newObj[attr] = obj[attr];
22912
+ }
22913
+ }
22914
+ return newObj;
22915
+ }
22916
+ function isMobile() {
22917
+ if (navigator.userAgent.match(/('phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone')/i)) {
22918
+ return true;
22919
+ } else {
22920
+ return false;
22921
+ }
22922
+ }
22923
+ function handleEmpty(list) {
22924
+ const arr = [];
22925
+ for (const i in list) {
22926
+ const d = [];
22927
+ for (const j in list[i]) {
22928
+ d.push(list[i][j]);
22929
+ }
22930
+ const leng = d.filter((item) => item === "").length;
22931
+ if (leng !== d.length) {
22932
+ arr.push(list[i]);
22933
+ }
22934
+ }
22935
+ return arr;
22936
+ }
22937
+ function handleOpenLink(val) {
22938
+ var _a, _b, _c;
22939
+ const { origin, pathname } = window.location;
22940
+ router.push(val.path);
22941
+ if (verifyUrl((_a = val.meta) == null ? void 0 : _a.isLink)) window.open((_b = val.meta) == null ? void 0 : _b.isLink);
22942
+ else window.open(`${origin}${pathname}#${(_c = val.meta) == null ? void 0 : _c.isLink}`);
22943
+ }
22944
+ const other = {
22945
+ // elSvg: (app: App) => {
22946
+ // elSvg(app);
22947
+ // },
22948
+ useTitle: () => {
22949
+ useTitle();
22950
+ },
22951
+ setTagsViewNameI18n(route) {
22952
+ return setTagsViewNameI18n(route);
22953
+ },
22954
+ lazyImg: (el, arr) => {
22955
+ lazyImg(el, arr);
22956
+ },
22957
+ globalComponentSize: () => {
22958
+ return globalComponentSize();
22959
+ },
22960
+ deepClone: (obj) => {
22961
+ return deepClone(obj);
22962
+ },
22963
+ isMobile: () => {
22964
+ return isMobile();
22965
+ },
22966
+ handleEmpty: (list) => {
22967
+ return handleEmpty(list);
22968
+ },
22969
+ handleOpenLink: (val) => {
22970
+ handleOpenLink(val);
22971
+ }
22972
+ };
22973
+
22579
22974
  const version = "1.0.0";
22580
22975
 
22581
22976
  const commonFun = commonFunction();
22582
22977
  const install = installer.install;
22583
22978
 
22584
- export { AccountTypeEnum, HttpMethodEnum, JobCreateTypeEnum, Local, NextLoading, Session, StringToObj, accessTokenKey, auth, authAll, auths, axiosInstance, base64ToFile, blobToFile, buildLocaleContext, buildTranslator, cancelAllRequest, cancelRequest, clearAccessTokens, clearTokens, clone, commonFun, commonFunction, configureRoutes, dataURLtoBlob, decryptJWT, installer as default, downloadByBase64, downloadByData, downloadByOnlineUrl, downloadByUrl, downloadStreamFile, en, exportExcel, feature, fileToBase64, flowLoading, formatAxis, formatDate, formatPast, gcj02ToBd09, getCountryCode, getFileName, getHeader, getJWTDate, getToken, getWeek, hAuth, hAuthAll, hAuths, hasPrivilege, hasRoleCode, i18n, initBackEndControlRoutes, initFrontEndControlRoutes, initRouter, install, isAdmin, isMember, isNormalUser, isObjectValueEqual, isSupperAdmin, isTenantAdmin, iso_3166_1_CountryList, judgementIdCard, judgementSameArr, languageList, loadSysInfo, mergMessage, emitter as mittBus, openWindow, orgId, orgName, posId, posName, reLoadLoginAccessToken, refreshAccessTokenKey, removeDuplicate, request2, roles, saulVModel, service, setCssCdn, setDynamicViewsModules, setIntroduction, setJsCdn, setPathPrefix, setupI18n, signatureByKSort, sleep, tansParams, tenantId, translate, updateFavicon, urlToBase64, useApi, useBaseApi, useChangeColor, useDateTimeShortCust, useFormRulePresets, useKeepALiveNames, useLocale, useRequestOldRoutes, useRoutesList, useSysApi, useTagsViewRoutes, useThemeConfig, useUserInfo, useVxeTable, userAccount, userEmail, userFriendName, userId, userName, userPhone, validateFormWithScroll, validateFormWithScrollCallback, verifiyNumberInteger, verifyAccount, verifyAndSpace, verifyCarNum, verifyCnAndSpace, verifyEmail, verifyEnAndSpace, verifyFullName, verifyIPAddress, verifyIdCard, verifyNumberCnUppercase, verifyNumberComma, verifyNumberIntegerAndFloat, verifyNumberPercentage, verifyNumberPercentageFloat, verifyPassword, verifyPasswordPowerful, verifyPasswordStrength, verifyPhone, verifyPostalCode, verifyTelPhone, verifyTextColor, verifyUrl, version, wgs84ToBd09, wgs84ToGcj02, plusZhCn as zhCn };
22979
+ export { AccountTypeEnum, HttpMethodEnum, JobCreateTypeEnum, Local, NextLoading, Session, StringToObj, watermark as Watermark, accessTokenKey, auth, authAll, auths, axiosInstance, base64ToFile, blobToFile, buildLocaleContext, buildTranslator, cancelAllRequest, cancelRequest, clearAccessTokens, clearTokens, clone, commonFun, commonFunction, configureRoutes, dataURLtoBlob, decryptJWT, installer as default, destroyIdleTimeout, downloadByBase64, downloadByData, downloadByOnlineUrl, downloadByUrl, downloadStreamFile, en, exportExcel, feature, fileToBase64, flowLoading, formatAxis, formatDate, formatPast, gcj02ToBd09, getCountryCode, getFileName, getHeader, getJWTDate, getToken, getWeek, hAuth, hAuthAll, hAuths, hasPrivilege, hasRoleCode, i18n, initBackEndControlRoutes, initFrontEndControlRoutes, initIdleTimeout, initRouter, install, isAdmin, isMember, isNormalUser, isObjectValueEqual, isSupperAdmin, isTenantAdmin, iso_3166_1_CountryList, judgementIdCard, judgementSameArr, languageList, loadSysInfo, mergMessage, emitter as mittBus, openWindow, orgId, orgName, other, posId, posName, reLoadLoginAccessToken, refreshAccessTokenKey, removeDuplicate, request2, roles, saulVModel, service, setCssCdn, setDynamicViewsModules, setIntroduction, setJsCdn, setPathPrefix, setupI18n, connection as signalR, signatureByKSort, sleep, tansParams, tenantId, translate, updateFavicon, updateIdleTimeout, urlToBase64, useApi, useBaseApi, useChangeColor, useDateTimeShortCust, useFormRulePresets, useKeepALiveNames, useLocale, useRequestOldRoutes, useRoutesList, useSysApi, useTagsViewRoutes, useThemeConfig, useUserInfo, useVxeTable, userAccount, userEmail, userFriendName, userId, userName, userPhone, validateFormWithScroll, validateFormWithScrollCallback, verifiyNumberInteger, verifyAccount, verifyAndSpace, verifyCarNum, verifyCnAndSpace, verifyEmail, verifyEnAndSpace, verifyFullName, verifyIPAddress, verifyIdCard, verifyNumberCnUppercase, verifyNumberComma, verifyNumberIntegerAndFloat, verifyNumberPercentage, verifyNumberPercentageFloat, verifyPassword, verifyPasswordPowerful, verifyPasswordStrength, verifyPhone, verifyPostalCode, verifyTelPhone, verifyTextColor, verifyUrl, version, wgs84ToBd09, wgs84ToGcj02, plusZhCn as zhCn };