@ecan-bi/datav 1.1.0 → 1.1.1

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.
package/dist/index.umd.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! @ecan-bi/datav@1.1.0 */
1
+ /*! @ecan-bi/datav@1.1.1 */
2
2
  (function(global, factory) {
3
3
  typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("vue"), require("echarts/core"), require("resize-detector"), require("ant-design-vue"), require("ant-design-vue/es/spin/style"), require("ant-design-vue/es/skeleton/style"), require("lodash-es"), require("axios"), require("mitt"), require("dayjs"), require("ant-design-vue/es/progress/style"), require("ant-design-vue/es/input/style"), require("ant-design-vue/es/date-picker/style"), require("ant-design-vue/es/date-picker/locale/zh_CN"), require("ant-design-vue/es/select/style"), require("ant-design-vue/es/button/style"), require("ant-design-vue/es/checkbox/style"), require("echarts/renderers"), require("echarts/charts"), require("echarts/components"), require("echarts"), require("ant-design-vue/es/modal/style"), require("ant-design-vue/es/table/style")) : typeof define === "function" && define.amd ? define(["exports", "vue", "echarts/core", "resize-detector", "ant-design-vue", "ant-design-vue/es/spin/style", "ant-design-vue/es/skeleton/style", "lodash-es", "axios", "mitt", "dayjs", "ant-design-vue/es/progress/style", "ant-design-vue/es/input/style", "ant-design-vue/es/date-picker/style", "ant-design-vue/es/date-picker/locale/zh_CN", "ant-design-vue/es/select/style", "ant-design-vue/es/button/style", "ant-design-vue/es/checkbox/style", "echarts/renderers", "echarts/charts", "echarts/components", "echarts", "ant-design-vue/es/modal/style", "ant-design-vue/es/table/style"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global["@ecan/bi-datav"] = {}, global.vue, global["echarts/core"], global["resize-detector"], global["ant-design-vue"], null, null, global["lodash-es"], global.axios, global.mitt, global.dayjs, null, null, null, global["ant-design-vue/es/date-picker/locale/zh_CN"], null, null, null, global["echarts/renderers"], global["echarts/charts"], global["echarts/components"], global.echarts));
4
4
  })(this, function(exports2, vue, core, resizeDetector, antDesignVue, style$1, style$2, lodashEs, axios, mitt, dayjs, style$3, style$4, style$5, locale, style$6, style$7, style$8, renderers, charts, components$1, echarts) {
@@ -1565,13 +1565,11 @@
1565
1565
  const ERD_URL = ((_d = window == null ? void 0 : window.config) == null ? void 0 : _d.erdURL) || "";
1566
1566
  const useOnEvent = (props2, events) => {
1567
1567
  vue.watch(() => props2.id, (id, oldId) => {
1568
+ console.log(id, oldId);
1568
1569
  const eventBus = vue.inject(EVENT_BUS, {
1569
1570
  onEvent: (i, e) => void 0,
1570
1571
  offEvent: (i) => void 0
1571
1572
  });
1572
- if (oldId != null && oldId !== "") {
1573
- eventBus.offEvent(oldId);
1574
- }
1575
1573
  if (id != null && id !== "") {
1576
1574
  eventBus.onEvent(id, events);
1577
1575
  }
@@ -2645,11 +2643,16 @@
2645
2643
  setGlobalModel
2646
2644
  });
2647
2645
  const eventBus = mitt__default.default();
2646
+ const eventBusKeySet = /* @__PURE__ */ new Set();
2648
2647
  const onEvent = (key, events) => {
2648
+ if (eventBusKeySet.has(key)) {
2649
+ eventBus.off(key);
2650
+ }
2649
2651
  eventBus.on(key, (k) => {
2652
+ eventBusKeySet.add(key);
2650
2653
  return Object.prototype.toString.call(events[k]) === "[object Function]" && events[k]();
2651
2654
  });
2652
- vue.onUnmounted(() => {
2655
+ vue.onBeforeUnmount(() => {
2653
2656
  eventBus.off(key);
2654
2657
  });
2655
2658
  };
@@ -2672,14 +2675,16 @@
2672
2675
  requestToken
2673
2676
  });
2674
2677
  const requestModel = /* @__PURE__ */ new Map();
2675
- const setRequest = (requestFn = () => {
2676
- }, sortNum = 0) => {
2678
+ const requestMap = /* @__PURE__ */ new Map();
2679
+ const setRequest = ({ requestFn = () => {
2680
+ }, sortNum = 0, id = "" }) => {
2677
2681
  if (requestModel.has(sortNum)) {
2678
2682
  const requestFnList = requestModel.get(sortNum);
2679
2683
  requestFnList == null ? void 0 : requestFnList.push(requestFn);
2680
2684
  } else {
2681
2685
  requestModel.set(sortNum, [requestFn]);
2682
2686
  }
2687
+ requestMap.set(id, requestFn);
2683
2688
  };
2684
2689
  const handleRequestFnList = (requestFnList) => {
2685
2690
  return new Promise((resolve, reject) => {
@@ -2701,22 +2706,29 @@
2701
2706
  });
2702
2707
  config.indicatorToken = (_a2 = res.data.data) == null ? void 0 : _a2.token;
2703
2708
  };
2704
- const touchRequest = async () => {
2705
- const requestModelArr = Array.from(requestModel);
2706
- requestModelArr.sort((a, b) => b[0] - a[0]);
2707
- const len = requestModelArr.length;
2708
- try {
2709
- if (props2.pageMode !== "design" && vue.unref(tokenNum) > 0) {
2710
- await queryUserToken();
2709
+ const touchRequest = async (id) => {
2710
+ if (!id) {
2711
+ const requestModelArr = Array.from(requestModel);
2712
+ requestModelArr.sort((a, b) => b[0] - a[0]);
2713
+ const len = requestModelArr.length;
2714
+ try {
2715
+ if (props2.pageMode !== "design" && vue.unref(tokenNum) > 0) {
2716
+ await queryUserToken();
2717
+ }
2718
+ for (let i = 0; i < len; i++) {
2719
+ const requestFnList = requestModelArr[i][1];
2720
+ await handleRequestFnList(requestFnList);
2721
+ }
2722
+ } catch (e) {
2723
+ console.error(e);
2724
+ } finally {
2725
+ requestModel.clear();
2711
2726
  }
2712
- for (let i = 0; i < len; i++) {
2713
- const requestFnList = requestModelArr[i][1];
2714
- await handleRequestFnList(requestFnList);
2727
+ } else if (typeof id === "string") {
2728
+ const requestFn = requestMap.get(id);
2729
+ if (typeof requestFn === "function") {
2730
+ requestFn();
2715
2731
  }
2716
- } catch (e) {
2717
- console.error(e);
2718
- } finally {
2719
- requestModel.clear();
2720
2732
  }
2721
2733
  };
2722
2734
  vue.provide(REQUEST_MODEL, {
@@ -2735,6 +2747,10 @@
2735
2747
  eventBus.off(REFRESH_PAGE);
2736
2748
  });
2737
2749
  };
2750
+ vue.onBeforeUnmount(() => {
2751
+ requestModel == null ? void 0 : requestModel.clear();
2752
+ requestMap == null ? void 0 : requestMap.clear();
2753
+ });
2738
2754
  expose({
2739
2755
  touchRequest,
2740
2756
  getGlobalModel,
@@ -2869,9 +2885,13 @@
2869
2885
  refreshData
2870
2886
  });
2871
2887
  const { setRequest } = vue.inject(REQUEST_MODEL, {
2872
- setRequest: (requestFn, sortNum) => void 0
2888
+ setRequest: ({ id, sortNum, requestFn }) => void 0
2889
+ });
2890
+ setRequest({
2891
+ id: props2.id,
2892
+ requestFn: refreshData,
2893
+ sortNum: props2.requestSort
2873
2894
  });
2874
- setRequest(refreshData, props2.requestSort);
2875
2895
  useOnEvent(props2, {
2876
2896
  refreshData
2877
2897
  });
@@ -2904,7 +2924,7 @@
2904
2924
  };
2905
2925
  }
2906
2926
  });
2907
- const Text_vue_vue_type_style_index_0_scoped_8e727e41_lang = "";
2927
+ const Text_vue_vue_type_style_index_0_scoped_860fa6ea_lang = "";
2908
2928
  const _hoisted_1$8 = ["innerHTML"];
2909
2929
  function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
2910
2930
  const _component_skeleton = vue.resolveComponent("skeleton");
@@ -2922,7 +2942,7 @@
2922
2942
  onClick: _cache[0] || (_cache[0] = (...args) => _ctx.click && _ctx.click(...args))
2923
2943
  }, null, 12, _hoisted_1$8));
