@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.js CHANGED
@@ -1,9 +1,29 @@
1
- /*! fmdeui-fmui v1.0.10 */
1
+ /*! fmdeui-fmui v1.0.13 */
2
2
  (function (global, factory) {
3
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('pinia'), require('crypto-js'), require('xlsx-js-style'), require('element-plus'), require('vue'), require('@element-plus/icons-vue'), require('axios'), require('js-cookie'), require('vxe-table'), require('@vxe-ui/plugin-render-element'), require('@vxe-ui/plugin-export-xlsx'), require('vxe-pc-ui'), require('vue-i18n'), require('exceljs'), require('lodash-es'), require('@vueuse/core'), require('mitt'), require('vue-router'), require('nprogress')) :
4
- typeof define === 'function' && define.amd ? define(['exports', 'pinia', 'crypto-js', 'xlsx-js-style', 'element-plus', 'vue', '@element-plus/icons-vue', 'axios', 'js-cookie', 'vxe-table', '@vxe-ui/plugin-render-element', '@vxe-ui/plugin-export-xlsx', 'vxe-pc-ui', 'vue-i18n', 'exceljs', 'lodash-es', '@vueuse/core', 'mitt', 'vue-router', 'nprogress'], factory) :
5
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.fmdeuifmui = {}, global.Pinia, global.CryptoJS, global.XLSX, global.ElementPlus, global.Vue, global.ElementPlusIconsVue, global.axios, global.Cookies, global.VxeUITable, global.VxeUIPluginRenderElement, global.VxeUIPluginExportXLSX, global.VxeUIExport, global.vueI18n, global.ExcelJS, global._, global.VueUse, global.mitt, global.vueRouter, global.NProgress));
6
- })(this, (function (exports, pinia$1, CryptoJS, XLSXS, elementPlus, vue, svg, axios, Cookies, VxeUITable, VxeUIPluginRenderElement, VxeUIPluginExportXLSX, VxeUI, vueI18n, ExcelJS, lodashEs, core, mitt, vueRouter, NProgress) { 'use strict';
3
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('pinia'), require('crypto-js'), require('xlsx-js-style'), require('element-plus'), require('vue'), require('@element-plus/icons-vue'), require('axios'), require('js-cookie'), require('@microsoft/signalr'), require('vxe-table'), require('@vxe-ui/plugin-render-element'), require('@vxe-ui/plugin-export-xlsx'), require('vxe-pc-ui'), require('vue-i18n'), require('exceljs'), require('lodash-es'), require('@vueuse/core'), require('mitt'), require('vue-router'), require('nprogress')) :
4
+ typeof define === 'function' && define.amd ? define(['exports', 'pinia', 'crypto-js', 'xlsx-js-style', 'element-plus', 'vue', '@element-plus/icons-vue', 'axios', 'js-cookie', '@microsoft/signalr', 'vxe-table', '@vxe-ui/plugin-render-element', '@vxe-ui/plugin-export-xlsx', 'vxe-pc-ui', 'vue-i18n', 'exceljs', 'lodash-es', '@vueuse/core', 'mitt', 'vue-router', 'nprogress'], factory) :
5
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.fmdeuifmui = {}, global.Pinia, global.CryptoJS, global.XLSX, global.ElementPlus, global.Vue, global.ElementPlusIconsVue, global.axios, global.Cookies, global.SignalR, global.VxeUITable, global.VxeUIPluginRenderElement, global.VxeUIPluginExportXLSX, global.VxeUIExport, global.vueI18n, global.ExcelJS, global._, global.VueUse, global.mitt, global.vueRouter, global.NProgress));
6
+ })(this, (function (exports, pinia$1, CryptoJS, XLSXS, elementPlus, vue, svg, axios, Cookies, SignalR, VxeUITable, VxeUIPluginRenderElement, VxeUIPluginExportXLSX, VxeUI, vueI18n, ExcelJS, lodashEs, core, mitt, vueRouter, NProgress) { 'use strict';
7
+
8
+ function _interopNamespaceDefault(e) {
9
+ var n = Object.create(null);
10
+ if (e) {
11
+ Object.keys(e).forEach(function (k) {
12
+ if (k !== 'default') {
13
+ var d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: function () { return e[k]; }
17
+ });
18
+ }
19
+ });
20
+ }
21
+ n.default = e;
22
+ return Object.freeze(n);
23
+ }
24
+
25
+ var svg__namespace = /*#__PURE__*/_interopNamespaceDefault(svg);
26
+ var SignalR__namespace = /*#__PURE__*/_interopNamespaceDefault(SignalR);
7
27
 
8
28
  const pinia = pinia$1.createPinia();
9
29
 
@@ -491,9 +511,9 @@
491
511
  return value;
492
512
  };
493
513
 
494
- var __defProp = Object.defineProperty;
495
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
496
- var __publicField = (obj, key, value) => __defNormalProp(obj, key + "" , value);
514
+ var __defProp$1 = Object.defineProperty;
515
+ var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
516
+ var __publicField$1 = (obj, key, value) => __defNormalProp$1(obj, key + "" , value);
497
517
  const DEFAULT_CONFIG = {
498
518
  lock: true,
499
519
  text: "",
@@ -506,7 +526,7 @@
506
526
  };
