@fmdeui/fmui 1.0.10 → 1.0.11

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 (41) hide show
  1. package/es/components/svgIcon/index.d.ts +7 -26
  2. package/es/hooks/other.d.ts +0 -8
  3. package/es/index.d.ts +3 -1
  4. package/es/index.mjs +2 -0
  5. package/es/make-installer.mjs +8 -3
  6. package/es/packages/components/index.mjs +10 -0
  7. package/es/packages/components/svgIcon/index.mjs +17 -0
  8. package/es/packages/components/svgIcon/svgicon.vue.mjs +5 -0
  9. package/es/packages/components/svgIcon/svgicon.vue2.mjs +94 -0
  10. package/es/packages/hooks/other.mjs +137 -0
  11. package/es/packages/utils/index.mjs +0 -1
  12. package/es/utils/index.d.ts +0 -1
  13. package/index.js +409 -155
  14. package/index.min.js +4 -4
  15. package/index.min.mjs +4 -4
  16. package/index.mjs +392 -158
  17. package/lib/components/svgIcon/index.d.ts +7 -26
  18. package/lib/hooks/other.d.ts +0 -8
  19. package/lib/index.d.ts +3 -1
  20. package/lib/index.js +4 -0
  21. package/lib/make-installer.js +9 -4
  22. package/lib/packages/components/index.js +25 -0
  23. package/lib/packages/components/svgIcon/index.js +38 -0
  24. package/lib/packages/components/svgIcon/svgicon.vue.js +9 -0
  25. package/lib/packages/components/svgIcon/svgicon.vue2.js +98 -0
  26. package/lib/packages/hooks/other.js +149 -0
  27. package/lib/packages/utils/index.js +0 -1
  28. package/lib/utils/index.d.ts +0 -1
  29. package/locale/en.js +1 -1
  30. package/locale/en.min.js +1 -1
  31. package/locale/en.min.mjs +1 -1
  32. package/locale/en.mjs +1 -1
  33. package/locale/zh-cn.js +1 -1
  34. package/locale/zh-cn.min.js +1 -1
  35. package/locale/zh-cn.min.mjs +1 -1
  36. package/locale/zh-cn.mjs +1 -1
  37. package/package.json +1 -1
  38. /package/es/components/svgIcon/{index.vue.d.ts → svgicon.vue.d.ts} +0 -0
  39. /package/{lib → es}/defaults.css +0 -0
  40. /package/lib/components/svgIcon/{index.vue.d.ts → svgicon.vue.d.ts} +0 -0
  41. /package/{es/make-installer.css → lib/version.css} +0 -0
package/index.js CHANGED
@@ -1,10 +1,29 @@
1
- /*! fmdeui-fmui v1.0.10 */
1
+ /*! fmdeui-fmui v1.0.11 */
2
2
  (function (global, factory) {
3
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
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
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
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';
7
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
+
8
27
  const pinia = pinia$1.createPinia();
9
28
 
10
29
  function judgementSameArr(newArr, oldArr) {
@@ -18328,25 +18347,7 @@
18328
18347
  app.use(VxeUITable);
18329
18348
  };
18330
18349
 
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({
18350
+ var _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
18350
18351
  ...{
18351
18352
  name: "FButton"
18352
18353
  },
@@ -18416,7 +18417,7 @@
18416
18417
  }
18417
18418
  });
18418
18419
 
18419
- const FButton = _sfc_main$d;
18420
+ const FButton = _sfc_main$e;
18420
18421
 
18421
18422
  const buildTranslator = (locale) => (path, option) => translate(path, option, vue.unref(locale));
18422
18423
  const translate = (path, option, locale) => lodashEs.get(locale, path, path).replace(
@@ -18823,9 +18824,9 @@
18823
18824
  ];
18824
18825
  };
18825
18826
 
18826
- const _hoisted_1$6 = { key: 0 };
18827
+ const _hoisted_1$7 = { key: 0 };
18827
18828
  const _hoisted_2$3 = { key: 0 };