2924
2944
  }
2925
- const Text = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["render", _sfc_render$n], ["__scopeId", "data-v-8e727e41"]]);
2945
+ const Text = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["render", _sfc_render$n], ["__scopeId", "data-v-860fa6ea"]]);
2926
2946
  const EcanText = withInstall(Text);
2927
2947
  const _sfc_main$m = vue.defineComponent({
2928
2948
  name: "EcanScrollText",
@@ -3106,9 +3126,13 @@
3106
3126
  refreshData
3107
3127
  });
3108
3128
  const { setRequest } = vue.inject(REQUEST_MODEL, {
3109
- setRequest: (requestFn, sortNum) => void 0
3129
+ setRequest: ({ id, sortNum, requestFn }) => void 0
3130
+ });
3131
+ setRequest({
3132
+ id: props2.id,
3133
+ requestFn: handleRequestData,
3134
+ sortNum: props2.requestSort
3110
3135
  });
3111
- setRequest(handleRequestData, props2.requestSort);
3112
3136
  return {
3113
3137
  style: style2,
3114
3138
  formatFn,
@@ -3120,9 +3144,9 @@
3120
3144
  };
3121
3145
  }
3122
3146
  });
3123
- const List_vue_vue_type_style_index_0_scoped_73ca0d93_lang = "";
3147
+ const List_vue_vue_type_style_index_0_scoped_baf2ff0c_lang = "";
3124
3148
  const List_vue_vue_type_style_index_1_lang = "";