507
527
  class FlowLoadingManager {
508
528
  constructor() {
509
- __publicField(this, "instance", null);
529
+ __publicField$1(this, "instance", null);
510
530
  }
511
531
  // 2. 统一返回类型
512
532
  start(options) {
@@ -1632,6 +1652,53 @@
1632
1652
  return entity;
1633
1653
  }
1634
1654
 
1655
+ const connection = new SignalR__namespace.HubConnectionBuilder().configureLogging(SignalR__namespace.LogLevel.Warning).withUrl(`${window.__env__.VITE_API_URL}/hubs/onlineUser?token=${getToken()}`, { transport: SignalR__namespace.HttpTransportType.WebSockets, skipNegotiation: true }).withAutomaticReconnect({
1656
+ nextRetryDelayInMilliseconds: () => {
1657
+ return 5e3;
1658
+ }
1659
+ }).build();
1660
+ connection.keepAliveIntervalInMilliseconds = 15 * 1e3;
1661
+ connection.serverTimeoutInMilliseconds = 30 * 1e3;
1662
+ connection.start().then(() => {
1663
+ });
1664
+ connection.onclose(async () => {
1665
+ });
1666
+ connection.onreconnecting(() => {
1667
+ elementPlus.ElNotification({
1668
+ title: "\u63D0\u793A",
1669
+ message: "\u8FDE\u63A5\u5DF2\u65AD\u5F00 >>>>>",
1670
+ type: "error",
1671
+ position: "bottom-right"
1672
+ });
1673
+ });
1674
+ connection.onreconnected(() => {
1675
+ elementPlus.ElNotification({
1676
+ title: "\u63D0\u793A",
1677
+ message: "\u8FDE\u63A5\u5DF2\u6062\u590D >>>>>",
1678
+ type: "success",
1679
+ position: "bottom-right"
1680
+ });
1681
+ });
1682
+ connection.on("OnlineUserList", () => {
1683
+ });
1684
+ connection.on("ReceiveMessage", (message) => {
1685
+ var tmpMsg = `<div style="white-space: pre-wrap;">${message.message}<div><br/>`;
1686
+ tmpMsg += `<p style="color:#808080; font-size:10px;float:right"> ${message.sendUserName} ${message.sendTime}<p>`;
1687
+ elementPlus.ElNotification({
1688
+ title: `${message.title}`,
1689
+ message: tmpMsg,
1690
+ type: message.messageType.toString().toLowerCase(),
1691
+ position: "top-right",
1692
+ dangerouslyUseHTMLString: true,
1693
+ duration: 5e3
1694
+ });
1695
+ });
1696
+
1697
+ var signalR$1 = /*#__PURE__*/Object.freeze({
1698
+ __proto__: null,
1699
+ signalR: connection
1700
+ });
1701
+
1635
1702
  const setWatermark = (str) => {
1636
1703
  const id = "1.23452384164.123412416";
1637
1704
  if (document.getElementById(id) !== null) document.body.removeChild(document.getElementById(id));
@@ -18328,25 +18395,7 @@
18328
18395
  app.use(VxeUITable);
18329
18396
  };
18330
18397
 
18331
- const makeInstaller = (components = []) => {
18332
- const install = (app) => {
18333
- components.forEach(
18334
- (component) => {
18335
- if (!app._context.components[component.name]) {
18336
- app.component(component.name, component);
18337
- }
18338
- }
18339
- );
18340
- app.use(pinia);
18341
- directive(app);
18342
- app.use(setupVXETable);
18343
- };
18344
- return {
18345
- install
18346
- };
18347
- };
18348
-
18349
- var _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
18398
+ var _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
18350
18399
  ...{
18351
18400
  name: "FButton"
18352
18401
  },
@@ -18416,7 +18465,7 @@
18416
18465
  }
18417
18466
  });
18418
18467
 
18419
- const FButton = _sfc_main$d;
18468
+ const FButton = _sfc_main$e;
18420
18469
 
18421
18470
  const buildTranslator = (locale) => (path, option) => translate(path, option, vue.unref(locale));
