hfn-components 0.3.7 → 0.3.9

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.css CHANGED
@@ -1 +1 @@
1
- .echart-box{display:flex;flex-direction:column;height:100%;position:relative;width:100%}.echart-content{flex:auto}.echart-lenged{box-sizing:border-box;display:flex;flex-wrap:wrap;font-size:12px;height:auto;margin-top:6px;padding-right:22px;position:relative;width:100%;z-index:999}.bg-span{height:2px;width:14px}.bg-span,.bg-span-bar{display:inline-block;margin-right:6px}.bg-span-bar{border-radius:2px;height:10px;width:16px}.span-box{cursor:pointer;margin-left:5px;margin-right:6px}.noData,.span-box{align-items:center;display:flex}.noData{bottom:0;color:#ccc;font-size:16px;justify-content:center;position:absolute}._100,.noData{height:100%;width:100%}.dialog{padding:24px!important;width:860px!important}.factor-content{display:flex;flex-direction:column;flex-wrap:wrap;height:380px;width:100%}.factor_item{display:flex;margin-bottom:10px;width:33.33%}.check_item{display:flex;justify-content:space-between}
1
+ .echart-box{display:flex;flex-direction:column;height:100%;position:relative;width:100%}.echart-content{flex:auto}.echart-lenged{box-sizing:border-box;display:flex;flex-wrap:wrap;font-size:12px;height:auto;margin-top:6px;padding-right:22px;position:relative;width:100%;z-index:999}.bg-span{height:2px;width:14px}.bg-span,.bg-span-bar{display:inline-block;margin-right:6px}.bg-span-bar{border-radius:2px;height:10px;width:16px}.span-box{cursor:pointer;margin-left:5px;margin-right:6px}.noData,.span-box{align-items:center;display:flex}.noData{bottom:0;color:#ccc;font-size:16px;justify-content:center;position:absolute}._100,.noData{height:100%;width:100%}.dialog{padding:24px!important;width:860px!important}.target-head{display:grid;grid:auto/repeat(5,1fr)}.factor-content{display:flex;flex-direction:column;flex-wrap:wrap;height:380px;width:100%}.factor_item{display:flex;margin-bottom:10px;width:33.33%}.check_item{display:flex;justify-content:space-between}.flex-alignCnter{align-items:center;cursor:pointer;display:flex}
@@ -13,7 +13,32 @@ const _hoisted_3 = {
13
13
  };
14
14
  const _hoisted_4 = { class: "factor-content" };
15
15
  const _hoisted_5 = ["onClick"];
16
- const _hoisted_6 = { class: "dialog-footer" };
16
+ const _hoisted_6 = /* @__PURE__ */ createElementVNode(
17
+ "svg",
18
+ {
19
+ t: "1736836637226",
20
+ class: "icon",
21
+ viewBox: "0 0 1024 1024",
22
+ version: "1.1",
23
+ xmlns: "http://www.w3.org/2000/svg",
24
+ "p-id": "8732",
25
+ width: "15",
26
+ height: "15"
27
+ },
28
+ [
29
+ /* @__PURE__ */ createElementVNode("path", {
30
+ d: "M912.064 187.984L583.968 516.064l316.768 316.8-67.872 67.872-316.768-316.8-328.112 328.128-67.888-67.888 328.112-328.112L108.784 176.672l67.888-67.888 339.424 339.392L844.16 120.096l67.888 67.888z",
31
+ fill: "#bfbfbf",
32
+ "p-id": "8733"
33
+ })
34
+ ],
35
+ -1
36
+ /* HOISTED */
37
+ );
38
+ const _hoisted_7 = [
39
+ _hoisted_6
40
+ ];
41
+ const _hoisted_8 = { class: "dialog-footer" };
17
42
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
18
43
  return openBlock(), createElementBlock("div", null, [
19
44
  createVNode($setup["ElDialog"], {
@@ -23,13 +48,13 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
23
48
  onClose: _cache[5] || (_cache[5] = ($event) => $setup.emit("choiceCancel"))
24
49
  }, {
25
50
  footer: withCtx(() => [
26
- createElementVNode("div", _hoisted_6, [
51
+ createElementVNode("div", _hoisted_8, [
27
52
  createVNode($setup["ElButton"], {
28
53
  onClick: $setup.confirmTarge,
29
54
  type: "primary"
30
55
  }, {
31
56
  default: withCtx(() => [
32
- createTextVNode(" Confirm ")
57
+ createTextVNode(" \u786E\u8BA4 ")
33
58
  ]),
34
59
  _: 1
35
60
  /* STABLE */
@@ -65,7 +90,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
65
90
  createVNode($setup["ElRadioGroup"], {
66
91
  modelValue: $setup.selectedHead,
67
92
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => $setup.selectedHead = $event),
68
- onChange: $setup.headChange
93
+ onChange: $setup.headChange,
94
+ class: "target-head"
69
95
  }, {
70
96
  default: withCtx(() => [
71
97
  (openBlock(true), createElementBlock(
@@ -183,8 +209,9 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
183
209
  /* TEXT */
184
210
  ),
185
211
  createElementVNode("span", {
212
+ class: "flex-alignCnter",
186
213
  onClick: ($event) => $setup.deleteItem(item.key)
187
- }, "\u274C", 8, _hoisted_5)
214
+ }, [..._hoisted_7], 8, _hoisted_5)
188
215
  ]);
189
216
  }),
190
217
  128
@@ -73,10 +73,11 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
73
73
  } else {
74
74
  selectedTree.value[headKey] = [val];
75
75
  }
76
- const filterHead = TARGET_HEAD_KEY.filter((item) => item.key === headKey);
76
+ const filterHead = targetHead.value.filter((item) => item.key === headKey);
77
77
  const filterFoot = TARGET_END_KEY.filter((item) => item.key === val);
78
78
  const headName = filterHead.length > 0 ? filterHead[0].name : "";
79
79
  const footName = filterFoot.length > 0 ? filterFoot[0].name : "";
80
+ console.log(headKey);
80
81
  itemObj = {
81
82
  name: headName + footName,
82
83
  key: `${headKey}_${val}`,
@@ -46,9 +46,16 @@ export declare const HtPieChart: import("hfn-components/es/utils").SFCWithInstal
46
46
  echartOptions: any;
47
47
  chartResize: () => void;
48
48
  noData: import("vue").Ref<boolean>;
49
+ allLegend: import("vue").Ref<{
50
+ name: string;
51
+ lineType: string;
52
+ isShow: boolean;
53
+ color: string;
54
+ }[]>;
49
55
  drawGraph: () => void;
50
- setLenged: () => void;
56
+ lengedDeal: () => void;
51
57
  setEchartTooltip: () => void;
58
+ legendStatus: (item: import("./src/HtPieChart.vue").Legend, index: number) => void;
52
59
  echartInit: () => void;
53
60
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
54
61
  readonly chartData: {
@@ -1,3 +1,9 @@
1
+ export interface Legend {
2
+ name: string;
3
+ lineType: string;
4
+ isShow: boolean;
5
+ color: string;
6
+ }
1
7
  declare const _default: import("vue").DefineComponent<{
2
8
  readonly chartData: {
3
9
  readonly type: import("vue").PropType<any[]>;
@@ -46,9 +52,16 @@ declare const _default: import("vue").DefineComponent<{
46
52
  echartOptions: any;
47
53
  chartResize: () => void;
48
54
  noData: import("vue").Ref<boolean>;
55
+ allLegend: import("vue").Ref<{
56
+ name: string;
57
+ lineType: string;
58
+ isShow: boolean;
59
+ color: string;
60
+ }[]>;
49
61
  drawGraph: () => void;
50
- setLenged: () => void;
62
+ lengedDeal: () => void;
51
63
  setEchartTooltip: () => void;
64
+ legendStatus: (item: Legend, index: number) => void;
52
65
  echartInit: () => void;
53
66
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
54
67
  readonly chartData: {
@@ -1,21 +1,59 @@
1
1
  import _sfc_main from './HtPieChart.vue2.mjs';
2
- import { openBlock, createElementBlock, createElementVNode, createCommentVNode } from 'vue';
2
+ import { openBlock, createElementBlock, createElementVNode, createCommentVNode, Fragment, renderList, normalizeStyle, toDisplayString } from 'vue';
3
3
  import _export_sfc from '../../../_virtual/_plugin-vue_export-helper.mjs';
4
4
 
5
5
  const _hoisted_1 = { class: "echart-box" };
6
- const _hoisted_2 = ["id"];
7
- const _hoisted_3 = {
6
+ const _hoisted_2 = { class: "echart-lenged" };
7
+ const _hoisted_3 = ["onClick"];
8
+ const _hoisted_4 = ["id"];
9
+ const _hoisted_5 = {
8
10
  key: 0,
9
11
  class: "noData"
10
12
  };
11
13
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
12
14
  return openBlock(), createElementBlock("div", _hoisted_1, [
15
+ createElementVNode("div", _hoisted_2, [
16
+ createCommentVNode(' @mouseover="legendEnter(index)"\n @mouseleave="legendLeave()" '),
17
+ (openBlock(true), createElementBlock(
18
+ Fragment,
19
+ null,
20
+ renderList($setup.allLegend, (item, index) => {
21
+ return openBlock(), createElementBlock("div", {
22
+ class: "span-box mb10",
23
+ key: index,
24
+ onClick: ($event) => $setup.legendStatus(item, index)
25
+ }, [
26
+ createElementVNode(
27
+ "span",
28
+ {
29
+ class: "bg-span-bar",
30
+ style: normalizeStyle({ background: item.isShow ? item.color : "#ccc" })
31
+ },
32
+ null,
33
+ 4
34
+ /* STYLE */
35
+ ),
36
+ createElementVNode(
37
+ "span",
38
+ {
39
+ style: normalizeStyle({ color: item.isShow ? "#000" : "#ccc" })
40
+ },
41
+ toDisplayString(item.name),
42
+ 5
43
+ /* TEXT, STYLE */
44
+ )
45
+ ], 8, _hoisted_3);
46
+ }),
47
+ 128
48
+ /* KEYED_FRAGMENT */
49
+ ))
50
+ ]),
13
51
  createElementVNode("div", {
14
52
  class: "_100",
15
53
  id: _ctx.chartId
16
- }, null, 8, _hoisted_2),
54
+ }, null, 8, _hoisted_4),
17
55
  createCommentVNode(" \u56FE\u4F8B\u5168\u7F6E\u7070\u76D2\u5B50 "),
18
- $setup.noData ? (openBlock(), createElementBlock("div", _hoisted_3, "\u6682\u65E0\u6570\u636E")) : createCommentVNode("v-if", true)
56
+ $setup.noData ? (openBlock(), createElementBlock("div", _hoisted_5, "\u6682\u65E0\u6570\u636E")) : createCommentVNode("v-if", true)
19
57
  ]);
20
58
  }
21
59
  var htPieChart = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/Users/libiluo/Desktop/company/component-library/packages/components/pieChart/src/HtPieChart.vue"]]);
@@ -42,27 +42,23 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
42
42
  myChart.value.resize();
43
43
  };
44
44
  const noData = ref(false);
45
+ const allLegend = ref([]);
45
46
  const drawGraph = () => {
46
- setLenged();
47
+ lengedDeal();
47
48
  setEchartTooltip();
48
49
  echartInit();
49
50
  };
50
- const setLenged = () => {
51
- echartOptions.legend = {
52
- orient: "horizontal",
53
- type: props.legendType,
54
- icon: "circle",
55
- formatter: props.legendFormatter() || ["{a|{name}}"].join("\n"),
56
- center: ["50%", "70%"],
57
- textStyle: {
58
- height: 9,
59
- rich: {
60
- a: {
61
- verticalAlign: "bottom"
62
- }
63
- }
64
- }
65
- };
51
+ const lengedDeal = () => {
52
+ allLegend.value = [];
53
+ props.chartData.forEach((item, index) => {
54
+ const data = {
55
+ name: item.name,
56
+ isShow: true,
57
+ lineType: item.type,
58
+ color: echartOptions.color[index % echartOptions.color.length]
59
+ };
60
+ allLegend.value.push(data);
61
+ });
66
62
  };
67
63
  const setEchartTooltip = () => {
68
64
  echartOptions.tooltip = {
@@ -77,6 +73,18 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
77
73
  }
78
74
  };
79
75
  };
76
+ const legendStatus = (item, index) => {
77
+ const status = !item.isShow;
78
+ allLegend.value[index].isShow = status;
79
+ if (allLegend.value.every((item2) => item2.isShow === false)) {
80
+ noData.value = true;
81
+ } else {
82
+ noData.value = false;
83
+ }
84
+ myChart.value.setOption({
85
+ legend: { selected: { [item.name]: status } }
86
+ });
87
+ };
80
88
  const echartInit = () => {
81
89
  setTimeout(() => {
82
90
  if (!myChart.value) {
@@ -86,7 +94,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
86
94
  myChart.value.setOption(echartOptions, true);
87
95
  }, 200);
88
96
  };
89
- const __returned__ = { props, myChart, echartOptions, chartResize, noData, drawGraph, setLenged, setEchartTooltip, echartInit };
97
+ const __returned__ = { props, myChart, echartOptions, chartResize, noData, allLegend, drawGraph, lengedDeal, setEchartTooltip, legendStatus, echartInit };
90
98
  Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
91
99
  return __returned__;
92
100
  }
@@ -86,6 +86,46 @@ const BASIC_CHART_CONFIG = {
86
86
  series: []
87
87
  };
88
88
  const useBasicPieConfig = (floatNumber = 2) => ({
89
+ legend: {
90
+ show: false
91
+ },
92
+ color: [
93
+ "#C13431",
94
+ "#1E85D2",
95
+ "#FD984F",
96
+ "#63B9BB",
97
+ "#BBB162",
98
+ "#AE76C1",
99
+ "#5E92F6",
100
+ "#F5BC32",
101
+ "#DA8484",
102
+ "#41982E",
103
+ "#437095",
104
+ "#8060A7",
105
+ "#7D0A0D",
106
+ "#572AFF",
107
+ "#2BE8F8",
108
+ "#FF1493",
109
+ "#E066FF",
110
+ "#27408B",
111
+ "#5191A3",
112
+ "#D5634C",
113
+ "#92d6fd",
114
+ "#b92e2d",
115
+ "#187bc9",
116
+ "#90bae0",
117
+ "#187bc9",
118
+ "#0070C9",
119
+ "#5470c6",
120
+ "#91cc75",
121
+ "#fac858",
122
+ "#ee6666",
123
+ "#73c0de",
124
+ "#3ba272",
125
+ "#fc8452",
126
+ "#9a60b4",
127
+ "#ea7ccc"
128
+ ],
89
129
  series: [
90
130
  {
91
131
  name: "",
@@ -40,15 +40,16 @@ const TARGET_END_KEY = [
40
40
  { name: "\u6708\u80DC\u7387", key: "monthlyPositiveRatio", dealType: "percentage" }
41
41
  ];
42
42
  const BASIC_KEY = [
43
- { name: "\u7BA1\u7406\u4EBA", key: "advisor", dealType: "" },
44
- { name: "\u7B56\u7565", key: "strategyOne", dealType: "" },
45
- { name: "\u5355\u4F4D\u51C0\u503C", key: "nav", dealType: "" },
46
- { name: "\u5355\u4F4D\u51C0\u503C\u6DA8\u8DCC\u5E45", key: "navPriceChange", dealType: "" },
47
- { name: "\u7D2F\u8BA1\u51C0\u503C", key: "cumulativeNavWithdrawal", dealType: "" },
48
- { name: "\u6210\u7ACB\u65E5\u671F", key: "inceptionDate", dealType: "" },
49
- { name: "\u5C01\u95ED\u671F", key: "closedPeriod", dealType: "" },
50
- { name: "\u5F00\u653E\u65E5", key: "openDay", dealType: "" },
51
- { name: "\u5907\u6848\u53F7/\u4EE3\u7801", key: "registerNumber", dealType: "" }
43
+ { name: "\u51C0\u503C\u65E5\u671F", key: "priceDate", dealType: "notProcessed" },
44
+ // { name: '管理人', key: 'advisor', dealType: '' },
45
+ // { name: '策略', key: 'strategyOne', dealType: '' },
46
+ { name: "\u5355\u4F4D\u51C0\u503C", key: "nav", dealType: "basicText4" },
47
+ // { name: '单位净值涨跌幅', key: 'navPriceChange', dealType: '' },
48
+ { name: "\u7D2F\u8BA1\u51C0\u503C", key: "cumulativeNavWithdrawal", dealType: "basicText4" }
49
+ // { name: '成立日期', key: 'inceptionDate', dealType: '' },
50
+ // { name: '封闭期', key: 'closedPeriod', dealType: '' },
51
+ // { name: '开放日', key: 'openDay', dealType: '' },
52
+ // { name: '备案号/代码', key: 'registerNumber', dealType: '' }
52
53
  ];
53
54
 
54
55
  export { BASIC_KEY, TARGET_END_KEY, TARGET_HEAD_KEY };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hfn-components",
3
- "version": "0.3.7",
3
+ "version": "0.3.9",
4
4
  "description": "",
5
5
  "main": "index.ts",
6
6
  "module": "es/index.mjs",
@@ -1 +1 @@
1
- .dialog{padding:24px!important;width:860px!important}.factor-content{display:flex;flex-direction:column;flex-wrap:wrap;height:380px;width:100%}.factor_item{display:flex;margin-bottom:10px;width:33.33%}.check_item{display:flex;justify-content:space-between}
1
+ .dialog{padding:24px!important;width:860px!important}.target-head{display:grid;grid:auto/repeat(5,1fr)}.factor-content{display:flex;flex-direction:column;flex-wrap:wrap;height:380px;width:100%}.factor_item{display:flex;margin-bottom:10px;width:33.33%}.check_item{display:flex;justify-content:space-between}.flex-alignCnter{align-items:center;cursor:pointer;display:flex}
@@ -1 +1 @@
1
- .echart-box{display:flex;flex-direction:column;height:100%;position:relative;width:100%}.echart-content{flex:auto}.echart-lenged{box-sizing:border-box;display:flex;flex-wrap:wrap;font-size:12px;height:auto;margin-top:6px;padding-right:22px;position:relative;width:100%;z-index:999}.bg-span{height:2px;width:14px}.bg-span,.bg-span-bar{display:inline-block;margin-right:6px}.bg-span-bar{border-radius:2px;height:10px;width:16px}.span-box{cursor:pointer;margin-left:5px;margin-right:6px}.noData,.span-box{align-items:center;display:flex}.noData{bottom:0;color:#ccc;font-size:16px;justify-content:center;position:absolute}._100,.noData{height:100%;width:100%}.dialog{padding:24px!important;width:860px!important}.factor-content{display:flex;flex-direction:column;flex-wrap:wrap;height:380px;width:100%}.factor_item{display:flex;margin-bottom:10px;width:33.33%}.check_item{display:flex;justify-content:space-between}
1
+ .echart-box{display:flex;flex-direction:column;height:100%;position:relative;width:100%}.echart-content{flex:auto}.echart-lenged{box-sizing:border-box;display:flex;flex-wrap:wrap;font-size:12px;height:auto;margin-top:6px;padding-right:22px;position:relative;width:100%;z-index:999}.bg-span{height:2px;width:14px}.bg-span,.bg-span-bar{display:inline-block;margin-right:6px}.bg-span-bar{border-radius:2px;height:10px;width:16px}.span-box{cursor:pointer;margin-left:5px;margin-right:6px}.noData,.span-box{align-items:center;display:flex}.noData{bottom:0;color:#ccc;font-size:16px;justify-content:center;position:absolute}._100,.noData{height:100%;width:100%}.dialog{padding:24px!important;width:860px!important}.target-head{display:grid;grid:auto/repeat(5,1fr)}.factor-content{display:flex;flex-direction:column;flex-wrap:wrap;height:380px;width:100%}.factor_item{display:flex;margin-bottom:10px;width:33.33%}.check_item{display:flex;justify-content:space-between}.flex-alignCnter{align-items:center;cursor:pointer;display:flex}
@@ -2,6 +2,10 @@
2
2
  width: 860px !important;
3
3
  padding: 24px !important;
4
4
  }
5
+ .target-head {
6
+ display: grid;
7
+ grid: auto / repeat(5, 1fr);
8
+ }
5
9
  .factor-content {
6
10
  width: 100%;
7
11
  height: 380px;
@@ -18,3 +22,9 @@
18
22
  display: flex;
19
23
  justify-content: space-between;
20
24
  }
25
+
26
+ .flex-alignCnter {
27
+ display: flex;
28
+ align-items: center;
29
+ cursor: pointer;
30
+ }