3125
- const _withScopeId$1 = (n) => (vue.pushScopeId("data-v-73ca0d93"), n = n(), vue.popScopeId(), n);
3149
+ const _withScopeId$1 = (n) => (vue.pushScopeId("data-v-baf2ff0c"), n = n(), vue.popScopeId(), n);
3126
3150
  const _hoisted_1$6 = {
3127
3151
  key: 0,
3128
3152
  class: "title"
@@ -3224,7 +3248,7 @@
3224
3248
  }, 8, ["loading"])
3225
3249
  ], 4);
3226
3250
  }
3227
- const List = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["render", _sfc_render$k], ["__scopeId", "data-v-73ca0d93"]]);
3251
+ const List = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["render", _sfc_render$k], ["__scopeId", "data-v-baf2ff0c"]]);
3228
3252
  const EcanList = withInstall(List);
3229
3253
  const proportionProps = {
3230
3254
  ...props,
@@ -3379,9 +3403,13 @@
3379
3403
  const click = emitEvent("click", () => {
3380
3404
  });
3381
3405
  const { setRequest } = vue.inject(REQUEST_MODEL, {
3382
- setRequest: (requestFn, sortNum) => void 0
3406
+ setRequest: ({ id, sortNum, requestFn }) => void 0
3407
+ });
3408
+ setRequest({
3409
+ id: props2.id,
3410
+ requestFn: handleRequestData,
3411
+ sortNum: props2.requestSort
3383
3412
  });
3384
- setRequest(handleRequestData, props2.requestSort);
3385
3413
  return {
3386
3414
  style: style2,
3387
3415
  myWidth,
@@ -3392,7 +3420,7 @@
3392
3420
  };
3393
3421
  }
3394
3422
  });
3395
- const Proportion_vue_vue_type_style_index_0_scoped_c6114322_lang = "";
3423
+ const Proportion_vue_vue_type_style_index_0_scoped_304d430d_lang = "";
3396
3424
  function _sfc_render$j(_ctx, _cache, $props, $setup, $data, $options) {
3397
3425
  const _component_skeleton = vue.resolveComponent("skeleton");
3398
3426
  const _component_a_progress = vue.resolveComponent("a-progress");
@@ -3432,7 +3460,7 @@
3432
3460
  }, 8, ["percent", "width", "type", "strokeColor", "strokeLinecap", "trailColor", "strokeWidth", "gapDegree", "onClick"])
3433
3461
  ], 4);
3434
3462
  }
3435
- const Proportion = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["render", _sfc_render$j], ["__scopeId", "data-v-c6114322"]]);
3463
+ const Proportion = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["render", _sfc_render$j], ["__scopeId", "data-v-304d430d"]]);
3436
3464
  const EcanProportion = withInstall(Proportion);
3437
3465
  const inputProps = {
3438
3466
  ...props,
@@ -3679,9 +3707,13 @@
3679
3707
  selectChange
3680
3708
  });
3681
3709
  const { setRequest } = vue.inject(REQUEST_MODEL, {
3682
- setRequest: (requestFn, sortNum) => void 0
3710
+ setRequest: ({ id, sortNum, requestFn }) => void 0
3711
+ });
3712
+ setRequest({
3713
+ id: props2.id,
3714
+ requestFn: handleRequestData,
3715
+ sortNum: props2.requestSort
3683
3716
  });