18828
- var _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
18829
+ var _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
18829
18830
  ...{
18830
18831
  name: "FInput"
18831
18832
  },
@@ -19029,7 +19030,7 @@
19029
19030
  fn: vue.withCtx(() => [
19030
19031
  __props.inputType === "amount" ? (vue.openBlock(), vue.createElementBlock(
19031
19032
  "span",
19032
- _hoisted_1$6,
19033
+ _hoisted_1$7,
19033
19034
  vue.toDisplayString(appendTitleText.value),
19034
19035
  1
19035
19036
  /* TEXT */
@@ -19075,13 +19076,13 @@
19075
19076
  }
19076
19077
  });
19077
19078
 
19078
- const FInput = _sfc_main$c;
19079
+ const FInput = _sfc_main$d;
19079
19080
 
19080
- const _hoisted_1$5 = {
19081
+ const _hoisted_1$6 = {
19081
19082
  key: 0,
19082
19083
  class: "back_to_top"
19083
19084
  };
19084
- var _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
19085
+ var _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
19085
19086
  ...{
19086
19087
  name: "FLayoutPage"
19087
19088
  },
@@ -19143,7 +19144,7 @@
19143
19144
  },
19144
19145
  [
19145
19146
  vue.renderSlot(_ctx.$slots, "default"),
19146
- __props.showGoTopButton ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$5, [
19147
+ __props.showGoTopButton ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$6, [
19147
19148
  isShowGoTopButton.value ? (vue.openBlock(), vue.createElementBlock("div", {
19148
19149
  key: 0,
19149
19150
  onClick: backToTop
@@ -19171,9 +19172,9 @@
19171
19172
  }
19172
19173
  });
19173
19174
 
19174
- const FLayoutPage = _sfc_main$b;
19175
+ const FLayoutPage = _sfc_main$c;
19175
19176
 
19176
- var _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
19177
+ var _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
19177
19178
  ...{
19178
19179
  name: "FLayoutPageItem"
19179
19180
  },
@@ -19201,7 +19202,150 @@
19201
19202
  }
19202
19203
  });
19203
19204
 
19204
- const FLayoutPageItem = _sfc_main$a;
19205
+ const FLayoutPageItem = _sfc_main$b;
19206
+
19207
+ function debounce(func, delay = 500, immediate, resultCallback) {
19208
+ let timer = null;
19209
+ let isInvoke = false;
19210
+ const _debounce = function(...args) {
19211
+ return new Promise((resolve, reject) => {
19212
+ if (timer) clearTimeout(timer);
19213
+ if (!isInvoke) {
19214
+ try {
19215
+ const result = func.apply(this, args);
19216
+ if (resultCallback) ;
19217
+ resolve(result);
19218
+ } catch (e) {
19219
+ reject(e);
19220
+ }
19221
+ isInvoke = true;
19222
+ } else {
19223
+ timer = setTimeout(() => {
19224
+ try {
19225
+ const result = func.apply(this, args);
19226
+ if (resultCallback) ;
19227
+ resolve(result);
19228
+ } catch (e) {
19229
+ reject(e);
19230
+ }
19231
+ isInvoke = false;
19232
+ timer = null;
19233
+ }, delay);
19234
+ }
19235
+ });
19236
+ };
19237
+ _debounce.cancel = function() {
19238
+ if (timer) clearTimeout(timer);
19239
+ isInvoke = false;
19240
+ timer = null;
19241
+ };
19242
+ return _debounce;
19243
+ }
19244
+ function toLine(name) {
19245
+ return name.replace(/([A-Z])/g, "_$1").toLowerCase();
19246
+ }
19247
+
19248
+ const _hoisted_1$5 = ["id"];
19249
+ var _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
19250
+ ...{
19251
+ name: "FChart"
19252
+ },
19253
+ __name: "index",
19254
+ props: {
19255
+ options: { default: () => ({}) },
19256
+ id: { default: () => Math.random().toString(36).substring(2, 8) },
19257
+ theme: { default: "" },
19258
+ isEmpty: { type: [Boolean, Function], default: false },
19259
+ description: { default: "\u6682\u65E0\u6570\u636E" }
19260
+ },
19261
+ setup(__props, { emit: __emit }) {
19262
+ const { proxy } = vue.getCurrentInstance();
19263
+ const props = __props;
19264
+ const echartRef = vue.ref();
19265
+ const chart = vue.ref();
19266
+ const emits = __emit;
19267
+ const events = Object.entries(vue.useAttrs());
19268
+ const renderChart = () => {
19269
+ chart.value = vue.markRaw(proxy.$echarts.init(echartRef.value, props.theme));
19270
+ setOption(props.options);
19271
+ emits("chart", chart.value);
19272
+ events.forEach(([key, value]) => {
19273
+ if (key.startsWith("on") && !key.startsWith("onChart")) {
19274
+ const on = toLine(key).substring(3);
19275
+ chart.value.on(on, (...args) => emits(on, ...args));
19276
+ }
19277
+ });
19278
+ core.useResizeObserver(echartRef.value, resizeChart);
19279
+ };
19280
+ const resizeChart = debounce(
19281
+ () => {
19282
+ var _a;
19283
+ (_a = chart.value) == null ? void 0 : _a.resize();
19284
+ },
19285
+ 300);
19286
+ const setOption = debounce(
19287
+ async (data) => {
19288
+ if (!chart.value) return;
19289
+ chart.value.setOption(data, true, true);
19290
+ await vue.nextTick();
19291
+ resizeChart();
19292
+ },
19293
+ 300);
19294
+ const formatEmpty = vue.computed(() => {
19295
+ if (typeof props.isEmpty === "function") {
19296
+ return props.isEmpty(props.options);
19297
+ }
19298
+ return props.isEmpty;
19299
+ });
19300
+ vue.watch(
19301
+ () => props.options,
19302
+ async (nw) => {
19303
+ await vue.nextTick();
19304
+ setOption(nw);
19305
+ },
19306
+ { deep: true }
19307
+ );
19308
+ vue.watch(
19309
+ () => props.theme,
19310
+ async () => {
19311
+ chart.value.dispose();
19312
+ renderChart();
19313
+ }
19314
+ );
19315
+ vue.onMounted(() => {
19316
+ renderChart();
19317
+ });
19318
+ vue.onBeforeUnmount(() => {
19319
+ chart.value.dispose();
19320
+ chart.value = null;
19321
+ });
19322
+ return (_ctx, _cache) => {
19323
+ const _component_el_empty = vue.resolveComponent("el-empty");
19324
+ return vue.openBlock(), vue.createElementBlock(
19325
+ "div",
19326
+ vue.mergeProps({ class: "f-chart" }, _ctx.$attrs),
19327
+ [
19328
+ vue.withDirectives(vue.createElementVNode("div", {
19329
+ class: "f-chart-container",
19330
+ id: __props.id,
19331
+ ref_key: "echartRef",
19332
+ ref: echartRef
19333
+ }, null, 8, _hoisted_1$5), [
19334
+ [vue.vShow, !formatEmpty.value]
19335
+ ]),
19336
+ formatEmpty.value ? vue.renderSlot(_ctx.$slots, "empty", { key: 0 }, () => [
19337
+ vue.createVNode(_component_el_empty, vue.mergeProps(_ctx.$attrs, { description: __props.description }), null, 16, ["description"])
19338
+ ]) : vue.createCommentVNode("v-if", true),
19339
+ vue.renderSlot(_ctx.$slots, "default")
19340
+ ],
19341
+ 16
19342
+ /* FULL_PROPS */
19343
+ );
19344
+ };
19345
+ }
19346
+ });
19347
+
19348
+ const FChart = _sfc_main$a;
19205
19349
 