18422
18471
  const translate = (path, option, locale) => lodashEs.get(locale, path, path).replace(
@@ -18704,7 +18753,120 @@
18704
18753
 
18705
18754
  var img = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEEAAABBCAYAAACO98lFAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFwmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyNS0wNC0wNFQwMToyMzozMCswODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyNS0wNC0wNFQwMToyMzozMCswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjUtMDQtMDRUMDE6MjM6MzArMDg6MDAiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDY0Mzc1NWEtZTM4ZC1hMzQxLWFmODgtNmFhY2FmYmI4ZDY0IiB4bXBNTTpEb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MTdlYzEzMTgtNmY3Mi1mYjQ4LWI3YjUtMzg2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";
18706
18755
 
18756
+ var __defProp = Object.defineProperty;
18757
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
18758
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
18759
+ let signalR;
18760
+ async function loadSignalR() {
18761
+ if (!signalR) {
18762
+ const module = await Promise.resolve().then(function () { return signalR$1; });
18763
+ signalR = module.signalR;
18764
+ }
18765
+ return signalR;
18766
+ }
18707
18767
  const { t } = useLocale();
18768
+ class IdleTimeoutManager {
18769
+ constructor(config = {}) {
18770
+ __publicField(this, "timerId", null);
18771
+ __publicField(this, "config");
18772
+ __publicField(this, "debouncedReset");
18773
+ /** 检查闲置超时时间间隔 */
18774
+ __publicField(this, "checkTimeoutInterval", 2 * 1e3);
18775
+ __publicField(this, "handleVisibilityChange", () => {
18776
+ if (document.visibilityState === "visible") {
18777
+ this.setLastActivityTime();
18778
+ }
18779
+ });
18780
+ this.config = {
18781
+ timeout: 30 * 60,
18782
+ events: ["mousewheel", "keydown", "click"],
18783
+ onTimeout: this.timeOutExec.bind(this),
18784
+ debounceInterval: 200,
18785
+ ...config
18786
+ };
18787
+ this.debouncedReset = this.config.debounceInterval > 0 ? lodashEs.debounce(this.setLastActivityTime.bind(this), this.config.debounceInterval) : this.setLastActivityTime.bind(this);
18788
+ this.init();
18789
+ }
18790
+ init() {
18791
+ this.config.events.forEach((event) => {
18792
+ window.addEventListener(event, this.debouncedReset);
18793
+ });
18794
+ document.addEventListener("visibilitychange", this.handleVisibilityChange);
18795
+ this.setLastActivityTime();
18796
+ this.updateIdleTimeout(this.config.timeout);
18797
+ }
18798
+ /** 设置最后活动时间 */
18799
+ setLastActivityTime() {
18800
+ Local.set("lastActivityTime", (/* @__PURE__ */ new Date()).getTime());
18801
+ }
18802
+ /**
18803
+ * 更新空闲超时时间
18804
+ * @param timeout - 新的超时时间(毫秒)
18805
+ */
18806
+ updateIdleTimeout(timeout) {
18807
+ this.config.timeout = timeout;
18808
+ if (this.config.timeout > 0 && this.timerId == null) {
18809
+ this.timerId = window.setInterval(this.checkTimeout.bind(this), this.checkTimeoutInterval);
18810
+ } else if (this.config.timeout == 0 && this.timerId != null) {
18811
+ window.clearInterval(this.timerId);
18812
+ this.timerId = null;
18813
+ }
18814
+ }
18815
+ /** 检查是否超时 */
18816
+ checkTimeout() {
18817
+ const currentTime = (/* @__PURE__ */ new Date()).getTime();
18818
+ const lastActivityTime = Number(Local.get("lastActivityTime"));
18819
+ if (lastActivityTime == 0) return;
18820
+ const accessToken = Local.get(accessTokenKey);
18821
+ if (!accessToken || accessToken == "invalid_token") return;
18822
+ const timeout = this.config.timeout * 1e3;
18823
+ if (currentTime - lastActivityTime > timeout) {
18824
+ this.destroy();
18825
+ this.config.onTimeout();
18826
+ }
18827
+ }
18828
+ /** 销毁实例 */
18829
+ destroy() {
18830
+ this.config.events.forEach((event) => {
18831
+ window.removeEventListener(event, this.debouncedReset);
18832
+ });
18833
+ document.removeEventListener("visibilitychange", this.handleVisibilityChange);
18834
+ if (this.timerId !== null) {
18835
+ window.clearInterval(this.timerId);
18836
+ this.timerId = null;
18837
+ }
18838
+ }
18839
+ /** 超时时执行 */
18840
+ timeOutExec() {
18841
+ const appEl = document.getElementById("app");
18842
+ appEl == null ? void 0 : appEl.remove();
18843
+ loadSignalR().then((signalR2) => {
18844
+ signalR2.stop();
18845
+ });
18846
+ Local.remove(accessTokenKey);
18847
+ Local.remove(refreshAccessTokenKey);
18848
+ Session.clear();
18849
+ elementPlus.ElMessageBox.alert(t("plus.list.idleTimeoutMessage"), t("plus.list.sysMessage"), {
18850
+ type: "warning",
18851
+ draggable: true,
18852
+ callback: () => {
18853
+ window.location.reload();
18854
+ }
18855
+ });
18856
+ }
18857
+ }
18858
+ function initIdleTimeout(config) {
18859
+ if (!window.__IDLE_TIMEOUT__) {
18860
+ window.__IDLE_TIMEOUT__ = new IdleTimeoutManager(config);
18861
+ }
18862
+ return window.__IDLE_TIMEOUT__;
18863
+ }
18864
+ function destroyIdleTimeout() {
18865
+ if (window.__IDLE_TIMEOUT__) {
18866
+ window.__IDLE_TIMEOUT__.destroy();
18867
+ window.__IDLE_TIMEOUT__ = void 0;
18868
+ }
18869
+ }
18708
18870
  function updateIdleTimeout(timeout) {
18709
18871
  if (window.__IDLE_TIMEOUT__) {
18710
18872
  window.__IDLE_TIMEOUT__.updateIdleTimeout(timeout);
@@ -18823,9 +18985,9 @@
18823
18985
  ];
18824
18986
  };
18825
18987
 
18826
- const _hoisted_1$6 = { key: 0 };
18988
+ const _hoisted_1$7 = { key: 0 };
18827
18989
  const _hoisted_2$3 = { key: 0 };
18828
- var _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
18990
+ var _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
18829
18991
  ...{
18830
18992
  name: "FInput"
18831
18993
  },
@@ -19029,7 +19191,7 @@
19029
19191
  fn: vue.withCtx(() => [
19030
19192
  __props.inputType === "amount" ? (vue.openBlock(), vue.createElementBlock(
19031
19193
  "span",
19032
- _hoisted_1$6,
19194
+ _hoisted_1$7,
19033
19195
  vue.toDisplayString(appendTitleText.value),
19034
19196
  1
19035
19197
  /* TEXT */
@@ -19075,13 +19237,13 @@
19075
19237
  }
19076
19238
  });
19077
19239
 
19078
- const FInput = _sfc_main$c;
19240
+ const FInput = _sfc_main$d;
19079
19241
 
19080
- const _hoisted_1$5 = {
19242
+ const _hoisted_1$6 = {
19081
19243
  key: 0,
19082
19244
  class: "back_to_top"
19083
19245
  };
19084
- var _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
19246
+ var _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
19085
19247
  ...{
19086
19248
  name: "FLayoutPage"
19087
19249
  },
@@ -19143,7 +19305,7 @@
19143
19305
  },
19144
19306
  [
19145
19307
  vue.renderSlot(_ctx.$slots, "default"),
19146
- __props.showGoTopButton ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$5, [
19308
+ __props.showGoTopButton ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$6, [
19147
19309
  isShowGoTopButton.value ? (vue.openBlock(), vue.createElementBlock("div", {
19148
19310
  key: 0,
19149
19311
  onClick: backToTop
@@ -19171,9 +19333,9 @@
19171
19333
  }
19172
19334
  });
19173
19335
 
19174
- const FLayoutPage = _sfc_main$b;
19336
+ const FLayoutPage = _sfc_main$c;
19175
19337
 
19176
- var _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
19338
+ var _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
19177
19339
  ...{
19178
19340
  name: "FLayoutPageItem"
19179
19341
  },
@@ -19201,7 +19363,150 @@
19201
19363
  }
19202
19364
  });
19203
19365
 
19204
- const FLayoutPageItem = _sfc_main$a;
19366
+ const FLayoutPageItem = _sfc_main$b;
19367
+
19368
+ function debounce(func, delay = 500, immediate, resultCallback) {
19369
+ let timer = null;
19370
+ let isInvoke = false;
19371
+ const _debounce = function(...args) {
19372
+ return new Promise((resolve, reject) => {
19373
+ if (timer) clearTimeout(timer);
19374
+ if (!isInvoke) {
19375
+ try {
19376
+ const result = func.apply(this, args);
19377
+ if (resultCallback) ;
19378
+ resolve(result);
19379
+ } catch (e) {
19380
+ reject(e);
19381
+ }
19382
+ isInvoke = true;
19383
+ } else {
19384
+ timer = setTimeout(() => {
19385
+ try {
19386
+ const result = func.apply(this, args);
19387
+ if (resultCallback) ;
19388
+ resolve(result);
19389
+ } catch (e) {
19390
+ reject(e);
19391
+ }
19392
+ isInvoke = false;
19393
+ timer = null;
19394
+ }, delay);
19395
+ }
19396
+ });
19397
+ };
19398
+ _debounce.cancel = function() {
19399
+ if (timer) clearTimeout(timer);
19400
+ isInvoke = false;
19401
+ timer = null;
19402
+ };
19403
+ return _debounce;
19404
+ }
19405
+ function toLine(name) {
19406
+ return name.replace(/([A-Z])/g, "_$1").toLowerCase();
19407
+ }
19408
+
19409
+ const _hoisted_1$5 = ["id"];
19410
+ var _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
19411
+ ...{
19412
+ name: "FChart"
19413
+ },
19414
+ __name: "index",
19415
+ props: {
19416
+ options: { default: () => ({}) },
19417
+ id: { default: () => Math.random().toString(36).substring(2, 8) },
19418
+ theme: { default: "" },
19419
+ isEmpty: { type: [Boolean, Function], default: false },
19420
+ description: { default: "\u6682\u65E0\u6570\u636E" }
19421
+ },
19422
+ setup(__props, { emit: __emit }) {
19423
+ const { proxy } = vue.getCurrentInstance();
19424
+ const props = __props;
19425
+ const echartRef = vue.ref();
19426
+ const chart = vue.ref();
19427
+ const emits = __emit;
19428
+ const events = Object.entries(vue.useAttrs());
19429
+ const renderChart = () => {
19430
+ chart.value = vue.markRaw(proxy.$echarts.init(echartRef.value, props.theme));
19431
+ setOption(props.options);
19432
+ emits("chart", chart.value);
19433
+ events.forEach(([key, value]) => {
19434
+ if (key.startsWith("on") && !key.startsWith("onChart")) {
19435
+ const on = toLine(key).substring(3);
19436
+ chart.value.on(on, (...args) => emits(on, ...args));
19437
+ }
19438
+ });
19439
+ core.useResizeObserver(echartRef.value, resizeChart);
19440
+ };
19441
+ const resizeChart = debounce(
19442
+ () => {
19443
+ var _a;
19444
+ (_a = chart.value) == null ? void 0 : _a.resize();
19445
+ },
19446
+ 300);
19447
+ const setOption = debounce(
19448
+ async (data) => {
19449
+ if (!chart.value) return;
19450
+ chart.value.setOption(data, true, true);
19451
+ await vue.nextTick();
19452
+ resizeChart();
19453
+ },
19454
+ 300);
19455
+ const formatEmpty = vue.computed(() => {
19456
+ if (typeof props.isEmpty === "function") {
19457
+ return props.isEmpty(props.options);
19458
+ }
19459
+ return props.isEmpty;
19460
+ });
19461
+ vue.watch(
19462
+ () => props.options,
19463
+ async (nw) => {
19464
+ await vue.nextTick();
19465
+ setOption(nw);
19466
+ },
19467
+ { deep: true }
19468
+ );
19469
+ vue.watch(
19470
+ () => props.theme,
19471
+ async () => {
19472
+ chart.value.dispose();
19473
+ renderChart();
19474
+ }
19475
+ );
19476
+ vue.onMounted(() => {
19477
+ renderChart();
19478
+ });
19479
+ vue.onBeforeUnmount(() => {
19480
+ chart.value.dispose();
19481
+ chart.value = null;
19482
+ });
19483
+ return (_ctx, _cache) => {
19484
+ const _component_el_empty = vue.resolveComponent("el-empty");
19485
+ return vue.openBlock(), vue.createElementBlock(
19486
+ "div",
19487
+ vue.mergeProps({ class: "f-chart" }, _ctx.$attrs),
19488
+ [
19489
+ vue.withDirectives(vue.createElementVNode("div", {
19490
+ class: "f-chart-container",
19491
+ id: __props.id,
19492
+ ref_key: "echartRef",
19493
+ ref: echartRef
19494
+ }, null, 8, _hoisted_1$5), [
19495
+ [vue.vShow, !formatEmpty.value]
19496
+ ]),
19497
+ formatEmpty.value ? vue.renderSlot(_ctx.$slots, "empty", { key: 0 }, () => [
19498
+ vue.createVNode(_component_el_empty, vue.mergeProps(_ctx.$attrs, { description: __props.description }), null, 16, ["description"])
19499
+ ]) : vue.createCommentVNode("v-if", true),
19500
+ vue.renderSlot(_ctx.$slots, "default")
19501
+ ],
19502
+ 16
19503
+ /* FULL_PROPS */
19504
+ );
19505
+ };
19506
+ }
19507
+ });
19508
+
19509
+ const FChart = _sfc_main$a;
19205
19510
 