3684
- setRequest(handleRequestData, props2.requestSort);
3685
3717
  return {
3686
3718
  style: style2,
3687
3719
  getPopupContainer,
@@ -3693,7 +3725,7 @@
3693
3725
  };
3694
3726
  }
3695
3727
  });
3696
- const Select_vue_vue_type_style_index_0_scoped_3e94d5e8_lang = "";
3728
+ const Select_vue_vue_type_style_index_0_scoped_dd2bcf63_lang = "";
3697
3729
  const Select_vue_vue_type_style_index_1_lang = "";
3698
3730
  function _sfc_render$g(_ctx, _cache, $props, $setup, $data, $options) {
3699
3731
  const _component_a_select = vue.resolveComponent("a-select");
@@ -3717,7 +3749,7 @@
3717
3749
  }, null, 8, ["value", "options", "mode", "getPopupContainer", "field-names", "maxTagCount", "filter-option", "onChange", "loading"])
3718
3750
  ], 4);
3719
3751
  }
3720
- const Select = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["render", _sfc_render$g], ["__scopeId", "data-v-3e94d5e8"]]);
3752
+ const Select = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["render", _sfc_render$g], ["__scopeId", "data-v-dd2bcf63"]]);
3721
3753
  const EcanSelect = withInstall(Select);
3722
3754
  const rangePickerProps = {
3723
3755
  ...props,
@@ -3971,9 +4003,13 @@
3971
4003
  setGlobalModel(id, { ...modal, RECORD: myValue });
3972
4004
  });
3973
4005
  const { setRequest } = vue.inject(REQUEST_MODEL, {
3974
- setRequest: (requestFn, sortNum) => void 0
4006
+ setRequest: ({ id: id2, sortNum, requestFn }) => void 0
4007
+ });
4008
+ setRequest({
4009
+ id: props2.id,
4010
+ requestFn: handleRequestData,
4011
+ sortNum: props2.requestSort
3975
4012
  });
3976
- setRequest(handleRequestData, props2.requestSort);
3977
4013
  return {
3978
4014
  myOption,
3979
4015
  style: style2,
@@ -4320,9 +4356,13 @@
4320
4356
  click
4321
4357
  });
4322
4358
  const { setRequest } = vue.inject(REQUEST_MODEL, {
4323
- setRequest: (requestFn, sortNum) => void 0
4359
+ setRequest: ({ id, sortNum, requestFn }) => void 0
4360
+ });
4361
+ setRequest({
4362
+ id: props2.id,
4363
+ requestFn: chooseRequestOrDiagram,
4364
+ sortNum: props2.requestSort
4324
4365
  });
4325
- setRequest(chooseRequestOrDiagram, props2.requestSort);
4326
4366
  return {
4327
4367
  option,
4328
4368
  style: style2,
@@ -4730,9 +4770,13 @@
4730
4770
  click
4731
4771
  });
4732
4772
  const { setRequest } = vue.inject(REQUEST_MODEL, {
4733
- setRequest: (requestFn, sortNum) => void 0
4773
+ setRequest: ({ id, sortNum, requestFn }) => void 0
4774
+ });
4775
+ setRequest({
4776
+ id: props2.id,
4777
+ requestFn: chooseRequestOrDiagram,
4778
+ sortNum: props2.requestSort
4734
4779
  });
4735
- setRequest(chooseRequestOrDiagram, props2.requestSort);
4736
4780
  return {
4737
4781
  option,
4738
4782
  style: style2,
@@ -5175,9 +5219,13 @@
5175
5219
  setGlobalModel(id, { ...modal, RECORD: e.data });
5176
5220
  });
5177
5221
  const { setRequest } = vue.inject(REQUEST_MODEL, {
5178
- setRequest: (requestFn, sortNum) => void 0
5222
+ setRequest: ({ id, sortNum, requestFn }) => void 0
5223
+ });
5224
+ setRequest({
5225
+ id: props2.id,
5226
+ requestFn: refreshData,
5227
+ sortNum: props2.requestSort
5179
5228
  });
5180
- setRequest(refreshData, props2.requestSort);
5181
5229
  useOnEvent(props2, {
5182
5230
  refreshData,
5183
5231
  click
@@ -5499,9 +5547,13 @@
5499
5547
  click
5500
5548
  });