19206
19350
  const _hoisted_1$4 = {
19207
19351
  key: 1,
@@ -21821,148 +21965,129 @@
21821
21965
 
21822
21966
  const FForm = _sfc_main$1;
21823
21967
 
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"];
21968
+ const _hoisted_1 = ["src"];
21866
21969
  var _sfc_main = /* @__PURE__ */ vue.defineComponent({
21867
21970
  ...{
21868
- name: "FChart"
21971
+ name: "svgIcon"
21869
21972
  },
21870
- __name: "index",
21973
+ __name: "svgicon",
21871
21974
  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" }
21975
+ // svg 图标组件名字
21976
+ name: {
21977
+ type: String
21978
+ },
21979
+ // svg 大小
21980
+ size: {
21981
+ type: Number,
21982
+ default: () => 14
21983
+ },
21984
+ // svg 颜色
21985
+ color: {
21986
+ type: String
21987
+ }
21877
21988
  },
21878
- setup(__props, { emit: __emit }) {
21879
- const { proxy } = vue.getCurrentInstance();
21989
+ setup(__props) {
21880
21990
  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
- () => {
21991
+ const linesString = ["https", "http", "/src", "/assets", "data:image", window.__env__.VITE_PUBLIC_PATH];
21992
+ const getIconName = vue.computed(() => {
21993
+ return props == null ? void 0 : props.name;
21994
+ });
21995
+ const isShowIconSvg = vue.computed(() => {
21996
+ var _a;
21997
+ return (_a = props == null ? void 0 : props.name) == null ? void 0 : _a.startsWith("ele-");
21998
+ });
21999
+ const isShowIconImg = vue.computed(() => {
22000
+ return linesString.find((str) => {
21899
22001
  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;
22002
+ return (_a = props.name) == null ? void 0 : _a.startsWith(str);
22003
+ });
21916
22004
  });
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();
22005
+ const setIconSvgStyle = vue.computed(() => {
22006
+ return `font-size: ${props.size}px;color: ${props.color};`;
21934
22007
  });
21935
- vue.onBeforeUnmount(() => {
21936
- chart.value.dispose();
21937
- chart.value = null;
22008
+ const setIconImgOutStyle = vue.computed(() => {
22009
+ return `width: ${props.size}px;height: ${props.size}px;display: inline-block;overflow: hidden;`;
22010
+ });
22011
+ const setIconSvgInsStyle = vue.computed(() => {
22012
+ const filterStyle = [];
22013
+ const compatibles = ["-webkit", "-ms", "-o", "-moz"];
22014
+ compatibles.forEach((j) => filterStyle.push(`${j}-filter: drop-shadow(${props.color} ${props.size}px 0);`));
22015
+ return `width: ${props.size}px;height: ${props.size}px;position: relative;left: -${props.size}px;${filterStyle.join("")}`;
21938
22016
  });
21939
22017
  return (_ctx, _cache) => {
21940
- const _component_el_empty = vue.resolveComponent("el-empty");
21941
- return vue.openBlock(), vue.createElementBlock(
22018
+ return isShowIconSvg.value ? (vue.openBlock(), vue.createElementBlock(
22019
+ "i",
22020
+ {
22021
+ key: 0,
22022
+ class: "el-icon",
22023
+ style: vue.normalizeStyle(setIconSvgStyle.value)
22024
+ },
22025
+ [
22026
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(getIconName.value)))
22027
+ ],
22028
+ 4
22029
+ /* STYLE */
22030
+ )) : isShowIconImg.value ? (vue.openBlock(), vue.createElementBlock(
21942
22031
  "div",
21943
- vue.mergeProps({ class: "f-chart" }, _ctx.$attrs),
22032
+ {
22033
+ key: 1,
22034
+ style: vue.normalizeStyle(setIconImgOutStyle.value)
22035
+ },
21944
22036
  [
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")
22037
+ vue.createElementVNode("img", {
22038
+ src: getIconName.value,
22039
+ style: vue.normalizeStyle(setIconSvgInsStyle.value)
22040
+ }, null, 12, _hoisted_1)
21957
22041
  ],
21958
- 16
21959
- /* FULL_PROPS */
21960
- );
22042
+ 4
22043
+ /* STYLE */
22044
+ )) : (vue.openBlock(), vue.createElementBlock(
22045
+ "i",
22046
+ {
22047
+ key: 2,
22048
+ class: vue.normalizeClass(getIconName.value),
22049
+ style: vue.normalizeStyle(setIconSvgStyle.value)
22050
+ },
22051
+ null,
22052
+ 6
22053
+ /* CLASS, STYLE */
22054
+ ));
21961
22055
  };
21962
22056
  }
21963
22057
  });
21964
22058
 
21965
- const FChart = _sfc_main;
22059
+ function elSvg(app) {
22060
+ const icons = svg__namespace;
22061
+ for (const i in icons) {
22062
+ if (!app._context.components[`ele-${icons[i].name}`]) {
22063
+ app.component(`ele-${icons[i].name}`, icons[i]);
22064
+ }
22065
+ }
22066
+ if (!app._context.components[`SvgIcon`]) {
22067
+ app.component("SvgIcon", _sfc_main);
22068
+ }
22069
+ }
22070
+
22071
+ const makeInstaller = (components = []) => {
22072
+ const install = (app) => {
22073
+ components.forEach(
22074
+ (component) => {
22075
+ if (!app._context.components[component.name]) {
22076
+ app.component(component.name, component);
22077
+ }
22078
+ }
22079
+ );
22080
+ if (app) {
22081
+ app.use(pinia);
22082
+ elSvg(app);
22083
+ directive(app);
22084
+ app.use(setupVXETable);
22085
+ }
22086
+ };
22087
+ return {
22088
+ install
22089
+ };
22090
+ };
21966
22091
 
21967
22092
  const plugins = [
21968
22093
  FButton,
@@ -22562,6 +22687,133 @@
22562
22687
  return router;
22563
22688
  }
22564
22689
 
22690
+ function useTitle() {
22691
+ const stores = useThemeConfig(pinia);
22692
+ const { themeConfig } = pinia$1.storeToRefs(stores);
22693
+ vue.nextTick(() => {
22694
+ let webTitle = "";
22695
+ let globalTitle = themeConfig.value.globalTitle;
22696
+ const { path, meta } = router.currentRoute.value;
22697
+ if (path === "/login") {
22698
+ webTitle = meta.title;
22699
+ } else {
22700
+ webTitle = setTagsViewNameI18n(router.currentRoute.value);
22701
+ }
22702
+ document.title = `${webTitle} - ${globalTitle}` || globalTitle;
22703
+ });
22704
+ }
22705
+ function setTagsViewNameI18n(item) {
22706
+ let tagsViewName = "";
22707
+ const { query, params, meta } = item;
22708
+ const pattern = /^\{("(zh-CN|en|zh-TW)":"[^,]+",?){1,3}}$/;
22709
+ if ((query == null ? void 0 : query.tagsViewName) || (params == null ? void 0 : params.tagsViewName)) {
22710
+ if (pattern.test(query == null ? void 0 : query.tagsViewName) || pattern.test(params == null ? void 0 : params.tagsViewName)) {
22711
+ 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);
22712
+ tagsViewName = urlTagsParams[i18n.global.locale.value];
22713
+ } else {
22714
+ tagsViewName = (query == null ? void 0 : query.tagsViewName) || (params == null ? void 0 : params.tagsViewName);
22715
+ }
22716
+ } else {
22717
+ tagsViewName = i18n.global.t(`message.menu.${meta.title}`);
22718
+ }
22719
+ return tagsViewName;
22720
+ }
22721
+ const lazyImg = (el, arr) => {
22722
+ const io = new IntersectionObserver((res) => {
22723
+ res.forEach((v) => {
22724
+ if (v.isIntersecting) {
22725
+ const { img, key } = v.target.dataset;
22726
+ v.target.src = img;
22727
+ v.target.onload = () => {
22728
+ io.unobserve(v.target);
22729
+ arr[key]["loading"] = false;
22730
+ };
22731
+ }
22732
+ });
22733
+ });
22734
+ vue.nextTick(() => {
22735
+ document.querySelectorAll(el).forEach((img) => io.observe(img));
22736
+ });
22737
+ };
22738
+ const globalComponentSize = () => {
22739
+ const stores = useThemeConfig(pinia);
22740
+ const { themeConfig } = pinia$1.storeToRefs(stores);
22741
+ return themeConfig.value.globalComponentSize;
22742
+ };
22743
+ function deepClone(obj) {
22744
+ let newObj;
22745
+ try {
22746
+ newObj = obj.push ? [] : {};
22747
+ } catch (error) {
22748
+ newObj = {};
22749
+ }
22750
+ for (let attr in obj) {
22751
+ if (obj[attr] && typeof obj[attr] === "object") {
22752
+ newObj[attr] = deepClone(obj[attr]);
22753
+ } else {
22754
+ newObj[attr] = obj[attr];
22755
+ }
22756
+ }
22757
+ return newObj;
22758
+ }
22759
+ function isMobile() {
22760
+ 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)) {
22761
+ return true;
22762
+ } else {
22763
+ return false;
22764
+ }
22765
+ }
22766
+ function handleEmpty(list) {
22767
+ const arr = [];
22768
+ for (const i in list) {
22769
+ const d = [];
22770
+ for (const j in list[i]) {
22771
+ d.push(list[i][j]);
22772
+ }
22773
+ const leng = d.filter((item) => item === "").length;
22774
+ if (leng !== d.length) {
22775
+ arr.push(list[i]);
22776
+ }
22777
+ }
22778
+ return arr;
22779
+ }
22780
+ function handleOpenLink(val) {
22781
+ var _a, _b, _c;
22782
+ const { origin, pathname } = window.location;
22783
+ router.push(val.path);
22784
+ if (verifyUrl((_a = val.meta) == null ? void 0 : _a.isLink)) window.open((_b = val.meta) == null ? void 0 : _b.isLink);
22785
+ else window.open(`${origin}${pathname}#${(_c = val.meta) == null ? void 0 : _c.isLink}`);
22786
+ }
22787
+ const other = {
22788
+ // elSvg: (app: App) => {
22789
+ // elSvg(app);
22790
+ // },
22791
+ useTitle: () => {
22792
+ useTitle();
22793
+ },
22794
+ setTagsViewNameI18n(route) {
22795
+ return setTagsViewNameI18n(route);
22796
+ },
22797
+ lazyImg: (el, arr) => {
22798
+ lazyImg(el, arr);
22799
+ },
22800
+ globalComponentSize: () => {
22801
+ return globalComponentSize();
22802
+ },
22803
+ deepClone: (obj) => {
22804
+ return deepClone(obj);
22805
+ },
22806
+ isMobile: () => {
22807
+ return isMobile();
22808
+ },
22809
+ handleEmpty: (list) => {
22810
+ return handleEmpty(list);
22811
+ },
22812
+ handleOpenLink: (val) => {
22813
+ handleOpenLink(val);
22814
+ }
22815
+ };
22816
+
22565
22817
  const version = "1.0.0";
22566
22818
 
22567
22819
  const commonFun = commonFunction();
@@ -22574,6 +22826,7 @@
22574
22826
  exports.NextLoading = NextLoading;
22575
22827
  exports.Session = Session;
22576
22828
  exports.StringToObj = StringToObj;
22829
+ exports.Watermark = watermark;
22577
22830
  exports.accessTokenKey = accessTokenKey;
22578
22831
  exports.auth = auth;
22579
22832
  exports.authAll = authAll;
@@ -22640,6 +22893,7 @@
22640
22893
  exports.openWindow = openWindow;
22641
22894
  exports.orgId = orgId;
22642
22895
  exports.orgName = orgName;
22896
+ exports.other = other;
22643
22897
  exports.posId = posId;
22644
22898
  exports.posName = posName;
22645
22899
  exports.reLoadLoginAccessToken = reLoadLoginAccessToken;