19206
19511
  const _hoisted_1$4 = {
19207
19512
  key: 1,
@@ -21821,148 +22126,129 @@
21821
22126
 
21822
22127
  const FForm = _sfc_main$1;
21823
22128
 
21824
- function debounce(func, delay = 500, immediate, resultCallback) {
21825
- let timer = null;
21826
- let isInvoke = false;
21827
- const _debounce = function(...args) {
21828
- return new Promise((resolve, reject) => {
21829
- if (timer) clearTimeout(timer);
21830
- if (!isInvoke) {
21831
- try {
21832
- const result = func.apply(this, args);
21833
- if (resultCallback) ;
21834
- resolve(result);
21835
- } catch (e) {
21836
- reject(e);
21837
- }
21838
- isInvoke = true;
21839
- } else {
21840
- timer = setTimeout(() => {
21841
- try {
21842
- const result = func.apply(this, args);
21843
- if (resultCallback) ;
21844
- resolve(result);
21845
- } catch (e) {
21846
- reject(e);
21847
- }
21848
- isInvoke = false;
21849
- timer = null;
21850
- }, delay);
21851
- }
21852
- });
21853
- };
21854
- _debounce.cancel = function() {
21855
- if (timer) clearTimeout(timer);
21856
- isInvoke = false;
21857
- timer = null;
21858
- };
21859
- return _debounce;
21860
- }
21861
- function toLine(name) {
21862
- return name.replace(/([A-Z])/g, "_$1").toLowerCase();
21863
- }
21864
-
21865
- const _hoisted_1 = ["id"];
22129
+ const _hoisted_1 = ["src"];
21866
22130
  var _sfc_main = /* @__PURE__ */ vue.defineComponent({
21867
22131
  ...{
21868
- name: "FChart"
22132
+ name: "svgIcon"
21869
22133
  },
21870
- __name: "index",
22134
+ __name: "svgicon",
21871
22135
  props: {
21872
- options: { default: () => ({}) },
21873
- id: { default: () => Math.random().toString(36).substring(2, 8) },
21874
- theme: { default: "" },
21875
- isEmpty: { type: [Boolean, Function], default: false },
21876
- description: { default: "\u6682\u65E0\u6570\u636E" }
22136
+ // svg 图标组件名字
22137
+ name: {
22138
+ type: String
22139
+ },
22140
+ // svg 大小
22141
+ size: {
22142
+ type: Number,
22143
+ default: () => 14
22144
+ },
22145
+ // svg 颜色
22146
+ color: {
22147
+ type: String
22148
+ }
21877
22149
  },
21878
- setup(__props, { emit: __emit }) {
21879
- const { proxy } = vue.getCurrentInstance();
22150
+ setup(__props) {
21880
22151
  const props = __props;
21881
- const echartRef = vue.ref();
21882
- const chart = vue.ref();
21883
- const emits = __emit;
21884
- const events = Object.entries(vue.useAttrs());
21885
- const renderChart = () => {
21886
- chart.value = vue.markRaw(proxy.$echarts.init(echartRef.value, props.theme));
21887
- setOption(props.options);
21888
- emits("chart", chart.value);
21889
- events.forEach(([key, value]) => {
21890
- if (key.startsWith("on") && !key.startsWith("onChart")) {
21891
- const on = toLine(key).substring(3);
21892
- chart.value.on(on, (...args) => emits(on, ...args));
21893
- }
21894
- });
21895
- core.useResizeObserver(echartRef.value, resizeChart);
21896
- };
21897
- const resizeChart = debounce(
21898
- () => {
22152
+ const linesString = ["https", "http", "/src", "/assets", "data:image", window.__env__.VITE_PUBLIC_PATH];
22153
+ const getIconName = vue.computed(() => {
22154
+ return props == null ? void 0 : props.name;
22155
+ });
22156
+ const isShowIconSvg = vue.computed(() => {
22157
+ var _a;
22158
+ return (_a = props == null ? void 0 : props.name) == null ? void 0 : _a.startsWith("ele-");
22159
+ });
22160
+ const isShowIconImg = vue.computed(() => {
22161
+ return linesString.find((str) => {
21899
22162
  var _a;
21900
- (_a = chart.value) == null ? void 0 : _a.resize();
21901
- },
21902
- 300);
21903
- const setOption = debounce(
21904
- async (data) => {
21905
- if (!chart.value) return;
21906
- chart.value.setOption(data, true, true);
21907
- await vue.nextTick();
21908
- resizeChart();
21909
- },
21910
- 300);
21911
- const formatEmpty = vue.computed(() => {
21912
- if (typeof props.isEmpty === "function") {
21913
- return props.isEmpty(props.options);
21914
- }
21915
- return props.isEmpty;
22163
+ return (_a = props.name) == null ? void 0 : _a.startsWith(str);
22164
+ });
21916
22165
  });
21917
- vue.watch(
21918
- () => props.options,
21919
- async (nw) => {
21920
- await vue.nextTick();
21921
- setOption(nw);
21922
- },
21923
- { deep: true }
21924
- );
21925
- vue.watch(
21926
- () => props.theme,
21927
- async () => {
21928
- chart.value.dispose();
21929
- renderChart();
21930
- }
21931
- );
21932
- vue.onMounted(() => {
21933
- renderChart();
22166
+ const setIconSvgStyle = vue.computed(() => {
22167
+ return `font-size: ${props.size}px;color: ${props.color};`;
21934
22168
  });
21935
- vue.onBeforeUnmount(() => {
21936
- chart.value.dispose();
21937
- chart.value = null;
22169
+ const setIconImgOutStyle = vue.computed(() => {
22170
+ return `width: ${props.size}px;height: ${props.size}px;display: inline-block;overflow: hidden;`;
22171
+ });
22172
+ const setIconSvgInsStyle = vue.computed(() => {
22173
+ const filterStyle = [];
22174
+ const compatibles = ["-webkit", "-ms", "-o", "-moz"];
22175
+ compatibles.forEach((j) => filterStyle.push(`${j}-filter: drop-shadow(${props.color} ${props.size}px 0);`));
22176
+ return `width: ${props.size}px;height: ${props.size}px;position: relative;left: -${props.size}px;${filterStyle.join("")}`;
21938
22177
  });
21939
22178
  return (_ctx, _cache) => {
21940
- const _component_el_empty = vue.resolveComponent("el-empty");
21941
- return vue.openBlock(), vue.createElementBlock(
22179
+ return isShowIconSvg.value ? (vue.openBlock(), vue.createElementBlock(
22180
+ "i",
22181
+ {
22182
+ key: 0,
22183
+ class: "el-icon",
22184
+ style: vue.normalizeStyle(setIconSvgStyle.value)
22185
+ },
22186
+ [
22187
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(getIconName.value)))
22188
+ ],
22189
+ 4
22190
+ /* STYLE */
22191
+ )) : isShowIconImg.value ? (vue.openBlock(), vue.createElementBlock(
21942
22192
  "div",
21943
- vue.mergeProps({ class: "f-chart" }, _ctx.$attrs),
22193
+ {
22194
+ key: 1,
22195
+ style: vue.normalizeStyle(setIconImgOutStyle.value)
22196
+ },
21944
22197
  [
21945
- vue.withDirectives(vue.createElementVNode("div", {
21946
- class: "f-chart-container",
21947
- id: __props.id,
21948
- ref_key: "echartRef",
21949
- ref: echartRef
21950
- }, null, 8, _hoisted_1), [
21951
- [vue.vShow, !formatEmpty.value]
21952
- ]),
21953
- formatEmpty.value ? vue.renderSlot(_ctx.$slots, "empty", { key: 0 }, () => [
21954
- vue.createVNode(_component_el_empty, vue.mergeProps(_ctx.$attrs, { description: __props.description }), null, 16, ["description"])
21955
- ]) : vue.createCommentVNode("v-if", true),
21956
- vue.renderSlot(_ctx.$slots, "default")
22198
+ vue.createElementVNode("img", {
22199
+ src: getIconName.value,
22200
+ style: vue.normalizeStyle(setIconSvgInsStyle.value)
22201
+ }, null, 12, _hoisted_1)
21957
22202
  ],
21958
- 16
21959
- /* FULL_PROPS */
21960
- );
22203
+ 4
22204
+ /* STYLE */
22205
+ )) : (vue.openBlock(), vue.createElementBlock(
22206
+ "i",
22207
+ {
22208
+ key: 2,
22209
+ class: vue.normalizeClass(getIconName.value),
22210
+ style: vue.normalizeStyle(setIconSvgStyle.value)
22211
+ },
22212
+ null,
22213
+ 6
22214
+ /* CLASS, STYLE */
22215
+ ));
21961
22216
  };
21962
22217
  }
21963
22218
  });
21964
22219
 
21965
- const FChart = _sfc_main;
22220
+ function elSvg(app) {
22221
+ const icons = svg__namespace;
22222
+ for (const i in icons) {
22223
+ if (!app._context.components[`ele-${icons[i].name}`]) {
22224
+ app.component(`ele-${icons[i].name}`, icons[i]);
22225
+ }
22226
+ }
22227
+ if (!app._context.components[`SvgIcon`]) {
22228
+ app.component("SvgIcon", _sfc_main);
22229
+ }
22230
+ }
22231
+
22232
+ const makeInstaller = (components = []) => {
22233
+ const install = (app) => {
22234
+ components.forEach(
22235
+ (component) => {
22236
+ if (!app._context.components[component.name]) {
22237
+ app.component(component.name, component);
22238
+ }
22239
+ }
22240
+ );
22241
+ if (app) {
22242
+ app.use(pinia);
22243
+ elSvg(app);
22244
+ directive(app);
22245
+ app.use(setupVXETable);
22246
+ }
22247
+ };
22248
+ return {
22249
+ install
22250
+ };
22251
+ };
21966
22252
 
21967
22253
  const plugins = [
21968
22254
  FButton,
@@ -22562,6 +22848,133 @@
22562
22848
  return router;
22563
22849
  }
22564
22850
 
22851
+ function useTitle() {
22852
+ const stores = useThemeConfig(pinia);
22853
+ const { themeConfig } = pinia$1.storeToRefs(stores);
22854
+ vue.nextTick(() => {
22855
+ let webTitle = "";
22856
+ let globalTitle = themeConfig.value.globalTitle;
22857
+ const { path, meta } = router.currentRoute.value;
22858
+ if (path === "/login") {
22859
+ webTitle = meta.title;
22860
+ } else {
22861
+ webTitle = setTagsViewNameI18n(router.currentRoute.value);
22862
+ }
22863
+ document.title = `${webTitle} - ${globalTitle}` || globalTitle;
22864
+ });
22865
+ }
22866
+ function setTagsViewNameI18n(item) {
22867
+ let tagsViewName = "";
22868
+ const { query, params, meta } = item;
22869
+ const pattern = /^\{("(zh-CN|en|zh-TW)":"[^,]+",?){1,3}}$/;
22870
+ if ((query == null ? void 0 : query.tagsViewName) || (params == null ? void 0 : params.tagsViewName)) {
22871
+ if (pattern.test(query == null ? void 0 : query.tagsViewName) || pattern.test(params == null ? void 0 : params.tagsViewName)) {
22872
+ 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);
22873
+ tagsViewName = urlTagsParams[i18n.global.locale.value];
22874
+ } else {
22875
+ tagsViewName = (query == null ? void 0 : query.tagsViewName) || (params == null ? void 0 : params.tagsViewName);
22876
+ }
22877
+ } else {
22878
+ tagsViewName = i18n.global.t(`message.menu.${meta.title}`);
22879
+ }
22880
+ return tagsViewName;
22881
+ }
22882
+ const lazyImg = (el, arr) => {
22883
+ const io = new IntersectionObserver((res) => {
22884
+ res.forEach((v) => {
22885
+ if (v.isIntersecting) {
22886
+ const { img, key } = v.target.dataset;
22887
+ v.target.src = img;
22888
+ v.target.onload = () => {
22889
+ io.unobserve(v.target);
22890
+ arr[key]["loading"] = false;
22891
+ };
22892
+ }
22893
+ });
22894
+ });
22895
+ vue.nextTick(() => {
22896
+ document.querySelectorAll(el).forEach((img) => io.observe(img));
22897
+ });
22898
+ };
22899
+ const globalComponentSize = () => {
22900
+ const stores = useThemeConfig(pinia);
22901
+ const { themeConfig } = pinia$1.storeToRefs(stores);
22902
+ return themeConfig.value.globalComponentSize;
22903
+ };
22904
+ function deepClone(obj) {
22905
+ let newObj;
22906
+ try {
22907
+ newObj = obj.push ? [] : {};
22908
+ } catch (error) {
22909
+ newObj = {};
22910
+ }
22911
+ for (let attr in obj) {
22912
+ if (obj[attr] && typeof obj[attr] === "object") {
22913
+ newObj[attr] = deepClone(obj[attr]);
22914
+ } else {
22915
+ newObj[attr] = obj[attr];
22916
+ }
22917
+ }
22918
+ return newObj;
22919
+ }
22920
+ function isMobile() {
22921
+ 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)) {
22922
+ return true;
22923
+ } else {
22924
+ return false;
22925
+ }
22926
+ }
22927
+ function handleEmpty(list) {
22928
+ const arr = [];
22929
+ for (const i in list) {
22930
+ const d = [];
22931
+ for (const j in list[i]) {
22932
+ d.push(list[i][j]);
22933
+ }
22934
+ const leng = d.filter((item) => item === "").length;
22935
+ if (leng !== d.length) {
22936
+ arr.push(list[i]);
22937
+ }
22938
+ }
22939
+ return arr;
22940
+ }
22941
+ function handleOpenLink(val) {
22942
+ var _a, _b, _c;
22943
+ const { origin, pathname } = window.location;
22944
+ router.push(val.path);
22945
+ if (verifyUrl((_a = val.meta) == null ? void 0 : _a.isLink)) window.open((_b = val.meta) == null ? void 0 : _b.isLink);
22946
+ else window.open(`${origin}${pathname}#${(_c = val.meta) == null ? void 0 : _c.isLink}`);
22947
+ }
22948
+ const other = {
22949
+ // elSvg: (app: App) => {
22950
+ // elSvg(app);
22951
+ // },
22952
+ useTitle: () => {
22953
+ useTitle();
22954
+ },
22955
+ setTagsViewNameI18n(route) {
22956
+ return setTagsViewNameI18n(route);
22957
+ },
22958
+ lazyImg: (el, arr) => {
22959
+ lazyImg(el, arr);
22960
+ },
22961
+ globalComponentSize: () => {
22962
+ return globalComponentSize();
22963
+ },
22964
+ deepClone: (obj) => {
22965
+ return deepClone(obj);
22966
+ },
22967
+ isMobile: () => {
22968
+ return isMobile();
22969
+ },
22970
+ handleEmpty: (list) => {
22971
+ return handleEmpty(list);
22972
+ },
22973
+ handleOpenLink: (val) => {
22974
+ handleOpenLink(val);
22975
+ }
22976
+ };
22977
+
22565
22978
  const version = "1.0.0";
22566
22979
 
22567
22980
  const commonFun = commonFunction();
@@ -22574,6 +22987,7 @@
22574
22987
  exports.NextLoading = NextLoading;
22575
22988
  exports.Session = Session;
22576
22989
  exports.StringToObj = StringToObj;
22990
+ exports.Watermark = watermark;
22577
22991
  exports.accessTokenKey = accessTokenKey;
22578
22992
  exports.auth = auth;
22579
22993
  exports.authAll = authAll;
@@ -22594,6 +23008,7 @@
22594
23008
  exports.dataURLtoBlob = dataURLtoBlob;
22595
23009
  exports.decryptJWT = decryptJWT;
22596
23010
  exports.default = installer;
23011
+ exports.destroyIdleTimeout = destroyIdleTimeout;
22597
23012
  exports.downloadByBase64 = downloadByBase64;
22598
23013
  exports.downloadByData = downloadByData;
22599
23014
  exports.downloadByOnlineUrl = downloadByOnlineUrl;
@@ -22622,6 +23037,7 @@
22622
23037
  exports.i18n = i18n;
22623
23038
  exports.initBackEndControlRoutes = initBackEndControlRoutes;
22624
23039
  exports.initFrontEndControlRoutes = initFrontEndControlRoutes;
23040
+ exports.initIdleTimeout = initIdleTimeout;
22625
23041
  exports.initRouter = initRouter;
22626
23042
  exports.install = install;
22627
23043
  exports.isAdmin = isAdmin;
@@ -22640,6 +23056,7 @@
22640
23056
  exports.openWindow = openWindow;
22641
23057
  exports.orgId = orgId;
22642
23058
  exports.orgName = orgName;
23059
+ exports.other = other;
22643
23060
  exports.posId = posId;
22644
23061
  exports.posName = posName;
22645
23062
  exports.reLoadLoginAccessToken = reLoadLoginAccessToken;
@@ -22655,12 +23072,14 @@
22655
23072
  exports.setJsCdn = setJsCdn;
22656
23073
  exports.setPathPrefix = setPathPrefix;
22657
23074
  exports.setupI18n = setupI18n;
23075
+ exports.signalR = connection;
22658
23076
  exports.signatureByKSort = signatureByKSort;
22659
23077
  exports.sleep = sleep;
22660
23078
  exports.tansParams = tansParams;
22661
23079
  exports.tenantId = tenantId;
22662
23080
  exports.translate = translate;
22663
23081
  exports.updateFavicon = updateFavicon;
23082
+ exports.updateIdleTimeout = updateIdleTimeout;
22664
23083
  exports.urlToBase64 = urlToBase64;
22665
23084
  exports.useApi = useApi;
22666
23085
  exports.useBaseApi = useBaseApi;