5501
5549
  const { setRequest } = vue.inject(REQUEST_MODEL, {
5502
- setRequest: (requestFn, sortNum) => void 0
5550
+ setRequest: ({ id, sortNum, requestFn }) => void 0
5551
+ });
5552
+ setRequest({
5553
+ id: props2.id,
5554
+ requestFn: handleRequestData,
5555
+ sortNum: props2.requestSort
5503
5556
  });
5504
- setRequest(handleRequestData, props2.requestSort);
5505
5557
  return {
5506
5558
  option,
5507
5559
  style: style2,
@@ -6026,9 +6078,13 @@
6026
6078
  setGlobalModel(id, { ...modal, RECORD: e == null ? void 0 : e.data });
6027
6079
  });
6028
6080
  const { setRequest } = vue.inject(REQUEST_MODEL, {
6029
- setRequest: (requestFn, sortNum) => void 0
6081
+ setRequest: ({ id, sortNum, requestFn }) => void 0
6082
+ });
6083
+ setRequest({
6084
+ id: props2.id,
6085
+ requestFn: chooseRequestOrDiagram,
6086
+ sortNum: props2.requestSort
6030
6087
  });
6031
- setRequest(chooseRequestOrDiagram, props2.requestSort);
6032
6088
  useOnEvent(props2, {
6033
6089
  refreshData,
6034
6090
  click
@@ -6776,9 +6832,11 @@
6776
6832
  }
6777
6833
  const {
6778
6834
  cellAlign = "center",
6779
- cellColor
6835
+ cellColor,
6836
+ dataIndex,
6837
+ title
6780
6838
  } = column;
6781
- column.customCell = (_record, rowIndex) => ({
6839
+ column.customCell = (record, rowIndex) => ({
6782
6840
  style: {
6783
6841
  textAlign: cellAlign,
6784
6842
  color: cellColor,
@@ -6787,7 +6845,17 @@
6787
6845
  },
6788
6846
  class: {
6789
6847
  highlight: vue.unref(useRowIndex) === rowIndex && props2.clickHighlight
6790
- }
6848
+ },
6849
+ onClick: emitEvent("click", () => {
6850
+ const id = props2.id;
6851
+ const modal = getGlobalModel(id);
6852
+ record = {
6853
+ dataIndex,
6854
+ title,
6855
+ ...record
6856
+ };
6857
+ setGlobalModel(id, { ...modal, RECORD: record });
6858
+ })
6791
6859
  });
6792
6860
  if (Array.isArray(column.children)) {
6793
6861
  handleChildrenColumns(column.children);
@@ -6999,7 +7067,7 @@
6999
7067
  };
7000
7068
  const useRowIndex = vue.ref(-1);
7001
7069
  const customRow = (record, index2) => ({
7002
- onClick: emitEvent("click", () => {
7070
+ onClick: emitEvent("rowClick", () => {
7003
7071
  const id = props2.id;
7004
7072
  const modal = getGlobalModel(id);
7005
7073
  setGlobalModel(id, { ...modal, RECORD: record });
@@ -7068,9 +7136,13 @@
7068
7136
  return summaryList2;
7069
7137
  });
7070
7138
  const { setRequest } = vue.inject(REQUEST_MODEL, {
7071
- setRequest: (requestFn, sortNum) => void 0
7139
+ setRequest: ({ id, sortNum, requestFn }) => void 0
7140
+ });
7141
+ setRequest({
7142
+ id: props2.id,
7143
+ requestFn: refreshData,
7144
+ sortNum: props2.requestSort
7072
7145
  });
7073
- setRequest(refreshData, props2.requestSort);
7074
7146
  expose({
7075
7147
  refreshData
7076
7148
  });
@@ -7116,7 +7188,7 @@
7116
7188
  };
7117
7189
  }
7118
7190
  });
7119
- const Table_vue_vue_type_style_index_0_scoped_33b428a2_lang = "";
7191
+ const Table_vue_vue_type_style_index_0_scoped_3e5c9238_lang = "";
7120
7192
  const Table_vue_vue_type_style_index_1_lang = "";
7121
7193
  const _hoisted_1$1 = {
7122
7194
  key: 1,
@@ -7238,7 +7310,7 @@
7238
7310
  }, 8, ["loading"])
7239
7311
  ], 4);
7240
7312
  }
7241
- const Table = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1], ["__scopeId", "data-v-33b428a2"]]);
7313
+ const Table = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1], ["__scopeId", "data-v-3e5c9238"]]);
7242
7314
  const EcanTable = withInstall(Table);
7243
7315
  const mapProps = {
7244
7316
  ...props,